:root{
  --color-bg:#FBF3E8;
  --color-bg-soft:#F3E4D2;
  --color-surface:#FFFDF9;
  --color-surface-alt:#FFF7EC;
  --color-text:#2E2420;
  --color-text-muted:#6E5D50;
  --color-primary:#BE5B31;
  --color-primary-dark:#9A4423;
  --color-primary-light:#E8B996;
  --color-secondary:#6B7A4F;
  --color-secondary-dark:#4F5B39;
  --color-accent:#D9A441;
  --color-rose:#C08579;
  --color-border:#E7D3BB;
  --shadow-sm:0 1px 2px rgba(89,53,25,0.08);
  --shadow-md:0 4px 14px -2px rgba(89,53,25,0.14), 0 2px 4px rgba(89,53,25,0.08);
  --shadow-lg:0 20px 44px -14px rgba(89,53,25,0.28), 0 8px 18px -10px rgba(89,53,25,0.16);
  --shadow-warm:0 14px 34px -10px rgba(190,91,49,0.32);
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:28px;
  --radius-xl:40px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:'Inter',sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Bricolage Grotesque',sans-serif;
  color:var(--color-text);
  margin:0 0 0.5em;
  line-height:1.15;
}
p{margin:0 0 1em;}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease);}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:inherit;font-size:1rem;}
.no-scroll{overflow:hidden;}

.Eyebrow{
  display:inline-block;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:0.78rem;
  color:var(--color-primary-dark);
  margin-bottom:0.9rem;
}

.SectionHeading{
  font-size:clamp(1.8rem, 1.2rem + 2.2vw, 2.9rem);
  font-weight:700;
}
.SectionText{
  color:var(--color-text-muted);
  font-size:1.05rem;
  max-width:56ch;
}
.SectionText--center{max-width:64ch;margin:0 auto;text-align:center;}

.Section{padding:clamp(3.5rem,6vw,7rem) 0;position:relative;}
.Section--alt{background:var(--color-bg-soft);}
.Section-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}
.SectionIntro{max-width:760px;margin:0 auto 3rem;text-align:center;}

.Split{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;}
.Split-media img{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:4/3;
}
.Split-content{}

@media(min-width:900px){
  .Split{grid-template-columns:1fr 1fr;gap:4rem;}
  .Split--reverse .Split-media{order:2;}
  .Split--reverse .Split-content{order:1;}
}


.PageShell{transition:transform .45s var(--ease);transform-origin:left center;background:var(--color-bg);position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;}
.PageShell.is-pushed{transform:translateX(-18%) scale(0.95);}

.SiteHeader{
  position:sticky;top:0;z-index:50;
  padding:1.85rem 0;
  background:rgba(251,243,232,0.7);
  backdrop-filter:blur(10px);
  transition:padding .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);
}
.SiteHeader.is-scrolled{
  padding:0.75rem 0;
  background:rgba(251,243,232,0.96);
  box-shadow:var(--shadow-md);
}
.SiteHeader-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.SiteHeader-logo{display:flex;align-items:center;gap:.6rem;}
.SiteHeader-logoImg{height:42px;width:auto;transition:height .35s var(--ease);}
.SiteHeader.is-scrolled .SiteHeader-logoImg{height:30px;}
.SiteHeader-logoText{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:-0.01em;}
.SiteHeader-toggle{
  width:46px;height:46px;border-radius:var(--radius-sm);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  background:var(--color-surface);box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.SiteHeader-toggle:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);}
.SiteHeader-toggle span{width:20px;height:2px;background:var(--color-text);border-radius:2px;transition:all .3s var(--ease);}
.SiteHeader-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.SiteHeader-toggle.is-active span:nth-child(2){opacity:0;}
.SiteHeader-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.SiteHeader-cta{
  padding:.7rem 1.35rem;border-radius:999px;
  background:var(--color-primary);color:#fff;font-weight:600;font-size:.92rem;
  box-shadow:var(--shadow-warm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  white-space:nowrap;
}
.SiteHeader-cta:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(190,91,49,0.42);}


