/* ===================================================================
   CrowdHive v3 — final stylesheet (v3-pastoral, Round 5)
   =================================================================== */
:root{
  --red:#C8102E; --red-soft:rgba(200,16,46,.08); --red-deep:#9F0D24;
  --white:#FFFFFF; --glacier:#F8F9F7; --cream:#F4EFE2;
  --ink:#1A2520; --charcoal:#2D3338; --muted:#5A6E5C; --muted2:#828B82; --line:rgba(31,58,46,.08);
  --azure:#5B7E9B; --glacier-blue:#B8CED5; --stone:#8B8F8A;
  --meadow:#4A7F5E; --fresh:#7BAB6E; --forest:#1F3A2E; --sky:#D8E5E8;
  --sun:#F7B500; --amber:#E89A1A;
  --r-chip:4px; --r-input:8px; --r-btn:12px; --r-form:16px; --r-card:24px; --r-hero:32px; --r-pill:9999px;
  --shadow-soft:0 4px 16px rgba(31,58,46,.06);
  --shadow-medium:0 8px 24px rgba(31,58,46,.10);
  --shadow-hero:0 24px 60px -16px rgba(31,58,46,.18);
  --shadow-button-prim:0 8px 22px rgba(200,16,46,.30);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{ font-family:'Inter',sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img{display:block;max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 48px;}

/* ---------- 4F mark + color modes ---------- */
.ch-mark{ color:var(--ink); display:block; }
.ch-mark .cross{ fill:var(--red); }
.on-red .ch-mark{ color:var(--glacier); }
.on-red .ch-mark .cross{ fill:var(--glacier); }
.on-dark .ch-mark{ color:var(--cream); }
.on-dark .ch-mark .cross{ fill:var(--red); }

/* ---------- Lockups (Path B) ---------- */
.wm{ font-family:'Inter Tight',sans-serif; font-weight:500; letter-spacing:-0.06em; color:currentColor; font-feature-settings:'kern' 1,'liga' 1,'calt' 1; display:inline-flex; align-items:baseline; gap:2px; line-height:1; }
.wm .ch-cross{ width:.56em; height:.56em; color:var(--red); align-self:flex-end; margin-bottom:.06em; }
.lockup-h{ display:inline-flex; align-items:center; gap:12px; color:var(--ink); }
.lockup-v{ display:inline-flex; flex-direction:column; align-items:center; gap:8px; color:var(--ink); }
.on-dark .lockup-h, .on-dark .lockup-v{ color:var(--cream); }

/* legacy wordmark (kept for any inline use) */
.brand{ font-family:'Inter Tight',sans-serif; font-weight:500; letter-spacing:-0.06em; color:var(--ink); display:inline-flex; align-items:baseline; gap:2px; text-decoration:none; white-space:nowrap; }
.ch-cross{ width:0.6em; height:0.6em; color:var(--red); display:inline-block; align-self:flex-end; margin-bottom:.1em; flex-shrink:0; }

/* ---------- Buttons ---------- */
.btn-prim{ position:relative; display:inline-flex; align-items:center; gap:10px; color:#fff; font-family:'Inter Tight',sans-serif; font-weight:600; border:none; cursor:pointer; text-decoration:none; border-radius:var(--r-pill); box-shadow:var(--shadow-button-prim); background:linear-gradient(110deg, var(--red) 0%, var(--red) 42%, var(--red-deep) 60%, #7d0a1c 100%); background-size:230% 100%; background-position:0% 0; transition:background-position .5s cubic-bezier(.4,0,.2,1), transform .18s ease, box-shadow .25s ease; }
.btn-prim:hover{ background-position:100% 0; transform:translateY(-2px); box-shadow:0 14px 32px rgba(200,16,46,.44); }
.btn-prim:active{ transform:translateY(0) scale(.98); }
.btn-prim span[aria-hidden="true"]{ transition:transform .25s ease; }
.btn-prim:hover span[aria-hidden="true"]{ transform:translateX(5px); }
.flip-lbl{ position:relative; display:inline-grid; overflow:hidden; vertical-align:bottom; }
.flip-lbl > span{ grid-area:1/1; white-space:nowrap; transition:transform .34s cubic-bezier(.4,0,.2,1), opacity .34s ease; }
.flip-lbl > span:last-child{ transform:translateY(120%); opacity:0; }
.btn-prim:hover .flip-lbl > span:first-child{ transform:translateY(-120%); opacity:0; }
.btn-prim:hover .flip-lbl > span:last-child{ transform:translateY(0); opacity:1; }
.btn-prim.sm{ height:44px; padding:0 8px 0 18px; font-size:15px; white-space:nowrap; }
.btn-prim.lg{ height:56px; padding:0 30px 0 8px; font-size:18px; white-space:nowrap; }
.btn-prim .mono-circle{ width:40px; height:40px; border-radius:var(--r-pill); background:#fff; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.btn-prim.sm .mono-circle{ width:30px; height:30px; }
.btn-link{ display:inline-flex; align-items:center; gap:7px; color:var(--meadow); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:16px; text-decoration:none; cursor:pointer; }
.btn-link .arw{ transition:transform .18s ease; }
.btn-link:hover{ text-decoration:underline; text-underline-offset:4px; }
.btn-link:hover .arw{ transform:translateX(3px); }
.btn-link.red{ color:var(--red); }

/* eyebrow with mark prefix */
.eyebrow{ font-family:'Inter Tight',sans-serif; font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:var(--red); font-weight:600; margin:0 0 20px; }
.eyebrow-mk{ display:inline-flex; align-items:center; gap:8px; }
.eyebrow-mk [data-mark]{ display:inline-flex; }

/* ---------- Photo placeholder ---------- */
.photo{ position:relative; overflow:hidden; background:linear-gradient(135deg,#D8E5E8 0%,#F4EFE2 50%,#E8DFC8 100%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; }
.photo svg.ridge-bg{ position:absolute; left:0; right:0; bottom:0; width:100%; height:auto; opacity:.1; }
.photo .picon{ font-size:30px; opacity:.5; margin-bottom:12px; position:relative; }
.photo .pcap{ font-family:'Instrument Serif',serif; font-style:italic; color:var(--muted); font-size:18px; line-height:1.45; max-width:34ch; position:relative; letter-spacing:.2px; }
.photo .pmj{ position:absolute; top:14px; left:14px; font-family:'Inter',sans-serif; font-weight:500; font-size:10px; letter-spacing:.3px; color:var(--muted2); opacity:.55; background:rgba(255,255,255,.5); padding:3px 7px; border-radius:4px; }
.photo.has-img{ background:none; }
.photo-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- Mountain divider ---------- */
.divider{ width:100%; display:block; line-height:0; position:relative; }
.divider svg{ width:100%; height:auto; display:block; }
.divider .dvr-mark{ position:absolute; left:50%; top:38%; transform:transl(-50%,-50%); opacity:.4; }
.divider .dvr-mark{ transform:translateX(-50%); }

/* ===== decorative cards (heading area only) ===== */
.deco-card{ position:relative; overflow:hidden; background:var(--cream); border-radius:var(--r-card); padding:48px; margin-bottom:32px; }
.deco-card-body{ position:relative; z-index:2; }
.deco-waves{ position:absolute; top:28px; right:28px; width:240px; height:150px; color:var(--forest); opacity:.18; pointer-events:none; z-index:1; }
.deco-pills{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; position:relative; z-index:2; }
.deco-pill{ display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:var(--r-pill); padding:10px 18px; font-family:'Inter Tight',sans-serif; font-weight:500; font-size:14px; color:var(--ink); }
.deco-pill::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--red); flex-shrink:0; }
.deco-wm{ position:absolute; left:-24px; bottom:-40px; z-index:1; opacity:.06; pointer-events:none; }
.deco-wm .ch-mark{ color:var(--forest); }

/* ===== heritage stamp seal (site-wide texture) ===== */
.deco-seal{ position:absolute; color:var(--forest); opacity:.16; pointer-events:none; z-index:1; line-height:0; }
.deco-seal.light{ color:var(--glacier); opacity:.26; }
.deco-seal svg{ display:block; }
.seal-host{ position:relative; overflow:hidden; }
.seal-host > .wrap{ position:relative; z-index:2; }

/* ===== composed decorative elements (Why invest / Blog / FAQ / About cards) ===== */
.deco-topo{ position:absolute; inset:0; width:100%; height:100%; color:var(--forest); opacity:.12; pointer-events:none; z-index:0; }
.deco-ridge{ position:absolute; top:22px; right:26px; width:148px; height:60px; color:var(--forest); opacity:.18; pointer-events:none; z-index:1; }
.deco-bracket{ position:absolute; width:34px; height:34px; color:var(--forest); opacity:.16; pointer-events:none; z-index:1; }
.deco-bracket.tr{ top:22px; right:22px; }
.deco-bracket.bl{ left:22px; bottom:22px; }
.deco-folio{ position:absolute; white-space:nowrap; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted2); pointer-events:none; z-index:1; }
.deco-folio.bl{ left:48px; bottom:26px; }
.deco-folio.tr{ right:48px; top:26px; }

/* ============ BLOG ============ */
.blog-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:24px; align-items:start; }
.bcard{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--shadow-soft); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
.bcard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-medium); }
.bphoto{ position:relative; }
.bcard.feat .bphoto .photo{ aspect-ratio:16/9; }
.bcard.std .bphoto .photo{ aspect-ratio:4/5; }
.bphoto .photo{ width:100%; }
.bcover{ position:relative; width:100%; overflow:hidden; }
.bcard.feat .bcover{ aspect-ratio:16/9; }
.bcard.std .bcover{ aspect-ratio:4/5; }
.bcover .ridge{ position:absolute; left:0; right:0; bottom:0; width:100%; height:auto; display:block; }
.bcover .glyph{ position:absolute; top:-10px; right:10px; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:120px; line-height:.8; color:rgba(255,255,255,.13); }
.bcard.std .bcover .glyph{ font-size:88px; top:-6px; }
.bcover .cmk{ position:absolute; left:16px; bottom:14px; opacity:.55; }
.bcover.c-method{ background:linear-gradient(150deg,#1F3A2E 0%,#34594733 100%),linear-gradient(150deg,#1F3A2E,#33523F); }
.bcover.c-market{ background:linear-gradient(150deg,#5B7E9B,#9DBAC6); }
.bcover.c-portfolio{ background:linear-gradient(150deg,#4A7F5E,#7BAB6E); }
.bcover.c-risk{ background:linear-gradient(150deg,#2D3338,#1F3A2E); }
.bcover.has-img{ background:#1F3A2E; }
.bcover-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.bcover.has-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(31,58,46,.42) 0%, rgba(31,58,46,0) 32%, rgba(31,58,46,0) 70%, rgba(31,58,46,.28) 100%); }
.bphoto .photo .pcap{ font-size:14px; }
.bchip{ position:absolute; top:14px; left:14px; z-index:3; white-space:nowrap; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:.5px; padding:6px 10px; border-radius:4px; background:var(--red); color:#fff; }
.btime{ position:absolute; top:14px; right:14px; z-index:3; white-space:nowrap; transform:rotate(3deg); background:var(--sun); color:var(--ink); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:11px; padding:5px 9px; border-radius:6px; box-shadow:0 6px 14px rgba(247,181,0,.3); }
.bbody{ padding:22px; display:flex; flex-direction:column; flex:1; }
.bcard.std .bbody{ padding:18px; }
.bdate{ font-size:12px; color:var(--muted); margin-bottom:8px; }
.bcard.feat h3{ font-family:'Inter Tight',sans-serif; font-weight:500; font-size:25px; letter-spacing:-.8px; line-height:1.14; margin:0 0 12px; color:var(--ink); }
.bcard.std h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:16.5px; letter-spacing:-.4px; line-height:1.22; margin:0 0 10px; color:var(--ink); }
.bcard.std .bexc{ margin-top:0; }
.bexc{ font-size:14.5px; line-height:1.5; color:var(--muted); margin:0 0 18px; }
.bcard.std .bexc{ font-size:13px; margin:0 0 14px; }
.bbyline{ margin-top:auto; display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--ink); }
.bbyline [data-mark]{ display:inline-flex; flex-shrink:0; }
.bcard.std .bbyline{ font-size:12px; }
.blog-foot{ text-align:center; margin-top:32px; }
.bcard.std .bchip{ font-size:10px; padding:5px 8px; }
.bcard.std .btime{ top:auto; bottom:14px; right:14px; transform:rotate(3deg); font-size:10.5px; padding:5px 8px; }

@media (max-width:768px){ .deco-card{ padding:28px 22px; } .deco-waves{ width:150px; height:95px; top:18px; right:14px; } .deco-ridge{ width:110px; height:46px; } .blog-grid{ grid-template-columns:1fr; } }

/* ============ PROMO BAR ============ */
.promobar{ background:var(--forest); color:var(--glacier); text-align:center; font-size:13.5px; font-weight:500; padding:11px 20px; letter-spacing:.1px; }
.promobar a{ color:var(--sun); text-decoration:none; font-weight:600; }
.promobar .b{ color:#fff; font-weight:700; }

/* ============ HEADER ============ */
header.site{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85); backdrop-filter:saturate(150%) blur(14px); border-bottom:1px solid var(--line); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; gap:24px; }
.nav .lockup-h:hover{ color:#000; }
.nav-links{ display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0; }
.nav-links a{ text-decoration:none; color:var(--ink); font-size:15px; font-weight:500; transition:color .15s; }
.nav-links a:hover{ color:var(--red); }
.nav-right{ display:flex; align-items:center; gap:16px; }
.lang{ display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:500; color:var(--ink); padding:8px 12px; border-radius:var(--r-btn); border:1px solid var(--line); background:#fff; cursor:pointer; }
.flag-sq{ width:18px; height:18px; border-radius:3px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); flex-shrink:0; }
.link-plain{ font-size:15px; font-weight:500; color:var(--ink); text-decoration:none; cursor:pointer; }
.link-plain:hover{ color:var(--red); }
.menu-toggle{ display:none; }
.mobile-menu{ display:none; }

/* ============ HERO ============ */
.hero{ position:relative; height:84vh; min-height:600px; max-height:820px; overflow:hidden; }
.hero-photo{ position:absolute; inset:0; }
.hero-photo .photo{ width:100%; height:100%; }
.hero-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(105deg, rgba(91,126,155,.34) 0%, rgba(91,126,155,.06) 42%, rgba(45,51,56,.18) 100%); }
.hero-inner{ position:relative; z-index:2; height:100%; max-width:1280px; margin:0 auto; padding:0 48px; }
.hero-card{ position:absolute; left:48px; bottom:116px; width:53%; max-width:600px; background:var(--white); border-radius:var(--r-hero); box-shadow:var(--shadow-hero); padding:50px 50px 46px; }
h1.hero-h1{ font-family:'Inter Tight',sans-serif; font-weight:500; font-size:clamp(40px,5.2vw,68px); line-height:1.04; letter-spacing:-2.4px; margin:0 0 20px; }
.hero-sub{ font-size:18px; line-height:1.55; color:var(--muted); margin:0 0 30px; max-width:40ch; }
.hero-ctas{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hero-seal{ position:absolute; top:-22px; right:-22px; width:92px; height:92px; z-index:4; filter:drop-shadow(0 6px 16px rgba(31,58,46,.18)); transition:transform .4s ease; }
.hero-seal svg{ display:block; width:100%; height:100%; transition:transform 4s cubic-bezier(.22,.61,.36,1); transform-origin:center; }
.hero-seal:hover{ transform:scale(1.08); }
.hero-seal:hover svg{ transform:rotate(360deg); }
.hero-seal-mk{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:30px; height:30px; }
.hero-seal-mk svg{ width:100%; height:100%; }
.hero-sticker{ position:absolute; right:-26px; bottom:-22px; transform:rotate(4deg); background:var(--sun); color:var(--ink); border-radius:var(--r-btn); padding:11px 17px; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:14px; box-shadow:0 10px 24px rgba(247,181,0,.34); line-height:1.2; }
.hero-sticker b{ font-weight:700; color:var(--ink); }
.trust-strip{ position:absolute; left:48px; bottom:30px; display:inline-flex; align-items:center; gap:13px; flex-wrap:wrap; background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill); padding:9px 18px; box-shadow:var(--shadow-soft); font-size:13.5px; font-weight:500; color:var(--ink); }
.trust-strip .ck{ color:var(--red); font-weight:700; }
.trust-strip .stars{ color:var(--sun); letter-spacing:1px; font-size:12px; }
.trust-strip .muted{ color:var(--muted); }
.trust-strip .sep{ color:var(--muted2); }
.trust-strip .tm{ display:inline-flex; align-items:flex-start; gap:7px; }
.trust-strip .tm [data-mark]{ flex-shrink:0; position:relative; top:2px; }
.trust-strip .tm-txt{ display:inline; }

/* ============ SECTION SHELL ============ */
.section{ padding:84px 0; }
.section.glacier{ background:var(--white); }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:30px; }
h2.h2{ font-family:'Inter Tight',sans-serif; font-weight:500; font-size:clamp(30px,3.6vw,48px); line-height:1.12; letter-spacing:-1.8px; margin:0; padding-bottom:.04em; }
.sec-sub{ font-size:16px; line-height:1.55; color:var(--muted); margin:0 0 24px; max-width:56ch; }

/* ============ KPI ROW — Swiss data sheet ============ */
.kpi-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1.5px solid var(--ink); }
.kpi{ position:relative; padding:22px 24px 6px; transition:background .28s ease; }
.kpi:first-child{ padding-left:0; }
.kpi:hover{ background:linear-gradient(180deg, rgba(74,127,94,.06), transparent 80%); }
.kpi + .kpi{ border-left:1px solid var(--line); }
.kpi-ix{ display:flex; align-items:center; gap:8px; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:12px; letter-spacing:.4px; text-transform:uppercase; color:var(--muted2); margin-bottom:16px; }
.kpi-ix::before{ content:""; width:16px; height:3px; background:var(--red); flex-shrink:0; transition:width .3s ease; }
.kpi:hover .kpi-ix::before{ width:30px; }
.kpi .num{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:46px; letter-spacing:-2px; line-height:1; margin-bottom:10px; transition:transform .3s ease; }
.kpi:hover .num{ transform:translateY(-3px); }
.kpi .num .pct{ color:var(--meadow); }
.kpi .lbl{ font-size:14px; color:var(--muted); line-height:1.45; }
.kpi-foot{ font-size:12.5px; color:var(--muted); margin:26px 0 0; padding-top:14px; border-top:1px solid var(--line); }

/* ============ AUDIT BLOCK ============ */
.audit{ display:grid; grid-template-columns:80px 1fr; gap:28px; align-items:start; background:var(--cream); border-radius:var(--r-hero); padding:44px 48px; }
.audit-badge{ width:72px; height:72px; border-radius:var(--r-pill); background:rgba(74,127,94,.14); display:flex; align-items:center; justify-content:center; }
.audit h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:24px; letter-spacing:-.8px; margin:0 0 12px; }
.audit p{ font-size:15.5px; line-height:1.6; color:var(--charcoal); margin:0 0 18px; max-width:64ch; }
.audit-checks{ display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; margin:0; padding:0; }
.audit-checks li{ font-size:13.5px; font-weight:500; color:var(--ink); display:inline-flex; align-items:center; gap:8px; }
.audit-checks .ck{ color:var(--meadow); font-weight:700; }

/* ============ WHY INVEST (sticky) ============ */
.why{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start; }
.why-sticky{ position:sticky; top:100px; }
.why-sticky h2{ margin-bottom:16px; }
.why-cards{ display:flex; flex-direction:column; gap:20px; }
.why-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); padding:32px 34px; box-shadow:var(--shadow-soft); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.why-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-medium); border-color:rgba(31,58,46,.16); }
.why-card:nth-child(2){ background:var(--white); margin-left:28px; }
.why-card:nth-child(3){ background:var(--cream); }
.why-card .wc-num{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:12px; color:var(--azure); letter-spacing:1px; text-transform:uppercase; margin-bottom:14px; transition:color .22s ease, letter-spacing .22s ease; }
.why-card:hover .wc-num{ color:var(--meadow); letter-spacing:1.6px; }
.why-card h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:22px; letter-spacing:-.6px; margin:0 0 10px; }
.why-card p{ font-size:15px; line-height:1.6; color:var(--muted); margin:0; }

