:root{
  --color-bg:#FAF6EF;
  --color-bg-alt:#F1EAD9;
  --color-surface:#FFFFFF;
  --color-ink:#2B2621;
  --color-ink-soft:#655C50;
  --color-primary:#1E3B36;
  --color-primary-dark:#122622;
  --color-primary-soft:#2F5850;
  --color-accent:#C68A3D;
  --color-accent-soft:#E4BD82;
  --color-line:#E6DCC8;
  --color-dark-surface:#152420;

  --shadow-1:0 1px 2px rgba(20,15,8,.06),0 1px 3px rgba(20,15,8,.08);
  --shadow-2:0 2px 4px rgba(20,15,8,.06),0 8px 16px rgba(20,15,8,.09);
  --shadow-3:0 6px 14px rgba(20,15,8,.09),0 18px 36px rgba(20,15,8,.13);
  --shadow-4:0 14px 28px rgba(20,15,8,.13),0 34px 68px rgba(20,15,8,.18);

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-xl:32px;
  --radius-pill:999px;

  --gradient-hero:linear-gradient(135deg,#122622 0%,#1E3B36 38%,#5C6C3E 70%,#C68A3D 100%);
  --font-display:'DM Serif Display',serif;
  --font-body:'DM Sans',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-bg);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border-radius:var(--radius-md)}
