:root{
  --cream:#fbf6ec;
  --cream-2:#f4ead8;
  --paper:#fffdf9;
  --olive:#697f4e;
  --olive-2:#2f4128;
  --olive-3:#4a5f3c;
  --sage:#96ab74;
  --honey:#d5a54a;
  --gold:#efcf8c;
  --gold-soft:#f6e7bc;
  --gold-deep:#b9872d;
  --terra:#b86b4a;
  --terra-2:#95533a;
  --ink:#22301f;
  --muted:#667260;
  --line:rgba(120,93,41,.18);
  --line-soft:rgba(120,93,41,.10);
  --soft:0 24px 70px rgba(56,58,28,.12);
  --soft-2:0 14px 36px rgba(56,58,28,.10);
  --soft-3:0 8px 22px rgba(56,58,28,.08);
  --radius:30px;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  line-height:1.68;
  background:
    radial-gradient(circle at 12% 10%, rgba(239,207,140,.18), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(150,171,116,.12), transparent 24%),
    linear-gradient(180deg,#fffaf2 0%,#fbf5ea 35%,#f8f0e2 100%);
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
img{max-width:100%;display:block}
.skip-link{position:absolute;left:-999px;top:12px;background:#fff;color:#000;padding:10px 14px;z-index:999}.skip-link:focus{left:12px}
.container{width:min(100% - 42px,var(--max));margin-inline:auto}.narrow{max-width:820px}.center{text-align:center}.muted{color:var(--muted)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--olive-2);line-height:1.02;font-weight:650;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(50px,7vw,92px)}h2{font-size:clamp(34px,4.6vw,64px)}h3{font-size:clamp(24px,2.8vw,38px)}
p{margin:0;color:var(--muted)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--gold-deep);margin-bottom:16px}
.lead{font-size:clamp(20px,2.2vw,30px);line-height:1.38;color:#405038}.small-text{font-size:14px;color:var(--muted)}

.site-header{
  position:sticky;top:0;z-index:80;height:78px;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,251,244,.95),rgba(251,244,232,.92));
  backdrop-filter:blur(18px);
  box-shadow:0 8px 24px rgba(60,56,27,.05);
}
.brand{display:flex;align-items:center;gap:12px;min-width:250px;text-decoration:none}.brand:hover{text-decoration:none}
.brand-logo{width:46px;height:46px;border-radius:999px;box-shadow:0 8px 20px rgba(122,93,34,.16)}
.brand-wording{display:grid;line-height:1.1}
.brand-wording strong{font-family:Georgia,'Times New Roman',serif;color:var(--olive-2);font-size:18px}
.brand-wording small{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#89714f;font-weight:800}
.nav-toggle{display:none}
.main-nav{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:850;color:var(--olive-2)}
.main-nav a{opacity:.92;position:relative}
.main-nav a:hover{color:var(--gold-deep);text-decoration:none}
.nav-cta{
  padding:10px 15px;border:1px solid rgba(185,135,45,.26);border-radius:999px;
  background:linear-gradient(180deg,#fffdf8,#f8efde);
  box-shadow:var(--soft-3)
}
.nav-cta:hover{background:#fff;text-decoration:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 22px;border-radius:999px;border:1px solid transparent;
  font-weight:900;font-size:14px;text-decoration:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.primary{
  background:linear-gradient(135deg,#f0d38f 0%,#d1a043 58%,#b28027 100%);
  color:#2f4128;
  border-color:rgba(122,93,34,.18);
  box-shadow:0 16px 32px rgba(188,136,44,.28), inset 0 1px 0 rgba(255,255,255,.45);
}
.primary:hover{box-shadow:0 20px 38px rgba(188,136,44,.34), inset 0 1px 0 rgba(255,255,255,.55)}
.secondary{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,243,231,.9));
  border-color:rgba(185,135,45,.22);
  color:var(--olive-2);
  box-shadow:var(--soft-3)
}
.secondary:hover{border-color:rgba(185,135,45,.36)}
.ghost{border-color:rgba(255,255,255,.34);color:#fff;background:rgba(255,255,255,.08)}
.small{padding:10px 14px;font-size:13px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}

.hero{
  position:relative;overflow:hidden;min-height:calc(100svh - 78px);display:flex;align-items:center;padding:92px 0;
  background:
    radial-gradient(circle at 18% 32%,rgba(150,171,116,.18),transparent 24%),
    radial-gradient(circle at 82% 18%,rgba(239,207,140,.42),transparent 34%),
    radial-gradient(circle at 72% 74%,rgba(213,165,74,.12),transparent 28%),
    linear-gradient(135deg,#fffaf1 0%,#f8eddc 56%,#f3e4c8 100%);
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 40%,rgba(255,255,255,.15) 70%,transparent 100%);
}
.hero:after{
  content:"";position:absolute;right:-110px;bottom:-170px;width:390px;height:390px;border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.44),rgba(243,231,202,.22));
  border:1px solid rgba(255,255,255,.46);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) 430px;gap:72px;align-items:center}