/* ============ PROJECT CARDS — mixed grid ============ */
.chips{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px; }
.chip{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:500; padding:9px 16px; border-radius:var(--r-pill); border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; transition:all .15s; }
.chip:hover{ background:var(--glacier-blue); border-color:transparent; }
.chip.active{ background:var(--meadow); border-color:transparent; color:#fff; }
.proj-grid{ display:grid; grid-template-columns:1.55fr 1fr 1fr; gap:24px; align-items:start; }
.pcard{ position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--shadow-soft); overflow:visible; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.pcard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-medium); }
.pcard.cream{ background:var(--cream); }
.pcard .ph-wrap{ position:relative; border-radius:var(--r-card) var(--r-card) 0 0; overflow:hidden; }
.pcard.feat .ph-wrap .photo{ aspect-ratio:16/9; }
.pcard.std .ph-wrap .photo{ aspect-ratio:4/5; }
.pcard .photo{ width:100%; }
.pcard .photo .pcap{ font-size:15px; }
.flag-pin{ position:absolute; top:-12px; left:18px; z-index:4; width:44px; height:44px; border-radius:var(--r-pill); background:#fff; box-shadow:0 6px 16px rgba(31,58,46,.18); display:flex; align-items:center; justify-content:center; border:2px solid #fff; }
.flag-pin .flag-c{ width:30px; height:30px; border-radius:50%; overflow:hidden; display:block; }
.grade{ position:absolute; top:14px; right:14px; z-index:4; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:11px; letter-spacing:.5px; padding:6px 11px; border-radius:var(--r-chip); box-shadow:0 4px 12px rgba(31,58,46,.18); }
.grade.a{ background:var(--sun); color:var(--ink); transform:rotate(5deg); }
.grade.bbb{ background:var(--meadow); color:#fff; transform:rotate(-5deg); }
.editors{ position:absolute; top:-13px; right:-10px; z-index:5; transform:rotate(4deg); background:var(--sun); color:var(--ink); font-family:'Inter Tight',sans-serif; font-weight:600; font-size:12.5px; padding:7px 12px 7px 9px; border-radius:var(--r-btn); box-shadow:0 8px 20px rgba(247,181,0,.35); display:inline-flex; align-items:center; gap:6px; }
.editors [data-mark]{ display:inline-flex; }
.pbody{ padding:22px 22px 0; display:flex; flex-direction:column; flex:1; position:relative; }
.pcard.feat .pbody{ padding:26px 28px 0; }
.pname{ font-family:'Inter Tight',sans-serif; font-weight:600; letter-spacing:-.4px; margin:0 0 6px; }
.pcard.std .pname{ font-size:19px; min-height:2.5em; line-height:1.25; }
.pcard.feat .pname{ font-size:24px; }
.pmeta{ font-size:12.5px; color:var(--muted); margin:0 0 18px; display:flex; align-items:center; gap:6px; }
.pmeta .sep{ color:var(--muted2); }
.rate-row{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:16px; }
.rate-big{ font-family:'Inter Tight',sans-serif; font-weight:600; line-height:1; letter-spacing:-1.5px; }
.pcard.std .rate-big{ font-size:34px; }
.pcard.feat .rate-big{ font-size:44px; }
.rate-big .pct{ color:var(--meadow); font-size:.62em; vertical-align:top; margin-left:1px; }
.rate-term{ text-align:right; display:flex; flex-direction:column; line-height:1.25; flex-shrink:0; white-space:nowrap; }
.rate-term .t1{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:15px; }
.rate-term .t2{ font-size:11px; color:var(--muted); }
.progress{ height:6px; border-radius:var(--r-pill); background:var(--cream); overflow:hidden; position:relative; }
.pcard.cream .progress{ background:rgba(31,58,46,.08); }
.progress > i{ display:block; height:100%; border-radius:var(--r-pill); background:var(--red); position:relative; overflow:hidden; }
.progress > i::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:translateX(-100%); animation:shimmer 2.4s ease-in-out infinite; }
@keyframes shimmer{0%{transform:translateX(-100%);}60%,100%{transform:translateX(240%);}}
.plabels{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; font-size:12.5px; }
.funded{ display:inline-flex; align-items:center; gap:6px; font-weight:600; color:var(--ink); }
.funded .pip{ width:7px; height:7px; border-radius:50%; background:var(--red); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,16,46,.5);}50%{box-shadow:0 0 0 4px rgba(200,16,46,0);}}
.left-amt{ color:var(--muted); }
.activity{ position:absolute; right:14px; top:-13px; z-index:6; display:inline-flex; align-items:center; gap:6px; background:var(--white); border:1px solid var(--red-soft); color:var(--red); font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:var(--r-pill); box-shadow:var(--shadow-soft); }
.activity .dot{ width:6px; height:6px; border-radius:50%; background:var(--red); animation:pulse 1.8s ease-in-out infinite; }
.pcta{ margin-top:18px; border-top:1px dashed var(--line); padding:16px 0; display:flex; }
.pcard.feat .extra{ display:flex; gap:28px; margin:4px 0 20px; }
.pcard.feat .extra .k{ font-size:11.5px; color:var(--muted); margin-bottom:3px; }
.pcard.feat .extra .v{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:16px; }

