
:root{
  --c-wine-900:#3d0f1c;
  --c-wine-800:#521a2b;
  --c-wine-700:#6b2338;
  --c-wine-600:#8a2f47;
  --c-gold-500:#c89b4a;
  --c-gold-400:#d9b878;
  --c-gold-300:#ead9b3;
  --c-cream-50:#fbf7f1;
  --c-cream-100:#f6efe4;
  --c-charcoal-900:#241b19;
  --c-charcoal-700:#463a36;
  --c-charcoal-500:#6f6059;
  --c-charcoal-300:#a9998f;
  --c-white:#fffaf4;

  --font-body: 'Commissioner', sans-serif;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-xl: 36px;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(36,20,16,.08), 0 1px 1px rgba(36,20,16,.05);
  --shadow-md: 0 4px 10px rgba(61,15,28,.10), 0 2px 4px rgba(61,15,28,.08);
  --shadow-lg: 0 14px 30px rgba(61,15,28,.16), 0 4px 10px rgba(61,15,28,.10);
  --shadow-xl: 0 30px 60px rgba(61,15,28,.22), 0 10px 20px rgba(61,15,28,.14);

  --space-xs: clamp(.5rem, .4rem + .3vw, .75rem);
  --space-sm: clamp(1rem, .8rem + .6vw, 1.5rem);
  --space-md: clamp(1.75rem, 1.4rem + 1.2vw, 2.75rem);
  --space-lg: clamp(3rem, 2.2rem + 3vw, 5.5rem);
  --space-xl: clamp(4.5rem, 3.4rem + 4.5vw, 8rem);

  --transition: .35s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-charcoal-900);
  background:var(--c-cream-50);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-weight:700;line-height:1.15;margin:0 0 .6em;color:var(--c-wine-900);}
p{margin:0 0 1em;color:var(--c-charcoal-700);}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

h1{font-size:clamp(2.4rem, 1.8rem + 3vw, 4.2rem);}
h2{font-size:clamp(1.7rem, 1.4rem + 1.6vw, 2.6rem);}
h3{font-size:clamp(1.15rem, 1.05rem + .5vw, 1.4rem);}

.u-container{
  max-width:1240px;
  margin-inline:auto;
  padding-inline:clamp(1.25rem, 1rem + 2vw, 3rem);
}
.u-text-center{text-align:center;}
.u-hidden{display:none !important;}


.c-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.85rem 1.6rem;
  border-radius:var(--radius-full);
  font-weight:600;
  font-size:.98rem;
  min-height:44px;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
  white-space:nowrap;
}
.c-btn--primary{
  background:linear-gradient(135deg, var(--c-wine-700), var(--c-wine-900));
  color:var(--c-white);
  box-shadow:var(--shadow-md);
}
.c-btn--primary:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg);}
.c-btn--ghost{
  background:color-mix(in srgb, var(--c-white) 12%, transparent);
  color:var(--c-white);
  border:1px solid color-mix(in srgb, var(--c-white) 40%, transparent);
  backdrop-filter:blur(6px);
}
.c-btn--ghost:hover{background:color-mix(in srgb, var(--c-white) 22%, transparent); transform:translateY(-2px);}
.c-btn--outline{
  background:transparent;
  color:var(--c-wine-800);
  border:1.5px solid var(--c-wine-700);
}
.c-btn--outline:hover{background:var(--c-wine-800); color:var(--c-white); transform:translateY(-2px);}
.c-btn--lg{padding:1rem 2.1rem; font-size:1.05rem;}

.c-link-arrow{
  display:inline-flex; align-items:center; gap:.5rem;
  color:var(--c-wine-700); font-weight:600;
  transition:gap var(--transition), color var(--transition);
}
.c-link-arrow:hover{gap:.85rem; color:var(--c-wine-900);}


