*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#101113;color:#f5f5f3;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ddc9a3;outline-offset:5px}button{color:inherit}button:disabled{opacity:.4;cursor:not-allowed}[hidden]{display:none!important}.skip{position:fixed;top:-80px;background:white;color:black;padding:15px;z-index:20}.skip:focus{top:0}.demo-banner{background:#2c2c2c;text-align:center;padding:9px 16px;font-size:12px;letter-spacing:1.2px;font-weight:bold}.demo-banner span{margin-left:16px;font-weight:normal;letter-spacing:.2px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid #343537}.brand{display:flex;align-items:center;gap:15px;font-size:44px;line-height:1;font-weight:900;letter-spacing:-3px;text-decoration:none}.brand span{font-size:11px;line-height:1.45;letter-spacing:1.8px;border-left:1px solid #747477;padding-left:15px}nav{display:flex;align-items:center;gap:32px}nav>a{font-size:14px;text-decoration:none}.small-cta{border:1px solid #727274;background:transparent;padding:11px 18px;font-size:14px}.small-cta span{margin-left:25px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:680px}.hero-copy{padding:54px 6% 28px 9.5%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;margin:0 0 24px}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(55px,6.7vw,112px);line-height:1.02;font-weight:900;letter-spacing:-2px;margin:0 0 27px}h1>span{color:#f3f3f1}h1 .blue{color:#c7c6c1}.intro{color:#bcbcc1;margin:0 0 24px;font-size:17px;line-height:1.6}.cta{display:flex;justify-content:space-between;align-items:center;gap:32px;background:#ededE8;color:white;border:0;padding:18px 24px;font-weight:bold;font-size:15px;min-height:56px}.cta:hover{background:#d3d3ce}.micro{font-size:12px;color:#b9bac3;margin:12px 0 0}.hero-bottom{margin-top:auto;padding-top:35px;display:flex;align-items:flex-end;justify-content:space-between;width:100%;font-size:11px;letter-spacing:1.3px}.hero-bottom b{font-size:35px;line-height:1.1;letter-spacing:-2px}.hero-photo{position:relative;margin:0;min-height:620px;overflow:hidden;background:#1a1d26}.hero-photo img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:center}.photo-stamp{position:absolute;top:28px;right:30px;border:1px solid #c9cedb;padding:13px;font-size:34px;line-height:1;font-weight:bold;transform:rotate(7deg);text-align:center}.photo-stamp span{display:block;font-size:10px;letter-spacing:2px;margin-top:6px}.hero-photo figcaption{position:absolute;bottom:0;padding:12px 18px;background:#090b11cf;width:100%;font-size:12px;color:#d3d4dc}.ticker{background:#e8e9e5;color:#101113;display:flex;justify-content:space-around;align-items:center;padding:20px;font-size:clamp(20px,3.1vw,48px);font-family:Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:1px}.ticker i{color:#ededE8;font-style:normal}.section{padding:95px 5%}.services{display:grid;grid-template-columns:1fr 1.25fr;gap:9%}h2{font-size:clamp(36px,4.6vw,66px);line-height:1.06;letter-spacing:-2.8px;margin:0 0 24px;font-weight:800}.section-heading>p:last-child{color:#b7b8bf;font-size:16px;max-width:350px}.service{background:transparent;border:0;border-top:1px solid #4a4b50;text-align:left;width:100%;display:grid;grid-template-columns:30px 1fr 38px;gap:20px;padding:28px 0}.service:last-child{border-bottom:1px solid #4a4b50}.service:hover strong{color:#ffffff}.num{font-size:12px;color:#a7a9b1;padding-top:8px}.service strong{font-size:30px;line-height:1.1;display:block;letter-spacing:-.8px}.service small{display:block;color:#b2b4bc;font-size:14px;margin-top:12px}.service em{font-style:normal;font-size:10px;letter-spacing:1px;color:#d4d1c9;display:block;margin-top:10px}.service-arrow{font-size:32px}.booking-strip{background:#e5e3de;margin:0 5%;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:15px 60px}.booking-strip .eyebrow{grid-column:1/-1}.booking-strip h2{font-size:clamp(45px,6vw,86px);margin:0;letter-spacing:-3px}.booking-strip h2 span{color:#66655f}.booking-strip>div{align-self:end}.booking-strip>div>p:first-child{margin:0 0 30px;font-size:18px}.light{background:#f5f5f3;color:#101113}.light:hover{background:#cbc9c2}.booking-strip .micro{color:#54534f}.location{display:grid;grid-template-columns:1fr 1.25fr;gap:9%}.address>p:nth-child(2){font-size:24px;line-height:1.4;letter-spacing:-.5px}.secondary{font-size:14px;color:#abadb7;line-height:1.5}.address a{display:inline-block;margin-top:15px;font-size:14px}footer{border-top:1px solid #3c3d42;margin:0 5%;padding:45px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:9%}.footer-logo{font-size:100px;line-height:.8;font-weight:900;letter-spacing:-7px}.footer-logo span{display:block;font-size:10px;letter-spacing:2px;margin-top:20px}footer b{font-size:14px}footer p,footer summary{font-size:13px;color:#adb0ba}details{max-width:620px}summary{cursor:pointer}dialog{width:min(580px,calc(100% - 28px));max-height:calc(100dvh - 28px);background:#17191f;color:#f6f6f5;border:1px solid #4d5161;padding:30px;overflow:auto}dialog::backdrop{background:#050609d9;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.dialog-head .eyebrow{margin:0}.close{background:none;border:1px solid #575a65;width:40px;height:40px}.steps{padding:0;display:flex;list-style:none;gap:12px;margin-bottom:30px}.steps li{flex:1;font-size:12px;border-top:2px solid #4c4f5b;padding-top:8px;color:#acafbc}.steps li.active{border-color:#ffffff;color:white}dialog h2{font-size:44px;letter-spacing:-1.8px;margin-bottom:16px}.dialog-note{font-size:14px;color:#bdc0cc;margin-bottom:22px}fieldset{border:0;padding:0;margin:0}legend,.date-label{font-size:14px;margin-bottom:12px}.choice{display:flex;align-items:center;gap:15px;border:1px solid #515563;padding:17px;margin-bottom:10px;cursor:pointer}.choice:has(input:checked){border-color:#dedad0;background:#3c3c39}.choice input{accent-color:#a4a39c;width:18px;height:18px;flex-shrink:0}.choice small{display:block;color:#bdc2d4;font-size:12px;margin-top:3px}.date-label{display:block}input[type=date]{width:100%;padding:15px;background:#242732;border:1px solid #747a8e;color:white;color-scheme:dark;min-width:0}.times{margin-top:25px}#time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.time-label{border:1px solid #565c70;cursor:pointer;text-align:center;padding:12px 5px}.time-label:has(input:checked){background:#ededE8;border-color:#eee9df}.time-label input{accent-color:#d4cfc4}.form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:24px}.form-actions .cta{margin-left:auto}#back{background:none;border:1px solid #727784;padding:12px 20px}#form-error{font-size:14px;color:#ffb4b4}.summary{margin:0}.summary div{border-top:1px solid #454957;padding:15px 0}.summary dt{font-size:12px;color:#adb4c8}.summary dd{font-size:18px;margin:5px 0 0}.simulation-note{background:#30312f;padding:18px;font-size:14px;line-height:1.65}.mobile-bar{display:none}body.modal-open{overflow:hidden}
@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:760px){header{padding:19px 6%}.brand{font-size:36px}nav>a{display:none}.small-cta{font-size:12px;padding:10px}.small-cta span{display:none}.demo-banner{font-size:10px;padding:8px}.demo-banner span{display:block;margin:3px 0 0;font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 30px}h1{font-size:clamp(53px,12.9vw,94px);letter-spacing:-1.8px}.hero-copy>.eyebrow{margin-bottom:20px}.hero-bottom{display:none}.hero-photo{min-height:390px}.hero-photo img{object-position:center 48%}.ticker{padding:17px 7px;font-size:22px}.ticker i{font-size:20px}.section{padding:60px 6%}.services,.location{grid-template-columns:1fr;gap:25px}h2{font-size:44px;letter-spacing:-2px}.service{gap:12px;grid-template-columns:25px 1fr 28px}.service strong{font-size:27px}.booking-strip{margin:0;padding:38px 6%;grid-template-columns:1fr;gap:25px}.booking-strip h2{font-size:64px}.booking-strip .eyebrow{margin-bottom:0}.booking-strip>div>p:first-child{font-size:16px}footer{grid-template-columns:1fr;gap:35px;padding-bottom:110px}.footer-logo{font-size:80px}.mobile-bar{display:flex;position:fixed;bottom:0;background:#171817f5;border-top:1px solid #77776f;left:0;right:0;z-index:2;justify-content:space-between;align-items:center;padding:10px 5%;padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-bar>span{font-size:25px;font-weight:bold}.mobile-bar small{font-size:10px;color:#d4d1c9}.mobile-bar button{background:#ededE8;border:0;padding:12px;font-size:14px;font-weight:bold}dialog{padding:22px}.steps{gap:7px}dialog h2{font-size:37px}.dialog-head{margin-bottom:22px}#time-options{grid-template-columns:repeat(3,1fr)}.cta{gap:18px;padding:17px 20px}.photo-stamp{top:20px;right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Instagram identity: black, white, charcoal and the timber of the real shop. */
.brand{letter-spacing:normal}.brand img{width:76px;height:76px;object-fit:contain;border-radius:50%}.brand span{border-color:#666}.cta,.mobile-bar button,.time-label:has(input:checked){color:#151515}.booking-strip{color:#171715}.booking-strip .cta{background:#191a18;color:#fff}.booking-strip .cta:hover{background:#373833}.hero-photo img{object-position:center 40%}.hero-photo figcaption a{text-decoration:none}.ticker i{color:#444}.footer-logo img{border-radius:50%;display:block}.team{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:0}.team-photo img{width:100%;height:auto;display:block}.team-photo p{font-size:12px;color:#bcbdb8;margin:12px 0}.team-copy>p:not(.eyebrow){color:#bfc0bc}.team-names{margin:30px 0}.team-names button,.pending-person{display:grid;grid-template-columns:30px 1fr 22px;align-items:center;width:100%;padding:20px 0;text-align:left;background:none;border:0;border-top:1px solid #51534e;gap:12px}.team-names span{font-size:12px;color:#aeafa9}.team-names strong{font-size:25px;font-weight:500;letter-spacing:-.7px}.team-names b{font-weight:normal;font-size:24px}.team-names button:hover strong{text-decoration:underline;text-underline-offset:7px}.pending-person{border-bottom:1px solid #51534e;grid-template-columns:30px 1fr;color:#aaa}.pending-person strong{font-size:21px}.pending-person small{grid-column:2;font-size:12px}.facade{margin:80px 5% 0;height:470px;position:relative;overflow:hidden;background:#262626}.facade img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.facade figcaption{position:absolute;bottom:0;left:0;padding:13px 20px;background:#111d;font-size:12px}.hours{border-top:1px solid #51534e;margin-top:25px}.hours p{display:flex;justify-content:space-between;gap:15px;font-size:14px}.hours b{font-weight:normal}.professional-label{margin-top:24px}.professional-label small{display:block;color:#b5b6b0;font-size:12px}select{width:100%;background:#252623;border:1px solid #777a70;color:#fff;font:inherit;padding:14px}select:focus-visible{outline:3px solid #ddc9a3;outline-offset:3px}.team-photo{min-width:0}.steps li.active{border-color:#eee}.choice input,.time-label input{accent-color:#aaa99e}
@media(max-width:760px){.brand img{width:60px;height:60px}.brand span{display:none}.hero-photo{min-height:500px}.team{grid-template-columns:1fr;padding-top:0;gap:32px}.team-photo{order:2}.team-copy{order:1}.facade{height:380px;margin-top:50px}.team-names strong{font-size:25px}}

.facade{max-width:760px;margin-left:auto;margin-right:auto;height:540px}.facade img{object-position:50% 45%}@media(max-width:760px){.facade{margin-left:6%;margin-right:6%;height:440px}.facade img{object-position:center}}

/* Family-led presentation and supplied service menu. */
.hero{grid-template-columns:1fr 1fr}.hero-photo img{object-position:50% 28%}.intro{max-width:420px;color:#d1d1cc}.hero h1{font-size:clamp(54px,6.1vw,98px)}.team-photo img{max-height:790px;object-fit:cover;object-position:center}.team-copy>p{max-width:520px}.team-names{margin:22px 0}.team-names button{padding:15px 0}.family-signoff{border-left:2px solid #d8d7d0;padding-left:18px;font-size:18px}.service{grid-template-columns:26px 1fr auto;align-items:center;gap:15px;padding:24px 0}.service strong{font-size:25px;line-height:1.2}.price{font-size:23px;white-space:nowrap}.num{padding:0}.more-services{border-bottom:1px solid #4a4b50}.more-services summary{padding:22px 0;font-size:16px;font-weight:bold;display:flex;justify-content:space-between;list-style:none}.more-services summary span{font-size:23px}.more-services[open] summary span{transform:rotate(45deg)}.price-source{font-size:14px}.choice span{flex:1}.choice b{white-space:nowrap;font-size:15px}.eyebrow,.micro,.team-photo p,.hero-photo figcaption,.facade figcaption{font-size:14px}.booking-strip h2{font-size:clamp(38px,5vw,72px)}.booking-strip>div{padding-bottom:5px}.team-names button:last-child{border-bottom:1px solid #51534e}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(49px,12vw,88px)}.hero-photo{min-height:0;aspect-ratio:3/4}.hero-photo img{object-position:center}.service strong{font-size:22px}.price{font-size:21px}.ticker{font-size:clamp(16px,4.5vw,24px)}.team-photo img{max-height:560px}.booking-strip h2{font-size:clamp(40px,10vw,66px)}.eyebrow{letter-spacing:1.3px}}

/* Larger identity and monochrome, platform-independent separators. */
header{padding:18px 5%}.brand img{width:140px;height:140px}.brand span{font-size:14px}.hero h1{font-size:clamp(46px,5.6vw,88px);line-height:1.08;letter-spacing:-1.8px}.hero h1 .blue{color:#fff}.ticker{background:#eee;color:#111}.ticker-divider{display:block;width:1px;height:24px;background:#555;flex:0 0 1px}.link-arrow{display:inline-block;width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor;position:relative;margin:0 4px;vertical-align:middle}.link-arrow::after{content:"";position:absolute;width:16px;height:2px;background:currentColor;right:-3px;top:4px;transform:rotate(-45deg)}.small-cta{display:none}.brand{flex-shrink:0}
@media(max-width:760px){header{padding:12px 6%}.brand img{width:116px;height:116px}nav{gap:0}.hero h1{font-size:clamp(37px,9.8vw,72px);letter-spacing:-1px}.ticker-divider{height:18px}.hero-copy{padding-top:28px}.mobile-bar button{display:flex;align-items:center;gap:12px}.hero-copy .cta{min-width:200px}}

/* Mobile-first navigation, native controls and safe-area booking sheet. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:1rem}body{overflow-wrap:break-word}button,a,input,select,summary{touch-action:manipulation}button,input,select{font-size:1rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid white;outline-offset:3px}.menu-toggle{display:none}.service>*{min-width:0}.service strong{overflow-wrap:anywhere}.close{width:48px;height:48px;flex:0 0 48px}.steps li{font-size:.875rem}.summary dt{font-size:.875rem}.form-actions{position:sticky;bottom:-30px;background:#17191f;padding:16px 0;margin-top:16px;border-top:1px solid #454957}.form-actions button{min-height:48px}.dialog-head{position:sticky;top:-30px;background:#17191f;z-index:2;padding:12px 0}.dialog-note{margin-bottom:20px}.time-label{min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px}.time-label input{width:18px;height:18px}.professional-label{font-size:1rem}#service,#professional,#date{font-size:1rem;min-height:52px;border-radius:6px}.step{min-width:0}dialog{overscroll-behavior:contain}body.modal-open .mobile-bar{visibility:hidden}.price-source{display:inline-flex;align-items:center;min-height:44px}.more-services summary{min-height:48px}
@media(max-width:760px){header{position:relative;flex-wrap:wrap;gap:8px;padding:8px 6%}.brand img{width:108px;height:108px}.menu-toggle{display:block;background:transparent;border:1px solid #666;border-radius:5px;min-width:76px;min-height:48px}nav{display:none;flex:0 0 100%;gap:0;border-top:1px solid #444;padding:6px 0}nav.is-open{display:flex;flex-wrap:wrap}nav>a{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;padding:8px;font-size:1rem}.hero-copy{padding:22px 6% 28px}.hero-copy .eyebrow{font-size:.8125rem;letter-spacing:1px}.hero h1{font-size:clamp(2rem,9.8vw,4.5rem);letter-spacing:-.04em;line-height:1.08;max-width:100%}.hero-copy .cta{width:100%;justify-content:center}.intro{font-size:1rem;line-height:1.6}.section{padding:44px 6%}.team{padding-top:0}.section h2{font-size:clamp(2rem,9vw,2.75rem);letter-spacing:-.04em}.service{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 0}.service .num{display:none}.service strong{font-size:1.125rem;line-height:1.4}.price{font-size:1.125rem}.ticker{gap:9px;padding:15px 5%;font-size:clamp(.875rem,4vw,1.375rem)}.hero-photo figcaption,.team-photo p,.facade figcaption{font-size:.8125rem}.team-names strong{font-size:1.375rem}.booking-strip{padding:32px 6%}.booking-strip h2{font-size:clamp(2rem,9vw,3.75rem)}.booking-strip .cta{width:100%;justify-content:center}.mobile-bar{padding:10px max(5%,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(5%,env(safe-area-inset-left));gap:16px}.mobile-bar button{min-height:48px;flex:1;justify-content:center;font-size:1rem}.mobile-bar>span{font-size:1.5rem}footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.hours p{font-size:1rem;flex-wrap:wrap}.address>p:nth-child(2){font-size:1.25rem}dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;padding:calc(12px + env(safe-area-inset-top)) 20px calc(12px + env(safe-area-inset-bottom));border-radius:0}dialog h2{font-size:1.875rem;letter-spacing:-.03em;line-height:1.15}.dialog-head{top:calc(-12px - env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top));margin-bottom:12px}.dialog-head .eyebrow{font-size:.75rem}.steps{margin:12px 0 20px;gap:8px}.steps li{font-size:.8125rem}.form-actions{bottom:calc(-12px - env(safe-area-inset-bottom));padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:12px}.form-actions .cta{flex:1;justify-content:center;padding:14px 10px}#back{padding:12px}.summary dd{font-size:1rem}.simulation-note{padding:14px}.facade{height:340px;margin-top:44px}#time-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
body.modal-open{position:fixed;width:100%;overflow:hidden}

.contact-step input{display:block;width:100%;min-width:0;min-height:52px;padding:14px;border:1px solid #777a70;background:#252623;color:#fff;border-radius:6px;font:inherit;font-size:16px;margin-bottom:20px}.contact-step input::placeholder{color:#b5b6b0}.summary dd{overflow-wrap:anywhere}@media(max-width:380px){.steps{gap:5px}.steps li{font-size:12px}.form-actions .cta{font-size:15px}}

.hamburger{display:flex;flex-direction:column;gap:5px;width:24px;margin:auto}.hamburger i{display:block;height:2px;width:24px;background:currentColor;transition:transform .15s}.menu-toggle[aria-expanded=true] .hamburger i:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .hamburger i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .hamburger i:last-child{transform:translateY(-7px) rotate(-45deg)}.multi-services legend{font-size:16px}.multi-choice{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #555;margin-bottom:8px;border-radius:6px;min-height:64px;cursor:pointer}.multi-choice:has(input:checked){border-color:#fff;background:#333}.multi-choice input{width:22px;height:22px;flex-shrink:0;accent-color:#aaa}.multi-choice>span{flex:1;font-size:16px}.multi-choice small{display:block;font-size:13px;color:#bbb}.multi-choice b{white-space:nowrap;font-size:16px}.selection-total{padding:15px;background:#303030;border:1px solid #555;font-size:16px}.team-names button{grid-template-columns:64px 1fr 22px;gap:18px;min-height:86px}.portrait{display:block;width:64px;height:64px;position:relative;overflow:hidden;border-radius:50%;border:1px solid #777;flex-shrink:0}.portrait img{position:absolute;max-width:none;width:350.208px;height:466.944px;left:calc(32px - var(--face-x)*.256px);top:calc(32px - var(--face-y)*.256px)}.booking-strip{position:relative;isolation:isolate;overflow:hidden;background:#e5e3de}.brand-watermark{position:absolute;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(55%,420px);max-width:80%;height:auto;opacity:.06;mix-blend-mode:multiply;z-index:-1;pointer-events:none}@media(max-width:760px){.menu-toggle{min-width:48px;width:48px;padding:10px}.team-names button{grid-template-columns:64px 1fr 22px}.brand-watermark{width:min(72%,300px);left:50%;right:auto;top:50%}}

/* A short photographic ritual: native scrolling, no scroll hijacking. */
.scroll-story{background:#0c0c0c;position:relative;isolation:isolate}
.story-stage{position:relative;min-height:620px;height:80svh;max-height:900px;overflow:hidden;background:#151515}
.story-image{position:absolute;inset:0 0 0 36%;overflow:hidden}
.story-image img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transform-origin:50% 56%;display:block}
.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0c0c 12%,#0c0c0ccc 35%,transparent 80%),linear-gradient(0deg,#000b,transparent 55%);pointer-events:none}
.story-top{position:absolute;top:32px;left:5%;right:5%;display:flex;justify-content:space-between;gap:16px;align-items:center}
.story-top .eyebrow{margin:0}.story-motion{border:1px solid #aaa;background:#111d;color:#fff;padding:10px 14px;min-height:44px;font-size:14px}
.story-copy{position:absolute;left:5%;right:5%;bottom:60px;max-width:640px}
.story-copy h2{font-size:clamp(40px,6vw,88px);line-height:1.05;letter-spacing:-.04em;margin-bottom:20px;max-width:9em;text-wrap:balance}
.story-count{font-size:14px;letter-spacing:3px;margin-bottom:16px}.story-description{font-size:18px;margin:0 0 24px;color:#eee}
.story-copy .cta{display:inline-flex;background:#fff;color:#111;min-height:52px}
.story-skip{display:inline-flex;min-height:44px;align-items:center;margin-left:22px;font-size:16px}
.story-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff35;display:none}.story-track span{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.story-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.scroll-story.has-motion{height:230svh}.has-motion .story-stage{position:sticky;top:0;height:100svh;max-height:none;min-height:0}.has-motion .story-track{display:block}
.scroll-story:not(.has-motion) .story-word{display:none!important}.scroll-story:not(.has-motion) .story-word:last-child{display:inline!important}.scroll-story:not(.has-motion) .story-count{display:none}
@media(max-width:760px){.story-stage{height:calc(100svh - 76px);min-height:540px;max-height:820px}.scroll-story.has-motion{height:210svh}.has-motion .story-stage{height:calc(100svh - 76px - env(safe-area-inset-bottom))}.story-image{inset:0}.story-image img{object-position:50% 50%}.story-shade{background:linear-gradient(0deg,#080808 0%,#080808e6 14%,#08080870 39%,transparent 70%,#0007 100%)}.story-top{top:20px;left:6%;right:6%;gap:8px}.story-top .eyebrow{font-size:12px;letter-spacing:1px}.story-motion{font-size:13px;padding:8px 10px}.story-copy{left:6%;right:6%;bottom:26px}.story-copy h2{font-size:clamp(36px,10vw,60px);margin-bottom:12px}.story-description{font-size:16px;margin-bottom:16px}.story-count{margin-bottom:10px}.story-copy .cta{padding:14px 18px}.story-skip{display:flex;margin:8px 0 0;width:max-content}.story-copy{max-width:none}}
@media(prefers-reduced-motion:reduce),(max-height:540px){.scroll-story.has-motion{height:auto}.has-motion .story-stage{position:relative;min-height:540px;height:auto}.story-image img{transform:none!important}.story-track{display:none!important}.hamburger i{transition:none}}

/* Scroll story: real photographs, progressive enhancement, no scroll capture. */
.experience{background:#0b0b0b;position:relative;margin:0;--story-progress:0}.experience-stage{position:relative;overflow:hidden}.experience-top,.experience-bottom{padding:24px 5%;position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:20px}.experience-top .eyebrow{margin:0}.experience-top a{font-size:14px;min-height:44px;display:flex;align-items:center}.experience-scene{position:relative;min-height:620px;overflow:hidden;background:#171717}.experience-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.experience-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.15) 80%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 70%);pointer-events:none}.experience-detail>img{transform:scale(1.5);transform-origin:60% 54%}.experience-copy{position:absolute;z-index:2;left:5%;bottom:10%;max-width:620px;padding-right:24px}.experience-copy h2{font-size:clamp(40px,5.7vw,82px);line-height:1.08;letter-spacing:-.04em;margin-bottom:20px}.experience-copy>p:last-child{font-size:18px;max-width:360px;color:#eee}.experience-copy .eyebrow{margin-bottom:18px}.experience-progress{display:none}.experience-bottom .cta{min-width:200px;justify-content:center}.experience.is-animated{height:260svh}.is-animated .experience-stage{position:sticky;top:0;height:100svh;min-height:480px;display:flex;flex-direction:column}.is-animated .experience-top{position:absolute;inset:0 0 auto;background:linear-gradient(#000a,transparent)}.is-animated .experience-scenes{position:absolute;inset:0}.is-animated .experience-scene{position:absolute;inset:0;min-height:0;opacity:0;visibility:hidden;will-change:opacity}.is-animated .experience-scene:first-child{opacity:1;visibility:visible}.is-animated .experience-scene>img{will-change:transform}.is-animated .experience-copy{bottom:22%}.is-animated .experience-bottom{margin-top:auto;background:linear-gradient(transparent,#000b);padding-top:36px;padding-bottom:36px}.is-animated .experience-progress{display:flex;gap:20px;flex:1;max-width:470px}.experience-progress>span{flex:1;position:relative;padding-top:14px;color:#bbb;font-size:14px}.experience-progress>span::before,.experience-progress>span::after{content:"";height:2px;position:absolute;top:0;left:0;width:100%;background:#ffffff45}.experience-progress>span::after{background:white;transform:scaleX(var(--fill,0));transform-origin:left}.experience-progress>span.is-current{color:white}
@media(max-width:760px){.experience.is-animated{height:235svh}.is-animated .experience-stage{height:calc(100svh - 78px - env(safe-area-inset-bottom));min-height:390px}.experience-top{padding:16px 6%;gap:10px}.experience-top .eyebrow{font-size:12px;letter-spacing:1px}.experience-top a{font-size:14px;white-space:nowrap}.experience-scene{min-height:560px}.experience-scene>img{object-position:54% 42%}.experience-scene::after{background:linear-gradient(0deg,rgba(0,0,0,.96),rgba(0,0,0,.06) 82%)}.experience-copy{left:6%;bottom:7%;padding-right:6%}.experience-copy h2{font-size:clamp(32px,9vw,52px);margin-bottom:12px}.experience-copy>p:last-child{font-size:16px;max-width:290px;margin-bottom:0}.experience-copy .eyebrow{font-size:13px;margin-bottom:12px}.is-animated .experience-copy{bottom:17%}.experience-bottom{padding:20px 6%}.is-animated .experience-bottom{padding:20px 6% 24px}.is-animated .experience-bottom .cta{display:none}.is-animated .experience-progress{max-width:none;gap:16px}.experience-detail>img{transform-origin:58% 51%}}
@media(max-height:540px){.experience.is-animated{height:auto}.is-animated .experience-stage{position:relative;height:auto;min-height:0;display:block}.is-animated .experience-top{position:relative}.is-animated .experience-scenes{position:relative}.is-animated .experience-scene{position:relative;min-height:500px;opacity:1!important;visibility:visible!important}.is-animated .experience-copy{bottom:8%}.is-animated .experience-progress{display:none}.is-animated .experience-bottom .cta{display:flex}}
@media(prefers-reduced-motion:reduce){.hamburger i{transition:none}}

/* Individual framing for the new Instagram photographs. */
.experience-scene:first-child>img{object-position:50% 45%}.experience-detail>img{object-position:50% 32%;transform:scale(1.12);transform-origin:50% 34%}
@media(max-width:760px){.experience-detail>img{object-position:50% 30%;transform-origin:50% 34%}.experience-scene:first-child>img{object-position:50% 42%}}

/* Team layout after removing the secondary photograph. */
.team{display:block}.team-copy{max-width:1000px;margin-inline:auto}.team-copy>p{max-width:640px}.team-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.team-names button:last-child{border-bottom:0}@media(max-width:760px){.team-names{grid-template-columns:1fr;gap:0}}

/* Automatic carousel: one normal-height section, no sticky scroll runway. */
.experience.is-slideshow{height:auto}.is-slideshow .experience-stage{position:relative;height:min(820px,90svh);min-height:600px;display:flex;flex-direction:column}.is-slideshow .experience-top{position:absolute;inset:0 0 auto;background:linear-gradient(#000b,transparent)}.is-slideshow .experience-scenes{position:absolute;inset:0}.is-slideshow .experience-scene{position:absolute;inset:0;min-height:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}.is-slideshow .experience-scene.is-current{opacity:1;visibility:visible;transition:opacity .8s ease}.is-slideshow .experience-copy{bottom:24%}.is-slideshow .experience-bottom{margin-top:auto;flex-wrap:wrap;background:linear-gradient(transparent,#000c);padding-bottom:24px}.is-slideshow .experience-progress{display:flex;flex:1;gap:18px;min-width:200px}.experience-controls{display:flex;gap:8px}.experience-controls button{min-height:44px;padding:8px 12px;border:1px solid #aaa;background:#151515bb;color:white;font-size:14px}.is-slideshow .experience-bottom .cta{min-width:170px}.is-slideshow .experience-detail>img{transform:scale(1.12)}
@media(max-width:760px){.is-slideshow .experience-stage{height:calc(100svh - 90px);min-height:590px;max-height:800px}.is-slideshow .experience-copy{bottom:26%}.is-slideshow .experience-bottom{gap:14px;padding:18px 6% 24px}.is-slideshow .experience-bottom .cta{display:none}.is-slideshow .experience-progress{flex-basis:100%;order:-1}.experience-controls{width:100%;justify-content:space-between}.experience-controls button{flex:1}.is-slideshow .experience-copy h2{font-size:clamp(30px,8.5vw,48px)}}
@media(prefers-reduced-motion:reduce){.is-slideshow .experience-scene{transition:none}}

/* Fast dissolves, mobile swipes and desktop-only navigation. */
.is-slideshow .experience-scene{transition:opacity .45s ease,visibility 0s .45s}.is-slideshow .experience-scene.is-current{transition:opacity .45s ease}
.slide-arrow{position:absolute;top:44%;z-index:5;width:48px;height:56px;border:1px solid #ffffff80;border-radius:4px;background:#1119;color:#fff;font-size:40px;line-height:1;display:grid;place-items:center}.slide-prev{left:18px}.slide-next{right:18px}.slide-arrow:hover{background:#111d}
@media(max-width:760px){.slide-arrow{display:none}.is-slideshow .experience-stage{touch-action:pan-y pinch-zoom}}
@media(prefers-reduced-motion:reduce){.is-slideshow .experience-scene,.is-slideshow .experience-scene.is-current{transition:none}}

/* Logo-inspired display lettering, hosted locally with its OFL licence. */
@font-face{font-family:'Rye';src:url('rye-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
main h1,main h2,.ticker{font-family:'Rye',Georgia,serif;font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.18}
.hero h1{font-size:clamp(36px,4.3vw,68px);letter-spacing:0;line-height:1.18}
main h2{font-size:clamp(32px,3.6vw,54px)}
.experience-copy h2{font-size:clamp(32px,4.2vw,60px);letter-spacing:0;line-height:1.2}
.booking-strip h2{font-size:clamp(32px,4.1vw,60px);letter-spacing:0;line-height:1.2}
@media(max-width:760px){.hero h1{font-size:clamp(27px,7.7vw,52px)}.section h2,.booking-strip h2,.is-slideshow .experience-copy h2{font-size:clamp(26px,7.2vw,40px);letter-spacing:0;line-height:1.22}.ticker{font-size:clamp(12px,3.5vw,20px)}}

/* Real work gallery */
.gallery{display:block;background:#111;color:#fff;overflow:hidden}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.gallery-heading h2{font-size:clamp(2rem,5vw,4.6rem);line-height:1.2}.gallery-heading p{margin-top:20px}.gallery-arrows{display:flex;gap:12px}.gallery-arrows button{width:52px;height:52px;border:1px solid #777;background:transparent;color:white;font-size:32px}.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#888 #222;padding-bottom:20px;overscroll-behavior-x:contain}.gallery-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}.gallery-zoom{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#222}.gallery-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-zoom:hover img{transform:scale(1.035)}.zoom-label{position:absolute;right:12px;bottom:12px;background:#111c;padding:9px 12px;color:#fff;font-size:14px}.gallery-caption{display:flex;justify-content:space-between;gap:10px;padding:16px 0;font-size:14px}.gallery-caption a{color:#bbb}.gallery-hint{font-size:14px;color:#bbb;margin-top:16px}.directions{display:inline-flex;margin:8px 0 24px;text-decoration:none}#photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:64px 70px 32px;background:#080808;color:white;margin:0}#photo-viewer::backdrop{background:#000e}#photo-viewer[open]{display:flex;align-items:center;justify-content:center}#photo-viewer figure{margin:0;text-align:center;max-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}#photo-viewer img{max-width:100%;max-height:calc(100% - 48px);object-fit:contain;width:auto;height:auto}#photo-viewer figcaption{font-size:16px;color:#fff}#photo-viewer button{position:absolute;background:#242424;color:#fff;border:1px solid #888;width:48px;height:48px;font-size:28px;z-index:1}.photo-close{right:16px;top:16px}.photo-prev{left:12px;top:50%}.photo-next{right:12px;top:50%}@media(max-width:760px){.gallery-card{flex-basis:86%}.gallery-track{gap:16px}.gallery-arrows{display:none}.gallery-caption{flex-wrap:wrap}#photo-viewer{padding:76px 12px 84px}#photo-viewer .photo-prev,#photo-viewer .photo-next{top:auto;bottom:18px}.gallery-heading h2{font-size:2rem}}@media(prefers-reduced-motion:reduce){.gallery-zoom img{transition:none}}