a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}
ul{list-style:none;margin:0;padding:0}
button{font-family:var(--font-body);cursor:pointer}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--color-primary-dark);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,5vw + 1rem,4.2rem)}
h2{font-size:clamp(1.9rem,2.6vw + 1rem,2.8rem)}
h3{font-size:clamp(1.25rem,1.2vw + 1rem,1.55rem)}
p{margin:0 0 1em}
.on-dark{color:#F7F1E6}
.on-dark.card, .card.on-dark{color:var(--color-ink)}

.container{max-width:1180px;margin:0 auto;padding:0 24px}
.section{padding:clamp(60px,8vw,110px) 0}
.section--dark{background:var(--color-dark-surface);color:#F0E9DB}
.section--dark h2,.section--dark h3{color:#F7F1E6}
.section--tint{background:var(--color-bg-alt)}
.section--bridge{padding:50px 0 10px}
.bridge-text{max-width:760px;margin:0 auto;text-align:center;font-size:1.2rem;color:var(--color-ink-soft)}
.section__head{max-width:680px;margin:0 auto 48px;text-align:center}
.section__intro{max-width:640px;margin:12px auto 0;color:#D8CFBE}

.section:has(.highlighted){background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-alt) 100%)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);font-weight:700;margin-bottom:14px}
.eyebrow--on-dark{color:var(--color-accent-soft)}


.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--radius-pill);font-weight:700;font-size:.95rem;border:2px solid transparent;transition:all .3s ease;min-height:44px}
.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-2)}
.btn--primary:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-3);transform:translateY(-2px)}
.btn--accent{background:var(--color-accent);color:#20160a;box-shadow:var(--shadow-2)}
.btn--accent:hover{background:var(--color-accent-soft);box-shadow:var(--shadow-3);transform:translateY(-2px)}
.btn--outline{border-color:var(--color-primary);color:var(--color-primary);background:transparent}
.btn--outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}
.btn--outline.btn--on-dark{border-color:#F0E9DB;color:#F0E9DB}
.btn--outline.btn--on-dark:hover{background:#F0E9DB;color:var(--color-primary-dark)}
.btn--ghost{background:transparent;color:var(--color-ink-soft);border-color:transparent}
.btn--ghost:hover{color:var(--color-ink)}
.btn--sm{padding:9px 18px;font-size:.82rem;min-height:38px}


.site-header{position:sticky;top:0;z-index:900;padding:14px 18px 0}
.nav{max-width:1180px;margin:0 auto;background:transparent;border-radius:var(--radius-lg);transition:background .4s ease,box-shadow .4s ease,margin .4s ease,padding .4s ease}
.nav__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-radius:var(--radius-lg)}
.nav.is-scrolled{background:rgba(255,252,246,.85);backdrop-filter:blur(10px);box-shadow:var(--shadow-3);margin:0 4px}
.nav[data-theme="dark"]:not(.is-scrolled) .nav__link{color:#F5EFE2}
.nav[data-theme="dark"]:not(.is-scrolled) .nav__logo span{color:#F5EFE2}
.nav[data-theme="dark"]:not(.is-scrolled) .nav__toggle span{background:#F5EFE2}
.nav[data-theme="light"] .nav__link,.nav.is-scrolled .nav__link{color:var(--color-ink)}
.nav[data-theme="light"] .nav__logo span,.nav.is-scrolled .nav__logo span{color:var(--color-primary-dark)}
.nav[data-theme="light"] .nav__toggle span,.nav.is-scrolled .nav__toggle span{background:var(--color-ink)}
.nav:has(.nav__panel.is-open){background:rgba(255,252,246,.97);box-shadow:var(--shadow-4)}

.nav__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.2rem}
.nav__logo--footer{color:#F5EFE2 !important}
.nav__logo--footer span{color:#F5EFE2 !important}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__link{font-weight:500;font-size:.95rem;position:relative;padding:6px 2px}
.nav__link::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--color-accent);transition:width .3s ease}
.nav__link:hover::after,.nav__link.is-active::after{width:100%}
.nav__link--cta{background:var(--color-accent);color:#20160a !important;padding:9px 20px;border-radius:var(--radius-pill)}
.nav__link--cta::after{display:none}
.nav__link--cta:hover{background:var(--color-accent-soft)}

.nav__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:none;border-radius:var(--radius-sm)}
.nav__toggle span{display:block;width:22px;height:2px;background:var(--color-ink);margin:0 auto;transition:transform .3s ease,opacity .3s ease}
.nav__panel{max-height:0;overflow:hidden;transition:max-height .4s ease;display:flex;flex-direction:column}
.nav__panel-link{padding:14px 22px;border-top:1px solid var(--color-line);font-weight:500;color:var(--color-ink)}
.nav__panel-link:hover{background:var(--color-bg-alt)}


.hero{position:relative;padding:150px 0 140px;background:var(--gradient-hero);overflow:hidden}
.hero__bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(198,138,61,.25), transparent 55%), radial-gradient(circle at 80% 70%, rgba(198,138,61,.18), transparent 55%)}
.hero__inner{position:relative;max-width:760px;text-align:center;margin:0 auto}
.hero__title{color:#FBF6EA;margin-bottom:.4em}
.hero__lead{color:#E4DCC9;font-size:1.15rem;max-width:620px;margin:0 auto 34px}
.hero__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:60px}
.hero__badges{position:relative;height:110px}
.badge{position:absolute;display:inline-flex;align-items:center;gap:8px;background:rgba(255,252,246,.95);color:var(--color-primary-dark);font-size:.82rem;font-weight:700;padding:10px 18px;border-radius:var(--radius-pill);box-shadow:var(--shadow-3);transition:transform .3s ease,box-shadow .3s ease}
.badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-4)}
.badge i{color:var(--color-accent)}
.badge--pos1{left:2%;top:0}
.badge--pos2{left:26%;top:60px}
.badge--pos3{right:24%;top:0}
.badge--pos4{right:0;top:55px}


.page-hero{background:var(--gradient-hero);padding:150px 0 90px;position:relative}
.page-hero--sm{padding:130px 0 70px}
.page-hero__lead{max-width:650px;font-size:1.1rem;color:#E4DCC9}


.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.card-grid--2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:34px 28px;box-shadow:var(--shadow-2);transition:transform .35s ease,box-shadow .35s ease;border:1px solid var(--color-line)}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-4)}
.card:has(img){padding:0;overflow:hidden}
.card:has(img) img{border-radius:0;margin-bottom:0}
.card:has(img) .card__body{padding:26px}
.card__icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--color-bg-alt);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--color-primary);margin-bottom:18px}
.card p{color:var(--color-ink-soft);margin-bottom:0}
.card h3{margin-bottom:.4em}


.tabs__nav{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.tab{background:var(--color-surface);border:1px solid var(--color-line);padding:12px 22px;border-radius:var(--radius-pill);font-weight:700;color:var(--color-ink-soft);box-shadow:var(--shadow-1);transition:all .3s ease}
.tab:hover{color:var(--color-primary);box-shadow:var(--shadow-2)}
.tab.is-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-3);border-color:var(--color-primary)}
.tabs__panels{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:44px;box-shadow:var(--shadow-3);max-width:820px;margin:0 auto;border:1px solid var(--color-line)}
.tab-panel{display:none;animation:fadeIn .4s ease}
.tab-panel.is-active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}


