/* Mediterranean Editorial × Golden Gallery × Contemporary Maison.
   Original logo, font files and brandbook palette are retained. */
:root{--gold-ink:#716044;--space-edge:clamp(22px,5.6vw,90px);--max:1440px;scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{color:inherit}a{text-underline-offset:5px}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold-ink)!important;outline-offset:5px!important}[hidden]{display:none!important}::selection{background:#b7ae98;color:#352e2e}.serif,em{font-family:var(--dt-serif-f);font-weight:400;font-style:italic}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--dt-sans);font-weight:500;letter-spacing:-.055em;line-height:1.02}h1{font-size:clamp(58px,7.5vw,112px)}h2{font-size:clamp(42px,4.6vw,72px)}h3{font-size:30px}em{letter-spacing:-.035em;color:var(--gold-ink)}p{line-height:1.7}.eyebrow{font:400 10px/1.6 var(--dt-mono-f);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-ink)}.lead{font-size:clamp(20px,1.8vw,27px);line-height:1.5;letter-spacing:-.025em}.text-link{font:400 11px/1.5 var(--dt-mono-f);letter-spacing:.03em;text-decoration:none;border:0;border-bottom:1px solid currentColor;background:none;padding:10px 0;display:inline-flex;align-items:center;gap:30px;cursor:pointer;min-height:44px}.text-link:hover{color:var(--gold-ink)}.pill{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--dt-espresso);border:1px solid var(--dt-espresso);color:var(--dt-bone)!important;text-decoration:none;padding:16px 24px;border-radius:50px;font:400 11px/1.5 var(--dt-mono-f);cursor:pointer;min-height:48px;transition:background .2s,transform .2s}.pill:hover{background:#554a3a;transform:translateY(-2px)}.pill.light{background:var(--dt-bone);color:var(--dt-espresso)!important;border-color:var(--dt-bone)}.section{padding:100px var(--space-edge);max-width:var(--max);margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:25px}.section-aside{max-width:290px;font-size:14px}.section-aside .text-link{margin-top:15px}.maison-header{position:fixed;z-index:50;left:28px;right:28px;top:22px;max-width:1410px;margin:auto;background:rgba(250,249,247,.95);border:1px solid rgba(183,174,152,.45);border-radius:70px;box-shadow:0 6px 22px #352e2e06;transition:top .35s,box-shadow .35s;border-bottom-color:#b7ae9840}.header-row{display:flex;align-items:center;gap:25px;padding:13px 22px 13px 30px;min-height:76px}.brand{width:150px;display:block;margin-right:auto;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:27px}.desktop-nav a,.menu-trigger,.language,.mobile-trigger{font:400 12px/1.5 Helvetica, "Helvetica Neue", Arial, sans-serif;text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;padding:13px 0}.menu-trigger span{margin-left:8px}.header-actions{display:flex;align-items:center;gap:22px}.language{border-left:1px solid #b7ae9850;padding-left:22px}.header-cta{padding:13px 20px;font:400 12px/1.5 Helvetica, "Helvetica Neue", Arial, sans-serif;min-height:44px}.mobile-trigger{display:none}.maison-header.scrolled{top:10px;box-shadow:0 6px 30px #352e2e10}.mega-menu{position:absolute;top:calc(100% + 12px);left:0;right:0;border:1px solid #b7ae9860;background:var(--dt-paper);border-radius:20px;padding:35px;display:grid;grid-template-columns:1fr 2fr;gap:50px;box-shadow:0 20px 60px #352e2e16;max-height:calc(100svh - 130px);overflow:auto}.mega-intro .serif{font-size:40px;line-height:1.15;margin:18px 0}.mega-intro>a{font-size:13px}.mega-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mega-services>a{border-left:1px solid var(--dt-line);padding:10px 0 20px 25px;display:grid;grid-template-columns:1fr auto;text-decoration:none;align-content:start;gap:15px}.mega-services small{grid-column:1/-1;font:10px var(--dt-mono-f);color:var(--gold-ink)}.mega-services span{font-size:23px;letter-spacing:-.04em}.mega-services p{grid-column:1/-1;font-size:12px}.mega-services>a:hover span{color:var(--gold-ink)}.mobile-links{display:none}.editorial-hero{padding:157px var(--space-edge) 0;max-width:var(--max);margin:auto}.hero-kicker{display:flex;justify-content:space-between;margin-bottom:34px}.hero-layout{display:grid;grid-template-columns:1.06fr 1fr;position:relative;min-height:590px}.hero-copy{position:relative;z-index:2;padding-top:65px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy h1{font-size:clamp(74px,9.5vw,146px);font-weight:500;line-height:.87;letter-spacing:-.075em;white-space:nowrap}.hero-copy h1 em{font-size:.94em;font-weight:400;margin-right:8px}.hero-dot{color:var(--gold-ink)}.hero-copy>p{max-width:305px;font-size:16px;line-height:1.65;margin:36px 0 16px}.hero-index{display:block;font:9px var(--dt-mono-f);letter-spacing:.1em;margin-top:55px;color:var(--gold-ink)}.hero-art{position:relative;padding-left:70px;min-width:0}.hero-main-image{height:560px;position:relative;overflow:hidden;background:#d4cebe}.hero-main-image>img{height:100%!important;width:100%;object-fit:cover;object-position:45% 40%}.hero-main-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#352e2e55,transparent 38%);pointer-events:none}.hero-main-image figcaption{position:absolute;left:28px;bottom:25px;color:#fff;font:11px var(--dt-mono-f);letter-spacing:.12em;z-index:1}.hero-main-image figcaption em{display:block;font-size:48px;color:#fff;line-height:1}.light-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.24;mix-blend-mode:soft-light}.hero-inset{position:absolute;right:-16px;bottom:-12px;width:155px;transform:rotate(7deg);background:var(--dt-paper);padding:9px 9px 12px;box-shadow:0 10px 28px #352e2e22}.hero-inset>img{width:100%;height:174px!important;object-fit:cover}.hero-inset figcaption{font:italic 17px var(--dt-serif-f);text-align:center;margin-top:9px}.art-index{position:absolute;right:-24px;top:0;writing-mode:vertical-rl;font:8px var(--dt-mono-f);letter-spacing:.16em}.hero-bottom{display:flex;justify-content:space-between;padding:32px 0 24px;margin-top:25px;border-bottom:1px solid var(--dt-line);font:9px/1.5 var(--dt-mono-f);letter-spacing:.03em}.hero-bottom a{text-decoration:none}.studio-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:110px;padding-bottom:115px}.studio-intro .eyebrow{margin-bottom:28px}.intro-copy>p+p{margin-top:24px}.intro-copy>p:not(.lead):not(.signature){font-size:15px;color:#675e54}.intro-copy .signature{font-size:26px;color:var(--gold-ink)}.gallery-section{background:#e7e2d8;max-width:none;padding-top:95px;padding-bottom:100px}.gallery-section>.section-heading,.gallery-section>.editorial-gallery,.gallery-section>.filters{max-width:1260px;margin-left:auto;margin-right:auto}.editorial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.gallery-card:nth-child(3n+2){padding-top:85px}.gallery-image{display:block;position:relative;overflow:hidden;background:#d6cbbb;aspect-ratio:3/4}.gallery-image img{height:100%!important;width:100%;object-fit:cover;transition:transform .8s}.gallery-image:hover img{transform:scale(1.045)}.gallery-card:nth-child(3n+2) .gallery-image{aspect-ratio:4/5}.image-arrow{position:absolute;bottom:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--dt-paper);font-size:24px;transition:transform .25s}.gallery-image:hover .image-arrow{transform:rotate(45deg)}.gallery-caption{padding-top:18px;display:flex;justify-content:space-between;gap:12px}.gallery-caption span{font-size:13px;line-height:1.3}.gallery-caption small{font:8px/1.6 var(--dt-mono-f);color:#645b4e;max-width:80px;text-align:right}.disciplines{padding-top:115px;padding-bottom:120px}.service-list{border-top:1px solid var(--dt-line)}.service-row{display:grid;grid-template-columns:60px 1fr 1fr 60px;gap:25px;text-decoration:none;align-items:center;border-bottom:1px solid var(--dt-line);padding:38px 0;transition:padding .3s,background .3s}.service-row:hover{padding-left:15px;background:#e7e2d850}.service-row h3{font-size:clamp(30px,4vw,58px)}.service-row .serif{font-size:27px;color:var(--gold-ink);margin-bottom:5px}.service-row div p:last-child{font-size:13px;max-width:330px}.service-arrow{font-size:40px;text-align:right}.manifesto{background:var(--dt-espresso);color:var(--dt-bone);padding:90px var(--space-edge);position:relative}.manifesto>.eyebrow{color:var(--dt-sand);margin-bottom:40px}.manifesto>p:not(.eyebrow){max-width:1050px;font-size:clamp(28px,3.5vw,55px);line-height:1.4;letter-spacing:-.045em}.manifesto em{color:var(--dt-sand)}.manifesto-mark{position:absolute;bottom:25px;right:6%;font:90px var(--dt-serif-f);color:var(--dt-sand)}.approach{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:center;padding-top:120px;padding-bottom:120px}.approach>figure{height:650px;overflow:hidden}.approach>figure>img{width:100%;height:100%!important;object-fit:cover}.approach .eyebrow{margin-bottom:25px}.approach-list{list-style:none;padding:0;margin:40px 0 0}.approach-list li{padding:23px 0;border-top:1px solid var(--dt-line);display:flex;gap:26px}.approach-list li>span{font:10px var(--dt-mono-f);padding-top:4px;color:var(--gold-ink)}.approach-list h3{font-size:21px;letter-spacing:-.03em;margin-bottom:8px}.approach-list p{font-size:13px}.closing{background:#e7e2d8;padding:90px var(--space-edge);display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:70px}.closing h2{font-size:clamp(45px,6vw,86px);line-height:1.03}.closing h2 em{display:block}.closing .eyebrow{margin-bottom:32px}.closing-side{max-width:315px;justify-self:end;display:grid;gap:22px}.closing-side p{font-size:15px}.closing-side .pill{justify-self:start}.closing-side .text-link{justify-self:start}.maison-footer{padding:55px var(--space-edge) 25px;background:#352e2e;color:#f2f0ee}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:55px}.footer-logo{width:180px}.footer-logo img{width:100%}.footer-top .serif{font-size:34px;color:#b7ae98}.footer-top>a:last-child{font-size:13px;text-decoration:none}.footer-bottom{border-top:1px solid #f2f0ee30;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:24px;font:8px/1.6 var(--dt-mono-f);letter-spacing:.04em}.footer-bottom nav{display:flex;gap:18px}.footer-bottom a{text-decoration:none}.page-intro{padding-top:185px;padding-bottom:75px}.page-intro h1{margin:28px 0 35px}.page-intro .lead{max-width:630px}.filters{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:50px}.filters button{font:11px var(--dt-mono-f);padding:12px 18px;background:none;border:1px solid #76644780;border-radius:40px;cursor:pointer;min-height:44px}.filters button[aria-pressed=true]{background:#352e2e;color:#f2f0ee;border-color:#352e2e}.portfolio{padding-top:45px}.portfolio .editorial-gallery{row-gap:65px}.service-hero{padding-top:175px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.service-hero h1{font-size:clamp(55px,7vw,100px);margin:32px 0}.service-hero h1 em{font-size:.65em;line-height:1.2;display:block;margin-top:10px}.service-hero .lead{max-width:500px;margin-bottom:30px;font-size:23px}.service-hero figure{height:590px;overflow:hidden}.service-hero figure img{width:100%;height:100%!important;object-fit:cover}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:25px 90px;border-top:1px solid var(--dt-line)}.service-overview>.eyebrow{grid-column:1/-1}.service-overview .lead{margin-bottom:25px}.service-overview .text-link{margin-top:20px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq .eyebrow{margin-bottom:30px}.faq details{border-top:1px solid var(--dt-line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--dt-line)}.faq summary{font-size:17px;line-height:1.5;cursor:pointer;display:flex;justify-content:space-between;gap:30px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:15px;color:#675e54;margin-top:22px}.reference-hero{padding-top:180px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.reference-hero h1{font-size:clamp(50px,6.8vw,90px);margin:35px 0}.reference-hero .lead{margin:30px 0 20px}.reference-hero .pill{margin-top:28px;gap:15px}.reference-enlarge{padding:0;background:none;border:0;text-align:left;position:relative;cursor:zoom-in}.reference-enlarge img{width:100%;max-height:710px;object-fit:cover}.reference-enlarge span{position:absolute;right:15px;bottom:15px;background:var(--dt-paper);padding:10px 20px;font:10px var(--dt-mono-f);border-radius:40px}.image-dialog{background:var(--dt-paper);border:0;padding:25px;max-width:min(900px,95vw);max-height:95svh}.image-dialog::backdrop{background:#352e2eee}.image-dialog>img{height:75svh!important;width:auto;max-width:100%;object-fit:contain;margin:auto}.image-dialog p{font-size:12px;padding-top:15px}.dialog-close{display:block;margin:0 0 15px auto;background:none;border:0;cursor:pointer;min-height:44px;font:12px var(--dt-mono-f)}.contact-intro,.journal-intro{padding-top:185px}.contact-intro h1{margin:25px 0 45px}.contact-email{font:italic clamp(22px,3vw,45px) var(--dt-serif-f);overflow-wrap:anywhere;text-decoration:none;border-bottom:1px solid}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:90px}.contact-options a{text-decoration:none;border-top:1px solid var(--dt-line);padding-top:30px}.contact-options small{font:10px var(--dt-mono-f);color:var(--gold-ink)}.contact-options h2{font-size:36px;margin:30px 0 20px}.contact-options p{max-width:380px}.contact-options span{display:block;margin-top:25px;font:11px var(--dt-mono-f)}.journal-intro{position:relative;min-height:800px;padding-right:50%}.journal-intro h1{margin:30px 0}.journal-intro>img{position:absolute;right:var(--space-edge);top:190px;width:32%;height:490px!important;object-fit:cover;transform:rotate(3deg)}.journal-intro .text-link{margin-top:30px}.brand-section{padding-top:50px;border-top:1px solid var(--dt-line)}.brand-section>.eyebrow{margin-bottom:35px}.logo-spec{display:grid;grid-template-columns:1fr 1fr;margin-bottom:25px}.logo-spec>div{padding:65px 45px;background:#e7e2d8;display:grid;gap:45px;justify-items:center}.logo-spec .inverse{background:#352e2e;color:#f2f0ee}.logo-spec img{max-width:300px;width:90%}.logo-spec a{font:10px var(--dt-mono-f)}.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:25px}.swatch{background:none;border:0;text-align:left;padding:0;cursor:pointer}.swatch span{display:block;height:200px;background:var(--swatch);border:1px solid #352e2e18;margin-bottom:18px}.swatch strong{display:block;font-weight:400}.swatch small{display:block;font:10px var(--dt-mono-f);margin-top:8px}.type-section>h2{font-size:clamp(40px,8vw,110px);margin:60px 0}.type-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.type-specs h3{font-size:22px;letter-spacing:-.03em;margin-bottom:20px}.type-specs h3.eyebrow{font-size:14px;letter-spacing:.1em}.type-specs p{font-size:14px}.brand-section>.lead{max-width:750px;margin:30px 0 55px}.onboarding-layout{padding-top:175px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.onboarding-aside{position:sticky;top:140px}.onboarding-aside h1{font-size:clamp(48px,5vw,73px);margin:30px 0}.onboarding-aside>p:not(.eyebrow){max-width:400px;font-size:15px}.onboarding-texture{height:150px!important;width:100%;max-width:390px;object-fit:cover;object-position:50% 60%;margin:30px 0}.brief-panel{background:#faf9f7;border:1px solid var(--dt-line);padding:35px 40px}.brief-progress{display:flex;align-items:center;gap:30px;margin-bottom:35px;font:10px var(--dt-mono-f)}progress{width:100%;height:3px;border:0;appearance:none;accent-color:var(--gold-ink)}progress::-webkit-progress-bar{background:#e7e2d8}progress::-webkit-progress-value{background:var(--gold-ink)}fieldset{margin:0;padding:0;border:0;min-width:0}legend{font:400 32px/1.15 var(--dt-sans);letter-spacing:-.04em;padding:0;margin-bottom:20px}fieldset>p{font-size:14px;color:#675e54;margin-bottom:30px}label{display:grid;gap:10px;font-size:12px;margin-bottom:25px}input,textarea,select{display:block;width:100%;padding:12px 10px;border:1px solid #b7ae9899;background:transparent;color:#352e2e;border-radius:2px;font:16px/1.4 var(--dt-sans)}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:#766447;flex-shrink:0}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a24731}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:25px}.choice{border:1px solid #b7ae9899;padding:16px;grid-template-columns:22px 1fr;margin:0;cursor:pointer}.choice:has(input:checked){border-color:#766447;background:#e7e2d8}.choice small{grid-column:2;font-size:11px;line-height:1.5}.choice span{font-size:15px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.7;margin-top:25px}.brief-controls{display:flex;justify-content:space-between;gap:20px;margin:30px 0 20px}.brief-controls .pill{margin-left:auto;font-size:10px;padding:15px 20px}.fine-print{font-size:11px;line-height:1.7;color:#675e54}.form-error{color:#8f3527;font-size:13px;margin-bottom:20px}.form-error:empty{display:none}.brief-review{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;background:#e7e2d8;padding:22px;line-height:1.8}.review-actions{display:flex;gap:20px}.reference-note{border-left:2px solid #b7ae98;padding:12px 16px;background:#e7e2d8}.schedule-layout{padding-top:180px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.schedule-layout h1{font-size:clamp(50px,5.6vw,80px);margin:30px 0}.schedule-layout>div>img{width:100%;height:300px!important;object-fit:cover;margin-top:45px}.schedule-card{background:#faf9f7;padding:40px;border:1px solid var(--dt-line)}.schedule-card h2{font-size:36px;margin-bottom:25px}.schedule-card p{font-size:14px;margin-bottom:25px}.schedule-card .fine-print{font-size:11px;margin-top:18px}.schedule-card .text-link{margin-right:12px}.legal-page .dt-page-hero{padding-top:180px}.legal-page .dt-eyebrow{color:var(--gold-ink)}.legal-page .dt-prose{padding-bottom:60px}.dt-root .dt-skip:focus{z-index:100}.dt-root :focus-visible{outline-color:var(--gold-ink)}
@media(min-width:1600px){.gallery-section,.manifesto,.closing,.maison-footer{padding-left:max(var(--space-edge),calc((100vw - 1260px)/2));padding-right:max(var(--space-edge),calc((100vw - 1260px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:15px}.desktop-nav a,.menu-trigger{font-size:11px}.header-cta{display:none}.hero-copy h1{font-size:10vw}.hero-art{padding-left:35px}.hero-main-image{height:510px}.hero-inset{width:130px;right:-5px}.hero-inset>img{height:145px!important}.hero-layout{min-height:540px}.hero-copy{padding-top:70px}.hero-index{margin-top:40px}.hero-copy>p{max-width:260px}.service-row{grid-template-columns:40px 1fr 1fr 40px}.onboarding-layout,.schedule-layout{gap:50px}.brief-panel{padding:30px 25px}.footer-top{gap:25px}.footer-bottom{flex-wrap:wrap}.reference-hero{gap:40px}.service-hero{gap:35px}.service-hero figure{height:490px}}
@media(max-width:760px){.section{padding:65px var(--space-edge)}.maison-header{left:14px;right:14px;top:14px}.header-row{min-height:64px;padding:12px 19px;gap:15px}.brand{width:124px}.desktop-nav{display:none}.mobile-trigger{display:flex;gap:10px;font-size:12px}.header-actions{gap:16px}.language{padding-left:0;border:0;font-size:12px}.mega-menu{grid-template-columns:1fr;padding:25px;gap:18px;border-radius:16px;top:calc(100% + 8px)}.mega-intro{display:none}.mega-services{grid-template-columns:1fr;gap:0}.mega-services>a{padding:15px 0;border-left:0;border-bottom:1px solid var(--dt-line);grid-template-columns:28px 1fr 20px;gap:5px 14px}.mega-services small{grid-column:auto;align-self:center}.mega-services p{grid-column:2/-1}.mega-services span{font-size:29px}.mobile-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-links a{font:400 12px/1.5 Helvetica, "Helvetica Neue", Arial, sans-serif;text-decoration:none;min-height:40px;display:flex;align-items:center}.editorial-hero{padding:115px var(--space-edge) 0}.hero-kicker{gap:20px;margin-bottom:30px}.hero-kicker .eyebrow{font-size:8px;letter-spacing:.08em}.hero-kicker .eyebrow:first-child{display:none}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-copy{padding-top:0;pointer-events:auto}.hero-copy h1{font-size:clamp(73px,14.4vw,110px);white-space:normal;line-height:.93;letter-spacing:-.065em}.hero-copy>p{font-size:14px;max-width:280px;margin:25px 0 9px}.hero-copy .text-link{font-size:10px}.hero-index{display:none}.hero-art{padding:0 35px 0 40px;margin-top:35px;margin-bottom:20px}.hero-main-image{height:360px}.hero-main-image figcaption{font-size:9px;left:20px;bottom:20px}.hero-main-image figcaption em{font-size:40px}.hero-inset{width:120px;right:4px;bottom:-15px;padding:7px 7px 10px}.hero-inset>img{height:135px!important}.hero-inset figcaption{font-size:15px}.art-index{right:15px;top:0;font-size:7px}.hero-bottom{margin-top:20px;gap:25px;padding-top:18px;font-size:8px}.hero-bottom>span{max-width:170px}.hero-bottom>a{white-space:nowrap}.studio-intro{grid-template-columns:1fr;gap:35px}.studio-intro .eyebrow{margin-bottom:22px}.intro-copy .lead{font-size:21px}.intro-copy>p:not(.lead):not(.signature){font-size:14px}.section-heading{display:block;margin-bottom:35px}.section-heading .section-aside{margin-top:25px}.section-heading .eyebrow{margin-bottom:23px}.editorial-gallery{gap:20px;grid-template-columns:1fr 1fr}.gallery-card:nth-child(3n+2){padding-top:0}.gallery-card:nth-child(2){padding-top:55px}.gallery-card:nth-child(3){grid-column:1/-1;width:75%;margin-top:15px}.gallery-card:nth-child(3) .gallery-image{aspect-ratio:4/5}.gallery-caption{display:block;padding-top:12px}.gallery-caption span{font-size:12px}.gallery-caption small{display:block;text-align:left;max-width:none;margin-top:7px;font-size:8px}.image-arrow{width:36px;height:36px;font-size:20px;bottom:10px;right:10px}.service-row{grid-template-columns:25px 1fr 25px;gap:10px;padding:28px 0}.service-row h3{font-size:38px}.service-row>div{grid-column:2;grid-row:2}.service-row .serif{font-size:25px;margin-top:8px}.service-row div p:last-child{font-size:13px}.service-arrow{grid-column:3;grid-row:1;font-size:28px}.manifesto{padding:65px var(--space-edge)}.manifesto>p:not(.eyebrow){font-size:27px;line-height:1.5}.manifesto-mark{font-size:55px;bottom:0}.approach{grid-template-columns:1fr;gap:40px}.approach>figure{height:330px;max-width:85%}.approach-list{margin-top:30px}.closing{grid-template-columns:1fr;gap:40px;padding:65px var(--space-edge)}.closing h2{font-size:52px}.closing-side{justify-self:start}.maison-footer{padding:45px var(--space-edge) 25px}.footer-top{display:grid;gap:28px;padding-bottom:35px}.footer-logo{width:150px}.footer-top .serif{font-size:30px}.footer-bottom{display:grid;gap:22px;font-size:8px}.footer-bottom nav{flex-wrap:wrap;gap:15px 22px}.footer-bottom nav a{min-height:32px;display:flex;align-items:center}.page-intro,.contact-intro,.journal-intro{padding-top:140px}.page-intro h1{font-size:59px}.page-intro .lead{font-size:19px}.filters{gap:10px;margin-bottom:35px}.filters button{font-size:9px;padding:10px 13px}.portfolio .editorial-gallery{row-gap:35px}.portfolio .gallery-card:nth-child(3){width:100%}.portfolio .gallery-card:nth-child(4){grid-column:1/-1;width:75%;justify-self:end}.portfolio .gallery-card:nth-child(5){padding-top:0}.portfolio .gallery-card:nth-child(6){padding-top:40px}.service-hero{padding-top:140px;grid-template-columns:1fr;gap:40px}.service-hero h1{font-size:65px;margin:25px 0}.service-hero .lead{font-size:21px}.service-hero figure{height:400px}.service-overview{grid-template-columns:1fr;gap:25px}.service-overview .lead{font-size:21px}.faq{grid-template-columns:1fr;gap:35px}.faq summary{font-size:16px}.faq details p{font-size:14px}.reference-hero{padding-top:135px;grid-template-columns:1fr;gap:45px}.reference-hero h1{font-size:60px}.reference-hero p{font-size:14px}.reference-hero .lead{font-size:22px}.reference-hero .pill{font-size:10px;padding:15px 20px}.reference-enlarge img{max-height:550px}.contact-intro h1{font-size:54px}.contact-options{grid-template-columns:1fr;gap:45px;margin-top:60px}.contact-options h2{font-size:34px;margin-top:22px}.journal-intro{padding-right:var(--space-edge);min-height:0}.journal-intro h1{font-size:62px}.journal-intro>img{position:static;transform:none;width:100%;height:330px!important;margin-top:45px}.logo-spec{grid-template-columns:1fr}.logo-spec>div{padding:50px 30px}.palette{grid-template-columns:1fr 1fr;gap:30px 15px}.swatch span{height:160px}.type-specs{grid-template-columns:1fr;gap:35px}.type-section>h2{font-size:55px;margin:35px 0}.onboarding-layout,.schedule-layout{padding-top:135px;grid-template-columns:1fr;gap:35px}.onboarding-aside{position:static}.onboarding-aside h1{font-size:55px}.onboarding-texture{display:none!important}.onboarding-aside .text-link{margin-top:15px}.brief-panel,.schedule-card{padding:28px 20px}.brief-panel legend{font-size:29px}.choice{padding:13px 10px;grid-template-columns:20px 1fr;gap:8px}.choice span{font-size:13px}.choice small{font-size:10px}.brief-controls .pill{font-size:10px;padding:14px 17px}.brief-controls{gap:12px}.review-actions{gap:16px}.schedule-layout h1{font-size:58px}.schedule-layout>div>img{height:190px!important;margin-top:25px}.legal-page .dt-page-hero{padding-top:135px}.legal-page .dt-h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.light-canvas{display:none!important}}
@media print{.maison-header,.maison-footer,.closing,.brief-controls,.review-actions{display:none!important}.onboarding-layout{display:block;padding:20px}.onboarding-aside{display:none}.brief-panel{border:0}body{background:white}}

#project-brief{scroll-margin-top:125px}.hero-main-image>img{transform:scale(1.1)}

/* ==========================================================================
   Dark Mode & Theme Switching — The District Studio
   ========================================================================== */

/* Theme Toggle Button in Header */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(183, 174, 152, 0.45);
  background: transparent;
  color: var(--dt-ink);
  cursor: pointer;
  padding: 0;
  margin: 0;
  transition: border-color .25s, transform .25s var(--dt-ease), background .25s, color .25s;
  flex-shrink: 0;
}
.theme-toggle:hover {
  border-color: var(--gold-ink);
  transform: scale(1.08);
  background: rgba(183, 174, 152, 0.12);
}
.theme-toggle:focus-visible {
  outline: 2px solid var(--gold-ink) !important;
  outline-offset: 3px !important;
}
.theme-toggle svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  transition: transform .35s var(--dt-ease), opacity .25s;
}

/* Icon visibility */
.theme-icon-sun { display: none; }
.theme-icon-moon { display: block; }

:root[data-theme="dark"] .theme-icon-moon,
.dt-root[data-theme="dark"] .theme-icon-moon { display: none; }

:root[data-theme="dark"] .theme-icon-sun,
.dt-root[data-theme="dark"] .theme-icon-sun { display: block; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-icon-moon,
  .dt-root:not([data-theme="light"]) .theme-icon-moon { display: none; }
  :root:not([data-theme="light"]) .theme-icon-sun,
  .dt-root:not([data-theme="light"]) .theme-icon-sun { display: block; }
}

/* Dark Mode Tokens & Overrides */
:root[data-theme="dark"],
.dt-root[data-theme="dark"] {
  --gold-ink: #d4c097;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]),
  .dt-root:not([data-theme="light"]) {
    --gold-ink: #d4c097;
  }
}

/* Dark Mode Components */
:root[data-theme="dark"] .maison-header,
.dt-root[data-theme="dark"] .maison-header {
  background: rgba(22, 19, 18, 0.88);
  border-color: rgba(212, 192, 151, 0.22);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
:root[data-theme="dark"] .maison-header.scrolled,
.dt-root[data-theme="dark"] .maison-header.scrolled {
  box-shadow: 0 8px 34px rgba(0, 0, 0, 0.65);
}

:root[data-theme="dark"] .brand img,
.dt-root[data-theme="dark"] .brand img {
  filter: brightness(0) invert(1);
}
@supports (content: url("")) {
  :root[data-theme="dark"] .brand img,
  .dt-root[data-theme="dark"] .brand img {
    filter: none;
    content: url("/assets/img/logo-white.png");
  }
}

:root[data-theme="dark"] .mega-menu,
.dt-root[data-theme="dark"] .mega-menu {
  background: var(--dt-surface);
  border-color: rgba(212, 192, 151, 0.22);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

:root[data-theme="dark"] .hero-inset,
.dt-root[data-theme="dark"] .hero-inset {
  background: var(--dt-surface);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
}

:root[data-theme="dark"] .gallery-section,
:root[data-theme="dark"] .closing,
.dt-root[data-theme="dark"] .gallery-section,
.dt-root[data-theme="dark"] .closing {
  background: var(--dt-surface-alt);
}

:root[data-theme="dark"] .gallery-image,
.dt-root[data-theme="dark"] .gallery-image {
  background: #23201e;
}

:root[data-theme="dark"] .image-arrow,
.dt-root[data-theme="dark"] .image-arrow {
  background: var(--dt-surface);
  color: var(--dt-ink);
}

:root[data-theme="dark"] .gallery-caption small,
.dt-root[data-theme="dark"] .gallery-caption small {
  color: var(--dt-muted);
}

:root[data-theme="dark"] .service-row:hover,
.dt-root[data-theme="dark"] .service-row:hover {
  background: rgba(212, 192, 151, 0.08);
}
:root[data-theme="dark"] .service-row div p:last-child,
.dt-root[data-theme="dark"] .service-row div p:last-child {
  color: var(--dt-muted);
}

:root[data-theme="dark"] .manifesto,
.dt-root[data-theme="dark"] .manifesto {
  background: #110f0e;
  color: #f2ede7;
  border-top: 1px solid var(--dt-line);
  border-bottom: 1px solid var(--dt-line);
}

:root[data-theme="dark"] .maison-footer,
.dt-root[data-theme="dark"] .maison-footer {
  background: #0d0c0b;
  color: #f2ede7;
  border-top: 1px solid var(--dt-line);
}

:root[data-theme="dark"] .pill,
.dt-root[data-theme="dark"] .pill {
  background: #f2ede7;
  border-color: #f2ede7;
  color: #151312 !important;
}
:root[data-theme="dark"] .pill:hover,
.dt-root[data-theme="dark"] .pill:hover {
  background: #dfd7cc;
}
:root[data-theme="dark"] .pill.light,
.dt-root[data-theme="dark"] .pill.light {
  background: #272321;
  color: #f2ede7 !important;
  border-color: rgba(242, 237, 231, 0.2);
}
:root[data-theme="dark"] .pill.light:hover,
.dt-root[data-theme="dark"] .pill.light:hover {
  background: #35302d;
}

:root[data-theme="dark"] .filters button,
.dt-root[data-theme="dark"] .filters button {
  border-color: rgba(212, 192, 151, 0.35);
  color: var(--dt-ink);
}
:root[data-theme="dark"] .filters button[aria-pressed=true],
.dt-root[data-theme="dark"] .filters button[aria-pressed=true] {
  background: #d4c097;
  color: #151312;
  border-color: #d4c097;
}

:root[data-theme="dark"] .brief-panel,
:root[data-theme="dark"] .schedule-card,
.dt-root[data-theme="dark"] .brief-panel,
.dt-root[data-theme="dark"] .schedule-card {
  background: var(--dt-surface);
  border-color: var(--dt-line);
}

:root[data-theme="dark"] .brief-review,
:root[data-theme="dark"] .reference-note,
.dt-root[data-theme="dark"] .brief-review,
.dt-root[data-theme="dark"] .reference-note {
  background: var(--dt-surface-alt);
  color: var(--dt-ink);
  border-color: var(--gold-ink);
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
.dt-root[data-theme="dark"] input,
.dt-root[data-theme="dark"] textarea,
.dt-root[data-theme="dark"] select {
  background: rgba(255, 255, 255, 0.05);
  color: #f2ede7;
  border-color: rgba(212, 192, 151, 0.3);
}
:root[data-theme="dark"] input:focus-visible,
:root[data-theme="dark"] textarea:focus-visible,
:root[data-theme="dark"] select:focus-visible,
.dt-root[data-theme="dark"] input:focus-visible,
.dt-root[data-theme="dark"] textarea:focus-visible,
.dt-root[data-theme="dark"] select:focus-visible {
  outline-color: var(--gold-ink) !important;
}

:root[data-theme="dark"] .choice,
.dt-root[data-theme="dark"] .choice {
  border-color: rgba(212, 192, 151, 0.25);
  background: rgba(255, 255, 255, 0.02);
}
:root[data-theme="dark"] .choice:has(input:checked),
.dt-root[data-theme="dark"] .choice:has(input:checked) {
  border-color: #d4c097;
  background: rgba(212, 192, 151, 0.12);
}

:root[data-theme="dark"] .image-dialog,
.dt-root[data-theme="dark"] .image-dialog {
  background: var(--dt-surface);
  color: var(--dt-ink);
}
:root[data-theme="dark"] .image-dialog::backdrop,
.dt-root[data-theme="dark"] .image-dialog::backdrop {
  background: rgba(10, 9, 8, 0.88);
}
:root[data-theme="dark"] .reference-enlarge span,
.dt-root[data-theme="dark"] .reference-enlarge span {
  background: var(--dt-surface);
  color: var(--dt-ink);
}

:root[data-theme="dark"] .logo-spec > div,
.dt-root[data-theme="dark"] .logo-spec > div {
  background: var(--dt-surface-alt);
}
:root[data-theme="dark"] .logo-spec .inverse,
.dt-root[data-theme="dark"] .logo-spec .inverse {
  background: #0d0c0b;
}

:root[data-theme="dark"] .intro-copy > p:not(.lead):not(.signature),
:root[data-theme="dark"] .faq details p,
:root[data-theme="dark"] fieldset > p,
:root[data-theme="dark"] .fine-print,
.dt-root[data-theme="dark"] .intro-copy > p:not(.lead):not(.signature),
.dt-root[data-theme="dark"] .faq details p,
.dt-root[data-theme="dark"] fieldset > p,
.dt-root[data-theme="dark"] .fine-print {
  color: var(--dt-muted);
}

/* System dark media query counterparts */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .maison-header,
  .dt-root:not([data-theme="light"]) .maison-header {
    background: rgba(22, 19, 18, 0.88);
    border-color: rgba(212, 192, 151, 0.22);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  :root:not([data-theme="light"]) .brand img,
  .dt-root:not([data-theme="light"]) .brand img {
    filter: brightness(0) invert(1);
  }
  @supports (content: url("")) {
    :root:not([data-theme="light"]) .brand img,
    .dt-root:not([data-theme="light"]) .brand img {
      filter: none;
      content: url("/assets/img/logo-white.png");
    }
  }
  :root:not([data-theme="light"]) .mega-menu,
  .dt-root:not([data-theme="light"]) .mega-menu {
    background: var(--dt-surface);
    border-color: rgba(212, 192, 151, 0.22);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  }
  :root:not([data-theme="light"]) .hero-inset,
  .dt-root:not([data-theme="light"]) .hero-inset {
    background: var(--dt-surface);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
  }
  :root:not([data-theme="light"]) .gallery-section,
  :root:not([data-theme="light"]) .closing,
  .dt-root:not([data-theme="light"]) .gallery-section,
  .dt-root:not([data-theme="light"]) .closing {
    background: var(--dt-surface-alt);
  }
  :root:not([data-theme="light"]) .gallery-image,
  .dt-root:not([data-theme="light"]) .gallery-image {
    background: #23201e;
  }
  :root:not([data-theme="light"]) .image-arrow,
  .dt-root:not([data-theme="light"]) .image-arrow {
    background: var(--dt-surface);
    color: var(--dt-ink);
  }
  :root:not([data-theme="light"]) .gallery-caption small,
  .dt-root:not([data-theme="light"]) .gallery-caption small {
    color: var(--dt-muted);
  }
  :root:not([data-theme="light"]) .service-row:hover,
  .dt-root:not([data-theme="light"]) .service-row:hover {
    background: rgba(212, 192, 151, 0.08);
  }
  :root:not([data-theme="light"]) .service-row div p:last-child,
  .dt-root:not([data-theme="light"]) .service-row div p:last-child {
    color: var(--dt-muted);
  }
  :root:not([data-theme="light"]) .manifesto,
  .dt-root:not([data-theme="light"]) .manifesto {
    background: #110f0e;
    color: #f2ede7;
    border-top: 1px solid var(--dt-line);
    border-bottom: 1px solid var(--dt-line);
  }
  :root:not([data-theme="light"]) .maison-footer,
  .dt-root:not([data-theme="light"]) .maison-footer {
    background: #0d0c0b;
    color: #f2ede7;
    border-top: 1px solid var(--dt-line);
  }
  :root:not([data-theme="light"]) .pill,
  .dt-root:not([data-theme="light"]) .pill {
    background: #f2ede7;
    border-color: #f2ede7;
    color: #151312 !important;
  }
  :root:not([data-theme="light"]) .pill:hover,
  .dt-root:not([data-theme="light"]) .pill:hover {
    background: #dfd7cc;
  }
  :root:not([data-theme="light"]) .pill.light,
  .dt-root:not([data-theme="light"]) .pill.light {
    background: #272321;
    color: #f2ede7 !important;
    border-color: rgba(242, 237, 231, 0.2);
  }
  :root:not([data-theme="light"]) .pill.light:hover,
  .dt-root:not([data-theme="light"]) .pill.light:hover {
    background: #35302d;
  }
  :root:not([data-theme="light"]) .filters button,
  .dt-root:not([data-theme="light"]) .filters button {
    border-color: rgba(212, 192, 151, 0.35);
    color: var(--dt-ink);
  }
  :root:not([data-theme="light"]) .filters button[aria-pressed=true],
  .dt-root:not([data-theme="light"]) .filters button[aria-pressed=true] {
    background: #d4c097;
    color: #151312;
    border-color: #d4c097;
  }
  :root:not([data-theme="light"]) .brief-panel,
  :root:not([data-theme="light"]) .schedule-card,
  .dt-root:not([data-theme="light"]) .brief-panel,
  .dt-root:not([data-theme="light"]) .schedule-card {
    background: var(--dt-surface);
    border-color: var(--dt-line);
  }
  :root:not([data-theme="light"]) .brief-review,
  :root:not([data-theme="light"]) .reference-note,
  .dt-root:not([data-theme="light"]) .brief-review,
  .dt-root:not([data-theme="light"]) .reference-note {
    background: var(--dt-surface-alt);
    color: var(--dt-ink);
    border-color: var(--gold-ink);
  }
  :root:not([data-theme="light"]) input,
  :root:not([data-theme="light"]) textarea,
  :root:not([data-theme="light"]) select,
  .dt-root:not([data-theme="light"]) input,
  .dt-root:not([data-theme="light"]) textarea,
  .dt-root:not([data-theme="light"]) select {
    background: rgba(255, 255, 255, 0.05);
    color: #f2ede7;
    border-color: rgba(212, 192, 151, 0.3);
  }
  :root:not([data-theme="light"]) .choice,
  .dt-root:not([data-theme="light"]) .choice {
    border-color: rgba(212, 192, 151, 0.25);
    background: rgba(255, 255, 255, 0.02);
  }
  :root:not([data-theme="light"]) .choice:has(input:checked),
  .dt-root:not([data-theme="light"]) .choice:has(input:checked) {
    border-color: #d4c097;
    background: rgba(212, 192, 151, 0.12);
  }
  :root:not([data-theme="light"]) .image-dialog,
  .dt-root:not([data-theme="light"]) .image-dialog {
    background: var(--dt-surface);
    color: var(--dt-ink);
  }
  :root:not([data-theme="light"]) .image-dialog::backdrop,
  .dt-root:not([data-theme="light"]) .image-dialog::backdrop {
    background: rgba(10, 9, 8, 0.88);
  }
  :root:not([data-theme="light"]) .reference-enlarge span,
  .dt-root:not([data-theme="light"]) .reference-enlarge span {
    background: var(--dt-surface);
    color: var(--dt-ink);
  }
  :root:not([data-theme="light"]) .intro-copy > p:not(.lead):not(.signature),
  :root:not([data-theme="light"]) .faq details p,
  :root:not([data-theme="light"]) fieldset > p,
  :root:not([data-theme="light"]) .fine-print,
  .dt-root:not([data-theme="light"]) .intro-copy > p:not(.lead):not(.signature),
  .dt-root:not([data-theme="light"]) .faq details p,
  .dt-root:not([data-theme="light"]) fieldset > p,
  .dt-root:not([data-theme="light"]) .fine-print {
    color: var(--dt-muted);
  }
}
