/* =====================================================================
   ASS-KO Website — Redesign Design-System (A×C)
   Stil: hell, luftig, Weinrot mit leichten Farbverläufen, serifenlos.
   Schrift: Space Grotesk (Display) + Inter (Text).
   HINWEIS: Fonts werden für die Vorschau via Google Fonts <link> geladen;
   vor Deploy auf self-hosted (assets/fonts.css) umgestellt (DSGVO).
   ===================================================================== */

:root{
  --brand:#851b34;
  --brand-dark:#6b1528;
  --brand-bright:#a3243f;
  --ink:#1a0a10;
  --paper:#faf8f6;
  --wine-tint:#fdf2f5;
  --wine-tint2:#f9e7ec;
  --muted:#6f6560;
  --line:#ece6e0;
  --white:#ffffff;
  --disp:'Space Grotesk','Inter',system-ui,sans-serif;
  --body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --grad-brand:linear-gradient(135deg,#a3243f 0%, #851b34 55%, #6b1528 100%);
  --radius:16px;
  --radius-lg:20px;
  --content:1120px;
  --nav-h:76px;
  --shadow:0 1px 3px rgba(26,10,16,.06);
  --shadow-soft:0 14px 34px rgba(107,21,40,.10);
  --shadow-strong:0 20px 48px rgba(26,10,16,.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
body:not(.home){padding-top:var(--nav-h);}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;letter-spacing:-0.02em;line-height:1.1;margin:0;}
p{margin:0;}
:focus-visible{outline:3px solid rgba(133,27,52,.4);outline-offset:2px;border-radius:6px;}

.container{width:min(var(--content), calc(100% - 56px));margin:0 auto;}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:700;margin-bottom:16px;}
.kicker--light{color:#f6d5dd;}
.accent-bar{display:inline-block;width:30px;height:3px;border-radius:2px;background:var(--grad-brand);vertical-align:middle;margin-right:10px;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brand);color:#fff;padding:10px 18px;border-radius:0 0 12px 12px;font-weight:700;}
.skip-link:focus{left:16px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:700;font-size:15px;padding:14px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-brand{background:var(--grad-brand);color:#fff;box-shadow:0 10px 26px rgba(107,21,40,.26);}
.btn-brand:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(107,21,40,.32);}
.btn-light{background:#fff;color:var(--brand);}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn-ghost-light:hover{background:rgba(255,255,255,.12);}
.btn-outline{background:transparent;color:var(--brand);border-color:#e3c6ce;}
.btn-outline:hover{background:var(--wine-tint);border-color:var(--brand);}
.textlink{font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px;}
.textlink:hover{gap:10px;}

/* ---------- Top Navigation ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);padding:0 40px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;}
.site-nav .logo{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:.02em;color:var(--brand);}
.site-nav .logo img{height:38px;width:auto;}
.nav-links{display:flex;align-items:center;gap:24px;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--ink);opacity:.82;transition:opacity .15s,color .15s;}
.nav-links a:hover{opacity:1;color:var(--brand);}
.nav-links a.active{opacity:1;color:var(--brand);font-weight:700;}
.nav-right{display:flex;align-items:center;gap:18px;}
.nav-phone{font-size:14px;font-weight:600;color:var(--ink);opacity:.85;display:flex;align-items:center;gap:7px;}
.nav-phone svg{width:16px;height:16px;color:var(--brand);}
.nav-cta{padding:10px 20px;font-size:14px;}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--ink);}
.nav-toggle svg{width:22px;height:22px;display:block;}

/* Transparent over hero on the home page until scrolled */
body.home .site-nav{background:transparent;border-color:transparent;box-shadow:none;}
body.home .site-nav .logo{color:#fff;}
body.home .site-nav .nav-links a{color:#fff;opacity:.92;}
body.home .site-nav .nav-links a:hover{opacity:1;}
body.home .site-nav .nav-phone{color:#fff;opacity:.9;}
body.home .site-nav .nav-phone svg{color:#fff;}
body.home .site-nav .nav-cta{background:#fff;color:var(--brand);}
body.home .site-nav.nav-solid{background:#fff;border-color:var(--line);box-shadow:var(--shadow);}
body.home .site-nav.nav-solid .logo{color:var(--brand);}
body.home .site-nav.nav-solid .nav-links a{color:var(--ink);opacity:.82;}
body.home .site-nav.nav-solid .nav-phone{color:var(--ink);}
body.home .site-nav.nav-solid .nav-phone svg{color:var(--brand);}
body.home .site-nav.nav-solid .nav-cta{background:var(--grad-brand);color:#fff;}

/* Mobile drawer */
.nav-drawer{display:none;}
@media (max-width:980px){
  .site-nav{padding:0 20px;}
  .nav-links,.nav-right .nav-phone{display:none;}
  .nav-toggle{display:inline-flex;}
  .nav-drawer{display:block;position:fixed;inset:var(--nav-h) 0 auto 0;z-index:99;background:#fff;border-bottom:1px solid var(--line);
    box-shadow:0 16px 30px rgba(0,0,0,.1);transform:translateY(-120%);transition:transform .28s ease;padding:14px 20px 22px;}
  .nav-drawer.open{transform:translateY(0);}
  .nav-drawer a{display:block;padding:12px 6px;font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);}
  .nav-drawer a:last-of-type{border-bottom:none;}
  .nav-drawer .btn{width:100%;margin-top:14px;}
}

/* ---------- Home Hero ---------- */
.hero{position:relative;min-height:640px;display:flex;align-items:center;
  background-position:center;background-size:cover;background-repeat:no-repeat;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(20,7,12,.86) 0%, rgba(107,21,40,.58) 42%, rgba(133,27,52,.24) 74%, rgba(133,27,52,.05) 100%);}
.hero .container{position:relative;color:#fff;padding:150px 0 96px;}
.hero h1{font-size:clamp(40px,5.4vw,62px);line-height:1.04;margin:0 0 24px;max-width:16ch;text-shadow:0 2px 30px rgba(0,0,0,.3);}
.hero .lead{font-size:19px;line-height:1.6;color:rgba(255,255,255,.95);max-width:600px;margin:0 0 34px;text-shadow:0 1px 16px rgba(0,0,0,.35);}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.hero .micro{margin-top:26px;font-size:13px;color:rgba(255,255,255,.72);}

/* ---------- Inner page hero (compact) ---------- */
.page-hero{position:relative;background:linear-gradient(135deg,#160710 0%, #4a1020 60%, var(--brand) 100%);color:#fff;overflow:hidden;}
.page-hero.has-img{background:none;}
.page-hero.has-img::before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;}
.page-hero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(20,7,12,.84) 0%, rgba(107,21,40,.6) 50%, rgba(133,27,52,.3) 100%);}
.page-hero .container{position:relative;padding:64px 0 70px;}
.page-hero h1{font-size:clamp(32px,4.2vw,50px);margin:0 0 16px;max-width:18ch;}
.page-hero .lead{font-size:18px;line-height:1.6;color:rgba(255,255,255,.85);max-width:620px;margin:0;}
.page-hero .crumbs{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:16px;}
.page-hero .crumbs a{color:rgba(255,255,255,.8);}

/* ---------- Generic section ---------- */
.section{padding:104px 0;}
.section--tight{padding:72px 0;}
.section--paper{background:var(--paper);}
.section--wine{background:linear-gradient(180deg, var(--wine-tint) 0%, #ffffff 100%);}
.section--wine-rev{background:linear-gradient(180deg, #ffffff 0%, var(--wine-tint) 100%);}
.section-head{max-width:720px;margin:0 0 52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 16px;}
.section-head p{font-size:17px;line-height:1.65;color:var(--muted);margin:0;}

/* ---------- Metrics ---------- */
.metrics{background:linear-gradient(180deg,#ffffff 0%, var(--wine-tint) 100%);border-block:1px solid var(--line);position:relative;overflow:hidden;}
.metrics::before{content:"";position:absolute;right:-160px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(133,27,52,.10),transparent 65%);pointer-events:none;}
.metrics .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:64px 0;position:relative;}
.metric .value{font-family:var(--disp);font-size:46px;font-weight:700;line-height:1;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.metric .label{font-size:14px;color:var(--ink);font-weight:600;margin-top:12px;}
.metric .sub{font-size:13px;color:var(--muted);margin-top:3px;}

/* ---------- Image + Text band ---------- */
.band .container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.band .photo{position:relative;}
.band .photo img{width:100%;height:480px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);}
.band .photo::after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);background:linear-gradient(160deg,transparent 60%, rgba(107,21,40,.2));pointer-events:none;}
.band .photo .badge{position:absolute;left:22px;bottom:22px;z-index:2;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);padding:11px 17px;border-radius:12px;font-size:13px;font-weight:700;color:var(--brand);}
.band.reverse .photo{order:2;}
.band h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 18px;}
.band p{font-size:16.5px;line-height:1.7;color:var(--muted);margin:0 0 16px;}

/* ---------- Cards ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px 24px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#e9d6dc;}
.card h3{font-size:18px;margin:0 0 10px;}
.card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0;}
.card ul{margin:14px 0 0;padding-left:18px;color:var(--muted);font-size:14.5px;}
.card li{margin:8px 0;}
.card .icon{width:48px;height:48px;border-radius:14px;background:var(--wine-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.card .icon svg{width:24px;height:24px;}

/* Image-topped cards */
.icard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;position:relative;}
.icard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-brand);opacity:0;transition:opacity .2s;z-index:2;}
.icard:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.icard:hover::before{opacity:1;}
.icard img{width:100%;height:170px;object-fit:cover;}
.icard .body{padding:24px 22px 26px;}
.icard h3{font-size:17px;margin:0 0 8px;}
.icard p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;}
.icard .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.icard .tag{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--wine-tint);color:var(--brand);}

/* Numbered / steps */
.steps{display:grid;gap:18px;}
.step{display:flex;gap:18px;align-items:flex-start;}
.step .num{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--wine-tint);color:var(--brand);font-family:var(--disp);font-weight:700;display:flex;align-items:center;justify-content:center;}
.step h4{font-size:16px;margin:0 0 4px;}
.step p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.6;}

/* ---------- Wide atmosphere photo band ---------- */
.photoband{position:relative;min-height:420px;overflow:hidden;display:flex;align-items:flex-end;
  background-position:center;background-size:cover;}
.photoband::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg, rgba(107,21,40,.78) 0%, rgba(133,27,52,.5) 45%, rgba(26,10,16,.45) 100%);}
.photoband .container{position:relative;padding:40px 0;color:#fff;}
.photoband h2{font-size:clamp(24px,3vw,34px);max-width:22ch;text-shadow:0 2px 22px rgba(0,0,0,.3);}

/* ---------- Differentiation (dark wine) ---------- */
.diff{background:linear-gradient(135deg,#160710 0%, #4a1020 58%, var(--brand) 100%);color:#fff;position:relative;overflow:hidden;}
.diff::after{content:"";position:absolute;left:-140px;bottom:-140px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 65%);}
.diff .container{position:relative;}
.diff h2{font-size:clamp(30px,3.6vw,44px);margin:0 0 18px;max-width:20ch;}
.diff .lead{font-size:18px;line-height:1.65;color:rgba(255,255,255,.85);max-width:640px;margin:0 0 48px;}
.diff .grid-3{gap:30px;}
.diff .d .bar{width:34px;height:3px;border-radius:2px;background:#f6d5dd;margin-bottom:18px;}
.diff .d h4{font-size:17px;margin:0 0 8px;}
.diff .d p{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.74);margin:0;}

/* ---------- Team ---------- */
.team-row{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;}
.tmember{width:200px;text-align:center;}
.tmember .avatar{width:140px;height:140px;border-radius:50%;margin:0 auto;object-fit:cover;box-shadow:0 12px 28px rgba(107,21,40,.18);background:var(--wine-tint);}
.tmember .avatar.initials{display:flex;align-items:center;justify-content:center;background:var(--grad-brand);color:#fff;font-family:var(--disp);font-weight:700;font-size:36px;}
.tmember .avatar.initials svg{width:48px;height:48px;}
.tmember .n{font-weight:700;font-size:16px;margin-top:16px;font-family:var(--disp);}
.tmember .r{font-size:13px;color:var(--brand);font-weight:600;margin-top:2px;}
.tmember .e{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.team-grid .tmember{width:auto;}

/* ---------- Testimonials ---------- */
.quote-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px 26px;border-left:3px solid var(--brand);}
.quote-card p{font-size:15px;line-height:1.65;font-style:italic;color:var(--ink);margin:0 0 14px;}
.quote-card .who{font-weight:700;font-size:14px;}
.quote-card .who span{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px;}
.rating-badge{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;}
.rating-badge .stars{display:flex;gap:2px;color:#f59e0b;}
.rating-badge .stars svg{width:18px;height:18px;fill:currentColor;}
.rating-badge .score{font-family:var(--disp);font-weight:700;font-size:17px;}
.rating-badge .src{font-size:12px;color:var(--muted);}

/* ---------- Closing CTA ---------- */
.closing{background:linear-gradient(135deg, var(--wine-tint) 0%, var(--wine-tint2) 100%);text-align:center;position:relative;overflow:hidden;}
.closing::before{content:"";position:absolute;left:50%;top:-180px;transform:translateX(-50%);width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(133,27,52,.1),transparent 65%);pointer-events:none;}
.closing .container{position:relative;}
.closing h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin:0 auto 20px;max-width:20ch;}
.closing p{font-size:16px;color:var(--muted);max-width:520px;margin:0 auto 30px;line-height:1.65;}

/* ---------- Forms (contact) ---------- */
.form-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:30px;box-shadow:var(--shadow);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row.single{grid-template-columns:1fr;}
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px;}
input,textarea,select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(133,27,52,.12);}
textarea{min-height:130px;resize:vertical;}
.form-checkbox{display:flex;gap:10px;align-items:flex-start;margin:14px 0;}
.form-checkbox input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--brand);}
.form-checkbox label{font-size:12.5px;margin:0;font-weight:400;}
.form-checkbox a{color:var(--brand);text-decoration:underline;}
.contact-list{list-style:none;margin:18px 0 0;padding:0;}
.contact-list li{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:15px;color:var(--muted);}
.contact-list svg{width:20px;height:20px;color:var(--brand);flex:0 0 auto;margin-top:2px;}
.contact-list strong{color:var(--ink);font-weight:600;}