.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.resource-card{background:rgba(255,252,246,.06);border:1px solid rgba(240,233,219,.18);border-radius:var(--radius-lg);padding:30px 24px;transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.resource-card:hover{transform:translateY(-6px);background:rgba(255,252,246,.1);box-shadow:var(--shadow-3)}
.resource-card i{font-size:1.6rem;color:var(--color-accent-soft);margin-bottom:16px;display:block}
.resource-card h3{color:#F7F1E6;font-size:1.15rem}
.resource-card p{color:#D8CFBE;font-size:.95rem}
.resource-card a{color:var(--color-accent-soft);font-weight:700;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;margin-top:10px}
.resource-card a:hover{color:#fff;gap:10px}


.about-teaser{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center}
.about-teaser__media img{box-shadow:var(--shadow-4);border-radius:var(--radius-lg)}
.about-split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center}
.about-split--reverse{grid-template-columns:1.1fr 0.9fr}
.about-split--reverse .about-split__media{order:2}
.about-split__media img{box-shadow:var(--shadow-4);border-radius:var(--radius-lg)}


.location{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:center}
.location__list li{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--color-ink-soft)}
.location__list i{color:var(--color-accent);width:20px;text-align:center}
.location__map,.map-full{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-3)}
.location__map iframe,.map-full iframe{display:block}


.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.steps__item{background:var(--color-surface);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-2);border:1px solid var(--color-line);transition:transform .3s ease,box-shadow .3s ease}
.steps__item:hover{transform:translateY(-6px);box-shadow:var(--shadow-3)}
.steps__num{font-family:var(--font-display);font-size:2rem;color:var(--color-accent)}


.cta-block{text-align:center;max-width:640px}
.cta-block p{color:#D8CFBE;margin-bottom:26px}


.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start}
.contact-card{padding:36px}
.contact-card__hint{color:var(--color-ink-soft);margin-bottom:24px}
.contact-form__row{margin-bottom:18px}
.contact-form__row--inline{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}
.form-field label{display:block;font-weight:700;font-size:.85rem;margin-bottom:6px;color:var(--color-ink-soft)}
.form-field input,.form-field textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-body);font-size:.95rem;transition:border-color .3s ease,box-shadow .3s ease;resize:vertical}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(198,138,61,.18)}
.contact-form:has(:focus-within){box-shadow:var(--shadow-2)}
.contact-form__row--secondary{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--color-ink-soft);max-width:440px}
.form-check input{width:20px;height:20px;flex-shrink:0;margin-top:2px}
.form-check a{color:var(--color-primary);font-weight:700}

.contact-side{display:flex;flex-direction:column;gap:24px}
.contact-info-card,.newsletter-card{padding:28px}
.newsletter-card h3{display:flex;align-items:center;gap:8px;font-size:1.1rem}
.newsletter-card i{color:var(--color-accent)}
.newsletter-form{display:flex;gap:10px;margin-top:16px}
.newsletter-form input{flex:1;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-line);font-family:var(--font-body)}
.newsletter-form input:focus{outline:none;border-color:var(--color-accent)}


.toc-layout{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:110px;background:var(--color-surface);border-radius:var(--radius-lg);padding:26px 22px;box-shadow:var(--shadow-2);border:1px solid var(--color-line)}
.toc__label{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);font-weight:700;margin-bottom:14px}
.toc nav{display:flex;flex-direction:column;gap:4px}
.toc__link{padding:9px 12px;border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-ink-soft);font-weight:500;border-left:2px solid transparent;transition:all .25s ease}
.toc__link:hover{background:var(--color-bg-alt);color:var(--color-ink)}
.toc__link.is-active{color:var(--color-primary);border-left-color:var(--color-accent);background:var(--color-bg-alt);font-weight:700}
.toc-content{max-width:760px}
.toc-section{margin-bottom:52px;scroll-margin-top:120px}
.toc-content__image{margin:24px 0;box-shadow:var(--shadow-3)}
.faq-item{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-line)}
.faq-item:last-child{border-bottom:none}