.c-nav{
  position:fixed;
  inset-block-start:0;
  inset-inline:0;
  z-index:500;
  background:var(--c-cream-50);
  transition:box-shadow .25s ease;
}
.c-nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:.9rem;
}
.c-nav__brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-weight:700;
  font-size:1.15rem;
  color:var(--c-wine-900);
}
.c-nav__list{
  display:flex;
  align-items:center;
  gap:1rem;
}
.c-nav__link{
  font-weight:500;
  font-size:.96rem;
  color:var(--c-charcoal-700);
  padding-block:.4rem;
  position:relative;
  transition:color var(--transition);
}
.c-nav__link::after{
  content:"";
  position:absolute;
  inset-block-end:0;
  inset-inline-start:0;
  width:0;
  height:2px;
  background:var(--c-gold-500);
  transition:width var(--transition);
}
.c-nav__link:hover, .c-nav__link.is-active{color:var(--c-wine-800);}
.c-nav__link:hover::after, .c-nav__link.is-active::after{width:100%;}
.c-nav__link--cta{
  background:var(--c-wine-800);
  color:var(--c-white) !important;
  padding:.55rem 1.2rem;
  border-radius:var(--radius-full);
}
.c-nav__link--cta::after{display:none;}
.c-nav__link--cta:hover{background:var(--c-wine-900);}

.c-nav__toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  border-radius:var(--radius-sm);
  position:relative;
  z-index:600;
}
.c-nav__toggle span{
  display:block;
  width:24px;
  height:2px;
  background:var(--c-wine-900);
  margin-inline:auto;
  transition:transform var(--transition), opacity var(--transition);
}
.c-nav__toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.c-nav__toggle.is-active span:nth-child(2){opacity:0;}
.c-nav__toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}


.c-mobile-menu{
  position:fixed;
  inset:0;
  z-index:550;
  background:linear-gradient(160deg, var(--c-wine-900), var(--c-wine-700));
  clip-path:circle(0px at 92% 3%);
  transition:clip-path .55s cubic-bezier(.65,0,.35,1);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.c-mobile-menu.is-open{
  clip-path:circle(150% at 92% 3%);
  pointer-events:auto;
}
.c-mobile-menu__list{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  text-align:center;
}
.c-mobile-menu__list a{
  font-size:1.7rem;
  font-weight:600;
  color:var(--c-white);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .4s ease, transform .4s ease;
}
.c-mobile-menu.is-open .c-mobile-menu__list a{opacity:1; transform:translateY(0);}
.c-mobile-menu.is-open .c-mobile-menu__list a:nth-child(1){transition-delay:.15s;}
.c-mobile-menu.is-open .c-mobile-menu__list a:nth-child(2){transition-delay:.22s;}
.c-mobile-menu.is-open .c-mobile-menu__list a:nth-child(3){transition-delay:.29s;}
.c-mobile-menu.is-open .c-mobile-menu__list a:nth-child(4){transition-delay:.36s;}
.c-mobile-menu.is-open .c-mobile-menu__list a:nth-child(5){transition-delay:.43s;}

@media (max-width: 860px){
  .c-nav__menu{display:none;}
  .c-nav__toggle{display:flex;}
}


.s-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.s-hero__media{position:absolute; inset:0;}
.s-hero__media img{width:100%; height:100%; object-fit:cover;}
.s-hero__overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(61,15,28,.35) 0%, rgba(61,15,28,.55) 55%, rgba(36,17,20,.92) 100%);
}
.s-hero__content{
  position:relative;
  z-index:2;
  padding-block:var(--space-xl) var(--space-lg);
  max-width:760px;
}
.s-hero__eyebrow{
  display:inline-block;
  color:var(--c-gold-400);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.82rem;
  margin-bottom:1rem;
}
.s-hero__title{color:var(--c-white); margin-bottom:.7em;}
.s-hero__text{color:var(--c-cream-100); font-size:1.1rem; max-width:600px;}
.s-hero__actions{display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.6rem;}


.s-about{padding-block:var(--space-xl) var(--space-lg); background:var(--c-cream-50);}
.s-about__grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(2rem,1.5rem+2vw,4rem);
  align-items:center;
}
.s-about__media img{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
  object-fit:cover;
}
@media (max-width: 900px){
  .s-about__grid{grid-template-columns:1fr;}
  .s-about__media{order:-1;}
}


