:root{--cream:#f1efe7;--ink:#252b25;--muted:#73776d;--gold:#e9bd80;--line:#d5d5c9;--sans:'DM Sans',sans-serif;--serif:'Instrument Serif',Georgia,serif;--pad:clamp(24px,5.5vw,100px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #a66a2a;outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}h1,h2,h3,p{margin:0}h2{font-family:var(--serif);font-size:clamp(46px,5.2vw,82px);font-weight:400;line-height:1.02;letter-spacing:-.035em}h2 em,h1 em{font-weight:400}p{line-height:1.7}.section-pad{padding:108px var(--pad)}.tiny-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor;flex-shrink:0}.section-marker{display:flex;gap:12px;align-items:center;font-size:10px;font-weight:600;letter-spacing:.13em;line-height:1.5}.section-marker>span:last-child:not(.tiny-dot){margin-left:auto;opacity:.5}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border:0;background:var(--gold);color:var(--ink);font-size:12px;font-weight:600;padding:18px 24px;border-radius:3px;transition:background .25s,transform .25s}.button span{font-size:22px;line-height:1}.button:hover{background:#f4cf9b;transform:translateY(-2px)}.button-light{background:var(--cream)}.button-light:hover{background:#fff}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:#3b463b}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:12px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:12px;font-weight:500;text-align:left}.text-link span{font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.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}.skip-link{position:fixed;top:-80px;left:15px;z-index:100;background:var(--cream);padding:16px}.skip-link:focus{top:12px}
/* A quiet identity over a cinematic first frame. */
.header{position:absolute;top:0;left:0;right:0;z-index:30;color:var(--cream);height:106px;display:flex;align-items:center;justify-content:space-between;margin:0 var(--pad);border-bottom:1px solid #ffffff2b}.brand{display:inline-flex;gap:10px;align-items:center;flex-shrink:0}.brand-symbol{width:31px;height:37px}.brand-name{font-size:35px;letter-spacing:-2px;line-height:.8;font-weight:550}.brand-name>span{display:block;letter-spacing:.35em;font-size:7px;line-height:1;margin-top:9px;padding-left:3px}.desktop-nav{display:flex;gap:34px;font-size:11px;font-weight:450}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;height:1px;background:currentColor;bottom:3px;left:0;width:0;transition:width .25s}.desktop-nav a:hover::after{width:100%}.nav-cta{padding:12px 19px;gap:36px}.menu-toggle,.mobile-nav{display:none}
.hero{height:260svh;min-height:1500px;background:#252b25;position:relative;color:var(--cream)}.hero-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;isolation:isolate}.hero-visual,.hero-fallback,.hero-shade,#room-canvas{position:absolute;inset:0;width:100%;height:100%}.hero-visual{z-index:-3}.hero-fallback{overflow:hidden;will-change:transform}.hero-fallback img{position:absolute;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:scale(1.07)}.hero-dusk{opacity:.55}#room-canvas{opacity:0;transition:opacity .7s}#room-canvas.ready{opacity:1}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(13,23,22,.68),rgba(13,23,22,.28) 45%,rgba(13,23,22,.07) 80%),linear-gradient(0deg,rgba(13,23,22,.7),transparent 30%,transparent 75%,rgba(13,23,22,.32));pointer-events:none}.hero-copy{position:absolute;left:var(--pad);top:clamp(160px,24vh,290px);width:85%;will-change:transform,opacity}.hero-copy .eyebrow{margin-bottom:25px;color:#e7dfd0}.hero-copy .tiny-dot{color:var(--gold)}h1{font-family:var(--serif);font-size:clamp(80px,9.4vw,160px);font-weight:400;line-height:.9;letter-spacing:-.035em;text-shadow:0 3px 32px #15242122}h1 em{color:#f0d8af}.hero-description{font-size:13px;line-height:1.8;margin:27px 0 25px;color:#e7e6de}.hero-copy .button{font-size:11px;padding:17px 22px;gap:36px}.hero-bottom{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px}.scroll-cue{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.13em}.scroll-arrow{width:35px;height:45px;border:1px solid #ffffff55;border-radius:30px;display:grid;place-items:center;font-size:18px;animation:scroll-breathe 2.6s ease-in-out infinite}.scene-caption{display:flex;gap:12px;align-items:center;font-size:8px;letter-spacing:.12em}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}.scene-divider{width:1px;height:12px;background:#ffffff60;margin:0 4px}.motion-toggle{width:34px;height:34px;border:1px solid #ffffff50;border-radius:50%;background:#20251f33;display:grid;place-items:center;color:var(--cream)}.motion-toggle:hover{background:#20251f99}.scene-copy{position:absolute;left:var(--pad);bottom:20%;opacity:0;will-change:transform,opacity;pointer-events:none}.scene-copy p{font:400 clamp(52px,6vw,96px)/1 var(--serif);letter-spacing:-.03em;margin-top:22px}.scene-copy p em{color:#f0d8af}.journey-track{position:absolute;right:var(--pad);top:43%;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:8px;letter-spacing:.12em}.journey-track i{height:112px;width:1px;background:#ffffff40;position:relative}.journey-track b{position:absolute;top:0;left:-2px;width:5px;height:18px;border-radius:2px;background:var(--gold);will-change:transform}.hero-index{position:absolute;right:var(--pad);bottom:120px;font-size:10px;letter-spacing:.12em;color:#ffffff70}
/* Editorial sections. */
.intro{padding-bottom:0}.intro-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12%;margin-top:55px;align-items:center}.intro-grid h2{font-size:clamp(54px,5.7vw,88px)}.intro-body{padding-top:20px;max-width:365px}.intro-body p:first-child{font-size:20px;line-height:1.5;margin-bottom:24px;letter-spacing:-.03em}.intro-body p:nth-child(2){font-size:13px;color:#707568;margin-bottom:25px}.specialties{margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;font-weight:550;letter-spacing:.09em}.asterisk{font-size:27px;font-weight:400;color:#8a927d}.work{padding-top:95px;padding-bottom:50px}.work-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.work-header .section-marker{margin-bottom:30px}.work-header h2{font-size:clamp(45px,4.8vw,74px)}.work-caption{font-size:12px;line-height:1.7;text-align:right;padding-bottom:5px;color:var(--muted)}.comparison{position:relative;width:100%;aspect-ratio:1376/768;overflow:hidden;background:#c9c9bc;border-radius:3px;isolation:isolate}.comparison>img,.comparison-before,.comparison-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);z-index:1}.photo-label{position:absolute;top:24px;z-index:2;background:#1d2926aa;backdrop-filter:blur(12px);color:#fff;padding:10px 14px;border-radius:2px;font-size:8px;letter-spacing:.12em;pointer-events:none}.label-before{left:24px}.label-after{right:24px;background:#f1efe7df;color:var(--ink)}.comparison-line{position:absolute;z-index:3;left:var(--split);top:0;bottom:0;width:1px;background:#fff;pointer-events:none}.comparison-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:9px;font-size:22px;box-shadow:0 4px 25px #0002}.comparison-line i{width:1px;height:14px;background:#bbbeb2}.comparison input{appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;touch-action:pan-y}.comparison:focus-within{outline:3px solid #9d713b;outline-offset:5px}.work-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;font-size:8px;letter-spacing:.09em}.work-footer p{font-size:10px;letter-spacing:0;color:var(--muted)}.work-footer>span:last-child{display:flex;align-items:center;gap:15px}.work-footer>span:last-child span{font-size:20px}.services{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:85px;padding-bottom:120px;align-items:center}.service-art{position:relative;align-self:stretch;min-height:620px;overflow:hidden;border-radius:3px}.service-art>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:90% center;max-width:none}.service-art::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#20251f99)}.art-caption{position:absolute;bottom:30px;left:28px;right:28px;color:var(--cream);z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.15em}.art-caption>span:last-child{font-size:26px}.services-copy>.section-marker{margin-bottom:30px}.services-copy h2{font-size:clamp(54px,5.4vw,84px);margin-bottom:24px}.services-copy>p{font-size:13px;color:var(--muted);max-width:300px;margin-bottom:30px}.service-row{border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:20px;padding:23px 0}.service-row>span:first-child{font-size:9px;color:var(--muted);padding-top:5px}.service-row h3{font-weight:500;font-size:16px;letter-spacing:-.03em}.service-row p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:6px;max-width:280px}.service-icon{font-size:26px;line-height:1;margin-left:auto;padding-top:3px;color:#69715e}.services-copy>.text-link{margin-top:12px;font-size:11px}
.process{background:#252e26;color:var(--cream);padding-top:90px;padding-bottom:90px}.process .section-marker{color:#d5dcc9}.process .tiny-dot{color:var(--gold)}.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:45px}.process-heading p{font-size:12px;color:#c1c6ba}.process h2 em{color:#e6c79d}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px;margin-bottom:45px}.step{border-top:1px solid #d5dcc939;padding-top:22px}.step-number{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#bbc5b6}.step-number>span{font-size:21px}.step h3{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.02em;margin:30px 0 15px}.step p{font-size:12px;color:#bbc5b6;max-width:285px}.process>.button{padding:17px 22px;font-size:11px}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding-top:100px;padding-bottom:110px}.faq h2{margin-top:35px}.questions{padding-top:12px}.questions details{border-bottom:1px solid var(--line)}.questions summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;letter-spacing:-.02em}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:24px;font-weight:400;line-height:1;transition:transform .2s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{font-size:12px;color:var(--muted);padding:0 25px 25px 0;max-width:520px}.contact{background:#e6bc85;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding-top:90px;padding-bottom:90px}.contact-copy>.section-marker{font-size:9px}.contact h2{margin-top:48px;font-size:clamp(50px,5.4vw,84px)}.contact-copy>p{margin-top:26px;font-size:13px}.contact-email{margin-top:36px;display:inline-flex;align-items:center;gap:30px;font-size:13px;border-bottom:1px solid #252b2560;padding-bottom:9px}.contact-email span{font-size:21px}.contact-form{padding-top:13px}.form-heading{font-size:17px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;letter-spacing:-.025em}.form-heading>span{font-size:25px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{margin-bottom:24px}.field label{display:block;font-size:8px;letter-spacing:.12em;margin-bottom:9px;font-weight:550}.field label span{opacity:.6;font-weight:400}.field input,.field textarea{display:block;width:100%;border:0;border-bottom:1px solid #252b2555;border-radius:0;padding:8px 0 13px;background:transparent;resize:vertical;color:var(--ink);font-size:12px;min-height:39px}.field input::placeholder,.field textarea::placeholder{color:#64604e;opacity:.9}.field input:focus,.field textarea:focus{outline:0;border-bottom:1px solid var(--ink)}.field:focus-within label{font-weight:700}.contact-form>.button{width:100%;padding:18px 22px;margin-top:3px}.form-note{font-size:10px;margin-top:12px;opacity:.7}.form-status{margin-top:17px;padding-top:16px;border-top:1px solid #252b2540;font-size:12px}.form-status .text-link{font-size:12px}.form-status textarea{width:100%;background:#f2d5af;border:1px solid #252b2555;border-radius:2px;font-size:12px;margin-top:15px;padding:10px;min-height:140px}.footer{padding:55px var(--pad) 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px}.footer .brand-symbol{width:27px}.footer .brand-name{font-size:31px}.footer-top>p{font-size:12px;line-height:1.6;color:var(--muted);margin-left:auto;margin-right:18%}.back-top{display:flex;align-items:center;gap:24px;font-size:8px;letter-spacing:.1em}.back-top span{font-size:23px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.08em;color:var(--muted)}
.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}@keyframes scroll-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1700px){.hero-copy{top:26vh}.hero-description{font-size:15px}.hero-copy .eyebrow{font-size:12px}.hero-copy .button{font-size:13px}.desktop-nav{font-size:13px}}
@media(max-width:1000px){.desktop-nav{gap:20px}.hero-copy{top:25vh}.intro-grid{gap:7%}.services{gap:7%}.service-art{min-height:600px}.steps{gap:28px}.contact{gap:5%;grid-template-columns:1fr 1fr}.contact-copy>.section-marker{font-size:8px}.scene-caption{font-size:7px}.specialties{font-size:8px}.footer-top>p{margin-right:10%}}
@media(max-width:760px){:root{--pad:24px}.section-pad{padding-top:70px;padding-bottom:70px}.header{height:87px}.brand-symbol{width:25px;height:31px}.brand-name{font-size:30px}.brand-name>span{font-size:6px}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid #ffffff55;width:42px;height:42px;border-radius:50%;padding:12px;z-index:2}.menu-toggle>span{height:1px;width:100%;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:fixed;inset:0;background:#252e26;flex-direction:column;justify-content:center;align-items:flex-start;padding:50px var(--pad);gap:30px;z-index:1;font-size:34px;font-family:var(--serif)}.header:has(.mobile-nav:not([hidden]))>.brand{position:relative;z-index:2}.hero{height:225svh;min-height:1200px}.hero-sticky{min-height:580px}.hero-copy{top:26%;width:calc(100% - 48px)}h1{font-size:clamp(59px,11.5vw,90px);line-height:.98;letter-spacing:-.04em}.hero-copy .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:27px}.hero-description{font-size:12px;margin-top:25px}.hero-copy .button{font-size:10px;gap:32px;padding:16px 19px}.hero-fallback img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#14201f99,#14201f33),linear-gradient(0deg,#14201fb3,transparent 40%,transparent 70%,#14201f55)}.journey-track{right:24px;top:auto;bottom:150px}.journey-track i{height:70px}.journey-track{font-size:7px;gap:10px}.hero-bottom{bottom:25px;align-items:flex-end}.scene-caption{display:none}.scroll-cue{font-size:8px;gap:10px}.hero-index{display:none}.scene-copy{bottom:27%}.scene-copy>.eyebrow{max-width:230px;font-size:8px;line-height:1.7}.scene-copy p{font-size:62px}.intro{padding-bottom:0}.intro-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.intro-grid h2{font-size:clamp(50px,9.5vw,72px)}.intro-body{padding-top:0;max-width:450px}.intro-body p:first-child{font-size:18px;margin-bottom:15px}.intro-body p:nth-child(2){font-size:12px;margin-bottom:15px}.specialties{margin-top:45px;gap:18px;padding:22px 0;overflow:hidden;white-space:nowrap;font-size:7px}.specialties>span:nth-last-child(-n+2){display:none}.specialties .asterisk{font-size:20px}.work{padding-top:65px;padding-bottom:35px}.work-header{display:block;margin-bottom:25px}.work-header h2{font-size:clamp(40px,7.8vw,62px)}.work-header .section-marker{margin-bottom:26px}.work-caption{font-size:11px;margin-top:20px;text-align:left}.work-caption br{display:none}.work-footer{flex-wrap:wrap;row-gap:8px;font-size:7px}.work-footer p{order:3;width:100%;font-size:9px}.comparison{aspect-ratio:1.15}.photo-label{top:14px;padding:8px;font-size:6px;letter-spacing:.05em}.label-before{left:14px}.label-after{right:14px}.comparison-line>span{width:40px;height:40px;font-size:20px}.services{grid-template-columns:1fr;gap:40px;padding-top:35px}.service-art{aspect-ratio:1.15;min-height:0;max-height:520px}.service-art>img{object-position:85% 63%}.services-copy h2{font-size:63px}.services-copy>.section-marker{margin-bottom:24px}.services-copy>p{font-size:12px;max-width:350px}.service-row p{max-width:none;font-size:12px}.service-row{gap:18px}.service-row h3{font-size:17px}.service-icon{padding-left:15px}.process-heading{display:block;margin-top:32px}.process h2{font-size:52px}.process-heading p{margin-top:25px}.process .section-marker{font-size:8px;letter-spacing:.07em}.steps{grid-template-columns:1fr;gap:35px;margin-top:40px;margin-bottom:32px}.step{padding-top:17px}.step h3{font-size:34px;margin:15px 0 10px}.step p{max-width:400px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:60px;margin-top:25px}.questions{padding-top:0}.questions summary{font-size:13px;padding:22px 0}.contact{grid-template-columns:1fr;gap:45px}.contact-copy>.section-marker{font-size:8px;letter-spacing:.08em}.contact h2{font-size:57px;margin-top:30px}.contact-copy>p{font-size:12px;margin-top:20px}.contact-email{margin-top:25px;font-size:12px}.contact-form{padding-top:0}.form-heading{font-size:18px}.field label{font-size:9px}.field input,.field textarea{font-size:16px}.form-two{gap:20px;grid-template-columns:1fr}.field{margin-bottom:23px}.form-two .field{margin-bottom:23px}.footer{padding-top:40px;padding-bottom:24px}.footer-top{flex-wrap:wrap;padding-bottom:30px;row-gap:28px}.footer-top>p{font-size:10px;margin-right:0}.back-top{width:100%;justify-content:space-between}.footer-bottom{flex-wrap:wrap;row-gap:12px;font-size:7px}.footer-bottom>span:nth-child(2){order:3;width:100%}.section-marker{font-size:8px;letter-spacing:.1em}}
/* Keep supporting information readable at every viewport size. */
.section-marker,.eyebrow,.hero-copy .eyebrow,.scroll-cue,.scene-caption,.journey-track,.specialties,.photo-label,.art-caption,.work-footer,.footer-bottom,.back-top,.field label,.contact-copy>.section-marker,.process .section-marker,.step-number,.service-row>span:first-child,.hero-index{font-size:12px}
.desktop-nav,.button,.hero-copy .button,.process>.button,.services-copy>.text-link,.text-link,.contact-email{font-size:14px}
.hero-description,.intro-body p:nth-child(2),.work-caption,.services-copy>p,.service-row p,.process-heading p,.step p,.questions details p,.contact-copy>p,.questions summary,.field input,.field textarea{font-size:16px}
.work-footer p,.form-note,.footer-top>p,.form-status{font-size:12px}
.scene-caption{letter-spacing:.06em}.form-heading{font-size:19px}
@media(max-width:1000px){.scene-caption{display:none}.desktop-nav{gap:20px}}
@media(max-width:760px){.scene-caption{display:none}.specialties{white-space:normal;gap:14px;line-height:1.6}.specialties>span:not(.asterisk){flex:1}.work-footer p{font-size:12px}.scene-copy>.eyebrow{font-size:12px}.photo-label{font-size:12px;letter-spacing:0}.intro-body p:first-child{font-size:20px}.section-marker{letter-spacing:.07em}.hero-copy .eyebrow{max-width:300px;line-height:1.6}.footer-bottom{line-height:1.7}.hero-description{max-width:300px}.contact-email{gap:15px}.form-two{gap:0}}
@media(max-width:375px){h1{font-size:clamp(46px,14.5vw,54px)}.hero-copy{top:24%}.hero-copy .eyebrow{font-size:11px}.journey-track{right:16px}.photo-label{font-size:11px}.services-copy h2{font-size:56px}.contact h2{font-size:50px}.scene-copy p{font-size:52px}.scene-copy{max-width:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.js-motion .reveal{opacity:1;transform:none;transition:none}.scroll-arrow{animation:none}.hero{height:100svh;min-height:640px}.hero-sticky{position:relative}.button,.text-link span{transition:none}#room-canvas{transition:none}.journey-track{display:none}}

/* Photo-to-film: the source and the actual playable result share the stage. */
.motion-section{background:#dedfd3;padding-top:90px;padding-bottom:70px}
.motion-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-top:32px}
.motion-heading h2{font-size:clamp(48px,5.2vw,82px)}
.motion-heading>p{font-size:16px;max-width:320px;color:#697160;padding-bottom:5px}
.motion-samples{display:flex;gap:35px;border-bottom:1px solid #252b2530;margin-top:45px;margin-bottom:42px}
.sample-tab{display:flex;gap:13px;align-items:center;position:relative;background:transparent;border:0;padding:17px 0 18px;font-size:12px;color:#777e6d}
.sample-tab>span{font-size:14px}.sample-tab::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.sample-tab[aria-selected=true]{color:var(--ink)}.sample-tab[aria-selected=true]::after{transform:scaleX(1)}
.sample-tab:hover{color:var(--ink)}.motion-stage{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,1fr) 58px minmax(0,1fr);gap:22px;align-items:center;outline-offset:10px}
.motion-story{padding-right:15px}.motion-tag{display:block;font-size:11px;letter-spacing:.09em;max-width:190px;line-height:1.7;color:#737b67}
.motion-story h3{font:400 clamp(28px,2.6vw,42px)/1.1 var(--serif);letter-spacing:-.025em;margin:26px 0 20px}
.motion-story>p{font-size:15px;line-height:1.8;color:#697160;max-width:230px}
.motion-specs{display:flex;gap:16px;flex-wrap:wrap;margin:25px 0 22px;font-size:10px;letter-spacing:.05em;color:#737b67}
.motion-specs>span+span{border-left:1px solid #252b2540;padding-left:16px}
.motion-story>.text-link{gap:15px;font-size:13px;line-height:1.5}.motion-story>.text-link span{white-space:nowrap}
.motion-source,.motion-result{margin:0;min-width:0}.motion-source figcaption,.motion-result figcaption{font-size:10px;letter-spacing:.06em;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.motion-source figcaption>span:last-child{font-size:19px}.motion-play-dot{width:6px;height:6px;border-radius:50%;background:#879071}
.motion-frame{position:relative;width:100%;aspect-ratio:9/16;background:#252e26;border-radius:4px;overflow:hidden}
.motion-frame>img,.motion-frame>video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}
.motion-source .motion-frame{box-shadow:0 10px 40px #252b250d}.video-frame{box-shadow:0 12px 38px #252b2530}
.video-frame::after{content:'';position:absolute;inset:0;border:1px solid #ffffff20;border-radius:4px;pointer-events:none}
.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:1px solid #ffffff90;background:#f1efe7e6;color:var(--ink);backdrop-filter:blur(8px);display:grid;place-items:center;padding:0;transition:background .2s,box-shadow .2s}
.film-play svg{margin-left:4px}.film-play:hover{background:#fff;box-shadow:0 0 0 7px #ffffff25}.film-play[hidden]{display:none}
.film-error{position:absolute;bottom:45px;left:12px;right:12px;background:#252e26ed;color:var(--cream);font-size:13px;line-height:1.6;padding:14px;border-radius:3px}.film-error a{display:block;text-decoration:underline;margin-top:7px}
.motion-transfer{display:flex;flex-direction:column;align-items:center;color:#68735c;padding-top:35px}.motion-transfer>span{font-size:32px;line-height:1}.motion-transfer i{width:1px;height:50px;background:#252b2530;margin:18px 0}.motion-transfer small{font-size:10px;line-height:1.6;letter-spacing:.12em;text-align:center}
.motion-footnote{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #252b2525;padding-top:22px;margin-top:35px;color:#697160}
.motion-footnote>span{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.08em}.motion-footnote p{font-size:12px}
.field select{display:block;width:100%;border:0;border-bottom:1px solid #252b2555;border-radius:0;padding:8px 25px 13px 0;background:transparent;color:var(--ink);font:inherit;font-size:16px;min-height:44px;cursor:pointer}
.field select:focus{outline:2px solid var(--ink);outline-offset:4px}
@media(min-width:1500px){.motion-stage{grid-template-columns:1fr minmax(0,310px) 70px minmax(0,310px);gap:35px}.motion-story{padding-right:45px}.motion-story>p{max-width:300px}.motion-specs{font-size:12px}.motion-source figcaption,.motion-result figcaption{font-size:12px}}
@media(max-width:1100px){.motion-stage{grid-template-columns:minmax(0,1fr) 45px minmax(0,1fr);gap:20px;max-width:730px;margin:0 auto}.motion-story{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center;padding-right:0;margin-bottom:8px}.motion-tag{grid-column:1;font-size:12px;max-width:none}.motion-story h3{grid-column:1;grid-row:2/4;margin:12px 0}.motion-story>p{grid-column:2;grid-row:1/3;max-width:none;font-size:16px}.motion-story .motion-specs{grid-column:1;grid-row:4;margin:10px 0}.motion-story .text-link{grid-column:2;grid-row:3/5;align-self:center;justify-self:start;font-size:14px}.motion-heading>p{max-width:290px}.motion-footnote>span{font-size:11px}.motion-source figcaption,.motion-result figcaption{font-size:12px}}
@media(max-width:760px){.motion-section{padding-top:65px;padding-bottom:55px}.motion-heading{display:block;margin-top:26px}.motion-heading h2{font-size:clamp(43px,8.5vw,64px)}.motion-heading>p{font-size:16px;margin-top:24px;max-width:400px}.motion-samples{gap:18px;margin-top:25px;margin-bottom:30px;justify-content:space-between}.sample-tab{gap:6px;font-size:10px;align-items:flex-start}.sample-tab>span{font-size:13px;text-align:left;line-height:1.5}.motion-stage{grid-template-columns:1fr;gap:24px;max-width:450px}.motion-story{display:block;grid-column:auto;order:0;margin-bottom:0}.motion-tag{font-size:12px;max-width:none}.motion-story h3{font-size:36px;margin:14px 0}.motion-story h3 br{display:none}.motion-story>p{font-size:16px;max-width:none}.motion-story .motion-specs{font-size:12px;margin:18px 0 10px}.motion-story>.text-link{font-size:14px;margin-bottom:8px}.motion-source{order:1;display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:center}.motion-source figcaption{grid-column:2;grid-row:1;display:block;font-size:12px;line-height:1.7;margin:0;max-width:150px}.motion-source figcaption>span:last-child{display:block;font-size:25px;margin-top:12px}.motion-source .motion-frame{grid-column:1;grid-row:1;max-height:200px}.motion-transfer{display:none}.motion-result{order:2}.motion-result figcaption{font-size:12px;margin-bottom:12px}.motion-result .motion-frame{max-height:650px;aspect-ratio:9/16;width:100%}.motion-result video{object-fit:contain;background:#252e26}.film-play{width:74px;height:74px}.motion-footnote{display:block;margin-top:28px;padding-top:20px}.motion-footnote>span{font-size:12px;letter-spacing:.04em;line-height:1.6}.motion-footnote>p{font-size:12px;margin-top:12px}}
@media(max-width:375px){.motion-heading h2{font-size:42px}.motion-samples{gap:10px}.sample-tab{display:block;font-size:12px}.sample-tab>span{display:block;font-size:12px;margin-top:6px}.motion-source{grid-template-columns:95px 1fr}.motion-story h3{font-size:32px}}
.motion-tag,.motion-specs,.motion-source figcaption,.motion-result figcaption,.motion-transfer small,.motion-footnote>span{font-size:12px}

/* Four service overview and the three interactive before/after demonstrations. */
.services-copy .service-row{color:inherit;text-decoration:none;transition:color .2s}
.services-copy .service-row:hover{color:#795f39}
.services-copy .service-icon{transition:transform .2s}
.services-copy .service-row:hover .service-icon{transform:translate(3px,-3px)}
.compare-tabs{display:flex;gap:38px;border-bottom:1px solid var(--line);margin:-4px 0 28px}
.compare-tab{position:relative;display:flex;gap:12px;align-items:center;border:0;background:transparent;color:#6b7266;padding:15px 0 18px;font-size:12px;white-space:nowrap}
.compare-tab span{font-size:14px}.compare-tab::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.compare-tab[aria-selected=true]{color:var(--ink)}.compare-tab[aria-selected=true]::after{transform:scaleX(1)}
.comparison{aspect-ratio:3/2}.comparison.lighting-comparison{aspect-ratio:1376/768}
.comparison-after.color-graded{filter:brightness(1.035) contrast(1.13) saturate(1.2) sepia(.075)}

/* The supplied 30-second film is presented as one complete showreel. */
.showreel-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12%;align-items:center;margin:58px auto 0;max-width:1180px}
.showreel-story{max-width:390px}.showreel-story h3{font:400 clamp(38px,4vw,64px)/1.02 var(--serif);letter-spacing:-.03em;margin:28px 0 23px}.showreel-story>p{font-size:16px;line-height:1.8;color:#697160}.showreel-story .text-link{margin-top:10px;font-size:14px}
.showreel-figure{margin:0;min-width:0}.showreel-figure figcaption{font-size:12px;letter-spacing:.06em;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.showreel-frame{position:relative;width:100%;aspect-ratio:1708/1920;background:#252e26;border-radius:4px;overflow:hidden}.showreel-frame video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#252e26}
.film-loading{position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);text-align:center;color:#fff;background:#252e26e8;padding:17px 14px;border-radius:4px;font-size:14px;line-height:1.5;pointer-events:none}.film-loading[hidden],.film-error[hidden]{display:none}
@media(max-width:760px){.compare-tabs{gap:18px;justify-content:space-between;margin-bottom:24px}.compare-tab{gap:7px;font-size:12px}.compare-tab span{font-size:13px}.showreel-layout{grid-template-columns:1fr;gap:35px;margin-top:40px}.showreel-story h3{font-size:46px;margin:18px 0}.showreel-story>p{font-size:16px}.showreel-story .motion-specs{margin:20px 0 10px}.showreel-frame{max-height:none}.showreel-figure figcaption{font-size:12px}}
@media(max-width:375px){.compare-tabs{gap:8px}.compare-tab{display:block;text-align:left;font-size:12px}.compare-tab span{display:block;font-size:12px;margin-top:4px}.showreel-story h3{font-size:40px}}

/* Center section content while retaining fluid, comfortable mobile gutters. */
:root{--pad:max(clamp(30px,7.5vw,120px),calc((100vw - 1120px)/2))}
@media(max-width:760px){
  :root{--pad:clamp(26px,7vw,40px)}
  .hero-copy{width:calc(100% - 2 * var(--pad))}
  .journey-track{right:var(--pad)}
}
@media(max-width:375px){.scene-copy{max-width:calc(100% - 2 * var(--pad))}}

/* Each service has its own visible showcase and independently controlled comparison. */
.service-showcase{padding-top:105px;padding-bottom:105px}
.service-showcase .work-header{margin-bottom:38px}
.service-showcase .work-caption{max-width:310px;font-size:16px}
.service-showcase .showcase-cta{margin-top:28px;font-size:14px}
.service-showcase .section-marker>span:last-child{white-space:nowrap;flex-shrink:0}
.work-lighting{background:#252e26;color:var(--cream)}
.work-lighting .work-caption,.work-lighting .work-footer p{color:#c1c6ba}
.work-lighting h2 em{color:#e6c79d}
.work-furniture{background:#dedfd3}
@media(max-width:760px){.service-showcase{padding-top:70px;padding-bottom:70px}.service-showcase .work-header{margin-bottom:28px}.service-showcase .work-caption{max-width:420px;font-size:16px}.service-showcase .showcase-cta{margin-top:24px}}
