@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/libre-caslon-display-400.woff2) format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/albert-sans-400.woff2) format('woff2')}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/albert-sans-500.woff2) format('woff2')}
@font-face{font-family:'Caslon Fallback';src:local('Georgia');size-adjust:82.81%;ascent-override:117.14%;descent-override:32.12%;line-gap-override:0%}
@font-face{font-family:'Albert Fallback';src:local('Arial');size-adjust:104.29%;ascent-override:91.09%;descent-override:23.97%;line-gap-override:0%}
:root{
  --paper:#faf7f0;--stone:#f0ebdf;--bar:#f7f3ea;--bar-line:#e3dccc;--ink:#1b1c1f;--muted:#555a5f;--line:#d9d3c5;
  --glow:#f2cf8a;--brass-text:#6f5527;--red:#c4121a;--dark:#2b2724;
  --serif:'Libre Caslon Display','Caslon Fallback','Iowan Old Style',Georgia,serif;
  --sans:'Albert Sans','Albert Fallback',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);
  --gut:clamp(20px,4vw,64px);--hdr:80px;--radius:4px;
  --step--1:clamp(.875rem,.85rem + .1vw,.9375rem);
  --step-0:clamp(1rem,.96rem + .15vw,1.0625rem);
  --step-1:clamp(1.375rem,1.2rem + .5vw,1.625rem);
  --step-2:clamp(1.75rem,1.4rem + .9vw,2.25rem);
  --step-3:clamp(1.75rem,1.3rem + 1.5vw,2.625rem);
  --step-4:clamp(2.375rem,1.5rem + 3.2vw,4.25rem);
  --space-s:clamp(16px,1vw + 10px,24px);
  --space-m:clamp(24px,2vw + 12px,44px);
  --space-l:clamp(36px,3vw + 16px,64px);
  --space-section:clamp(56px,4vw + 40px,104px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.65 var(--sans)}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brass-text);outline-offset:4px}
.hero a:focus-visible,.frame:focus-visible,.footer a:focus-visible{outline-color:#f6dfa8}
.footer a:focus-visible{outline-color:var(--brass-text)}
img{width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;text-wrap:balance}
h1{font-size:var(--step-4);letter-spacing:-.012em}
h2{font-size:var(--step-3);letter-spacing:-.01em}
h3{font-size:var(--step-1);letter-spacing:-.005em}
p{max-width:62ch;text-wrap:pretty}
.wrap{width:min(1240px,calc(100% - var(--gut)*2));margin:auto}
.eyebrow{display:block;font-size:var(--step--1);font-weight:500;color:var(--brass-text);margin-bottom:14px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border:1px solid currentColor;background:transparent;color:inherit;font-size:.9375rem;font-weight:500;border-radius:var(--radius);transition:background-color .25s,color .25s,border-color .25s}
.button.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.button.solid:hover{background:#3a3c41;border-color:#3a3c41}
.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.9375rem;font-weight:500;transition:opacity .2s}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:12px}
.skip:focus{top:12px}


