/* Villa Santa Barbara Events | Figma / brand guidelines, October 2026.
   Existing reveal and parallax classes remain in style.css / main.js.
   Layers: content 0-2, media controls 3, header 70, menu 80, lightbox 100. */
:root {
  --cream: #f7f3ed;
  --cream-2: #f0eae2;
  --ink: #302c2d;
  --body: #494345;
  --muted: #6d6264;
  --gold: #c6a875;
  --wine: #995360;
  --brand-dark: #663942;
  --sage: #788273;
  --dark: #663942;
  --line: #d8cec1;
  --sans: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  --pad: clamp(24px, 7.2vw, 112px);
}
body {font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.85;}
[hidden] {display:none!important;}
section[id] {scroll-margin-top:100px;}
.wrap {max-width:1440px;}
.h-display {font-size:clamp(2rem,4.3vw,4rem);line-height:1.16;letter-spacing:-.025em;}
.h-sub {letter-spacing:0;font-weight:400;}
.label {display:flex;align-items:center;gap:16px;letter-spacing:.04em;color:var(--wine);font-size:10px;margin-bottom:28px;}
.label::before {content:'';width:30px;height:1px;background:currentColor;opacity:.6;}
.label--light {color:#f7f3ed;}
.lead {font-size:15px;font-weight:300;}
.ui-icon {display:inline-block;width:18px;height:18px;object-fit:contain;flex-shrink:0;}
.link-rule {display:inline-flex;align-items:center;gap:22px;border-left:0;border-bottom:1px solid currentColor;padding:5px 0;font-size:10px;letter-spacing:0;margin-top:28px;line-height:1.7;color:var(--ink);}
.link-rule:hover {padding-left:0;color:var(--wine);gap:30px;}
.link-rule--light {color:#f7f3ed;}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;font-size:11px;letter-spacing:0;padding:13px 24px;min-height:46px;}
.btn .ui-icon,.link-rule--light .ui-icon {filter:invert(1);}
.btn:hover .ui-icon {filter:none;}
a:focus-visible,button:focus-visible,summary:focus-visible {outline:2px solid var(--wine);outline-offset:6px;}
.hero a:focus-visible,.hero button:focus-visible,.feature-banner a:focus-visible {outline-color:#f7f3ed;}

/* Navigation takes its proportions from the supplied prototype. */
.hdr {padding:16px 0;}
.hdr__row {max-width:1550px;grid-template-columns:1fr auto 1fr;gap:30px;}
.hdr__left,.hdr__right {min-width:0;}
.hdr__right {display:flex;justify-content:flex-end;align-items:center;gap:24px;}
.hdr__brand {position:relative;width:clamp(220px,23vw,300px);display:block;}
.hdr__brand img {width:100%;height:auto;}
.logo-dark {display:none;}
.desktop-nav {display:flex;gap:26px;align-items:center;white-space:nowrap;color:#f7f3ed;font-size:11px;font-weight:500;text-transform:uppercase;}
.desktop-nav a {position:relative;padding:8px 0;}
.desktop-nav a::after {content:'';position:absolute;inset:auto 0 4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.desktop-nav a:hover::after {transform:scaleX(1);}
.hdr .burger {display:none;}
.hdr .langs {display:flex;flex-direction:row;gap:10px;font-size:10px;letter-spacing:0;}
.hdr .langs a,.hdr .langs__current {color:#f7f3ed;}
.hdr .langs__current {opacity:.55;}
.hdr.is-scrolled {background:rgba(247,243,237,.97);backdrop-filter:blur(12px);box-shadow:0 1px var(--line);padding:12px 0;}
.hdr.is-scrolled .desktop-nav,.hdr.is-scrolled .langs a,.hdr.is-scrolled .langs__current {color:var(--ink);}
.hdr.is-scrolled .logo-light {display:none;}
.hdr.is-scrolled .logo-dark {display:block;}
.menu {background:var(--cream);}
.menu__brand {min-width:0;max-width:100%;}.menu__brand img {width:100%;max-width:260px;height:auto;filter:brightness(.35);}
.ftr__brand img {width:min(340px,100%);height:auto;}

/* Original hero layout and title, with the new full-length film. */
.hero {min-height:100svh;}
.hero__media {inset:0;}
.hero__shade {z-index:1;pointer-events:none;}
.hero__photo {display:block;}
.hero__video {z-index:1;}
.hero__inner {padding-bottom:clamp(7rem,13vh,10rem);}
.hero__scroll {right:auto;left:var(--pad);bottom:34px;}
.hero-controls {position:absolute;right:var(--pad);bottom:26px;z-index:3;display:flex;gap:10px;align-items:center;}
.media-button {display:flex;align-items:center;gap:11px;min-height:46px;padding:11px 17px;border:1px solid rgba(247,243,237,.65);border-radius:999px;background:rgba(48,44,45,.38);color:#f7f3ed;font-size:11px;font-weight:400;backdrop-filter:blur(8px);transition:background .25s,border-color .25s;}
.media-button .ui-icon {filter:invert(1);width:19px;height:19px;}
.media-button:hover {background:rgba(102,57,66,.88);border-color:#f7f3ed;}
.media-button--circle {width:46px;height:46px;justify-content:center;padding:0;}

/* Editorial introduction and signature. */
.sec {padding:clamp(68px,8.5vw,128px) 0;}
.sec--tight {padding-top:80px;}
.sec--alt {background:var(--cream);}
.occasion {padding-top:84px;padding-bottom:40px;}
.occasion__grid {display:grid;grid-template-columns:.9fr 1.6fr;gap:clamp(40px,7vw,110px);}
.occasion__head .h-display {max-width:10ch;}
.occasion__cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;}
.occasion-card:nth-child(2) {padding-top:48px;}
.occasion-card__media {overflow:hidden;}
.occasion-card__media img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;}
.occasion-card h3 {font-family:var(--sans);font-size:clamp(19px,1.8vw,26px);font-weight:300;line-height:1.1;text-transform:uppercase;margin-top:18px;letter-spacing:-.035em;}
.occasion-card p {font-size:12px;margin-top:7px;}
.occasion-card .link-rule {margin-top:28px;font-size:9px;gap:16px;}
.claim {padding:35px 0 60px;}
.claim__line,.sec__note {font-family:var(--display);font-style:normal;font-size:clamp(18px,2.15vw,30px);line-height:1.25;text-transform:uppercase;letter-spacing:-.02em;color:var(--wine);max-width:40ch;}
.claim__line {text-align:center;}
.duo {grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(45px,7.5vw,115px);align-items:center;}
.duo__text {max-width:440px;}
.duo__text .h-display {margin-bottom:32px;}
.duo__text p + p {margin-top:0;}
.duo__media img {aspect-ratio:6/5;}
.duo__media--stack {gap:22px;}
.duo__media--stack img {aspect-ratio:3/4;}
.venue-facts {display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-block:3px solid var(--line);padding:25px 0;margin-top:80px;}
.venue-facts dt, .venue-facts .venue-facts__dt {font-family:var(--display);font-size:clamp(23px,2.4vw,34px);line-height:1.2;}
.venue-facts dd, .venue-facts .venue-facts__dd {margin:12px 0 0;font-size:9px;text-transform:uppercase;color:#56604f;}

/* Sage history spread. */
.band {background:var(--sage);padding:90px 0;}
.band__img {opacity:.11;mix-blend-mode:luminosity;filter:grayscale(1);}
.band::after {display:none;}
.band__inner {grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:80px;padding-bottom:0;}
.band__inner>div:first-child {max-width:400px;}
.band__title {font-size:clamp(34px,4.2vw,58px);letter-spacing:-.025em;max-width:12ch;}
.band__eyebrow {font-size:10px;letter-spacing:0;color:#f7f3ed;}
.history-copy {font-size:14px;color:#f7f3ed;margin-top:28px;line-height:1.85;}
.band .link-rule {color:#f7f3ed;}
.band .band__media {width:100%;}
.band .band__media img {aspect-ratio:6/5;}
.together-band {background:var(--cream);color:var(--ink);}
.together-band .band__title {color:var(--ink);}
.together-band .history-copy {color:var(--body);}
.together-band .band__eyebrow,.together-band .link-rule {color:var(--wine);}
.together-band .band__img {display:none;}
.wine-band {background:var(--sage);}
.wine-band .band__text {font-size:14px;max-width:400px;}
.wine-band .band__inner {grid-template-columns:1fr 1.55fr;}
.wine-band .band__text {grid-row:2;grid-column:1;}
.wine-band .band__media {grid-column:2;grid-row:1 / 3;}
.wine-band .band__inner {row-gap:25px;}
.history-band::after,.wine-band::after {display:block;background:rgba(48,44,45,.18);z-index:1;pointer-events:none;}
.memories {background:var(--sage);padding:90px 0;color:#f7f3ed;}
.memories__line {max-width:34ch;margin-inline:auto;font-family:var(--serif);font-size:clamp(26px,3.1vw,42px);line-height:1.3;}

/* Photo galleries, tabs and touch-friendly navigation. */
.carousel {min-width:0;}
.carousel__stage {position:relative;overflow:hidden;aspect-ratio:1.9;isolation:isolate;}
.carousel__slide {position:absolute;inset:-5% 0;width:100%;height:110%;overflow:hidden;}
.carousel__slide img {width:100%;height:100%;object-fit:cover;}
.carousel__arrow {position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;background:rgba(48,44,45,.35);border:1px solid rgba(247,243,237,.5);border-radius:50%;color:#f7f3ed;transition:background .25s;}
.carousel__arrow:hover {background:var(--brand-dark);}
.carousel__arrow .ui-icon {filter:invert(1);width:28px;height:28px;}
.carousel__arrow--prev {left:20px;}
.carousel__arrow--next {right:20px;}
.carousel__caption {font-size:12px;padding-top:15px;min-height:38px;}
.carousel__thumbs {display:flex;gap:14px;overflow-x:auto;padding:12px 0 6px;scrollbar-width:thin;}
.carousel__thumbs button {flex:1 0 90px;padding:0;position:relative;opacity:.65;transition:opacity .3s;max-width:180px;}
.carousel__thumbs button:hover,.carousel__thumbs button[aria-pressed="true"] {opacity:1;}
.carousel__thumbs button[aria-pressed="true"]::after {content:'';position:absolute;inset:auto 0 -5px;height:2px;background:var(--wine);}
.carousel__thumbs img {width:100%;height:80px;object-fit:cover;}
.carousel--history .carousel__thumbs,.carousel--history .carousel__caption {display:none;}
.carousel--history .carousel__stage {aspect-ratio:1.5;}
.spaces-heading {display:grid;grid-template-columns:1fr 240px;gap:80px;margin-bottom:40px;align-items:start;}
.spaces-heading .sec__head {margin-bottom:0;max-width:710px;}
.spaces-heading .sec__head p {margin-inline:0;}
.space-links {display:grid;}
.space-links button,.space-links a {display:flex;justify-content:space-between;align-items:center;text-align:left;border-bottom:1px solid var(--line);padding:11px 0;font-size:10px;text-transform:uppercase;}
.space-links button[aria-pressed="true"],.space-links button:hover,.space-links a:hover {color:var(--wine);}
.space-links .ui-icon {width:14px;height:14px;}
.carousel--spaces .carousel__stage {border-radius:100px;aspect-ratio:1.95;}
.carousel--gallery {max-width:1120px;margin:0 auto 40px;padding-inline:var(--pad);}
.gallery-section .gal {gap:16px;}
.gallery-section .sec__head {text-align:left;margin-inline:var(--pad);}

/* Landscape panels and destination wedding journey. */
.feature-banner {min-height:74svh;align-content:end;}
.feature-banner .bgsection__head {padding-bottom:70px;max-width:1550px;}
.feature-banner .h-display {font-size:clamp(36px,4.8vw,66px);}
.feature-banner .bgsection__sub {font-size:14px;max-width:65ch;margin-top:22px;}
.feature-banner .btn {margin-top:28px;}
.feature-banner .bgsection__shade {background:linear-gradient(180deg,rgba(48,44,45,.03),rgba(48,44,45,.58));}
.journey {padding-top:70px;padding-bottom:45px;}
.timeline {gap:50px;}
.timeline__step {text-align:center;border-top:0;padding-top:0;position:relative;}
.timeline__num {display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--wine);border-radius:50%;margin:0 auto 15px;letter-spacing:0;font-family:var(--sans);font-size:18px;color:var(--ink);}
.timeline__step .h-sub {font-size:14px;}
.timeline__step p {font-size:11px;line-height:1.6;}
.journey .sec__note {margin:90px auto 0;text-align:center;max-width:48ch;}
.wedding-story {padding-top:80px;}
.event-types {margin-top:28px;}
.event-types .cols2 {display:grid;grid-template-columns:1fr;gap:20px;margin:0;}
.event-types .h-sub {font-family:var(--sans);font-size:11px;font-weight:600;margin-bottom:7px;}
.event-types p {font-size:13px;}
.experience-story .duo__media img {aspect-ratio:1;}
.cards--grid {gap:40px 30px;}
.cards--grid .card img {height:auto;}
.cards--grid .card__title {letter-spacing:0;font-size:20px;}
.cards--grid .card__meta {letter-spacing:0;font-size:12px;}
.cards--grid .card:nth-child(3n+2) {padding-top:36px;}
.tags {display:flex;flex-wrap:wrap;gap:10px 18px;}
.tags li {padding:0;border:0;font-size:12px;color:var(--wine);}
.faq {max-width:950px;}
.faq__item summary {font-size:14px;}
#faq .sec__head {max-width:950px;margin:0 auto 35px;text-align:left;}
#faq .sec__head .label {justify-content:flex-start;}

/* Contact and burgundy footer. */
.contact {padding:90px 0;background:var(--brand-dark);}
.contact__shade {background:linear-gradient(90deg,rgba(48,44,45,.64),rgba(48,44,45,.10));}
.contact__grid {grid-template-columns:1fr 460px;gap:100px;align-items:center;}
.contact__text .h-display {font-size:clamp(38px,4.5vw,60px);}
.contact__list {font-size:13px;}
.contact__list span {letter-spacing:0;font-size:10px;color:#e2cab0;}
.form {background:#fffdf9;border:0;backdrop-filter:none;padding:40px;color:var(--ink);gap:15px;}
.form .h-sub {color:var(--ink);font-size:18px;margin-bottom:10px;}
.form label {color:var(--body);letter-spacing:.01em;font-size:9px;}
.form input,.form select,.form textarea {color:var(--ink);font-size:14px;border-color:var(--line);padding:7px 0;}
.form select {appearance:auto;}
.form .btn {color:var(--brand-dark);border-color:var(--brand-dark);justify-self:end;}
.form .btn:hover {color:#f7f3ed;background:var(--brand-dark);}
.form__note {color:var(--muted);font-size:10px;line-height:1.6;}
.form__note a {border-bottom:1px solid currentColor;}
.ftr {background:var(--brand-dark);padding:80px 0 45px;}
.ftr__grid {grid-template-columns:1.7fr .65fr 1fr;gap:70px;}
.ftr__muted {font-size:12px;color:#e5d8d5;line-height:1.8;}
.ftr__muted+p {margin-top:14px;}
.ftr__nav a {letter-spacing:0;font-size:11px;}
.ftr__brand {margin-bottom:30px;}
.ftr__legal {border-top:1px solid rgba(247,243,237,.25);padding-top:18px;}
.cookie {background:var(--brand-dark);}
.cookie__btn--solid {background:var(--cream);border-color:var(--cream);color:var(--brand-dark);}
.cookie__text strong {color:#e2cab0;}

@media(min-width:1800px) {.hdr__brand {width:360px;}.desktop-nav {gap:36px;}}
@media(max-width:1180px) {
 .hdr__row {gap:22px;padding-inline:30px;}.hdr__brand {width:245px;}.desktop-nav {gap:16px;font-size:10px;}.hdr__right {gap:18px;}
 .duo,.band__inner {grid-template-columns:1fr 1.2fr;gap:45px;}.contact__grid {grid-template-columns:1fr 420px;gap:45px;}
 .occasion__grid {gap:50px;grid-template-columns:.8fr 1.7fr;}.occasion__cards {gap:18px;}.spaces-heading {gap:40px;}
}
@media(max-width:980px) {
 .desktop-nav {display:none;}.hdr .burger {display:grid;}.hdr__brand {width:270px;}.hdr__right {justify-content:end;}
 .hdr .burger span {width:30px;height:1px;}.hdr .burger {gap:7px;min-width:44px;}.hdr.is-scrolled .burger span {background:var(--ink);}
 .occasion__grid {grid-template-columns:1fr;gap:36px;}.occasion__head .h-display {max-width:14ch;}.occasion__cards {gap:28px;}
 .duo {grid-template-columns:1fr;gap:40px;}.duo__text {max-width:620px;}.duo--rev .duo__text,.duo--rev .duo__media {order:initial;}
 .band__inner,.wine-band .band__inner {grid-template-columns:1fr;gap:40px;}.band__inner>div:first-child {max-width:600px;}.wine-band .band__text,.wine-band .band__media {grid-column:auto;grid-row:auto;}
 .timeline {gap:24px;}.contact__grid {grid-template-columns:1fr;gap:45px;}.form {max-width:650px;}
 .ftr__grid {grid-template-columns:1.4fr 1fr;gap:40px;}.ftr__legal {grid-column:1 / -1;}
}
@media(max-width:720px) {
 :root {--pad:24px;}body {font-size:14px;}.hdr {padding:18px 0;}.hdr__row {padding-inline:20px;gap:15px;grid-template-columns:44px 1fr 44px;}.hdr__brand {width:min(100%,235px);margin-inline:auto;}.hdr .langs {gap:7px;font-size:10px;}.hdr .langs__current {display:none;}
 .hero__video {display:block!important;}.hero__photo {display:block;}.hero__inner {padding-bottom:150px;}.hero__title {font-size:clamp(2rem,8vw,3rem);}.hero__scroll {bottom:37px;left:24px;font-size:9px;letter-spacing:.12em;}.hero__scroll span {width:25px;}.hero-controls {right:20px;bottom:22px;gap:8px;}.media-button {padding:11px 13px;font-size:10px;}.media-button--circle {padding:0;}
 .sec {padding:65px 0;}.occasion {padding-bottom:20px;}.claim {padding:32px 0 35px;}.occasion__head .h-display {max-width:13ch;font-size:36px;}
 .occasion__cards {display:flex;overflow-x:auto;gap:18px;padding-bottom:15px;scroll-snap-type:x mandatory;}.occasion-card {flex:0 0 70%;scroll-snap-align:start;}.occasion-card:nth-child(2) {padding-top:35px;}.occasion-card__media img {aspect-ratio:3/4;}.occasion-card h3 {font-size:24px;}
 .venue-facts {grid-template-columns:1fr 1fr;gap:26px;margin-top:45px;padding:25px 0;}.venue-facts dt, .venue-facts .venue-facts__dt {font-size:26px;}.venue-facts dd, .venue-facts .venue-facts__dd {font-size:10px;}
 .h-display {font-size:34px;}.duo__text .h-display {margin-bottom:24px;}.label {margin-bottom:20px;}.duo__media--stack {gap:12px;}.duo__media--stack figure:nth-child(2) {margin-top:32px;}
 .band {padding:65px 0;}.band__img {inset:0;height:100%;}.band__title {font-size:38px;}.history-copy {font-size:14px;}.carousel--history .carousel__stage {aspect-ratio:1.35;}.memories {padding:65px 0;}
 .feature-banner {min-height:70svh;}.feature-banner .bgsection__head {padding:65px 24px;}.feature-banner .h-display {font-size:37px;}.feature-banner .bgsection__sub {font-size:13px;}
 .timeline {grid-template-columns:1fr 1fr;gap:38px 24px;}.timeline__step .h-sub {font-size:13px;}.timeline__step p {font-size:12px;}.journey .sec__note {margin-top:55px;font-size:20px;}
 .spaces-heading {grid-template-columns:1fr;gap:30px;}.space-links {grid-template-columns:1fr 1fr;gap:0 20px;}.carousel--spaces .carousel__stage {border-radius:35px;aspect-ratio:1.3;}.carousel__arrow {width:44px;height:44px;}.carousel__arrow--prev {left:12px;}.carousel__arrow--next {right:12px;}.carousel__caption {font-size:11px;}.carousel__thumbs {gap:10px;}.carousel__thumbs img {height:60px;}.carousel__thumbs button {flex:0 0 80px;}
 .carousel--gallery {padding-inline:24px;}.cards--grid {grid-template-columns:1fr 1fr;gap:24px 18px;}.cards--grid .card:nth-child(3n+2) {padding-top:0;}.cards--grid .card__title {font-size:17px;}.cards--grid .card__meta {font-size:11px;}.cards--grid .card img {aspect-ratio:4/5;}
 .gallery-section .gal {gap:8px;}.gallery-section .sec__head {margin-inline:24px;}.gallery-section .sec__head h2 {font-size:34px;}
 .contact {padding:65px 0;background:var(--brand-dark);}.contact__img {inset:0;height:100%;max-height:none;min-height:0;}.contact__shade {inset:0;height:100%;max-height:none;min-height:0;background:rgba(48,44,45,.52);}.contact__grid {padding-top:0;}.contact__text .h-display {font-size:38px;}.form {padding:28px 24px;}.form input,.form select,.form textarea {font-size:16px;}.contact__list {overflow-wrap:anywhere;}
 .ftr {padding:60px 0 35px;}.ftr__grid {grid-template-columns:1fr;gap:35px;}.ftr__legal {grid-column:auto;}.ftr__nav {grid-template-columns:1fr 1fr;}.ftr__brand img {max-width:290px;}.ftr__muted {font-size:12px;}
 .page-legal .hdr__row {display:flex;justify-content:space-between;}.page-legal .hdr__brand {width:auto;margin:0;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}.anim {opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important;transition:none!important;}.hero__scroll span {animation:none;}.carousel__slide img {transform:none!important;}
}
@media(prefers-reduced-transparency:reduce) {.media-button {background:var(--ink);backdrop-filter:none;}.hdr.is-scrolled {background:var(--cream);backdrop-filter:none;}}