.SiteDrawer{
  position:fixed;top:0;right:0;height:100vh;
  width:min(360px,86vw);
  background:var(--color-surface);
  box-shadow:-20px 0 60px -20px rgba(46,36,32,0.4);
  transform:translateX(100%);
  transition:transform .45s var(--ease);
  z-index:80;
  display:flex;flex-direction:column;
  padding:2rem 1.75rem;
}
.SiteDrawer.is-open{transform:translateX(0);}
.SiteDrawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;}
.SiteDrawer-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.1rem;}
.SiteDrawer-close{
  width:40px;height:40px;border-radius:50%;
  background:var(--color-bg-soft);display:flex;align-items:center;justify-content:center;
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.SiteDrawer-close:hover{background:var(--color-primary-light);transform:rotate(90deg);}
.SiteDrawer-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:auto;}
.SiteDrawer-list a{
  display:block;padding:.85rem .5rem;font-size:1.15rem;font-weight:600;
  border-bottom:1px solid var(--color-border);
  transition:color .25s var(--ease), padding-left .25s var(--ease);
}
.SiteDrawer-list a:hover{color:var(--color-primary);padding-left:.9rem;}
.SiteDrawer-foot{padding-top:2rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.6rem;font-size:.92rem;color:var(--color-text-muted);}
.SiteDrawer-foot a{display:flex;align-items:center;gap:.5rem;transition:color .25s var(--ease);}
.SiteDrawer-foot a:hover{color:var(--color-primary);}

.PageShell-overlay{
  position:fixed;inset:0;background:rgba(46,36,32,0.45);
  opacity:0;pointer-events:none;transition:opacity .45s var(--ease);z-index:70;
}
.PageShell-overlay.is-active{opacity:1;pointer-events:auto;}


.Button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.9rem;border-radius:999px;font-weight:600;font-size:.98rem;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  min-height:44px;
}
.Button--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-warm);}
.Button--primary:hover{background:var(--color-primary-dark);transform:translateY(-3px);box-shadow:0 20px 44px -12px rgba(190,91,49,0.45);}
.Button--outline{background:transparent;color:var(--color-primary-dark);border:1.5px solid var(--color-primary);}
.Button--outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-warm);}
.Button--ghost{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);}
.Button--ghost:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.Button--small{padding:.6rem 1.2rem;font-size:.85rem;min-height:38px;}


.Hero{
  position:relative;
  padding:clamp(3rem,7vw,6rem) 0 clamp(4rem,8vw,7rem);
  background:radial-gradient(circle at 15% 20%, rgba(217,164,65,0.22), transparent 55%),
             radial-gradient(circle at 85% 80%, rgba(190,91,49,0.16), transparent 55%),
             var(--color-bg);
  overflow:hidden;
}
.Hero-inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;
}
.Hero-eyebrow{
  display:inline-block;background:var(--color-surface);
  padding:.5rem 1.1rem;border-radius:999px;
  font-size:.85rem;font-weight:600;color:var(--color-primary-dark);
  box-shadow:var(--shadow-sm);margin-bottom:1.4rem;
}
.Hero-heading{
  font-size:clamp(2.6rem, 1.8rem + 3.4vw, 4.6rem);
  font-weight:800;letter-spacing:-0.02em;
  max-width:16ch;
}
.Hero-text{
  font-size:1.15rem;color:var(--color-text-muted);max-width:52ch;margin-bottom:2rem;
}
.Hero-actions{display:flex;flex-wrap:wrap;gap:1rem;}
.Hero-media{position:relative;}
.Hero-img{
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;width:100%;
}
.Hero-badge{
  position:absolute;bottom:-1.5rem;left:-1.2rem;
  background:var(--color-surface);
  padding:1rem 1.3rem;border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  display:flex;align-items:center;gap:.8rem;
  font-size:.85rem;font-weight:600;color:var(--color-text-muted);
  max-width:210px;
}
.Hero-badge i{color:var(--color-accent);font-size:1.4rem;}