.header{height:var(--hdr);position:sticky;top:0;z-index:50;background:var(--bar);color:var(--ink);border-bottom:1px solid var(--bar-line)}
.header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - var(--gut)*2)}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand-logo{height:60px;width:auto;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:.9375rem;font-weight:500}
.desktop-nav>a:not(.button){position:relative;padding:8px 0}
.desktop-nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.desktop-nav>a[aria-current=page]:after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.desktop-nav>a:not(.button):hover:after{transform:scaleX(1)}}
.header .button{min-height:44px;padding:9px 22px;background:var(--red);border-color:var(--red);color:#fff}
.header .button:hover{background:#a50e15;border-color:#a50e15}
.menu-toggle{display:none;border:0;background:none;color:inherit;padding:14px 10px}
.menu-lines{display:block;width:26px;height:12px;border-top:2px solid;border-bottom:2px solid}
.mobile-nav{display:none}


.hero{position:relative;display:flex;align-items:flex-end;height:calc(78vh - var(--hdr));height:calc(78svh - var(--hdr));min-height:480px;max-height:760px;overflow:hidden;background:var(--dark);color:#fff}
.hero-photo{position:absolute;inset:0;transform:scale(1.1);animation:settle 2.4s var(--ease-out) forwards}
.hero-photo picture{display:block;height:100%}
.hero-photo img{position:absolute;inset:0;height:100%;object-position:center 55%}
.hero-photo img.hero-homeHero,.hero-photo img.hero-lightingHeroExterior{object-position:58% max(100%,-2.1vw)}
.hero-photo img.hero-shadesHero{object-position:50% 40%}
.hero-photo img.hero-haHero{object-position:30% 50%}
.hero-photo img.hero-aboutHero{object-position:50% 45%}

.hero-shade{--txt:max(var(--gut),(100% - 1240px)/2);position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,14,.86) 0%,rgba(20,17,14,.5) 36%,rgba(20,17,14,.08) 70%),linear-gradient(90deg,rgba(20,17,14,.5) 0,rgba(20,17,14,.42) calc(var(--txt) + 480px),rgba(20,17,14,0) calc(var(--txt) + 1100px))}

.hero.day .hero-shade{background:linear-gradient(90deg,rgba(20,17,14,.72) 0,rgba(20,17,14,.68) calc(var(--txt) + 500px),rgba(20,17,14,.53) calc(var(--txt) + 640px),rgba(20,17,14,.37) calc(var(--txt) + 780px),rgba(20,17,14,.22) calc(var(--txt) + 920px),rgba(20,17,14,.1) calc(var(--txt) + 1060px),rgba(20,17,14,.03) calc(var(--txt) + 1200px),rgba(20,17,14,0) calc(var(--txt) + 1320px)),linear-gradient(0deg,rgba(20,17,14,.22) 0%,rgba(20,17,14,0) 30%)}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 70% at 88% 4%,rgba(255,214,150,.38),rgba(255,214,150,0) 70%);mix-blend-mode:screen;opacity:0;animation:fadein 3s ease-out .5s forwards}
.hero-content{position:relative;z-index:2;padding-bottom:clamp(32px,7vh,72px)}
.hero h1{max-width:820px;margin-bottom:20px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.06em}
.hero h1 .ln>span{display:block;transform:translateY(106%);animation:rise 1.2s var(--ease-out) .15s forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.32s}
.hero h1 .ln:nth-child(3)>span{animation-delay:.48s}
.hero p{font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);color:#f3eee3;max-width:34rem;margin-bottom:26px;opacity:0;animation:fadein 1s ease-out .85s forwards}

