/* Accent now comes from the TEMPLATE CONFIG block in index.html.
   --lime is aliased to --brand-accent there; do not hardcode it here. */
.demobar{color:#fff}.demo-inner a{color:#fff}.demo-inner a:last-child{color:#fff}
.hero{min-height:clamp(580px,72vh,720px)}
.hero-image{filter:saturate(.64) brightness(.78) contrast(1.08)}
.hero-copy{padding-top:55px;padding-bottom:45px}
.hero h1{font-size:clamp(2.75rem,6.7vw,6.1rem);max-width:900px;letter-spacing:-.055em}
h2{font-size:clamp(2.15rem,4.5vw,4.35rem)}
.gallery,.menu,.book{padding-top:clamp(65px,8vw,110px);padding-bottom:clamp(65px,8vw,110px)}
.editorial-head{margin-bottom:42px}.gallery-grid{gap:14px}.frame img{filter:saturate(.68) brightness(.88)}
.menu-intro{margin-bottom:45px}.menu-list article{padding-top:27px;padding-bottom:27px}
.menu-list .featured{color:#fff}.featured .menu-num,.featured .menu-desc,.featured .menu-name p,.featured .menu-price small{color:#f5dadd}
.arrow-link span,.booking-card button,.sticky-book{color:var(--brand-accent-ink,#fff)}

/* ---- hero: rating line + click-to-call ---- */
.hero-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-14px 0 26px;font-size:.95rem;color:#e6e7e7}
.hero-rating .stars{color:#ffc107;letter-spacing:2px;font-size:1.02rem}
.hero-rating strong{color:#fff;font-weight:700}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn-call{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;white-space:nowrap;
  background:var(--brand-accent);color:var(--brand-accent-ink,#fff);padding:15px 24px;font-size:1.02rem;line-height:1}
.btn-call span{font-size:1.05rem}
.btn-call:hover{filter:brightness(1.08)}

/* ---- review proof band ---- */
.reviews{padding:clamp(58px,7vw,92px) max(22px,calc((100vw - var(--max))/2));background:#0b0c0d;border-bottom:1px solid var(--line)}
.reviews-head{margin-bottom:34px}
.reviews-head h2{margin:0;font-size:clamp(1.9rem,3.6vw,3.1rem)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reviews blockquote{margin:0;border:1px solid var(--line);padding:26px 24px 22px;background:#0e1012;display:flex;flex-direction:column;gap:16px;min-width:0}
.reviews blockquote::before{content:"★★★★★";color:#ffc107;letter-spacing:2px;font-size:.9rem}
.reviews blockquote p{margin:0;color:#dcdddd;font-size:.96rem;line-height:1.62}
.reviews cite{margin-top:auto;font-style:normal;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}

/* ---- sticky bar: call on the left, quote on the right ---- */
.sticky-call{font-weight:700;text-decoration:none}
.book-phone{font:600 1.45rem "Space Grotesk";letter-spacing:-.01em}
.process-feature{min-height:560px}.process-photo img{filter:saturate(.58) brightness(.8)}.process-copy{padding:clamp(45px,6vw,78px)}
.radius{padding-top:55px;padding-bottom:55px}.service-cuts img{filter:grayscale(.2) saturate(.62) brightness(.82)}
.detail-standards{display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(22px,calc((100vw - var(--max))/2));background:#0e1012;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-standards article{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:30px 20px;border-right:1px solid var(--line);min-width:0}
.detail-standards article:first-child{border-left:1px solid var(--line)}
.detail-standards svg{width:42px;height:42px;fill:none;stroke:var(--lime);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.detail-standards h2{font:600 .9rem "Space Grotesk";margin:0 0 5px}
.detail-standards p{font-size:.73rem;color:var(--muted);margin:0}
.detail-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:clamp(65px,8vw,110px) max(22px,calc((100vw - var(--max))/2));background:#0b0c0d;border-top:1px solid var(--line)}
.faq-heading{min-width:0}.faq-heading>p:last-child{color:var(--muted);max-width:470px}.faq-list{border-top:1px solid var(--line);min-width:0}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{min-height:68px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font:600 1rem "Space Grotesk"}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--lime);font:400 1.45rem Inter}.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{padding:0 38px 22px 0;color:var(--muted);margin:0;max-width:680px}
@media(max-width:900px){.detail-standards{grid-template-columns:1fr 1fr}.detail-standards article:nth-child(3){border-left:1px solid var(--line)}.detail-faq{grid-template-columns:1fr;gap:40px}
  .reviews-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hero{min-height:620px}.hero-copy{padding-top:45px;padding-bottom:34px}.hero h1{font-size:clamp(2.4rem,11.5vw,3.4rem)}.hero-bottom p{font-size:.94rem}
  .hero-rating{margin:-8px 0 20px;font-size:.88rem}
  .hero-actions{display:grid;gap:12px}
  .btn-call,.hero-actions .arrow-link{width:100%;justify-content:center}
  .hero-actions .arrow-link{gap:12px;border:1px solid rgba(255,255,255,.4);padding:13px 18px}
  .hero-actions .arrow-link span{width:34px;height:34px}
  .reviews{padding-left:16px;padding-right:16px}
  .sticky-book{gap:12px;justify-content:space-between}
  .sticky-book a{font-size:.75rem}.gallery,.menu,.book{padding-top:58px;padding-bottom:58px}.detail-standards{grid-template-columns:1fr;padding:0 16px}.detail-standards article,.detail-standards article:nth-child(3){border-left:1px solid var(--line);padding-top:22px;padding-bottom:22px}.detail-faq{padding:58px 16px}.faq-list summary{font-size:.95rem}.process-copy{padding-top:48px;padding-bottom:48px}.radius{padding-top:45px;padding-bottom:45px}}