.s-how{padding-block:var(--space-lg) var(--space-xl); background:linear-gradient(180deg, var(--c-cream-50), var(--c-cream-100));}
.s-how__head{max-width:680px; margin-inline:auto; text-align:center; margin-bottom:var(--space-md);}
.s-how__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.75rem;
  position:relative;
}
.s-how__grid::before{
  content:"";
}
.c-card{
  background:var(--c-white);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.9rem;
  box-shadow:var(--shadow-md);
  transition:transform var(--transition), box-shadow var(--transition);
  position:relative;
}
.c-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.c-card--step{border-top:4px solid var(--c-gold-500);}
.c-card__number{
  font-size:2.6rem;
  font-weight:800;
  color:var(--c-gold-400);
  display:block;
  margin-bottom:.4rem;
  font-family:var(--font-body);
}
.c-card__icon{
  width:56px; height:56px;
  border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--c-wine-700), var(--c-wine-900));
  color:var(--c-white);
  font-size:1.35rem;
  margin-bottom:1rem;
}
.c-card__icon--outline{
  background:color-mix(in srgb, var(--c-gold-500) 16%, transparent);
  color:var(--c-wine-800);
}
@media (max-width: 900px){
  .s-how__grid{grid-template-columns:1fr; gap:1.4rem;}
}


.s-wave-divider{
  position:relative;
  line-height:0;
  background:var(--c-cream-100);
}
.s-wave-divider svg{display:block; width:100%; height:80px;}


.s-compare{padding-block:var(--space-md) var(--space-xl); background:var(--c-cream-50);}
.s-compare__head{max-width:700px; margin-inline:auto; text-align:center; margin-bottom:var(--space-md);}
.s-compare__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.75rem;
  align-items:stretch;
}
.c-card--plan{display:flex; flex-direction:column;}
.c-card--plan .c-card__lead{color:var(--c-charcoal-500); font-size:.95rem; margin-bottom:1.2rem;}
.c-card--plan .c-card__features{display:flex; flex-direction:column; gap:.65rem; margin-bottom:1.6rem; flex:1;}
.c-card--plan .c-card__features li{display:flex; align-items:flex-start; gap:.6rem; font-size:.94rem; color:var(--c-charcoal-700);}
.c-card--plan .c-card__features i{color:var(--c-gold-500); margin-top:.2rem;}
.c-card--highlight{
  border:2px solid var(--c-gold-500);
  transform:translateY(-10px);
  box-shadow:var(--shadow-xl);
}
@media (max-width: 940px){
  .s-compare__grid{grid-template-columns:1fr; gap:1.5rem;}
  .c-card--highlight{transform:none;}
}


.s-immersive{
  position:relative;
  min-height:70vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.s-immersive__media{position:absolute; inset:0;}
.s-immersive__media img{width:100%; height:100%; object-fit:cover; transition:transform 1s ease;}
.s-immersive:hover .s-immersive__media img{transform:scale(1.04);}
.s-immersive::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(36,17,20,.9) 0%, rgba(36,17,20,.5) 45%, rgba(36,17,20,.15) 100%);
}
.s-immersive__content{position:relative; z-index:2; max-width:600px; color:var(--c-white);}
.s-immersive__content h2{color:var(--c-white);}
.s-immersive__content p{color:var(--c-cream-100);}


.s-split{padding-block:var(--space-lg); background:var(--c-cream-50);}
.s-split__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,1.5rem+2vw,4rem);
  align-items:center;
}
.s-split--reverse{background:var(--c-cream-100);}
.s-split__media img{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  aspect-ratio:5/4;
  object-fit:cover;
}
@media (max-width: 900px){
  .s-split__grid{grid-template-columns:1fr;}
  .s-split--reverse .s-split__media{order:-1;}
}


.s-cta{position:relative; overflow:hidden; min-height:60vh; display:flex; align-items:center;}
.s-cta__media{position:absolute; inset:0;}
.s-cta__media img{width:100%; height:100%; object-fit:cover;}
.s-cta::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(61,15,28,.55), rgba(36,17,20,.92));}
.s-cta__content{position:relative; z-index:2; max-width:640px; margin-inline:auto; text-align:center;}
.s-cta__content h2{color:var(--c-white);}
.s-cta__content p{color:var(--c-cream-100);}
.s-cta--simple{
  min-height:auto;
  background:linear-gradient(135deg, var(--c-wine-900), var(--c-wine-700));
  padding-block:var(--space-lg);
}
.s-cta--simple::before{display:none;}


