/* ==========================================================================
   ADRYCH LTD — Design System
   Editorial Authority: Fraunces (display) + Inter (body)
   Brand colours measured from source materials: navy #092844, gold #77661D
   ========================================================================== */

:root{
  --navy-900:#092844;
  --navy-800:#0e3050;
  --navy-700:#153a5e;
  --gold-600:#77661d;
  --gold-400:#9c8934;
  --gold-300:#c2ac5f;
  --cream-50:#f7f4ec;
  --cream-100:#efe9d8;
  --ink-900:#1c1b17;
  --neutral-500:#726f5f;
  --neutral-300:#a8a493;
  --line-on-cream: rgba(9,40,68,0.10);
  --line-on-navy: rgba(194,172,95,0.24);

  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;

  --max: 1280px;
  --gutter: 32px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream-50);
  color:var(--ink-900);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:500; margin:0; text-wrap:balance;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
:focus-visible{outline:2px solid var(--gold-400); outline-offset:3px;}

.wrap{max-width:var(--max); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}

/* ---------- Skip link ---------- */
.skip-link{
  position:absolute; left:-999px; top:0; z-index:200;
  background:var(--cream-50); color:var(--navy-900);
  padding:12px 18px; font-weight:600; font-size:14px;
}
.skip-link:focus{left:16px; top:16px;}

