/* Real alpha artwork lets both navigation surfaces show through the logo. */
body .brand-logo .logo-crop{aspect-ratio:1034/884;background:transparent}
body .brand-logo .logo-crop img{position:absolute;display:block;width:121.2766%;height:auto;max-width:none;left:-11.412%;top:-19.0045%;object-fit:initial;filter:brightness(0);mix-blend-mode:normal}
body>footer .brand-logo .logo-crop img{filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.92}
.services-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:8%;align-items:center;margin-bottom:64px}
.services-lead .page-title{margin:0;max-width:none}
.services-lead-image,.faq-image{margin:0;min-width:0}
.services-lead-image>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.services-lead-image figcaption,.faq-image figcaption{display:flex;align-items:center;gap:13px;margin-top:17px;font:13px/1.7 var(--sans);color:#68705f}
.image-index{color:#8c7758;font-size:11px;letter-spacing:.08em}
.home-services-grid{gap:32px}
.home-service{padding-top:0;border-top:0}
.home-service-image{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#e7e6df;margin-bottom:24px}
.home-service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.home-service:hover .home-service-image img{transform:scale(1.035)}
.home-service-topline{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:18px;color:#8c7758}
.home-service .home-service-number{position:static;margin:0;font-size:12px}
.service-line-icon{display:block;width:27px;height:27px;flex-shrink:0}
.home-service h3{max-width:100%}
.article-row :is(button,a),.full-list .article-row :is(button,a){grid-template-columns:150px minmax(0,1fr) 32px;align-items:center;gap:25px;padding:24px 0}
.article-row :is(button,a):before{display:none}
.article-thumbnail{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e7e6df}
.article-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.article-row :is(button,a):hover .article-thumbnail img{transform:scale(1.05)}
.article-row-copy{display:block;min-width:0}
.article-row-copy small{display:block;margin-bottom:10px}
.article-row-copy h3{margin:0;overflow-wrap:anywhere}
.article-row .arrow{grid-column:3;grid-row:1;align-self:center}
.full-list .article-row :is(button,a){grid-template-columns:210px minmax(0,1fr) 32px;gap:35px}
.faq-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:start}
.faq-image{position:sticky;top:35px}
.faq-image>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.faq-image figcaption>svg{width:24px;height:24px;flex-shrink:0;color:#8c7758}
#faq-list summary{display:flex;align-items:start;justify-content:space-between;gap:24px;list-style:none;font:500 16px/1.7 var(--sans)}
#faq-list summary::-webkit-details-marker{display:none}
#faq-list summary:after{content:'+';display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid #c6cebe;border-radius:50%;font:18px/1 var(--sans);color:#78886b;transition:transform .25s}
#faq-list details[open] summary:after{transform:rotate(45deg)}
#faq-list details[open]{border-color:#9ba88e}
#faq-list details p{margin:17px 0 0}
@media(max-width:1000px){
 .services-lead{gap:6%;margin-bottom:45px}
 .services-lead h1{font-size:60px}
 .article-row :is(button,a),.full-list .article-row :is(button,a){grid-template-columns:115px minmax(0,1fr) 26px;gap:20px}
 .article-row h3,.full-list .article-row h3{font-size:28px}
 .faq-layout{gap:6%;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
}
@media(max-width:700px){
 .services-lead{grid-template-columns:1fr;gap:30px;margin-bottom:35px}
 .services-lead h1{font-size:55px}
 .services-lead-image>img{aspect-ratio:16/9}
 .faq-layout{grid-template-columns:1fr;gap:30px}
 .faq-image{position:static}
 .faq-image>img{aspect-ratio:16/10;object-position:center 55%}
}
@media(max-width:650px){
 .home-service{padding:0}
 .home-service-image{margin-bottom:18px}
 .home-service-topline{margin-bottom:14px}
 .article-row :is(button,a),.full-list .article-row :is(button,a){grid-template-columns:95px minmax(0,1fr) 22px;gap:15px;padding:23px 0}
 .article-row h3,.full-list .article-row h3{font-size:25px;line-height:1.15}
 .article-row small{font-size:11px;line-height:1.6;margin-bottom:8px}
 .services-lead-image figcaption,.faq-image figcaption{font-size:12px;gap:10px;margin-top:13px}
}
@media(max-width:380px){
 .article-row :is(button,a),.full-list .article-row :is(button,a){grid-template-columns:75px minmax(0,1fr) 18px;gap:12px}
 .article-row h3,.full-list .article-row h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.home-service-image img,.article-thumbnail img,#faq-list summary:after{transition:none}}
/* Letter outlines, section hatching and measured guides form the animated wordmark. */
.atelier-wordmark,.hero .atelier-wordmark{font-size:0;line-height:0;transform:translateY(-50%)}
.arch-wordmark{display:block;width:92%;height:auto;margin-inline:auto;color:var(--clay);overflow:visible;-webkit-text-stroke:0}
.hero .atelier-outline .arch-wordmark{color:#f7f6f2}
.arch-letter{stroke:currentColor;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.arch-hatches{opacity:.12}
.arch-guides{stroke:currentColor;stroke-width:.45;stroke-dasharray:4 9;opacity:.28}
.arch-guides path,.arch-dimensions path{vector-effect:non-scaling-stroke}
.arch-dimensions{stroke:currentColor;stroke-width:.5;opacity:.65}
.arch-dimensions text{fill:currentColor;stroke:none;font:24px/1 monospace;letter-spacing:.1em}
.is-entering .atelier-brand{animation:none}
.is-entering .arch-letter{animation:architectural-letter-draw 2.8s cubic-bezier(.25,.46,.45,.94) both;animation-delay:calc(var(--glyph-index) * .14s)}
.is-entering .arch-hatches{animation:architectural-hatch-reveal 1.8s 1.2s both}
.arch-guides{animation:architectural-guide-move 20s linear infinite}
.is-paused .arch-guides,.is-paused .arch-letter,.is-paused .arch-hatches{animation-play-state:paused}
.architectural-brand-fallback{display:block;font:500 20vw/1 var(--sans);color:transparent;-webkit-text-stroke:1px var(--clay)}
@keyframes architectural-letter-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes architectural-hatch-reveal{from{opacity:0}to{opacity:.12}}
@keyframes architectural-guide-move{to{stroke-dashoffset:-130}}
@media(max-width:650px){.arch-wordmark{width:96%}.arch-letter{stroke-width:.85}.arch-dimensions{opacity:.5}.atelier-descriptor{bottom:-20px}}
@media(prefers-reduced-motion:reduce){.arch-letter,.arch-hatches,.arch-guides{animation:none!important}}
/* Reserve a clear navigation band above the architectural drawing. */
body[data-page="home"]>header{background:var(--paper)}
.atelier-drafting{clip-path:inset(calc(var(--header-height) + 20px) 0 0)}
.arch-wordmark{max-height:calc(100svh - 2 * var(--header-height) - 80px)}

/* Keep the founder biography and portrait together within the full-width page. */
.studio-founder{grid-template-columns:minmax(0,500px) minmax(0,600px);gap:clamp(40px,5vw,88px);justify-content:center}
.studio-founder .hero-copy{width:100%;max-width:500px;justify-self:end}
.studio-founder .intro{max-width:440px}
.studio-founder .portrait{justify-self:start}
#atelier-figure-title{justify-self:start;max-width:100%;color:inherit;border-bottom:1px solid transparent;padding-block:3px}
#atelier-figure-title[href]:hover{color:#784e3a;border-bottom-color:currentColor}
#atelier-figure-title[href]:focus-visible{outline:1px solid currentColor;outline-offset:4px}
@media(max-width:800px) and (min-width:651px){.studio-founder{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:650px){
 .studio-founder{grid-template-columns:minmax(0,1fr);gap:30px}
 .studio-founder .hero-copy{max-width:100%;justify-self:stretch}
 .studio-founder .intro{max-width:440px}
 .studio-founder .portrait{justify-self:stretch}
}

/* Responsive layouts follow content height rather than compressing into the viewport. */
@media(max-width:900px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body>header{gap:16px}
 body>header .brand,body>header .nav-actions{flex-shrink:0}
 body>header nav#nav.open{flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100svh - var(--header-height));overflow-y:auto}
 body>header nav#nav a{display:flex;align-items:center;min-height:44px;padding:10px 0}
 body>header #menu,body>header #language{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-info>div,.article-list,.article-row,.service-heading,.service-body,.brief-introduction,.brief-wizard{min-width:0}
 .project h3,.home-service h3,.service-heading h3,.page-title h1,.profile-name{overflow-wrap:anywhere}
 .filters{gap:8px 20px}
 .filters a,.filters button{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:800px){
 :root{--header-height:80px;--site-gutter:clamp(20px,5vw,32px)}
 body>header,body[data-page="home"]>header{height:var(--header-height)}
 body>header .brand-logo .logo-crop{width:66px}
 .nav-actions .black{display:none}
 .hero.atelier-hero{
  --media-width:min(76vw,320px);
  --stage-center:calc(var(--header-height) + 86px + var(--media-width) * .625);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;
  height:auto;min-height:0;max-height:none;
  padding:calc(var(--header-height) + 86px) 0 24px;margin-bottom:56px;
 }
 .atelier-eyebrow{top:calc(var(--header-height) + 12px);right:var(--site-gutter);font-size:11px;line-height:1.7;letter-spacing:.1em}
 .atelier-media{position:relative;inset:auto;transform:none;width:var(--media-width);flex-shrink:0;margin:0 auto}
 /* Desktop reveal finishes at translateY(-50%); flow layouts must finish at zero. */
 .is-entering .atelier-media{animation:mobile-media-reveal 1.2s .15s cubic-bezier(.16,1,.3,1) both}
 .atelier-frame{aspect-ratio:4/5}
 .arch-wordmark{max-height:none}
 .atelier-figure-caption{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin-top:14px;align-items:center}
 #atelier-figure-title{grid-column:1/-1;grid-row:2;white-space:normal;overflow:visible;text-overflow:clip;font-size:14px;line-height:1.5;min-height:44px;display:flex;align-items:center}
 .atelier-controls{grid-column:2;grid-row:1;gap:2px}
 .atelier-controls button{min-width:44px;min-height:44px;font-size:18px}
 .atelier-signature{position:relative;inset:auto;max-width:28ch;margin:20px var(--site-gutter) 0;text-align:center;font-size:12px;line-height:1.7}
 .atelier-bottom{position:relative;inset:auto;width:calc(100% - 2 * var(--site-gutter));margin-top:20px;padding-top:8px;gap:16px;flex-wrap:wrap;font-size:11px;line-height:1.6}
 .atelier-bottom a{font-size:12px;min-height:44px;padding:8px 0}
 .atelier-descriptor{font-size:12px;letter-spacing:.1em}
 .studio-founder,.about-layout,.contact-layout.brief-layout,.journal-preview,.services-lead,.faq-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .studio-founder{padding:0;margin-bottom:64px}
 .studio-founder .hero-copy{max-width:none;padding:0;justify-self:stretch}
 .studio-founder .portrait,.about-layout>.portrait{width:100%;max-width:480px;aspect-ratio:510/548;justify-self:center}
 .studio-founder .portrait.original-portrait>img,.about-layout>.portrait.original-portrait>img{position:static;width:100%;height:100%;object-fit:cover;object-position:center}
 .about-layout>.portrait{order:2}
 .studio-founder-name,.about-layout h2.profile-name{font-size:clamp(42px,8vw,60px);line-height:1.1}
 .inner{padding:40px 0 64px;min-height:0}
 .page-title h1,.services-lead h1,.about-title h1,.brief-introduction h1{font-size:clamp(38px,7vw,56px);line-height:1.1;max-width:100%}
 .journal-preview>div>p,.home-services-intro,.home-service>p,.studio-founder .intro{max-width:55ch}
 .services-lead{margin-bottom:32px}
 .services-lead-image>img,.faq-image>img{aspect-ratio:16/10}
 .faq-image{position:static}
 .service-heading{grid-template-columns:minmax(0,1fr);gap:12px}
 .service-scope-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .contact-layout form.brief-wizard{width:100%;padding:24px;min-width:0}
 .brief-introduction .wizard-navigation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:24px}
 .wizard-navigation>button{justify-content:center;min-height:44px;padding:0}
 .wizard-navigation .wizard-step-title{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}
 .wizard-step-number{width:34px;height:34px}
 .brief-wizard .form-row{grid-template-columns:minmax(0,1fr);gap:0}
 .detail-cover{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}
 .detail-content .reading{width:100%;padding:28px 0;min-width:0}
 .detail-content .reading h1{font-size:clamp(34px,6vw,48px);line-height:1.15;overflow-wrap:anywhere}
 .article-body{overflow-wrap:anywhere}
 .article-body img{max-width:100%;height:auto}
 .article-body table{display:block;max-width:100%;overflow-x:auto}
 .article-body pre{max-width:100%;overflow-x:auto}
 .article-body h2,.article-body h3{line-height:1.25}
 body>footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-block:40px 28px}
 body>footer>div:first-child{grid-column:1/-1}
 footer>div.footer-invitation{flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:32px}
 .footer-invitation h2{font-size:clamp(34px,6vw,46px);line-height:1.15}
 .social-link{min-width:44px;min-height:44px}
}
@media(max-width:600px){
 .home-services-grid,.featured-grid,.project-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .featured-grid>.project:first-child{grid-column:auto;grid-row:auto}
 .featured-grid>.project:not(:first-child) .photo:not(.reference-crop),.project-grid .photo:not(.reference-crop){aspect-ratio:4/3}
 .project h3,.featured-grid>.project:not(:first-child) h3,.project-grid .project-info h3{font-size:28px;line-height:1.18}
 .project p{font-size:13px;line-height:1.7}
 .project-info{gap:16px;align-items:flex-start}
 .project-open{min-width:28px}
 .section-heading{gap:16px;flex-wrap:wrap;align-items:baseline}
 .section-heading h2{max-width:100%;font-size:32px;line-height:1.15}
 .section-heading>a{min-height:44px;max-width:100%;font-size:13px;text-align:left}
 .article-row :is(button,a),.full-list .article-row :is(button,a){grid-template-columns:minmax(0,1fr) 32px;gap:18px 14px;padding:24px 0}
 .article-thumbnail{grid-column:1/-1;grid-row:1;aspect-ratio:16/10}
 .article-row-copy{grid-column:1;grid-row:2}
 .article-row .arrow{grid-column:2;grid-row:2}
 .article-row h3,.full-list .article-row h3{font-size:28px;line-height:1.2;overflow-wrap:normal}
 .article-row small{font-size:12px}
 .article-thumbnail img{width:100%;height:100%;object-fit:cover}
 .journal-preview,.home-services,.featured{margin-bottom:64px}
 .service-detail>summary{grid-template-columns:22px minmax(0,1fr) 26px;gap:10px}
 .service-heading h3{font-size:28px;line-height:1.2}
 .service-detail[open]>.service-body{padding:0 0 28px}
 .service-scope-banner{padding:24px 20px}
 #steps{grid-template-columns:minmax(0,1fr);gap:24px}
 .contact-layout form.brief-wizard{padding:22px 18px}
 .project-choice-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .project-choice>.choice-content{min-height:0;padding:24px 44px 24px 18px;gap:12px}
 .choice-content>small{max-width:100%;font-size:14px;line-height:1.7}
 .choice-content>strong{font-size:28px;line-height:1.15}
 .brief-services.wizard-services{grid-template-columns:minmax(0,1fr)}
 .wizard-heading>h2{font-size:32px;line-height:1.15;overflow-wrap:anywhere}
 .wizard-service-toolbar{flex-direction:column;align-items:flex-start;gap:8px}
 .wizard-service-toolbar>span,.wizard-service-toolbar>button{max-width:100%}
 .wizard-service-toolbar>button{min-height:44px;text-align:left}
 .wizard-actions{flex-wrap:wrap;gap:12px}
 .wizard-actions>button{min-height:48px;white-space:normal}
 .wizard-actions .wizard-download{max-width:100%;width:100%;margin:0;font-size:14px;padding:14px}
 .wizard-receipt-actions{flex-direction:column;align-items:stretch}
 .wizard-receipt-actions>button{min-height:48px;white-space:normal}
 .review-row{grid-template-columns:minmax(0,1fr);gap:3px;margin:16px 0}
 .review-section-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}
 .review-section-heading>button{min-height:44px}
 .brief-wizard input:not([type=radio]):not([type=checkbox]),.brief-wizard select,.brief-wizard textarea{min-width:0;max-width:100%;font-size:16px}
 body>footer a:not(.brand),body>footer button{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:800px) and (max-height:500px){
 .hero.atelier-hero{--media-width:min(52vw,260px)}
}

@keyframes mobile-media-reveal{
 from{opacity:0;clip-path:inset(4%);transform:translateY(20px)}
 to{opacity:1;clip-path:inset(-20% -10% -20% -10%);transform:translateY(0)}
}

/* Curved plan symbols have their own proportional viewports, independent of hero height. */
.atelier-plan-symbol{position:absolute;display:block;height:auto;color:var(--draft);stroke:currentColor;stroke-width:.65;opacity:.42;pointer-events:none;z-index:0}
.atelier-plan-symbol path,.atelier-plan-symbol circle{vector-effect:non-scaling-stroke}
.atelier-plan-door{width:clamp(180px,32vw,455px);left:3%;top:calc(var(--header-height) + 24px)}
.atelier-plan-marker{width:88px;left:3%;bottom:15%}
@media(max-width:800px){
 .atelier-plan-door{width:150px;left:12px;top:calc(var(--header-height) + 34px)}
 .atelier-plan-marker{width:44px;left:4px;bottom:132px}
}
/* Optional project photos and drawings stay within the brief's reading column. */
.brief-attachments{border-top:1px solid var(--line);padding-top:28px;margin-top:30px;min-width:0}
.brief-attachments h3{font:500 28px/1.2 var(--serif);margin:0 0 12px}
.brief-attachments>p{font:14px/1.8 var(--sans);color:var(--muted)}
.attachment-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 14px}
.attachment-actions button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 16px;background:transparent;border:1px solid #b8c1ab;font:14px/1.5 var(--sans)}
.attachment-actions button span{margin:0;font:inherit;color:inherit}
.attachment-actions svg{flex-shrink:0}
.attachment-actions button:disabled{opacity:.5}
.attachment-list{list-style:none;margin:18px 0;padding:0}
.attachment-list li{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);min-width:0}
.attachment-list li>div{flex:1;min-width:0}
.attachment-list strong{display:block;font:500 14px/1.6 var(--sans);overflow-wrap:anywhere}
.attachment-list small{display:block;font:12px/1.6 var(--sans);color:var(--muted)}
.attachment-list button{background:none;border:0;border-bottom:1px solid var(--line);min-height:44px;font:12px var(--sans);flex-shrink:0}
.attachment-preview{width:64px;height:64px;object-fit:cover;flex-shrink:0}
#attachment-status:empty,#attachment-total:empty{display:none}
@media(max-width:600px){.attachment-actions{flex-direction:column}.attachment-actions button{width:100%}.attachment-preview{width:48px;height:48px}.brief-attachments h3{font-size:27px}}
