:root{--bg:#f4f1eb;--fg:#24221f;--accent:#725442;--heading:Georgia,serif;--body:Arial,sans-serif;--h1:68px;--h2:48px;--h3:26px;--text:17px;--leading:1.6;--heading-leading:1.05;--button:16px;--gap:110px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font:var(--text)/var(--leading) var(--body)}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:var(--heading-leading)}h1{font-size:var(--h1);letter-spacing:-.045em}h2{font-size:var(--h2);letter-spacing:-.035em}h3{font-size:var(--h3)}em{font-weight:400}p{max-width:650px}img{display:block;width:100%;height:auto}main>section{margin:0 5vw;padding:var(--gap) 0;border-bottom:1px solid color-mix(in srgb,var(--fg) 25%,transparent)}.workbench{position:sticky;top:0;z-index:20;background:#e6e4df;color:#191919;padding:9px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px/1.4 Arial,sans-serif}.workbench button{border:1px solid #9b9992;background:transparent;padding:8px 12px;border-radius:3px}.switch{display:flex;gap:4px}.switch button[aria-pressed=true]{background:#21211f;color:white}.skip{position:absolute;top:-100px}.skip:focus{top:65px;z-index:30;background:white;color:black}header{padding:30px 5vw;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{text-decoration:none;letter-spacing:.17em;font-size:22px}.brand span{display:block;font-size:10px;letter-spacing:.06em}nav{display:flex;gap:25px;font-size:13px}nav a,.nav-contact{text-decoration:none}.nav-contact{font-size:13px;border-bottom:1px solid;padding:8px 0}.edition,.hero-bottom{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero{padding-top:15px!important}.edition{border-top:1px solid;padding-top:12px}.hero-stage{position:relative;min-height:720px;padding-top:35px}.masthead{font-family:var(--heading);font-size:clamp(44px,10.3vw,180px);line-height:1.1;letter-spacing:-.065em;white-space:nowrap}.portrait{position:absolute;left:42%;top:95px;width:24%;height:310px;background:color-mix(in srgb,var(--fg) 8%,var(--bg));border:1px dashed color-mix(in srgb,var(--fg) 45%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;font-size:15px}.portrait small{font-size:10px;max-width:150px;margin-top:16px}.hero-copy{width:38%;padding-top:50px}.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px}.hero-copy p:not(.eyebrow){margin:24px 0;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--fg);color:var(--bg);padding:var(--button) 24px;border:1px solid var(--fg);text-decoration:none;font-size:14px;line-height:1.4;min-height:48px}.hero-room{width:48%;position:absolute;right:0;bottom:30px}.hero-room img{aspect-ratio:16/10;object-fit:cover}figcaption{font-size:11px;padding-top:12px}.hero-bottom{margin-top:30px;padding-top:20px;border-top:1px solid}.number{display:block;letter-spacing:.13em;font-size:10px;margin-bottom:30px}.intro{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:35px}.intro p{font-size:15px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-head p{font-size:13px}.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:45px 30px}.gallery figure:nth-child(even){padding-top:100px}.gallery img{aspect-ratio:16/10;object-fit:cover}.services{display:grid;grid-template-columns:1fr 1fr;gap:10%}.services p{font-size:13px;margin-top:25px;max-width:360px}.service-list{padding:0;margin:0;list-style:none}.service-list li{border-bottom:1px solid;padding:20px 0;font-size:23px}.service-list span{font-size:11px;margin-right:35px}.tool h2{margin-bottom:25px}.notice{border-left:3px solid var(--accent);padding:12px 20px;margin-bottom:30px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px}label{display:flex;flex-direction:column;gap:9px;font-size:14px}input,select,textarea{width:100%;padding:14px;background:var(--bg);color:var(--fg);border:1px solid color-mix(in srgb,var(--fg) 45%,transparent);border-radius:0;min-width:0}.check{flex-direction:row;align-items:center}.check input{width:20px;height:20px}.result{padding:25px;border:1px solid;margin:25px 0}.fine{font-size:12px;max-width:850px}.result p{margin-bottom:10px}.result textarea{margin:15px 0}progress{display:block;width:100%;height:5px;accent-color:var(--accent);margin:16px 0 35px}#quizStep{max-width:650px;min-height:150px}#quizStep label{font-family:var(--heading);font-size:28px}#quizStep input,#quizStep select{font:16px var(--body);margin-top:15px}.quiz-actions{display:flex;gap:15px;margin-top:25px}.quiz-actions>button:first-child,#restart,#copyQuiz{padding:14px 25px}#quizResult>*{margin-bottom:20px}#quizResult>a{display:block}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-placeholder{aspect-ratio:4/3;background:color-mix(in srgb,var(--fg) 7%,var(--bg));display:grid;place-items:center;border:1px dashed}.about p{margin-top:30px}details{border-bottom:1px solid color-mix(in srgb,var(--fg) 25%,transparent);padding:22px 0}summary{cursor:pointer}details p{margin-top:20px;font-size:15px}.faq h2{margin-bottom:35px}.contact h2{font-size:calc(var(--h2)*1.5)}.contact p{margin:25px 0}.contact #contactStatus{font-size:12px}footer{padding:35px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:10px}#settings{position:fixed;z-index:40;right:0;top:0;bottom:0;width:min(400px,100%);overflow:auto;background:#f6f4ef;color:#222;padding:28px;box-shadow:-15px 0 70px #0005;font:14px/1.5 Arial,sans-serif}#settings h2{font:28px Georgia,serif}#settings p{margin:15px 0}#controls label{margin-bottom:15px}#settings button{padding:10px;margin:5px}#settings input,#settings select{background:white;color:#222}body[data-theme=B] .hero-stage{min-height:800px}body[data-theme=B] .masthead{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.08em;font-size:12.4vw}body[data-theme=B] .portrait{left:34%;width:32%;height:430px;top:70px;border-radius:45% 45% 0 0}body[data-theme=B] .hero-copy{position:absolute;bottom:50px;width:43%;padding-top:0}body[data-theme=B] .hero-room{width:46%;bottom:35px;border-radius:50% 50% 0 0;overflow:hidden}body[data-theme=B] .intro{grid-template-columns:1fr 2fr}body[data-theme=B] .intro p{grid-column:2}body[data-theme=B] .gallery{grid-template-columns:1fr 1fr;gap:40px}body[data-theme=B] .gallery figure:nth-child(even){padding-top:0}body[data-theme=B] .gallery img{border-radius:18px}body[data-theme=C] .hero-stage{min-height:850px}body[data-theme=C] .masthead{font-family:Arial,sans-serif;font-weight:900;transform:scaleY(1.5);transform-origin:top;letter-spacing:-.075em;font-size:12vw}body[data-theme=C] .portrait{left:47%;width:26%;height:370px;top:75px;transform:rotate(-5deg)}body[data-theme=C] .hero-copy{position:absolute;right:0;bottom:50px;width:43%;padding-top:0}body[data-theme=C] .hero-room{left:0;bottom:40px;width:50%;transform:rotate(-3deg)}body[data-theme=C] .intro{grid-template-columns:1fr 2fr}body[data-theme=C] .intro p{grid-column:2}body[data-theme=C] .gallery{grid-template-columns:1fr 1fr 1fr;gap:25px}body[data-theme=C] .gallery figure:first-child{grid-column:span 2}body[data-theme=C] .gallery figure:nth-child(2){padding-top:180px}body[data-theme=C] .gallery figure:last-child{grid-column:span 2;padding-top:0}body[data-theme=C] .section-head h2{text-transform:uppercase}body[data-theme=C] .contact{background:var(--accent);color:var(--bg);margin:0;padding:var(--gap) 5vw}body[data-theme=C] .contact .button{background:var(--bg);color:var(--fg);border:0}
@media(max-width:800px){:root{--h1:42px;--h2:35px;--text:16px;--gap:65px}.workbench{flex-wrap:wrap;gap:6px;padding:8px;font-size:10px}.workbench>span{display:none}.workbench button{padding:7px;font-size:10px}header{padding:24px 5vw;flex-wrap:wrap;gap:15px}nav{order:3;width:100%;gap:16px;font-size:11px;flex-wrap:wrap}.nav-contact{font-size:11px}.brand{font-size:18px}.edition{font-size:8px}.edition span{max-width:120px;text-align:right}.hero-stage,body[data-theme=B] .hero-stage,body[data-theme=C] .hero-stage{min-height:0;padding-top:30px;display:flex;flex-direction:column}.masthead,body[data-theme=B] .masthead,body[data-theme=C] .masthead{font-size:10.1vw;transform:none;order:0}.portrait,body[data-theme=B] .portrait,body[data-theme=C] .portrait{position:relative;left:auto;top:auto;width:56%;height:220px;align-self:center;margin-top:-10px;transform:none;order:1}.hero-copy,body[data-theme=B] .hero-copy,body[data-theme=C] .hero-copy{position:static;width:100%;padding:35px 0;order:2}.hero-room,body[data-theme=B] .hero-room,body[data-theme=C] .hero-room{position:static;width:100%;transform:none;order:3;border-radius:0}.hero-bottom{font-size:8px;flex-wrap:wrap}.hero-bottom span:last-child{display:none}.intro,body[data-theme=B] .intro,body[data-theme=C] .intro{display:block}.intro h2{margin-bottom:25px}.intro p{margin-top:25px}.section-head{align-items:start;flex-direction:column}.gallery,body[data-theme=B] .gallery,body[data-theme=C] .gallery{display:block}.gallery figure,.gallery figure:nth-child(even),body[data-theme=C] .gallery figure:nth-child(2){padding-top:0;margin-bottom:30px}.services,.about,.fields{grid-template-columns:1fr;gap:35px}.contact h2{font-size:var(--h2)}footer{flex-direction:column}.button{max-width:100%;font-size:12px}.service-list li{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(max-width:800px){h1{font-size:min(var(--h1),10.6vw)}h2{font-size:min(var(--h2),9vw)}h3{font-size:min(var(--h3),7vw)}.contact h2{font-size:min(var(--h2),9vw)}main>section{padding-top:min(var(--gap),75px);padding-bottom:min(var(--gap),75px)}.intro,.services,.about,.section-head>*{min-width:0}}

.brand.logo{position:relative;display:block;width:180px;height:110px;overflow:hidden;flex-shrink:0;background:transparent}.brand.logo img{position:absolute;width:250px;height:250px;max-width:none;left:-35px;top:-60px}@media(max-width:800px){.brand.logo{width:144px;height:88px}.brand.logo img{width:200px;height:200px;left:-28px;top:-48px}}

.portrait.portrait-photo{overflow:hidden;border:0;background:transparent;display:block}.portrait-photo img{position:absolute;left:0;top:0;width:240%;height:auto;max-width:none}.about-placeholder.about-photo{position:relative;overflow:hidden;border:0;aspect-ratio:3/4;display:block;background:transparent}.about-photo img{position:absolute;height:100%;width:auto;max-width:none;left:50%;top:0;transform:translateX(-56%)}

.portrait.portrait-photo{background:transparent;overflow:visible}.portrait.portrait-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom}

.about-photo img{left:0;top:0;transform:none;width:100%;height:100%;object-fit:contain;object-position:center bottom}

/* Slight portrait enlargement requested by the owner. */
.portrait.portrait-photo img{transform:scale(1.12);transform-origin:center bottom}

#projects details h3{margin-top:28px}#projects details p{margin-top:14px}

.process-list{list-style:none;padding:0;margin:45px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.process-list li{border-top:1px solid;padding-top:22px}.process-list .number{margin-bottom:18px}.process-list p{font-size:15px;margin-top:16px}@media(max-width:800px){.process-list{grid-template-columns:1fr;gap:28px}}
/* Main site: one approved design, no prototype controls. */
:root{--heading:Arial,sans-serif;--body:Arial,sans-serif}header{border-bottom:1px solid #ccc5}header nav a.active{text-decoration:underline}.language{font-size:13px;border:1px solid;padding:8px 12px;text-decoration:none}.page-heading{padding:45px 0 65px}.page-heading h1{max-width:1000px;font-size:clamp(35px,5vw,70px);overflow-wrap:break-word}.breadcrumbs{font-size:12px;margin-bottom:25px}.link-row{display:flex;flex-wrap:wrap;gap:22px;margin:30px 0}.service-details{list-style:none;padding:0;margin:40px 0;display:grid;grid-template-columns:1fr 1fr;gap:40px}.service-details li{border-top:1px solid;padding-top:25px}.service-details h2{font-size:30px}.service-details p{margin-top:18px}.project-cover{display:block;text-decoration:none}.project-cover img{margin:30px 0}.project-cover h2{margin-top:35px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.article-grid h2{font-size:30px}.article-grid p{margin:25px 0}.article-part{max-width:800px;margin:45px 0}.article-part h2{font-size:34px;margin-bottom:25px}.byline{font-size:13px}.interactive-tool{margin:35px 0}.interactive-tool .result>*{margin-bottom:18px}.interactive-tool .result h3{font-size:30px}.interactive-tool .result a{margin-right:20px}.interactive-tool .result{overflow-wrap:anywhere}.contact p,section>p{margin-top:24px;margin-bottom:24px}footer nav{display:flex;flex-wrap:wrap;font-size:12px;max-width:550px}.hero-stage .hero-copy{padding-bottom:25px}.hero-room img{object-fit:cover}.hero-stage .portrait-photo img{object-fit:contain}.hero-stage{min-height:800px}html{scroll-padding-top:25px}.article-grid article{min-width:0}progress{height:8px}label:has(#quizAnswer){font-size:25px}#quizAnswer{font-size:17px;margin:15px 0}.quiz-actions button{padding:14px 24px}.quiz-actions button:disabled{opacity:.4;cursor:default}a:hover{text-decoration:underline}.button:hover{filter:brightness(.9);text-decoration:none}@media(min-width:801px) and (max-width:1100px){header nav{gap:14px}.hero-stage{min-height:900px}.hero-copy{width:42%}.hero-copy h1{font-size:50px}.portrait{left:45%;width:25%}.hero-room{width:49%}}@media(max-width:800px){header{gap:10px}.language{margin-left:auto}header nav{order:3;justify-content:space-between;gap:12px}.hero-stage{min-height:0}.service-details,.article-grid{grid-template-columns:1fr}.page-heading{padding:35px 0!important}.article-part h2{font-size:29px}.service-details h2,.article-grid h2{font-size:28px}footer nav{gap:18px}.hero-copy h1{font-size:min(var(--h1),10.6vw)}.hero-stage .portrait{height:260px;width:65%}.hero-copy{padding-top:25px}.contact .button{font-size:14px}main>section{scroll-margin-top:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.static-video-hero{height:100dvh;position:relative;overflow:hidden;background:#141414;color:#efeee9}.static-video-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}.static-video-hero>div{position:absolute;left:5vw;bottom:10vh;right:5vw}.static-video-hero h1{font-size:clamp(30px,6vw,80px);margin:24px 0}.static-video-hero .button{background:#efeee9;color:#141414}

/* Final polish: readable controls and continuity across the site. */
body>footer{font-size:12px}body>footer nav a,body>footer>a{min-height:44px;display:inline-flex;align-items:center}body>header nav a{min-height:44px;display:inline-flex;align-items:center}body>header .language{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.contact-detail{padding-top:40px!important;padding-bottom:80px!important}.contact-detail>p:first-child{margin-top:0}.contact-detail .button{font-size:16px}.contact-detail>p{max-width:65ch}main>section:focus-within{opacity:1!important;transform:none!important}::selection{background:#342b25;color:#f4f1eb}input,select,textarea{caret-color:#725442}.result{font-variant-numeric:tabular-nums}h1,h2{text-wrap:balance}p{max-width:70ch}a,button{transition:color .2s,background-color .2s,opacity .2s}summary{min-height:44px}button:active,.button:active{filter:brightness(.92)}@media(prefers-reduced-motion:reduce){a,button{transition:none!important}}