/* project carousel dots (mobile only) */
.proj-dots{ display:none; }
.blog-dots{ display:none; }

/* ============ HOW IT WORKS ============ */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.step{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); padding:34px 30px 30px; box-shadow:var(--shadow-soft); position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.step:hover{ transform:translateY(-4px); box-shadow:var(--shadow-medium); }
.step::before{ content:""; position:absolute; top:0; left:0; width:46px; height:4px; background:var(--red); border-radius:0 0 4px 0; }
.step-ghost{ position:absolute; right:10px; bottom:-26px; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:128px; line-height:1; letter-spacing:-5px; color:var(--forest); opacity:.05; pointer-events:none; z-index:0; }
.step:nth-child(2){ margin-top:26px; background:var(--white); }
.step:nth-child(3){ margin-top:52px; }
.step .snum{ position:relative; z-index:1; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:15px; width:42px; height:42px; border-radius:var(--r-pill); background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.step h3{ position:relative; z-index:1; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:21px; letter-spacing:-.5px; margin:0 0 10px; }
.step p{ position:relative; z-index:1; font-size:15px; line-height:1.6; color:var(--muted); margin:0; }

/* ============ CALCULATOR ============ */
.calc{ display:grid; grid-template-columns:1.05fr .95fr; gap:0; border-radius:var(--r-hero); overflow:hidden; box-shadow:var(--shadow-hero); }
.calc-left{ background:var(--white); border:1px solid var(--line); border-right:none; padding:48px 46px; border-radius:var(--r-hero) 0 0 var(--r-hero); }
.calc-left h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:26px; letter-spacing:-.8px; margin:0 0 28px; }
.calc-field{ margin-bottom:26px; }
.calc-field .cf-top{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
.calc-field .cf-lbl{ font-size:14px; color:var(--muted); font-weight:500; }
.calc-field .cf-val{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:22px; letter-spacing:-.6px; }
.range{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:var(--r-pill); accent-color:var(--meadow); background:linear-gradient(90deg,var(--meadow) 0 60%, var(--cream) 60% 100%); outline:none; }
.range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:#fff; border:5px solid var(--meadow); box-shadow:var(--shadow-soft); cursor:pointer; }
.range::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:#fff; border:5px solid var(--meadow); cursor:pointer; }
.calc-right{ position:relative; overflow:hidden; background:var(--forest); color:var(--glacier); padding:48px 46px; border-radius:0 var(--r-hero) var(--r-hero) 0; display:flex; flex-direction:column; }
.calc-right > :not(.deco-seal){ position:relative; z-index:2; }
.calc-proj{ display:flex; flex-direction:column; gap:10px; }
.proj-opt{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px; border:1px solid var(--line); border-radius:var(--r-btn); background:#fff; cursor:pointer; font-family:inherit; text-align:left; transition:border-color .15s, background .15s, box-shadow .15s; }
.proj-opt:hover{ border-color:var(--meadow); }
.proj-opt.active{ border-color:var(--meadow); background:rgba(74,127,94,.07); box-shadow:inset 0 0 0 1px var(--meadow); }
.po-info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.po-name{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:15px; letter-spacing:-.3px; color:var(--ink); }
.po-meta{ font-size:11.5px; color:var(--muted); }
.po-rate{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:19px; letter-spacing:-.5px; color:var(--ink); flex-shrink:0; }
.po-rate .pct{ color:var(--meadow); font-size:.7em; }
.calc-right .eyebrow{ color:#fff; opacity:.9; }
.calc-result{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:56px; letter-spacing:-2.5px; line-height:1; margin:6px 0 6px; }
.calc-result .pct{ color:var(--meadow); }
.calc-sub{ font-size:14px; color:rgba(248,249,247,.72); margin:0 0 18px; }
.calc-chart{ width:100%; height:96px; display:block; margin:0 0 8px; overflow:visible; }
.calc-chart .grid line{ stroke:rgba(248,249,247,.14); stroke-width:1; vector-effect:non-scaling-stroke; }
.calc-chart .base{ stroke:rgba(248,249,247,.34); stroke-width:1; vector-effect:non-scaling-stroke; }
.calc-chart .area{ fill:rgba(247,181,0,.18); }
.calc-chart .line{ fill:none; stroke:var(--sun); stroke-width:2.5; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.calc-xaxis{ display:flex; justify-content:space-between; font-family:'Inter',sans-serif; font-weight:500; font-size:11px; letter-spacing:.2px; color:rgba(248,249,247,.5); margin:0 0 26px; }
.calc-break{ display:flex; flex-direction:column; gap:12px; margin-bottom:30px; }
.calc-break .row{ display:flex; align-items:center; justify-content:space-between; font-size:14px; padding-bottom:11px; border-bottom:1px solid rgba(248,249,247,.14); }
.calc-break .row .v{ font-family:'Inter Tight',sans-serif; font-weight:600; }
.calc-break .row .v.sun{ color:var(--sun); }
.calc-break .row em{ font-style:normal; font-size:10px; letter-spacing:.5px; text-transform:uppercase; color:rgba(248,249,247,.4); margin-left:6px; }
.calc-right .btn-prim{ align-self:flex-start; margin-top:auto; }

/* ============ AS FEATURED IN ============ */
.featured{ position:relative; overflow:hidden; }
.featured-watermark{ position:absolute; left:-30px; top:50%; transform:translateY(-50%); opacity:.06; pointer-events:none; }
.featured-watermark .ch-mark{ color:var(--forest); }
.featured-grid{ display:grid; grid-template-columns:0.7fr 1.3fr; gap:48px; align-items:center; position:relative; z-index:1; }
.press-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.press-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); padding:26px 26px; box-shadow:var(--shadow-soft); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.press-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-medium); border-color:rgba(31,58,46,.16); }
.press-card .outlet{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:17px; letter-spacing:-.3px; color:var(--charcoal); margin-bottom:12px; }
.press-card .quote{ font-size:14.5px; line-height:1.55; color:var(--charcoal); margin:0; }
.press-card .quote .brand{ font-size:1em; color:var(--ink); }

/* ============ REVIEWS ============ */
.tp-summary{ display:inline-flex; align-items:center; gap:12px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill); padding:10px 20px; box-shadow:var(--shadow-soft); margin-bottom:34px; font-size:14px; font-weight:500; }
.tp-summary .tp-stars{ color:var(--sun); letter-spacing:1px; }
.tp-summary .sep{ color:var(--muted2); }
.tp-summary .muted{ color:var(--muted); }
.reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tp-rating{ display:inline-flex; gap:3px; }
.tp-rating i{ width:21px; height:21px; background:#00B67A; display:flex; align-items:center; justify-content:center; border-radius:2px; }
.tp-rating.sm i{ width:18px; height:18px; }
.tp-rating i svg{ width:13px; height:13px; fill:#fff; display:block; }
.rv-marquee{ overflow:hidden; padding:14px 0; -webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.rv-track{ display:flex; gap:20px; width:max-content; padding:0 24px; animation:rvscroll 80s linear infinite; }
.rv-marquee:hover .rv-track{ animation-play-state:paused; }
@keyframes rvscroll{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - 10px)); } }
.rv-card{ width:348px; flex-shrink:0; background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); padding:24px 26px 22px; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; }
.rv-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.rv-verified{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; color:var(--muted); font-weight:500; }
.rv-verified .vk{ color:#00B67A; font-weight:700; }
.rv-title{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:16px; letter-spacing:-.3px; margin:0 0 8px; }
.rv-card p{ font-size:14.5px; line-height:1.55; color:var(--charcoal); margin:0 0 18px; }
.rv-who{ display:flex; align-items:center; gap:11px; margin-top:auto; }
.rv-av{ width:38px; height:38px; border-radius:50%; background:var(--glacier-blue); display:flex; align-items:center; justify-content:center; font-family:'Inter Tight',sans-serif; font-weight:600; color:var(--forest); font-size:14px; flex-shrink:0; }
.rv-n{ font-weight:600; font-size:13.5px; }
.rv-m{ font-size:12px; color:var(--muted); }

/* ============ COMMUNITY ============ */
.community{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:22px; align-items:stretch; }
.cc{ border-radius:var(--r-card); padding:32px 30px; display:flex; flex-direction:column; }
.cc.telegram{ background:var(--azure); color:#fff; }
.cc.telegram .eyebrow{ color:#fff; opacity:.85; }
.cc.news{ background:var(--cream); }
.cc.social{ background:var(--white); border:1px solid var(--line); }
.cc h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:21px; letter-spacing:-.5px; margin:0 0 10px; }
.cc p{ font-size:14.5px; line-height:1.55; margin:0 0 22px; }
.cc.telegram p{ color:rgba(255,255,255,.86); }
.cc.news p, .cc.social p{ color:var(--muted); }
.cc .cc-foot{ margin-top:auto; }
.cc .btn-prim.tg{ background:#fff; color:var(--azure); box-shadow:none; }
.cc .btn-prim.tg .mono-circle{ background:var(--azure); }
.news-form{ display:flex; gap:8px; }
.news-form input{ flex:1; height:46px; border-radius:var(--r-btn); border:1px solid var(--line); padding:0 14px; font-family:inherit; font-size:14px; background:#fff; }
.news-form button{ height:46px; }
.social-links{ display:flex; gap:10px; }
.social-links a{ width:46px; height:46px; border-radius:var(--r-btn); background:var(--glacier); display:flex; align-items:center; justify-content:center; color:var(--ink); font-weight:700; font-size:15px; text-decoration:none; transition:.15s; }
.social-links a:hover{ background:var(--meadow); color:#fff; }

/* ============ ABOUT ============ */
.about{ position:relative; padding:190px 0 118px; margin-top:-72px; overflow:hidden; }
.about::before{ content:""; position:absolute; left:0; right:0; top:0; height:210px; background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,.6) 55%, rgba(255,255,255,0) 100%); z-index:1; pointer-events:none; }
.about-bg{ position:absolute; inset:0; }
.about-bg .photo{ width:100%; height:100%; }
.about-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, #fff 0%, rgba(255,255,255,.97) 22%, rgba(255,255,255,.82) 55%, rgba(255,255,255,.5) 100%); }
.about-inner{ position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:0 48px; }
.about-qmark{ display:flex; justify-content:center; margin-bottom:6px; position:relative; z-index:3; }
.pull-quote{ text-align:center; font-family:'Instrument Serif',serif; font-style:italic; font-weight:400; font-size:clamp(28px,3vw,36px); color:var(--forest); margin:0 0 -22px; position:relative; z-index:3; letter-spacing:-.4px; }
.about-card{ position:relative; overflow:hidden; width:72%; max-width:780px; margin:0 auto; background:var(--white); border-radius:var(--r-hero); box-shadow:var(--shadow-hero); padding:54px 60px; }
.about-card > :not(.deco-waves):not(.deco-wm):not(.deco-seal){ position:relative; z-index:2; }
.about-card .eyebrow{ margin-bottom:14px; }
.about-card h2{ font-family:'Inter Tight',sans-serif; font-weight:500; font-size:38px; letter-spacing:-1.4px; margin:0 0 26px; display:flex; align-items:baseline; gap:.28em; }
.about-card h2 .wm{ font-size:1em; }
.about-p{ font-size:16px; line-height:1.62; color:var(--charcoal); margin:0 0 16px; }
.about-p.lead::first-letter{ font-family:'Instrument Serif',serif; font-weight:400; font-size:92px; line-height:.78; color:var(--red); float:left; margin:6px 14px 0 0; }
.about-p .wm{ font-size:1em; color:var(--ink); }
.about-p strong{ color:var(--ink); font-weight:600; }
.stat-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; align-items:start; }
.stat{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-card); padding:24px; box-shadow:var(--shadow-soft); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.stat.lift{ margin-top:-8px; }
.stat.tilt{ transform:rotate(2deg); }
.stat:hover{ transform:translateY(-5px); box-shadow:var(--shadow-medium); border-color:rgba(31,58,46,.16); }
.stat.tilt:hover{ transform:rotate(2deg) translateY(-5px); }
.stat .num{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:32px; letter-spacing:-1.2px; line-height:1; margin-bottom:8px; transition:transform .22s ease; }
.stat:hover .num{ transform:scale(1.04); transform-origin:left center; }
.stat .num .pct{ color:var(--meadow); }
.stat .lbl{ font-size:12.5px; color:var(--stone); }

/* ============ BONUS BANNER ============ */
.bonus{ position:relative; overflow:hidden; border-radius:var(--r-hero); padding:60px 56px; color:var(--glacier); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.bonus-bg{ position:absolute; inset:0; }
.bonus-bg img{ width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.bonus-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(31,58,46,.92) 0%, rgba(31,58,46,.72) 48%, rgba(31,58,46,.32) 100%); }
.bonus-inner{ position:relative; z-index:2; max-width:620px; }
.bonus-eyebrow{ font-family:'Inter Tight',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--sun); font-weight:600; margin:0 0 14px; }
.bonus h2{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:clamp(28px,3.4vw,42px); line-height:1.08; letter-spacing:-1.6px; margin:0 0 14px; color:#fff; }
.bonus h2 .amt{ color:var(--sun); }
.bonus-sub{ font-size:16px; line-height:1.55; color:rgba(248,249,247,.82); margin:0 0 26px; max-width:46ch; }
.bonus .btn-prim{ position:relative; z-index:2; }
.bonus-badge{ position:relative; z-index:2; width:152px; height:152px; border-radius:50%; background:var(--sun); color:var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 18px 44px rgba(247,181,0,.42); transform:rotate(-6deg); flex-shrink:0; }
.bonus-badge .b1{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:40px; letter-spacing:-1.8px; line-height:1; }
.bonus-badge .b2{ font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; margin-top:5px; }

/* ============ FAQ ============ */
.faq{ max-width:860px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:24px 40px 24px 0; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:19px; letter-spacing:-.4px; color:var(--ink); position:relative; transition:color .2s ease, padding-left .25s ease; }
.faq-q:hover{ color:var(--red); padding-left:8px; }
.faq-q::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%) rotate(0deg); font-size:24px; font-weight:400; color:var(--red); transition:transform .25s ease; }
.faq-q:hover::after{ transform:translateY(-50%) rotate(0deg) scale(1.25); }
.faq-item.open .faq-q:hover::after{ transform:translateY(-50%) rotate(135deg) scale(1.25); }
.faq-item.open .faq-q::after{ transform:translateY(-50%) rotate(135deg); }
.faq-a{ font-size:15.5px; line-height:1.65; color:var(--muted); margin:0; display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .35s ease, opacity .3s ease; }
.faq-a > span{ overflow:hidden; padding:0 40px 0 0; }
.faq-item.open .faq-a{ grid-template-rows:1fr; opacity:1; }
.faq-item.open .faq-a > span{ padding-bottom:26px; }

