/* v69 cinematic layer (24 Oct 2026). Full-bleed photography for the public pages.
   Loaded after marketing-review.css (and business-home.css on the homepage).
   Patterns: .cine-hero, .cine-cards, .cine-interlude, .cine-split, .cine-band. */
:root{--cine-scrim:rgba(24,14,10,.74);--cine-ivory:#f8f5ef;--cine-gold:#e9d3a4}

/* Shared full-bleed image */
.cine-hero,.cine-interlude,.cine-band{position:relative;isolation:isolate;overflow:hidden;color:var(--cine-ivory);max-width:none;margin:0}
.cine-bg{position:absolute;inset:0;z-index:-2;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:var(--focus,50% 50%);display:block}

/* 1. Hero: one photograph fills the first screen, copy set bottom-left */
.cine-hero{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:min(calc(100svh - 80px),56rem);padding:6rem max(var(--gutter),calc((100vw - var(--wide))/2)) clamp(3rem,8vh,5.5rem)}
.cine-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,14,10,.18) 0%,rgba(24,14,10,0) 30%,rgba(24,14,10,.25) 55%,var(--cine-scrim) 100%),linear-gradient(90deg,rgba(24,14,10,.55) 0%,rgba(24,14,10,0) 62%)}
.cine-hero>:not(.cine-bg):not(.cine-caption){max-width:40rem}
.cine-hero .eyebrow{color:var(--cine-gold);margin-bottom:1.1rem}
.cine-hero h1{color:var(--cine-ivory);margin:0 0 1.2rem;max-width:14ch}
.cine-hero h1 em{color:var(--cine-ivory)}
.cine-hero .lede,.cine-hero p{color:var(--cine-ivory)!important}
.cine-hero .lede{max-width:36rem;margin-bottom:1.6rem}
.cine-hero .muted,.cine-hero .muted a{color:#eadfcb!important}
.cine-hero .text-link,.cine-hero .inline-link{color:var(--cine-ivory);border-color:var(--cine-ivory)}
.cine-hero .button{background:var(--wine);color:#fff;border-color:var(--wine)}
.cine-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem}
.cine-caption{position:absolute;right:max(var(--gutter),calc((100vw - var(--wide))/2));bottom:1rem;margin:0;font-size:.72rem;letter-spacing:.04em;color:rgba(248,245,239,.78)}
.cine-hero.page-hero{padding-top:6rem}

.cine-hero.cine-strong::after{background:linear-gradient(90deg,rgba(24,14,10,.86) 0%,rgba(24,14,10,.6) 45%,rgba(24,14,10,.15) 80%),linear-gradient(180deg,rgba(24,14,10,0) 50%,rgba(24,14,10,.5) 100%)}

/* 2. Cards: a tall photograph above each offer */
.cine-cards article .card-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--focus,50% 50%);margin:0 0 1.6rem}
.cine-cards.offer-grid{border-top:0;border-bottom:0;gap:2rem}
.cine-cards.offer-grid article,.cine-cards.offer-grid article+article{border:0;padding:0 0 1rem}
@media(hover:hover){.cine-cards.offer-grid article:hover{background:transparent}.cine-cards article:hover .card-photo{filter:saturate(1.06) brightness(1.03)}}

/* 3. Interlude: one wide landscape carrying a single line */
.cine-interlude{display:flex;align-items:flex-end;justify-content:center;min-height:min(78vh,44rem);padding:4rem var(--gutter) clamp(3rem,9vh,6rem);text-align:center}
.cine-interlude::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,14,10,0) 30%,rgba(24,14,10,.72) 100%)}
.cine-interlude blockquote{margin:0;max-width:60rem;font-family:var(--serif);font-size:clamp(28px,3.4vw,48px);line-height:1.22;letter-spacing:-.01em;color:var(--cine-ivory);text-wrap:balance}
.cine-interlude blockquote em{color:var(--cine-gold)}