.hero-copy{max-width:670px}.hero-copy .lead{margin-top:22px}.sublead{font-size:17px;max-width:610px;margin-top:16px}
.trust-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.trust-row span{
  padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.72);
  border:1px solid rgba(185,135,45,.16);font-size:12px;font-weight:850;color:var(--olive-2);
  box-shadow:var(--soft-3)
}
.portrait-card{
  position:relative;padding:16px;border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,241,228,.78));
  border:1px solid rgba(185,135,45,.18);box-shadow:var(--soft);overflow:hidden
}
.portrait-card:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 36%,rgba(239,207,140,.18) 100%);
}
.portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.portrait-note{
  position:absolute;left:34px;right:34px;bottom:34px;padding:18px;border-radius:20px;
  background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(255,249,239,.86));
  border:1px solid rgba(185,135,45,.18);backdrop-filter:blur(10px);box-shadow:var(--soft-3)
}
.portrait-note strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:23px;color:var(--olive-2)}
.portrait-note span{display:block;font-size:12px;color:var(--muted);margin-top:3px}

.section{padding:100px 0;position:relative}
.section.alt{background:linear-gradient(180deg,rgba(255,251,245,.92),rgba(250,243,230,.9))}
.section.white{background:rgba(255,255,255,.48)}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:62px;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.chips span{border:1px solid rgba(185,135,45,.16);background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(249,243,232,.78));border-radius:999px;padding:10px 14px;font-size:13px;font-weight:850;color:var(--olive-2);box-shadow:var(--soft-3)}

