html{ scroll-padding-top: 88px; }
:root{
  --elev-1: 0 1px 2px rgba(38,34,28,.05), 0 4px 12px rgba(38,34,28,.06);
  --elev-2: 0 6px 18px rgba(38,34,28,.08), 0 18px 40px -12px rgba(38,57,47,.18);
  --ease: cubic-bezier(.22,.61,.36,1);
  --dur: .45s;
  --ink: #1C2B22;          
  --paper: #FDFBF6;        
  --surface: #FFFFFF;      
  --pine: #2F6149;         
  --pine-deep: #2F6149;
  --bronze: #C2A368;       
  --gold-deep: #8A6A3E;    
  --muted: #5A6B60;        
  --line: #E4DED2;         
  --line-dark: #1C2B22;
  --green: #2F6149;
  --red: #b3362c;
  --amber: #8A6A3E;   
  --forest: #1C2B22;       
  --sage: #2F6149;         
  --terracotta: #a5512c;   
  --cream-2: #FDFBF6;      
  --r-sm: 8px;             
  --r-md: 14px;            
  --r-lg: 14px;            
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;  
  --sans: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
*{ box-sizing: border-box; margin: 0; padding: 0; }
html{ scroll-behavior: smooth; }
body{ font-family: var(--sans); color: var(--ink); background: var(--paper); line-height: 1.55; font-size: var(--lede); -webkit-font-smoothing: antialiased; }
img{ max-width: 100%; display: block; }
a{ color: var(--pine); }
.wrap{ max-width: 1140px; margin: 0 auto; padding: 0 28px; }
h1, h2, h3{ font-family: var(--serif); font-weight: 600; letter-spacing: -.01em; }
.kicker{ font-family: var(--sans); font-size: var(--micro); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep); }
.site-head{ position: sticky; top: 0; z-index: 50; background: rgba(251,250,247,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.site-head .wrap{ display: flex; align-items: center; gap: 22px; height: 76px; max-width: 1140px; }
.logo-lockup{ display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); margin-right: auto; }
.logo-lockup span{ font-size: var(--micro); color: var(--muted); display: block; letter-spacing: .14em; text-transform: uppercase; margin-top: 2px; white-space: nowrap; }
.head-call{ display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: var(--ink); font-weight: 600; font-size: var(--body-sm); white-space: nowrap; letter-spacing: .01em; }
.head-call svg{ width: 15px; height: 15px; color: var(--pine); }
@media (max-width: 600px){
  .head-call span{ display: none; }
}
section{ padding: clamp(40px,4.3vw,48px) 0; }
@media (max-width: 880px){
}
.m-callbar{ display: none; }
@media (max-width: 720px){
  body{ padding-bottom: 0; }
  .m-callbar{ display: grid; grid-template-columns: 1fr 1fr; position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
  .m-callbar a{ display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px; min-height: 56px; box-sizing: border-box; font-size: var(--body-sm); font-weight: 600; text-decoration: none; line-height: 1.2; }
  .m-callbar .call{ background: var(--bronze); color: #1C2B22; }
  .m-callbar .dir{ background: var(--forest); color: #fff; }
}
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible{ outline: 2px solid var(--pine); outline-offset: 2px; }
@keyframes luxRise{ from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.btn-gold{ background: var(--bronze); color: #1C2B22; font-family: var(--sans); font-weight: 600; font-size: var(--body-sm); letter-spacing: .02em; padding: 15px 30px; border-radius:8px; text-decoration: none; transition:background 180ms; }
.btn-gold:hover{ background: #C2A368; }
.head-right{ display: flex; align-items: center; gap: 18px; }
.btn-gold{
  box-shadow:0 2px 8px rgba(28,43,34,.08);
  transition:transform 180ms cubic-bezier(.4,0,.2,1), box-shadow 180ms ease, background 180ms, border-color 180ms;
}
.btn-gold:hover{
  transform: translateY(-2px);
  box-shadow:0 2px 8px rgba(28,43,34,.08);
}
.logo-lockup{ display: inline-flex; align-items: center; gap: 4px; text-decoration: none; }
.logo-lockup .mark-gold{ background: var(--bronze); color: #fff; font-family: var(--sans); font-weight: 700; font-size: var(--h3); line-height: 1; padding: 4px 8px 5px; border-radius:8px; letter-spacing: .005em; }
.logo-lockup .word{ font-family: var(--sans); font-weight: 600; font-size: var(--h3); color: var(--ink); letter-spacing: -.01em; }
.btn-gold{ background: var(--bronze); color: #1C2B22; border: none; }
.btn-gold:hover{ background: #C2A368; }
.logo-lockup .mark-gold, .logo-lockup .word{ text-transform: none; }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .001ms;
    animation-iteration-count: 1;
    transition-duration: .001ms;
    scroll-behavior: auto;
  }
  .parallax-content{ opacity: 1; transform: none; }
}
.band-contact{ }
.contact-split{ display: grid; grid-template-columns: 1fr; min-height: clamp(320px,38vw,440px); }
.c-photo{ position: relative; background-size: cover; background-position: center; display: flex; align-items: flex-end; }
.c-photo::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(165deg, rgba(30,32,20,.30) 0%, rgba(22,28,20,.58) 52%, rgba(14,19,13,.88) 100%); }
.c-overlay{ position: relative; z-index: 1; color: #fff; padding: clamp(30px,4vw,56px); width: 100%; }
.c-overlay h2{ font-family: var(--serif); font-weight: 500; font-size: var(--h2); line-height: 1.08; margin: 8px 0 14px; color: #fff; }
.c-addr{ color: rgba(255,255,255,.82); font-size: var(--body); line-height: 1.5; margin: 0 0 18px; }
.c-actions{ display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.c-call{ font-family: var(--serif); font-size: var(--h3); font-weight: 500; color: #fff; text-decoration: none; }
.c-dir{ color: var(--bronze); font-weight: 600; font-size: var(--body-sm); text-decoration: none; }
.c-dir:hover{ color: #C2A368; }
@media (max-width: 820px){
  .contact-split{ grid-template-columns: 1fr; }
  .c-photo{ min-height: 430px; }
}
.site-head.topnav{ position: sticky; top: 0; z-index: 60; background: var(--surface); border-bottom: 1px solid var(--line); }
.site-head.topnav .wrap{ display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; height: auto; min-height: 64px; padding-top: 12px; padding-bottom: 12px; }
.topnav .logo-lockup{ justify-self: start; }
.topnav-links{ justify-self: center; display: flex; align-items: center; gap: 18px; }
.topnav-links a{ font-family: var(--sans); font-size: var(--body-sm); font-weight: 500; letter-spacing: .01em; color: var(--ink); text-decoration: none; padding: 6px 8px; border-bottom: 2px solid transparent; transition:color 180ms, border-color 180ms; white-space: nowrap; }
.topnav-links a:hover{ color: var(--pine); }
.topnav-links a[aria-current="page"]{ color: var(--pine-deep); font-weight: 600; }
.topnav .head-right{ justify-self: end; display: flex; align-items: center; gap: 16px; }
.topnav .head-call{ display: inline-flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; font-weight: 600; font-size: var(--body-sm); }
.topnav .head-call svg{ width: 17px; height: 17px; color: var(--pine); flex-shrink: 0; }
.topnav .head-call:hover{ color: var(--pine); }
.portal-pill{ display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; background: var(--forest); color: #fff; font-family: var(--sans); font-weight: 600; font-size: var(--body-sm); letter-spacing: .01em; padding: 9px 17px; border-radius:8px; text-decoration: none; box-shadow:0 1px 2px rgba(28,43,34,.06); transition:transform 180ms, box-shadow 180ms, background 180ms; }
.portal-pill:hover{ transform: translateY(-1px); background: #1c2b22; box-shadow:0 2px 8px rgba(28,43,34,.08); }
.portal-pill:focus-visible{ outline: 2px solid var(--pine); outline-offset: 3px; }
.nav-toggle{ display: none; background: none; border: 0; cursor: pointer; padding: 12px 11px; flex-direction: column; justify-content: center; gap: 5px; -webkit-tap-highlight-color: transparent; }
.nav-toggle-bar{ display: block; width: 24px; height: 2px; background: var(--ink); border-radius:8px; transition:transform 180ms ease, opacity 180ms; }
.site-head.menu-open .nav-toggle-bar:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.site-head.menu-open .nav-toggle-bar:nth-child(2){ opacity: 0; }
.site-head.menu-open .nav-toggle-bar:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1079px){
  .site-head.topnav .wrap{ grid-template-columns: 1fr auto; row-gap: 0; }
  .topnav .logo-lockup{ grid-row: 1; grid-column: 1; }
  .nav-toggle{ display: flex; grid-row: 1; grid-column: 2; justify-self: end; align-self: center; }
  .topnav-links, .topnav .head-right{ display: none; }
  .site-head.menu-open .topnav-links{ display: flex; flex-direction: column; align-items: stretch; justify-self: stretch; grid-row: 2; grid-column: 1 / -1; gap: 0; margin-top: 10px; padding-top: 4px; border-top: 1px solid var(--line); }
  .site-head.menu-open .topnav-links a{ padding: 13px 2px; font-size: var(--lede); border-bottom: 1px solid var(--line); text-align: left; }
  .site-head.menu-open .topnav .head-right{ display: flex; flex-direction: column; align-items: stretch; justify-self: stretch; grid-row: 3; grid-column: 1 / -1; gap: 12px; padding: 14px 0 6px; }
  .site-head.menu-open .topnav .head-call{ justify-content: flex-start; font-size: var(--lede); }
  .site-head.menu-open .topnav .head-call span{ display: inline; }
  .site-head.menu-open .portal-pill{ justify-content: center; }
}
@media (max-width: 420px){
  .portal-pill{ padding: 10px 15px; font-size: var(--body-sm); }
  .topnav .head-right{ gap: 10px; }
}
.cond-head{ margin-bottom: 22px; }
.cond-head h2{ font-family: var(--serif); font-weight: 500; font-size: var(--h2); margin: 6px 0 0; }
@keyframes cr-rot{ to { transform: rotate(360deg); } }
@keyframes cr-pop{ from { transform: scale(.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.call-toast{ position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px); z-index: 200; background: var(--forest); color: #fff; padding: 14px 22px; border-radius:8px; box-shadow:0 2px 8px rgba(28,43,34,.08); font-size: var(--body); max-width: 90vw; opacity: 0; pointer-events: none; transition:opacity 180ms, transform 180ms; }
.call-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }
.call-toast b{ font-weight: 700; color: #ffe3a8; }
.spine-fn{ background: linear-gradient(180deg,#FDFBF6 0%, #FDFBF6 100%); }
.spine-fn .cond-head{ text-align: center; max-width: 640px; margin: 0 auto clamp(20px,2.4vw,30px); }
.spine-fn .cond-head h2{ font-family: var(--serif); font-weight: 500; font-size: var(--h2); color: var(--forest); margin-top: 8px; }
.spine-fn{ position: relative; overflow: hidden; background: linear-gradient(180deg,#FDFBF6 0%, #FDFBF6 100%); }
.spine-fn::after{ content:""; position:absolute; width:420px; height:420px; border-radius:50%; bottom:-140px; right:-70px; background: radial-gradient(circle, rgba(194,163,104,.42), transparent 68%); filter: blur(8px); pointer-events:none; }
.spine-fn .wrap{ position: relative; z-index: 1; }
@keyframes spineFloat{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-7px); } }
@keyframes rpulse{ 0%,100%{ opacity:.28; } 50%{ opacity:.95; } }
@keyframes spFade{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@keyframes pf2pulse{ 0%,100%{ transform:translate(-50%,-50%) scale(1); } 50%{ transform:translate(-50%,-50%) scale(1.15); } }
.reveal{ opacity: 0; transform: translateY(28px); transition:opacity 180ms cubic-bezier(.2,.7,.2,1), transform 180ms cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.reveal.in{ opacity: 1; transform: none; }
.reveal-d1{ transition-delay:.07s }
.reveal-d2{ transition-delay:.14s }
.reveal-d3{ transition-delay:.21s }
.reveal-d4{ transition-delay:.28s }
.reveal-d5{ transition-delay:.35s }
.reveal-d6{ transition-delay:.42s }
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal.in{ opacity:1; transform:none; transition:none; }
}
.spine-fn{ padding-top: clamp(37px,4.3vw,52px); padding-bottom: clamp(59px,7.2vw,87px); }
.band-contact{ padding-top: clamp(32px,3.6vw,45px); }
@keyframes sbFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-9px) } }
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--pine-deep,#2F6149);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font:600 var(--body-sm)/1 var(--sans,sans-serif)}
.skip-link:focus{left:8px;top:8px}
[aria-current="page"]{font-weight:600}
:root{ --grade: saturate(.9) sepia(.07) contrast(1.03) brightness(1.01); }
h2{ letter-spacing: -.018em; }
.spine-fn .cond-head h2{ font-size: var(--h2); }
.spine-fn .cond-head h2{ max-width: none; line-height: 1.08; white-space: nowrap; margin: 0 auto; }
.spine-fn .hand-u{ color: var(--gold-deep); }
body::after{ content:""; position: fixed; inset: 0; pointer-events: none; z-index: 2000; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.reveal{ filter: blur(5px); transition:opacity 180ms cubic-bezier(.2,.7,.2,1), transform 180ms cubic-bezier(.2,.7,.2,1), filter 180ms cubic-bezier(.2,.7,.2,1); }
.reveal.in{ filter: blur(0); }
.btn-gold:active{ transform: translateY(0) scale(.985); }
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal.in{ filter: none; }
  body::after{ display: none; }
}
.c-serve{color:rgba(255,255,255,.75);font-size: var(--body-sm);margin:-8px 0 18px}
.c-serve a{color:var(--bronze);text-decoration:none}
.hand-u{position:relative;font-style:italic;color:#C2A368;white-space:nowrap}
.hand-u svg{position:absolute;left:0;right:0;bottom:-.14em;width:100%;height:.22em}
.spine-fn{background:linear-gradient(180deg,#C2A368 0%,#C2A368 25%,#8A6A3E 55%,#8A6A3E 82%,#8A6A3E 100%)}
h1, h2{font-optical-sizing:auto}
.site-head.topnav .wrap{min-height:70px}
.spine-fn{padding-bottom:clamp(35px,4.3vw,52px)}
@keyframes sdp{0%,100%{r:9}50%{r:12}}
@keyframes pfring{0%,100%{box-shadow:0 1px 2px rgba(28,43,34,.06)}50%{box-shadow:0 1px 2px rgba(28,43,34,.06)}}
.pk-plate{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(14px,2vw,32px);box-shadow:0 2px 8px rgba(28,43,34,.08);max-width:880px;margin:0 auto}
.pk-stage{width:100%;height:auto;display:block}
.pk-lbl{cursor:pointer}
.pk-lbl rect{fill:#FFFFFF;stroke:#E4DED2;stroke-width:1.25;transition:fill 180ms,stroke 180ms}
.pk-lbl text{font-family:var(--sans);font-size: var(--lede);font-weight:600;fill:#1C2B22;transition:fill 180ms}
.pk-lbl:hover rect{stroke:#2f6149}
.pk-lbl.active rect{fill:#1C2B22;stroke:#1C2B22}
.pk-lbl.active text{fill:#FDFBF6}
.pk-lbl:focus-visible{outline:2px solid #2f6149;outline-offset:3px}
.pk-line{stroke:#E4DED2;stroke-width:1.5;transition:stroke 180ms}
.pk-line.active{stroke:#c2a368;stroke-width:2}
.pk-dot .ring{fill:rgba(194,163,104,.14);stroke:#c2a368;stroke-width:1.5;transition:opacity 180ms cubic-bezier(.2,0,.2,1),transform 180ms cubic-bezier(.2,0,.2,1);cursor:pointer}
.pk-dot .core{fill:#c2a368;transition:fill 180ms;pointer-events:none}
.pk-dot:hover .ring{fill:rgba(194,163,104,.3)}
.pk-dot.active .ring{stroke:#c0492f;fill:rgba(192,73,47,.12);animation:pkring 2.1s ease-in-out infinite}
.pk-dot.active .core{fill:#c0492f}
@keyframes pkring{0%,100%{stroke-width:1.5}50%{stroke-width:4}}
.pk-chips{display:none;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.pk-chip{font-family:var(--sans);font-size: var(--body-sm);font-weight:600;color:var(--ink);background:#FFFFFF;border:1px solid var(--line);border-radius:50%;padding:9px 15px;cursor:pointer}
.pk-chip.active{background:#1C2B22;border-color:#1C2B22;color:#FDFBF6}
.pk-card{margin-top:clamp(14px,2vw,26px);border-top:3px solid var(--bronze);background:#FFFFFF;border-radius:14px;padding:clamp(18px,2.4vw,30px)}
.spine-fn .pk-sub{color:#1C2B22;font-size: var(--body);line-height:1.55;max-width:52ch;margin:0 auto}
.pk-prompt{display:flex;align-items:center;justify-content:center;gap:11px;text-align:center;color:var(--muted);font-size: var(--lede);line-height:1.5;padding:6px 0}
.pk-t h3{font-family:var(--serif);font-weight:500;font-size: var(--h3);color:var(--forest);margin:0 0 12px}
.pk-t h3 em{font-style:normal;font-family:var(--sans);font-size: var(--body-sm);color:var(--muted);margin-left:10px}
.pk-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,36px)}
.pk-cols b{display:block;font-family:var(--sans);font-size: var(--micro);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}
.pk-cols p{color:#5A6B60;font-size: var(--lede);line-height:1.6;margin:0}
.pk-act{display:flex;align-items:center;gap:22px;margin-top:26px;flex-wrap:wrap}
.pk-act .textlink{margin-top:0;font-size: var(--lede)}
.pk-t.swap{animation:pkin .3s cubic-bezier(.2,.7,.2,1)}
@keyframes pkin{from{opacity:0;transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){
  .pk-dot.active .ring{animation:none}
  .pk-t.swap{animation:none}
}
@media(max-width:860px){
  .pk-stage{display:none}
  .pk-chips{display:flex}
}
.pk-mfig{display:none;position:relative;margin:0 auto 12px;max-width:230px;line-height:0}
.pk-mfig img{width:100%;height:auto;display:block}
.pk-mdot{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid var(--bronze);background:rgba(194,163,104,.2)}
.pk-mdot.active{border-color:#c0492f;background:rgba(192,73,47,.25);box-shadow:0 1px 2px rgba(28,43,34,.06)}
.pk-mdot{cursor:pointer}
.pk-mdot::after{content:"";position:absolute;inset:-11px;border-radius:50%}
.pk-mlabel{position:absolute;z-index:3;font-family:var(--sans);font-size: var(--micro);font-weight:600;line-height:1.3;color:var(--forest);background:#FFFFFF;border:1px solid var(--bronze);border-radius:14px;padding:5px 9px;max-width:96px;text-align:center;transform:translateY(-50%);box-shadow:0 1px 2px rgba(28,43,34,.06);pointer-events:none}
@media(max-width:860px){
  .pk-mfig{display:block}
}
@media(max-width:640px){
  .pk-cols{grid-template-columns:1fr;gap:22px}
}
.pk-dot.ref.active .ring{stroke:#c2a368;fill:rgba(194,163,104,.16);animation:pkring 2.1s ease-in-out infinite}
.pk-dot.ref.active .core{fill:#8A6A3E}
.pk-msrc{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid #c0492f;background:rgba(192,73,47,.15);opacity:0;transition:opacity 180ms}
.pk-msrc.active{opacity:1}
@media(prefers-reduced-motion:reduce){
  .pk-dot.ref.active .ring{animation:none}
}
.hl-cine{ position: relative; height: 62vh; min-height: 440px; max-height: 620px; display: flex; align-items: flex-end; overflow: hidden; background-image: linear-gradient(90deg, rgba(18,26,20,.58) 0%, rgba(18,26,20,.24) 46%, rgba(18,26,20,0) 74%), linear-gradient(180deg, rgba(18,26,20,.34) 0%, rgba(18,26,20,.06) 34%, rgba(18,26,20,.28) 62%, rgba(18,26,20,.84) 100%), url("img/nashua-downtown.webp"); background-size: cover; background-position: center 52%; background-attachment: fixed; background-repeat: no-repeat; }
.hl-cine .hl-cine-in{ position: relative; z-index: 2; max-width: 1140px; margin: 0 auto; width: 100%; padding: 0 28px clamp(42px,6.5vh,68px); }
.hl-cine .crumbs{ font-size: var(--micro); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.82); margin-bottom: 16px; }
.hl-cine .crumbs a{ color: rgba(255,255,255,.82); text-decoration: none; }
.hl-cine .crumbs a:hover{ color: #fff; }
.hl-cine h1{ font-family: var(--serif); font-weight: 500; font-size: var(--h1); line-height: 1.02; letter-spacing: -.024em; color: #fff; margin: 0; max-width: 16ch; }
.hl-cine .lede{ font-size: var(--lede); line-height: 1.55; color: rgba(253,251,246,.92); max-width: 52ch; margin: 18px 0 0; }
@media (max-width: 820px){ .hl-cine{ height: auto; min-height: clamp(460px,80vh,640px); background-attachment: scroll; } }
.hl-status{ display: flex; align-items: center; justify-content: center; gap: 9px; font-size: var(--lede); margin: 0 0 16px; color: var(--ink); }
.hl-status b{ font-weight: 700; }
.hl-next{ color: var(--muted); }
.hl-dot{ width: 9px; height: 9px; border-radius:50%; background: var(--muted); display: inline-block; flex: none; }
.hl-visit .hl-status{ justify-content: flex-start; }
@media (hover: none){
}
.c-overlay{ max-width: 1140px; margin: 0 auto; width: 100%; padding: clamp(30px,4vw,56px) 28px; }
@media (max-width: 860px){
}
@media (max-width:860px){
}
@media (max-width: 820px){
  .hl-cine{ min-height: clamp(400px,52vh,480px); }
}
.band-contact{ padding-top: 0; padding-bottom: 0; }
.c-photo{ overflow: hidden; }
.c-wave{ position: absolute; left: 0; right: 0; z-index: 3; line-height: 0; pointer-events: none; height: clamp(36px,5vw,66px); }
.c-wave-top{ top: -1px; }
.c-wave-bot{ bottom: -1px; }
.band-contact .c-overlay{ padding-bottom: clamp(56px,5.8vw,64px); }
 .spine-fn .cond-head h2{ font-size: var(--h2); }
 .spine-fn .pk-sub{ font-size: var(--body-sm); line-height: 1.6; }
.hl-cine + .sweep{ background: transparent; position: relative; z-index: 3;
  margin-top: calc(-1 * clamp(28px,4.6vw,58px)); }
@media (max-width: 620px){ .spine-fn .cond-head h2{ white-space: normal; line-height: 1.18; } .spine-fn .cond-head h2 .nwr{ white-space: nowrap; } }
:root{
  --h1-home: clamp(28px,4.6vw,68px);
  --body-sm: 13.5px;
  --micro: 12px;
  --h1:      clamp(30px,3.4vw,46px);
  --h2:      clamp(26px,2.9vw,36px);
  --h3:      clamp(18px,1.7vw,21px);
  --body:    clamp(1.0625rem, 0.98rem + 0.35vw, 1.125rem);
  --lede:    clamp(16px,1.3vw,18px);
  --sec-y:   clamp(22px,2.6vw,36px);
}
 .hl-cine h1{ font-size: var(--h1); line-height: 1.06; }
 .cond-head h2, .spine-fn .cond-head h2, .c-overlay h2{ font-size: var(--h2); line-height: 1.08; }
 .pk-t h3{ font-size: var(--h3); line-height: 1.15; }
 .spine-fn .pk-sub{ font-size: var(--body); line-height: 1.6; }
h1, h2, h3{line-height:1.12;}
 .c-dir{ position: relative; }
 .c-dir::after{ content:""; position:absolute; left:-4px; right:-4px; top:-8px; bottom:-8px; }
@media (min-width: 1100px){
  .wrap,
  .hl-cine .hl-cine-in,
  .site-head .wrap,
  .site-head.topnav .wrap{ max-width: min(1560px, 94vw); }
  .pk-plate{ max-width: min(1100px, 66vw); }
}
@media (min-width: 2000px){
  .wrap,
  .hl-cine .hl-cine-in,
  .site-head .wrap,
  .site-head.topnav .wrap{ max-width: 1720px; }
  .pk-plate{ max-width: 1180px; }
}
a[href^="tel:"]{ white-space: nowrap; }
.demo-ribbon{ position: fixed; top: 0; left: 0; right: 0; z-index: 400; height: 26px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #1C2B22; color: var(--bronze); font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: var(--micro); font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  pointer-events: none; }
.site-head, .site-head.topnav{ top: 26px; }
body{ padding-top: 26px; }
@media print{ .demo-ribbon{ position: absolute; } }
.pk-head{ display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 clamp(8px,1.2vw,14px); }
.pk-close{ display: none; position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius:50%; background: var(--surface); color: var(--ink); font-size: var(--h3); line-height: 1; cursor: pointer; padding: 0; }
.pk-close:hover{ border-color: var(--pine); color: var(--pine); }
.pk-backdrop{ position: fixed; inset: 0; z-index: 490; background: rgba(24,32,27,.44); opacity: 0; pointer-events: none; transition:opacity 180ms; }
.pk-backdrop.on{ opacity: 1; pointer-events: auto; }
.pk-chip.active{ background: var(--pine); border-color: var(--pine); color: #FDFBF6; }
.pk-prompt[hidden]{ display: none; }
.pk-chips .pk-card{ flex: 1 1 100%; margin: 4px 0 6px; }
@media (min-width: 861px){
  .pk-card{ position: relative; }
  .pk-card.pop{ position: fixed; z-index: 500; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(760px,92vw); max-height: min(78vh,660px); overflow: auto; margin-top: 0; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--bronze); border-radius:14px; box-shadow:0 2px 8px rgba(28,43,34,.08); padding: clamp(22px,2.6vw,34px) clamp(24px,3vw,40px); animation: pkpop .32s var(--ease); }
  .pk-card.pop:focus{ outline: none; }
  .pk-card.pop .pk-close{ display: inline-flex; }
}
@keyframes pkpop{ from{ opacity: 0; transform: translate(-50%,-46%) scale(.965); } }
@media (prefers-reduced-motion: reduce){ .pk-card.pop{ animation: none; } .pk-backdrop{ transition:none; } }
main a{ text-decoration: none; }
 .pk-cols p a{ font-weight: 600; }
.pk-mini{ display: flex; align-items: center; gap: 16px; width: 100%; max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius:14px; padding: 12px 18px; cursor: pointer; font-family: var(--sans); text-align: left; box-shadow:0 2px 8px rgba(28,43,34,.08); transition:transform 180ms var(--ease), box-shadow 180ms var(--ease); }
.pk-mini:hover{ transform: translateY(-2px); box-shadow:0 2px 8px rgba(28,43,34,.08); }
.pk-mini:focus-visible{ outline: 2px solid var(--pine); outline-offset: 3px; }
.pk-mini img{ height: 58px; width: auto; flex: none; }
.pk-mini-txt{ flex: 1; font-weight: 600; font-size: var(--lede); color: var(--ink); }
.pk-fold-ico{ position: relative; width: 30px; height: 30px; flex: none; border: 1px solid var(--line); border-radius:50%; }
.pk-fold-ico::before{ content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border-right: 1.6px solid var(--gold-deep); border-bottom: 1.6px solid var(--gold-deep); translate: -50% -68%; rotate: 45deg; }
.pk-head-t{ font-family: var(--sans); font-weight: 600; font-size: var(--lede); color: var(--ink); }
.pk-platclose{ display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius:50%; background: var(--surface); color: var(--ink); font-size: var(--h3); line-height: 1; cursor: pointer; padding: 0; flex: none; }
.pk-platclose:hover{ border-color: var(--pine); color: var(--pine); }
.pk-plate{ display: none; }
.pk-plate.zoom{ display: block; position: fixed; z-index: 495; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(1100px,94vw); max-height: min(88vh,920px); overflow: auto; opacity: 1; margin: 0; animation: pkpop .32s var(--ease); }
.pk-plate.zoom:focus{ outline: none; }
.pk-prompt{ display: none; }
.pk-card{ display: none; }
.pk-chips .pk-card{ display: block; }
@media (min-width: 861px){ .pk-card.pop{ display: block; } }
@media (prefers-reduced-motion: reduce){ .pk-plate.zoom{ animation: none; } .pk-mini, .pk-mini:hover{ transition:none; transform: none; } }
.svc-head-map .pk-mini{ max-width: 340px; margin: 0; padding: 10px 14px; gap: 12px; }
.svc-head-map .pk-mini img{ height: 46px; }
@media (max-width: 900px){
  .svc-head-map .pk-mini{ max-width: 420px; }
}
body.home-nav-overlay .site-head.topnav{ position: fixed; left: 0; right: 0; background: transparent; border-bottom: 0; backdrop-filter: none; transition:background 180ms var(--ease), border-color 180ms; }
body.home-nav-overlay .site-head.topnav::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,22,16,.78) 0%, rgba(16,22,16,.66) 62%, rgba(16,22,16,.22) 90%, rgba(16,22,16,0) 100%); pointer-events: none; z-index: -1; }
body.home-nav-overlay .site-head.topnav .topnav-links a,
body.home-nav-overlay .site-head.topnav .head-call,
body.home-nav-overlay .site-head.topnav:not(.stuck) .logo-lockup .word{ color: #FDFBF6; }
body.home-nav-overlay .site-head.topnav .head-call svg{ color: var(--bronze); }
body.home-nav-overlay .site-head.topnav .topnav-links a:hover{ color: var(--bronze); }
body.home-nav-overlay .site-head.topnav .nav-toggle-bar{ background: #fdfbf6; }
body.home-nav-overlay .site-head.topnav.stuck{ background: var(--surface); border-bottom: 1px solid var(--line); }
body.home-nav-overlay .site-head.topnav.stuck::before{ opacity: 0; }
body.home-nav-overlay .site-head.topnav.stuck .topnav-links a,
body.home-nav-overlay .site-head.topnav.stuck .head-call,
body.home-nav-overlay .site-head.topnav.stuck .logo-lockup .word{ color: var(--ink); }
body.home-nav-overlay .site-head.topnav.stuck .head-call svg{ color: var(--pine); }
body.home-nav-overlay .site-head.topnav.stuck .nav-toggle-bar{ background: var(--ink); }
@media (max-width: 1079px){
  body.home-nav-overlay .site-head.topnav.menu-open{ background: var(--surface); }
  body.home-nav-overlay .site-head.topnav.menu-open .topnav-links a,
  body.home-nav-overlay .site-head.topnav.menu-open .head-call{ color: var(--ink); }
  body.home-nav-overlay .site-head.topnav.menu-open .nav-toggle-bar{ background: var(--ink); }
}
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible,
.pk-lbl:focus-visible, .pk-mini:focus-visible, .portal-pill:focus-visible{
  outline: 2px solid #FDFBF6;
  outline-offset: 2px;
  box-shadow:0 1px 2px rgba(28,43,34,.06);
}
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.topnav .logo-lockup .word{ color: var(--ink); }
.site-head.stuck .logo-lockup .word{ color: var(--ink); }
@media (max-width: 899px){
}
@media (max-width: 720px){
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .m-callbar{
    border-radius:14px;
    overflow: hidden;
    box-shadow:0 1px 2px rgba(28,43,34,.06);
  }
  .m-callbar a{ min-height: 58px; }
}
.btn-gold, .btn, button, input, select, .m-callbar a{ border-radius:8px; }
 .rev-card, .pk-plate, .pk-mini{ border-radius:14px; }
.btn-gold{ background:#C2A368; color:#1C2B22; border:none; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; padding:16px 24px; }
@media (max-width: 720px){
  .m-callbar{ border-radius:0; box-shadow:0 1px 2px rgba(28,43,34,.06);
    background:#FDFBF6; border-top:1px solid rgba(28,43,34,.14); padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); gap:8px; }
  .m-callbar a{ min-height:48px; border-radius:8px; }
  .m-callbar .call{ background:#C2A368; color:#1C2B22; }
  .m-callbar .dir{ background:transparent; color:#1C2B22;
    border:1px solid rgba(28,43,34,.4); }
}
a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
  outline: 3px solid #2F6149; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation: none; transition:none; }
  .parallax-content, .reveal, .in{ opacity: 1; transform: none; }
}
.spine-fn{ padding-top: clamp(40px,5vw,64px); padding-bottom: clamp(56px,7vw,96px); }
.ab-stats{ padding-top: clamp(24px,3vw,40px); padding-bottom: clamp(40px,5vw,64px); }
@media (max-width: 880px){
  .spine-fn{ padding-top: 28px; padding-bottom: 40px; }
  .ab-stats{ padding-top: 20px; padding-bottom: 40px; }
}
:root{ --container: 1160px; --gutter: 32px; }
.wrap,
.hl-cine .hl-cine-in,
.site-head .wrap,
.site-head.topnav .wrap{
  max-width: var(--container);
  margin-left: auto; margin-right: auto;
  padding-left: var(--gutter); padding-right: var(--gutter);
  box-sizing: border-box;
}
.foot-brand-col p{ color: #FDFBF6; font-size: var(--micro); line-height: 1.5; margin-top: 8px; max-width: 30ch; }
@media (max-width: 820px){
}
@media (max-width: 720px){
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 820px){
}
:root{ --gutter: 24px; --container: 1160px; }
@media (min-width: 820px){ :root{ --gutter: 40px; } }
body{ font-size: var(--body); }
.m-callbar .call, .m-callbar .dir{ font-size: 1.0625rem; }
@media (max-width: 820px){ body{ padding-bottom: 56px; } }
.reveal{ filter: none; }
@media (scripting: none){
  .reveal, .parallax-content{ opacity: 1; transform: none; filter: none; transition: none; }
}
body .band.band-services{ padding-top: 64px; padding-bottom: 40px; }
body .band.review-band{ padding-top: 64px; padding-bottom: 64px; background: var(--ink); }
body .band.review-band h2, body .band.review-band .big{ color: var(--paper); }
body .band.review-band p{ color: #D8D3C9; }
@media (min-width: 820px){
  body .band.band-services{ padding-top: 64px; padding-bottom: 64px; }
  body .band.review-band{ padding-top: 96px; padding-bottom: 96px; }
}
.c-dir{ color: var(--gold-deep); }
.c-dir:hover{ color: var(--ink); }
.c-serve a{ color: var(--gold-deep); }
.hand-u{ color: var(--gold-deep); }
.m-callbar :focus-visible,
body.home-nav-overlay .site-head.topnav:not(.stuck) :focus-visible{
  outline: 3px solid var(--paper);
  outline-offset: 3px;
}
main h1{
  font-family: var(--serif); font-weight: 600; letter-spacing: -0.015em;
}
 .hl-cine h1{
  font-weight: 600; line-height: 1.12; letter-spacing: -0.015em;
}
 .cond-head h2{
  font-weight: 600; font-size: var(--h2); line-height: 1.12; letter-spacing: -0.018em;
}
body.home-nav-overlay .site-head.topnav{
  position: sticky; top: 0; z-index: 60;
  background: var(--surface); border-bottom: 1px solid var(--line);
  backdrop-filter: none;
}
body.home-nav-overlay .site-head.topnav::before{ content: none; }
body.home-nav-overlay .site-head.topnav .topnav-links a,
body.home-nav-overlay .site-head.topnav .head-call,
body.home-nav-overlay .site-head.topnav:not(.stuck) .logo-lockup .word,
body.home-nav-overlay .logo-lockup .word{ color: var(--ink); }
body.home-nav-overlay .site-head.topnav .head-call svg{ color: var(--pine); }
body.home-nav-overlay .site-head.topnav .topnav-links a:hover{ color: var(--gold-deep); }
body.home-nav-overlay .site-head.topnav .nav-toggle-bar{ background: var(--ink); }
@media (min-width: 821px){
}
.pk-mini{
  width: 64px; height: 64px; min-height: 64px; padding: 0;
  border-radius: 50%; border: 1px solid var(--line);
  background: var(--surface); box-shadow: 0 2px 8px rgba(28,43,34,.08);
  display: inline-flex; align-items: center; justify-content: center;
  overflow: hidden; cursor: pointer; flex: 0 0 auto;
  transition: box-shadow 180ms cubic-bezier(.2,0,.2,1), transform 180ms cubic-bezier(.2,0,.2,1);
}
.pk-mini img{
  width: auto; height: 46px; border-radius: 0; display: block;
  object-fit: contain;
}
.pk-mini:hover{ transform: translateY(-2px); box-shadow: 0 8px 24px rgba(28,43,34,.10); }
.pk-mini:focus-visible{ outline: 3px solid var(--pine); outline-offset: 3px; }
.pk-card, .pk-card.pop{
  background: linear-gradient(0deg, rgba(47,97,73,.06), rgba(47,97,73,.06)), var(--surface);
  border: 1px solid rgba(47,97,73,.22);
  border-top: 3px solid var(--bronze);
}
.pk-card .pk-t h3 em{ color: var(--gold-deep); font-style: normal; }
.pk-card .pk-cols b{ color: var(--pine); }
:root{
  --display: clamp(2.125rem, 1.45rem + 2.90vw, 3.5rem);
}
@media (min-width: 721px){
  .portal-pill{
    background: var(--bronze); color: #1C2B22;
    font-size: var(--body-sm); padding: 11px 20px;
    min-height: 44px; border-radius: 8px;
  }
  .portal-pill:hover{ background: var(--gold-deep); color: #FDFBF6; transform: translateY(-1px); }
}
.nav-toggle{ min-height: 44px; min-width: 44px; }
.logo-lockup{ display: inline-flex; align-items: center; min-height: 44px; }
.skip-link{ min-height: 44px; display: inline-flex; align-items: center; }
body.home .wrap{ max-width: 1140px; margin: 0 auto; padding: 0 28px; }
body.home .kicker{ font-family: var(--sans); font-size: 11.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep); }
body.home .review-band{ background: var(--surface); text-align: center; }
body.home .review-band .big{ font-family: var(--serif); font-size: clamp(30px, 3.4vw, 44px); font-weight: 600; margin: 14px 0 6px; }
body.home .g-badge{ display:inline-flex; align-items:center; gap:14px; border:1px solid var(--line); background:#fff; padding:16px 26px; margin-top:16px; }
body.home .g-meta{ text-align:left; }
body.home .g-stars{ font-family:var(--serif); font-size:18px; color:var(--ink); }
body.home .g-stars b{ color:var(--ink); }
body.home .review-band .g-stars{ letter-spacing:0; }
body.home .review-band .g-badge .g-stars{ color:var(--bronze); }
body.home .review-band .g-badge .g-stars b{ color:var(--ink); margin:0 2px; }
body.home .review-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:34px 0 30px; text-align:left; }
body.home .rev{ margin:0; border:1px solid var(--line); background:var(--surface); padding:24px; }
body.home .rev-stars{ color:#ab7900; letter-spacing:.12em; font-size:15px; margin-bottom:12px; }
body.home .rev blockquote{ margin:0; font-size:15px; line-height:1.6; color:#333d3b; }
body.home .rev figcaption{ margin-top:14px; font-family:var(--serif); font-weight:600; font-size:14px; }
@media (max-width:820px){
  body.home .review-cards{ grid-template-columns:1fr; }
}
body.home .btn-gold{ background: var(--bronze); color: #26392f; font-family: var(--sans); font-weight: 600; font-size: 14.5px; letter-spacing: .02em; padding: 15px 30px; text-decoration: none; transition: background .15s; }
body.home .btn-gold:hover{ background: #d4b87d; }
body.home .band{ padding: clamp(34px,4.0vw,48px) 0; }
body.home .textlink{ display: inline-block; margin-top: 22px; color: var(--pine); font-weight: 600; text-decoration: none; }
body.home .textlink:hover{ color: var(--pine-deep); }
body.home .btn-gold, body.home .btn-xl.call, body.home .btn-xl.ghost{ box-shadow:0 8px 24px rgba(28,43,34,.10); transition: transform .16s cubic-bezier(.4,0,.2,1), box-shadow .16s ease, background .15s, border-color .15s; }
body.home .btn-gold:hover, body.home .btn-xl.call:hover, body.home .btn-xl.ghost:hover{ transform: translateY(-2px); box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .rev, body.home .g-badge{ box-shadow:0 8px 24px rgba(28,43,34,.10); transition: transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s ease; }
body.home .rev:hover{ transform: translateY(-4px); box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .g-review-badge{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); padding:10px 16px; font-size:12.5px; line-height:1.25; backdrop-filter:blur(4px); }
body.home .g-review-badge b{ font-size:15px; }
body.home .g-review-badge:hover{ background:rgba(255,255,255,.2); }
body.home .btn-gold{ background: var(--bronze); color: #241c0e; border: none; }
body.home .btn-gold:hover, body.home .btn-xl.call:hover{ background: #d4b87d; }
body.home .textlink{ color: var(--gold-deep); }
body.home .review-band .g-badge{ text-decoration:none; color:inherit; transition:border-color .2s, transform .2s; }
body.home .review-band .g-badge:hover{ border-color:var(--bronze); transform:translateY(-1px); }
body.home .review-band .g-meta{ color:var(--muted); font-size:13.5px; font-weight:600; }
body.home .review-band .textlink{ display:inline-block; margin-top:6px; font-weight:600; }
body.home .review-band .big{ margin-top:6px; }
body.home .band-services{ background: linear-gradient(180deg,#fcf8f1 0%, var(--paper) 100%); }
body.home .review-band{ background: radial-gradient(130% 150% at 82% -10%, #335141 0%, var(--forest) 52%, #1b2922 100%); color: var(--cream-2); border: none; text-align: left; padding: clamp(51px,6.5vw,79px) 0; }
body.home .review-band .big{ color: #fdfbf6; font-size: clamp(30px,3vw,44px); line-height: 1.06; margin: 10px 0 22px; }
body.home .review-band .g-badge{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); margin: 0 0 18px; }
body.home .review-band .g-badge .g-stars{ color: var(--bronze); }
body.home .review-band .g-badge .g-stars b{ color: #fff; }
body.home .review-band .g-meta{ color: rgba(253,251,246,.72); }
body.home .review-band .g-badge:hover{ border-color: var(--bronze); }
body.home .review-band .textlink{ display: inline-block; color: #fff; margin: 0; }
body.home .review-band .review-cards{ grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; align-items: stretch; }
body.home .review-band .rev{ background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); color: var(--cream-2); box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .review-band .rev blockquote{ color: #f1ebe0; }
body.home .review-band .rev figcaption{ color: #fff; }
body.home .review-band .rev figcaption span{ color: rgba(253,251,246,.6); font-weight: 400; }
body.home .review-band .rev-stars{ color: var(--bronze); }
body.home .review-band .review-cards .rev:nth-child(2){ transform: none; }
body.home .review-band .review-cards .rev:nth-child(3){ grid-column: auto; }
@media (max-width: 860px){
  body.home .review-band .review-cards{ grid-template-columns: 1fr; }
  body.home .review-band .review-cards .rev:nth-child(2){ transform: none; }
  body.home .review-band .review-cards .rev:nth-child(3){ grid-column: auto; }
}
body.home .portal-pill{ display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; background: var(--forest); color: #fff; font-family: var(--sans); font-weight: 600; font-size: 14px; letter-spacing: .01em; padding: 9px 17px; text-decoration: none; box-shadow:0 2px 8px rgba(28,43,34,.08); transition: transform .15s, box-shadow .15s, background .15s; }
body.home .portal-pill:hover{ transform: translateY(-1px); background: #1c2b22; box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .portal-pill:focus-visible{ outline: 2px solid var(--pine); outline-offset: 3px; }
@media (max-width: 420px){
  body.home .portal-pill{ padding: 10px 15px; font-size: 13px; }
}
body.home .review-band .rev-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
body.home .review-band .rev-head .big{ margin: 8px 0 0; }
body.home .review-band .rev{ padding: 22px 22px 20px; }
body.home .review-band .rev blockquote{ font-size: 15px; line-height: 1.55; }
body.home .review-band .rev-foot{ margin-top: 26px; text-align: center; }
@media (max-width: 860px){
  body.home .review-band .rev-head{ align-items: flex-start; }
}
body.home .band-insure{ background: var(--cream-2); padding: clamp(26px,3.2vw,44px) 0; }
body.home .ins-strip{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; }
body.home .ins-copy .kicker{ display:block; margin-bottom:6px; }
body.home .ins-line{ margin:0 auto; font-size:16px; line-height:1.65; color:var(--ink); max-width:64ch; }
body.home .ins-line b{ font-family:var(--serif); font-weight:600; }
body.home .band-services{ padding-top: clamp(43px,5.0vw,60px); padding-bottom: clamp(32px,3.6vw,40px); }
body.home .review-band{ padding-top: clamp(43px,5.0vw,61px); padding-bottom: clamp(43px,5.0vw,61px); }
body.home .review-band .big{ font-size: clamp(26px,3vw,40px); }
body.home .review-band .rev{ background: var(--surface); border: 0; padding: 24px 22px 20px; box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .review-band .rev:hover{ transform: translateY(-4px); box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .review-band .rev blockquote{ color: #3b362e; font-size: 15px; line-height: 1.6; }
body.home .review-band .rev-stars{ color: #ab7900; }
body.home .review-band .rev figcaption{ color: var(--ink); }
body.home .review-band .rev figcaption span{ color: var(--muted); font-weight: 400; }
body.home .band-services{ background:
  radial-gradient(90% 80% at 10% 0%, #fefbf5 0%, rgba(254,251,245,0) 55%),
  linear-gradient(180deg, #fcf8f1 0%, var(--paper) 100%); }
body.home .band-services{ margin-top: -26px; position: relative; z-index: 2; box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .btn-gold:active, body.home .btn-xl.call:active{ transform: translateY(0) scale(.985); }
body.home .vc-h{ font-family:var(--serif); font-weight:500; font-size:clamp(32px,4.2vw,56px); color:var(--forest); line-height:1.04; margin:0 0 10px; }
body.home .vc-p{ color:var(--muted); font-size:16.5px; line-height:1.6; max-width:56ch; margin-bottom:clamp(28px,3.5vw,46px); }
body.home .vc-all{ margin-top:6px; }
body.home .band-services{ margin-top:0; box-shadow:none; background:linear-gradient(180deg,#fcf8f1 0%,var(--paper) 100%); padding-top:clamp(26px,3vw,44px); }
body.home .review-band{ background:linear-gradient(180deg,#26392f 0%,#203329 55%,#1b2922 100%); padding-top:clamp(32px,3.6vw,45px); }
body.home .vc-h{ font-size:clamp(28px,3.4vw,44px); letter-spacing:-.024em; }
body.home .vc-p{ margin-bottom:clamp(32px,4vw,54px); }
body.home .band-services{ padding-bottom:clamp(58px,6.5vw,79px); }
body.home .review-band{ padding-top:clamp(37px,4.3vw,52px); }
body.home .rev{ padding:26px 24px 22px; }
body.home .rev blockquote{ font-size:15.5px; text-indent:-.42ch; }
body.home .rev blockquote::before{ content:"\201C"; }
body.home .rev blockquote::after{ content:"\201D"; }
body.home .review-band .rev{ box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .review-band .rev:hover{ box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .rev figcaption{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
body.home .gchip{ display:inline-flex; align-items:center; gap:6px; font-family:var(--sans); font-weight:500; font-size:12px; color:var(--muted); background:#fff; border:1px solid var(--line); padding:4px 10px; white-space:nowrap; }
body.home .pk-plate{ background:#fff; border:1px solid var(--line); padding:clamp(14px,2vw,32px); box-shadow:0 8px 24px rgba(28,43,34,.10); max-width:880px; margin:0 auto; }
body.home .pk-stage{ width:100%; height:auto; display:block; }
body.home .pk-lbl{ cursor:pointer; }
body.home .pk-lbl rect{ fill:#fffdf9; stroke:#e7decd; stroke-width:1.25; transition:fill .25s,stroke .25s; }
body.home .pk-lbl text{ font-family:var(--sans); font-size:16.5px; font-weight:600; fill:#2b2722; transition:fill .25s; }
body.home .pk-lbl:hover rect{ stroke:#2f6149; }
body.home .pk-lbl:focus-visible{ outline:2px solid #2f6149; outline-offset:3px; }
body.home .pk-line{ stroke:#ddd0ba; stroke-width:1.5; transition:stroke .25s; }
body.home .pk-dot .ring{ fill:rgba(194,163,104,.14); stroke:#c2a368; stroke-width:1.5; transition:all .25s; cursor:pointer; }
body.home .pk-dot .core{ fill:#c2a368; transition:fill .25s; pointer-events:none; }
body.home .pk-dot:hover .ring{ fill:rgba(194,163,104,.3); }
body.home .pk-chips{ display:none; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:14px; }
body.home .pk-chip{ font-family:var(--sans); font-size:14px; font-weight:600; color:var(--ink); background:#fffdf9; border:1px solid var(--line); padding:9px 15px; cursor:pointer; }
body.home .pk-card{ margin-top:clamp(14px,2vw,26px); border-top:3px solid var(--bronze); background:#fffdf9; padding:clamp(18px,2.4vw,30px); }
body.home .pk-t h3{ font-family:var(--serif); font-weight:500; font-size:clamp(21px,2.2vw,27px); color:var(--forest); margin:0 0 12px; }
body.home .pk-t h3 em{ font-style:normal; font-family:var(--sans); font-size:14px; color:var(--muted); margin-left:10px; }
body.home .pk-cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.5vw,36px); }
body.home .pk-cols b{ display:block; font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
body.home .pk-cols p{ color:#4a443a; font-size:15.5px; line-height:1.6; margin:0; }
body.home .pk-act{ display:flex; align-items:center; gap:22px; margin-top:26px; flex-wrap:wrap; }
body.home .pk-act .textlink{ margin-top:0; font-size:15.5px; }
@media (max-width:860px){
  body.home .pk-stage{ display:none; }
  body.home .pk-chips{ display:flex; }
}
body.home .pk-mfig{ display:none; position:relative; margin:0 auto 12px; max-width:230px; line-height:0; }
body.home .pk-mfig img{ width:100%; height:auto; display:block; }
body.home .pk-mdot{ position:absolute; width:18px; height:18px; transform:translate(-50%,-50%); border:1.5px solid var(--bronze); background:rgba(194,163,104,.2); }
body.home .pk-mdot{ cursor:pointer; }
body.home .pk-mdot::after{ content:""; position:absolute; inset:-11px; }
body.home .pk-mlabel{ position:absolute; z-index:3; font-family:var(--sans); font-size:11.5px; font-weight:600; line-height:1.3; color:var(--forest); background:#fffdf9; border:1px solid var(--bronze); padding:5px 9px; max-width:96px; text-align:center; transform:translateY(-50%); box-shadow:0 2px 8px rgba(28,43,34,.08); pointer-events:none; }
@media (max-width:860px){
  body.home .pk-mfig{ display:block; }
}
@media (max-width:640px){
  body.home .pk-cols{ grid-template-columns:1fr; gap:22px; }
}
body.home .pk-msrc{ position:absolute; width:16px; height:16px; transform:translate(-50%,-50%); border:1.5px solid #c0492f; background:rgba(192,73,47,.15); opacity:0; transition:opacity .3s; }
body.home .band-services{ padding-top: clamp(26px,3.4vw,50px); padding-bottom: clamp(45px,5.0vw,64px); }
body.home .svc-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: clamp(24px,4vw,56px); flex-wrap: wrap; margin: 0 0 clamp(24px,3vw,42px); text-align: left; }
body.home .svc-head .vc-h{ margin: 0; }
body.home .svc-head .vc-p{ margin: 0 0 6px; max-width: 40ch; }
body.home .svc-tiles{ display: grid; grid-template-columns: repeat(3, 1fr); column-gap: clamp(15px,2vw,28px); row-gap: 26px; align-items: start; }
body.home .svc-cell{ position: relative; min-height: 150px; z-index: 1; }
body.home .svc-cell:nth-child(3n){ margin-top: 0; }
body.home .svc-cell:hover, body.home .svc-cell:focus-within{ z-index: 6; animation-play-state: paused; }
body.home .svc-tile{ position: absolute; top: 0; left: 0; right: 0; min-height: 150px; max-height: 150px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--surface); border: 1px solid var(--line); padding: 22px 20px; text-decoration: none; box-shadow:0 8px 24px rgba(28,43,34,.10); transform-origin: center top; transition: max-height .44s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s; }
body.home .svc-cell:hover .svc-tile, body.home .svc-cell:focus-within .svc-tile{ max-height: 440px; transform: translateY(-14px) scale(1.05); box-shadow:0 8px 24px rgba(28,43,34,.10); border-color: rgba(194,163,104,.55); }
body.home .svc-ico{ display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; background: rgba(47,97,73,.1); color: var(--pine); margin: 0 0 12px; transition: background .3s var(--ease); }
body.home .svc-ico svg{ width: 26px; height: 26px; }
body.home .svc-cell:hover .svc-ico, body.home .svc-cell:focus-within .svc-ico{ background: rgba(47,97,73,.16); }
body.home .svc-tile h3{ font-family: var(--serif); font-weight: 500; font-size: 18px; color: var(--ink); margin: 0; line-height: 1.2; max-width: 16ch; }
body.home .svc-reveal{ max-height: 0; opacity: 0; overflow: hidden; transition: max-height .44s var(--ease), opacity .3s ease, margin-top .35s var(--ease); }
body.home .svc-cell:hover .svc-reveal, body.home .svc-cell:focus-within .svc-reveal{ max-height: 280px; opacity: 1; margin-top: 13px; }
body.home .svc-lead{ color: var(--muted); font-size: 15.5px; line-height: 1.55; margin: 0; }
body.home .svc-helps{ color: var(--ink); font-size: 14px; line-height: 1.55; margin: 11px 0 0; }
body.home .svc-helps b{ color: var(--gold-deep); font-weight: 600; }
body.home .vc-all{ text-align: center; }
body.home .svc-tiles + .vc-all{ margin-top: 32px; }
@media (max-width: 860px){
  body.home .svc-tiles{ grid-template-columns: 1fr 1fr; }
  body.home .svc-cell:nth-child(3n+2), body.home .svc-cell:nth-child(3n){ margin-top: 0; }
  body.home .svc-cell:nth-child(even){ margin-top: 36px; }
}
@media (max-width: 520px){
  body.home .svc-tiles{ grid-template-columns: 1fr; }
  body.home .svc-cell:nth-child(even){ margin-top: 0; }
}
@media (hover: none){
  body.home .svc-cell{ min-height: 0; }
  body.home .svc-tile{ position: static; min-height: 0; max-height: none; transform: none; }
  body.home .svc-reveal, body.home .svc-cell:hover .svc-reveal, body.home .svc-cell:focus-within .svc-reveal{ max-height: 0; opacity: 0; margin-top: 0; }
  body.home .svc-cell.open .svc-reveal{ max-height: 360px; opacity: 1; margin-top: 13px; }
  body.home .svc-cell.open .svc-tile{ border-color: rgba(194,163,104,.55); }
}
@media (prefers-reduced-motion: reduce){
  body.home .svc-cell:hover .svc-tile, body.home .svc-cell:focus-within .svc-tile{ transform: none; }
}
body.home .band{ padding-top: clamp(26px,3.4vw,48px); padding-bottom: clamp(26px,3.4vw,48px); }
body.home .band-services{ padding-top: clamp(24px,3vw,42px); padding-bottom: clamp(30px,3.8vw,50px); }
body.home .review-band{ padding-top: clamp(30px,3.8vw,50px); padding-bottom: clamp(30px,3.8vw,50px); }
body.home .band-insure{ padding-top: clamp(22px,2.8vw,36px); padding-bottom: clamp(22px,2.8vw,36px); }
body.home .vc-h, body.home .review-band .big{ font-size: clamp(24px,2.6vw,34px); }
body.home .vc-p{ font-size: 14.5px; line-height: 1.6; }
body.home .vc-h, body.home .review-band .big{ font-size: var(--h2); line-height: 1.08; }
body.home .svc-tile h3, body.home .pk-t h3{ font-size: var(--h3); line-height: 1.15; }
body.home .lede, body.home .vc-p{ font-size: var(--body); line-height: 1.6; }
body.home .band, body.home .band-services, body.home .band-insure, body.home .review-band, body.home .svc-sec{ padding-top: var(--sec-y); padding-bottom: var(--sec-y); }
body.home .band-services{ z-index: 3; }
body.home .ins-note{ font-size: var(--body); line-height: 1.6; color: var(--muted); margin: 12px auto 0; max-width: 62ch; }
body.home .ins-note a{ color: var(--pine); font-weight: 600; }
@media (max-width: 820px){
  body.home .g-review-badge{ padding: 7px 11px; font-size: 11px; gap: 7px; }
  body.home .g-review-badge b{ font-size: 12.5px; }
  body.home .g-review-badge svg{ width: 16px; height: 16px; }
}
body.home .textlink, body.home .c-dir{ position: relative; }
body.home .textlink::after, body.home .c-dir::after{ content:""; position:absolute; left:-4px; right:-4px; top:-8px; bottom:-8px; }
@media (min-width: 1100px){
  body.home .wrap{ max-width: min(1560px, 94vw); }
  body.home .pk-plate{ max-width: min(1100px, 66vw); }
}
@media (min-width: 2000px){
  body.home .wrap{ max-width: 1720px; }
  body.home .pk-plate{ max-width: 1180px; }
}
body.home .review-band .rev{ display: flex; flex-direction: column; }
body.home .review-band .rev .rev-foot{ margin-top: auto; }
body.home .band-insure{ margin-top: -2px; position: relative; z-index: 1; }
body.home .pk-head{ display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 clamp(8px,1.2vw,14px); }
body.home .pk-close{ display: none; position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; align-items: center; justify-content: center; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 19px; line-height: 1; cursor: pointer; padding: 0; }
body.home .pk-close:hover{ border-color: var(--pine); color: var(--pine); }
body.home .pk-backdrop{ position: fixed; inset: 0; z-index: 490; background: rgba(24,32,27,.44); opacity: 0; pointer-events: none; transition: opacity .25s; }
body.home .pk-chips .pk-card{ flex: 1 1 100%; margin: 4px 0 6px; }
@media (min-width: 861px){
  body.home .pk-card{ position: relative; }
}
@media (prefers-reduced-motion: reduce){
  body.home .pk-backdrop{ transition: none; }
}
body.home .article p a, body.home .ins-note a, body.home .pk-cols p a{ font-weight: 600; }
body.home .pk-mini{ display: flex; align-items: center; gap: 16px; width: 100%; max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid var(--line); padding: 12px 18px; cursor: pointer; font-family: var(--sans); text-align: left; box-shadow:0 8px 24px rgba(28,43,34,.10); transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
body.home .pk-mini:hover{ transform: translateY(-2px); box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .pk-mini:focus-visible{ outline: 2px solid var(--pine); outline-offset: 3px; }
body.home .pk-mini img{ height: 58px; width: auto; flex: none; }
body.home .pk-platclose{ display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 19px; line-height: 1; cursor: pointer; padding: 0; flex: none; }
body.home .pk-platclose:hover{ border-color: var(--pine); color: var(--pine); }
body.home .pk-chips .pk-card{ display: block; }
@media (prefers-reduced-motion: reduce){
  body.home .pk-mini, body.home .pk-mini:hover{ transition: none; transform: none; }
}
body.home .svc-head{ align-items: center; }
body.home .band-services{ background: linear-gradient(180deg,#cbac6d 0%,#c9a966 25%,#bd9a58 55%,#b4914e 82%,#b28f4c 100%); }
body.home .band-services .vc-p{ color: #241c0e; }
body.home .band-services .textlink{ color: var(--forest); }
body.home a:focus-visible, body.home input:focus-visible, body.home summary:focus-visible, body.home .pk-lbl:focus-visible, body.home .pk-mini:focus-visible, body.home .portal-pill:focus-visible{ outline: 2px solid #f6efe2; outline-offset: 2px; box-shadow:0 1px 2px rgba(28,43,34,.06); }
body.home .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.home .band-services{ background: #FBF7EF; }
@media (max-width: 899px){
  body.home .svc-tiles{ grid-template-columns: 1fr 1fr; column-gap: 12px; row-gap: 12px; }
  body.home .svc-cell{ min-height: 112px; }
  body.home .svc-tile{ min-height: 112px; max-height: 112px; padding: 13px 14px; align-items: flex-start; text-align: left; justify-content: space-between; box-shadow:0 1px 2px rgba(28,43,34,.06); }
  body.home .svc-ico{ width: 26px; height: 26px; margin: 0; }
  body.home .svc-ico svg{ width: 14px; height: 14px; }
  body.home .svc-lead{ font-size: 14.5px; line-height: 1.2; margin: 0; }
  body.home .svc-helps, body.home .svc-more, body.home .svc-reveal{ display: none; }
}
body.home .svc-tile{ box-shadow:0 2px 8px rgba(28,43,34,.08); }
body.home .svc-tile:hover{ box-shadow:0 8px 24px rgba(28,43,34,.10); }
body.home .btn-gold{ background:#C2A368; color:#1C2B22; border:none; min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:16px 24px; }
@media (prefers-reduced-motion: reduce){
  body.home .in{ opacity: 1; transform: none; }
}
.cine-hero{ position: relative; display: flex; align-items: flex-end; min-height: 560px; height: auto; padding: 0; margin: 0; background: var(--paper); overflow: hidden; }
.cine-hero::before{ content: ""; position: absolute; inset: 0; z-index: 0; background: url("img/hero-candid.webp") 45% 30% / cover no-repeat; }
.cine-hero::after{ content: ""; position: absolute; inset: 0; z-index: 1; background:
  linear-gradient(180deg, rgba(28,43,34,0) 26%, rgba(28,43,34,.26) 34%, rgba(28,43,34,.70) 46%, rgba(28,43,34,.82) 66%, rgba(28,43,34,.42) 82%, rgba(28,43,34,0) 100%); }
.cine-inner{ position: relative; z-index: 2; width: 100%; max-width: var(--container); margin: 0 auto; padding: 96px var(--gutter) 150px; color: #fff; }
.cine-hero h1{ margin: 0; max-width: 12ch; font-family: var(--serif); font-weight: 500; font-size: var(--h1); line-height: 1.04; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.cine-hero h1 .ital{ position: relative; font-style: italic; color: var(--bronze); }
.cine-hero h1 .ital::after{ content: ""; position: absolute; left: 2%; right: 4%; bottom: -.10em; height: .10em; opacity: .85;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C 28 10.5, 62 2, 98 6' fill='none' stroke='%23C2A368' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 50% 50% / 100% 100%; }
.cine-cta{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.cine-cta .btn-gold{ display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 22px; background: var(--bronze); color: var(--ink); border: 0; border-radius: var(--r-sm); font-family: var(--sans); font-weight: 600; font-size: var(--body-sm); letter-spacing: .02em; line-height: 1.2; text-decoration: none; box-shadow: none; }
.cine-cta .btn-gold:hover{ background: var(--gold-deep); color: #fff; }
.g-review-badge{ display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 10px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); border-radius: var(--r-sm); box-shadow: none; backdrop-filter: none; color: #fff; font-family: var(--sans); font-size: var(--micro); line-height: 1.3; text-decoration: none; }
.g-review-badge svg{ width: 18px; height: 18px; flex: none; }
.g-review-badge b{ font-weight: 700; font-size: var(--body-sm); }
.g-review-badge:hover{ color: #fff; background: rgba(255,255,255,.2); }
.cine-status{ margin-top: 16px; font-size: var(--body-sm); line-height: 1.4; color: var(--cream-2); }
.cine-status .cs-now{ display: inline-flex; align-items: center; gap: 8px; }
.cine-status .cs-now .dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: none; }
.cine-status .cs-now b{ font-family: var(--sans); font-weight: 700; font-size: var(--body-sm); color: #fff; }
.cine-status .cs-next{ display: block; margin-top: 2px; font-size: var(--body-sm); color: var(--cream-2); }
@media (min-width: 900px){
  .cine-hero{ height: auto; min-height: 0; aspect-ratio: 1000 / 667; align-items: flex-start; }
  .cine-hero::before{ background-position: 50% 50%; }
  .cine-hero::after{ background: linear-gradient(104deg, rgba(28,43,34,.86) 0%, rgba(28,43,34,.78) 30%, rgba(28,43,34,.40) 44%, rgba(28,43,34,0) 54%); -webkit-mask-image: linear-gradient(180deg, #000 86%, transparent 96%); mask-image: linear-gradient(180deg, #000 86%, transparent 96%); }
  .cine-inner{ padding: 200px var(--gutter) 0; }
  .cine-hero h1{ max-width: 12ch; }
  .cine-cta{ margin-top: 24px; gap: 12px 20px; }
  .g-review-badge{ padding: 8px 14px; font-size: var(--body-sm); gap: 9px; }
  .cine-cta .btn-gold{ min-height: 48px; padding: 14px 22px; }
  .cine-status{ margin-top: 16px; }
}
.band{ padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.wrap{ max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
main h2, .band h2{ margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--h2); line-height: 1.06; letter-spacing: -.02em; color: var(--forest); }
main h3, .band h3{ margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.2; color: var(--ink); }
.lede{ margin: 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.crumbs{ margin: 0 0 12px; font-size: var(--micro); line-height: 1.6; color: var(--muted); }
.crumbs a{ color: var(--muted); text-decoration: none; }
.crumbs a:hover{ color: var(--pine); }
.textlink{ display: inline-flex; align-items: center; min-height: 44px; margin: 0; font-weight: 600; font-size: var(--body-sm); color: var(--forest); text-decoration: none; }
.textlink:hover{ color: var(--pine); }
.textlink::after{ content: none; }
.btn-xl{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 14px 22px; border-radius: var(--r-sm); font-family: var(--sans); font-weight: 600; font-size: var(--body-sm); letter-spacing: .02em; line-height: 1.2; text-decoration: none; box-shadow: none; transition: none; }
.btn-xl svg{ width: 16px; height: 16px; }
.btn-xl.call, .ab-page .hero-ctas .btn-xl.call, .fv-cta-gold .btn-xl.call{ background: var(--bronze); color: var(--ink); border: 0; }
.btn-xl.call:hover, .ab-page .hero-ctas .btn-xl.call:hover, .fv-cta-gold .btn-xl.call:hover{ background: var(--gold-deep); color: #fff; transform: none; box-shadow: none; }
.btn-xl.ghost{ background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn-xl.ghost:hover{ background: var(--surface); border-color: var(--ink); }
.page-hero{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.2); }
.page-hero h1, .nf-hero h1, .hl-cine h1, .fv-page .fv-hero4-text h1, .ab-page .ab-hero-copy h1, .svc-xhero-text h1{ margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--h1); line-height: 1.06; letter-spacing: -.02em; color: var(--forest); max-width: 18ch; text-wrap: balance; }
.page-hero .lede{ margin-top: 16px; }
.page-hero .wrap.split{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sec-y); align-items: center; }
.page-hero.hero-center .wrap{ text-align: left; max-width: var(--container); }
.page-hero.hero-center h1{ max-width: 18ch; }
.ph-fig{ margin: 0; }
.ph-fig .frame{ padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.ph-fig::after{ content: none; }
.ph-fig img{ display: block; width: 100%; height: auto; }
.hl-cine{ height: auto; min-height: 460px; max-height: none; padding: 0; }
.hl-cine .hl-cine-in{ max-width: var(--container); padding: 120px var(--gutter) calc(var(--sec-y) * 1.6); }
.hl-cine h1{ color: #fff; max-width: 14ch; }
.hl-cine .lede{ color: var(--cream-2); }
.hl-cine .crumbs, .hl-cine .crumbs a{ color: var(--cream-2); }
.hl-cine + .sweep{ display: none; }
.fv-page .fv-hero4, .svc-xhero{ position: relative; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--sec-y); min-height: 0; padding: calc(var(--sec-y) * 1.5) 0 0; background: var(--paper); overflow: hidden; }
.fv-page .fv-hero4-photo, .svc-xhero-photo{ position: relative; inset: auto; order: 2; display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 58% 38%; margin: 0; z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 78%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 22%, #000 78%, transparent 100%); }
.fv-page .fv-hero4-inner, .svc-xhero-inner{ order: 1; position: relative; z-index: 2; width: 100%; max-width: var(--container); padding: 0 var(--gutter); }
.fv-page .fv-hero4-text, .svc-xhero-text{ max-width: 48ch; }
.fv-page .fv-kicker4{ margin: 0 0 10px; font-family: var(--sans); font-weight: 600; font-size: var(--micro); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); }
.fv-page .fv-hero4-lede, .svc-xhero .lede{ margin: 16px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 48ch; }
.fv-page .fv-hero4-punch{ margin: 14px 0 0; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.4; color: var(--forest); }
.fv-page .fv-hero4-cta{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.svc-over{ position: relative; z-index: 1; margin: 0; background: var(--paper); }
.sweep{ display: none; }
.ab-page .ab-hero{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.2); }
.ab-page .ab-hero-in{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sec-y); align-items: center; }
.ab-page .ab-kicker{ display: block; margin: 0 0 10px; font-family: var(--sans); font-weight: 600; font-size: var(--micro); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); text-align: left; }
.ab-page .ab-kicker::after{ content: none; display: none; }
.ab-page .ab-lede{ margin: 16px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--ink); max-width: 44ch; }
.ab-page .ab-bio{ margin: 12px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.ab-page .hero-ctas{ display: flex; flex-wrap: wrap; gap: 12px; }
.ab-page .ab-hero-media{ margin: 0; }
.ab-page .ab-hero-media > img, .ab-page .ab-comm-media > img{ display: block; width: 100%; height: auto; border-radius: 0; box-shadow: none; }
.nf-hero{ padding: calc(var(--sec-y) * 2) var(--gutter); text-align: center; }
.nf-hero > div{ max-width: 52ch; margin: 0 auto; }
.nf-hero h1{ margin-left: auto; margin-right: auto; }
.nf-hero .lede{ margin-left: auto; margin-right: auto; }
.nf-hero .kicker{ display: block; }
.fv-expect{ background: var(--paper); }
.fv-expect .fv-grid, .band-forest .fv-grid{ display: block; }
.fv-expect .fv-intro, .band-forest .fv-intro{ max-width: 52ch; margin: 0 0 var(--sec-y); }
.fv-intro h2{ margin: 0; }
.fv-intro p{ margin: 12px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.fv-steps, .fv-expect .fv-steps, .band-forest .fv-steps{ display: block; }
.fv-step, .fv-expect .fv-step, .band-forest .fv-step{ padding: 18px 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; transform: none; }
.fv-step:last-child{ border-bottom: 1px solid var(--line); }
.fv-step h3{ margin: 0 0 4px; }
.fv-step p, .fv-expect .fv-step p, .band-forest .fv-step p{ margin: 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 60ch; }
.band-forest{ background: var(--forest); color: var(--cream-2); }
.band-forest h2, .band-forest .fv-intro h2{ color: var(--cream-2); }
.band-forest p, .band-forest .fv-intro p{ color: var(--cream-2); }
.band-forest .fv-step{ border-color: var(--sage); }
.band-forest .fv-step:last-child{ border-bottom-color: var(--sage); }
.band-forest .fv-step h3{ color: #fff; }
.band-forest .fv-step p{ color: var(--cream-2); }
.faq-section{ background: var(--paper); }
.faq-list, .wrap.faq-list{ display: block; max-width: var(--container); }
.faq-list > *{ max-width: 72ch; }
.cond-qh{ margin: 0 0 var(--sec-y); }
.faq-list details{ padding: 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.faq-list details:last-child{ border-bottom: 1px solid var(--line); }
.faq-list summary{ display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0; margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.3; color: var(--ink); cursor: pointer; list-style: none; border: 0; }
.faq-list summary::-webkit-details-marker{ display: none; }
.faq-list summary::after{ content: "+"; flex: none; font-family: var(--sans); font-weight: 400; font-size: var(--h3); color: var(--gold-deep); }
.faq-list details[open] summary::after{ content: "\2212"; }
.faq-list details[open] summary{ border-bottom: 0; }
.faq-list details p{ margin: 0; padding: 0 0 20px; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 60ch; }
.faq-list details p a{ color: var(--pine); font-weight: 600; }
.band-review{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0; }
.rev-solo, .band-review .rev-solo{ max-width: 44ch; margin: 0; padding: 22px 0; background: none; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.rev-solo .rev-stars, .band-review .rev-solo .rev-stars{ margin: 0 0 10px; font-size: var(--body-sm); letter-spacing: .12em; color: var(--gold-deep); }
.rev-solo blockquote, .band-review .rev-solo blockquote{ margin: 0; font-family: var(--serif); font-size: var(--h3); line-height: 1.4; color: var(--ink); text-indent: 0; }
.rev-solo figcaption{ display: block; margin-top: 12px; font-family: var(--sans); font-weight: 600; font-size: var(--body-sm); color: var(--ink); }
.rev-solo figcaption span{ font-weight: 400; color: var(--muted); }
.rev-typicality{ margin: 10px 0 0; font-size: var(--micro); line-height: 1.5; color: var(--muted); max-width: 52ch; }
.rev-solo .rev-readmore, .rev .rev-readmore{ display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-weight: 600; font-size: var(--body-sm); color: var(--forest); text-decoration: none; }
.rev-solo .rev-readmore::after{ content: none; }
.gchip{ display: inline-flex; align-items: center; gap: 6px; padding: 0; background: none; border: 0; border-radius: 0; font-family: var(--sans); font-weight: 400; font-size: var(--micro); color: var(--muted); }
.fv-cta-gold{ background: var(--paper); border-top: 1px solid var(--line); padding: calc(var(--sec-y) * 1.6) 0; }
.fv-cta-gold h2{ color: var(--forest); max-width: none; }
.fv-cta-gold p{ color: var(--muted); font-size: var(--lede); line-height: 1.6; max-width: 52ch; }
.fv-cta-gold p a{ color: var(--forest); font-weight: 600; }
.cond-band{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.cond-grid2, .cond-bento{ display: block; gap: 0; }
.cond-tile, .cond-bento .cond-tile{ display: block; padding: 18px 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; color: var(--ink); text-decoration: none; text-align: left; transform: none; }
.cond-tile:last-child{ border-bottom: 1px solid var(--line); }
.cond-tile:hover{ box-shadow: none; transform: none; }
.cond-tile h3{ margin: 0 0 4px; color: var(--ink); }
.cond-tile:hover h3{ color: var(--pine); }
.cond-tile p, .cond-bento .bt-more p{ margin: 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 60ch; }
.cond-go, .cond-bento .cond-go{ display: inline-block; margin-top: 8px; padding: 0; font-weight: 600; font-size: var(--body-sm); color: var(--forest); }
.cond-bento .bt-more{ text-align: left; }
.cond-bento .bt-more p{ font-size: var(--lede); line-height: 1.6; }
.cond-bento .bt-more a{ color: var(--forest); font-weight: 600; }
.svc-sec{ padding: calc(var(--sec-y) * 1.5) 0; }
.svc-sec.ss-light, .svc-sec.ss-gold{ background: var(--paper); }
.svc-sec.ss-dark{ background: var(--forest); color: var(--cream-2); }
.svc-sec + .svc-sec.ss-light, .svc-sec.ss-light + .svc-sec.ss-light{ border-top: 1px solid var(--line); }
.ss-inner{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sec-y); align-items: center; }
.ss-photo{ position: relative; margin: 0; aspect-ratio: 16 / 10; background-size: cover; background-position: center; border-radius: 0; box-shadow: none; overflow: hidden; }
.ss-photo:hover{ box-shadow: none; transform: none; }
.ss-photo--labeled{ display: flex; align-items: flex-end; }
.ss-photo--labeled::after{ content: ""; position: absolute; inset: 0; z-index: 0; border-radius: 0; background: linear-gradient(180deg, rgba(28,43,34,0) 40%, rgba(28,43,34,.46) 68%, rgba(28,43,34,.86) 100%); }
.ss-onphoto{ position: relative; z-index: 1; margin: 0; padding: 0 18px 16px; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.2; color: #fff; }
.ss-lead{ margin: 0; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.4; color: var(--forest); }
.ss-dark .ss-lead{ color: var(--cream-2); }
.ss-text p{ margin: 12px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.ss-dark .ss-text p{ color: var(--cream-2); }
.ss-helps, .ss-text .ss-helps{ font-size: var(--body-sm); line-height: 1.5; color: var(--ink); }
.ss-helps strong, .ss-gold .ss-helps strong{ color: var(--gold-deep); }
.ss-dark .ss-helps, .ss-dark .ss-text .ss-helps{ color: var(--cream-2); }
.ss-dark .ss-helps strong{ color: var(--bronze); }
.article{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 2); }
.article .wrap{ display: block; }
.article h2{ margin: var(--sec-y) 0 12px; max-width: 24ch; }
.article h2:first-child{ margin-top: 0; }
.article p, .article li{ font-size: var(--lede); line-height: 1.65; color: var(--ink); max-width: 68ch; }
.article p{ margin: 0 0 16px; }
.article ul, .article ol{ margin: 0 0 16px; padding-left: 22px; }
.article a{ color: var(--pine); font-weight: 600; }
.steps, .steps-2col{ display: block; margin: 0; }
.step{ display: block; padding: 18px 0; border-top: 1px solid var(--line); }
.step:last-child{ border-bottom: 1px solid var(--line); }
.step b{ display: block; margin: 0 0 4px; font-family: var(--serif); font-weight: 500; font-size: var(--h3); line-height: 1.2; color: var(--ink); }
.step p{ margin: 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 60ch; }
.hl-visit{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.hl-visit-grid{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sec-y); align-items: start; }
.hl-card, .hl-visit .hl-card{ display: block; max-width: none; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; text-align: left; }
.hl-card h2{ max-width: 18ch; }
.hl-visit .hl-status{ justify-content: flex-start; margin: 14px 0; }
.hl-table, .hl-visit .hl-table{ width: 100%; max-width: 40ch; border-collapse: collapse; font-size: var(--body-sm); line-height: 1.5; }
.hl-table td{ padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.hl-table td:first-child{ text-align: left; color: var(--ink); }
.hl-table td:last-child{ text-align: right; }
.hl-table tr:last-child td{ border-bottom: 1px solid var(--line); }
.hl-table tr.today td{ color: var(--ink); font-weight: 600; }
.hl-note{ margin: 14px 0 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 60ch; }
.hl-addr, .hl-visit .hl-addr{ margin: 14px 0 0; font-style: normal; font-size: var(--lede); line-height: 1.5; color: var(--ink); text-align: left; }
.hl-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.hl-map-tile{ border: 1px solid var(--line); border-radius: 0; box-shadow: none; overflow: hidden; }
.hl-map-tile iframe{ display: block; width: 100%; min-height: 360px; border: 0; }
.areas-promo, .areas-promo--gold{ background: var(--paper); border-top: 1px solid var(--line); padding: calc(var(--sec-y) * 1.4) 0; }
.areas-promo h2, .areas-promo--gold h2{ color: var(--forest); }
.ca-pills{ display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 0; padding: 0; list-style: none; }
.ca-pills li{ padding: 0; background: none; border-radius: 0; box-shadow: none; font-size: var(--lede); color: var(--ink); }
.areas-promo .textlink, .areas-promo--gold .textlink{ color: var(--forest); }
.fv-page .band-forest{ padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.fv-page .fv-h2{ margin: 0 0 var(--sec-y); text-align: left; color: var(--cream-2); }
.fv-page .fv-h2--rule::after, .fv-page .fv-why-h2::after{ content: none; display: none; }
.fv-page .fv-flow{ display: block; max-width: none; }
.fv-page .fv-flowcard, .fv-page .fv-flowcard--rev{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px 0; margin: 0; background: none; border: 0; border-top: 1px solid var(--sage); border-radius: 0; box-shadow: none; }
.fv-page .fv-flowcard:last-child{ border-bottom: 1px solid var(--sage); }
.fv-page .fv-flow-body{ display: block; padding: 0; }
.fv-page .fv-flow-body h3{ margin: 0 0 8px; color: #fff; }
.fv-page .fv-flow-num{ color: var(--bronze); }
.fv-page .fv-flow-body p{ margin: 0; font-size: var(--lede); line-height: 1.6; color: var(--cream-2); max-width: 52ch; }
.fv-page .fv-flow-media{ margin: 0; }
.fv-page .fv-flow-media img{ display: block; width: 100%; height: auto; border-radius: 0; }
.fv-page .fv-flowcard .fv-flow-media, .fv-page .fv-flowcard--rev .fv-flow-media{ border-radius: 0; }
.fv-page .fv-flow-badge{ display: none; }
.fv-page .fv-why-band{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.fv-page .fv-why-h2{ margin: 0 0 var(--sec-y); text-align: left; color: var(--forest); }
.fv-page .fv-why{ display: block; max-width: none; }
.fv-page .fv-why-item{ padding: 18px 0; border-top: 1px solid var(--line); text-align: left; }
.fv-page .fv-why-item:last-child{ border-bottom: 1px solid var(--line); }
.fv-page .fv-why-ico{ display: flex; width: 22px; height: 22px; margin: 0 0 8px; background: none; border-radius: 0; box-shadow: none; color: var(--pine); }
.fv-page .fv-why-ico svg{ width: 22px; height: 22px; color: var(--pine); }
.fv-page .fv-why-item h3{ margin: 0 0 4px; font-size: var(--h3); }
.fv-page .fv-why-item p{ margin: 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 52ch; }
.ab-page .ab-bg{ background: var(--paper); border-top: 1px solid var(--line); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); text-align: left; }
.ab-page .ab-bg .ab-kicker{ color: var(--gold-deep); }
.ab-page .ab-kicker.center{ display: block; text-align: left; }
.ab-page .ab-h2{ color: var(--forest); text-align: left; }
.ab-page .ab-bg .ab-sub, .ab-page .ab-sub{ margin: 12px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.ab-page .ab-cols{ display: block; max-width: none; margin-top: var(--sec-y); }
.ab-page .ab-col{ padding: 18px 0; border-top: 1px solid var(--line); text-align: left; }
.ab-page .ab-col:last-child{ border-bottom: 1px solid var(--line); }
.ab-page .ab-col-ico, .ab-page .ab-bg .ab-col-ico{ display: flex; width: 22px; height: 22px; margin: 0 0 8px; background: none; border-radius: 0; box-shadow: none; color: var(--pine); }
.ab-page .ab-col-ico svg{ width: 22px; height: 22px; }
.ab-page .ab-col h3{ margin: 0 0 4px; font-size: var(--h3); }
.ab-page .ab-col p, .ab-page .ab-bg .ab-col p{ margin: 0; font-size: var(--body-sm); line-height: 1.5; color: var(--muted); max-width: 52ch; }
.ab-page .ab-comm{ background: var(--paper); padding: calc(var(--sec-y) * 1.5) 0 calc(var(--sec-y) * 1.6); }
.ab-page .ab-comm-in{ display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sec-y); align-items: center; }
.ab-page .ab-comm-media{ margin: 0; }
.ab-page .ab-comm-copy h2{ text-align: left; max-width: 16ch; }
.ab-page .ab-comm-copy p{ margin: 12px 0 0; font-size: var(--lede); line-height: 1.6; color: var(--muted); max-width: 52ch; }
.ab-page .ab-acts, .ab-acts{ display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; color: var(--gold-deep); }
.ab-act{ display: inline-flex; align-items: center; gap: 8px; }
.ab-act svg{ width: 18px; height: 18px; }
.ab-act-label{ font-style: normal; font-size: var(--body-sm); color: var(--muted); }
@media (min-width: 900px){
  .page-hero{ padding: calc(var(--sec-y) * 2) 0 calc(var(--sec-y) * 1.6); }
  .page-hero .wrap.split{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: calc(var(--gutter) * 3); }
  .hl-cine{ min-height: 560px; background-position: 50% 72%; }
  .hl-cine .hl-cine-in{ padding-top: 160px; }
  .fv-page .fv-hero4, .svc-xhero{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: calc(var(--gutter) * 2); align-items: center; min-height: 640px; padding: calc(var(--sec-y) * 1.5) 0; }
  .fv-page .fv-hero4{ position: sticky; top: 0; z-index: 0; }
  .fv-page .fv-hero4 + .sweep, .fv-page .band-forest, .fv-page .fv-why-band, .fv-page .band-review{ position: relative; z-index: 1; }
  .fv-page .fv-hero4-photo, .svc-xhero-photo{ aspect-ratio: 4 / 3; margin-right: 0; }
  .fv-page .fv-hero4-inner, .svc-xhero-inner{ padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2)); padding-right: 0; max-width: none; }
  .fv-page .fv-hero4-photo, .svc-xhero-photo{ padding-right: 0; }
  .ab-page .ab-hero-in, .ab-page .ab-comm-in{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: calc(var(--gutter) * 3); }
  .fv-steps, .fv-expect .fv-steps, .band-forest .fv-steps{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 2); }
  .fv-step:last-child{ border-bottom: 0; }
  .band-forest .fv-step:last-child{ border-bottom: 0; }
  .cond-grid2, .cond-bento{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 2); }
  .cond-bento .bt-wide{ grid-column: auto; }
  .cond-bento .bt-more{ grid-column: 1 / -1; }
  .cond-tile:last-child{ border-bottom: 0; }
  .ss-inner{ grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 3); }
  .ss-flip .ss-photo{ order: 2; }
  .steps-2col{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 2); }
  .step:last-child{ border-bottom: 0; }
  .hl-visit-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 3); align-items: stretch; }
  .hl-map-tile{ display: flex; }
  .hl-map-tile iframe{ flex: 1 1 auto; height: auto; min-height: 360px; }
  .fv-page .fv-flowcard, .fv-page .fv-flowcard--rev{ grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 3); align-items: center; padding: calc(var(--sec-y) * 1.2) 0; }
  .fv-page .fv-flowcard--rev .fv-flow-media{ order: -1; }
  .fv-page .fv-why{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 2); }
  .fv-page .fv-why-item:last-child{ border-bottom: 0; }
  .ab-page .ab-cols{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: calc(var(--gutter) * 2); }
  .ab-page .ab-col:last-child{ border-bottom: 0; }
}
:root{ --r-sm: 0; --r-lg: 0; }
.btn-gold, .btn, button, input, select, textarea, .btn-xl, .cine-cta .btn-gold, .g-review-badge, .portal-pill, .nav-toggle-bar, .call-toast, .skip-link, .pk-plate, .pk-card, .pk-card.pop, .pk-mlabel, .pk-mini, .m-callbar, .m-callbar a, .rev-card, .hl-map-tile, .hl-map-tile iframe, .ph-fig, .ph-fig img, .ss-photo, .ss-photo img, .fv-flowcard, .fv-flowcard img, .cond-tile, .svc-tile, .ab-photo, .ab-photo img, .rev-solo, .fv-cta-gold, .faq-list details, .areas-promo, .nf-hero{ border-radius: 0; }
.svc-head-map .pk-plate:hover{ border-radius: 0; }
.pk-stage rect{ rx: 0; ry: 0; }
.lede a[href^="tel:"]{ font-weight: 700; }
.pk-stage text, .pk-stage tspan{ font-family: var(--sans); }
.pk-platclose{ font-family: var(--sans); }
:root{
  --head: clamp(1.5rem, 1.24rem + 1.10vw, 2rem);
  --small: 13.5px;
  --micro: var(--small); --body-sm: var(--small);
  --lede: var(--body);
  --h3: var(--head); --h2: var(--head);
  --h1: var(--display); --h1-home: var(--display);
}
body.home .rev blockquote, body.home .rev figcaption, body.home .svc-lead, body.home .pk-mini-txt, body.home .ins-line, body.home .ins-note, body.home .vc-p, body.home .pk-cols p, body.home .pk-act .textlink, body.home .textlink{ font-size: var(--body); }
body.home .gchip, body.home .kicker, body.home .g-meta, body.home .rev-stars, body.home .g-stars, body.home .svc-helps, body.home .pk-cols b, body.home .pk-t h3 em, body.home .pk-chip, body.home .pk-mlabel, body.home .g-review-badge, body.home .cine-status, body.home .cine-status .cs-now b, body.home .cine-status .cs-next{ font-size: var(--small); }
body.home .g-review-badge b, body.home .g-stars, body.home .review-band .g-badge .g-stars{ font-size: var(--body); }
body.home .review-band .big, body.home .vc-h, body.home .svc-tile h3, body.home .pk-t h3{ font-size: var(--head); }
body.home .cine-hero h1{ font-size: var(--display); }
body.home main *{ border-radius: 0; }
body.home .cs-now .dot, body.home .pk-close, body.home .pk-platclose, body.home .pk-chip, body.home .pk-fold-ico, body.home .pk-msrc, body.home .pk-mdot{ border-radius: 50%; }
.site-foot{ display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "brand" "pages" "visit" "fine" "copy"; row-gap: 28px; padding: 48px var(--gutter) 40px; background: var(--forest); color: var(--cream-2); }
.site-foot .foot-grid{ display: contents; }
.site-foot .foot-brand{ grid-area: brand; }
.site-foot nav.foot-col{ grid-area: pages; }
.site-foot .foot-visit{ grid-area: visit; }
.site-foot .foot-fine{ grid-area: fine; }
.site-foot .foot-copy{ grid-area: copy; }
.site-foot .foot-logo{ display: inline-flex; align-items: center; gap: 10px; width: fit-content; color: #fff; text-decoration: none; }
.site-foot .foot-fav, .site-foot .foot-fav svg{ display: block; width: 32px; height: 32px; }
.site-foot .foot-name{ font-family: var(--serif); font-weight: 500; font-size: var(--head); line-height: 1.2; color: #fff; }
.site-foot .foot-tag{ margin: 10px 0 0; max-width: 30ch; font-size: var(--small); line-height: 1.5; color: var(--cream-2); }
.site-foot .foot-grev{ display: inline-flex; align-items: center; gap: 7px; margin-top: 6px; padding: 3px 0; font-size: var(--small); line-height: 1.5; color: var(--cream-2); text-decoration: none; }
.site-foot .foot-grev svg{ width: 14px; height: 14px; }
.site-foot .foot-grev b{ color: #fff; font-weight: 700; }
.site-foot h3{ margin: 0 0 6px; font-family: var(--sans); font-weight: 700; font-size: var(--small); line-height: 1.5; letter-spacing: 0; text-transform: none; color: #fff; }
.site-foot .foot-col{ margin: 0; padding: 0; max-width: none; }
.site-foot .foot-col ul{ margin: 0; padding: 0; list-style: none; }
.site-foot .foot-col li{ margin: 0; }
.site-foot .foot-col a, .site-foot .foot-col li a, .site-foot .foot-phone, .site-foot .foot-visit .foot-hours-link{ display: block; width: fit-content; min-height: 0; margin: 0; padding: 3px 0; font-size: var(--small); line-height: 1.5; color: var(--cream-2); text-decoration: none; }
.site-foot .foot-phone{ font-weight: 700; color: #fff; }
.site-foot .foot-visit .foot-hours-link{ color: var(--bronze); }
.site-foot .foot-col a:hover, .site-foot .foot-grev:hover{ color: var(--bronze); }
.site-foot .foot-visit address{ margin: 0; padding: 3px 0; font-style: normal; font-size: var(--small); line-height: 1.5; color: var(--cream-2); }
.site-foot .foot-fine{ display: flex; flex-wrap: wrap; gap: 0 18px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--sage); font-size: var(--small); line-height: 1.5; color: var(--cream-2); }
.site-foot .foot-fine a{ display: inline-flex; align-items: center; min-height: 28px; color: var(--cream-2); text-decoration: none; }
.site-foot .foot-fine a:hover{ color: var(--bronze); }
.site-foot .foot-copy{ margin: 0; text-align: center; font-size: var(--small); line-height: 1.5; color: var(--cream-2); }
@media (max-width: 820px){ .site-foot{ padding-bottom: calc(64px + 40px + env(safe-area-inset-bottom, 0px)); } }
@media (min-width: 900px){
  .site-foot{ grid-template-columns: 1.4fr 1fr 1fr; grid-template-areas: "brand pages visit" "fine fine fine" "copy copy copy"; column-gap: 40px; row-gap: 32px; padding: 56px var(--gutter) 40px; }
  .site-foot > *{ max-width: none; }
}
body.home .band, body.home .band-services, body.home .review-band, body.home .band-insure{ padding-top: 40px !important; padding-bottom: 40px !important; }
body.home .svc-head{ display: block; margin: 0 0 24px; }
body.home .svc-head .vc-h{ margin: 0 0 8px; }
body.home .svc-head .vc-p{ margin: 0; max-width: 40ch; }
body.home .svc-head-map{ margin-top: 24px; }
body.home .pk-mini{ max-width: none; margin: 0; padding: 12px 16px; gap: 14px; box-shadow: none; border: 1px solid var(--line); }
body.home .pk-mini img{ height: 44px; }
body.home .svc-tiles{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0 0; }
body.home .svc-cell{ position: static; min-height: 0; margin: 0 !important; }
body.home .svc-tile{ position: static; min-height: 0; max-height: none; padding: 16px; align-items: flex-start; text-align: left; box-shadow: none; border: 1px solid var(--line); background: var(--surface); }
body.home .svc-ico{ width: 24px; height: 24px; margin: 0 0 12px; background: none; color: var(--pine); }
body.home .svc-ico svg{ width: 22px; height: 22px; }
body.home .svc-tile h3{ font-size: var(--body); line-height: 1.25; max-width: none; }
body.home .svc-reveal, body.home .svc-helps, body.home .svc-more{ display: none !important; }
body.home .vc-all{ margin: 24px 0 0; text-align: center; }
body.home .btn-gold, body.home .cine-cta .btn-gold{ font-size: var(--body); padding: 12px 18px; min-height: 48px; }
body.home .cine-cta{ gap: 10px; margin-top: 24px; }
body.home .g-review-badge{ padding: 8px 12px; min-height: 48px; }
body.home .review-band .rev-head{ display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin: 0 0 24px; }
body.home .review-band .review-cards{ display: grid; grid-template-columns: 1fr; gap: 16px; margin: 0; }
body.home .review-band .rev{ padding: 24px; box-shadow: none; }
body.home .review-band .rev blockquote, body.home .rev blockquote{ font-size: var(--body); line-height: 1.6; }
body.home .review-band .rev-foot{ margin-top: 24px; text-align: center; }
body.home .pk-platclose{ font-size: var(--small); }
body.home .ins-strip{ gap: 8px; }
body.home .ins-line{ font-size: var(--body); max-width: 40ch; }
body.home .ins-note{ margin: 8px auto 0; font-size: var(--body); }
@media (min-width: 900px){
  body.home .band, body.home .band-services, body.home .review-band, body.home .band-insure{ padding-top: 64px !important; padding-bottom: 64px !important; }
  body.home .svc-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin: 0 0 40px; }
  body.home .svc-head-map{ margin-top: 0; width: 320px; flex: none; }
  body.home .svc-tiles{ grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; }
  body.home .svc-tile{ padding: 24px; }
  body.home .vc-all{ margin-top: 40px; }
  body.home .review-band .rev-head{ flex-direction: row; align-items: flex-end; justify-content: space-between; margin: 0 0 40px; }
  body.home .review-band .review-cards{ grid-template-columns: repeat(3, 1fr); gap: 24px; }
  body.home .review-band .rev-foot{ margin-top: 40px; }
}
.fv-step p, .fv-why-item p, .cond-tile p, .btn-xl{ font-size: var(--body); }
body.home .cine-cta .btn-gold{ font-size: var(--small); padding: 12px 16px; }
body.home .g-review-badge{ padding: 6px 10px; gap: 8px; }
body.home .g-review-badge b{ font-size: var(--small); }
@media (max-width: 899px){
  body.home .cine-hero{ min-height: 0; aspect-ratio: 1 / 1; }
  body.home .cine-inner{ padding: 64px var(--gutter) 24px; }
  body.home .cine-hero h1{ max-width: 14ch; }
  body.home .cine-hero::before{ background-position: 62% 40%; }
  body.home .cine-cta{ margin-top: 16px; }
  body.home .cine-status{ margin-top: 12px; }
}
@media (max-width: 899px){
  body.home .svc-tile{ padding: 14px; gap: 0; }
  body.home .svc-ico{ width: 40px; height: 40px; margin: 0 0 12px; background: rgba(47,97,73,.08); color: var(--pine); display: flex; align-items: center; justify-content: center; }
  body.home .svc-ico svg{ width: 24px; height: 24px; }
}
.reveal, .reveal.in{ opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
.cine-inner{ animation: none !important; }
body.home .pk-mini{ justify-content: center; text-align: center; }
body.home .pk-mini .pk-fold-ico{ display: none; }
body.home .pk-mini-txt{ flex: 0 0 auto; }
.fv-step p, .fv-expect .fv-step p, .band-forest .fv-step p, .spine-fn .fv-step p{ font-size: var(--body); line-height: 1.55; }
@media (min-width: 1100px){
  .wrap, .cine-inner, .ins-strip, .hl-cine-in, .fv-hero4-inner, .foot-fine{ max-width: var(--container, 1160px); }
  .site-foot{ padding-left: max(var(--gutter), calc((100vw - 1160px) / 2)); padding-right: max(var(--gutter), calc((100vw - 1160px) / 2)); }
}
@media (min-width: 1100px){
  body.home .wrap, body.home .band-services .wrap, body.home .review-band .wrap, body.home .ins-strip{ max-width: 1160px; }
}
@media (max-width: 899px){
  .site-foot{ grid-template-columns: 1fr 1fr; grid-template-areas: "brand brand" "pages visit" "fine fine" "copy copy"; column-gap: 24px; }
}
.svc-xhero{ border-bottom: 1px solid var(--line); padding-bottom: 40px; }
.svc-xhero + .svc-sec, #chiropractic-adjustment{ padding-top: 40px; }
@media (min-width: 900px){
  .svc-xhero{ padding-bottom: 64px; }
  .svc-xhero + .svc-sec, #chiropractic-adjustment{ padding-top: 64px; }
}
.site-foot{ border-top: 3px solid var(--bronze); }
main > section:last-of-type, main > .svc-over > section:last-of-type{ padding-bottom: 40px; }
@media (min-width: 900px){ main > section:last-of-type, main > .svc-over > section:last-of-type{ padding-bottom: 64px; } }
main .btn-xl{ display: none; }
.nf-hero .btn-xl.call{ display: inline-flex; }
.fv-page .fv-hero4-cta{ display: none; }
.logo-lockup .mark-gold, .logo-lockup .word{ font-size: 21px; }
.site-foot .foot-name{ font-size: 21px; }
.article h2{ margin: 40px 0 12px; max-width: none; }
.article h2:first-child{ margin-top: 0; }
.article p, .article li, .article .lede, .page-hero .lede, .page-hero h1{ max-width: none; }
.logo-lockup .mark-gold{ border-radius: 0; }
.logo-lockup .mark-gold, .logo-lockup .word{ font-size: var(--body); }
.logo-lockup .mark-gold{ padding: 3px 7px 4px; }
.site-foot .foot-name{ font-size: var(--body); }
body.home .ins-strip{ align-items: center; text-align: center; }
@media (min-width: 900px){
  body.home .cine-hero{ aspect-ratio: 1000 / 600; }
  body.home .cine-hero::before{ background-position: 50% 100%; }
  body.home .cine-inner{ padding-top: 150px; }
}
h1{ font-family: var(--serif) !important; font-weight: 500 !important; font-size: var(--display) !important; line-height: 1.08 !important; }
h2{ font-family: var(--serif) !important; font-weight: 500 !important; font-size: var(--head) !important; line-height: 1.2 !important; }
h3, .faq-list summary, .svc-tile h3, .pk-t h3, .fv-step h3, .fv-flow-body h3, .fv-why-item h3, .ab-col h3{ font-family: var(--serif) !important; font-weight: 600 !important; font-size: var(--body) !important; line-height: 1.3 !important; }
p, li, blockquote, address, dd, dt, .lede, .vc-p, .ins-line, .ins-note, .cine-sub, .fv-hero4-lede, .fv-hero4-punch, .rev blockquote, .pk-cols p, .pk-mini-txt, .svc-lead, .textlink, .vc-all .textlink, .rev-readmore, .hl-status, .hours-table td{ font-size: var(--body) !important; line-height: 1.6 !important; }
.kicker, .crumbs, .crumbs a, .fv-kicker4, .pk-cols b, .pk-t h3 em, .gchip, .g-meta, .g-stars, .rev-stars, .rev figcaption, .rev figcaption span, .cine-status, .cine-status b, .cine-status .cs-next, .pk-chip, .pk-mlabel, .g-review-badge, .g-review-badge b, .svc-helps, .ss-helps, .ss-helps strong, .related, .rev-note, .foot-tag, .foot-grev, .site-foot h3, .site-foot .foot-col a, .site-foot address, .site-foot .foot-phone, .site-foot .foot-hours-link, .site-foot .foot-fine, .site-foot .foot-fine a, .site-foot .foot-copy, .topnav-links a, .head-call, .portal-pill, .btn, .btn-gold, .btn-xl, .m-callbar a, .demo-ribbon, .hours-table th, .hl-note, small{ font-size: var(--small) !important; }
.logo-lockup .mark-gold, .logo-lockup .word, .site-foot .foot-name{ font-size: var(--body) !important; }
.cine-hero h1 .ital{ font-size: inherit !important; }
main:has(.article) .page-hero{ padding-bottom: 8px; }
.article{ padding-top: 8px; }
.article h2:first-child{ margin-top: 0; }
@media (min-width: 900px){ body.home .ins-line, body.home .ins-note{ max-width: none; white-space: nowrap; margin-left: auto; margin-right: auto; } }
.fv-page .fv-why-h2{ text-align: center; }
.fv-page .fv-why{ display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 1160px; margin: 24px auto 0; }
.fv-page .fv-why-item{ text-align: center; border: 0; padding: 0; }
.fv-page .fv-why-ico{ margin: 0 auto 12px; }
.fv-page .fv-why-item p{ margin: 8px auto 0; max-width: none; }
.fv-page .fv-why-band .rev{ margin: 40px auto 0; max-width: 640px; text-align: center; }
@media (min-width: 900px){ .fv-page .fv-why{ grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 40px; } }
:root{ --display: clamp(2.125rem, 1.6rem + 1.4vw, 2.75rem); }
.fv-page .fv-hero4{ min-height: 0; padding: 48px 0; align-items: center; }
.page-hero h1, .fv-page .fv-hero4-text h1, .hl-cine h1, .ab-page .ab-hero-copy h1{ max-width: 18ch; }
@media (min-width: 900px){ .fv-page .fv-hero4{ padding: 64px 0; } }
:root{ --display: clamp(1.875rem, 1.5rem + 1vw, 2.25rem); --head: clamp(1.375rem, 1.2rem + 0.7vw, 1.625rem); }
body.home{ --display: clamp(2.125rem, 1.6rem + 1.4vw, 2.75rem); }
.page-hero h1, .fv-page .fv-hero4-text h1, .hl-cine h1, .ab-page .ab-hero-copy h1{ max-width: 22ch; }
.page-hero, .fv-page .fv-hero4, .svc-xhero, .ab-page .ab-hero, .nf-hero{ min-height: 0; padding: 40px 0; row-gap: 24px; }
.page-hero .ph-fig img, .page-hero .frame img, .fv-page .fv-hero4-photo, .svc-xhero-photo, .ab-page .ab-hero-media > img{ aspect-ratio: auto; height: auto; max-height: 300px; width: 100%; object-fit: cover; object-position: 50% 30%; -webkit-mask-image: none; mask-image: none; }
.page-hero .wrap.split, .ab-page .ab-hero-in{ gap: 24px; }
.fv-page .fv-hero4-punch{ font-size: var(--body); }
@media (min-width: 900px){
  .page-hero, .fv-page .fv-hero4, .svc-xhero, .ab-page .ab-hero, .nf-hero{ padding: 64px 0; }
  .page-hero .ph-fig img, .page-hero .frame img, .fv-page .fv-hero4-photo, .svc-xhero-photo, .ab-page .ab-hero-media > img{ max-height: 380px; }
  .fv-page .fv-hero4, .svc-xhero{ position: relative; top: auto; align-items: center; }
  .page-hero .wrap.split, .ab-page .ab-hero-in{ align-items: center; }
  .hl-cine{ min-height: 0; }
  .hl-cine .hl-cine-in{ padding-top: 64px; padding-bottom: 64px; }
}
main:has(.article) .page-hero{ padding-bottom: 8px; }
.hours-table .tc{ white-space: nowrap; color: var(--muted); }
.hours-table .tc::before{ content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #d9a441; margin: 0 6px 1px 4px; vertical-align: middle; }
body.home .cine-hero::after{ background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 32%, rgba(0,0,0,0) 55%); -webkit-mask-image: none; mask-image: none; }
@media (max-width: 899px){ body.home .cine-hero::after{ background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.65) 100%); } }
body.home .cine-hero::after{ display: none; }
.page-hero .ph-fig img, .page-hero .frame img, .fv-page .fv-hero4-photo, .svc-xhero-photo, .ab-page .ab-hero-media > img{ max-height: none; height: auto; aspect-ratio: auto; object-fit: contain; }
@media (min-width: 900px){
  .fv-page .fv-hero4, .svc-xhero{ box-sizing: border-box; max-width: var(--container, 1160px); margin: 0 auto; padding: 64px var(--gutter); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 24px; align-items: center; }
  .fv-page .fv-hero4-inner, .svc-xhero-inner{ padding: 0; max-width: none; }
  .fv-page .fv-hero4-text, .svc-xhero-text{ max-width: none; }
  .fv-page .fv-hero4-photo, .svc-xhero-photo{ width: 100%; }
}
@media (max-width: 899px){
  .fv-page .fv-hero4, .svc-xhero{ padding: 40px var(--gutter); row-gap: 24px; }
  .fv-page .fv-hero4-inner, .svc-xhero-inner{ padding: 0; }
}
body.home .cine-hero h1 .ital::after{ display: none; }
body.home .cine-cta .btn-gold{ background: var(--forest); color: #fff; }
body.home .cine-cta .btn-gold:hover{ background: var(--forest-2, #23372c); color: #fff; }
body.home{ --display: clamp(2.25rem, 1.5rem + 3.2vw, 4.14rem); }
body.home .cine-hero h1 .ital::after{ display: block; }
body.home .cine-hero::after{ display: block; -webkit-mask-image: none; mask-image: none; background: linear-gradient(180deg, rgba(20,30,24,.62) 0%, rgba(20,30,24,.76) 60%, rgba(20,30,24,.88) 100%); }
@media (min-width: 900px){ body.home .cine-hero::after{ background: linear-gradient(104deg, rgba(18,28,22,.84) 0%, rgba(18,28,22,.58) 24%, rgba(18,28,22,.14) 44%, rgba(18,28,22,0) 56%); } }
body.home .cine-hero::after{ display: none !important; }
@media (min-width: 900px){ body.home .cine-hero::after{ display: none !important; } }