.s-page-hero{position:relative; min-height:52vh; display:flex; align-items:flex-end; overflow:hidden;}
.s-page-hero__media{position:absolute; inset:0;}
.s-page-hero__media img{width:100%; height:100%; object-fit:cover;}
.s-page-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(61,15,28,.35), rgba(36,17,20,.9));}
.s-page-hero--dark::after{background:linear-gradient(180deg, rgba(36,17,20,.55), rgba(36,17,20,.95));}
.s-page-hero__content{position:relative; z-index:2; padding-block:var(--space-lg) var(--space-md); max-width:720px;}
.s-page-hero__content h1{color:var(--c-white);}
.s-page-hero__content p{color:var(--c-cream-100); font-size:1.05rem;}


.s-narrative{padding-block:var(--space-lg);}
.s-narrative--tint{background:var(--c-cream-100);}
.s-narrative__block{max-width:780px; margin-inline:auto;}
.s-narrative__block h2{margin-bottom:.7em;}


.s-list-section{padding-block:var(--space-lg); background:var(--c-cream-50);}
.s-list-section--alt{background:var(--c-cream-100);}
.s-list-section > .u-container > div{max-width:720px; margin-bottom:var(--space-md);}
.s-icon-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.c-card--flat{padding:1.8rem 1.5rem; box-shadow:var(--shadow-sm);}
.c-card--flat:hover{box-shadow:var(--shadow-md);}
@media (max-width: 1000px){
  .s-icon-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 560px){
  .s-icon-grid{grid-template-columns:1fr;}
}

.s-checklist{display:flex; flex-direction:column; gap:1rem; max-width:720px;}
.s-checklist li{
  display:flex; align-items:flex-start; gap:.8rem;
  background:var(--c-white);
  padding:1rem 1.3rem;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  color:var(--c-charcoal-700);
}
.s-checklist li i{color:var(--c-gold-500); margin-top:.2rem; font-size:1.1rem;}


.s-contact{padding-block:var(--space-lg) var(--space-xl); background:var(--c-cream-50);}
.s-contact__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:clamp(2rem,1.5rem+2vw,3.5rem);
  align-items:start;
}
@media (max-width:940px){.s-contact__grid{grid-template-columns:1fr;}}

.c-chat{
  background:var(--c-white);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  padding:clamp(1.4rem,1rem+1.5vw,2.4rem);
}
.c-chat__header{
  display:flex; align-items:center; gap:.6rem;
  font-weight:700; color:var(--c-wine-900);
  padding-bottom:1rem; margin-bottom:1.2rem;
  border-bottom:1px solid var(--c-cream-100);
}
.c-chat__form{display:flex; flex-direction:column; gap:.9rem;}
.c-chat__bubble{
  max-width:88%;
  padding:.85rem 1.15rem;
  border-radius:var(--radius-lg);
  font-size:.96rem;
  animation:none;
}
.c-chat__bubble--bot{
  background:var(--c-cream-100);
  color:var(--c-charcoal-900);
  border-start-start-radius:6px;
  align-self:flex-start;
}
.c-chat__bubble--user{
  background:transparent;
  align-self:flex-end;
  max-width:100%;
  padding:0;
}
.c-chat__bubble--user input,
.c-chat__bubble--user textarea{
  width:100%;
  padding:.85rem 1.1rem;
  border-radius:var(--radius-lg);
  border:1.5px solid var(--c-cream-100);
  background:var(--c-cream-50);
  font-family:inherit;
  font-size:.96rem;
  color:var(--c-charcoal-900);
  resize:vertical;
  transition:border-color var(--transition), box-shadow var(--transition);
  border-end-end-radius:6px;
}
.c-chat__bubble--user input:focus,
.c-chat__bubble--user textarea:focus{
  outline:none;
  border-color:var(--c-wine-600);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--c-wine-600) 18%, transparent);
}
.c-chat__bubble--check{align-self:flex-end;}
.c-checkbox{display:flex; align-items:flex-start; gap:.6rem; font-size:.92rem; color:var(--c-charcoal-700); cursor:pointer;}
.c-checkbox input{width:20px; height:20px; margin-top:2px; accent-color:var(--c-wine-700);}
.c-checkbox a{color:var(--c-wine-700); font-weight:600;}
.c-chat__send{
  align-self:flex-end;
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(135deg, var(--c-wine-700), var(--c-wine-900));
  color:var(--c-white);
  padding:.85rem 1.7rem;
  border-radius:var(--radius-full);
  font-weight:600;
  box-shadow:var(--shadow-md);
  transition:transform var(--transition), box-shadow var(--transition);
  min-height:44px;
}
.c-chat__send:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg);}