@media(min-width:960px){
  .Hero-inner{grid-template-columns:1.1fr .9fr;}
}


.PageHero{
  padding:clamp(6rem,10vw,9rem) 0 clamp(3.5rem,6vw,5rem);
  background:linear-gradient(160deg, var(--color-bg-soft), var(--color-bg) 65%);
  text-align:left;
}
.PageHero-inner{max-width:900px;margin:0 auto;padding:0 1.5rem;}
.PageHero-heading{font-size:clamp(2.3rem, 1.6rem + 2.6vw, 3.6rem);font-weight:800;}
.PageHero-text{font-size:1.1rem;color:var(--color-text-muted);max-width:60ch;}


.CheckList{display:flex;flex-direction:column;gap:.8rem;margin-top:1.5rem;}
.CheckList li{display:flex;align-items:flex-start;gap:.7rem;color:var(--color-text-muted);font-size:1rem;}
.CheckList i{color:var(--color-secondary);margin-top:.25rem;}


.FeatureGrid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
.FeatureGrid--dense{gap:1.25rem;}
@media(min-width:640px){.FeatureGrid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.FeatureGrid{grid-template-columns:repeat(4,1fr);}}
.FeatureCard{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  padding:2rem 1.6rem;
  box-shadow:var(--shadow-md);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  border:1px solid var(--color-border);
}
.FeatureCard:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.FeatureCard--muted{background:var(--color-surface-alt);}
.FeatureCard-icon{
  width:52px;height:52px;border-radius:var(--radius-md);
  background:var(--color-primary-light);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;color:var(--color-primary-dark);margin-bottom:1.2rem;
}
.FeatureCard-title{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;}
.FeatureCard-text{color:var(--color-text-muted);font-size:.95rem;margin:0;}