/* ---------- FAQ accordion ---------- */
.faq-list{display:grid;gap:10px;max-width:820px;}
.faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .15s,border-color .15s;}
.faq-item[open]{border-color:#e3c6ce;box-shadow:var(--shadow-soft);}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:14px;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:var(--brand);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .answer{padding:0 22px 18px;color:var(--muted);font-size:15px;line-height:1.7;}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.blog-card img{width:100%;height:190px;object-fit:cover;}
.blog-card .body{padding:22px;}
.blog-card .tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:var(--wine-tint);padding:4px 10px;border-radius:999px;margin-bottom:12px;}
.blog-card h3{font-size:18px;margin:0 0 10px;line-height:1.25;}
.blog-card h3 a:hover{color:var(--brand);}
.blog-card p{font-size:14px;color:var(--muted);line-height:1.6;margin:0;}
.blog-card .meta{font-size:12.5px;color:var(--muted);margin-top:14px;}

/* ---------- Prose (blog articles, legal, glossary) ---------- */
.prose{max-width:760px;margin:0 auto;font-size:17px;line-height:1.8;color:#2a2024;}
.prose h2{font-size:28px;margin:48px 0 16px;}
.prose h3{font-size:21px;margin:36px 0 12px;}
.prose p{margin:0 0 18px;}
.prose ul,.prose ol{margin:0 0 18px;padding-left:24px;}
.prose li{margin:8px 0;}
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;}
.prose blockquote{margin:24px 0;padding:16px 22px;border-left:3px solid var(--brand);background:var(--wine-tint);border-radius:0 12px 12px 0;color:var(--ink);font-style:italic;}
.prose strong{color:var(--ink);}
.prose img{border-radius:14px;margin:24px 0;box-shadow:var(--shadow-soft);}
.prose hr{border:none;border-top:1px solid var(--line);margin:36px 0;}
.article-meta{max-width:760px;margin:0 auto 20px;font-size:13.5px;color:var(--muted);}
.article-hero img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);margin:0 auto 16px;}