.s-contact__side{display:flex; flex-direction:column; gap:1.4rem;}
.c-info-card{
  background:var(--c-white);
  border-radius:var(--radius-lg);
  padding:1.6rem 1.7rem;
  box-shadow:var(--shadow-md);
}
.c-info-card h3{margin-bottom:.7em;}
.c-info-card p{display:flex; align-items:center; gap:.6rem; margin-bottom:.5em; font-size:.95rem;}
.c-info-card p i{color:var(--c-gold-500); width:18px;}
.c-info-card--tips ul{display:flex; flex-direction:column; gap:.6rem;}
.c-info-card--tips li{display:flex; gap:.6rem; font-size:.92rem; color:var(--c-charcoal-700); align-items:flex-start;}
.c-info-card--tips li i{color:var(--c-gold-500); margin-top:.2rem;}
.c-map{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);}
.c-map iframe{display:block;}


.s-thanks{padding-block:var(--space-xl); background:linear-gradient(160deg, var(--c-cream-50), var(--c-cream-100)); min-height:70vh; display:flex; align-items:center;}
.s-thanks__inner{max-width:640px; margin-inline:auto; text-align:center;}
.c-quote-card{
  background:linear-gradient(135deg, var(--c-wine-900), var(--c-wine-700));
  color:var(--c-white);
  padding:2.4rem 2rem;
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-xl);
  margin-bottom:2.4rem;
  position:relative;
}
.c-quote-card__icon{font-size:1.6rem; color:var(--c-gold-400); margin-bottom:.8rem;}
.c-quote-card__text{font-size:1.25rem; font-style:italic; color:var(--c-cream-100); margin-bottom:.8rem;}
.c-quote-card__source{font-size:.85rem; color:var(--c-gold-400); font-weight:600;}


.s-legal{padding-block:var(--space-xl); background:var(--c-cream-50);}
.s-legal__grid{max-width:820px; margin-inline:auto;}
.s-legal__heading{margin-top:2.2em;}
.s-legal__term{color:var(--c-wine-700); border-bottom:1.5px dotted var(--c-gold-500); cursor:help;}
.c-def-box{
  background:var(--c-cream-100);
  border-inline-start:4px solid var(--c-gold-500);
  border-radius:var(--radius-md);
  padding:1rem 1.3rem;
  margin-block:1.2rem 1.8rem;
}
.c-def-box strong{display:block; color:var(--c-wine-900); margin-bottom:.3em; font-size:.95rem;}
.c-def-box p{margin:0; font-size:.9rem; color:var(--c-charcoal-700);}


.c-footer{
  background:var(--c-wine-900);
  color:var(--c-cream-100);
  padding-block:var(--space-lg) var(--space-sm);
  margin-top:auto;
}
.c-footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:2.5rem;
  padding-bottom:var(--space-md);
  border-bottom:1px solid color-mix(in srgb, var(--c-white) 12%, transparent);
}
.c-footer__brand{display:flex; flex-direction:column; gap:.6rem;}
.c-footer__brand span{font-weight:700; font-size:1.1rem; color:var(--c-white);}
.c-footer__brand p{font-size:.88rem; color:var(--c-cream-100); opacity:.75;}
.c-footer__col{display:flex; flex-direction:column; gap:.65rem;}
.c-footer__col h4{color:var(--c-white); font-size:.95rem; margin-bottom:.4em; text-transform:uppercase; letter-spacing:.05em;}
.c-footer__col a, .c-footer__col p{font-size:.9rem; color:var(--c-cream-100); opacity:.8; transition:opacity var(--transition);}
.c-footer__col a:hover{opacity:1;}
.c-footer__bottom{padding-top:1.4rem; font-size:.82rem; opacity:.65; text-align:center;}
.c-footer__bottom p{color:var(--c-cream-100);}
@media (max-width:900px){
  .c-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .c-footer__grid{grid-template-columns:1fr;}
}
html, body{height:100%;}
body{display:flex; flex-direction:column; min-height:100vh;}
main{flex:1;}


