@font-face{font-family:EpureSerif;src:url('assets/serif.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f5ef;color:#292e29;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0}img{display:block;width:100%;object-fit:cover}p{margin:0 0 1.25em}h1,h2,h3{font-weight:400;margin:0;line-height:1.12}h1,h2{font-family:EpureSerif,Georgia,'Times New Roman',serif;letter-spacing:-.045em}h1{font-size:clamp(66px,6.5vw,108px)}h2{font-size:clamp(40px,4.1vw,66px)}h3{font-size:21px;letter-spacing:-.025em}h1 em,h2 em{font-weight:400;color:#81745c}em{font-family:Georgia,'Times New Roman',serif}a,button,input,select,textarea,summary{outline-offset:6px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #806543}::selection{background:#ded3bc}.skip{position:fixed;z-index:99;top:-70px;left:20px;background:#292e29;color:white;padding:12px 20px}.skip:focus{top:10px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;line-height:1.7;margin-bottom:25px}.header{height:101px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d4ca;background:#f7f5eff5;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-family:Georgia,serif;font-size:40px;letter-spacing:.13em;line-height:1.1}.brand span{display:block;font:8px/1.6 Arial,sans-serif;letter-spacing:.22em;padding-left:3px;margin-top:5px}.header nav{display:flex;align-items:center;gap:34px;font-size:12px}.header nav>a{position:relative}.header nav>a:not(.nav-cta):after{content:'';position:absolute;height:1px;bottom:-5px;left:0;right:100%;background:#292e29;transition:right .25s}.header nav>a:hover:after{right:0}.nav-cta{border:1px solid #454c43;padding:12px 20px}.nav-cta span{margin-left:23px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.96fr 1.04fr;padding:0 3% 0 5%;gap:20px;background:#f4f1e9;position:relative}.hero-copy{padding-top:77px;position:relative;z-index:1}.tiny-line{display:inline-block;width:24px;height:1px;background:#7d765e;vertical-align:middle;margin-right:10px}.hero .eyebrow{font-size:9px}.intro{font-size:19px;line-height:1.6;margin:30px 0 18px}.hero-description{max-width:400px;font-size:14px;color:#60645a}.actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin:30px 0 0}.button{padding:17px 23px;display:inline-flex;align-items:center;gap:30px;font-size:12px;line-height:1.5;transition:background .25s,transform .25s}.button span{font-size:20px;line-height:1}.dark{background:#2c332c;color:#fff}.dark:hover{background:#4a5647;transform:translateY(-2px)}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #a5a897;padding-bottom:5px;transition:gap .25s}.text-link:hover{gap:30px}.demo-note{font-size:10px;color:#73766c;margin-top:30px}.hero-story{margin-top:145px;max-width:440px;padding-bottom:85px}.hero-story h2{font-size:44px;margin-bottom:25px}.hero-story p:not(.eyebrow){font-size:14px;color:#60645a;max-width:350px}.story-index{display:flex;flex-direction:column;font-size:10px;letter-spacing:.04em;gap:8px;border-left:1px solid #b7ac97;padding-left:18px;margin-top:30px}.model-column{position:relative;min-width:0}.model-sticky{position:sticky;top:125px;padding-top:25px}.model-top{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.11em;color:#646c5e;padding:0 18px}.live-label{display:flex;align-items:center;gap:6px}.live-label i{width:5px;height:5px;border-radius:50%;background:#78866a}.model-viewport{position:relative;height:480px;max-height:59vh;margin-top:10px;background:radial-gradient(ellipse at 50% 55%,#e9e4d9 0%,#f4f1e9 70%);overflow:hidden}.model-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.model-viewport canvas{display:block;width:100%;height:100%;position:relative;z-index:1;opacity:0;transition:opacity .4s}.model-viewport.ready canvas{opacity:1}.model-viewport.ready .model-fallback{visibility:hidden}.model-tag{position:absolute;bottom:20px;left:25px;font-size:7px;letter-spacing:.13em;color:#777b6f;z-index:2}.compass{position:absolute;right:25px;bottom:16px;text-align:center;font-size:9px;color:#727966;line-height:1.7;z-index:2}.model-caption{border-top:1px solid #cfcbbc;display:flex;justify-content:space-between;align-items:center;padding:22px 5px 15px}.model-caption .eyebrow{font-size:8px;margin:0 0 4px}.model-caption p{font-family:Georgia,serif;font-size:21px;margin:0}.model-caption button{background:none;font-size:9px;padding:8px}.scene-controls{display:flex;border:1px solid #c6c3b6}.scene-controls button{background:none;flex:1;padding:12px 4px;font-size:9px;transition:background .2s}.scene-controls button[aria-pressed=true]{background:#e2ddcf}.scene-controls button:hover{background:#e9e4d8}.scroll-hint{font-size:9px;color:#73776b;display:flex;justify-content:space-between;margin-top:12px}.statement{display:flex;justify-content:space-between;padding:26px 6%;font-size:9px;letter-spacing:.16em;border-top:1px solid #d7d2c4;border-bottom:1px solid #d7d2c4;background:#eeeadf}.section{padding:110px 6%;max-width:1600px;margin:0 auto}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:40px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:375px;color:#64675f;font-size:14px}.disclosure{font-size:10px;color:#74786d;margin-bottom:25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 30px}.project-card{padding:0;background:transparent;text-align:left}.project-main{grid-column:1/-1}.photo-wrap{position:relative;overflow:hidden}.photo-wrap img{height:340px;transition:transform .8s}.project-main .photo-wrap img{height:570px}.project-card:hover img{transform:scale(1.025)}.photo-tag{position:absolute;left:24px;top:24px;padding:7px 11px;background:#f5f3eceb;color:#30392d;font-size:8px;letter-spacing:.12em}.round-arrow{position:absolute;bottom:22px;right:22px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f7f5ef;font-size:23px;transition:transform .3s}.project-card:hover .round-arrow{transform:rotate(45deg)}.project-meta{padding:20px 0 0;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.project-meta h3{font-family:Georgia,serif;font-size:25px}.project-meta p{font-size:10px;color:#686e62;margin:5px 0 0}.project-card:not(.project-main) .project-meta{display:block}.transformation{background:#ebe7dd;max-width:none;padding-top:90px;padding-bottom:70px}.small{font-size:11px!important;color:#707667!important;margin-top:17px}.comparison{position:relative;aspect-ratio:3/2;width:100%;max-height:680px;overflow:hidden;--split:50%;isolation:isolate}.comparison>img,.comparison-before,.comparison-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;top:25px;font-size:9px;padding:8px 14px;background:#f8f6eef0;letter-spacing:.15em;z-index:2}.label-before{left:25px}.label-after{right:25px}.compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;pointer-events:none}.compare-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;width:56px;height:56px;background:#f7f5ef;color:#292e29;display:grid;place-items:center;font-size:19px;box-shadow:0 2px 12px #0002}.comparison input{position:absolute;width:100%;height:100%;inset:0;margin:0;opacity:0;cursor:ew-resize;z-index:3;touch-action:pan-y}.comparison:focus-within{outline:3px solid #534d35;outline-offset:5px}.compare-help{text-align:center;font-size:10px;margin:17px 0 0;color:#62695c}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px}.steps article{padding-top:22px;border-top:1px solid #cecdbf}.steps article>span{font-family:Georgia,serif;font-size:27px;color:#9c8f73;display:block;margin-bottom:30px}.steps h3{font-size:18px;margin-bottom:16px}.steps p{font-size:13px;color:#646b5d;max-width:270px}.expertise{display:grid;grid-template-columns:1fr 1fr;background:#30382e;color:#eeeede}.expertise-photo{position:relative;min-height:750px;overflow:hidden}.expertise-photo img{height:100%;position:absolute;object-position:35%}.expertise-photo>span{position:absolute;bottom:35px;left:35px;color:#fff;font-size:9px;letter-spacing:.15em;text-shadow:0 1px 4px #000;background:#292e2980;padding:10px}.expertise-copy{padding:80px 12%}.expertise-copy h2{margin-bottom:40px;font-size:52px}.expertise-copy h2 em{color:#c3b497}.expertise-copy article{border-top:1px solid #68705f;display:flex;gap:25px;padding:24px 0}.expertise-copy article>span{font-size:10px;color:#c2b598;padding-top:5px}.expertise-copy h3{font-size:18px;margin-bottom:12px}.expertise-copy p{font-size:13px;color:#ced1c4;margin-bottom:0}.expertise-copy>.eyebrow{font-size:9px;margin-bottom:25px}.light{margin-top:20px;color:#eff0e5}.agency{padding-top:130px;padding-bottom:130px}.agency-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.agency-grid h2{font-size:52px;line-height:1.2}.agency-grid p{font-size:14px;color:#62695c}.agency-grid .large-copy{font:24px/1.4 Georgia,serif;color:#313b2d;margin-bottom:25px}.agency-grid .agency-disclosure{font-size:10px;line-height:1.7;margin-top:28px;padding-top:20px;border-top:1px solid #d5d4c7;color:#757b6d}.faq{background:#edeae1;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;max-width:none}.faq h2{margin-bottom:25px}.faq>div>p:not(.eyebrow){font-size:13px;color:#656c5e}.faq-list details{border-top:1px solid #c7c8ba}.faq-list details:last-child{border-bottom:1px solid #c7c8ba}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;cursor:pointer;font-size:14px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:300;transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:13px;color:#5e6657;padding-right:25px;padding-bottom:12px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-intro h2{font-size:58px;margin-bottom:28px}.contact-intro>p:not(.eyebrow){max-width:290px;color:#656c5e}.form-notice{font-size:11px;background:#eae6db;padding:20px;border-left:2px solid #948566;margin-top:40px;max-width:330px}.form-notice p{margin:7px 0 0}.form-required{font-size:10px;color:#6d7464;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.field{min-width:0}.field label{display:block;font-size:11px;margin-bottom:9px}.field input,.field select,.field textarea{border:1px solid #c7c9bb;background:#fbfaf6;border-radius:0;padding:13px 12px;color:#30392d;width:100%;min-height:47px;font-size:12px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#797d70}.field.full{grid-column:1/-1}.error{display:block;font-size:11px;color:#8c3427;margin-top:5px}.field [aria-invalid=true]{border-color:#9b3f30}.submit{width:100%;justify-content:space-between;margin-top:25px}.submit:hover{transform:none}#form-result:not(:empty){padding:20px;background:#e1e7d9;border-left:3px solid #53684a;margin-top:20px;font-size:13px}#form-result.error-summary{background:#f1e3dc;border-color:#9b3f30}footer{background:#e7e3d8;padding:50px 6% 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:45px}.footer-top p{font:21px/1.5 Georgia,serif;margin:0}.footer-bottom{border-top:1px solid #c4c6b5;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#646d5b}.footer-bottom button{background:none;font-size:9px;padding:0;border-bottom:1px solid #a5ad99}dialog{border:0;padding:0;width:min(940px,92vw);max-height:90vh;background:#f7f5ef;color:#292e29;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#182016bc;backdrop-filter:blur(5px)}.dialog-content{padding:50px}.dialog-content h2{font-size:46px;margin-bottom:20px}.dialog-content>p:not(.eyebrow){font-size:14px;color:#656c5e}.dialog-close{position:sticky;display:block;top:12px;left:calc(100% - 55px);width:40px;height:40px;margin-bottom:-40px;background:#f7f5ef;box-shadow:0 0 0 1px #c4c6b5;font-size:28px;z-index:2}.gallery{margin:30px 0}.gallery img{aspect-ratio:3/2}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding-top:15px}.gallery-controls button{width:42px;height:42px;background:#e8e5da;border:1px solid #bdbfaf}.gallery-controls span{font-size:11px}#project-details{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:30px 0}#project-details h3{font-size:15px;margin-bottom:15px}#project-details p{font-size:12px;color:#656c5e}.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1450px){.hero{padding-left:max(6%,calc((100vw - 1420px)/2));padding-right:max(4%,calc((100vw - 1420px)/2));}.model-viewport{height:560px}.hero-copy{padding-top:95px}.hero-story{margin-top:160px}}
@media(max-width:1050px){.header nav{gap:20px}.hero-copy{padding-top:55px}.hero .eyebrow{font-size:8px}h1{font-size:73px}.model-viewport{height:420px}.hero-story{margin-top:110px}.section{padding:80px 5%}.section-heading{gap:35px}.project-main .photo-wrap img{height:470px}.photo-wrap img{height:290px}.expertise-copy{padding:60px 9%}.expertise-copy h2{font-size:43px}.agency-grid h2{font-size:45px}.contact{gap:45px}.contact-intro h2{font-size:48px}.form-grid{gap:19px}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{height:80px;padding:0 6%}.brand{font-size:31px}.brand span{font-size:6px}.menu-toggle{display:flex;align-items:center;gap:15px;background:transparent;padding:12px 0;font-size:12px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#f7f5ef;border-bottom:1px solid #d8d4ca;padding:25px 6%;align-items:stretch;gap:20px;box-shadow:0 10px 20px #0001}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:10px;font-size:14px}.header nav .nav-cta{display:flex;justify-content:space-between}.hero{display:flex;flex-direction:column;padding:0 6%;gap:0}.hero-copy{padding-top:40px}.hero .eyebrow{font-size:8px;margin-bottom:23px}h1{font-size:clamp(60px,14vw,90px);line-height:1.03}.intro{font-size:17px;margin-top:26px}.hero-description{font-size:13px;max-width:370px}.actions{gap:18px;margin-top:23px}.button{padding:15px 20px}.demo-note{font-size:9px;margin:22px 0 15px}.hero-story{display:none}.model-column{margin:10px -3% 15px}.model-sticky{position:relative;top:0;padding-top:12px}.model-top{font-size:7px;padding:0 10px}.model-viewport{height:350px;max-height:none;margin-top:0}.model-caption{padding:15px 4px 10px}.model-caption .eyebrow{margin-bottom:5px;font-size:7px}.model-caption p{font-size:19px}.model-caption button{font-size:8px}.model-tag{left:10px;bottom:15px;font-size:6px}.compass{bottom:12px;right:15px}.scene-controls button{font-size:8px;padding:11px 2px}.scroll-hint{font-size:8px}.statement{padding:20px 6%;gap:18px;font-size:7px;letter-spacing:.08em}.statement span:last-child{display:none}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:13px;margin-top:25px}.eyebrow{font-size:8px;margin-bottom:20px}.disclosure{font-size:9px}.project-grid{display:block}.project-card{display:block;width:100%;margin-bottom:35px}.project-card:last-child{margin-bottom:0}.project-main .photo-wrap img,.photo-wrap img{height:300px}.project-meta{display:block;padding-top:16px}.project-meta h3{font-size:25px}.photo-tag{left:15px;top:15px;font-size:7px}.round-arrow{bottom:15px;right:15px}.comparison{aspect-ratio:1.15}.comparison img{object-position:50%}.compare-label{top:14px;padding:6px 10px;font-size:8px}.label-before{left:14px}.label-after{right:14px}.compare-line span{width:44px;height:44px}.compare-help{font-size:9px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.steps article>span{font-size:25px;margin-bottom:18px}.steps h3{font-size:16px;line-height:1.25;min-height:40px}.steps p{font-size:12px}.expertise{display:flex;flex-direction:column}.expertise-photo{min-height:380px}.expertise-photo>span{font-size:7px;left:20px;bottom:20px}.expertise-copy{padding:55px 6%}.expertise-copy h2{font-size:44px}.agency-grid{display:block}.agency-grid h2{font-size:40px;margin-bottom:35px}.agency-grid .large-copy{font-size:23px}.faq{display:block}.faq>div>p{margin-bottom:30px}.faq-list summary{font-size:13px;padding:22px 0}.contact{display:block}.contact-intro h2{font-size:47px}.contact-intro h2 br:nth-child(2){display:none}.form-notice{max-width:none;margin:25px 0 35px}.form-grid{gap:20px 15px}.field label{font-size:10px}.field input,.field select,.field textarea{font-size:16px;padding:12px 8px}.field select{font-size:13px}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:30px}.footer-top p{font-size:17px}.footer-top .text-link{font-size:10px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:13px;font-size:8px}.dialog-content{padding:45px 20px 30px}.dialog-content h2{font-size:34px}.dialog-content .eyebrow{padding-right:25px}.dialog-content>p:not(.eyebrow){font-size:13px}#project-details{display:block}#project-details article{margin-bottom:24px}#project-details p{font-size:13px}.dialog-close{top:8px;left:calc(100% - 48px)}.reveal{transform:translateY(8px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.model-viewport canvas{display:none}.model-viewport.ready .model-fallback{visibility:visible}}
/* Text contrast adjustments verified against the warm backgrounds. */
.demo-note,.model-tag,.scroll-hint,.disclosure,.agency-grid .agency-disclosure,.form-required{color:#62695c}.small{color:#62695c!important}.steps article>span{color:#897b61}.footer-bottom{color:#58624f}.field input::placeholder,.field textarea::placeholder{color:#656d5c}
/* Photographic construction sequence */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#photo-view[hidden],#model-view[hidden]{display:none}.construction-sticky{top:109px;padding:20px 0 30px}.visual-modes{display:flex;gap:24px;border-bottom:1px solid #cfcbbc;margin-bottom:20px}.visual-modes button{background:none;font-size:11px;padding:9px 0 13px;position:relative;color:#62695c;min-height:44px}.visual-modes button[aria-pressed=true]{color:#292e29}.visual-modes button[aria-pressed=true]:after{content:'';height:2px;background:#292e29;position:absolute;left:0;right:0;bottom:-1px}.construction-top{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.13em;margin-bottom:12px;color:#62695c}.construction-visual{position:relative;aspect-ratio:3/2;isolation:isolate;overflow:hidden;background:#e5e0d4}.construction-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.construction-frame{opacity:0;will-change:mask-image,opacity}.frames-ready .construction-base{visibility:hidden}.construction-badge{position:absolute;top:16px;left:16px;z-index:3;background:#f7f5eff0;padding:6px 10px;font-size:8px;letter-spacing:.14em}.construction-count{position:absolute;bottom:14px;right:16px;z-index:3;background:#292e29dc;color:#fff;padding:7px 12px;display:flex;gap:8px;align-items:baseline;font-size:11px}.construction-count>span:first-child{font-family:Georgia,serif;font-size:24px}.construction-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:22px 0 12px;min-height:60px}.hero .construction-caption .eyebrow{font-size:8px;margin:0 0 6px}.construction-caption h2{font-size:28px;letter-spacing:-.035em}.construction-caption button{background:#30382e;color:#fff;padding:12px 13px;font-size:10px;min-height:44px;white-space:nowrap}.construction-caption button:hover{background:#4a5647}.construction-caption button span{margin-right:5px}.construction-description{font-size:12px;line-height:1.6;min-height:39px;max-width:480px;margin:0;color:#60645a}#construction-range{display:block;width:100%;margin:12px 0 0;height:30px;accent-color:#66563c;cursor:ew-resize}.construction-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid #cfcbbc}.construction-steps button{background:none;padding:7px 2px 12px;font-size:9px;text-align:left;color:#62695c;min-height:55px;border-top:2px solid transparent}.construction-steps button span{display:block;font-size:8px;margin-bottom:2px;color:#62695c}.construction-steps button[aria-pressed=true]{border-color:#66563c;color:#292e29;background:#e8e2d5}.construction-steps button:hover{background:#eae6db}.construction-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px}.construction-bottom button{padding:10px 0;background:none;font-size:10px;min-height:44px;white-space:nowrap}.construction-bottom button[aria-pressed=true]{color:#5b4a2c}.construction-bottom p{margin:0;font-size:9px;color:#62695c;text-align:right}.construction-disclaimer{font-size:8px;color:#62695c;margin:0}.construction-sticky button:disabled{opacity:.55;cursor:default}
@media(max-width:1050px) and (min-width:761px){.construction-caption{display:block}.construction-caption button{margin-top:12px}.construction-caption h2{font-size:26px}.construction-steps button{font-size:8px}.construction-bottom{align-items:flex-start;flex-direction:column;gap:0}.construction-bottom p{text-align:left;margin-bottom:8px}}
@media(max-width:760px){.construction-sticky{top:0;padding:12px 0 25px}.visual-modes{gap:24px;margin-bottom:16px}.visual-modes button{font-size:11px}.construction-top{font-size:7px;letter-spacing:.09em}.construction-caption{display:block;margin:18px 0 10px}.hero .construction-caption .eyebrow{margin-bottom:6px}.construction-caption h2{font-size:28px}.construction-caption button{margin-top:14px;font-size:11px;padding:12px 16px}.construction-description{font-size:12px;min-height:40px}.construction-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.construction-steps button{padding:8px 7px;font-size:11px;min-height:50px}.construction-steps button span{font-size:8px}.construction-bottom{align-items:flex-start;flex-direction:column;gap:0}.construction-bottom p{text-align:left;margin-bottom:10px;font-size:10px}.construction-disclaimer{font-size:8px}.construction-badge{top:12px;left:12px;font-size:7px}.construction-count{bottom:10px;right:12px;padding:5px 9px}.construction-count>span:first-child{font-size:19px}}
@media(prefers-reduced-motion:reduce){.construction-frame{will-change:auto}}
/* Individually animated construction components in the primary WebGL view. */
.visual-modes #view-model{order:-1}.model-viewport{height:510px;max-height:62vh}.model-caption p{font-family:EpureSerif,Georgia,serif;font-size:28px}.model-caption button{background:#30382e;color:#fff;min-height:44px;padding:12px 17px;font-size:11px;white-space:nowrap}#scene-range{width:100%;height:30px;display:block;margin:0 0 8px;accent-color:#66563c;cursor:ew-resize}.scene-controls button{min-height:46px;font-size:10px}.scene-tools{display:flex;justify-content:space-between;gap:15px}.scene-tools button{min-height:44px;background:none;padding:8px 0;font-size:11px}.scene-tools button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}.scene-tools[hidden],#scene-range[hidden]{display:none}.scroll-hint{margin-top:0;font-size:10px}.model-top{padding:0;font-size:8px}
@media(max-width:760px){.model-viewport{height:370px;max-height:none}.model-caption p{font-size:24px}.model-caption button{font-size:10px;padding:10px 13px}.scene-controls{display:grid;grid-template-columns:repeat(3,1fr)}.scene-controls button{font-size:11px}.model-top{font-size:7px}.scroll-hint{font-size:10px;line-height:1.7}}
/* Shared controls for the construction presentation. */
.construction-visual .construction-frame{will-change:auto}.visual-modes #view-model{order:0}.construction-top{letter-spacing:.08em}.construction-badge,.construction-count{z-index:3}
/* Camera-matched solid construction: the background never moves with a material. */
.extension-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2}
.construction-visual .construction-foreground{z-index:3;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 59.9%,#000 64.4%);-webkit-mask-image:linear-gradient(to bottom,transparent 59.9%,#000 64.4%)}
.construction-badge,.construction-count{z-index:4}
.static-construction .extension-canvas,.static-construction .construction-foreground{display:none}
@media(min-width:1100px){.hero{grid-template-columns:.77fr 1.23fr;gap:35px}.hero h1{font-size:clamp(65px,6.5vw,96px)}.hero-copy{padding-top:70px}.hero-story{margin-top:95px}.construction-caption h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.extension-canvas,.construction-foreground{display:none!important}}
.construction-visual .construction-final{z-index:3;pointer-events:none;opacity:0;transition:opacity .6s ease}
.static-construction .construction-final{display:none}
@media(prefers-reduced-motion:reduce){.construction-final{display:none!important}}
