/* ── RESET ──────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:var(--lh-base);
  color:var(--c-text);
  background-color:var(--c-bg);
}
img,video,svg{display:block;max-width:100%}
button{cursor:pointer;border:none;background:none;font:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* ── LAYOUT ─────────────────────────────────────── */
.wrap{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}

/* ── SKIP LINK ───────────────────────────────────── */
.skip-link{
  position:absolute;top:var(--sp-4);left:var(--sp-4);
  padding:var(--sp-2) var(--sp-6);
  background:var(--c-brand);color:var(--c-text-inv);
  font-size:var(--fs-sm);font-weight:var(--fw-semibold);
  border-radius:var(--r-md);z-index:9999;
  transform:translateY(-200%);transition:transform var(--t-base);
}
.skip-link:focus{transform:translateY(0)}

/* ── NAVIGATION ─────────────────────────────────── */
#site-header{
  position:sticky;top:0;z-index:100;
  transition:background var(--t-base),backdrop-filter var(--t-base),border-color var(--t-base),transform var(--t-base);
  border-bottom:1px solid transparent;
}
#site-header.scrolled{
  background:rgba(26,23,20,.92);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  border-bottom-color:var(--c-border);
}
#site-header.hidden{transform:translateY(-100%)}

.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--sp-5)}

.nav-logo{
  display:flex;align-items:center;gap:var(--sp-3);
  font-family:var(--font-display);font-size:var(--fs-xl);
  font-weight:var(--fw-semibold);letter-spacing:var(--ls-snug);color:var(--c-text);
}
.nav-logo svg{width:26px;height:26px;flex-shrink:0}
.nav-logo-amp{color:var(--c-brand)}

.nav-links{display:flex;align-items:center;gap:var(--sp-8)}
.nav-links a{
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  color:var(--c-text-2);transition:color var(--t-fast);
  position:relative;padding-block:var(--sp-1);
}
.nav-links a::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:100%;height:1px;background:var(--c-brand);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-base);
}
.nav-links a:hover{color:var(--c-text)}
.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-links a[aria-current="page"]{color:var(--c-text)}

.nav-actions{display:flex;align-items:center;gap:var(--sp-3)}

.lang-toggle{
  font-size:var(--fs-xs);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wide);text-transform:uppercase;
  color:var(--c-text-3);cursor:pointer;
  padding:var(--sp-1) var(--sp-3);
  border:1px solid var(--c-border);border-radius:var(--r-sm);background:none;
  transition:color var(--t-fast),border-color var(--t-fast);
}
.lang-toggle:hover{color:var(--c-brand);border-color:var(--c-brand)}

/* Hamburger */
.nav-hamburger{
  display:none;flex-direction:column;gap:5px;
  padding:var(--sp-2);z-index:201;background:none;border:none;cursor:pointer;
}
.nav-hamburger span{
  display:block;width:22px;height:1.5px;background:var(--c-text);
  transition:transform var(--t-base),opacity var(--t-fast);transform-origin:center;
}
.nav-hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile overlay */
.nav-overlay{
  position:fixed;inset:0;background:var(--c-dark);z-index:200;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-6);
  opacity:0;pointer-events:none;transition:opacity var(--t-base);
}
.nav-overlay[aria-hidden="false"]{opacity:1;pointer-events:all}
.nav-overlay a{
  font-family:var(--font-display);font-size:var(--fs-4xl);
  font-weight:var(--fw-light);font-style:italic;
  color:var(--c-text-2);transition:color var(--t-fast);
}
.nav-overlay a:hover,
.nav-overlay a[aria-current="page"]{color:var(--c-brand)}
.nav-overlay-meta{margin-top:var(--sp-6);display:flex;align-items:center;gap:var(--sp-4)}

@media(max-width:768px){
  .nav-links,.nav-actions .btn{display:none}
  .nav-hamburger{display:flex}
  .nav-actions .lang-toggle{display:flex}
}

