/* polish.css — loaded last. Typography, immersive hero, gallery grid, cleanup. */
:root{
  --font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --text-hero:clamp(3.6rem,2rem + 7vw,8.5rem);
  --text-2xl:clamp(2.6rem,2rem + 2.6vw,4.6rem);
  --text-xl:clamp(1.5rem,1.25rem + .8vw,2rem);
}
h1,h2{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:-.005em;line-height:1.05}
h3{font-family:var(--font-display);font-style:normal;font-weight:500;font-size:var(--text-xl);line-height:1.25;letter-spacing:0}
.films h3,dialog h2{font-family:var(--font-display)}

/* Eyebrows: quiet italic serif instead of tracked capitals */
.eyebrow{font-family:var(--font-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:clamp(1.15rem,1.05rem + .35vw,1.4rem);color:var(--accent);margin-bottom:var(--space-3)}
.small-number{letter-spacing:0;font-family:var(--font-display);font-style:italic;font-size:1.1rem;text-transform:none}
.occasions .small-number,.occasion-list .small-number{display:none}

/* Header over the hero on the homepage */
body.immersive .site-header{position:fixed;left:0;right:0;top:0;max-width:none;background:transparent;border:0;color:#fff;transition:background .35s,color .35s,box-shadow .35s;z-index:30;padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px))}
body.immersive .site-header .brand svg{filter:brightness(0) invert(1);transition:filter .35s}
body.immersive .site-header .desktop-nav a{color:#fff}
body.immersive .site-header .menu-lines span{background:#fff}
body.immersive .site-header .button.compact{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
body.immersive .site-header.scrolled{background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
body.immersive .site-header.scrolled .brand svg{filter:none}
body.immersive .site-header.scrolled .desktop-nav a{color:var(--ink)}
body.immersive .site-header.scrolled .menu-lines span{background:var(--ink)}
body.immersive .site-header.scrolled .button.compact{background:var(--accent);border-color:var(--accent);color:var(--inverse);backdrop-filter:none}
body.immersive .site-header.menu-open{background:var(--bg);color:var(--ink)}
body.immersive .site-header.menu-open .brand svg{filter:none}
body.immersive .mobile-nav{color:var(--ink)}

/* Full-screen hero */
body.immersive .hero.video-hero{max-width:none;padding:0;margin:0}
body.immersive .hero-media{height:100svh;min-height:560px;max-height:1100px;aspect-ratio:auto;background:#1c1714}
body.immersive .hero-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 44%,rgba(0,0,0,.7) 100%)}
body.immersive .hero-poster,body.immersive #homepage-film{object-fit:cover;object-position:center 50%}
body.immersive .hero-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 var(--gutter) calc(clamp(2.5rem,7vh,5rem) + env(safe-area-inset-bottom,0px));color:#fff;display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}
body.immersive .hero-heading{text-align:left;padding:0;max-width:min(62%,900px)}
body.immersive .hero-heading .eyebrow{color:rgba(255,255,255,.88);margin:0 0 var(--space-3)}
body.immersive .hero h1{font-size:clamp(3.4rem,1.6rem + 6vw,7.4rem);line-height:1;white-space:nowrap;text-shadow:0 2px 24px rgba(0,0,0,.35)}
body.immersive .hero h1>span{display:block;white-space:nowrap}
body.immersive .hero-video-toolbar{padding:0;min-height:0;gap:var(--space-3);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
body.immersive .hero-video-toolbar .walkthrough-launch{margin:0}
body.immersive .hero-video-toolbar>.hero-tour-action{background:#fff;color:var(--ink);border-color:#fff}
body.immersive .hero-video-toolbar>.hero-tour-action:hover{background:rgba(255,255,255,.88)}
body.immersive .hero-video-toolbar .walkthrough-launch .button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.6);color:#fff;backdrop-filter:blur(6px)}
body.immersive .hero-video-toolbar .walkthrough-launch .button:hover{background:rgba(255,255,255,.22)}
body.immersive #homepage-video-toggle{border:0;background:transparent;color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:4px;padding-inline:var(--space-2);font-size:var(--text-xs);min-width:0}
body.immersive .video-playback-note{display:none!important}
body.immersive .video-hero .hero-copy{margin:var(--space-24) auto var(--space-16);padding-inline:var(--gutter)}
body.immersive .hero-welcome{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.9rem,1.5rem + 1.4vw,2.9rem);line-height:1.2;margin-bottom:var(--space-6)}

@media(max-width:850px){
  body.immersive .hero-overlay{flex-direction:column;align-items:flex-start}
  body.immersive .hero-heading{max-width:none}
  body.immersive .hero h1{font-size:clamp(3rem,12vw,4.4rem)}
  body.immersive .hero-video-toolbar{justify-content:flex-start;width:100%}
  body.immersive .hero-video-toolbar>.hero-tour-action{flex:1 1 auto}
  body.immersive .hero-media{min-height:520px}
  body.immersive .video-hero .hero-copy{margin-top:var(--space-16)}
}

/* Gallery: one full grid instead of a side scroller */
.gallery-arrows{display:none!important}
.gallery-title{padding-bottom:var(--space-8)}
#gallery-track.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,24vw,330px);grid-auto-flow:dense;gap:var(--space-3);padding-inline:var(--gutter);padding-bottom:0;overflow:visible;scroll-snap-type:none}
#gallery-track .gallery-photo{grid-column:auto;grid-row:auto;aspect-ratio:auto;width:auto;min-width:0;height:100%;scroll-snap-align:none;flex:none}
#gallery-track .gallery-photo.wide{grid-column:span 2}
#gallery-track .gallery-photo.tall{grid-row:span 2}
#gallery-track .cattle-photo{background:none}#gallery-track .cattle-photo img{object-fit:cover;object-position:center 40%}
#gallery-track .gallery-photo>span{opacity:0;transition:opacity .3s}
#gallery-track .gallery-photo:hover>span,#gallery-track .gallery-photo:focus-visible>span{opacity:1}
@media(max-width:850px){
  #gallery-track.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px,34vw,260px);gap:var(--space-2)}
  #gallery-track .gallery-photo.wide{grid-column:span 2}
  #gallery-track .gallery-photo.tall{grid-row:span 1}
  #gallery-track .gallery-photo>span{opacity:1}
}

/* Reviews: quieter */
.review-rating{font-family:var(--font-display);font-style:italic;font-size:1.05rem;text-transform:none;letter-spacing:0}
.guest-review blockquote p{font-family:var(--font-display);font-size:clamp(1.3rem,1.15rem + .5vw,1.65rem);line-height:1.4}
.reviews-summary strong{font-family:var(--font-display);font-size:2rem;font-weight:500}

/* Section headings breathe a little more */
.section-heading h2,.gallery-title h2{margin-bottom:var(--space-4)}

/* Occasion list: numbers were removed, so the text takes the full first column */
.occasion-list article{grid-template-columns:minmax(0,1fr) 44px}
.occasion-list p{max-width:48ch}
.find-us-note{margin:.6rem 0 .9rem;max-width:34ch;font-size:.92rem;line-height:1.5;opacity:.8}
#gallery-track.photo-grid{grid-auto-flow:dense}
.gallery-photo img[src*="ceremony-lawn-aisle"]{object-position:center 80%}
#photo-caption{display:none}
