@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-6.ttf) format('truetype');
}
:root{--ink:#111110;--paper:#f3f1eb;--white:#fff;--muted:#aaa9a3;--line:#d5d3cc;--accent:#cabb9f;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid #998158;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip-link:focus{top:10px}.header{height:104px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:32px;border-bottom:1px solid #ffffff22}.brand{width:157px;flex-shrink:0}.brand img{height:auto}.header nav{display:flex;gap:35px;font-size:13px}.header nav a:hover{color:var(--accent)}.nav-count{font-size:9px;vertical-align:super;margin-left:3px;color:var(--accent)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--paper);color:var(--ink);padding:20px 24px;font-size:13px;font-weight:700;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.button-small{padding:13px 20px;min-height:46px}.hero{position:relative;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:55% 45%;min-height:650px}.hero-copy{padding:70px 0 88px 9.1%;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;display:flex;align-items:center;gap:11px}.small-star{font-size:23px;color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-family:var(--display);font-size:clamp(70px,8.8vw,137px);font-weight:700;line-height:.91;letter-spacing:-2px;margin:29px -45px 26px 0}h1 em{font-style:normal;color:var(--accent)}.hero-copy>p{color:#b6b5b0;font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:33px}.text-link{font-size:12px;padding:12px 0;border-bottom:1px solid #777;display:inline-flex;gap:24px;align-items:center}.text-link:hover{color:var(--accent)}.hero-note{font-size:9px;letter-spacing:1.7px;margin-top:38px;display:flex;align-items:center;gap:9px}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.hero-visual{position:relative;overflow:hidden;margin:24px 24px 24px 0;min-height:540px}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:grayscale(1);opacity:.8}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 40%),linear-gradient(90deg,#11111022,transparent 35%);pointer-events:none}.photo-caption{position:absolute;bottom:23px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;z-index:2}.round-link{position:absolute;top:23px;right:23px;width:66px;height:66px;border:1px solid #ffffff8a;border-radius:50%;display:grid;place-items:center;font-size:33px;z-index:2}.round-link:hover{background:white;color:black}.hero-index{position:absolute;bottom:23px;left:5%;font-size:8px;letter-spacing:1.6px;color:#74746e}.ticker{display:flex;align-items:center;justify-content:space-around;gap:25px;padding:23px 4%;background:var(--accent);white-space:nowrap;overflow:hidden}.ticker span{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:.6px}.ticker b{font-size:28px;font-weight:400}@media(min-width:1600px){.header,.hero,.ticker,main>section,footer{padding-left:max(5%,calc((100% - 1500px)/2));padding-right:max(5%,calc((100% - 1500px)/2))}.hero-copy{padding-left:0}.hero-visual{margin-right:0}}@media(max-width:900px){.header{height:85px}.header nav{gap:18px;font-size:11px}.brand{width:132px}.hero{min-height:590px;grid-template-columns:58% 42%}.hero-copy{padding-top:55px}h1{font-size:clamp(65px,10vw,90px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-visual{min-height:500px}.photo-caption span:last-child{display:none}.ticker{justify-content:flex-start;gap:32px}.ticker span{font-size:23px}}@media(max-width:600px){html{scroll-padding-top:20px}.header{height:80px;padding:0 6%}.header nav{display:none}.brand{width:123px}.button-small{font-size:11px;padding:10px 15px;gap:22px}.hero{display:flex;flex-direction:column}.hero-copy{padding:44px 6% 35px}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:clamp(65px,14.8vw,89px);letter-spacing:-1px;margin:24px 0}.hero-copy>p{font-size:14px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}.hero-actions .button{font-size:12px;padding:16px 18px;gap:20px}.hero-actions .text-link{font-size:11px;gap:10px}.hero-note{margin-top:28px;font-size:8px}.hero-visual{height:400px;min-height:0;margin:0 6% 35px}.hero-index{display:none}.ticker{padding:15px 6%}.ticker span{font-size:21px}.ticker b{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.section{padding:94px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:45px}.section .eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:22px;color:#65645f}h2{font-family:var(--display);font-weight:700;font-size:clamp(48px,5.2vw,78px);line-height:.98;letter-spacing:-.8px}.section-heading>p,.locations-intro p{font-size:13px;line-height:1.8;color:#62625c;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:25px 24px 29px;border-right:1px solid var(--line);transition:background .2s}.service-card:first-child{padding-left:0}.service-card:last-child{border-right:0}.service-card:hover{background:#e7e3d9}.service-top{display:flex;justify-content:space-between;color:#77766f;font-size:10px;margin-bottom:35px}.service-top span:last-child{font-size:22px;margin-top:-5px}.service-card h3{font-size:30px;font-family:var(--display);text-transform:uppercase;margin-bottom:14px}.service-card p{font-size:12px;line-height:1.85;max-width:240px;color:#62625c}.service-book{font-size:10px;font-weight:600;margin-top:27px;display:flex;align-items:center;gap:20px}.service-book span{font-size:17px}.service-note{margin-top:19px;font-size:10px;color:#77766f}.experience{background:#e9e6de;display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding-top:80px;padding-bottom:80px}.experience-images{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px;padding-bottom:32px}.experience-images img{width:100%;height:400px;object-fit:cover;filter:grayscale(1)}.experience-images img:nth-child(2){margin-top:65px}.image-label{position:absolute;bottom:6px;left:0;font-size:8px;letter-spacing:2px}.experience-copy{align-self:center}.experience h2 span{color:#88847b}.experience-copy p{font-size:13px;line-height:1.9;color:#62625c;max-width:360px;margin-top:22px}.experience-copy .text-link{margin-top:22px;font-weight:600;gap:32px}.locations{background:var(--ink);color:var(--paper)}.locations .eyebrow{color:var(--accent)}.locations-intro{display:flex;align-items:center;gap:20px}.location-total{font-size:80px;font-family:var(--display);line-height:1;color:var(--accent)}.locations-intro p{color:#a09f98}.location-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff28;border-left:1px solid #ffffff28}.location-card{padding:25px 22px 0;border-bottom:1px solid #ffffff28;border-right:1px solid #ffffff28;transition:background .2s}.location-card:hover{background:#22221e}.location-meta{display:flex;justify-content:space-between;gap:5px;font-size:8px;letter-spacing:1.5px;color:var(--accent);margin-bottom:25px}.location-meta>span:last-child{font-size:17px;line-height:.5}.location-card h3{font-family:var(--display);font-size:26px;text-transform:uppercase;font-weight:600;margin-bottom:15px}.location-card address{font-style:normal;font-size:11px;line-height:1.8;color:#aaa9a2}.phone{font-size:11px;display:inline-block;color:#aaa9a2;margin-top:13px;padding:3px 0}.phone:hover{text-decoration:underline;color:white}.location-book{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff28;padding:20px 0;margin-top:24px;font-size:11px;font-weight:600}.location-book span{font-size:20px;color:var(--accent)}.location-book:hover{color:var(--accent)}.location-bottom{display:flex;align-items:center;gap:10px;margin-top:25px;font-size:10px;color:#aaa9a2}.location-bottom a{margin-left:auto;color:var(--paper);border-bottom:1px solid #ffffff50;padding-bottom:4px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.faq>div>p{font-size:12px;color:#77766f;margin-top:22px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:23px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;font-size:13px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;line-height:1.9;color:#62625c;padding:0 40px 24px 0}.final-cta{position:relative;overflow:hidden;text-align:center;padding:70px 5% 74px;background:var(--accent)}.final-cta .eyebrow{justify-content:center;font-size:9px;letter-spacing:1.7px}.final-cta h2{font-size:clamp(58px,9vw,132px);margin:25px 0 30px;position:relative;z-index:1}.final-cta h2 em{font-style:normal;color:#f8f5ee}.button-dark{background:var(--ink);color:var(--paper);position:relative;z-index:1}.button-dark:hover{background:#33332c}.cta-star{position:absolute;right:0;bottom:-62px;font-size:270px;color:#b7a88c;line-height:1;transform:rotate(15deg);pointer-events:none}footer{padding:48px 5% 24px;background:var(--ink);color:var(--paper)}.footer-main{display:flex;gap:55px;align-items:center;padding-bottom:40px}.footer-main>p{font-size:11px;line-height:1.8;color:#92928b}.footer-main>div{margin-left:auto;display:flex;gap:28px;font-size:11px}.footer-main a:hover{color:var(--accent)}.footer-bottom{padding-top:22px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;font-size:8px;color:#92928b}.footer-bottom>span:nth-child(2){letter-spacing:2px}.mobile-book{display:none}@media(max-width:1000px){.section{padding:70px 5%}.service-card{padding-left:18px;padding-right:18px}.experience{gap:6%}.experience-images img{height:330px}.location-grid{grid-template-columns:repeat(2,1fr)}.location-card h3{font-size:30px}.footer-main{gap:25px}.footer-main>div{gap:18px}.faq{gap:7%}}@media(max-width:600px){.section{padding:55px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section .eyebrow{font-size:8px;margin-bottom:17px}h2{font-size:53px}.section-heading>p,.locations-intro p{font-size:12px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:22px 15px!important}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card h3{font-size:27px}.service-card p{font-size:11px}.service-top{margin-bottom:20px}.service-book{font-size:9px;gap:14px}.service-note{font-size:9px;line-height:1.7}.experience{display:flex;flex-direction:column-reverse;gap:35px}.experience h2 br:nth-of-type(2){display:none}.experience h2 span{display:block;margin-top:6px}.experience h2 span br{display:none}.experience-copy p{max-width:none;font-size:12px}.experience-images img{height:285px}.experience-images img:nth-child(2){margin-top:35px}.locations-intro{gap:17px}.location-total{font-size:55px}.location-card{padding:20px 13px 0}.location-meta{font-size:7px;letter-spacing:.8px}.location-card h3{font-size:24px}.location-card address,.phone{font-size:10px}.location-book{font-size:10px}.location-bottom{flex-wrap:wrap;font-size:9px;line-height:1.8}.location-bottom a{margin:7px 0 0 15px}.faq{display:block}.faq-list{margin-top:30px}summary{font-size:12px;padding:20px 0}details p{font-size:12px}.final-cta{padding:50px 6%}.final-cta h2{font-size:15vw;letter-spacing:-1px}.final-cta .eyebrow{font-size:7px}.cta-star{font-size:190px}.footer-main{flex-wrap:wrap;gap:25px}.footer-main>p{font-size:10px}.footer-main>div{margin-left:0;width:100%;justify-content:space-between;font-size:10px}.footer-bottom{gap:12px;flex-wrap:wrap;font-size:8px}.footer-bottom>span:nth-child(2){display:none}footer{padding:35px 6% 95px}.mobile-book{position:fixed;bottom:12px;left:6%;right:6%;padding:17px 22px;background:var(--paper);color:var(--ink);border:1px solid #11111025;box-shadow:0 4px 20px #0002;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1px;z-index:10}.mobile-book span{font-size:20px;line-height:1}}

/* Simplified controls and location pages. */
.button,.mobile-book{border-radius:8px;justify-content:center;gap:0;text-align:center}
.button{border:1px solid transparent}
.button-secondary{background:transparent;color:inherit;border:1px solid #ffffff70}
.button-secondary:hover{background:#ffffff12;color:var(--paper)}
.hero-copy{align-self:center;padding-top:60px;padding-bottom:60px}
.hero-actions,.button-row{display:flex;flex-direction:row;align-items:stretch;flex-wrap:wrap;gap:12px}
.hero-actions .button{padding:18px 22px;min-height:56px}
.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.location-card{padding:32px;display:flex;flex-direction:column;align-items:flex-start}
.location-card h3{font-size:34px;text-transform:none;line-height:1.15}
.location-card address,.phone{font-size:14px;line-height:1.8}
.location-card .phone{margin-bottom:24px}
.location-card .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin-top:auto;padding-top:8px;width:100%}
.location-card .button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;font-size:13px;line-height:1.3;padding:14px 12px;border-radius:8px;text-align:center}
.location-card .location-book{margin:0;border:1px solid transparent;color:var(--ink)}
.location-card .location-book:hover{color:var(--ink)}
.road-name{font-size:16px;color:var(--accent);margin:-4px 0 16px}
.service-card{padding-top:32px;padding-bottom:32px}
.service-card p{font-size:14px}
.services .section-heading>p{font-size:15px}
.experience-copy p{font-size:15px}
.locations-intro p{font-size:15px}
.location-bottom{font-size:12px}
summary{font-size:15px}
details p{font-size:14px}
.faq h2{font-size:clamp(40px,4.4vw,64px)}
.final-cta h2{margin-top:0}
.shop-hero{background:var(--ink);color:var(--paper);padding-top:45px;padding-bottom:65px}
.breadcrumb{font-size:14px;color:#bbb8af;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.shop-hero h1{font-size:clamp(58px,7.2vw,110px);text-transform:uppercase;line-height:.98;margin:0 0 28px;max-width:1100px;overflow-wrap:break-word}
.shop-hero>p{font-size:17px;color:#b6b5b0;line-height:1.8}
.shop-hero>p.shop-road{font-size:24px;color:var(--accent);margin-bottom:15px}
.shop-hero .button-row{margin-top:30px}
.shop-visit{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}
.shop-visit h3{font-size:22px;margin:28px 0 16px}
.shop-visit address{font-size:17px;font-style:normal;line-height:1.8}
.shop-phone{display:inline-block;font-size:17px;text-decoration:underline;text-underline-offset:5px;margin:18px 0}
.shop-visit p{font-size:14px;line-height:1.8;color:#62625c}
.shop-visit iframe{display:block;border:0;border-radius:8px;width:100%;min-height:400px;background:#e9e6de}
.shop-services{background:#e9e6de}
.shop-services>p{font-size:16px;line-height:1.8;max-width:680px;margin:25px 0}
@media(max-width:900px){.hero-actions{flex-direction:row}.hero-actions .button{padding:15px;font-size:12px}.shop-visit{gap:30px}.location-card{padding:25px}.location-card h3{font-size:30px}.location-card .button{padding:13px 16px}}
@media(max-width:600px){.hero-copy{padding:35px 6%}.hero-actions{gap:10px}.hero-actions .button{padding:14px 12px;font-size:11px;flex:1;min-height:50px}.location-grid{grid-template-columns:1fr}.location-card{padding:26px}.location-card h3{font-size:34px}.location-card .button-row{gap:10px}.location-card .button{font-size:13px}.services .section-heading>p,.experience-copy p,.locations-intro p{font-size:14px}.service-card p{font-size:13px}.location-bottom{font-size:11px}.faq h2{font-size:43px}summary{font-size:14px}details p{font-size:14px}.shop-hero h1{font-size:clamp(48px,11.5vw,70px);letter-spacing:-1px}.shop-hero>p{font-size:15px}.shop-hero .button-row .button{flex:1;padding:16px 12px;font-size:12px}.shop-visit{grid-template-columns:1fr;gap:30px}.shop-visit iframe{height:340px;min-height:340px}.shop-services>p{font-size:15px}.breadcrumb{font-size:12px}.shop-hero{padding-bottom:45px}}

/* Motion stays clean: crisp type, silver highlight, no halo. */
.hero-line { display: block; }
.hero .famous-shine {
  display: inline-block;
  color: #e9d7ad;
  filter: none;
  text-shadow: none;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .hero .famous-shine {
    background: linear-gradient(110deg, #e9d7ad 28%, #f5ead0 38%, #c5c6c9 44%, #fffaf0 49%, #eeddb5 56%, #d9bd80 76%);
    background-size: 240% 100%;
    background-position: 120% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: silver-pass 6s ease-in-out infinite;
  }
}
@keyframes silver-pass {
  0%, 25% { background-position: 120% 0; }
  75%, 100% { background-position: -120% 0; }
}
.ticker { position: relative; display: block; padding: 22px 0; }
.ticker-track { display: flex; width: max-content; }
.ticker-group { display: flex; align-items: center; justify-content: space-around; gap: 38px; padding: 0 19px; min-width: 100vw; flex-shrink: 0; }
.ticker.is-moving .ticker-track { animation: service-marquee 30s linear infinite; }
.ticker.is-paused .ticker-track,.ticker:hover .ticker-track,.ticker:focus-within .ticker-track { animation-play-state: paused; }
.ticker-toggle { position: absolute; right: 10px; bottom: 3px; border: 0; border-radius: 4px; padding: 3px 7px; color: var(--ink); background: var(--accent); font-size: 10px; cursor: pointer; }
.ticker-toggle[hidden] { display: none; }
@keyframes service-marquee { to { transform: translateX(-50%); } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card h3 { transition: translate .35s ease; }
  .service-card:hover h3 { translate: 6px 0; }
  .location-card { transition: background .3s ease; }
}
@media (prefers-reduced-motion: reduce) {
  .hero .famous-shine,.ticker.is-moving .ticker-track { animation: none; }
  .ticker-toggle { display: none; }
}
@media (forced-colors: active) {
  .hero .famous-shine { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; animation: none; }
}

/* Original logo silhouettes and restrained champagne accents. */
:root { --gold: #c9ad76; --gold-dark: #876a35; }
.experience,.locations,.final-cta,.shop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.experience::before,.locations::before,.final-cta::before,.shop-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  width: clamp(300px, 46vw, 680px);
  aspect-ratio: 508 / 168;
  pointer-events: none;
  background: var(--gold);
  -webkit-mask: url('logo.png') center / contain no-repeat;
  mask: url('logo.png') center / contain no-repeat;
}
.experience::before { right: -55px; bottom: 15px; background: var(--gold-dark); opacity: .09; transform: rotate(-7deg); }
.locations::before { right: -65px; top: 25px; opacity: .075; }
.final-cta::before { left: -65px; bottom: -15px; background: #5a431d; opacity: .12; transform: rotate(-10deg); }
.shop-hero::before { right: -60px; bottom: 25px; opacity: .075; }
.experience h2 span { color: var(--gold-dark); }
.service-grid { border-top: 2px solid var(--gold); }
.service-card h3 { color: var(--gold-dark); }
.location-grid { border-top-color: #c9ad7655; border-left-color: #c9ad7655; }
.location-card { border-right-color: #c9ad7655; border-bottom-color: #c9ad7655; }
.location-card .location-book { background: #dfcba5; }
.location-card .location-book:hover { background: #eddcbc; }
.location-card .button-secondary { border-color: #c9ad7680; }
.location-card .button-secondary:hover { background: #c9ad7614; color: #f0dfbd; }
.header .button-small { background: #dfcba5; }
.header .button-small:hover { background: #eddcbc; }
.experience .text-link { border-bottom-color: var(--gold-dark); }
.faq-list { border-top: 2px solid var(--gold); }
summary span { color: var(--gold-dark); }
.footer-bottom { border-top-color: #c9ad7640; }
@media(max-width:600px) {
  .experience::before { width: 360px; right: -90px; bottom: 12px; opacity: .07; }
  .locations::before { width: 340px; right: -100px; top: 32px; opacity: .055; }
  .final-cta::before { width: 330px; left: -60px; bottom: 8px; opacity: .09; }
  .shop-hero::before { width: 340px; right: -95px; bottom: 24px; opacity: .06; }
}
@media(forced-colors:active) {
  .experience::before,.locations::before,.final-cta::before,.shop-hero::before { display: none; }
}

/* Keep silhouettes in dedicated open space so adjacent sections do not compete. */
.experience::before,.locations::before { display: none; }
.final-cta::before {
  width: clamp(280px, 36vw, 520px);
  left: auto;
  right: -55px;
  bottom: -8px;
  opacity: .08;
  transform: rotate(-7deg);
}
.shop-hero::before {
  width: clamp(280px, 34vw, 500px);
  right: -45px;
  bottom: 30px;
  opacity: .055;
}
@media(max-width:600px) {
  .experience::before,.locations::before { display: none; }
  .final-cta::before { width: 300px; right: -90px; bottom: 8px; opacity: .065; }
}

/* Location chooser */
.location-dialog { width:min(760px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #c9ad7666; border-radius:12px; color:var(--paper); background:transparent; overflow:visible; }
.location-dialog::backdrop { background:rgb(5 5 5 / 78%); opacity:0; transition:opacity .3s ease; backdrop-filter:blur(5px); }
.location-dialog.is-open::backdrop { opacity:1; }
.dialog-panel { position:relative; max-height:calc(100dvh - 32px); padding:46px; border-radius:11px; background:var(--ink); overflow:auto; opacity:0; translate:0 28px; scale:.97; transition:opacity .35s ease,translate .35s cubic-bezier(.22,1,.36,1),scale .35s cubic-bezier(.22,1,.36,1); }
.location-dialog.is-open .dialog-panel { opacity:1; translate:0 0; scale:1; }
.dialog-panel>img { width:120px; margin-bottom:30px; }
.dialog-panel h2 { font-size:clamp(46px,7vw,72px); }
.dialog-panel>p { margin:12px 0 28px; color:#aaa9a2; font-size:14px; }
.dialog-close { position:absolute; top:18px; right:20px; width:42px; height:42px; border:1px solid #c9ad7670; border-radius:50%; color:var(--paper); background:transparent; font-size:26px; line-height:1; cursor:pointer; }
.dialog-close:hover { color:var(--ink); background:var(--gold); }
.dialog-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #c9ad7655; border-left:1px solid #c9ad7655; }
.dialog-locations a { min-height:72px; padding:18px 20px; border-right:1px solid #c9ad7655; border-bottom:1px solid #c9ad7655; display:flex; flex-direction:column; justify-content:center; font-family:var(--display); font-size:22px; line-height:1.1; transition:color .2s ease,background .2s ease; }
.dialog-locations a:hover,.dialog-locations a:focus-visible { color:var(--ink); background:var(--gold); }
.dialog-locations small { margin-top:5px; color:var(--gold); font-family:var(--body); font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.dialog-locations a:hover small,.dialog-locations a:focus-visible small { color:var(--ink); }
@media(max-width:600px) {
  .location-card .button-row { grid-template-columns:1fr; }
  .location-card .button { width:100%; min-height:52px; }
  .location-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
  .dialog-panel { max-height:calc(100dvh - 24px); padding:32px 20px 22px; }
  .dialog-panel>img { width:98px; margin-bottom:22px; }
  .dialog-panel h2 { padding-right:35px; font-size:45px; }
  .dialog-panel>p { margin-bottom:20px; }
  .dialog-locations { grid-template-columns:1fr; }
  .dialog-locations a { min-height:58px; padding:13px 16px; font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .location-dialog::backdrop,.dialog-panel { transition:none; }
}

/* Compact, action-first location chooser. */
.location-dialog { width:min(680px,calc(100% - 32px)); border:0; border-radius:12px; box-shadow:0 28px 90px rgb(0 0 0 / 55%); }
.dialog-panel { padding:30px; border:1px solid #c9ad7666; border-radius:12px; }
.dialog-panel::before { content:''; display:block; width:44px; height:3px; margin:36px 0 18px; border-radius:3px; background:var(--gold); }
.dialog-panel>img { position:absolute; top:28px; left:30px; width:112px; height:37px; margin:0; object-fit:contain; object-position:left center; }
.dialog-panel h2 { max-width:520px; padding-right:50px; font-size:clamp(42px,5.5vw,58px); line-height:.95; }
.dialog-panel>p { margin:9px 0 22px; font-size:13px; }
.dialog-close { top:20px; right:22px; width:38px; height:38px; }
.dialog-locations { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; border:0; }
.dialog-locations a { min-height:58px; padding:13px 16px; border:1px solid #c9ad7655; border-radius:8px; font-size:20px; }
.dialog-locations a:hover,.dialog-locations a:focus-visible { border-color:var(--gold); translate:0 -2px; }
@media(max-width:600px) {
  .dialog-panel { padding:24px 16px 16px; }
  .dialog-panel::before { margin:32px 0 16px; }
  .dialog-panel>img { top:23px; left:17px; width:96px; height:32px; }
  .dialog-panel h2 { font-size:38px; }
  .dialog-panel>p { font-size:12px; }
  .dialog-close { top:14px; right:14px; }
  .dialog-locations { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .dialog-locations a { min-height:54px; padding:10px 11px; font-size:17px; }
  .dialog-locations small { margin-top:3px; font-size:8px; }
}
.ticker .ticker-dot { width:6px; height:6px; border-radius:50%; background:var(--gold-dark); flex:0 0 auto; }

/* Review proof */
.reviews { background:#e8e4da; }
.review-proof { display:grid; grid-template-columns:.45fr 1.4fr .55fr; gap:35px; align-items:end; margin-bottom:42px; }
.review-proof>p { align-self:start; padding-top:8px; color:var(--gold-dark); font-size:11px; font-weight:700; letter-spacing:.13em; }
.review-proof h2 { font-size:clamp(52px,6.2vw,92px); }
.rating-line { padding-left:25px; border-left:1px solid #bba77d; }
.rating-line strong { display:block; font-family:var(--display); font-size:58px; line-height:1; color:var(--gold-dark); }
.rating-line span { display:block; max-width:180px; margin-top:8px; color:#68645d; font-size:11px; line-height:1.5; }
.review-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; perspective:1000px; }
.review-card { min-height:230px; padding:25px; border:1px solid #bca97f; border-radius:8px; display:flex; flex-direction:column; background:var(--paper); transform-origin:center bottom; }
.review-card-wide { grid-column:span 2; }
.stars { color:var(--gold-dark); font-size:14px; letter-spacing:.16em; }
.review-card blockquote { margin:auto 0; font-family:var(--display); font-size:clamp(27px,2.3vw,38px); line-height:1.08; }
.review-card>p { color:#68645d; font-size:11px; }
.review-card-gold { justify-content:space-between; background:var(--gold); color:var(--ink); }
.review-card-gold strong { font-family:var(--display); font-size:clamp(28px,2.5vw,40px); line-height:1.08; }
.review-card-gold a { width:max-content; padding-bottom:4px; border-bottom:1px solid currentColor; font-size:12px; font-weight:700; }
.review-sources { display:flex; justify-content:flex-end; gap:18px; margin-top:18px; color:#716c63; font-size:10px; }
.review-sources a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:900px) { .review-proof { grid-template-columns:1fr 1fr; } .review-proof>p { display:none; } .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .review-proof { display:block; } .rating-line { margin-top:24px; padding:0; border:0; } .rating-line strong { font-size:48px; } .rating-line span { max-width:230px; } .review-grid { grid-template-columns:1fr; } .review-card,.review-card-wide { grid-column:auto; min-height:190px; } .review-card blockquote { font-size:32px; } .review-sources { justify-content:flex-start; flex-wrap:wrap; line-height:1.7; } }

/* Sticky navigation */
.header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgb(17 17 16 / 90%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:0 1px 0 rgb(201 173 118 / 18%);
  transition:height .25s ease,background .25s ease,box-shadow .25s ease;
}
.header.is-scrolled {
  height:76px;
  background:rgb(17 17 16 / 96%);
  box-shadow:0 8px 30px rgb(0 0 0 / 24%),0 1px 0 rgb(201 173 118 / 25%);
}
.header .brand { transition:width .25s ease; }
.header.is-scrolled .brand { width:128px; }
@media(max-width:900px) {
  .header.is-scrolled { height:70px; }
  .header.is-scrolled .brand { width:112px; }
}

/* Larger navigation and button labels. */
.header nav { gap:30px; font-size:15px; font-weight:600; }
.button { font-size:15px; }
.button-small { font-size:14px; }
.location-card .button { font-size:15px; }
.mobile-book { font-size:13px; }
.shop-page .header nav a[href="index.html"],.locations-page .header nav a[href="locations.html"] { color:var(--gold); }
.locations-page .locations { min-height:calc(100vh - 104px); }
.locations-page .locations h1 { max-width:850px; margin:0; font-size:clamp(62px,7.5vw,112px); line-height:.9; }
@media(max-width:1100px) { .header nav { gap:19px; font-size:13px; } }
@media(max-width:760px) { .header nav { display:none; } .button,.location-card .button { font-size:14px; } }

/* Careers, contact, and app feature */
.inner-hero { background:var(--ink); color:var(--paper); padding-top:72px; padding-bottom:80px; }
.inner-hero h1 { max-width:980px; margin:0 0 25px; font-size:clamp(68px,8.5vw,126px); }
.inner-hero>p { max-width:630px; color:#aaa9a2; font-size:17px; line-height:1.8; }
.content-split { display:grid; grid-template-columns:.7fr 1.3fr; gap:9%; align-items:start; }
.content-intro { position:sticky; top:115px; }
.content-intro p { max-width:330px; margin-top:24px; color:#68645d; font-size:15px; line-height:1.8; }
.form-card { padding:38px; border:1px solid #bca97f; border-radius:10px; background:#ece8df; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field-full { grid-column:1/-1; }
.field label,.field legend { font-size:13px; font-weight:700; }
.field input,.field textarea,.field select { width:100%; min-height:50px; padding:13px 14px; border:1px solid #aaa28f; border-radius:7px; outline:none; background:#f7f4ed; color:var(--ink); font:inherit; font-size:15px; }
.field textarea { min-height:130px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--gold-dark); box-shadow:0 0 0 3px #c9ad7630; }
fieldset.field { margin:0; padding:0; border:0; }
.choice-row { display:flex; flex-wrap:wrap; gap:9px; }
.choice-row label { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px 13px; border:1px solid #aaa28f; border-radius:7px; background:#f7f4ed; font-weight:500; cursor:pointer; }
.choice-row input { width:16px; min-height:0; margin:0; accent-color:var(--gold-dark); }
.form-card .button { margin-top:25px; min-width:190px; background:var(--ink); color:var(--paper); }
.form-status { margin-top:18px; color:var(--gold-dark); font-size:13px; line-height:1.6; }
.values { padding-top:0; }
.value-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.value-card { padding:24px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.value-card h3 { margin-bottom:12px; font-family:var(--display); font-size:25px; color:var(--gold-dark); }
.value-card p { color:#68645d; font-size:12px; line-height:1.7; }
.app-feature { position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; gap:8%; align-items:center; background:var(--gold); }
.app-feature::after { content:''; position:absolute; right:-80px; bottom:-20px; width:min(520px,45vw); aspect-ratio:508/168; opacity:.1; background:var(--ink); -webkit-mask:url('logo.png') center/contain no-repeat; mask:url('logo.png') center/contain no-repeat; }
.app-feature>* { position:relative; z-index:1; }
.app-feature h2 { font-size:clamp(58px,7.5vw,110px); }
.app-feature-copy p { max-width:470px; margin:22px 0; font-size:16px; line-height:1.8; }
.app-actions { display:flex; flex-wrap:wrap; gap:12px; }
.app-feature .button-secondary { border-color:#332a19; color:var(--ink); }
.app-mark { display:grid; place-items:center; min-height:320px; border:1px solid #332a1940; border-radius:12px; background:#111110; }
.app-mark img { width:min(300px,70%); }
.contact-options { display:grid; gap:14px; margin-top:30px; }
.contact-option { padding:18px 20px; border:1px solid #bca97f; border-radius:8px; }
.contact-option strong { display:block; margin-bottom:5px; font-family:var(--display); font-size:23px; }
.contact-option span { color:#68645d; font-size:13px; }
@media(max-width:1000px) { .value-grid { grid-template-columns:repeat(3,1fr); } .content-split { gap:5%; } }
@media(max-width:760px) { .content-split { grid-template-columns:1fr; gap:35px; } .content-intro { position:static; } .form-card { padding:25px 20px; } .app-feature { grid-template-columns:1fr; } .app-mark { min-height:240px; } }
@media(max-width:600px) { .inner-hero { padding-top:50px; padding-bottom:55px; } .inner-hero h1 { font-size:65px; } .inner-hero>p { font-size:15px; } .form-grid { grid-template-columns:1fr; } .field-full { grid-column:auto; } .value-grid { grid-template-columns:1fr; } .app-mark { min-height:190px; } .app-feature h2 { font-size:58px; } }

/* Device-led mobile app feature */
.app-feature { min-height:680px; grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr); gap:5%; padding-top:55px; padding-bottom:55px; color:var(--paper); background:var(--ink); }
.app-feature::after { left:-120px; right:auto; bottom:-5px; width:520px; opacity:.035; background:var(--gold); }
.app-kicker { margin-bottom:22px!important; color:var(--gold)!important; font-size:12px!important; font-weight:700; letter-spacing:.16em; }
.app-feature h2 { color:var(--paper); font-size:clamp(64px,7vw,108px); line-height:.88; }
.app-feature-copy>p:not(.app-kicker) { max-width:540px; margin:26px 0; color:#b8b5ad; font-size:17px; }
.app-benefits { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 30px; padding:0; list-style:none; }
.app-benefits li { padding:9px 13px; border:1px solid #c9ad7666; border-radius:999px; color:#e6d6b5; font-size:12px; }
.app-actions { gap:10px; }
.store-button { min-width:168px; padding:11px 17px; border:1px solid #d7c39880; border-radius:8px; display:flex; flex-direction:column; color:var(--paper); background:#22221f; transition:background .2s ease,transform .2s ease,border-color .2s ease; }
.store-button:hover { border-color:var(--gold); background:#2d2b25; transform:translateY(-2px); }
.store-button small { font-size:9px; letter-spacing:.04em; }
.store-button strong { margin-top:2px; font-size:18px; line-height:1; }
.app-devices { position:relative; height:570px; margin:0; align-self:center; overflow:hidden; border:1px solid #c9ad7645; border-radius:14px; background:#090909; box-shadow:0 30px 70px rgb(0 0 0 / 42%); }
.app-devices img { width:100%; height:100%; object-fit:cover; object-position:center 48%; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.app-devices:hover img { transform:scale(1.025); }
.app-devices figcaption { position:absolute; left:14px; bottom:12px; padding:5px 8px; border-radius:4px; color:#d8d4ca; background:rgb(0 0 0 / 64%); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:900px) { .app-feature { grid-template-columns:1fr 1fr; min-height:620px; } .app-devices { height:500px; } }
@media(max-width:760px) { .app-feature { grid-template-columns:1fr; } .app-devices { width:100%; height:auto; aspect-ratio:4/5; } }
@media(max-width:600px) { .app-feature h2 { font-size:61px; } .app-feature-copy>p:not(.app-kicker) { font-size:15px; } .app-actions { display:grid; grid-template-columns:1fr 1fr; } .store-button { min-width:0; } .app-devices { min-height:420px; } }
.app-devices { border:0; box-shadow:none; background:transparent; }

.dialog-panel::before { margin:0 0 18px; }
.dialog-panel>img { display:none; }
@media(max-width:600px) { .dialog-panel::before { margin:0 0 16px; } }
/* Real shop photography: preserve the warm gold character of the space. */
.hero-photo{object-position:center 57%;filter:saturate(.86) contrast(1.06) brightness(.82);opacity:.92}
.experience-images img{filter:saturate(.84) contrast(1.04)}
.experience-images img:first-child{object-position:center 48%}
.experience-images img:nth-child(2){object-position:center 62%}

/* Editorial photography and motion */
.craft-gallery{display:grid;grid-template-columns:1.15fr .85fr 1.15fr;gap:12px;padding:12px;background:var(--ink);overflow:hidden}
.craft-shot{margin:0;height:clamp(430px,52vw,760px);overflow:hidden;background:#24231f}
.craft-shot:nth-child(2){margin-top:8vw;margin-bottom:4vw;height:auto}
.craft-shot img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.craft-shot:hover img{transform:scale(1.025)}
.people-story{display:grid;grid-template-columns:.9fr 1fr .72fr;gap:18px;align-items:stretch;background:var(--accent)}
.people-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:6%}
.people-copy h2{font-size:clamp(66px,7vw,112px);line-height:.88;margin:24px 0}
.people-copy>p:not(.app-kicker){max-width:460px;line-height:1.75;margin-bottom:28px}
.team-photo,.motion-card{position:relative;margin:0;min-height:560px;overflow:hidden;background:#171713}
.team-photo img,.motion-card video{width:100%;height:100%;object-fit:cover}
.motion-card video{position:absolute;inset:0}
.motion-card::after{content:'▶';position:absolute;left:50%;top:50%;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#d6bd86e8;color:#111;font-size:25px;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 12px 35px #0007}
.motion-card.is-playing::after{opacity:0}
.motion-card figcaption{position:absolute;left:20px;bottom:54px;color:white;text-transform:uppercase;text-shadow:0 2px 14px #000;pointer-events:none;display:flex;flex-direction:column;gap:4px}
.motion-card figcaption strong{font-family:var(--display);font-size:25px;letter-spacing:1px}
.motion-card figcaption span{font-size:10px;font-weight:700;letter-spacing:1.4px}
.locations-portrait{position:relative;margin:0 0 70px auto;width:min(100%,560px);height:660px;overflow:hidden}
.locations-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.locations-portrait figcaption{position:absolute;left:0;bottom:0;background:var(--accent);padding:18px 24px;font-family:var(--display);font-size:28px;font-weight:700;text-transform:uppercase}
@media(max-width:900px){.people-story{grid-template-columns:1fr 1fr}.people-copy{grid-column:1/-1;padding:0 0 20px}.team-photo,.motion-card{min-height:480px}.locations-portrait{height:560px;margin-bottom:48px}}
@media(max-width:600px){.craft-gallery{grid-template-columns:1fr 1fr;gap:8px;padding:8px}.craft-shot{height:410px}.craft-shot:first-child{grid-column:1/-1;height:480px}.craft-shot:nth-child(2){margin:0;height:360px}.craft-shot:nth-child(3){height:360px}.people-story{display:block}.people-copy{padding-bottom:36px}.people-copy h2{font-size:64px}.team-photo{min-height:0;aspect-ratio:1}.motion-card{min-height:0;aspect-ratio:3/4;margin-top:10px}.locations-portrait{height:480px;margin-bottom:36px}.locations-portrait figcaption{font-size:23px}}

/* App feature balance and expanded-services prompt */
.app-feature{grid-template-columns:minmax(430px,1fr) minmax(520px,1.25fr);gap:4%}
.app-feature h2{font-size:clamp(52px,5.2vw,82px);line-height:.92;letter-spacing:-1px}
.app-feature h2 span{display:block;white-space:nowrap}
.app-feature .app-devices{height:auto;min-height:0;aspect-ratio:1672/941}
.app-feature .app-devices img{object-fit:contain;object-position:center}
.services-more{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:28px;padding:26px 0 0;border-top:1px solid var(--line)}
.services-more>div{display:flex;align-items:baseline;gap:22px}
.services-more strong{font-family:var(--display);font-size:34px;line-height:1}
.services-more p{color:#66655f;font-size:14px;line-height:1.6}
.services-more .button{flex:0 0 auto;border:0;cursor:pointer}
@media(max-width:1000px){.app-feature{grid-template-columns:1fr}.app-feature-copy{max-width:720px}.app-feature .app-devices{width:100%}}
@media(max-width:600px){.app-feature h2{font-size:clamp(44px,13vw,61px)}.app-feature h2 span{white-space:normal}.services-more{align-items:flex-start;flex-direction:column}.services-more>div{display:block}.services-more strong{font-size:31px}.services-more p{margin-top:8px;font-size:13px}.services-more .button{width:100%}.app-feature .app-devices{aspect-ratio:1672/941;min-height:0}}

/* Services secondary callout spacing */
.services .services-more{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:38px;padding:30px 34px;background:#e7e1d6;border:1px solid #cfc6b4;border-radius:8px}
.services .services-more>div{display:block}
.services .services-more strong{display:block;margin-bottom:7px;font-family:var(--display);font-size:32px;line-height:1}
.services .services-more p{margin:0;color:#55544e;font-size:14px;line-height:1.55}
.services .services-more .button{min-width:210px;margin:0}
@media(max-width:700px){.services .services-more{grid-template-columns:1fr;gap:20px;margin-top:28px;padding:24px 20px}.services .services-more .button{width:100%;min-width:0}}

/* Hero image entrance and restrained light flash */
.hero-visual{isolation:isolate}
.hero-photo{animation:hero-photo-arrive 1.25s cubic-bezier(.22,1,.36,1) .15s both}
.hero-visual::before{content:'';position:absolute;z-index:3;inset:-35%;pointer-events:none;background:linear-gradient(108deg,transparent 36%,rgba(255,247,224,0) 43%,rgba(255,240,198,.48) 49%,rgba(255,255,255,.78) 50%,rgba(214,184,119,.32) 52%,rgba(255,247,224,0) 57%,transparent 64%);transform:translate3d(-72%,0,0) rotate(2deg);animation:hero-light-sweep 1.45s cubic-bezier(.2,.7,.25,1) .8s both;mix-blend-mode:screen}
@keyframes hero-photo-arrive{from{opacity:0;transform:scale(1.09);filter:saturate(.7) contrast(1.1) brightness(.5)}to{opacity:.92;transform:scale(1);filter:saturate(.86) contrast(1.06) brightness(.82)}}
@keyframes hero-light-sweep{0%{opacity:0;transform:translate3d(-72%,0,0) rotate(2deg)}15%{opacity:.85}80%{opacity:.5}100%{opacity:0;transform:translate3d(72%,0,0) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero-visual::before{animation:none}}

/* Mobile navigation popover */
.menu-toggle,.menu-backdrop{display:none}
@media(max-width:760px){
  .header{height:78px;padding:0 5%;position:sticky;top:0;z-index:100}
  .header>.button{display:none}
  .header .brand{position:relative;z-index:103;width:132px}
  .menu-toggle{position:relative;z-index:103;display:grid;width:48px;height:48px;padding:13px;border:1px solid #ffffff38;border-radius:8px;background:#191918;place-content:center;gap:5px;cursor:pointer}
  .menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:var(--paper);transition:transform .25s,opacity .2s}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-backdrop{position:fixed;z-index:101;inset:0;display:block;border:0;background:#0009;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  .header nav{position:fixed;z-index:102;top:0;right:0;display:flex;width:min(88vw,390px);height:100dvh;padding:116px 32px 38px;flex-direction:column;align-items:stretch;gap:0;background:#111110;border-left:1px solid #c9ad7647;box-shadow:-24px 0 70px #0008;transform:translate3d(102%,0,0);visibility:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),visibility .35s}
  .header nav a{padding:18px 0;border-bottom:1px solid #ffffff1f;color:var(--paper);font-family:var(--display);font-size:30px;font-weight:600;line-height:1;text-transform:uppercase}
  .header nav a:last-child{margin-top:auto;border:1px solid #c9ad7666;border-radius:8px;padding:17px 18px;color:#ddc895;font-family:var(--body);font-size:14px;text-align:center;text-transform:none}
  .menu-open{overflow:hidden}
  .menu-open .menu-backdrop{opacity:1;visibility:visible}
  .menu-open .header nav{transform:translate3d(0,0,0);visibility:visible}
}
@media(prefers-reduced-motion:reduce){.header nav,.menu-toggle span,.menu-backdrop{transition:none}}

/* Champagne halo around the hero photography */
.hero-visual{border:1px solid rgba(216,190,132,.42);box-shadow:0 0 0 1px rgba(255,246,219,.06),0 0 34px rgba(203,170,99,.22),0 18px 60px rgba(0,0,0,.5);animation:hero-frame-glow 4.8s ease-in-out 2.1s infinite}
@keyframes hero-frame-glow{0%,100%{border-color:rgba(216,190,132,.32);box-shadow:0 0 0 1px rgba(255,246,219,.04),0 0 26px rgba(203,170,99,.16),0 18px 60px rgba(0,0,0,.5)}50%{border-color:rgba(238,214,161,.58);box-shadow:0 0 0 1px rgba(255,246,219,.1),0 0 46px rgba(203,170,99,.3),0 18px 64px rgba(0,0,0,.56)}}
@media(prefers-reduced-motion:reduce){.hero-visual{animation:none}}

/* App-style mobile menu and scroll-revealed booking bar */
@media(max-width:760px){
  .header nav{top:88px;right:12px;width:min(calc(100vw - 24px),390px);height:auto;max-height:calc(100dvh - 104px);padding:18px 22px 22px;border:1px solid #d5b87555;border-radius:18px;box-shadow:0 24px 80px #000b;transform:translate3d(0,-18px,0) scale(.96);transform-origin:top right;opacity:0;overflow:auto}
  .header nav::before{content:'MENU';display:block;padding:4px 0 15px;color:#cdb37d;font-size:10px;font-weight:700;letter-spacing:2px}
  .header nav a{padding:17px 2px;font-size:28px}
  .header nav a:last-child{margin-top:18px}
  .menu-open .header nav{transform:translate3d(0,0,0) scale(1);opacity:1}
  .mobile-book{top:78px;bottom:auto;left:0;right:0;width:100%;min-height:52px;padding:14px 6%;border:0;border-bottom:1px solid #b99a5e;border-radius:0;background:#d8c18f;color:#111;box-shadow:0 10px 28px #0003;font-size:13px;letter-spacing:.8px;transform:translateY(-115%);opacity:0;visibility:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .25s,visibility .32s}
  .mobile-book::after{content:'BOOK NOW';font-size:10px;letter-spacing:1.2px}
  .is-scrolled .mobile-book{transform:translateY(0);opacity:1;visibility:visible}
  .menu-open .mobile-book{transform:translateY(-115%);opacity:0;visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.mobile-book{transition:none}}

/* Mobile booking action: fixed at the bottom after scrolling */
@media(max-width:760px){
  .mobile-book{position:fixed;top:auto;bottom:12px;left:6%;right:6%;width:auto;min-height:56px;padding:17px 22px;border:1px solid #ead9ae;border-radius:8px;background:#d8c18f;color:#111;box-shadow:0 14px 42px #0007;font-size:14px;letter-spacing:1px;transform:translateY(calc(100% + 30px));opacity:0;visibility:hidden}
  .mobile-book::after{content:''}
  .is-scrolled .mobile-book{transform:translateY(0);opacity:1;visibility:visible}
  .menu-open .mobile-book{transform:translateY(calc(100% + 30px));opacity:0;visibility:hidden}
}

/* Borderless hero with feathered photographic edges */
.hero-visual{border:0}
.hero-photo{-webkit-mask-image:radial-gradient(ellipse 96% 94% at 50% 50%,#000 58%,rgba(0,0,0,.96) 72%,rgba(0,0,0,.52) 88%,transparent 100%);mask-image:radial-gradient(ellipse 96% 94% at 50% 50%,#000 58%,rgba(0,0,0,.96) 72%,rgba(0,0,0,.52) 88%,transparent 100%)}
.hero-visual::after{background:radial-gradient(ellipse 92% 90% at 50% 48%,transparent 52%,rgba(17,17,16,.25) 76%,#111110 100%),linear-gradient(0deg,#0007,transparent 40%),linear-gradient(90deg,#11111035,transparent 35%)}

/* Full-screen mobile menu with a clean fade */
@media(max-width:760px){
  .header nav{top:0;right:0;width:100vw;height:100dvh;max-height:none;padding:112px 7% 38px;border:0;border-radius:0;box-shadow:none;transform:none;transform-origin:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
  .header nav::before{padding-bottom:18px}
  .header nav a{font-size:clamp(31px,9vw,43px);padding:18px 2px}
  .header nav a:last-child{margin-top:auto;font-size:15px;padding:18px}
  .menu-open .header nav{transform:none;opacity:1;visibility:visible}
  .menu-backdrop{display:none}
  .menu-toggle{transition:background .25s,border-color .25s,transform .25s}
  .menu-open .menu-toggle{background:#d8c18f;border-color:#d8c18f;transform:scale(1.04)}
  .menu-open .menu-toggle span{background:#111}
}

/* Dedicated portrait artwork for the app feature on phones */
.app-devices picture{display:block;width:100%;height:100%}
.app-devices picture img{display:block;width:100%;height:100%}
@media(max-width:760px){.app-feature .app-devices{aspect-ratio:4/5;border-radius:12px}.app-feature .app-devices picture img{object-fit:cover;object-position:center}}

/* Utility, campaign, legal, gallery and barber pages */
.footer-main{flex-wrap:wrap}.footer-links,.social-links{display:flex;gap:20px;align-items:center}.social-links a{color:#d7bf89}.footer-bottom>div{display:flex;gap:18px}.footer-bottom a:hover,.social-links a:hover{color:var(--accent)}
.status-page,.error-page{min-height:calc(100vh - 104px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--paper)}
.status-page h1,.error-page h1{font-family:var(--display);font-size:clamp(78px,11vw,168px);line-height:.82;margin:25px 0}.status-page h1 em,.error-page h1 em{font-style:normal;color:#9a7b40}.status-page>p:not(.app-kicker),.error-page>p:not(.error-code){max-width:650px;font-size:18px;line-height:1.7;margin-bottom:30px}.error-code{font-family:var(--display);font-size:clamp(120px,24vw,340px);line-height:.55;color:#d8c18f;opacity:.5}
.campaign-hero,.barber-profile{display:grid;grid-template-columns:1fr .85fr;gap:7%;align-items:center;background:var(--ink);color:var(--paper)}.campaign-hero h1,.barber-profile h1{font-family:var(--display);font-size:clamp(74px,9vw,140px);line-height:.84;margin:24px 0}.campaign-hero h1 em,.barber-profile h1 em{font-style:normal;color:#d8c18f}.campaign-hero>div>p:not(.app-kicker),.barber-profile>div>p:not(.app-kicker){max-width:600px;color:#b9b6ae;font-size:18px;line-height:1.7;margin-bottom:30px}.campaign-hero>img,.barber-profile>img{width:100%;height:680px;object-fit:cover;border-radius:8px}.barber-profile>img{object-position:center top}
.site-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--ink)}.site-gallery figure{height:520px;margin:0;overflow:hidden}.site-gallery figure:nth-child(4n+1){grid-row:span 2;height:1052px}.site-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.site-gallery figure:hover img{transform:scale(1.025)}
.legal-page{max-width:1100px;margin:auto}.legal-page>h1{font-family:var(--display);font-size:clamp(74px,10vw,145px);line-height:.84;margin-bottom:65px}.legal-page>h1 em{font-style:normal;color:#9a7b40}.legal-page>section{padding:28px 0;border-top:1px solid var(--line)}.legal-page h2{font-size:36px;margin-bottom:12px}.legal-page p{max-width:850px;color:#5e5d57;font-size:15px;line-height:1.85}
@media(max-width:760px){.mobile-book{transform:translateY(0);opacity:1;visibility:visible}.menu-open .mobile-book{transform:translateY(calc(100% + 30px));opacity:0;visibility:hidden}.campaign-hero,.barber-profile{grid-template-columns:1fr;gap:38px}.campaign-hero>img,.barber-profile>img{height:520px}.site-gallery{grid-template-columns:1fr 1fr;padding:8px}.site-gallery figure,.site-gallery figure:nth-child(4n+1){height:360px;grid-row:auto}.footer-main{align-items:flex-start}.footer-links,.social-links{width:100%;flex-wrap:wrap}.footer-bottom{align-items:center}.legal-page h2{font-size:29px}.status-page,.error-page{min-height:calc(100svh - 78px);padding-bottom:120px}}

/* Single-column location chooser for compact phones */
@media(max-width:420px){
  .location-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}
  .dialog-panel{max-height:calc(100dvh - 18px);padding:22px 14px 14px;overscroll-behavior:contain}
  .dialog-panel h2{padding-right:42px;font-size:36px}
  .dialog-panel>p{margin-bottom:16px;line-height:1.45}
  .dialog-locations{grid-template-columns:1fr;gap:7px}
  .dialog-locations a{min-height:54px;padding:11px 14px;font-size:19px}
}

/* Stronger mobile brand presence */
@media(max-width:760px){
  .header{height:88px}
  .header .brand{width:168px}
  .header.is-scrolled{height:78px}
  .header.is-scrolled .brand{width:150px}
}
@media(max-width:360px){
  .header .brand{width:156px}
  .header.is-scrolled .brand{width:144px}
}

/* Homepage tour video */
.hero-video{display:block;background:#111110}
@media(prefers-reduced-motion:reduce){.hero-video{animation:none}}

/* Full-bleed cinematic hero tour */
.hero-video-background{position:relative;display:block;min-height:clamp(650px,76vh,860px);isolation:isolate;overflow:hidden;background:#111110}
.hero-background-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.06) brightness(.72);background:#111110}
.hero-video-background::after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,7,.94) 0%,rgba(8,8,7,.78) 38%,rgba(8,8,7,.34) 67%,rgba(8,8,7,.5) 100%),linear-gradient(0deg,rgba(8,8,7,.74) 0%,transparent 48%,rgba(8,8,7,.25) 100%),radial-gradient(circle at 78% 42%,rgba(211,180,111,.14),transparent 34%)}
.hero-video-background .hero-copy{position:relative;z-index:2;width:min(760px,62%);padding:clamp(78px,9vh,118px) 0 clamp(85px,10vh,130px) 7%;text-shadow:0 3px 24px rgba(0,0,0,.38)}
@media(max-width:760px){.hero-video-background{min-height:calc(100svh - 88px)}.hero-background-video{object-position:58% center;filter:saturate(.82) contrast(1.08) brightness(.62)}.hero-video-background::after{background:linear-gradient(180deg,rgba(8,8,7,.55),rgba(8,8,7,.78) 62%,rgba(8,8,7,.94)),linear-gradient(90deg,rgba(8,8,7,.7),transparent)}.hero-video-background .hero-copy{width:100%;padding:clamp(70px,13vh,120px) 6% 100px}}
@media(prefers-reduced-motion:reduce){.hero-background-video{display:none}.hero-video-background{background:#111110 url('photo-3361.jpg') center/cover no-repeat}.hero-video-background::after{background:rgba(8,8,7,.76)}}

/* ProcessWire 404 */
.error-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:stretch;min-height:calc(100vh - 104px);padding:0;background:var(--paper);overflow:hidden}
.error-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(72px,8vw,150px) clamp(28px,7vw,120px)}
.error-kicker{margin:0 0 24px;color:#8f6d30;font-size:13px;font-weight:800;letter-spacing:.2em}
.error-page .error-copy h1{margin:0 0 30px;font-size:clamp(70px,8vw,132px);line-height:.84}
.error-copy>p:not(.error-kicker){max-width:520px;margin:0 0 34px;color:#625f58;font-size:19px;line-height:1.65}
.error-copy .button-row{display:flex;gap:12px;flex-wrap:wrap}
.error-art{position:relative;display:flex;min-height:680px;align-items:flex-end;justify-content:flex-end;padding:clamp(30px,4vw,70px);background:#10100f;isolation:isolate;overflow:hidden}
.error-number{position:absolute;z-index:-1;top:50%;left:50%;transform:translate(-50%,-55%);color:#d8bd7e;font-family:var(--display);font-size:clamp(230px,30vw,560px);line-height:.7;opacity:.12}
.error-photo{position:absolute;inset:10% 8% 0 18%;overflow:hidden;border-radius:240px 240px 0 0;opacity:.72}
.error-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,15,.08),rgba(16,16,15,.05) 54%,#10100f 100%)}
.error-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.72) contrast(1.06)}
.error-art p{position:relative;z-index:2;margin:0;color:#ead7aa;font-size:13px;font-weight:800;letter-spacing:.2em}
@media(max-width:900px){.error-page{grid-template-columns:1fr}.error-copy{padding:76px 28px 64px}.error-art{min-height:460px}.error-photo{inset:8% 10% 0}.error-number{font-size:clamp(220px,58vw,420px)}}
@media(max-width:520px){.error-copy{padding:56px 20px 48px}.error-page .error-copy h1{font-size:clamp(58px,20vw,86px)}.error-copy>p:not(.error-kicker){font-size:17px}.error-copy .button-row{display:grid;grid-template-columns:1fr}.error-copy .button{width:100%}.error-art{min-height:360px;padding:24px 20px 92px}.error-photo{inset:8% 4% 0 18%;border-radius:160px 160px 0 0}.error-art p{font-size:11px}}

/* Clippers + shears homepage feature */
.shear-feature{position:relative;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(45px,8vw,130px);min-height:min(900px,92vh);padding-top:clamp(72px,8vw,130px);padding-bottom:clamp(72px,8vw,130px);overflow:hidden;background:#10100f;color:var(--paper)}
.shear-feature::before{content:'SHEARS';position:absolute;right:-.03em;bottom:-.17em;color:#d7bd8120;font-family:var(--display);font-size:clamp(170px,25vw,430px);line-height:1;pointer-events:none}
.shear-copy{position:relative;z-index:2}
.shear-copy .app-kicker{margin-bottom:28px;color:#d8bd7e;font-size:12px;letter-spacing:.2em}
.shear-copy h2{font-size:clamp(68px,7.4vw,120px);line-height:.84}
.shear-copy h2 em{color:#d8bd7e;font-style:normal}
.shear-copy>p:not(.app-kicker){max-width:530px;margin:30px 0 34px;color:#b8b5ae;font-size:17px;line-height:1.75}
.shear-copy .button{background:#d8c18f;color:#111}
.shear-copy .button:hover{background:#f1dfb4}
.shear-video-wrap{position:relative;z-index:1;justify-self:end;width:min(100%,760px);height:clamp(560px,72vh,800px);overflow:hidden;border-radius:clamp(90px,12vw,190px) 8px 8px 8px;background:#1b1a18;box-shadow:-38px 38px 0 #d8bd7e14,0 38px 100px #0008}
.shear-video-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,#080807d9 100%);pointer-events:none}
.shear-video{display:block;width:100%;height:100%;object-fit:cover}
.shear-video-label{position:absolute;z-index:2;right:28px;bottom:25px;left:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;color:#f5f0e6;font-size:11px;font-weight:800;letter-spacing:.15em}
.shear-video-label span:last-child{color:#d8bd7e;font-size:9px;text-align:right}
@media(max-width:900px){.shear-feature{grid-template-columns:1fr;gap:50px;min-height:0}.shear-copy{max-width:680px}.shear-video-wrap{justify-self:stretch;width:100%;height:min(760px,100vw);border-radius:120px 8px 8px}}
@media(max-width:600px){.shear-feature{gap:38px;padding-top:64px;padding-bottom:64px}.shear-feature::before{font-size:48vw;bottom:-.08em}.shear-copy h2{font-size:clamp(62px,19vw,86px)}.shear-copy>p:not(.app-kicker){margin:24px 0 28px;font-size:15px}.shear-copy .button{width:100%}.shear-video-wrap{height:125vw;max-height:620px;border-radius:82px 8px 8px}.shear-video-label{right:18px;bottom:18px;left:18px;display:block}.shear-video-label span{display:block}.shear-video-label span:last-child{margin-top:7px;text-align:left}}

/* Layered champagne gradient treatment for the video hero */
.hero-video-background::before{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 72% at 82% 34%,rgba(223,192,121,.22),transparent 62%),radial-gradient(ellipse 70% 48% at 58% 110%,rgba(154,113,48,.24),transparent 68%),linear-gradient(125deg,rgba(255,244,211,.07),transparent 32%);mix-blend-mode:screen}
.hero-video-background::after{z-index:2;background:linear-gradient(90deg,rgba(7,7,6,.96) 0%,rgba(8,8,7,.82) 31%,rgba(8,8,7,.43) 58%,rgba(8,8,7,.3) 78%,rgba(8,8,7,.58) 100%),linear-gradient(0deg,rgba(7,7,6,.82) 0%,transparent 44%,rgba(7,7,6,.38) 100%),radial-gradient(ellipse at center,transparent 42%,rgba(4,4,3,.56) 100%)}
.hero-video-background .hero-copy{z-index:3}
@media(max-width:760px){.hero-video-background::before{background:radial-gradient(ellipse 86% 50% at 70% 24%,rgba(218,183,108,.2),transparent 66%),linear-gradient(145deg,rgba(221,191,123,.1),transparent 42%)}.hero-video-background::after{background:linear-gradient(180deg,rgba(7,7,6,.42) 0%,rgba(7,7,6,.6) 38%,rgba(7,7,6,.92) 82%,#080807 100%),linear-gradient(90deg,rgba(7,7,6,.76),transparent 78%),radial-gradient(ellipse at center,transparent 34%,rgba(5,5,4,.5) 100%)}}

/* Prevent sticky-header layout feedback on mobile */
@media(max-width:760px){.header.is-scrolled{height:88px}}

/* Vertically centered hero message and review proof */
.hero-video-background{display:flex;align-items:center}
.hero-video-background .hero-copy{padding-top:72px;padding-bottom:72px}
.hero-rating{display:flex;align-items:center;gap:13px;margin-top:22px;color:#f1dfae;font-size:11px;letter-spacing:.11em}
.hero-rating span{font-size:18px;letter-spacing:.12em;line-height:1;text-shadow:0 0 22px rgba(222,188,111,.42)}
.hero-rating strong{font-size:10px;font-weight:700}
@media(max-width:760px){.hero-video-background{align-items:center}.hero-video-background .hero-copy{padding-top:70px;padding-bottom:70px}.hero-rating{gap:10px;margin-top:19px;flex-wrap:wrap}.hero-rating span{font-size:16px}.hero-rating strong{font-size:9px}}


/* Authentic mobile app screen in a silhouetted device */
.app-feature .app-phone-stage{
  position:relative;
  display:grid;
  place-items:center;
  height:650px;
  min-height:0;
  aspect-ratio:auto;
  overflow:visible;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 58% 48%,rgb(205 172 104 / 20%),transparent 39%),
    linear-gradient(135deg,transparent 20%,rgb(213 177 101 / 8%) 50%,transparent 75%);
  box-shadow:none;
}
.app-phone-shell{
  position:relative;
  width:min(310px,64%);
  padding:9px;
  border-radius:58px;
  background:#050505;
  box-shadow:0 34px 70px rgb(0 0 0 / 65%),0 0 55px rgb(210 174 99 / 18%);
  transform:rotate(5deg);
}
.app-phone-shell::after{
  content:'';
  position:absolute;
  inset:8px;
  pointer-events:none;
  border-radius:50px;
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / 10%);
}
.app-phone-shell img{
  display:block;
  width:100%;
  height:auto;
  border-radius:50px;
  object-fit:contain;
  transform:none;
}
.app-phone-stage:hover .app-phone-shell img{transform:none}
.app-notification{
  position:absolute;
  z-index:2;
  left:0;
  top:51%;
  width:min(410px,64%);
  display:grid;
  grid-template-columns:58px 1fr auto;
  align-items:center;
  gap:14px;
  padding:14px 17px;
  border:1px solid rgb(221 192 132 / 42%);
  border-radius:22px;
  color:#f8f5ed;
  background:linear-gradient(135deg,rgb(48 44 36 / 94%),rgb(14 14 13 / 94%));
  box-shadow:0 20px 45px rgb(0 0 0 / 48%),inset 0 1px rgb(255 255 255 / 12%);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.app-notification>img{
  width:58px;
  height:58px;
  padding:9px;
  border-radius:14px;
  object-fit:contain;
  background:#090909;
  transform:none;
}
.app-notification span{min-width:0;display:block}
.app-notification strong,.app-notification small{display:block}
.app-notification strong{font-size:15px;line-height:1.2}
.app-notification small{margin-top:5px;color:#ded9cf;font-size:12px;line-height:1.35}
.app-notification time{align-self:start;color:var(--gold);font-size:11px}
@media(max-width:760px){
  .app-feature .app-phone-stage{
    width:calc(100% + 40px);
    height:610px;
    margin-left:-20px;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%);
  }
  .app-phone-shell{width:min(300px,72vw);border-radius:52px;transform:rotate(3deg)}
  .app-phone-shell img,.app-phone-shell::after{border-radius:45px}
  .app-notification{left:5%;top:55%;width:88%;grid-template-columns:50px 1fr auto;padding:12px 14px;border-radius:19px}
  .app-notification>img{width:50px;height:50px}
}
@media(max-width:390px){
  .app-feature .app-phone-stage{height:550px}
  .app-phone-shell{width:76vw}
  .app-notification{left:2%;width:96%;gap:10px}
  .app-notification small{font-size:11px}
}

/* Compact mobile video hero */
@media(max-width:760px){
  .hero-video-background{
    min-height:clamp(560px,72svh,650px);
    align-items:center;
  }
  .hero-video-background .hero-copy{
    padding-top:42px;
    padding-bottom:54px;
  }
  .hero-video-background .hero-copy h1{margin-top:14px;margin-bottom:18px}
  .hero-video-background .hero-actions{margin-top:22px}
}
@media(max-width:390px){
  .hero-video-background{min-height:540px}
  .hero-video-background .hero-copy{padding-top:34px;padding-bottom:42px}
}


/* Embedded GHL contact form */
.ghl-form-card{
  min-height:638px;
  padding:10px;
  overflow:hidden;
  border:1px solid #bca97f;
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 60px rgb(40 31 18 / 10%);
}
.ghl-form-card iframe{
  display:block;
  width:100%;
  height:618px;
  border:0;
  border-radius:8px;
  background:#fff;
}
@media(max-width:760px){
  .ghl-form-card{min-height:630px;padding:6px;border-radius:10px}
  .ghl-form-card iframe{height:618px}
}

/* Longer GHL careers application */
.ghl-job-form{min-height:1867px}
.ghl-job-form iframe{height:1847px}
@media(max-width:760px){.ghl-job-form{min-height:1859px}.ghl-job-form iframe{height:1847px}}


/* Immediate branded state while external GHL forms initialize */
.ghl-form-card{position:relative}
.ghl-form-card::before{
  content:'LOADING FORM';
  position:absolute;
  z-index:0;
  inset:10px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#80683a;
  background:#fff;
  font-family:var(--display);
  font-size:22px;
  letter-spacing:.12em;
  animation:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.ghl-form-card iframe{position:relative;z-index:1;opacity:0;transition:opacity .32s ease}
.ghl-form-card.is-loaded::before{opacity:0;visibility:hidden}
.ghl-form-card.is-loaded iframe{opacity:1}
@keyframes form-loading-sheen{to{background-position:-240% 0}}
@media(prefers-reduced-motion:reduce){.ghl-form-card::before{animation:none}}


/* Full-width app download banner */
.app-feature.app-feature-banner{
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:72px;
  padding-bottom:72px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 20%,rgb(208 176 105 / 18%),transparent 34%),
    linear-gradient(135deg,#0b0b0a,#16140f 52%,#080808);
}
.app-feature.app-feature-banner::before{
  content:'APP';
  position:absolute;
  left:50%;
  top:50%;
  color:rgb(217 188 126 / 5%);
  font-family:var(--display);
  font-size:clamp(220px,34vw,520px);
  font-weight:700;
  line-height:.7;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.app-feature.app-feature-banner::after{
  left:50%;
  right:auto;
  bottom:18px;
  width:min(460px,65vw);
  opacity:.055;
  transform:translateX(-50%);
}
.app-feature-banner .app-feature-copy{position:relative;z-index:2;max-width:850px;margin:auto}
.app-feature-banner .app-feature-copy>p:not(.app-kicker){max-width:620px;margin-left:auto;margin-right:auto}
.app-feature-banner .app-benefits,.app-feature-banner .app-actions{justify-content:center}
.app-feature-banner .store-button{min-width:205px;text-align:left}
@media(max-width:600px){
  .app-feature.app-feature-banner{min-height:400px;padding-top:58px;padding-bottom:58px}
  .app-feature.app-feature-banner::before{font-size:58vw}
  .app-feature-banner .app-actions{display:flex}
  .app-feature-banner .store-button{width:min(260px,100%)}
}


/* Faded app imagery behind the download-banner lettering */
.app-banner-art{position:absolute!important;z-index:1!important;inset:0;overflow:hidden;pointer-events:none}
.app-banner-art::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 18%,#0c0c0b 74%),linear-gradient(90deg,#0c0c0b 0%,transparent 26%,transparent 74%,#0c0c0b 100%)}
.app-banner-art img{position:absolute;height:auto;object-fit:cover;opacity:.18;filter:saturate(.7) contrast(1.1);-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 74%)}
.app-banner-art img:first-child{width:58%;left:-7%;top:50%;transform:translateY(-50%) rotate(-4deg)}
.app-banner-art img:last-child{width:25%;right:5%;top:50%;transform:translateY(-50%) rotate(7deg)}
.app-feature.app-feature-banner::before{z-index:2}
.app-feature-banner .app-feature-copy{z-index:3}
@media(max-width:760px){
  .app-banner-art img:first-child{width:125%;left:-42%;opacity:.15}
  .app-banner-art img:last-child{width:55%;right:-12%;opacity:.19}
  .app-banner-art::after{background:radial-gradient(ellipse at center,transparent 8%,#0c0c0b 78%),linear-gradient(180deg,#0c0c0b 0%,transparent 25%,transparent 72%,#0c0c0b 100%)}
}


/* Clean app callout — one message, one action */
.app-feature.app-feature-banner{
  min-height:410px;
  background:
    radial-gradient(ellipse 42% 78% at 50% 50%,rgb(198 158 80 / 18%),transparent 70%),
    linear-gradient(110deg,#080808 0%,#15130e 48%,#080808 100%);
}
.app-feature.app-feature-banner::before{
  content:'';
  z-index:1;
  width:clamp(250px,32vw,470px);
  height:clamp(250px,32vw,470px);
  left:50%;
  top:50%;
  border:1px solid rgb(221 190 123 / 13%);
  border-radius:50%;
  background:radial-gradient(circle,transparent 58%,rgb(214 181 111 / 5%) 59%,transparent 72%);
  transform:translate(-50%,-50%);
}
.app-feature.app-feature-banner::after{display:none}
.app-feature-banner .app-feature-copy{max-width:920px}
.app-feature-banner .app-kicker{margin-bottom:18px!important}
.app-feature-banner h2{font-size:clamp(60px,6.3vw,96px);line-height:.9;letter-spacing:-1px}
.app-feature-banner .app-actions{margin-top:30px}
.app-feature-banner .store-button{
  min-width:230px;
  padding:14px 22px;
  border-color:#dfc98f;
  color:#111110;
  background:#e2cca0;
  text-align:left;
}
.app-feature-banner .store-button:hover{border-color:#f0ddb5;background:#f0ddb5}
.app-banner-art{display:none}
@media(max-width:600px){
  .app-feature.app-feature-banner{min-height:370px;padding-top:58px;padding-bottom:58px}
  .app-feature-banner h2{font-size:clamp(50px,15vw,68px)}
  .app-feature-banner .app-actions{margin-top:24px}
}


/* Scroll-driven Famous Finish scene */
.scroll-finish{--finish-p:0;position:relative;height:190vh;color:var(--paper);background:#080808}
.scroll-finish-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:6%;padding:7%;overflow:hidden}
.scroll-finish-copy{position:relative;z-index:3}
.scroll-finish-copy>p{margin-bottom:22px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.18em}
.scroll-finish-copy h2{font-family:var(--display);font-size:clamp(68px,8vw,126px);line-height:.82;letter-spacing:-2px}
.scroll-finish-copy h2 em{color:#d9bf86;font-style:normal}
.scroll-finish-copy>span{display:block;margin-top:28px;color:#9f9c94;font-size:12px;letter-spacing:.08em}
.finish-visual{position:relative;height:min(78vh,760px);margin:0;overflow:hidden;border-radius:8px;background:#171512}
.finish-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(calc(1 - var(--finish-p))) saturate(calc(.65 + var(--finish-p)*.35)) brightness(calc(.62 + var(--finish-p)*.22));transform:scale(calc(1.08 - var(--finish-p)*.08));will-change:transform,filter}
.finish-visual::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(8 8 8 / 46%),transparent 36%),linear-gradient(0deg,rgb(8 8 8 / 56%),transparent 42%)}
.finish-focus{position:absolute;z-index:2;left:39%;top:48%;width:49%;aspect-ratio:1.12;border:2px solid #e0bd72;border-radius:50%;opacity:calc(.18 + var(--finish-p)*.82);transform:translate(calc((1 - var(--finish-p))*70vw),calc((1 - var(--finish-p))*-38vh)) rotate(calc((1 - var(--finish-p))*22deg)) scale(calc(.72 + var(--finish-p)*.28));box-shadow:0 0 calc(var(--finish-p)*44px) rgb(219 181 103 / 48%),inset 0 0 calc(var(--finish-p)*34px) rgb(219 181 103 / 18%);will-change:transform,opacity}
.finish-focus span{position:absolute;left:50%;bottom:-13px;padding:7px 12px;border-radius:99px;color:#111;background:#e0bd72;font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap;transform:translateX(-50%) scale(calc(.7 + var(--finish-p)*.3));opacity:var(--finish-p)}
.finish-sheen{position:absolute;z-index:3;inset:-30%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,rgb(255 241 202 / 46%) 49%,rgb(255 255 255 / 65%) 50%,rgb(220 182 101 / 24%) 52%,transparent 59%);mix-blend-mode:screen;transform:translateX(calc(-95% + var(--finish-p)*190%));opacity:calc(var(--finish-p)*(1 - var(--finish-p))*2.4);will-change:transform,opacity}
@media(max-width:760px){
  .scroll-finish{height:165vh}
  .scroll-finish-sticky{height:calc(100svh - 70px);top:70px;display:block;padding:7%}
  .scroll-finish-copy{position:absolute;z-index:4;left:9%;right:9%;bottom:9%}
  .scroll-finish-copy h2{font-size:clamp(58px,18vw,84px);text-shadow:0 5px 30px #000}
  .scroll-finish-copy>span{display:none}
  .finish-visual{height:100%;border-radius:6px}
  .finish-focus{left:29%;top:48%;width:65%;transform:translate(calc((1 - var(--finish-p))*90vw),calc((1 - var(--finish-p))*-26vh)) rotate(calc((1 - var(--finish-p))*18deg)) scale(calc(.72 + var(--finish-p)*.28))}
}
@media(prefers-reduced-motion:reduce){.scroll-finish{height:auto;--finish-p:1}.scroll-finish-sticky{position:relative;height:auto;min-height:720px}.finish-sheen{display:none}}

/* Optical vertical centering for the mobile hero composition */
@media(max-width:760px){
  .hero-video-background .hero-copy{
    transform:translateY(clamp(34px,6vh,58px));
  }
}
@media(max-width:390px){
  .hero-video-background .hero-copy{
    transform:translateY(clamp(22px,4vh,38px));
  }
}


/* Faster, brighter video-hero presentation */
.hero-background-video{filter:saturate(.92) contrast(1.03) brightness(.82)}
.hero-video-background::after{
  background:
    linear-gradient(90deg,rgb(7 7 6 / 84%) 0%,rgb(8 8 7 / 66%) 31%,rgb(8 8 7 / 25%) 58%,rgb(8 8 7 / 18%) 78%,rgb(8 8 7 / 38%) 100%),
    linear-gradient(0deg,rgb(7 7 6 / 60%) 0%,transparent 44%,rgb(7 7 6 / 20%) 100%),
    radial-gradient(ellipse at center,transparent 50%,rgb(4 4 3 / 34%) 100%);
}
@media(max-width:760px){
  .hero-background-video{filter:saturate(.9) contrast(1.04) brightness(.72)}
  .hero-video-background::after{
    background:
      linear-gradient(180deg,rgb(7 7 6 / 24%) 0%,rgb(7 7 6 / 38%) 40%,rgb(7 7 6 / 74%) 84%,rgb(8 8 7 / 88%) 100%),
      linear-gradient(90deg,rgb(7 7 6 / 52%),transparent 82%),
      radial-gradient(ellipse at center,transparent 40%,rgb(5 5 4 / 30%) 100%);
  }
}


/* One booking action per navigation context */
.nav-book-mobile{display:none}
@media(max-width:760px){
  .header nav a.nav-book-mobile{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:auto;
    padding:18px;
    border:1px solid #e6d19f;
    border-radius:8px;
    color:#111;
    background:#d8c18f;
    font-family:var(--body);
    font-size:15px;
    font-weight:800;
    text-transform:none;
  }
  .header nav a.nav-book-mobile:hover{color:#111;background:#ead9ae}
  .header nav a:last-child{margin-top:12px}
}