.Timeline{position:relative;max-width:820px;margin:0 auto;padding-left:2.2rem;}
.Timeline::before{
  content:'';position:absolute;left:1.1rem;top:0.4rem;bottom:0.4rem;width:2px;
  background:linear-gradient(var(--color-primary), var(--color-secondary));
  opacity:.4;
}
.Timeline-item{position:relative;padding-bottom:2.6rem;padding-left:1.8rem;}
.Timeline-item:last-child{padding-bottom:0;}
.Timeline-marker{
  position:absolute;left:-2.2rem;top:0;
  width:2.4rem;height:2.4rem;border-radius:50%;
  background:var(--color-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;box-shadow:var(--shadow-warm);
}
.Timeline-date{font-size:.85rem;font-weight:600;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.05em;}
.Timeline-title{font-size:1.3rem;font-weight:700;margin:.35rem 0 .5rem;}
.Timeline-text{color:var(--color-text-muted);margin:0;max-width:56ch;}


.RitualStats{
  background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  padding:clamp(3rem,6vw,4.5rem) 1.5rem;
}
.RitualStats-inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;
  text-align:center;
}
@media(min-width:800px){.RitualStats-inner{grid-template-columns:repeat(4,1fr);}}
.RitualStats-item{color:#fff;}
.RitualStats-num{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(2.4rem,4vw,3.4rem);font-weight:800;display:inline-block;
}
.RitualStats-suffix{font-size:1.3rem;font-weight:700;margin-left:.2rem;}
.RitualStats-item p{color:rgba(255,255,255,0.85);font-size:.92rem;margin-top:.4rem;}


.ComparisonTable-wrap{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}
.ComparisonTable{
  width:100%;border-collapse:collapse;background:var(--color-surface);min-width:680px;
}
.ComparisonTable th, .ComparisonTable td{
  padding:1.1rem 1.3rem;text-align:center;border-bottom:1px solid var(--color-border);
}
.ComparisonTable thead th{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;
  background:var(--color-bg-soft);
}
.ComparisonTable-feature{text-align:left !important;font-weight:600;color:var(--color-text-muted);}
.ComparisonTable th.is-recommended, .ComparisonTable td.is-recommended{
  background:rgba(190,91,49,0.08);position:relative;
}
.ComparisonTable-badge{
  display:block;font-size:.7rem;font-weight:700;color:#fff;background:var(--color-primary);
  padding:.25rem .6rem;border-radius:999px;margin-top:.4rem;text-transform:uppercase;letter-spacing:.04em;
}
.ComparisonTable-yes{color:var(--color-secondary);font-size:1.1rem;}
.ComparisonTable-no{color:var(--color-text-muted);opacity:.5;}


.CtaBand{
  padding:clamp(3.5rem,6vw,5.5rem) 1.5rem;
  background:linear-gradient(160deg, var(--color-bg), var(--color-bg-soft));
  text-align:center;
}
.CtaBand-inner{max-width:700px;margin:0 auto;}
.CtaBand-heading{font-size:clamp(1.9rem,1.4rem+2vw,2.6rem);}
.CtaBand-text{color:var(--color-text-muted);margin-bottom:1.8rem;}
.CtaBand .Hero-actions{justify-content:center;}


.SiteFooter{
  margin-top:auto;
  background:#2E2420;color:#EFE3D3;
  padding:clamp(3rem,5vw,4.5rem) 0 0;
}
.SiteFooter-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:3rem;
}
@media(min-width:700px){.SiteFooter-inner{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.SiteFooter-logo{height:36px;margin-bottom:1rem;}
.SiteFooter-brand p{color:rgba(239,227,211,0.7);font-size:.92rem;max-width:32ch;}
.SiteFooter-col h4{color:#fff;font-size:1rem;margin-bottom:1rem;}
.SiteFooter-col ul{display:flex;flex-direction:column;gap:.6rem;}
.SiteFooter-col a{color:rgba(239,227,211,0.75);font-size:.92rem;transition:color .25s var(--ease);}
.SiteFooter-col a:hover{color:var(--color-accent);}
.SiteFooter-col li{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:rgba(239,227,211,0.75);}
.SiteFooter-bottom{
  border-top:1px solid rgba(239,227,211,0.15);
  padding:1.4rem 1.5rem;text-align:center;
}
.SiteFooter-bottom p{color:rgba(239,227,211,0.55);font-size:.82rem;margin:0;}


.OfferGrid{display:grid;grid-template-columns:1fr;gap:1.6rem;}
@media(min-width:720px){.OfferGrid{grid-template-columns:1fr 1fr;}}
.OfferCard{
  background:var(--color-surface);border-radius:var(--radius-lg);
  padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border);
  display:flex;gap:1.3rem;transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.OfferCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.OfferCard--wide{grid-column:1/-1;}
.OfferCard-icon{
  flex-shrink:0;width:54px;height:54px;border-radius:var(--radius-md);
  background:var(--color-secondary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
}
.OfferCard-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;}
.OfferCard-text{color:var(--color-text-muted);margin:0;font-size:.97rem;}


.StepFlow{display:flex;flex-direction:column;gap:1rem;margin-top:1.6rem;}
.StepFlow-item{display:flex;align-items:center;gap:1rem;}
.StepFlow-num{
  flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;
  background:var(--color-accent);color:#3a2b12;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.95rem;
}
.StepFlow-item p{margin:0;color:var(--color-text-muted);}


.FaqList{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}
.FaqItem{
  background:var(--color-surface);border-radius:var(--radius-md);
  padding:1.2rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);
  transition:box-shadow .3s var(--ease);
}
.FaqItem:hover{box-shadow:var(--shadow-md);}
.FaqItem-question{
  font-weight:700;cursor:pointer;list-style:none;font-size:1.02rem;
  display:flex;align-items:center;justify-content:space-between;
}
.FaqItem-question::-webkit-details-marker{display:none;}
.FaqItem-question::after{content:'+';font-size:1.4rem;color:var(--color-primary);transition:transform .3s var(--ease);}
.FaqItem[open] .FaqItem-question::after{transform:rotate(45deg);}
.FaqItem-answer p{color:var(--color-text-muted);margin:.8rem 0 0;}


.SessionGrid{display:grid;grid-template-columns:1fr;gap:1.6rem;}
@media(min-width:720px){.SessionGrid{grid-template-columns:1fr 1fr;}}
.SessionCard{
  background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;
  box-shadow:var(--shadow-md);border:1px solid var(--color-border);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.SessionCard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.SessionCard--highlight{border:1.5px solid var(--color-primary);background:linear-gradient(160deg,#fff,var(--color-primary-light) 220%);}
.SessionCard-tag{
  display:inline-block;background:var(--color-bg-soft);color:var(--color-primary-dark);
  font-size:.78rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;margin-bottom:1rem;
  text-transform:uppercase;letter-spacing:.04em;
}
.SessionCard-title{font-size:1.3rem;font-weight:700;margin-bottom:.6rem;}
.SessionCard-when{font-size:.92rem;color:var(--color-primary-dark);font-weight:600;display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;}
.SessionCard-text{color:var(--color-text-muted);margin:0;font-size:.95rem;}


.ContactGrid{display:grid;grid-template-columns:1fr;gap:3rem;}
@media(min-width:960px){.ContactGrid{grid-template-columns:.85fr 1.15fr;}}
.ContactInfo-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;}
.ContactInfo-list li{display:flex;align-items:flex-start;gap:.8rem;color:var(--color-text-muted);}
.ContactInfo-list i{color:var(--color-primary);margin-top:.2rem;width:20px;}
.ContactInfo-map iframe{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}

.ContactForm-wrap{
  background:var(--color-surface);border-radius:var(--radius-xl);
  padding:clamp(1.8rem,3vw,2.8rem);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);
}
.WizardDots{display:flex;justify-content:center;gap:.7rem;margin-bottom:2rem;}
.WizardDots-dot{
  width:2.2rem;height:2.2rem;border-radius:50%;background:var(--color-bg-soft);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;
  color:var(--color-text-muted);transition:all .3s var(--ease);
}
.WizardDots-dot.is-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-warm);}
.WizardStep{display:none;animation:wizardIn .4s var(--ease);}
.WizardStep.is-active{display:block;}
@keyframes wizardIn{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:translateX(0);}}
.WizardStep-title{font-size:1.3rem;margin-bottom:1.4rem;}
.FormField{margin-bottom:1.3rem;}
.FormField label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:var(--color-text);}
.FormField input, .FormField select, .FormField textarea{
  width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);
  border:1.5px solid var(--color-border);background:var(--color-bg);
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
  min-height:44px;
}
.FormField input:focus, .FormField select:focus, .FormField textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(190,91,49,0.15);
}
.FormField--checkbox label{display:flex;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.9rem;color:var(--color-text-muted);}
.FormField--checkbox input{width:auto;min-height:auto;margin-top:.2rem;}
.WizardStep-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.8rem;}