/* ---------- Nav ---------- */
.site-nav{ position:sticky; top:0; z-index:50; background:var(--navy-900); border-bottom:1px solid var(--line-on-navy); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:16px var(--gutter); gap:24px; max-width:var(--max); margin:0 auto; }
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand img{height:28px; width:auto;}
.brand-word{font-family:var(--font-body); font-weight:600; font-size:15px; letter-spacing:0.22em; color:var(--cream-50);}
.nav-links{display:flex; align-items:center; gap:28px;}
.nav-links a{
  text-decoration:none; font-size:12.5px; font-weight:600; letter-spacing:0.13em; text-transform:uppercase;
  color:rgba(247,244,236,0.72); padding:6px 0; border-bottom:1px solid transparent;
  transition:color .2s ease, border-color .2s ease; white-space:nowrap;
}
.nav-links a:hover, .nav-links a:focus-visible{ color:var(--cream-50); border-bottom-color:var(--gold-300); }
.nav-links a[aria-current="page"]{color:var(--gold-300);}
.nav-cta{
  display:inline-block; font-size:12.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  text-decoration:none; color:var(--navy-900); background:var(--gold-300); padding:11px 20px; border-radius:2px;
  transition:background .2s ease, transform .2s ease; white-space:nowrap;
}
.nav-cta:hover, .nav-cta:focus-visible{ background:var(--cream-50); transform:translateY(-1px); }
.nav-toggle{
  display:none; align-items:center; justify-content:center; width:38px; height:38px;
  background:transparent; border:1px solid rgba(247,244,236,0.35); border-radius:2px; cursor:pointer;
}
.nav-toggle svg{width:18px; height:18px; stroke:var(--cream-50);}
.nav-mobile{ display:none; flex-direction:column; background:var(--navy-800); border-top:1px solid var(--line-on-navy); }
.nav-mobile.is-open{display:flex;}
.nav-mobile a{
  padding:16px var(--gutter); text-decoration:none; color:rgba(247,244,236,0.85);
  font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.nav-mobile a.nav-mobile-cta{color:var(--gold-300);}

@media (max-width:900px){
  .nav-links{display:none;}
  .nav-cta{display:none;}
  .nav-toggle{display:inline-flex; width:44px; height:44px;}
}

/* ---------- Buttons ---------- */
.btn-primary, .btn-primary-dark{
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  font-size:13.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  padding:16px 28px; border-radius:2px; transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn-primary{ background:var(--gold-300); color:var(--navy-900); }
.btn-primary:hover, .btn-primary:focus-visible{ background:var(--cream-50); transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(0,0,0,0.4); }
.btn-primary-dark{ background:var(--navy-900); color:var(--cream-50); }
.btn-primary-dark:hover, .btn-primary-dark:focus-visible{ background:var(--navy-700); transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(9,40,68,0.35); }
.btn-secondary{
  text-decoration:none; font-size:13.5px; font-weight:600; letter-spacing:0.04em;
  padding-bottom:3px; border-bottom:1px solid currentColor; opacity:.85;
  transition:opacity .2s ease;
}
.btn-secondary:hover, .btn-secondary:focus-visible{ opacity:1; }
.btn-outline{
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  font-size:13.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  padding:15px 27px; border-radius:2px; border:1px solid var(--navy-900); color:var(--navy-900);
  transition:background .2s ease, color .2s ease;
}
.btn-outline:hover, .btn-outline:focus-visible{ background:var(--navy-900); color:var(--cream-50); }

/* ---------- Section scaffolding ---------- */
section{padding:96px 0;}
.section-cream{background:var(--cream-50);}
.section-white{background:#fffdf8;}
.section-navy{background:var(--navy-900); color:var(--cream-50);}
.section-navy h2, .section-navy h3{color:var(--cream-50);}
.eyebrow{
  display:block; font-size:12.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold-600); margin:0 0 18px 0;
}
.section-navy .eyebrow{color:var(--gold-300);}
.section-head{max-width:720px; margin:0 0 56px 0;}
.section-head h2{ font-size:clamp(28px,3.4vw,40px); line-height:1.15; letter-spacing:-0.01em; margin-bottom:18px; }
.section-head p{font-size:17px; line-height:1.65; color:var(--neutral-500);}
.section-navy .section-head p{color:rgba(247,244,236,0.75);}

/* ---------- Hero (home) ---------- */
.hero{
  background:var(--navy-900);
  background-image:
    radial-gradient(ellipse 60% 55% at 82% 8%, rgba(194,172,95,0.10), transparent 60%),
    linear-gradient(180deg, var(--navy-900) 0%, var(--navy-800) 100%);
  overflow:hidden;
}
.hero-inner{ display:grid; grid-template-columns:1.05fr 0.95fr; align-items:stretch; max-width:var(--max); margin:0 auto; }
.hero-copy{ padding:88px var(--gutter) 96px var(--gutter); display:flex; flex-direction:column; justify-content:center; max-width:640px; }
.hero-copy h1{ font-size:clamp(34px,4.6vw,54px); line-height:1.1; letter-spacing:-0.01em; color:var(--cream-50); margin:0 0 26px 0; }
.hero-copy p.lede{ font-size:17px; line-height:1.65; color:rgba(247,244,236,0.78); max-width:52ch; margin:0 0 38px 0; }
.hero-cta-row{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; margin:0 0 46px 0; }
.hero-cta-row .btn-secondary{color:var(--cream-50); border-color:rgba(247,244,236,0.4);}
.hero-cta-row .btn-secondary:hover{border-color:var(--gold-300); color:var(--gold-300);}
.hero-credential{ display:flex; align-items:center; gap:14px; padding-top:26px; border-top:1px solid var(--line-on-navy); }
.hero-credential span{font-size:12px; letter-spacing:0.08em; color:rgba(247,244,236,0.62);}
.hero-credential strong{color:var(--gold-300); font-weight:600;}
.hero-figure{position:relative; min-height:560px;}
.hero-figure img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 18%;}
.hero-figure::before{content:"";position:absolute; inset:0; background:linear-gradient(100deg, var(--navy-900) 0%, rgba(9,40,68,0.55) 14%, rgba(9,40,68,0) 40%); z-index:1;}
.hero-figure::after{content:"";position:absolute; left:0; top:10%; bottom:10%; width:1px; background:linear-gradient(180deg, transparent, rgba(194,172,95,0.55), transparent); z-index:2;}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-copy{padding:56px 24px 40px 24px; max-width:none;}
  .hero-figure{min-height:320px; order:-1;}
  .hero-figure::before{background:linear-gradient(180deg, rgba(9,40,68,0) 55%, var(--navy-900) 100%);}
  .hero-figure::after{display:none;}
}

/* ---------- Sub-page hero (About / QMS / TISAX / Contact) ---------- */
.page-hero{ background:var(--navy-900); background-image:radial-gradient(ellipse 60% 70% at 85% 0%, rgba(194,172,95,0.10), transparent 60%); color:var(--cream-50); padding:64px 0 72px 0; }
.page-hero .wrap{max-width:840px;}
.breadcrumb{ display:flex; gap:8px; align-items:center; font-size:12.5px; color:rgba(247,244,236,0.55); margin-bottom:22px; letter-spacing:0.03em;}
.breadcrumb a{text-decoration:none; color:rgba(247,244,236,0.75);}
.breadcrumb a:hover{color:var(--gold-300);}
.page-hero h1{ font-size:clamp(30px,4vw,46px); line-height:1.14; margin-bottom:20px; }
.page-hero p.lede{ font-size:17px; line-height:1.65; color:rgba(247,244,236,0.78); max-width:62ch; }