/* ============ FOOTER ============ */
footer.site{ background:var(--forest); color:var(--glacier); padding:64px 0 32px; }
.footer-top{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(248,249,247,.12); }
.footer-brand .lockup-v{ align-items:flex-start; margin-bottom:18px; }
.footer-brand p{ font-size:13.5px; line-height:1.6; color:rgba(248,249,247,.62); margin:0 0 18px; max-width:34ch; }
.sro{ display:inline-flex; align-items:center; gap:9px; background:var(--red-soft); border:1px solid rgba(200,16,46,.32); color:var(--glacier); border-radius:var(--r-pill); padding:9px 15px; font-size:12.5px; font-weight:500; }
.sro .ck{ color:var(--red); font-weight:700; }
.fcol h4{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:13px; letter-spacing:1px; text-transform:uppercase; color:rgba(248,249,247,.5); margin:0 0 16px; }
.fcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.fcol a{ color:var(--glacier); text-decoration:none; font-size:14.5px; opacity:.85; }
.fcol a:hover{ opacity:1; color:var(--sun); }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:24px; }
.footer-bottom .copy{ font-size:13px; color:rgba(248,249,247,.55); }
.footer-bottom .copy .wm{ color:var(--glacier); opacity:.8; }
.footer-disc{ font-size:11.5px; line-height:1.6; color:rgba(248,249,247,.4); margin:20px 0 0; max-width:none; }
.footer-disc .wm{ color:rgba(248,249,247,.6); }

