/* Warm ivory theme: loaded last so every page shares the same visual language. */
:root{
  --color-background:#f8f3e9;
  --color-surface:#fffdf8;
  --color-surface-soft:#f3eadb;
  --color-surface-elevated:#ebe0cf;
  --color-text:#2e2923;
  --color-text-muted:#665c50;
  --color-text-soft:#8a7d6d;
  --color-primary:#2f6b57;
  --color-primary-soft:#47816b;
  --color-primary-subtle:#d9e9df;
  --color-accent:#a36e35;
  --color-accent-soft:#c28d4d;
  --color-burgundy:#8b3e47;
  --color-burgundy-soft:#f1dce0;
  --color-border-subtle:#e3d6c3;
  --color-border-strong:#cfb99d;
  --color-neutral-50:#fffdf8;
  --color-neutral-100:#f4ecdf;
  --color-neutral-200:#e5d8c5;
  --color-neutral-300:#d2c0a8;
  --color-neutral-400:#a99781;
  --color-neutral-500:#847361;
  --color-neutral-600:#635548;
  --color-neutral-700:#493d33;
  --color-neutral-800:#352d27;
  --color-neutral-900:#271f1a;
  --shadow-xs:0 4px 14px rgba(76,55,30,.08);
  --shadow-sm:0 10px 28px rgba(76,55,30,.11);
  --shadow-md:0 18px 44px rgba(76,55,30,.13);
  --shadow-soft:0 28px 70px rgba(76,55,30,.14);
  --shadow-glow:0 0 0 1px rgba(163,110,53,.16),0 0 0 5px rgba(163,110,53,.12);
  --focus-ring-color:rgba(163,110,53,.55);
}