/* ---------- Credibility strip ---------- */
.credibility{background:var(--cream-50); border-bottom:1px solid var(--line-on-cream);}
.credibility .wrap{padding-top:52px; padding-bottom:46px;}
.cred-label{font-size:11.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--neutral-500); margin:0 0 24px 0;}
.cred-marks{display:flex; flex-wrap:wrap;}
.cred-marks li{ font-family:var(--font-display); font-size:20px; font-weight:500; color:var(--navy-900); padding:4px 28px 4px 0; margin:0 28px 8px 0; border-right:1px solid var(--line-on-cream); }
.cred-marks li:last-child{border-right:none; margin-right:0; padding-right:0;}
.cred-note{ font-size:15px; line-height:1.6; color:var(--neutral-500); max-width:70ch; margin:30px 0 0 0; border-top:1px solid var(--line-on-cream); padding-top:24px; }
.cred-note strong{color:var(--ink-900); font-weight:600;}
@media (max-width:640px){ .cred-marks li{font-size:17px; padding-right:16px; margin-right:16px;} }

/* ---------- Two core services (cards) ---------- */
.services-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line-on-cream); border:1px solid var(--line-on-cream); }
.service-card{ background:#fffdf8; padding:48px 44px; display:flex; flex-direction:column; }
.service-card .service-kicker{font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-600); margin-bottom:16px;}
.service-card h3{font-size:26px; line-height:1.2; margin-bottom:16px;}
.service-card .service-for{font-size:13.5px; color:var(--neutral-500); margin-bottom:20px;}
.service-card p.desc{font-size:15.5px; line-height:1.7; color:var(--ink-900); margin-bottom:28px; flex-grow:1;}
.service-card .btn-secondary{color:var(--navy-900); align-self:flex-start;}
@media (max-width:820px){ .services-grid{grid-template-columns:1fr;} }

/* ---------- Why Agata (split image/text) ---------- */
.split{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; }
.split-figure{position:relative;}
.split-figure img{width:100%; height:auto; border:1px solid var(--line-on-cream);}
.split-figure .frame-mark{ position:absolute; top:-14px; left:-14px; width:60px; height:60px; border-top:2px solid var(--gold-400); border-left:2px solid var(--gold-400); }
.split-copy .point-list{margin-top:28px; display:flex; flex-direction:column; gap:18px;}
.split-copy .point-list li{ display:flex; gap:16px; font-size:15.5px; line-height:1.65; color:var(--ink-900); }
.split-copy .point-list li .num{ font-family:var(--font-display); font-size:16px; color:var(--gold-600); flex-shrink:0; padding-top:1px; }
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:40px;} }
.split.reverse{grid-template-columns:1.15fr 0.85fr;}
.split.reverse .split-figure{order:2;}
@media (max-width:900px){
  .split.reverse{grid-template-columns:1fr;}
  .split.reverse .split-figure{order:0;}
}

/* ---------- Timeline (Experience) ---------- */
.timeline{display:flex; flex-direction:column;}
.timeline-item{ display:grid; grid-template-columns:150px 1fr; gap:32px; padding:32px 0; border-top:1px solid var(--line-on-cream); }
.timeline-item:last-child{border-bottom:1px solid var(--line-on-cream);}
.timeline-item .years{font-size:13.5px; font-weight:600; letter-spacing:0.04em; color:var(--gold-600); padding-top:4px;}
.timeline-item h3{font-size:19px; margin-bottom:8px;}
.timeline-item .org{font-size:13.5px; color:var(--neutral-500); margin-bottom:12px; display:block;}
.timeline-item p{font-size:15px; line-height:1.65; color:var(--ink-900);}
@media (max-width:640px){ .timeline-item{grid-template-columns:1fr; gap:8px;} }

/* ---------- Process steps (How it works) ---------- */
.process-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line-on-navy); border:1px solid var(--line-on-navy); }
.process-step{ background:var(--navy-900); padding:36px 32px; }
.process-step .step-index{ font-family:var(--font-display); font-size:15px; color:var(--gold-300); margin-bottom:14px; display:block; }
.process-step h3{font-size:19px; color:var(--cream-50); margin-bottom:10px;}
.process-step p{font-size:14.5px; line-height:1.65; color:rgba(247,244,236,0.72);}
@media (max-width:900px){ .process-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .process-grid{grid-template-columns:1fr;} }