/* Glossary */
.glossary{max-width:820px;margin:0 auto;display:grid;gap:14px;}
.gloss-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:22px 24px;}
.gloss-item h3{font-size:18px;color:var(--brand);margin:0 0 8px;}
.gloss-item p{font-size:15px;line-height:1.7;color:var(--muted);margin:0;}

/* ---------- Footer ---------- */
.site-footer{background:#160710;color:rgba(255,255,255,.72);padding:64px 0 28px;font-size:14px;}
.site-footer a{color:rgba(255,255,255,.72);}
.site-footer a:hover{color:#fff;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-brand .logo{font-family:var(--disp);font-weight:700;font-size:22px;color:#fff;margin-bottom:14px;}
.footer-brand p{line-height:1.7;max-width:30ch;}
.footer-col h4{font-family:var(--disp);font-size:14px;color:#fff;margin:0 0 16px;letter-spacing:.02em;}
.footer-col a{display:block;padding:5px 0;}
.footer-contact div{margin:8px 0;display:flex;gap:10px;align-items:flex-start;}
.footer-contact svg{width:16px;height:16px;color:#f6d5dd;flex:0 0 auto;margin-top:3px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:24px;font-size:13px;color:rgba(255,255,255,.55);}
.footer-bottom .links{display:flex;gap:20px;flex-wrap:wrap;}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(37,211,102,.4);transition:transform .15s;}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:28px;height:28px;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  body{font-size:16px;}
  .section{padding:72px 0;}
  .band .container{grid-template-columns:1fr;gap:32px;}
  .band.reverse .photo{order:0;}
  .band .photo img{height:340px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .metrics .grid{grid-template-columns:repeat(2,1fr);gap:32px 20px;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .diff .grid-3{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .hero .container{padding:130px 0 80px;}
}
@media (max-width:620px){
  .container{width:calc(100% - 36px);}
  .grid-2,.grid-3,.grid-4,.blog-grid,.team-grid{grid-template-columns:1fr;}
  .metrics .grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero{min-height:560px;}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .btn,.card,.icard,.blog-card{transition:none;}
}