/* ── BUTTONS ─────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  padding:.75rem 1.75rem;border-radius:var(--r-full);
  font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semibold);
  border:none;cursor:pointer;white-space:nowrap;overflow:hidden;position:relative;
  letter-spacing:var(--ls-wide);
  transition:transform var(--t-base),box-shadow var(--t-base),background var(--t-fast),color var(--t-fast),border-color var(--t-fast);
}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:2px solid var(--c-brand);outline-offset:3px}
.btn-primary{background:var(--c-brand);color:var(--c-text-inv);box-shadow:var(--shadow-brand)}
.btn-primary:hover{background:var(--c-brand-2);transform:translateY(-1px);box-shadow:0 6px 32px rgba(200,169,110,.28)}
.btn-secondary{background:transparent;border:1px solid var(--c-border-2);color:var(--c-text)}
.btn-secondary:hover{border-color:var(--c-brand);color:var(--c-brand);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--c-text-2)}
.btn-ghost:hover{color:var(--c-text)}
.btn--lg{padding:1rem 2.25rem;font-size:var(--fs-base)}
.btn--sm{padding:.5rem 1.25rem;font-size:var(--fs-xs)}
.btn-ripple{
  position:absolute;border-radius:50%;transform:scale(0);
  background:rgba(255,255,255,.18);animation:ripple .5s linear;pointer-events:none;
}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ── SECTION LABEL ───────────────────────────────── */
.label{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  font-size:var(--fs-xs);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-wider);text-transform:uppercase;
  color:var(--c-brand);margin-bottom:var(--sp-5);
}
.label::before{content:'';width:24px;height:1.5px;background:var(--c-brand);flex-shrink:0}

/* ── SECTION STRUCTURE ───────────────────────────── */
.section{padding-block:var(--section-gap)}
.section-header{max-width:var(--max-w-text);margin-bottom:var(--sp-12)}
.section-header.centered{margin-inline:auto;text-align:center}
.section-header.centered .label{justify-content:center}
.section-header p{font-size:var(--fs-md);color:var(--c-text-2);line-height:var(--lh-relaxed);margin-top:var(--sp-4)}

/* ── TYPOGRAPHY ──────────────────────────────────── */
h2{
  font-family:var(--font-display);font-size:var(--fs-4xl);
  font-weight:var(--fw-semibold);line-height:var(--lh-tight);
  letter-spacing:var(--ls-tight);color:var(--c-text);
}
h3{
  font-family:var(--font-display);font-size:var(--fs-2xl);
  font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--c-text);
}
h4{
  font-family:var(--font-body);font-size:var(--fs-md);
  font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--c-text);
}
p{font-size:var(--fs-base);line-height:var(--lh-base);color:var(--c-text-2)}

/* ── FOOTER ──────────────────────────────────────── */
footer{
  background:var(--c-dark);border-top:1px solid var(--c-border);
  padding-top:var(--sp-16);padding-bottom:var(--sp-8);
}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-10);margin-bottom:var(--sp-12)}
@media(min-width:768px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:var(--sp-8)}}
.footer-brand-name{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--c-text);margin-bottom:var(--sp-3)}
.footer-brand-amp{color:var(--c-brand)}
.footer-tagline{font-size:var(--fs-sm);color:var(--c-text-3);line-height:var(--lh-relaxed);max-width:260px;margin-bottom:var(--sp-5)}
.footer-heading{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--c-text-3);margin-bottom:var(--sp-5)}
.footer-links{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-links a{font-size:var(--fs-sm);color:var(--c-text-2);transition:color var(--t-fast)}
.footer-links a:hover{color:var(--c-brand)}
.footer-bottom{
  padding-top:var(--sp-8);border-top:1px solid var(--c-border);
  display:flex;flex-direction:column;gap:var(--sp-3);align-items:center;text-align:center;
}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}
.footer-bottom p{font-size:var(--fs-xs);color:var(--c-text-3)}
.footer-legal{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center}
@media(min-width:768px){.footer-legal{justify-content:flex-end}}
.footer-legal a{font-size:var(--fs-xs);color:var(--c-text-3);transition:color var(--t-fast)}
.footer-legal a:hover{color:var(--c-brand)}

/* ── PRINT ───────────────────────────────────────── */
@media print{
  #site-header,footer,.btn,#cookie-banner{display:none}
  body{font-size:12pt;color:#000;background:#fff}
  a{color:#000}
}