/* ---------- Content page blocks (QMS / TISAX pages) ---------- */
.content-block{max-width:760px;}
.content-block + .content-block{margin-top:64px;}
.content-block h2{font-size:clamp(24px,2.8vw,32px); margin-bottom:20px;}
.content-block h3{font-size:19px; margin-bottom:12px; margin-top:32px;}
.content-block p{font-size:16px; line-height:1.75; color:var(--ink-900); margin-bottom:18px;}
.content-block ul.check-list{display:flex; flex-direction:column; gap:14px; margin:22px 0;}
.content-block ul.check-list li{ display:flex; gap:14px; font-size:15.5px; line-height:1.65; }
.content-block ul.check-list li svg{flex-shrink:0; margin-top:3px; width:18px; height:18px; stroke:var(--gold-600);}
.pull-note{ border-left:2px solid var(--gold-400); padding:4px 0 4px 24px; margin:32px 0; font-family:var(--font-display); font-size:19px; line-height:1.5; color:var(--navy-900); }

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:820px; border-top:1px solid var(--line-on-cream);}
.faq-item{border-bottom:1px solid var(--line-on-cream);}
.faq-q{ width:100%; text-align:left; background:none; border:0; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; cursor:pointer; font-family:var(--font-body); }
.faq-q span.q-text{font-size:16.5px; font-weight:600; color:var(--navy-900);}
.faq-q .q-icon{flex-shrink:0; width:20px; height:20px; position:relative;}
.faq-q .q-icon::before, .faq-q .q-icon::after{content:""; position:absolute; background:var(--gold-600); transition:transform .25s ease;}
.faq-q .q-icon::before{left:0; top:9px; width:20px; height:2px;}
.faq-q .q-icon::after{left:9px; top:0; width:2px; height:20px;}
.faq-item.is-open .q-icon::after{transform:rotate(90deg); opacity:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{font-size:15.5px; line-height:1.7; color:var(--neutral-500); padding-bottom:24px; max-width:70ch;}
.faq-item.is-open .faq-a{max-height:400px;}

/* ---------- Final CTA ---------- */
.final-cta{ background:var(--navy-900); background-image:radial-gradient(ellipse 70% 90% at 50% 0%, rgba(194,172,95,0.10), transparent 60%); color:var(--cream-50); text-align:center; padding:100px 0; }
.final-cta h2{font-size:clamp(28px,3.6vw,42px); color:var(--cream-50); max-width:760px; margin:0 auto 22px auto;}
.final-cta p{font-size:17px; color:rgba(247,244,236,0.75); max-width:56ch; margin:0 auto 40px auto;}
.final-cta .cta-row{display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap;}
.final-cta .btn-secondary{color:var(--cream-50); border-color:rgba(247,244,236,0.4);}
.final-cta .btn-secondary:hover{border-color:var(--gold-300); color:var(--gold-300);}

/* ---------- Contact page ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
.contact-card{ background:#fffdf8; border:1px solid var(--line-on-cream); padding:36px 32px; display:flex; flex-direction:column; gap:10px; }
.contact-card .k{font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-600);}
.contact-card .v{font-family:var(--font-display); font-size:22px; color:var(--navy-900);}
.contact-card a.v{text-decoration:none;}
.contact-card a.v:hover{color:var(--gold-600);}
.contact-methods{display:flex; flex-direction:column; gap:20px;}
.calendar-panel{ background:var(--navy-900); color:var(--cream-50); padding:44px 40px; display:flex; flex-direction:column; justify-content:center; }
.calendar-panel h3{color:var(--cream-50); font-size:24px; margin-bottom:14px;}
.calendar-panel p{color:rgba(247,244,236,0.78); font-size:15.5px; line-height:1.65; margin-bottom:28px;}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr;} }

/* ---------- Footer ---------- */
.site-footer{ background:var(--navy-900); color:rgba(247,244,236,0.7); padding:64px 0 32px 0; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:44px; border-bottom:1px solid var(--line-on-navy); }
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:18px; text-decoration:none;}
.footer-brand img{height:26px;}
.footer-brand span{font-weight:600; font-size:14px; letter-spacing:0.2em; color:var(--cream-50);}
.footer-top p{font-size:14px; line-height:1.7; max-width:34ch;}
.footer-col h4{ font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--cream-50); margin-bottom:18px; }
.footer-col ul{display:flex; flex-direction:column; gap:12px;}
.footer-col a{text-decoration:none; font-size:14px; color:rgba(247,244,236,0.7); transition:color .2s ease;}
.footer-col a:hover{color:var(--gold-300);}
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:28px; font-size:12.5px; color:rgba(247,244,236,0.5); }
.footer-legal{line-height:1.7;}
.footer-bottom a{text-decoration:underline; text-underline-offset:3px; color:rgba(247,244,236,0.6);}
.footer-bottom a:hover{color:var(--gold-300);}
@media (max-width:820px){ .footer-top{grid-template-columns:1fr; gap:32px;} }

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:100;
  max-width:560px; margin:0 auto;
  background:var(--navy-900); color:var(--cream-50);
  border:1px solid var(--line-on-navy);
  padding:24px 26px; border-radius:2px;
  box-shadow:0 20px 50px -12px rgba(0,0,0,0.45);
  display:none;
}
.cookie-banner.is-visible{display:block;}
.cookie-banner p{font-size:13.5px; line-height:1.6; color:rgba(247,244,236,0.82); margin-bottom:18px;}
.cookie-banner a{color:var(--gold-300); text-decoration:underline; text-underline-offset:2px;}
.cookie-actions{display:flex; gap:14px; flex-wrap:wrap;}
.cookie-actions button{
  font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  padding:11px 18px; border-radius:2px; cursor:pointer; border:1px solid transparent;
}
.cookie-accept{background:var(--gold-300); color:var(--navy-900);}
.cookie-accept:hover{background:var(--cream-50);}
.cookie-reject{background:transparent; color:var(--cream-50); border-color:rgba(247,244,236,0.4);}
.cookie-reject:hover{border-color:var(--gold-300); color:var(--gold-300);}