html{background-color:var(--color-background)}
body{background:radial-gradient(circle at 8% 0,rgba(229,207,169,.36),transparent 30%),radial-gradient(circle at 94% 12%,rgba(213,230,216,.55),transparent 33%),linear-gradient(150deg,#fffdf8 0%,#f8f2e7 50%,#f4ecdd 100%);color:var(--color-text)}
a:hover{color:var(--color-primary)}
::selection{background:rgba(163,110,53,.2);color:var(--color-text)}

.btn{background:linear-gradient(135deg,#3a765f,#285a49);color:#fffdf8;box-shadow:0 10px 22px rgba(47,107,87,.22)}
.btn:hover{background:linear-gradient(135deg,#4a856e,#2f6b57);box-shadow:0 14px 28px rgba(47,107,87,.27)}
.btn-ghost{background:rgba(255,253,248,.75);border-color:rgba(163,110,53,.46);color:var(--color-primary);box-shadow:none}
.btn-ghost:hover{background:#f6ead8;border-color:var(--color-accent)}
.btn-secondary{background:linear-gradient(135deg,#b27a3f,#8b3e47);border-color:rgba(139,62,71,.18);color:#fffdf8}
.btn-secondary:hover{background:linear-gradient(135deg,#c28d4d,#9b4a55)}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=password],textarea,select{background:#fffdf8;box-shadow:0 1px 0 rgba(86,59,27,.04);border-color:var(--color-border-subtle)}
input:focus,textarea:focus,select:focus{background:#fffefa}

.card{background:radial-gradient(circle at top left,rgba(231,205,159,.25),transparent 48%),linear-gradient(145deg,rgba(255,253,248,.97),rgba(249,244,235,.96));border-color:rgba(183,144,95,.25);box-shadow:var(--shadow-sm)}
.card-soft{background:rgba(255,253,248,.82)}
.card-outline{background:rgba(255,253,248,.65);border-color:rgba(163,110,53,.38)}
.card-title,.topline-accent,.text-accent,.kpi-value{color:var(--color-accent)}
.list-editorial>li{background:rgba(255,253,248,.8);border-color:rgba(183,144,95,.2)}
.list-editorial>li::before{color:var(--color-accent)}
.badge{background:rgba(255,253,248,.86);border-color:rgba(163,110,53,.48);color:var(--color-accent)}
.badge-soft{background:rgba(163,110,53,.1);color:var(--color-primary)}
.chip{background:linear-gradient(135deg,#d9b57d,#3a765f);box-shadow:0 6px 16px rgba(76,55,30,.16)}
.pill-meta,.hero-tag{background:rgba(255,253,248,.72);border-color:rgba(163,110,53,.27)}
.hero-highlight{background:linear-gradient(120deg,#a36e35,#c28d4d,#2f6b57);-webkit-background-clip:text}
.section-divider{background:linear-gradient(90deg,transparent,rgba(163,110,53,.42),transparent)}
.card-hero{background:linear-gradient(145deg,#f0dfc6,#d7e7db);box-shadow:var(--shadow-md)}
.card-hero-gradient{background:linear-gradient(0deg,rgba(45,35,25,.58),transparent 65%),radial-gradient(circle at 20% 0,rgba(255,244,218,.32),transparent 55%);mix-blend-mode:multiply}
.card-hero-caption{text-shadow:0 4px 22px rgba(20,15,10,.55)}

.section-surface{background:radial-gradient(circle at top left,rgba(224,202,164,.34),transparent 52%),radial-gradient(circle at 88% 10%,rgba(204,225,210,.48),transparent 48%),rgba(255,252,246,.72)!important;border-color:rgba(163,110,53,.18)!important}
.section-accent{background:radial-gradient(circle at top,rgba(224,202,164,.32),transparent 55%),radial-gradient(circle at bottom,rgba(213,230,216,.36),transparent 60%)}
.service-figure{background:linear-gradient(145deg,#f0dfc6,#d7e7db)}
.thankyou-card,.terms-toc,.terms-contact-card{background:linear-gradient(145deg,#fffdf8,#f5ecdf);border-color:rgba(163,110,53,.25);box-shadow:var(--shadow-sm)}

.site-header{background:rgba(255,252,246,.88);border-bottom-color:rgba(163,110,53,.2);box-shadow:0 4px 20px rgba(76,55,30,.05)}
.site-logo-mark{background:radial-gradient(circle at 30% 0,#f4d7a5,#3a765f);border-color:rgba(163,110,53,.55);box-shadow:0 8px 20px rgba(76,55,30,.16)}
.site-logo-chip{border-color:#fffaf0;background:radial-gradient(circle at 30% 0,#fff,#9b4a55)}
.site-title-text,.site-nav-link:hover{color:var(--color-text)}
.site-nav-cta{background:linear-gradient(135deg,rgba(247,228,194,.92),rgba(215,234,220,.95));box-shadow:none}
.site-nav-cta:hover{background:linear-gradient(135deg,#f1d8aa,#c9e2d2)}
@media (max-width:960px){.site-nav{background:rgba(255,252,246,.98);border-bottom-color:rgba(163,110,53,.22)}}

.site-footer{background:radial-gradient(circle at 5% 0,rgba(224,202,164,.45),transparent 35%),linear-gradient(150deg,#f2e7d7,#e9ddca);border-top-color:rgba(163,110,53,.22)}
.footer-logo-mark{background:radial-gradient(circle at 30% 0,#f4d7a5,#8b3e47);box-shadow:0 10px 24px rgba(76,55,30,.16)}
.footer-logo-chip{border-color:#fffaf0;background:radial-gradient(circle at 30% 0,#fff,#3a765f)}
.footer-branding-title,.footer-cta-title,.cookie-banner-title,.age-modal-title{color:var(--color-text)}
.site-footer-top,.site-footer-middle{border-color:rgba(163,110,53,.22)}
.cookie-banner-inner{background:rgba(255,252,246,.98);border-color:rgba(163,110,53,.34);box-shadow:var(--shadow-soft)}
.age-modal-backdrop{background:rgba(55,43,30,.32)}
.age-modal-content{background:linear-gradient(145deg,#fffdf8,#f2e6d4);border-color:rgba(163,110,53,.3);box-shadow:var(--shadow-soft)}

:focus-visible,a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 var(--focus-ring-offset) #fffdf8,0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color)}