.card{
  position:relative;overflow:hidden;border:1px solid rgba(185,135,45,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(251,246,237,.9));
  border-radius:var(--radius);box-shadow:var(--soft-2);padding:28px
}
.card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,rgba(239,207,140,.88),rgba(150,171,116,.6));
}
.card h3{font-size:30px;margin-bottom:10px}.card p+p{margin-top:12px}
.step-list{display:grid;gap:14px}
.step{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start}
.step b{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:linear-gradient(180deg,#f5e8c2,#e7d29a);color:var(--olive-2);border:1px solid rgba(185,135,45,.22);box-shadow:var(--soft-3)}
.program-list{margin-top:34px}
.program-card{display:flex;flex-direction:column;min-height:260px;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.program-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(56,58,28,.14);border-color:rgba(185,135,45,.26)}
.program-card .type{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);font-weight:950;margin-bottom:10px}
.program-card .price{margin-top:12px;font-weight:950;color:var(--olive-2)}
.program-card .actions{margin-top:auto;padding-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.featured{background:linear-gradient(145deg,#586f42 0%,#6e8252 45%,#c9a34f 100%);color:#fff;border-color:rgba(255,232,182,.18)}
.featured:before{background:linear-gradient(90deg,#fff2c5,rgba(255,255,255,.55))}
.featured h3,.featured p,.featured .price,.featured .type{color:#fff}
.featured .secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.24)}
.featured .secondary:hover{background:rgba(255,255,255,.18)}

.video-block{display:grid;grid-template-columns:.95fr 340px;gap:54px;align-items:center}
.video-card{border:1px solid rgba(185,135,45,.18);padding:0;border-radius:30px;background:#111;box-shadow:var(--soft);overflow:hidden;position:relative;cursor:pointer}
.video-card img{aspect-ratio:9/12;object-fit:cover}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(180deg,#fff6dd,#efd08c);color:var(--olive-2);font-size:30px;box-shadow:0 16px 34px rgba(0,0,0,.25)}

.page-hero{
  padding:82px 0 70px;
  background:linear-gradient(135deg,#fffaf2 0%,#f5ead7 65%,#f0dfc0 100%);
  border-bottom:1px solid var(--line)
}
.page-hero-grid{display:grid;grid-template-columns:1.1fr 350px;gap:60px;align-items:center}
.page-hero .lead{margin-top:18px}
.page-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.page-meta span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(185,135,45,.16);font-size:12px;font-weight:850;color:var(--olive-2);box-shadow:var(--soft-3)}
.side-card{
  border-radius:28px;background:linear-gradient(180deg,#fffdfa,#faf2e4);border:1px solid rgba(185,135,45,.18);
  box-shadow:var(--soft);padding:24px
}
.side-card .price-big{font-family:Georgia,'Times New Roman',serif;color:var(--olive-2);font-size:52px;line-height:1}
.side-card .price-big small{font-size:18px}
.side-card hr{border:0;border-top:1px solid rgba(185,135,45,.18);margin:20px 0}
.clean-list{padding-left:0;margin:20px 0 0;list-style:none;display:grid;gap:11px}
.clean-list li{position:relative;padding-left:27px;color:var(--muted)}
.clean-list li:before{content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;border-radius:999px;background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.note-box{border-left:4px solid var(--gold-deep);background:linear-gradient(180deg,#fff9ed,#f9efdb);padding:20px 22px;border-radius:18px;margin-top:24px;box-shadow:var(--soft-3)}
.quote-row{margin-top:36px}.quote{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.25;color:var(--olive-2)}

.contact-strip{background:linear-gradient(135deg,#37492d 0%,#5d7348 52%,#b78936 100%);color:#fff;padding:82px 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.contact-strip h2,.contact-strip p{color:#fff}.contact-strip .eyebrow{color:#fde4b7}
.footer{padding:42px 0;background:linear-gradient(180deg,#25341f,#202d1b);color:rgba(255,255,255,.78)}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer a{color:#fff}.footer a:hover{color:#fde4b7}.footer small{display:block;color:rgba(255,255,255,.6);margin-top:5px}

.sticky-cta{position:fixed;right:18px;bottom:18px;z-index:70;opacity:0;transform:translateY(14px);pointer-events:none;transition:.22s}
.sticky-cta.visible{opacity:1;transform:none;pointer-events:auto}
.sticky-cta a{display:inline-flex;padding:13px 18px;border-radius:999px;background:linear-gradient(135deg,#f0d38f,#c9963a);color:#2f4128;font-weight:900;box-shadow:0 18px 36px rgba(0,0,0,.18);text-decoration:none}
.modal{display:none;position:fixed;inset:0;z-index:200;place-items:center;padding:22px}.modal.open{display:grid}.modal-bg{position:absolute;inset:0;border:0;background:rgba(20,26,18,.76)}.modal-card{position:relative;width:min(760px,100%);border-radius:24px;background:#111;overflow:hidden;box-shadow:var(--soft)}.modal-card video{width:100%;max-height:84svh;background:#111}.modal-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border-radius:999px;border:0;background:rgba(255,255,255,.92);font-size:30px;line-height:1;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.05s}.delay-2{transition-delay:.1s}

@media(max-width:980px){
  .hero{min-height:auto}.hero-grid,.split,.video-block,.page-hero-grid{grid-template-columns:1fr;gap:38px}
  .portrait-card,.video-card,.side-card{max-width:430px;margin-inline:auto}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .section{padding:76px 0}
}
@media(max-width:720px){
  .container{width:min(100% - 28px,var(--max))}
  .site-header{height:68px;padding-inline:14px}
  .brand-logo{width:38px;height:38px}
  .brand-wording strong{font-size:15px}.brand-wording small{font-size:8px}
  .nav-toggle{display:grid;gap:4px;place-content:center;width:42px;height:42px;border:1px solid rgba(185,135,45,.18);border-radius:999px;background:rgba(255,255,255,.72)}
  .nav-toggle span{display:block;width:18px;height:2px;background:var(--olive-2)}
  .main-nav{position:fixed;top:78px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:14px;background:rgba(255,248,238,.98);border:1px solid rgba(185,135,45,.18);border-radius:20px;box-shadow:var(--soft)}
  .main-nav.open{display:flex}.main-nav a{padding:10px 12px}
  .hero{padding:58px 0 66px}.page-hero{padding:58px 0 52px}
  h1{font-size:clamp(42px,12vw,58px)}h2{font-size:clamp(32px,10vw,48px)}
  .hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.grid-2,.grid-3{grid-template-columns:1fr}
  .footer-grid{display:grid}
  .portrait-note{left:22px;right:22px;bottom:22px}
  .sticky-cta{right:10px;bottom:10px}.sticky-cta a{padding:10px 14px}
}


/* V7 language dropdown */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.lang-switch{display:inline-flex;align-items:center;position:relative}
.lang-switch select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  border:1px solid rgba(185,135,45,.24);
  border-radius:999px;
  padding:9px 30px 9px 12px;
  min-width:104px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,242,229,.92));
  color:var(--olive-2);
  font:inherit;
  font-size:12px;
  font-weight:900;
  box-shadow:var(--soft-3);
  outline:none;
}
.lang-switch:after{
  content:"⌄";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-54%);
  color:var(--gold-deep);
  font-size:14px;
  pointer-events:none;
}
.lang-switch select:focus{
  border-color:rgba(185,135,45,.48);
  box-shadow:0 0 0 4px rgba(213,165,74,.16), var(--soft-3);
}
@media(max-width:720px){
  .lang-switch{padding:6px 10px}
  .lang-switch select{width:100%;min-width:100%;padding:10px 34px 10px 12px}
}


/* V10 WARM LUXE — weniger Leere, mehr Wärme, mehr Premium-Gefühl */
:root{
  --cream:#fff7e8;
  --cream-2:#f3e3c6;
  --paper:#fffdf7;
  --olive:#667b4c;
  --olive-2:#25371f;
  --olive-3:#405633;
  --sage:#94aa70;
  --honey:#d9a94a;
  --gold:#f1d489;
  --gold-soft:#f8e8b9;
  --gold-deep:#a87724;
  --terra:#b96b48;
  --terra-2:#8f4c35;
  --ink:#22301f;
  --muted:#626f5c;
  --line:rgba(157,114,39,.22);
  --line-soft:rgba(157,114,39,.12);
  --soft:0 22px 62px rgba(67,55,25,.14);
  --soft-2:0 14px 34px rgba(67,55,25,.11);
  --soft-3:0 8px 22px rgba(67,55,25,.08);
}

body{
  background:
    radial-gradient(circle at 8% 8%, rgba(214,169,76,.16), transparent 25%),
    radial-gradient(circle at 90% 10%, rgba(148,170,112,.13), transparent 24%),
    linear-gradient(180deg,#fff8eb 0%,#fbf1df 42%,#f6e6c9 100%);
}

.site-header{
  height:72px;
  background:linear-gradient(180deg,rgba(255,250,241,.97),rgba(251,242,226,.94));
  border-bottom:1px solid rgba(157,114,39,.18);
}

.main-nav{
  gap:16px;
}

.hero{
  min-height:clamp(620px,76vh,760px);
  padding:70px 0 76px;
  align-items:center;
  background:
    radial-gradient(circle at 16% 40%,rgba(148,170,112,.22),transparent 23%),
    radial-gradient(circle at 78% 20%,rgba(241,212,137,.52),transparent 31%),
    radial-gradient(circle at 84% 80%,rgba(185,107,72,.12),transparent 26%),
    linear-gradient(135deg,#fff7e8 0%,#f7e8cc 62%,#efd9ae 100%);
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background:
    linear-gradient(90deg,rgba(255,255,255,.32),transparent 38%,rgba(255,255,255,.18) 74%,transparent 100%),
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.22),transparent 20%);
}

.hero:after{
  right:-78px;
  bottom:-120px;
  width:300px;
  height:300px;
  background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(243,219,168,.23));
}

.hero-grid{
  max-width:980px;
  margin-inline:auto;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:54px;
}

.hero-copy{
  max-width:560px;
}

h1{
  font-size:clamp(46px,5.1vw,76px);
  letter-spacing:-.045em;
}

h2{
  font-size:clamp(34px,4vw,56px);
}

.lead{
  font-size:clamp(19px,1.75vw,25px);
}

.sublead{
  font-size:16px;
  line-height:1.65;
  max-width:520px;
}

.eyebrow{
  color:#a87724;
  letter-spacing:.19em;
}

.portrait-card{
  max-width:350px;
  margin-inline:auto;
  padding:13px;
  border-radius:32px;
  background:
    linear-gradient(180deg,rgba(255,253,247,.82),rgba(246,232,201,.86));
  border:1px solid rgba(169,121,35,.24);
  box-shadow:0 22px 54px rgba(82,61,24,.18);
}

.portrait-card img{
  border-radius:22px;
}

.portrait-note{
  left:25px;
  right:25px;
  bottom:25px;
  padding:15px 16px;
  background:linear-gradient(180deg,rgba(255,253,247,.92),rgba(255,246,225,.88));
  border:1px solid rgba(169,121,35,.22);
}

.portrait-note strong{
  font-size:21px;
}

.hero-actions{
  margin-top:24px;
}

.btn{
  padding:13px 20px;
}

.primary{
  background:linear-gradient(135deg,#f5dc98 0%,#d9a64a 52%,#ad7b25 100%);
  color:#22301f;
  box-shadow:0 14px 30px rgba(169,121,35,.29), inset 0 1px 0 rgba(255,255,255,.55);
}

.secondary{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,239,217,.92));
  border-color:rgba(169,121,35,.24);
}

.trust-row{
  margin-top:22px;
}

.trust-row span,
.chips span,
.page-meta span{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(249,238,216,.82));
  border-color:rgba(169,121,35,.18);
  box-shadow:0 7px 17px rgba(67,55,25,.07);
}

.section{
  padding:82px 0;
}

.section.white{
  background:
    radial-gradient(circle at 15% 20%,rgba(241,212,137,.10),transparent 25%),
    rgba(255,253,248,.62);
}

.section.alt{
  background:
    radial-gradient(circle at 84% 20%,rgba(214,169,76,.12),transparent 26%),
    linear-gradient(180deg,rgba(255,249,238,.96),rgba(248,237,216,.92));
}

.container.narrow.center{
  max-width:760px;
}

.card{
  background:linear-gradient(180deg,rgba(255,254,249,.92),rgba(251,243,226,.94));
  border-color:rgba(169,121,35,.18);
  box-shadow:0 13px 32px rgba(67,55,25,.10);
}

.card:before{
  height:3px;
  background:linear-gradient(90deg,rgba(245,220,152,.95),rgba(148,170,112,.64));
}

.program-card{
  min-height:245px;
}

.program-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(67,55,25,.14);
}

.featured{
  background:
    linear-gradient(145deg,#3d5733 0%,#667c4d 52%,#c99a3d 100%);
}

.video-block{
  max-width:900px;
  margin-inline:auto;
  grid-template-columns:1fr 300px;
}

.video-card{
  max-width:300px;
  border:1px solid rgba(169,121,35,.26);
}

.play{
  background:linear-gradient(180deg,#fff5d9,#e7c26f);
  box-shadow:0 16px 32px rgba(40,28,10,.26);
}

.page-hero{
  padding:70px 0 66px;
  background:
    radial-gradient(circle at 82% 24%,rgba(241,212,137,.34),transparent 27%),
    linear-gradient(135deg,#fff7e8 0%,#f5e3c2 68%,#ead0a2 100%);
}

.page-hero-grid{
  max-width:980px;
  margin-inline:auto;
}

.side-card{
  background:linear-gradient(180deg,#fffdf8,#f7ead1);
  border-color:rgba(169,121,35,.22);
}

.contact-strip{
  padding:78px 0;
  background:
    radial-gradient(circle at 18% 25%,rgba(245,220,152,.18),transparent 26%),
    linear-gradient(135deg,#283d23 0%,#5d7447 48%,#bd8c33 100%);
}

.footer{
  background:linear-gradient(180deg,#263720,#1d2a19);
}

/* Wide screen restraint: kein verlorenes Mini-Layout auf großen Monitoren */
@media(min-width:1400px){
  .hero-grid{
    max-width:980px;
  }
  .hero{
    min-height:690px;
  }
  .section{
    padding:78px 0;
  }
}

/* Tablet */
@media(max-width:980px){
  .hero{
    min-height:auto;
    padding:60px 0 70px;
  }
  .hero-grid,
  .video-block{
    max-width:720px;
    grid-template-columns:1fr;
    gap:36px;
  }
  .portrait-card,
  .video-card{
    max-width:360px;
  }
}

/* Mobile */
@media(max-width:720px){
  .hero{
    padding:48px 0 58px;
  }
  .section{
    padding:64px 0;
  }
  .portrait-card{
    max-width:330px;
  }
}


/* V11 FRUITY NATURE — mehr Frucht, Garten, Sonne und natürliche Freude */
:root{
  --fruit-lemon:#f4d46f;
  --fruit-apricot:#efa85f;
  --fruit-tomato:#c95d3d;
  --fruit-berry:#6873a9;
  --leaf-fresh:#7f9b55;
  --mint-soft:#dfeacb;
}

/* Gesamtstimmung: wärmer, heller, natürlicher */
body{
  background:
    radial-gradient(circle at 6% 7%, rgba(244,212,111,.19), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(127,155,85,.16), transparent 23%),
    radial-gradient(circle at 78% 92%, rgba(239,168,95,.13), transparent 28%),
    linear-gradient(180deg,#fff9ec 0%,#fbf0d8 38%,#f7e4be 100%);
}

/* Header etwas freundlicher */
.site-header{
  background:
    linear-gradient(180deg,rgba(255,252,243,.98),rgba(251,241,222,.95));
  box-shadow:0 9px 26px rgba(100,73,25,.07);
}

/* Hero: weniger klinisch, mehr Quinta/Gartengefühl */
.hero{
  background:
    url("fruity-nature-pattern.svg") right 9% bottom 13%/min(460px,34vw) auto no-repeat,
    radial-gradient(circle at 15% 34%,rgba(127,155,85,.25),transparent 23%),
    radial-gradient(circle at 74% 17%,rgba(244,212,111,.56),transparent 31%),
    radial-gradient(circle at 86% 76%,rgba(201,93,61,.10),transparent 24%),
    linear-gradient(135deg,#fff8e8 0%,#f7e6c6 58%,#efd39f 100%);
}

.hero:before{
  opacity:.68;
  background:
    linear-gradient(90deg,rgba(255,255,255,.36),transparent 37%,rgba(255,255,255,.18) 76%,transparent 100%),
    radial-gradient(circle at 46% 18%,rgba(255,255,255,.28),transparent 21%),
    radial-gradient(circle at 22% 82%,rgba(223,234,203,.20),transparent 25%);
}

.hero .eyebrow{
  color:#a46c22;
}

/* Kleine fröhliche Naturreihe im Hero, aber nur als leichte Würze */
.nature-note{
  margin-top:18px;
  display:flex;
  gap:10px;
  align-items:center;
  opacity:.92;
}
.nature-note span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(248,234,199,.8));
  border:1px solid rgba(169,121,35,.16);
  box-shadow:0 8px 18px rgba(67,55,25,.08);
  font-size:17px;
}

/* Portrait wirkt sonniger */
.portrait-card{
  background:
    linear-gradient(180deg,rgba(255,253,246,.88),rgba(249,231,190,.88));
  box-shadow:
    0 24px 58px rgba(111,76,25,.20),
    0 0 0 1px rgba(244,212,111,.16) inset;
}
.portrait-card:after{
  content:"";
  position:absolute;
  inset:13px;
  border-radius:24px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,241,185,.16),transparent 48%,rgba(127,155,85,.08));
}
.portrait-note{
  background:linear-gradient(180deg,rgba(255,253,246,.94),rgba(255,244,218,.9));
}

/* Buttons: mehr reife Frucht + Honig */
.primary{
  background:linear-gradient(135deg,#f8dd91 0%,#d9a74a 47%,#b77528 100%);
  color:#22301f;
}
.primary:hover{
  background:linear-gradient(135deg,#ffe7a4 0%,#e1ae50 48%,#b96b2a 100%);
}

/* Kleine Marker lebendiger */
.trust-row span:nth-child(1){border-color:rgba(127,155,85,.24)}
.trust-row span:nth-child(2){border-color:rgba(244,212,111,.28)}
.trust-row span:nth-child(3){border-color:rgba(201,93,61,.18)}

.chips span:nth-child(1),
.chips span:nth-child(4){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(223,234,203,.76));
}
.chips span:nth-child(2),
.chips span:nth-child(3){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(250,232,184,.76));
}
.chips span:nth-child(5),
.chips span:nth-child(6){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,219,195,.72));
}

/* Sektionen mit etwas organischem Licht */
.section.white{
  background:
    url("fruity-nature-pattern.svg") left -120px bottom -80px/340px auto no-repeat,
    radial-gradient(circle at 82% 18%,rgba(244,212,111,.12),transparent 24%),
    rgba(255,253,248,.68);
}

.section.alt{
  background:
    url("fruity-nature-pattern.svg") right -110px top -60px/360px auto no-repeat,
    radial-gradient(circle at 18% 16%,rgba(127,155,85,.10),transparent 22%),
    radial-gradient(circle at 84% 28%,rgba(244,212,111,.16),transparent 26%),
    linear-gradient(180deg,rgba(255,249,238,.96),rgba(249,235,206,.94));
}

/* Karten: etwas freundlicher, weniger kühl */
.card{
  background:
    linear-gradient(180deg,rgba(255,254,248,.96),rgba(251,240,216,.95));
}
.card:before{
  background:linear-gradient(90deg,var(--fruit-lemon),var(--leaf-fresh),rgba(201,93,61,.45));
}

.program-card .type{
  color:#a46c22;
}

.featured{
  background:
    radial-gradient(circle at 88% 18%,rgba(244,212,111,.22),transparent 25%),
    linear-gradient(145deg,#3e5b34 0%,#779057 50%,#cb9836 100%);
}

/* Kontaktbereich mehr Sonnenuntergang, weniger corporate */
.contact-strip{
  background:
    radial-gradient(circle at 18% 24%,rgba(248,221,145,.20),transparent 27%),
    radial-gradient(circle at 82% 72%,rgba(201,93,61,.16),transparent 25%),
    linear-gradient(135deg,#2a4224 0%,#68854d 48%,#c99233 100%);
}

/* Unterseiten auch frischer */
.page-hero{
  background:
    url("fruity-nature-pattern.svg") right 6% bottom 12%/min(380px,30vw) auto no-repeat,
    radial-gradient(circle at 82% 22%,rgba(244,212,111,.40),transparent 28%),
    radial-gradient(circle at 16% 75%,rgba(127,155,85,.13),transparent 25%),
    linear-gradient(135deg,#fff8e9 0%,#f6e2be 66%,#ebcc93 100%);
}

/* kleine lebendige Schatten */
.side-card,
.video-card{
  box-shadow:0 18px 46px rgba(98,69,22,.13);
}

/* Auf riesigen Bildschirmen weiterhin kontrolliert */
@media(min-width:1400px){
  .hero{
    background-size:min(430px,28vw) auto, auto, auto, auto, auto;
  }
}

/* Mobile: Pattern zurücknehmen */
@media(max-width:720px){
  .hero,
  .page-hero,
  .section.white,
  .section.alt{
    background-image:
      radial-gradient(circle at 16% 34%,rgba(127,155,85,.22),transparent 24%),
      radial-gradient(circle at 78% 18%,rgba(244,212,111,.35),transparent 30%),
      linear-gradient(135deg,#fff8e8 0%,#f7e6c6 62%,#efd39f 100%);
  }
  .nature-note{
    justify-content:center;
  }
}


/* V12 Retreat page */
.retreat-page{
  background:
    radial-gradient(circle at 7% 8%, rgba(244,212,111,.18), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(127,155,85,.16), transparent 22%),
    linear-gradient(180deg,#fff9ee 0%,#f8e8c9 42%,#f5dfb4 100%);
}
.retreat-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:86px 0;
  isolation:isolate;
}
.retreat-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(39,55,31,.70) 0%,rgba(39,55,31,.46) 36%,rgba(255,247,231,.70) 67%,rgba(255,247,231,.84) 100%),
    url("retreat-pool-sunset.jpg") center/cover no-repeat;
  z-index:-2;
}
.retreat-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 80% 18%,rgba(244,212,111,.26),transparent 28%),
    radial-gradient(circle at 12% 74%,rgba(127,155,85,.16),transparent 26%);
}
.retreat-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:54px;
  align-items:center;
}
.retreat-hero-copy{
  max-width:680px;
}
.retreat-hero h1,
.retreat-hero .lead,
.retreat-hero .sublead{
  color:#fffdf7;
  text-shadow:0 3px 22px rgba(0,0,0,.22);
}
.retreat-hero .eyebrow{
  color:#ffe2a0;
}
.retreat-hero .trust-row span{
  background:rgba(255,253,248,.82);
}
.retreat-booking-card{
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,254,248,.94),rgba(250,234,199,.94));
  border:1px solid rgba(244,212,111,.34);
  box-shadow:0 24px 62px rgba(32,31,16,.28);
  padding:28px;
}
.retreat-booking-card hr{
  border:0;
  border-top:1px solid rgba(169,121,35,.18);
  margin:20px 0;
}
.price-lines{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 14px;
  align-items:baseline;
}
.price-lines strong{
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
  color:var(--olive-2);
}
.price-lines span{
  color:var(--muted);
  font-size:14px;
}
.retreat-booking-card .btn{
  width:100%;
  margin-top:20px;
}
.retreat-photo-strip{
  display:grid;
  grid-template-columns:1.3fr .9fr .9fr;
  gap:16px;
}
.retreat-photo-strip img{
  width:100%;
  height:280px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--soft-2);
  border:1px solid rgba(169,121,35,.18);
}
.retreat-photo-strip img:first-child{
  height:360px;
  grid-row:span 2;
}
.retreat-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.retreat-mini-grid .card h3{
  font-size:28px;
}
.retreat-includes{
  margin-top:36px;
}
.retreat-gallery{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:46px;
  align-items:center;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.gallery-grid img{
  height:230px;
  width:100%;
  object-fit:cover;
  border-radius:24px;
  border:1px solid rgba(169,121,35,.18);
  box-shadow:var(--soft-3);
}
.gallery-grid img:nth-child(2),
.gallery-grid img:nth-child(3){
  height:280px;
}
.retreat-featured{
  background:
    radial-gradient(circle at 88% 18%,rgba(244,212,111,.22),transparent 25%),
    linear-gradient(145deg,#3e5b34 0%,#779057 50%,#cb9836 100%);
  color:#fff;
}
.retreat-featured h3,
.retreat-featured p,
.retreat-featured .type,
.retreat-featured .price{
  color:#fff;
}
.retreat-featured .secondary{
  background:rgba(255,255,255,.14);
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
@media(max-width:980px){
  .retreat-hero{min-height:auto;padding:70px 0}
  .retreat-hero-grid,
  .retreat-gallery{
    grid-template-columns:1fr;
    gap:34px;
  }
  .retreat-booking-card{max-width:430px}
  .retreat-photo-strip{
    grid-template-columns:1fr 1fr;
  }
  .retreat-photo-strip img,
  .retreat-photo-strip img:first-child{
    height:250px;
    grid-row:auto;
  }
  .retreat-mini-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .retreat-hero-bg{
    background:
      linear-gradient(180deg,rgba(39,55,31,.76),rgba(39,55,31,.42),rgba(255,247,231,.78)),
      url("retreat-pool-sunset.jpg") center/cover no-repeat;
  }
  .retreat-photo-strip,
  .gallery-grid{
    grid-template-columns:1fr;
  }
  .retreat-photo-strip img,
  .retreat-photo-strip img:first-child,
  .gallery-grid img,
  .gallery-grid img:nth-child(2),
  .gallery-grid img:nth-child(3){
    height:230px;
  }
}


/* V13 Retreat direct contact buttons */
.retreat-booking-card a[data-retreat-contact="form"]{
  width:100%;
  margin-top:10px;
}
a[data-retreat-contact="whatsapp"].primary,
.sticky-cta a[data-retreat-contact="whatsapp"]{
  background:linear-gradient(135deg,#f8dd91 0%,#d9a74a 46%,#cf7f2b 100%);
}


/* V14 Index Retreat Teaser */
.retreat-index-teaser{
  padding:86px 0;
  background:
    radial-gradient(circle at 12% 18%,rgba(127,155,85,.16),transparent 24%),
    radial-gradient(circle at 88% 22%,rgba(244,212,111,.18),transparent 28%),
    linear-gradient(180deg,rgba(255,252,244,.88),rgba(247,232,199,.92));
}
.retreat-index-card{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:42px;
  align-items:center;
  padding:18px;
  border-radius:38px;
  background:
    linear-gradient(180deg,rgba(255,254,248,.86),rgba(250,236,205,.86));
  border:1px solid rgba(169,121,35,.22);
  box-shadow:0 24px 68px rgba(67,55,25,.14);
  overflow:hidden;
  position:relative;
}
.retreat-index-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 15%,rgba(244,212,111,.18),transparent 24%),
    radial-gradient(circle at 86% 82%,rgba(127,155,85,.12),transparent 26%);
}
.retreat-index-media{
  position:relative;
  z-index:1;
  border-radius:30px;
  overflow:hidden;
  min-height:420px;
  box-shadow:0 20px 46px rgba(67,55,25,.18);
}
.retreat-index-media img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  transform:scale(1.01);
}
.retreat-index-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(37,55,31,.04),rgba(37,55,31,.32)),
    radial-gradient(circle at 72% 20%,rgba(255,233,174,.20),transparent 30%);
}
.retreat-date-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  padding:12px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,253,246,.94),rgba(255,239,203,.9));
  border:1px solid rgba(244,212,111,.32);
  box-shadow:0 10px 24px rgba(32,31,16,.18);
  font-size:13px;
  font-weight:950;
  color:var(--olive-2);
}
.retreat-index-copy{
  position:relative;
  z-index:1;
  padding:24px 22px 24px 0;
}
.retreat-index-copy h2{
  max-width:690px;
}
.retreat-index-copy p{
  margin-top:18px;
  max-width:640px;
  font-size:16px;
}
.retreat-index-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.retreat-index-points span{
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,238,216,.78));
  border:1px solid rgba(169,121,35,.18);
  box-shadow:0 7px 17px rgba(67,55,25,.07);
  font-size:12px;
  font-weight:900;
  color:var(--olive-2);
}
.retreat-index-points span:nth-child(2),
.retreat-index-points span:nth-child(4){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(223,234,203,.76));
}
@media(max-width:980px){
  .retreat-index-card{
    grid-template-columns:1fr;
    padding:14px;
  }
  .retreat-index-copy{
    padding:18px;
  }
  .retreat-index-media,
  .retreat-index-media img{
    min-height:320px;
  }
}
@media(max-width:720px){
  .retreat-index-teaser{
    padding:62px 0;
  }
  .retreat-index-card{
    border-radius:28px;
  }
  .retreat-index-media{
    border-radius:22px;
  }
  .retreat-index-media,
  .retreat-index-media img{
    min-height:250px;
  }
}


/* V15 — Retreat Teaser sichtbar direkt auf der Index */
.retreat-index-top{
  margin-top:0;
  padding:76px 0 84px;
  background:
    radial-gradient(circle at 12% 18%,rgba(127,155,85,.18),transparent 24%),
    radial-gradient(circle at 88% 22%,rgba(244,212,111,.22),transparent 28%),
    linear-gradient(180deg,rgba(255,253,247,.96),rgba(247,232,199,.96));
  border-top:1px solid rgba(169,121,35,.16);
  border-bottom:1px solid rgba(169,121,35,.13);
}
.retreat-index-card{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:42px;
  align-items:center;
  padding:18px;
  border-radius:38px;
  background:
    linear-gradient(180deg,rgba(255,254,248,.90),rgba(250,236,205,.90));
  border:1px solid rgba(169,121,35,.22);
  box-shadow:0 24px 68px rgba(67,55,25,.14);
  overflow:hidden;
  position:relative;
}
.retreat-index-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 15%,rgba(244,212,111,.18),transparent 24%),
    radial-gradient(circle at 86% 82%,rgba(127,155,85,.12),transparent 26%);
}
.retreat-index-media{
  position:relative;
  z-index:1;
  border-radius:30px;
  overflow:hidden;
  min-height:390px;
  box-shadow:0 20px 46px rgba(67,55,25,.18);
}
.retreat-index-media img{
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
  transform:scale(1.01);
}
.retreat-index-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(37,55,31,.04),rgba(37,55,31,.30)),
    radial-gradient(circle at 72% 20%,rgba(255,233,174,.20),transparent 30%);
}
.retreat-date-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  padding:12px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,253,246,.94),rgba(255,239,203,.9));
  border:1px solid rgba(244,212,111,.32);
  box-shadow:0 10px 24px rgba(32,31,16,.18);
  font-size:13px;
  font-weight:950;
  color:var(--olive-2);
}
.retreat-index-copy{
  position:relative;
  z-index:1;
  padding:24px 22px 24px 0;
}
.retreat-index-copy h2{
  max-width:700px;
}
.retreat-index-copy p{
  margin-top:18px;
  max-width:650px;
  font-size:16px;
}
.retreat-index-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.retreat-index-points span{
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,238,216,.78));
  border:1px solid rgba(169,121,35,.18);
  box-shadow:0 7px 17px rgba(67,55,25,.07);
  font-size:12px;
  font-weight:900;
  color:var(--olive-2);
}
.retreat-index-points span:nth-child(2),
.retreat-index-points span:nth-child(4){
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(223,234,203,.76));
}
@media(max-width:980px){
  .retreat-index-card{
    grid-template-columns:1fr;
    padding:14px;
  }
  .retreat-index-copy{
    padding:18px;
  }
  .retreat-index-media,
  .retreat-index-media img{
    min-height:320px;
  }
}
@media(max-width:720px){
  .retreat-index-top{
    padding:58px 0 66px;
  }
  .retreat-index-card{
    border-radius:28px;
  }
  .retreat-index-media{
    border-radius:22px;
  }
  .retreat-index-media,
  .retreat-index-media img{
    min-height:245px;
  }
}