/* ---------- Privacy modal ---------- */
.privacy-modal-overlay{ position:fixed; inset:0; background:rgba(9,40,68,0.6); z-index:150; display:none; align-items:flex-start; justify-content:center; padding:5vh 20px; overflow-y:auto; }
.privacy-modal-overlay.is-open{display:flex;}
.privacy-modal{ background:var(--cream-50); max-width:760px; width:100%; padding:48px 44px; position:relative; border:1px solid var(--line-on-cream); }
.privacy-modal-close{ position:absolute; top:20px; right:20px; width:36px; height:36px; border:1px solid var(--line-on-cream); background:none; border-radius:2px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.privacy-modal-close svg{width:16px; height:16px; stroke:var(--navy-900);}
.privacy-modal h2{font-size:26px; margin-bottom:20px;}
.privacy-modal h3{font-size:16px; margin:26px 0 10px 0;}
.privacy-modal p, .privacy-modal li{font-size:14.5px; line-height:1.7; color:var(--ink-900); margin-bottom:12px;}
.privacy-modal ul{padding-left:20px; list-style:disc;}

/* ---------- Mobile refinements ---------- */
@media (max-width:900px){
  .process-step{padding:28px 24px;}
}
@media (max-width:640px){
  :root{ --gutter:20px; }

  section{padding:64px 0;}
  .section-head{margin-bottom:36px;}

  .page-hero{padding:48px 0 44px 0;}
  .page-hero p.lede{font-size:16px;}

  .credibility .wrap{padding-top:36px; padding-bottom:32px;}
  .cred-note{margin-top:22px; padding-top:18px;}

  .service-card{padding:36px 26px;}
  .service-card h3{font-size:23px;}

  .split{gap:32px;}

  .timeline-item{padding:22px 0;}

  .content-block + .content-block{margin-top:44px;}
  .content-block h2{margin-bottom:16px;}
  .pull-note{font-size:17px; padding-left:18px;}

  .faq-q{padding:20px 0; gap:16px;}
  .faq-q span.q-text{font-size:15.5px;}

  .final-cta{padding:64px 0;}
  .final-cta .cta-row{gap:20px;}

  .contact-grid{gap:28px;}
  .contact-card{padding:26px 22px;}
  .contact-card .v{font-size:19px;}
  .calendar-panel{padding:32px 26px;}
  .calendar-panel h3{font-size:21px;}

  .site-footer{padding:48px 0 24px 0;}
  .footer-top{padding-bottom:32px;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:10px;}

  .cookie-banner{left:12px; right:12px; bottom:12px; padding:20px 20px;}

  .privacy-modal-overlay{padding:0;}
  .privacy-modal{padding:40px 22px 48px 22px; max-width:100%; width:100%; min-height:100vh; border:none;}
  .privacy-modal h2{font-size:23px;}
}

/* ---------- AOS resting-state guarantee ---------- */
[data-aos]{ transition-property:transform, opacity; }
@media (prefers-reduced-motion: reduce){
  [data-aos]{transform:none !important; opacity:1 !important; transition:none !important; animation:none !important;}
}