/* ============ COMPLIANCE STRIP ============ */
.compliance{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.compliance .wrap{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 26px; padding:18px 48px; }
.cred{ display:inline-flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.4px; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.cred::before{ content:""; width:9px; height:9px; flex-shrink:0; background:var(--red); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.8 0H7.2V4.8H12V7.2H7.2V12H4.8V7.2H0V4.8H4.8Z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.8 0H7.2V4.8H12V7.2H7.2V12H4.8V7.2H0V4.8H4.8Z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* ============ CAPITAL PROTECTION + GRADES ============ */
.guarantees{ border-top:1px solid var(--line); margin-top:8px; }
.gl-row{ position:relative; display:grid; grid-template-columns:72px 1fr; gap:28px; align-items:start; padding:26px 0; border-bottom:1px solid var(--line); transition:background .28s ease, padding-left .28s ease; }
.gl-row::before{ content:""; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:2px; background:var(--meadow); transform:scaleY(0); transform-origin:center; transition:transform .3s ease; }
.gl-row:hover{ background:linear-gradient(90deg, rgba(74,127,94,.05), transparent 70%); padding-left:16px; }
.gl-row:hover::before{ transform:scaleY(1); }
.gl-num{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:28px; letter-spacing:-1.5px; color:var(--meadow); line-height:1; transition:transform .3s ease; }
.gl-row:hover .gl-num{ transform:translateX(4px); }
.gl-body{ display:grid; grid-template-columns:1.05fr 1.55fr; gap:28px; align-items:start; }
.gl-title{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:21px; letter-spacing:-.5px; transition:transform .3s ease; }
.gl-row:hover .gl-title{ transform:translateX(3px); }
.gl-desc{ font-size:15px; line-height:1.6; color:var(--muted); }
.grade-scale{ background:var(--cream); border-radius:var(--r-card); padding:32px 38px 30px; margin-top:36px; }
.gs-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; }
.gs-head h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:18px; letter-spacing:-.3px; margin:0; }
.gs-head span{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted2); }
.gs-bar{ position:relative; height:12px; border-radius:9999px; overflow:hidden; background:linear-gradient(90deg,var(--meadow),var(--fresh),var(--sun),var(--amber),var(--sun),var(--fresh),var(--meadow)); background-size:200% 100%; animation:gsflow 7s linear infinite; margin-bottom:18px; }
.gs-bar::after{ content:""; position:absolute; top:0; bottom:0; left:-45%; width:36%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); transform:skewX(-18deg); animation:gssweep 3s ease-in-out infinite; }
@keyframes gsflow{ from{ background-position:0% 0; } to{ background-position:-200% 0; } }
@keyframes gssweep{ 0%{ left:-45%; } 55%,100%{ left:130%; } }
.gs-t .sgchip{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:11px; letter-spacing:.5px; padding:4px 9px; border-radius:var(--r-chip); display:inline-block; animation:gschip 4.2s ease-in-out infinite; }
.gs-t:nth-child(1) .sgchip{ animation-delay:0s; }
.gs-t:nth-child(2) .sgchip{ animation-delay:.12s; }
.gs-t:nth-child(3) .sgchip{ animation-delay:.24s; }
.gs-t:nth-child(4) .sgchip{ animation-delay:.36s; }
.gs-t:nth-child(5) .sgchip{ animation-delay:.48s; }
.gs-t:nth-child(6) .sgchip{ animation-delay:.6s; }
@keyframes gschip{ 0%,82%,100%{ transform:translateY(0); } 88%{ transform:translateY(-5px); } 93%{ transform:translateY(0); } }
.gs-ticks{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.gs-t{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.gs-t .rr{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:15px; color:var(--ink); white-space:nowrap; }
.gs-foot{ margin-top:22px; font-size:13px; line-height:1.5; color:var(--muted); }
.gs-foot a{ color:var(--meadow); text-decoration:none; font-weight:600; }

/* ============ (legacy protection panel — unused) ============ */
.security-panel{ background:var(--forest); color:var(--glacier); border-radius:var(--r-hero); padding:44px 48px 40px; margin-top:8px; }
.sec-guarantees{ display:grid; grid-template-columns:repeat(4,1fr); }
.sg{ padding:0 30px; border-left:1px solid rgba(248,249,247,.14); }
.sg:first-child{ padding-left:0; border-left:none; }
.sg::before{ content:""; display:block; width:26px; height:3px; border-radius:2px; background:var(--fresh); margin-bottom:18px; }
.sg h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:18px; letter-spacing:-.3px; margin:0 0 9px; color:var(--glacier); min-height:2.4em; }
.sg p{ font-size:13.5px; line-height:1.55; color:rgba(248,249,247,.66); margin:0; }
.sec-div{ height:1px; background:rgba(248,249,247,.14); margin:34px 0 30px; }
.rs-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; }
.rs-head h3{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:18px; letter-spacing:-.3px; margin:0; color:var(--glacier); }
.rs-head span{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:rgba(248,249,247,.5); white-space:nowrap; }
.rs-bar{ height:10px; border-radius:9999px; background:linear-gradient(90deg,var(--meadow) 0%, var(--fresh) 28%, var(--sun) 60%, var(--amber) 100%); margin-bottom:18px; }
.rs-ticks{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.rs-t{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.rs-t .sgchip{ font-family:'Inter Tight',sans-serif; font-weight:700; font-size:11px; letter-spacing:.5px; padding:4px 9px; border-radius:var(--r-chip); }
.rs-t .rr{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:15px; color:var(--glacier); white-space:nowrap; }
.rs-foot{ margin-top:22px; font-size:13px; line-height:1.5; color:rgba(248,249,247,.62); }
.rs-foot a{ color:var(--sun); text-decoration:none; font-weight:600; }

/* ============ PRESS LOGOS ============ */
.press-logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 44px; padding:6px 0 36px; }
.press-logos .plogo{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:18px; letter-spacing:-.2px; color:var(--stone); opacity:.72; cursor:default; transition:color .28s ease, opacity .28s ease, transform .28s ease; }
.press-logos .plogo:hover{ color:var(--ink); opacity:1; transform:translateY(-2px); }
.press-logos .plogo.serif{ font-family:'Instrument Serif',serif; font-weight:400; font-size:23px; letter-spacing:0; }

/* ============ TEAM ============ */
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:8px; }
.tmember{ display:flex; flex-direction:column; gap:14px; }
.tavatar{ width:64px; height:64px; border-radius:var(--r-pill); background:var(--glacier-blue); display:flex; align-items:center; justify-content:center; font-family:'Inter Tight',sans-serif; font-weight:600; font-size:22px; color:var(--forest); letter-spacing:-.5px; }
.tmember .tn{ font-family:'Inter Tight',sans-serif; font-weight:600; font-size:17px; letter-spacing:-.3px; }
.tmember .tr{ font-size:13.5px; color:var(--meadow); font-weight:500; margin-top:2px; }
.tmember .tl{ font-size:12.5px; color:var(--muted); margin-top:4px; display:flex; align-items:center; gap:6px; }
.team-foot{ margin-top:34px; padding-top:22px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); display:flex; align-items:center; gap:10px; }
.team-foot .ck{ color:var(--red); font-weight:700; }
.kpi-foot a{ color:var(--meadow); text-decoration:none; font-weight:600; }
.kpi-foot a:hover{ text-decoration:underline; }