/* V16 Own Contact Form */
.contact-hero{
  background:
    radial-gradient(circle at 82% 20%,rgba(244,212,111,.34),transparent 27%),
    radial-gradient(circle at 12% 80%,rgba(127,155,85,.13),transparent 24%),
    linear-gradient(135deg,#fff8e9 0%,#f5e1bc 64%,#efd09a 100%);
}
.contact-address-card hr{
  border:0;
  border-top:1px solid rgba(169,121,35,.18);
  margin:20px 0;
}
.contact-form-layout{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:48px;
  align-items:start;
}
.contact-form-copy{
  position:sticky;
  top:110px;
}
.contact-form-card{
  padding:28px;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,254,248,.94),rgba(250,237,210,.94));
  border:1px solid rgba(169,121,35,.20);
  box-shadow:0 18px 48px rgba(67,55,25,.12);
}
.contact-form-card label{
  display:grid;
  gap:8px;
  margin-bottom:16px;
  font-size:13px;
  font-weight:900;
  color:var(--olive-2);
}
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
  width:100%;
  border:1px solid rgba(169,121,35,.22);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  padding:13px 14px;
  font:inherit;
  font-size:15px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.contact-form-card textarea{
  resize:vertical;
  min-height:150px;
}
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus{
  border-color:rgba(169,121,35,.52);
  box-shadow:0 0 0 4px rgba(213,165,74,.16);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.contact-form-card .btn{
  width:100%;
  margin-top:4px;
}
.contact-form-fallback{
  margin-top:10px;
}
.contact-form-card .small-text{
  margin-top:14px;
}
@media(max-width:980px){
  .contact-form-layout{
    grid-template-columns:1fr;
  }
  .contact-form-copy{
    position:relative;
    top:auto;
  }
}
@media(max-width:720px){
  .form-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-form-card{
    padding:20px;
    border-radius:26px;
  }
}


/* V17 Contact routing: all contact/form buttons point to the local form */
a[data-contact-route="new-form"]{
  scroll-margin-top:100px;
}


/* V18 Email Contact Form */
.hp-field{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
}
.form-status{
  margin-top:16px;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid rgba(169,121,35,.18);
  background:rgba(255,255,255,.66);
  color:var(--muted);
  font-weight:800;
  display:none;
}
.form-status.success{
  display:block;
  background:linear-gradient(180deg,rgba(223,234,203,.82),rgba(255,255,255,.72));
  border-color:rgba(127,155,85,.30);
  color:var(--olive-2);
}
.form-status.error{
  display:block;
  background:linear-gradient(180deg,rgba(255,231,221,.86),rgba(255,255,255,.72));
  border-color:rgba(201,93,61,.32);
  color:#803d2b;
}
.form-status.loading{
  display:block;
}
.contact-form-card button[disabled]{
  opacity:.7;
  cursor:wait;
  transform:none;
}