.c-cookie{
  position:fixed;
  inset-block-end:1.4rem;
  inset-inline:0;
  display:flex;
  justify-content:center;
  z-index:900;
  pointer-events:none;
}
.c-cookie__pill{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:1rem;
  background:var(--c-charcoal-900);
  color:var(--c-cream-100);
  padding:.7rem .6rem .7rem 1.3rem;
  border-radius:var(--radius-full);
  box-shadow:var(--shadow-xl);
  transition:opacity .3s ease, transform .3s ease;
  max-width:92vw;
}
.c-cookie__pill p{margin:0; font-size:.85rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;color:var(--c-cream-100);}
.c-cookie__pill-actions{display:flex; gap:.5rem; flex-shrink:0;}
.c-cookie__btn{
  border-radius:var(--radius-full);
  padding:.5rem 1rem;
  font-size:.82rem;
  font-weight:600;
  min-height:36px;
  transition:background var(--transition), color var(--transition), transform var(--transition);
}
.c-cookie__btn--text{color:var(--c-cream-100); opacity:.85;}
.c-cookie__btn--text:hover{opacity:1;}
.c-cookie__btn--solid{background:var(--c-gold-500); color:var(--c-wine-900);}
.c-cookie__btn--solid:hover{background:var(--c-gold-400); transform:translateY(-1px);}

.c-cookie__modal{
  display:none;
  pointer-events:auto;
  background:var(--c-white);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-xl);
  padding:1.8rem;
  width:min(480px, 92vw);
  max-height:82vh;
  overflow-y:auto;
}
.c-cookie__modal h3{margin-bottom:.4em;}
.c-cookie__modal > p{font-size:.9rem; margin-bottom:1.2rem;}
.c-cookie__row{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem;
  padding-block:.8rem;
  border-top:1px solid var(--c-cream-100);
}
.c-cookie__row div strong{display:block; font-size:.92rem; color:var(--c-charcoal-900);}
.c-cookie__row div span{font-size:.8rem; color:var(--c-charcoal-500);}
.c-cookie__switch{position:relative; width:44px; height:26px; flex-shrink:0;}
.c-cookie__switch input{opacity:0; width:0; height:0;}
.c-cookie__switch span{
  position:absolute; inset:0;
  background:var(--c-charcoal-300);
  border-radius:var(--radius-full);
  transition:background var(--transition);
  cursor:pointer;
}
.c-cookie__switch span::before{
  content:""; position:absolute;
  width:20px; height:20px;
  left:3px; top:3px;
  background:var(--c-white);
  border-radius:50%;
  transition:transform var(--transition);
  box-shadow:var(--shadow-sm);
}
.c-cookie__switch input:checked + span{background:var(--c-wine-700);}
.c-cookie__switch input:checked + span::before{transform:translateX(18px);}
.c-cookie__switch input:disabled + span{opacity:.6; cursor:not-allowed;}
.c-cookie__modal-actions{display:flex; justify-content:flex-end; gap:.7rem; margin-top:1.4rem;}

.c-cookie.is-modal .c-cookie__pill{display:none;}
.c-cookie.is-modal .c-cookie__modal{display:block;}


[data-aos]{will-change:opacity, transform;}

@media (max-width:640px){
  .s-hero{min-height:88vh;}
  .s-hero__content{padding-block:var(--space-lg) var(--space-md);}
  .c-cookie__pill p{max-width:150px;}
}