.hero .button{min-height:44px;padding:9px 20px;font-size:var(--step--1);background:rgba(255,255,255,.1);color:#f3eee3;border:1px solid rgba(243,238,227,.8);border-radius:var(--radius);transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out);opacity:0;animation:fadein 1s ease-out 1.05s forwards}
.hero .button:focus-visible{background:rgba(255,255,255,.2);border-color:#f3eee3}
@media(hover:hover) and (pointer:fine){.hero .button:hover{background:rgba(255,255,255,.2);border-color:#f3eee3}}
.where{position:absolute;z-index:2;right:var(--gut);bottom:clamp(32px,7vh,72px);margin:0;font-size:var(--step--1);color:#f3eee3;text-align:right;opacity:0;animation:fadein 1.2s ease-out 1.4s forwards}
@keyframes settle{to{transform:scale(1)}}
@keyframes rise{to{transform:none}}
@keyframes fadein{to{opacity:1}}


.daylight{position:relative;overflow:hidden}
.daylight>.wrap{position:relative;z-index:1}


.section{padding:var(--space-section) 0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
.intro h2{max-width:520px;margin-bottom:0}
.intro-copy{padding-top:12px}
.intro-copy p{color:var(--muted)}
.intro-copy .text-link{margin-top:10px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:var(--space-l)}
.section-heading h2{margin-bottom:0}
.section-heading>p{width:320px;color:var(--muted);margin:0}


.plate{position:relative;height:min(72svh,640px);min-height:480px;overflow:hidden;background:var(--dark)}
.plate-photo{position:absolute;inset:0}
.plate-photo picture{display:block;height:100%}
.plate-photo img{position:absolute;inset:0;height:100%;object-position:60% 50%}
.plate-parallax .plate-photo img{top:-8%;height:116%;will-change:transform}
.plate-photo img.plate-lightingBedroom{object-position:100% 55%}
.plate-photo img.plate-shadesHero{object-position:50% 40%}
.plate-wrap{position:relative;height:100%;z-index:2}
.plate-card{position:absolute;bottom:clamp(24px,5vh,56px);left:0;width:min(460px,100%);background:rgba(250,247,240,.96);padding:clamp(24px,3vw,40px)}
.plate.right .plate-card{left:auto;right:0}
.plate-card h2{font-size:var(--step-2);margin-bottom:14px}
.plate-card p{color:var(--muted);margin-bottom:20px}


@media(min-width:781px){
  .plate{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);height:min(64svh,600px);min-height:500px;background:var(--stone)}
  .plate.right{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .plate-photo{position:relative;inset:auto;grid-row:1;grid-column:2;overflow:hidden}
  .plate.right .plate-photo{grid-column:1}
  .plate-wrap{grid-row:1;grid-column:1;display:flex;align-items:center;width:auto;margin:0;padding:clamp(32px,4.5vw,72px)}
  .plate.right .plate-wrap{grid-column:2}
  .plate-card,.plate.right .plate-card{position:static;left:auto;right:auto;bottom:auto;width:100%;max-width:420px;background:none;padding:0}
}


.services{background:var(--paper)}
.frames{display:flex;gap:4px;height:min(62svh,600px);min-height:440px}
.frame{position:relative;display:block;flex:1 1 0;min-width:0;overflow:hidden;background:var(--dark);color:#fff;transition:flex-grow .8s var(--ease-io)}
.frame.on{flex-grow:6}
.frame img{position:absolute;inset:0;height:100%}
.frame:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,14,.88),rgba(20,17,14,0) 58%)}
.frame:before{content:'';position:absolute;inset:0;z-index:1;background:rgba(20,17,14,.32);opacity:1;transition:opacity .6s ease-out}
.frame.on:before{opacity:0}
.frame-text{position:absolute;z-index:2;left:20px;right:20px;bottom:20px}
.frame h3{font-size:var(--step-1);line-height:1.1;margin:0;white-space:nowrap}
.frame:not(.on) .frame-text{left:0;right:0;display:flex;justify-content:center}
.frame:not(.on) h3{writing-mode:vertical-rl;transform:rotate(180deg);font-size:1.2rem}
.frame p{max-width:34ch;margin:10px 0 0;color:#f3eee3;font-size:var(--step--1)}
.frame:not(.on) p{display:none}
.frame.on p{animation:fadein .8s ease-out .25s both}
.frame-frameKeypad{object-position:25% 50%}.frame-frameLighting{object-position:60% 30%}.frame-frameShades{object-position:30% 50%}.frame-frameExterior{object-position:100% 50%}.frame-frameDoors{object-position:50% 50%}.frame-haSplit{object-position:50% 50%}.frame-lightingKeypad{object-position:50% 42%}.frame-cardShades{object-position:50% 60%}.frame-avSplit{object-position:50% 50%}.frame-outdoorGarden{object-position:60% 55%}.frame-shadesWindow{object-position:50% 50%}


.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px)}
.process-item{border-top:1px solid var(--ink);padding-top:18px}
.process-item>span{font-size:var(--step--1);font-weight:500;color:var(--brass-text)}
.process-item h3{margin:24px 0 12px;font-size:var(--step-1)}
.process-item p{color:var(--muted);font-size:1rem}
.area{background:var(--stone);padding:var(--space-section) 0}
.area .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.area h2{margin-bottom:18px}
.area p{color:var(--muted)}
.towns{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;font-family:var(--serif);font-size:clamp(1.125rem,1rem + .45vw,1.3rem)}
.towns span{border-bottom:1px solid var(--line);padding:12px 0}
.cta{padding:calc(var(--space-section)*1.1) 0;text-align:center;background:var(--paper)}
.cta h2{max-width:760px;margin:0 auto 28px}
.cta-note{margin:26px auto 0;color:var(--muted);font-size:1rem}


.footer{background:var(--bar);color:var(--ink);padding:var(--space-l) 0 24px;border-top:1px solid var(--bar-line)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:36px}
.footer .brand-logo{height:84px}
.footer p{color:#4a4f54;font-size:.9375rem;max-width:310px;margin-top:14px}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:.9375rem}
.footer-links .eyebrow{color:#4a4f54;margin-bottom:8px}
.footer-links a{width:fit-content;border-bottom:1px solid transparent}
@media(hover:hover) and (pointer:fine){.footer-links a:hover{border-bottom-color:var(--ink)}}
.footer-bottom{border-top:1px solid #d9d3c5;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:.875rem;color:#4a4f54}


.reveal{opacity:1;transform:none}
.motion-enabled .reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out)}
.motion-enabled .reveal.visible{opacity:1;transform:none}


.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,5vw,70px);margin-top:var(--space-l)}
.feature-item{padding:24px 0;border-top:1px solid var(--ink)}
.feature-item h3{font-size:var(--step-1);margin-bottom:12px}
.feature-item p{color:var(--muted);margin:0}
.split-image{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.split-image img{aspect-ratio:5/6;max-height:640px;height:auto}
.split-image p{color:var(--muted)}
.split-image img.split-lightingKeypad{object-position:50% 42%}
.split-image img.split-shadesWindow{object-position:50% 50%}
.split-image img.split-haSplit{object-position:30% 45%}
.split-image img.split-avSplit{object-position:50% 50%;aspect-ratio:1/1}
.split-image img.split-aboutSplit{object-position:50% 50%}
.faq{max-width:820px;margin:auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font:500 clamp(1.0625rem,1rem + .3vw,1.15rem)/1.4 var(--sans);list-style:none;display:flex;justify-content:space-between;gap:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font:400 1.6rem/1 var(--sans)}
.faq details[open] summary:after{content:'−'}
.faq details p{margin:18px 0 0;color:var(--muted)}
.difference{background:var(--stone)}
.difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,44px)}
.difference-grid article{border-top:1px solid var(--ink);padding-top:22px}
.difference-grid h3{font-size:var(--step-1)}
.difference-grid p{color:var(--muted);font-size:1rem}


.service-masthead{padding:var(--space-section) 0 var(--space-l);background:var(--paper)}
.service-masthead h1{font-size:var(--step-4);max-width:820px;margin-bottom:18px}
.service-masthead p{color:var(--muted);max-width:58ch}
.service-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-m)}
.service-jump a{display:inline-flex;align-items:center;border:1px solid rgba(27,28,31,.11);border-radius:var(--radius);background:rgba(240,235,223,.28);padding:8px 18px;font-size:var(--step--1);font-weight:500;min-height:44px;transition:background-color .25s,border-color .25s}
@media(hover:hover) and (pointer:fine){.service-jump a:hover{background:rgba(240,235,223,.7);border-color:rgba(27,28,31,.24)}}
.service-masthead .button{margin-top:30px}
.mast-photo{background:var(--paper);padding:0 0 var(--space-section)}
.mast-photo img{aspect-ratio:2.3/1;height:auto;object-position:50% 50%}
.offering img{aspect-ratio:3/2;height:auto;margin-bottom:20px}
.offering img.offer-haSplit{object-position:30% 45%}.offering img.offer-cardLighting{object-position:62% 62%}.offering img.offer-cardShades{object-position:50% 60%}.offering img.offer-avSplit{object-position:50% 50%}.offering img.offer-outdoorGarden{object-position:60% 55%}.offering img.offer-cardExterior{object-position:50% 50%}.offering img.offer-shadesSplit{object-position:50% 43.5%}.offering img.offer-shadesWindow{object-position:50% 50%}
.capability-section{padding-top:var(--space-m)}
.offering-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-l) clamp(32px,5vw,64px)}
.offering{border-top:1px solid var(--ink);padding-top:22px;scroll-margin-top:calc(var(--hdr) + 16px)}
.offering h2{font-size:var(--step-2);max-width:440px}
.offering p{color:var(--muted)}
.project-range{background:var(--stone)}