/* ============ RESPONSIVE ============ */
@media (max-width:768px){
  .wrap{ padding:0 20px; }
  .nav{ height:62px; }
  .nav-links{ display:none; }
  .nav-right .lang, .nav-right .link-plain{ display:none; }
  .menu-toggle{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:var(--r-btn); border:1px solid var(--line); background:#fff; }
  .menu-toggle.open{ background:var(--ink); border-color:var(--ink); }
  .menu-toggle.open svg path{ stroke:#fff; }
  .mobile-menu{ display:none; flex-direction:column; padding:6px 20px 22px; border-top:1px solid var(--line); background:rgba(255,255,255,.98); }
  .mobile-menu.open{ display:flex; }
  .mobile-menu > a{ padding:14px 2px; text-decoration:none; color:var(--ink); font-family:'Inter Tight',sans-serif; font-weight:500; font-size:18px; letter-spacing:-.3px; border-bottom:1px solid var(--line); }
  .mobile-menu > a:active{ color:var(--red); }
  .mobile-menu .mm-foot{ display:flex; align-items:center; gap:18px; padding-top:18px; }
  .mobile-menu .mm-foot .link-plain{ display:inline; font-size:16px; }
  .mobile-menu .mm-foot .btn-prim.sm{ display:inline-flex; }

  .hero{ height:auto; min-height:0; max-height:none; }
  .hero-photo{ position:relative; height:280px; }
  .hero-inner{ padding:0; }
  .hero-card{ position:relative; left:0; bottom:0; width:auto; max-width:none; margin:-56px 16px 0; padding:30px 24px 28px; }
  h1.hero-h1{ letter-spacing:-1.4px; }
  .hero-seal{ width:62px; height:62px; top:-16px; right:-8px; }
  .hero-seal-mk{ width:20px; height:20px; }
  .hero-sticker{ right:-4px; bottom:-18px; }
  .trust-strip{ position:relative; left:0; bottom:0; margin:32px 16px 8px; flex-direction:column; align-items:flex-start; gap:9px; border-radius:var(--r-form); padding:14px 18px; }
  .trust-strip .sep{ display:none; }

  .section{ padding:52px 0; }
  .sec-head{ flex-direction:column; align-items:flex-start; gap:8px; }
  .kpi-row{ grid-template-columns:repeat(2,1fr); gap:30px 18px; }
  .kpi{ padding:18px 0 0; }
  .kpi + .kpi{ border-left:none; }
  .kpi .num{ font-size:36px; }
  .audit{ grid-template-columns:1fr; gap:18px; padding:30px 24px; }
  .why{ grid-template-columns:1fr; gap:28px; }
  .why-sticky{ position:static; top:auto; }
  .why-card:nth-child(2){ margin-left:0; }
  .chips{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch; }
  .chip{ flex-shrink:0; min-height:44px; }
  .proj-grid{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:20px 20px 6px; margin:0 -20px; scrollbar-width:none; }
  .proj-grid::-webkit-scrollbar{ display:none; }
  .pcard{ flex:0 0 84%; scroll-snap-align:center; }
  .proj-dots{ display:flex; justify-content:center; gap:8px; margin-top:18px; }
  .proj-dots .pd{ width:8px; height:8px; border-radius:50%; background:var(--line); border:none; padding:0; cursor:pointer; transition:background .2s, width .2s; }
  .proj-dots .pd.active{ background:var(--red); width:22px; border-radius:4px; }
  .pcard.std .ph-wrap .photo, .pcard.feat .ph-wrap .photo{ aspect-ratio:16/10; }
  .pcard.feat .rate-big{ font-size:38px; }
  .pcard.std .pname{ min-height:0; }
  .steps{ grid-template-columns:1fr; gap:18px; }
  .step:nth-child(2), .step:nth-child(3){ margin-top:0; }
  .calc{ grid-template-columns:1fr; }
  .calc-left{ border-radius:var(--r-hero) var(--r-hero) 0 0; border-right:1px solid var(--line); border-bottom:none; padding:22px 18px; }
  .calc-left h3{ font-size:21px; margin-bottom:18px; }
  .calc-field{ margin-bottom:16px; }
  .calc-field .cf-val{ font-size:19px; }
  .calc-proj{ gap:8px; }
  .proj-opt{ padding:8px 12px; min-height:46px; }
  .po-name{ font-size:14px; }
  .po-meta{ font-size:10.5px; }
  .po-rate{ font-size:17px; }
  .calc-right{ border-radius:0 0 var(--r-hero) var(--r-hero); padding:22px 18px; }
  .calc-right .eyebrow{ margin-bottom:10px; }
  .calc-result{ font-size:38px; margin:2px 0 4px; }
  .calc-sub{ font-size:13px; margin-bottom:14px; }
  .calc-chart, .calc-xaxis{ display:none; }
  .calc-break{ gap:8px; margin-bottom:18px; margin-top:4px; }
  .calc-break .row{ padding-bottom:10px; }
  .featured-grid{ grid-template-columns:1fr; gap:26px; }
  .press-logos{ gap:14px 28px; padding-bottom:26px; }
  .press-logos .plogo{ font-size:15px; }
  .press-logos .plogo.serif{ font-size:19px; }
  .protect-grid{ grid-template-columns:1fr; gap:30px; }
  .gl-row{ grid-template-columns:46px 1fr; gap:6px 16px; padding:20px 0; }
  .gl-num{ font-size:22px; }
  .gl-body{ grid-template-columns:1fr; gap:7px; }
  .grade-scale{ padding:24px 22px; margin-top:24px; }
  .gs-ticks{ grid-template-columns:repeat(3,1fr); gap:18px 10px; }
  .grades{ padding:26px 22px; }
  .team-grid{ grid-template-columns:1fr 1fr; gap:26px 18px; }
  .compliance .wrap{ padding:16px 20px; gap:12px 20px; justify-content:flex-start; }
  .cred{ font-size:11px; }
  .press-cards{ grid-template-columns:1fr; }
  .blog-grid{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:20px 20px 6px; margin:0 -20px; scrollbar-width:none; }
  .blog-grid::-webkit-scrollbar{ display:none; }
  .bcard{ flex:0 0 84%; scroll-snap-align:center; }
  .blog-dots{ display:flex; justify-content:center; gap:8px; margin-top:18px; }
  .blog-dots .pd{ width:8px; height:8px; border-radius:50%; background:var(--line); border:none; padding:0; cursor:pointer; transition:background .2s, width .2s; }
  .blog-dots .pd.active{ background:var(--red); width:22px; border-radius:4px; }
  .blog-foot{ margin-top:8px; }
  .reviews{ grid-template-columns:1fr; gap:16px; }
  .tp-summary{ flex-wrap:wrap; border-radius:16px; padding:12px 16px; gap:8px 10px; }
  .deco-folio{ display:none; }
  .deco-bracket{ display:none; }
  .bonus{ padding:34px 24px; }
  .bonus-badge{ display:none; }
  .rv-card{ width:284px; padding:20px 20px 18px; }
  .rv-track{ animation-duration:55s; }
  .community{ grid-template-columns:minmax(0,1fr); gap:16px; }
  .cc{ min-width:0; }
  .news-form input{ min-width:0; }
  .about{ padding:64px 0; }
  .about-bg{ height:100%; }
  .about-inner{ padding:0 16px; }
  .about-card{ width:auto; margin:0; padding:30px 22px; }
  .about-p.lead::first-letter{ font-size:70px; }
  .stat-cards{ gap:12px; }
  .stat{ padding:16px 14px; }
  .stat.tilt{ transform:none; }
  .stat.lift{ margin-top:0; }
  .stat .num{ font-size:24px; }
  .pull-quote{ font-size:26px; margin-bottom:-18px; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:28px; }
  .footer-brand{ grid-column:1 / -1; }
}