.Gallery{display:grid;grid-template-columns:1fr;gap:1.2rem;}
@media(min-width:720px){.Gallery{grid-template-columns:repeat(3,1fr);}}
.Gallery-img{
  border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  aspect-ratio:4/3;object-fit:cover;width:100%;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.Gallery-img:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-lg);}


.LegalContent{max-width:820px;margin:0 auto;}
.LegalQA{padding:1.8rem 0;border-bottom:1px solid var(--color-border);}
.LegalQA:last-child{border-bottom:none;}
.LegalQA h2{font-size:1.35rem;margin-bottom:.7rem;}
.LegalQA p{color:var(--color-text-muted);}


.ThanksSection{
  min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(4rem,8vw,6rem) 1.5rem;
}
.EnvelopeAnim{position:relative;width:200px;height:130px;margin-bottom:2.5rem;}
.EnvelopeAnim-shadow{
  position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);
  width:160px;height:20px;background:rgba(89,53,25,0.15);border-radius:50%;filter:blur(6px);
  animation:shadowPulse 2.4s ease-in-out infinite;
}
.EnvelopeAnim-body{
  position:relative;width:200px;height:130px;
  background:var(--color-primary);border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);overflow:visible;
}
.EnvelopeAnim-letter{
  position:absolute;left:20px;right:20px;top:26px;height:78px;
  background:var(--color-surface);border-radius:6px;
  box-shadow:var(--shadow-sm);
  transform:translateY(10px);
  animation:letterSlide 1.6s .5s var(--ease) forwards;
}
.EnvelopeAnim-flap{
  position:absolute;top:0;left:0;right:0;height:65px;
  background:var(--color-primary-dark);
  clip-path:polygon(0 0, 50% 55%, 100% 0);
  transform-origin:top center;
  border-radius:var(--radius-md) var(--radius-md) 0 0;
  animation:flapOpen 0.7s var(--ease) forwards;
  z-index:2;
}
@keyframes flapOpen{
  0%{transform:rotateX(0deg);}
  100%{transform:rotateX(180deg);}
}
@keyframes letterSlide{
  0%{transform:translateY(10px);opacity:0;}
  40%{opacity:1;}
  100%{transform:translateY(-42px);opacity:1;}
}
@keyframes shadowPulse{
  0%,100%{transform:translateX(-50%) scale(1);opacity:.6;}
  50%{transform:translateX(-50%) scale(0.85);opacity:.4;}
}
.ThanksSection-heading{font-size:clamp(2rem,1.5rem+2vw,2.8rem);opacity:0;animation:fadeUpIn .6s .9s var(--ease) forwards;}
.ThanksSection-text{color:var(--color-text-muted);max-width:50ch;margin:0 0 2rem;opacity:0;animation:fadeUpIn .6s 1.05s var(--ease) forwards;}
.ThanksSection > .Button{opacity:0;animation:fadeUpIn .6s 1.2s var(--ease) forwards;}
@keyframes fadeUpIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}