.contact-intro{padding:var(--space-section) 0 var(--space-m)}
.contact-intro h1{font-size:var(--step-4);max-width:780px;margin-bottom:20px}
.contact-intro p{color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(36px,6vw,80px);padding-bottom:var(--space-section)}
.contact-aside{border-top:1px solid var(--ink);padding-top:30px}
.contact-aside h2{font-size:var(--step-1);letter-spacing:0;line-height:1.2}
.contact-aside p{color:var(--muted);font-size:1rem}
.contact-direct{border-top:1px solid var(--ink);padding-top:30px}
.contact-method{margin-bottom:34px}
.contact-method .eyebrow{margin-bottom:8px}
.contact-link{display:inline-block;font-family:var(--serif);font-size:clamp(1.5rem,1.1rem + 1.5vw,2.25rem);line-height:1.2;border-bottom:1px solid currentColor;padding-bottom:4px;overflow-wrap:anywhere;transition:opacity .2s}
.footer-contact{display:flex;flex-direction:column;gap:6px;margin:18px 0 0;font-size:.9375rem}
.footer-contact-link{width:fit-content;border-bottom:1px solid transparent}
.legal{max-width:760px;padding:var(--space-section) 0}
.legal h1{font-size:var(--step-3)}
.legal h2{font-size:var(--step-2);margin-top:36px}
.legal p{color:var(--muted)}
.error-page{padding:var(--space-section) 0;min-height:60vh}
.error-page h1{font-size:var(--step-3)}
.error-page p{color:var(--muted)}