.thanks-hero{background:var(--gradient-hero);padding:150px 0 110px;text-align:center}
.thanks-hero__inner{max-width:600px;margin:0 auto}
.thanks-hero__icon{font-size:2.4rem;color:var(--color-accent-soft);margin-bottom:20px}
.thanks-next{max-width:640px;margin:0 auto;text-align:center}
.thanks-next__actions{display:flex;gap:16px;justify-content:center;margin-top:26px;flex-wrap:wrap}


.legal-narrow{max-width:800px}
.legal-page h2{margin-top:2em;font-size:1.5rem}
.legal-page p{color:var(--color-ink-soft)}
.legal-table{width:100%;border-collapse:collapse;margin:18px 0 28px;box-shadow:var(--shadow-1);border-radius:var(--radius-sm);overflow:hidden}
.legal-table td{padding:12px 16px;border-bottom:1px solid var(--color-line);font-size:.92rem}
.legal-table tr:nth-child(odd){background:var(--color-bg-alt)}
.legal-table td:first-child{font-weight:700;width:40%;color:var(--color-primary-dark)}


.footer{background:var(--color-dark-surface);color:#D8CFBE;padding:70px 0 0}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:50px}
.footer__col h4{color:#F7F1E6;font-family:var(--font-body);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}
.footer__col a{display:block;margin-bottom:10px;color:#D8CFBE;font-size:.92rem;transition:color .25s ease,transform .25s ease}
.footer__col a:hover{color:var(--color-accent-soft);transform:translateX(3px)}
.footer__col p{font-size:.92rem;color:#C6BCA9}
.footer__bottom{border-top:1px solid rgba(240,233,219,.12);padding:20px 0;text-align:center;font-size:.85rem;color:#9C9282}

.back-to-top{position:fixed;right:24px;bottom:24px;width:50px;height:50px;border-radius:50%;background:var(--color-accent);color:#20160a;border:none;box-shadow:var(--shadow-3);display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .35s ease;z-index:500}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-4)}


.cookie-banner{position:fixed;top:0;left:0;right:0;z-index:1200;background:var(--color-surface);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-3);transform:translateY(-100%);transition:transform .45s ease;padding:14px 0}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner__inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cookie-banner__text{margin:0;font-size:.88rem;color:var(--color-ink-soft);max-width:640px}
.cookie-banner__text i{color:var(--color-accent);margin-right:6px}
.cookie-banner__text a{color:var(--color-primary);font-weight:700}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap}

.cookie-modal{position:fixed;inset:0;background:rgba(20,15,8,.55);display:flex;align-items:center;justify-content:center;z-index:1300;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;padding:20px}
.cookie-modal.is-visible{opacity:1;visibility:visible}
.cookie-modal__panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:36px;max-width:520px;width:100%;box-shadow:var(--shadow-4);max-height:85vh;overflow-y:auto}
.cookie-modal__cat{padding:14px 0;border-top:1px solid var(--color-line)}
.cookie-modal__cat label{display:flex;align-items:center;gap:10px;font-weight:700}
.cookie-modal__cat input{width:20px;height:20px}
.cookie-modal__cat p{margin:6px 0 0;font-size:.85rem;color:var(--color-ink-soft)}
.cookie-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

#pace .pace-progress{background:var(--color-accent);height:3px}
#pace .pace-activity{display:none}


@media (max-width:1024px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .resource-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .toc-layout{grid-template-columns:1fr}
  .toc{position:relative;top:0;margin-bottom:30px}
  .about-teaser,.about-split,.about-split--reverse,.location{grid-template-columns:1fr}
  .about-split--reverse .about-split__media{order:0}
  .contact-layout{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav__links{display:none}
  .nav__toggle{display:flex}
  .card-grid,.card-grid--2,.resource-grid,.steps{grid-template-columns:1fr}
  .hero{padding:130px 0 220px}
  .hero__badges{height:auto;display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:20px}
  .badge{position:relative;left:auto !important;right:auto !important;top:auto !important}
  .contact-form__row--inline{grid-template-columns:1fr}
  .contact-form__row--secondary{flex-direction:column;align-items:flex-start}
  .footer__grid{grid-template-columns:1fr;gap:28px}
  .tabs__panels{padding:28px 22px}
  .cookie-banner__inner{flex-direction:column;align-items:flex-start}
}
</style-end>