.CookieBanner{
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:var(--color-surface);
  box-shadow:0 -12px 40px -12px rgba(46,36,32,0.3);
  display:none;
  flex-direction:row;
  border-top:1px solid var(--color-border);
}
.CookieBanner.is-visible{display:flex;}
.CookieBanner-info{
  flex:1;padding:1.6rem 2rem;border-right:1px solid var(--color-border);
}
.CookieBanner-info h3{font-size:1.1rem;margin-bottom:.5rem;}
.CookieBanner-info p{color:var(--color-text-muted);font-size:.9rem;margin:0;}
.CookieBanner-info a{color:var(--color-primary);font-weight:600;}
.CookieBanner-actions{flex:1;padding:1.6rem 2rem;display:flex;flex-direction:column;gap:1rem;}
.CookieBanner-categories{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;}
.CookieBanner-categories label{display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted);}
.CookieBanner-buttons{display:flex;flex-wrap:wrap;gap:.7rem;}

@media(max-width:800px){
  .CookieBanner{flex-direction:column;}
  .CookieBanner-info{border-right:none;border-bottom:1px solid var(--color-border);}
}


@media(max-width:640px){
  .Hero-badge{left:0;bottom:-1rem;max-width:170px;padding:.8rem 1rem;}
  .SiteHeader-cta{padding:.6rem 1rem;font-size:.85rem;}
  .WizardStep-actions{flex-direction:column-reverse;}
  .WizardStep-actions .Button{width:100%;}
}