@media(hover:hover) and (pointer:fine){
  .text-link:hover,.contact-link:hover{opacity:.65}
  .button.solid:hover{transform:translateY(-1px)}
  .faq summary:hover{color:var(--muted)}
}

@media(max-width:1100px){
  .desktop-nav{gap:22px}
  .process-grid{gap:28px}
}
@media(max-width:900px) and (min-width:781px){
  .desktop-nav{gap:14px;font-size:.875rem}
  .header .button{padding:8px 14px}
  .brand-logo{height:52px}
}
@media(max-width:780px){
  :root{--hdr:68px}
  .brand-logo{height:50px}
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav.open{display:flex;flex-direction:column;position:fixed;top:var(--hdr);left:0;right:0;bottom:0;background:var(--bar);color:var(--ink);padding:28px var(--gut);gap:4px;overflow:auto;border-top:1px solid var(--bar-line)}
  .mobile-nav a:not(.button){font:400 1.6rem/1.2 var(--serif);padding:14px 0;border-bottom:1px solid var(--bar-line)}
  .mobile-nav .button{align-self:start;margin-top:26px;background:var(--red);border-color:var(--red);color:#fff}
  .hero{min-height:480px}
  .hero:not(.inner-hero){height:72vh;height:72svh;min-height:440px;display:grid;grid-template-rows:min(50%,calc(100% - 290px)) auto;align-items:start}
  .hero:not(.inner-hero)>.hero-photo,.hero:not(.inner-hero)>.hero-shade{grid-row:1/-1}
  .hero:not(.inner-hero) .hero-content{grid-row:2;padding-bottom:20px}
  .hero-shade{background:linear-gradient(0deg,rgba(20,17,14,.9) 0%,rgba(20,17,14,.68) 48%,rgba(20,17,14,.28) 80%,rgba(20,17,14,.12))}
  .hero-photo img{object-position:50% 50%}
  .hero-photo img.hero-homeHero,.hero-photo img.hero-lightingHeroExterior,.hero-photo img.hero-shadesHero{object-position:50% 50%}
  .hero-photo img.hero-haHero,.hero-photo img.hero-aboutHero{object-position:50% 40%}
  .hero.day .hero-shade{background:linear-gradient(0deg,rgba(20,17,14,.8) 0%,rgba(20,17,14,.68) 30%,rgba(20,17,14,.5) 44%,rgba(20,17,14,0) 54%)}
  .hero.day .hero-content{padding-bottom:28px;margin:auto auto 0}
  .hero.day h1{font-size:var(--step-4);margin-bottom:12px}
  .hero.day p{font-size:1rem;margin-bottom:18px}
  .hero.day h1,.hero.day p{text-shadow:0 1px 18px rgba(0,0,0,.35)}
  .mast-photo img{aspect-ratio:16/10}
  .split-image img.split-avSplit{aspect-ratio:1/1}
  .hero h1{font-size:var(--step-4)}
  .hero p{font-size:1rem;max-width:22rem}
  .where{display:none}
  .inner-hero{height:72vh;height:72svh;min-height:440px}
  .intro{grid-template-columns:1fr;gap:24px}
  .intro-copy{padding-top:0}
  .section-heading{display:block}
  .section-heading>p{width:auto;margin-top:22px}
  .plate{height:auto;min-height:0;padding-top:min(100vw,440px)}
  .plate-photo{bottom:auto;height:min(100vw,440px)}
  .plate-wrap{height:auto;width:100%}
  .plate-card{position:relative;bottom:auto;width:100%;padding:var(--space-m) var(--gut);background:var(--paper)}
  .plate-card h2{font-size:var(--step-2)}
  .plate{background:var(--paper)}
  .plate-parallax .plate-photo img{top:0;height:100%;transform:none!important}
  .frames{display:block;height:auto;min-height:0}
  .frame{display:block;height:260px;margin-bottom:4px;flex:none}
  .frame:before{display:none}
  .frame:after{background:linear-gradient(0deg,rgba(20,17,14,.9),rgba(20,17,14,.25) 62%,rgba(20,17,14,.05))}
  .frame:not(.on) .frame-text{left:22px;right:22px;display:block}
  .frame-frameKeypad{object-position:30% 55%}.frame-frameLighting{object-position:60% 25%}.frame-frameShades{object-position:40% 45%}.frame-frameExterior{object-position:100% 60%}
  .frame:not(.on) h3{writing-mode:horizontal-tb;transform:none;font-size:var(--step-1)}
  .frame p,.frame:not(.on) p{display:block;animation:none}
  .process-grid,.difference-grid,.offering-grid{grid-template-columns:1fr}
  .process-item h3{margin-top:18px}
  .area .wrap{grid-template-columns:1fr;gap:24px}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:8px}
  .feature-list{grid-template-columns:1fr}
  .split-image{grid-template-columns:1fr;gap:34px}
  .split-image img{aspect-ratio:5/6;max-height:none}
  .contact-layout{grid-template-columns:1fr}
  .contact-intro h1 br{display:none}
}
@media(max-width:430px){
  .frame{height:240px}
  .footer-top{grid-template-columns:1fr}
}


