:root{--ink:#202542;--blue:#343f88;--lilac:#e8e6f5;--lime:#e5ed83;--paper:#fafaf7;--line:#d5d7df;--muted:#5e6278}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}figure,h1,h2,h3,p{margin:0}button,summary{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #765dbe;outline-offset:5px}h1,h2,h3{font-weight:600;line-height:1.04;letter-spacing:-.055em}h2{font-size:clamp(43px,4.9vw,66px)}h3{font-size:31px}h2 span,h1 span{color:var(--blue)}p+p{margin-top:20px}.wrap{width:86%;max-width:1320px;margin:auto}.eyebrow,.label{font-size:10px;line-height:1.5;font-weight:bold;letter-spacing:.15em}.eyebrow{margin-bottom:25px}.skip{position:fixed;left:15px;top:-100px;z-index:10;padding:12px;background:white}.skip:focus{top:12px}.topline{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:8px 5%;font-size:9px;letter-spacing:.12em}.topline a{letter-spacing:0}header{position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid #e5e6eb;display:flex;gap:30px;align-items:center;padding:24px 5%;min-height:90px}.brand{display:block;width:275px;margin-right:auto}.brand img{width:100%;height:auto}header nav{display:flex;gap:25px;font-size:12px}.nav-call{font-size:12px;padding:12px 16px;border:1px solid var(--line)}header nav a:hover,.nav-call:hover{color:var(--blue)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;padding:70px 0 65px}.hero h1{font-size:clamp(64px,6.6vw,95px);line-height:.98}.hero h1 span{position:relative}.hero h1 span:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:5px;background:var(--lime);animation:underline 1.2s ease-out both;transform-origin:left}.hero-intro{font-size:18px;line-height:1.5;margin-top:32px}.hero-text>p:not(.eyebrow):not(.hero-intro){font-size:14px;max-width:365px;margin-top:17px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 23px;background:var(--ink);color:white;font-size:12px;line-height:1.35;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:var(--blue)}.hero .button{margin-top:25px}.hero-pictures{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:center}.hero-pictures figure{min-width:0}.hero-home{align-self:start;margin-top:10px}.hero-home img{height:435px;object-fit:cover;border-radius:150px 150px 2px 2px;animation:arrive 1.3s ease-out both}.hero-art{align-self:end;margin-bottom:35px}.hero-art img{height:290px;object-fit:cover;border-radius:2px 2px 100px 100px;animation:arrive 1.5s ease-out both}.hero-pictures figcaption{font-size:8px;font-weight:bold;letter-spacing:.13em;margin-top:16px}.glass-mark{position:absolute;top:22px;right:26px;width:85px;height:85px}.glass-mark svg{width:100%;fill:none;stroke:#8b86ac;stroke-width:1}.glass-mark path{stroke-dasharray:650;animation:draw 1.6s ease-out both}.hero h1{animation:title-in .9s ease-out both}.bridge{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;gap:30px;font-size:13px}.bridge>span{font-size:11px;color:var(--muted)}.bridge>a{display:flex;justify-content:space-between}.bridge>a:hover{color:var(--blue)}.residential{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-heading>p{font-size:14px;max-width:340px;color:var(--muted)}.res-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:8%}.service-photo img{height:340px;object-fit:cover}.service-photo>p{font-size:11px;color:var(--muted);padding-top:13px}.service-choices .eyebrow{margin-bottom:16px}.service-choices details{border-top:1px solid var(--line)}.service-choices summary{padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:17px;letter-spacing:-.02em}.service-choices summary::-webkit-details-marker{display:none}.service-choices summary span{font-size:16px;color:var(--blue)}.service-choices details[open] summary span{transform:rotate(180deg)}.service-choices details>div{padding:0 0 25px}.service-choices details p{font-size:13px;color:var(--muted)}.service-choices details p+p{margin-top:13px}.service-choices details a{display:inline-block;font-size:11px;border-bottom:1px solid var(--blue);margin-top:15px;padding-bottom:3px}.estimate{background:var(--lilac);padding:22px;margin-top:15px;font-size:12px}.estimate span{display:block;font-weight:bold;margin-bottom:6px}.estimate a{text-decoration:underline}.res-strip{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center;border-top:1px solid var(--line);padding-top:50px;margin-top:65px}.res-strip figure>img{height:290px;object-fit:cover}.res-strip figcaption{font-size:10px;color:var(--muted);margin-top:12px}.res-strip h3{font-size:34px}.res-strip>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px;max-width:445px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px;margin-top:22px}.text-link:hover{color:var(--blue)}.art{padding:90px 0;background:var(--ink);color:white;overflow:hidden}.art h2 span{color:var(--lime)}.art .section-heading>p{color:#d1d4e5}.art-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}.art-feature figure>img{height:400px;object-fit:cover}.art-feature figcaption{font-size:10px;color:#c4c8dd;margin-top:15px}.art-feature h3{font-size:38px}.art-feature>div>p:not(.eyebrow){font-size:14px;color:#d1d4e5;margin-top:25px}.art-feature .button{margin-top:25px}.yellow{background:var(--lime);color:var(--ink)}.yellow:hover{background:white}.art-feature>div>p.order-note{font-size:11px;margin-top:14px}.catalogue-paths{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #575c74;gap:35px;margin-top:50px;padding-top:30px}.catalogue-paths a{display:flex;gap:15px;align-items:start}.catalogue-paths a>span{font-size:10px;color:var(--lime)}.catalogue-paths a>div{font-size:17px;line-height:1.2}.catalogue-paths small{display:block;font-size:11px;color:#c4c8dd;margin-top:12px;line-height:1.5}.catalogue-paths b{font-weight:400;margin-left:auto}.catalogue-paths a:hover b{color:var(--lime)}.gallery{padding:100px 0}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.gallery-grid .piece{display:block;background:#e9e9e5;padding:20px 18px 14px;transition:background .2s}.piece:hover{background:var(--lilac)}.piece img{height:240px;object-fit:contain;transition:transform .3s}.piece:hover img{transform:scale(1.035)}.piece>span{display:block;margin-top:20px;font-size:10px;text-align:right}.gallery-grid figcaption{padding-top:17px}.gallery-grid h3{font-size:18px;letter-spacing:-.03em}.gallery-grid p{font-size:11px;color:var(--muted);margin-top:8px}.gallery-note{font-size:11px;color:var(--muted);margin-top:25px}.classes{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-bottom:100px;align-items:center}.classes figure>img{height:420px;object-fit:cover}.classes figcaption{font-size:10px;margin-top:13px;color:var(--muted)}.classes>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:28px}.class-links{display:flex;align-items:start;flex-direction:column;margin-top:28px}.story{padding:70px 0;background:var(--lilac)}.story-inner{display:grid;grid-template-columns:1fr .7fr 1fr;gap:45px;align-items:center}.story h2{font-size:49px}.story figure{max-width:240px}.story figure img{height:auto}.story figcaption{font-size:9px;margin-top:12px}.story-copy{font-size:13px}.story-copy>p:first-child{font-size:18px;line-height:1.5;letter-spacing:-.015em}.visit{padding:100px 0}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;border-top:1px solid var(--line);padding-top:45px}.visit-main>a{display:block;width:fit-content}.label{display:block;margin-bottom:18px;color:var(--muted)}.phone{font-size:39px;letter-spacing:-.04em;line-height:1.2}.email{font-size:21px;margin-top:18px;letter-spacing:-.03em}.toll{font-size:12px;margin-top:15px}.visit-main>a:hover,.visit-details a:hover{color:var(--blue)}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:25px}.visit-details p{font-size:14px}.visit-details a{display:block;font-size:11px;text-decoration:underline;margin-top:15px}.visit-details small{display:block;font-size:11px;color:var(--muted);margin-top:10px}footer{border-top:1px solid var(--line);background:white;padding:35px 0}footer>.wrap{display:flex;align-items:center;gap:35px}.footer-logo{width:220px;margin-right:auto}footer .wrap>div{display:flex;gap:22px;font-size:11px}footer p{font-size:9px;color:var(--muted);max-width:150px}dialog{border:0;padding:55px 25px 20px;width:min(850px,92vw);max-height:92vh;background:#fafaf7;color:var(--ink)}dialog::backdrop{background:#131629dd}.close-dialog{position:absolute;right:20px;top:15px;border:0;background:transparent;padding:5px;font-size:12px}.dialog-photo{object-fit:contain;width:100%;max-height:68vh;height:auto}#piece-title{margin-top:16px;font-size:14px}.art-feature.arrived>figure>img,.classes.arrived>figure>img{animation:reveal 1s ease-out both}@keyframes title-in{from{transform:translateY(20px);opacity:.35}to{transform:none;opacity:1}}@keyframes arrive{from{clip-path:inset(6% 0 0 0);filter:brightness(.8)}to{clip-path:inset(0);filter:brightness(1)}}@keyframes draw{from{stroke-dashoffset:650}to{stroke-dashoffset:0}}@keyframes underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes reveal{from{clip-path:inset(0 8% 0 0);filter:brightness(.85)}to{clip-path:inset(0);filter:brightness(1)}}
@media(max-width:1000px){header{gap:15px;padding:20px 4%}.brand{width:225px}header nav{gap:17px;font-size:10px}.nav-call{font-size:10px}.hero{gap:30px}.hero-home img{height:390px}.hero-art img{height:260px}.glass-mark{right:12px;width:65px}.gallery-grid{gap:15px}.piece img{height:200px}.story-inner{gap:25px}.story h2{font-size:41px}.phone{font-size:33px}}
@media(max-width:760px){.topline{font-size:7px;padding:7px 5%;letter-spacing:.05em}.topline a{font-size:8px}header{min-height:75px;padding:21px 5%}.brand{width:220px;max-width:75%}header nav,.nav-call{display:none}.menu{display:block;font-size:11px}.menu summary{list-style:none;padding:8px 0;border-bottom:1px solid}.menu summary::-webkit-details-marker{display:none}.menu div{display:grid;gap:14px;position:absolute;top:66px;right:5%;padding:22px;background:white;box-shadow:0 10px 30px #0002;min-width:210px}.wrap{width:88%}.hero{display:block;padding:40px 0}.hero h1{font-size:68px;line-height:.98}.hero h1 br:nth-child(2){display:none}.hero-intro{font-size:17px;margin-top:28px}.hero-text>p:not(.eyebrow):not(.hero-intro){font-size:13px}.hero-pictures{margin-top:35px;min-height:365px;gap:14px;grid-template-columns:1.4fr 1fr}.hero-home{margin-top:0}.hero-home img{height:300px;border-radius:100px 100px 0 0}.hero-art{margin-bottom:0}.hero-art img{height:215px}.hero-pictures figcaption{font-size:7px;margin-top:10px}.glass-mark{width:55px;height:55px;right:24px;top:18px}.bridge{grid-template-columns:1fr;gap:0;padding:0}.bridge>span{padding:18px 0}.bridge>a{padding:18px 0;border-top:1px solid var(--line);font-size:13px}.residential{padding:65px 0}.section-heading{display:block;margin-bottom:32px}.section-heading>p{font-size:13px;margin-top:23px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:43px}.res-grid{display:block}.service-photo img{height:250px}.service-photo>p{font-size:10px}.service-choices{margin-top:35px}.service-choices summary{font-size:16px}.service-choices details p{font-size:13px}.res-strip{display:block;padding-top:35px;margin-top:40px}.res-strip figure>img{height:260px}.res-strip>div{margin-top:30px}.res-strip h3{font-size:32px}.art{padding:60px 0}.art-feature{display:block}.art-feature figure>img{height:290px}.art-feature>div{margin-top:35px}.art-feature h3{font-size:34px}.art-feature .button{font-size:11px;gap:20px}.catalogue-paths{grid-template-columns:1fr;gap:25px;margin-top:35px}.catalogue-paths a{padding-bottom:20px;border-bottom:1px solid #575c74}.gallery{padding:65px 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery-grid .piece{padding:12px 10px}.piece img{height:165px}.piece>span{font-size:9px;margin-top:14px}.gallery-grid h3{font-size:17px;line-height:1.2}.gallery-grid p{font-size:10px}.classes{display:flex;flex-direction:column;gap:30px;padding-bottom:65px;align-items:stretch}.classes figure>img{height:310px}.classes>div>p:not(.eyebrow){margin-top:22px}.story{padding:55px 0}.story-inner{display:block}.story h2{font-size:45px}.story figure{width:220px;margin:35px 0}.story-copy{font-size:13px}.story-copy>p:first-child{font-size:18px}.visit{padding:65px 0}.visit-grid{display:block;padding-top:30px}.phone{font-size:34px}.email{font-size:20px}.visit-details{margin-top:40px;gap:25px}.visit-details p{font-size:13px}.visit-details .label{font-size:9px}.visit-details small{font-size:10px}footer>.wrap{display:block}.footer-logo{display:block;width:220px}footer .wrap>div{flex-wrap:wrap;margin-top:25px;gap:18px;font-size:10px}footer p{margin-top:22px;max-width:none}dialog{padding:55px 15px 20px}.dialog-photo{max-height:65vh}}
@media(max-width:350px){.hero h1{font-size:59px}.hero-home img{height:265px}.hero-art img{height:195px}.hero-pictures{min-height:330px}.phone{font-size:29px}.gallery-grid{gap:20px 10px}.piece img{height:145px}.visit-details{grid-template-columns:1fr;gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Motion acceptance repair: visible, replayable section choreography. */
.motion-enter{animation:sb-rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--motion-delay,0ms)}
[data-motion="photo"].motion-enter{animation-name:sb-photo;animation-duration:1.25s}
[data-motion="card"].motion-enter{animation-name:sb-card;animation-duration:1s}
[data-motion="heading"].motion-enter{animation-name:sb-heading;animation-duration:1.15s}
@keyframes sb-rise{from{opacity:.18;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes sb-heading{from{opacity:.12;transform:translateY(65px);clip-path:inset(0 0 70% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes sb-photo{from{opacity:.4;clip-path:inset(var(--wipe,0 28% 0 0));transform:translateY(28px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes sb-card{from{opacity:.15;transform:translate(var(--card-x,0px),52px)}to{opacity:1;transform:none}}
@media(max-width:760px){.motion-enter{animation-delay:0ms!important}@keyframes sb-heading{from{opacity:.15;transform:translateY(45px);clip-path:inset(0 0 65% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none!important;transform:none!important;clip-path:none!important;opacity:1!important}}
:root{--wipe:0 25% 0 0;--card-x:16px}