/* 4. Split: the photograph runs to the page edge */
.cine-split{display:grid!important;grid-template-columns:5fr 7fr;gap:0!important;max-width:none!important;padding:0!important;margin:0;background:var(--soft);border-top:0!important;align-items:stretch!important}
.cine-split>div{padding:clamp(3.5rem,7vw,6.5rem) clamp(1.5rem,4vw,4rem) clamp(3.5rem,7vw,6.5rem) max(var(--gutter),calc((100vw - var(--wide))/2));align-self:center}
.cine-split>figure{position:relative;margin:0;min-height:34rem}
.cine-split>figure img{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:var(--focus,50% 50%)}
.cine-split>figure figcaption{position:absolute;right:1rem;bottom:.8rem;padding:0!important;color:rgba(248,245,239,.85)!important;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.cine-bridge{margin-top:2rem;padding:1.3rem 1.4rem;border-left:3px solid var(--oak);background:var(--paper);max-width:32rem}
.cine-bridge h3{font-size:1.35rem!important;margin:0 0 .4rem}
.cine-bridge p{font-size:1rem;margin:0 0 .3rem}

/* 5. Band: a full-width photograph with the offer on its darker side */
.cine-band{display:flex;align-items:center;min-height:min(86vh,46rem);padding:clamp(3rem,8vw,6rem) max(var(--gutter),calc((100vw - var(--wide))/2))}
.cine-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(24,14,10,.84) 0%,rgba(24,14,10,.6) 40%,rgba(24,14,10,0) 72%)}
.cine-band>.cine-panel{margin-left:auto;max-width:32rem}
.cine-band .eyebrow{color:var(--cine-gold)}
.cine-band h2{color:var(--cine-ivory);margin:0 0 1.2rem}
.cine-band p{color:var(--cine-ivory)}
.cine-band .text-link{color:var(--cine-ivory);border-color:var(--cine-ivory)}
.cine-prices{display:flex;gap:2.5rem;margin:1.6rem 0 1.4rem;padding-top:1.3rem;border-top:1px solid rgba(248,245,239,.3)}
.cine-prices b{display:block;font-family:var(--serif);font-weight:400;font-size:2.4rem;line-height:1;margin-bottom:.45rem;font-variant-numeric:lining-nums}
.cine-prices span{font-size:.82rem;color:#eadfcb}

/* Wide photo on inner pages: full bleed instead of a boxed strip */
.cine-wide{display:block;width:100%;max-width:none;height:clamp(18rem,46vw,36rem);object-fit:cover;object-position:var(--focus,50% 50%);margin:0}

/* Footer link to the parent practice */
.site-footer .tf-out{display:inline-block;margin-top:.2rem;color:#e4d9c5;text-decoration:underline;text-underline-offset:4px}

@media(max-width:760px){
  .cine-hero{min-height:calc(88svh - 72px);padding:4rem 20px 2.6rem}
  .cine-hero::after{background:linear-gradient(180deg,rgba(24,14,10,.1) 0%,rgba(24,14,10,.15) 35%,rgba(24,14,10,.82) 100%)}
  .cine-hero h1{max-width:none}
  .cine-caption{right:20px;left:20px;top:.8rem;bottom:auto;text-align:right}
  .cine-interlude{min-height:28rem}
  .cine-split{grid-template-columns:1fr}
  .cine-split>div{padding:3rem 20px}
  .cine-split>figure{min-height:20rem;order:-1}
  .cine-band{align-items:flex-end;min-height:40rem;padding:3rem 20px}
  .cine-band::after{background:linear-gradient(0deg,rgba(24,14,10,.92) 0%,rgba(24,14,10,.8) 62%,rgba(24,14,10,.4) 100%)}
  .cine-band>.cine-panel{margin-left:0}
  .cine-cards.offer-grid{gap:2.4rem}
}
@media(prefers-reduced-motion:no-preference){.cine-cards article .card-photo{transition:filter .3s ease}}

/* v71: seven menu items no longer fit between 761 and 1180 px; use the Menu button there too (as on phones). */
@media(min-width:761px) and (max-width:1180px){
  .site-header{flex-wrap:wrap}
  .menu-toggle{display:block;border:1px solid var(--line);background:none;padding:8px 12px;color:var(--wine);font-size:12px;min-height:44px;min-width:56px}
  .site-header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:3px}
  .site-header nav.open{display:flex}
  .site-header nav a{padding:12px}
}

/* v75 clarity release */
.cine-prices{flex-wrap:wrap;gap:1.2rem 2.2rem}
.cine-band>.cine-panel.cine-panel-wide{max-width:40rem}
.cine-band-low{align-items:flex-end;min-height:min(92vh,52rem)}
.offer-group{font-size:clamp(22px,2.4vw,28px);margin:2.6rem 0 0;padding-top:1.1rem;border-top:2px solid var(--oak)}
.offer-group+.offer-grid{margin-top:12px}
.offer-grid.offer-grid-one{grid-template-columns:minmax(0,34rem)}
.ladder-intro{max-width:36rem}
.ladder{list-style:none;margin:2rem 0 0;padding:0;border-bottom:1px solid var(--line)}
.ladder li{display:grid;grid-template-columns:3.2rem minmax(0,1fr) minmax(12rem,16rem);gap:0 1.5rem;align-items:start;border-top:1px solid var(--line);padding:1.5rem 0}
.ladder-no{font-size:.75rem;letter-spacing:.12em;color:var(--oak);padding-top:.7rem}
.ladder h3{margin:0 0 .3rem}
.ladder .ladder-sub{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--oak);margin:0 0 .6rem}
.ladder-main p:last-child{margin:0;max-width:40rem}
.ladder-side .price{font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin:0 0 .6rem;font-variant-numeric:lining-nums tabular-nums}
.ladder-note{margin-top:1.2rem}
@media(max-width:1050px){.cine-band-low{min-height:44rem}.ladder li{grid-template-columns:2.6rem minmax(0,1fr);gap:.2rem 1rem}.ladder-side{grid-column:2}}
@media(max-width:760px){
  .cine-band>.cine-panel.cine-panel-wide{max-width:none}
  .cine-band-low{min-height:48rem}
  .cine-prices b{font-size:2rem}
  .offer-grid.offer-grid-one{grid-template-columns:minmax(0,1fr)}
  .ladder li{padding:1.25rem 0}
  .ladder-main p:last-child{margin-bottom:.7rem}
}

.cine-footnote{font-size:.74rem;line-height:1.5;color:#eadfcb;opacity:.85;margin:-.6rem 0 1.2rem;max-width:44rem}
.cine-footnote--light{color:inherit;opacity:.72;margin:.4rem 0 1rem;font-size:.74rem!important;line-height:1.5!important}