:root{--zend:1}
@media(hover:hover) and (pointer:fine) and (min-width:781px){:root{--zend:1.04}}

.motion-enabled .plate-photo>picture,.motion-enabled .plate-photo>img{scale:calc(var(--zend) + .07);transition:scale 1.8s var(--ease-out),translate .7s var(--ease-out)}
.motion-enabled .plate-photo.in>picture,.motion-enabled .plate-photo.in>img{scale:var(--zend)}

.motion-enabled .unveil{clip-path:inset(0 0 16% 0);transition:clip-path 1.6s var(--ease-out)}
.motion-enabled .unveil.in{clip-path:inset(0)}

.hl{display:block;overflow:hidden;padding:.08em 0 .14em;margin:-.08em 0 -.14em}
.hl>span{display:block}
.hl-host{display:flex;flex-direction:column}
.motion-enabled .hl>span{transform:translateY(108%);transition:transform 1.2s var(--ease-out);transition-delay:calc(var(--l,0)*120ms)}
.motion-enabled .hl-host.in .hl>span{transform:none}
.motion-enabled .reveal.flat{transform:none}

.motion-enabled .reveal{transition-delay:calc(var(--i,0)*80ms)}

.motion-enabled .stg>*{opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--i,0)*70ms)}
.motion-enabled .towns>*{transform:translateX(-14px)}
.motion-enabled .stg.in>*{opacity:1;transform:none}


@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .hero-photo{transform:none}
  .hero h1 .ln>span{transform:none}
  .hero p,.hero .button,.where,.hero-glow{opacity:1}
  .motion-enabled .reveal{opacity:1;transform:none}
  .plate-photo img{transform:none!important}
  .plate-photo>*{scale:none!important;translate:none!important}
  .unveil{clip-path:none!important}
  .hl>span,.stg>*{transform:none!important;opacity:1!important}
}
