/* ═══════════════════════════════════════════
   FOUNDATIONAL PROVIDER CREDENTIALING v2
   Brand: Navy #2D2D72 + Green #46AA50
   ═══════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#2D2D72;--navy-mid:#3A3A92;--navy-light:#4848A8;--navy-pale:#5E5EBE;
  --green:#46AA50;--green-mid:#4FBD5C;--green-light:#5FD06E;--green-glow:#78E896;--green-text:#2B8540;
  --cream:#FAFBF9;--linen:#F2F4F0;--parchment:#E8EBE5;
  --white:#FCFCFB;--pure-white:#FFFFFF;
  --text:#1C1F26;--text-mid:#3D4350;--text-soft:#5E6470;--text-faint:#8E939D;
  --border:#D4D8CE;--border-light:#E5E8E1;
  --amber:#C4922E;--amber-light:#DBAA42;--terracotta:#C06040;
  --green-yes:#2B8540;--red-no:#B91C1C;
  --shadow-sm:0 1px 2px rgba(46,46,120,.03),0 4px 12px rgba(46,46,120,.06);
  --shadow-md:0 2px 8px rgba(46,46,120,.05),0 12px 32px rgba(46,46,120,.1);
  --shadow-lg:0 4px 16px rgba(46,46,120,.07),0 24px 48px rgba(46,46,120,.14);
  --r:14px;--r-lg:22px;--r-full:100px;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Outfit',sans-serif;color:var(--text);background:var(--white);line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Fraunces',serif;line-height:1.18;color:var(--navy);font-weight:700}
a{color:var(--navy-mid);text-decoration:none;transition:.25s}
a:hover{color:var(--green-text)}
.container{max-width:1200px;margin:0 auto;padding:0 28px}
.sec{padding:100px 0}.sec-sm{padding:56px 0}.tc{text-align:center}

/* ── BADGES ── */
.badge{display:inline-block;padding:7px 18px;border-radius:var(--r-full);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-family:'Outfit',sans-serif}
.badge-sage,.badge-mint{background:rgba(70,170,80,.1);color:var(--green-text)}
.badge-amber{background:rgba(196,146,46,.12);color:var(--amber)}
.badge-terra{background:rgba(192,96,64,.1);color:var(--terracotta)}
.badge-navy{background:rgba(45,45,114,.08);color:var(--navy-mid)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 34px;border-radius:var(--r-full);font-weight:700;font-size:.92rem;transition:.3s;border:none;cursor:pointer;font-family:inherit;letter-spacing:.01em;white-space:nowrap}
.btn-mint{background:var(--green);color:#fff;box-shadow:0 4px 20px rgba(70,170,80,.3)}
.btn-mint:hover{background:var(--green-mid);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-ghost:hover{border-color:#fff;color:#fff;transform:translateY(-2px)}
.btn-forest{background:var(--navy);color:#fff}
.btn-forest:hover{background:var(--navy-mid);color:#fff;transform:translateY(-2px)}
.btn-outline{background:transparent;border:2px solid var(--border);color:var(--navy)}
.btn-outline:hover{border-color:var(--green);color:var(--green-text);transform:translateY(-2px)}
.btn-wrap{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(252,252,251,.94);backdrop-filter:blur(24px);border-bottom:1px solid rgba(212,216,206,.5);transition:.3s}
.nav-wrap{max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:82px}
.logo{display:flex;align-items:center}.logo img{height:64px;width:auto}
.logo-footer{display:flex;align-items:center}.logo-footer img{height:50px;width:auto}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{font-size:.82rem;font-weight:600;color:var(--text);letter-spacing:.02em}
.nav-links a:hover,.nav-links a.active{color:var(--green-text)}
.nav-cta{background:var(--navy);color:#fff !important;padding:10px 22px;border-radius:var(--r-full);font-size:.82rem;font-weight:700;box-shadow:0 2px 8px rgba(45,45,114,.2)}
.nav-cta:hover{background:var(--navy-mid);color:#fff !important;transform:translateY(-1px)}
.mob-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.mob-toggle span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:.3s}
.mobile-menu{display:none;position:fixed;top:82px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);padding:20px 28px;flex-direction:column;gap:12px;z-index:998;max-height:calc(100vh - 82px);overflow-y:auto}
.mobile-menu a{font-size:1rem;font-weight:600;color:var(--text);padding:8px 0;border-bottom:1px solid var(--border-light)}
.mobile-menu.open{display:flex}

/* ── PAGE HEADER ── */
.page-header{padding:144px 0 60px;background:linear-gradient(165deg,var(--navy) 0%,var(--navy-mid) 50%,var(--navy-light) 100%);position:relative;overflow:hidden;text-align:center}
.page-header::before{content:'';position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.page-header h1{font-size:2.6rem;color:#fff;margin-bottom:12px;position:relative;z-index:1;font-weight:800}
.page-header p{color:rgba(255,255,255,.6);font-size:1rem;max-width:600px;margin:0 auto;position:relative;z-index:1;line-height:1.75}
.page-header .badge{position:relative;z-index:1;margin-bottom:14px}

/* ── HERO ── */
.hero{padding:144px 0 100px;position:relative;overflow:hidden;background:linear-gradient(165deg,var(--navy) 0%,#333388 35%,var(--navy-mid) 65%,var(--navy-light) 100%)}
.hero::before{content:'';position:absolute;top:-30%;right:-15%;width:900px;height:900px;background:radial-gradient(circle,rgba(70,170,80,.06) 0%,transparent 65%);pointer-events:none}
.hero-pattern{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero h1{font-size:3.2rem;color:#fff;margin-bottom:22px;font-weight:800}
.hero h1 em{font-style:normal;color:var(--green-glow)}
.hero-sub{font-size:1.08rem;color:rgba(255,255,255,.7);margin-bottom:28px;line-height:1.85;max-width:540px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.55);font-size:.78rem;font-weight:500}
.hero-trust-item svg{width:16px;height:16px;fill:var(--green-glow)}
.hero-card{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:32px;position:relative}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green),var(--navy-light));border-radius:var(--r-lg) var(--r-lg) 0 0}
.hc-label{color:var(--green-glow);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.hc-price{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}
.hc-price-num{font-family:'Fraunces',serif;font-size:3rem;color:#fff;font-weight:800}
.hc-price-note{color:rgba(255,255,255,.5);font-size:.86rem}
.hc-compare{font-size:.82rem;color:rgba(255,255,255,.4);margin-bottom:16px}.hc-compare s{color:rgba(255,255,255,.3)}
.hc-features{display:flex;flex-direction:column;gap:11px;margin-top:16px}
.hc-feat{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.82);font-size:.86rem;line-height:1.5}
.hc-feat .ck{width:20px;height:20px;border-radius:50%;background:rgba(70,170,80,.18);color:var(--green-glow);display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;margin-top:2px}

/* ── NUMBERS BAR ── */
.numbers{background:var(--linen);padding:40px 0;border-bottom:1px solid var(--border)}
.numbers-inner{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;text-align:center}
.num-item{text-align:center}
.num-val{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--navy);font-weight:700}
.num-label{font-size:.68rem;color:var(--text-soft);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}

/* ── PROBLEM/SOLUTION ── */
.prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.prob-card{padding:36px;border-radius:var(--r-lg);position:relative}
.prob-card.pain{background:linear-gradient(135deg,#FFF5F2,#FEF1EC);border:1px solid #FCDBD0}
.prob-card.fix{background:linear-gradient(135deg,#F0FAF4,#E8F7EE);border:1px solid #B6E8C8}
.prob-card h3{font-size:1.35rem;margin-bottom:16px}
.prob-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.prob-list li{display:flex;gap:11px;font-size:.9rem;line-height:1.6}
.prob-list .ic{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;margin-top:1px;font-weight:700}
.pain .ic{background:#FEE2E2;color:var(--red-no)}
.fix .ic{background:#D1FAE5;color:var(--green-yes)}
.prob-list strong{color:var(--navy)}

/* ── COMPARISON TABLES ── */
.comp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:8px;border-radius:var(--r);box-shadow:var(--shadow-sm)}
table.ct{width:100%;border-collapse:separate;border-spacing:0;background:var(--pure-white);font-size:.82rem;min-width:700px}
table.ct th{background:var(--navy);color:#fff;padding:14px 14px;text-align:left;font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Outfit',sans-serif;white-space:nowrap}
table.ct th.hl{background:var(--green)}
table.ct td{padding:12px 14px;border-bottom:1px solid var(--border-light);vertical-align:top;line-height:1.5}
table.ct tr:last-child td{border-bottom:none}
table.ct tr:nth-child(even) td{background:#F7F8F6}
table.ct .hl-col{background:rgba(70,170,80,.04) !important;font-weight:600}
table.ct tr:nth-child(even) .hl-col{background:rgba(70,170,80,.08) !important}
table.ct .yes{color:var(--green-yes);font-weight:700}
table.ct .no{color:var(--red-no);font-weight:700}
table.ct .fl{font-weight:600;color:var(--navy)}
.comp-title{font-size:1.45rem;margin-top:48px;margin-bottom:6px}
.comp-sub{color:var(--text-soft);margin-bottom:24px;font-size:.9rem;max-width:700px}
.comp-note{font-size:.82rem;color:var(--text-faint);margin-top:12px;padding:12px 16px;background:var(--pure-white);border-radius:8px;border:1px dashed var(--border)}

/* ── SERVICES ── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{background:var(--pure-white);border:1px solid var(--border-light);border-radius:var(--r-lg);padding:30px;transition:.35s;position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy-mid),var(--green));transform:scaleX(0);transform-origin:left;transition:.35s}
.svc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px);border-color:transparent}
.svc-card:hover::after{transform:scaleX(1)}
.svc-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:16px}
.svc-icon.sg{background:rgba(70,170,80,.1);color:var(--green)}
.svc-icon.am{background:rgba(58,58,146,.08);color:var(--navy-mid)}
.svc-icon.tr{background:rgba(192,96,64,.1);color:var(--terracotta)}
.svc-icon.fr{background:rgba(45,45,114,.06);color:var(--navy)}
.svc-card h3{font-size:1.1rem;margin-bottom:10px}
.svc-card p{font-size:.86rem;color:var(--text-mid);line-height:1.6;margin-bottom:12px}
.svc-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.svc-list li{font-size:.8rem;color:var(--text);display:flex;gap:7px;align-items:flex-start;line-height:1.5}
.svc-list li::before{content:'✓';color:var(--green-text);font-weight:700;flex-shrink:0}

/* ── PANELS ── */
.panels-sec{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.panels-sec::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(135deg,transparent,rgba(70,170,80,.04));pointer-events:none}
.panels-sec h1,.panels-sec h2{color:#fff}
.panels-sec .sub{color:rgba(255,255,255,.55)}
.pnl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.pnl-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:24px 18px;text-align:center;transition:.35s}
.pnl-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.pnl-type{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;padding:4px 10px;border-radius:var(--r-full);display:inline-block}
.pnl-type.com{background:rgba(106,232,138,.14);color:var(--green-glow)}
.pnl-type.gov{background:rgba(196,146,46,.2);color:var(--amber-light)}
.pnl-type.mco{background:rgba(192,96,64,.18);color:#FFB09A}
.pnl-name{font-family:'Fraunces',serif;font-size:1.02rem;margin-bottom:5px;font-weight:600}
.pnl-desc{font-size:.76rem;color:rgba(255,255,255,.45);line-height:1.5}
.pnl-note{margin-top:36px;text-align:center;position:relative;z-index:1}
.pnl-note p{color:rgba(255,255,255,.42);font-size:.86rem}
.pnl-note strong{color:var(--green-glow)}

/* ── PRICING ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:20px}
.price-card{background:var(--pure-white);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;position:relative;transition:.3s}
.price-card.pop{border:2px solid var(--green);box-shadow:var(--shadow-md);transform:scale(1.02)}
.price-card.pop::before{content:'BEST VALUE';position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:5px 18px;border-radius:var(--r-full);font-size:.62rem;font-weight:800;letter-spacing:.1em;white-space:nowrap}
.pc-phase{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.pc-name{font-family:'Fraunces',serif;font-size:1.28rem;color:var(--navy);margin-bottom:3px}
.pc-who{font-size:.8rem;color:var(--text-soft);margin-bottom:16px}
.pc-price{display:flex;align-items:baseline;gap:4px;margin-bottom:3px}
.pc-dollar{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--navy);font-weight:800}
.pc-period{font-size:.86rem;color:var(--text-soft)}
.pc-note{font-size:.76rem;color:var(--text-faint);margin-bottom:14px}
.pc-savings{display:inline-block;background:rgba(43,133,64,.08);color:var(--green-yes);font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:var(--r-full);margin-bottom:16px}
.pc-divider{height:1px;background:var(--border-light);margin:16px 0}
.pc-features{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
.pc-features li{font-size:.83rem;display:flex;gap:8px;align-items:flex-start;line-height:1.45}
.pc-features .ck{color:var(--green-text);font-weight:700;flex-shrink:0}
.pc-btn{display:block;width:100%;text-align:center;padding:13px;border-radius:var(--r-full);font-weight:700;font-size:.86rem;border:none;cursor:pointer;font-family:inherit;transition:.3s}
.pc-btn-fill{background:var(--navy);color:#fff}
.pc-btn-fill:hover{background:var(--navy-mid);color:#fff}
.pc-btn-line{background:transparent;border:2px solid var(--border);color:var(--navy)}
.pc-btn-line:hover{border-color:var(--green);color:var(--green-text)}
.maint-banner{margin-top:36px;padding:28px 36px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:var(--r-lg);color:#fff;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.maint-banner h3{font-family:'Fraunces',serif;color:#fff;font-size:1.3rem;margin-bottom:8px}
.maint-banner p{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.6}
.maint-prices{display:flex;gap:16px}
.mp-item{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:14px 18px;text-align:center;min-width:120px}
.mp-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.mp-val{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:700}
.mp-note{font-size:.68rem;color:rgba(255,255,255,.45);margin-top:2px}

/* ── ENTERPRISE GRID (responsive) ── */
.enterprise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
.ent-item{padding:16px 12px;background:var(--linen);border-radius:var(--r)}
.ent-title{font-size:.7rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em}
.ent-price{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--navy)}
.ent-price span{font-size:.76rem;color:var(--text-soft);font-family:'Outfit',sans-serif}
.ent-sub{font-size:.7rem;color:var(--text-faint)}

/* ── PLAN COMPARISON TABLE ── */
.plan-comp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:40px;border-radius:var(--r);box-shadow:var(--shadow-sm)}
table.plan-ct{width:100%;border-collapse:separate;border-spacing:0;background:var(--pure-white);font-size:.82rem;min-width:600px}
table.plan-ct th{padding:14px 12px;text-align:center;font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:'Outfit',sans-serif}
table.plan-ct th:first-child{text-align:left;background:var(--navy);color:#fff}
table.plan-ct th.solo-h{background:#E8F7EE;color:var(--green-text)}
table.plan-ct th.group-h{background:var(--navy);color:#fff}
table.plan-ct th.pro-h{background:var(--navy-mid);color:#fff}
table.plan-ct td{padding:11px 12px;border-bottom:1px solid var(--border-light);vertical-align:middle;text-align:center;line-height:1.45}
table.plan-ct td:first-child{text-align:left;font-weight:600;color:var(--navy);font-size:.8rem}
table.plan-ct tr:last-child td{border-bottom:none}
table.plan-ct tr:nth-child(even) td{background:#F9FAF8}
table.plan-ct .yes{color:var(--green-yes);font-weight:700}
table.plan-ct .no{color:var(--text-faint)}

/* ── MAINTENANCE / Growth & Operations ── */
.me-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.me-risks{background:linear-gradient(135deg,#FFF5F2,#FEF0EA);border:1px solid #FCDBD0;border-radius:var(--r-lg);padding:32px}
.me-risks h3{font-size:1.2rem;color:var(--terracotta);margin-bottom:18px}
.me-risk{display:flex;gap:12px;margin-bottom:16px;font-size:.88rem;line-height:1.55}
.me-risk:last-child{margin-bottom:0}
.me-risk-ic{flex-shrink:0;width:28px;height:28px;background:#FEE2E2;color:var(--red-no);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;margin-top:2px}

/* ── CRED vs PANEL ── */
.cvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.cvp-card{background:var(--pure-white);border-radius:var(--r-lg);padding:30px;border:1px solid var(--border)}
.cvp-card h3{font-size:1.2rem;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.cvp-step{font-size:.68rem;background:var(--navy);color:#fff;padding:4px 12px;border-radius:var(--r-full);font-weight:700;font-family:'Outfit',sans-serif}
.cvp-card p{font-size:.88rem;color:var(--text-mid);margin-bottom:14px;line-height:1.65}
.cvp-row{display:flex;gap:12px;align-items:flex-start;padding:10px 13px;background:var(--linen);border-radius:8px;margin-bottom:7px}
.cvp-row-label{font-size:.7rem;font-weight:700;color:var(--green-text);text-transform:uppercase;letter-spacing:.05em;min-width:76px;flex-shrink:0}
.cvp-row-text{font-size:.82rem;color:var(--text)}

/* ── PROCESS ── */
.proc-timeline{max-width:700px;margin:0 auto;position:relative;padding-left:40px}
.proc-timeline::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--navy-mid),var(--green),var(--navy-mid))}
.proc-step{position:relative;margin-bottom:36px}
.proc-step:last-child{margin-bottom:0}
.proc-dot{position:absolute;left:-40px;top:4px;width:30px;height:30px;border-radius:50%;background:var(--pure-white);border:3px solid var(--navy-mid);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:var(--navy-mid);font-family:'Outfit',sans-serif}
.proc-step h3{font-size:1.05rem;margin-bottom:5px}
.proc-step p{font-size:.88rem;color:var(--text-mid);line-height:1.6}
.proc-step .proc-time{display:inline-block;font-size:.7rem;font-weight:700;color:var(--navy-mid);background:rgba(58,58,146,.08);padding:3px 10px;border-radius:var(--r-full);margin-bottom:7px}

/* ── FAQ ── */
.faq-grid{max-width:780px;margin:0 auto}
.faq-item{border:1px solid var(--border);border-radius:var(--r);margin-bottom:9px;overflow:hidden;background:var(--pure-white);transition:.25s}
.faq-item.open{border-color:var(--green);box-shadow:0 2px 12px rgba(70,170,80,.08)}
.faq-q{padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem;color:var(--navy);user-select:none;transition:.2s}
.faq-q:hover{color:var(--green-text)}
.faq-q .arr{transition:.3s;font-size:.7rem;color:var(--text-faint);flex-shrink:0;margin-left:12px}
.faq-item.open .arr{transform:rotate(180deg);color:var(--green-text)}
.faq-a{max-height:0;overflow:hidden;transition:.4s ease}
.faq-item.open .faq-a{max-height:700px}
.faq-a-inner{padding:0 20px 16px}
.faq-a-inner p{font-size:.86rem;color:var(--text-mid);line-height:1.65}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.about-vis{background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:var(--r-lg);padding:40px;color:#fff;position:relative;overflow:hidden}
.about-vis::after{content:'';position:absolute;bottom:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(70,170,80,.1),transparent 70%)}
.about-vis blockquote{font-family:'Fraunces',serif;font-size:1.35rem;font-style:italic;line-height:1.4;margin-bottom:18px;position:relative;z-index:1}
.about-vis cite{font-style:normal;font-size:.84rem;color:var(--green-glow);font-family:'Outfit',sans-serif;font-weight:600}
.about-stats{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.about-stat-val{font-family:'Fraunces',serif;font-size:1.7rem;color:var(--green-glow);font-weight:700}
.about-stat-label{font-size:.7rem;color:rgba(255,255,255,.45)}

/* ── SCENARIOS ── */
.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.scenario-card{background:var(--pure-white);border:1px solid var(--border-light);border-radius:var(--r-lg);padding:28px;position:relative;overflow:hidden;transition:.3s}
.scenario-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.scenario-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--r-lg) var(--r-lg) 0 0}
.scenario-card.solo::before{background:linear-gradient(90deg,var(--green),var(--green-light))}
.scenario-card.group::before{background:linear-gradient(90deg,var(--navy-mid),var(--navy-light))}
.sc-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.sc-icon.solo-ic{background:rgba(70,170,80,.1)}
.sc-icon.group-ic{background:rgba(58,58,146,.08)}
.sc-tag{font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-full)}
.sc-tag.solo-tag{background:rgba(70,170,80,.1);color:var(--green-text)}
.sc-tag.group-tag{background:rgba(58,58,146,.08);color:var(--navy-mid)}
.scenario-card h3{font-size:1.08rem;margin-bottom:6px}
.scenario-card .sc-persona{font-size:.82rem;color:var(--text-soft);margin-bottom:12px;font-style:italic;line-height:1.5}
.sc-problem{background:rgba(185,28,28,.04);border-left:3px solid var(--red-no);padding:11px 14px;border-radius:0 8px 8px 0;margin-bottom:12px}
.sc-problem strong{color:var(--red-no);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:3px}
.sc-problem p{font-size:.82rem;color:var(--text-mid);line-height:1.5;margin:0}
.sc-solution{background:rgba(43,133,64,.04);border-left:3px solid var(--green-text);padding:11px 14px;border-radius:0 8px 8px 0}
.sc-solution strong{color:var(--green-text);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:3px}
.sc-solution p{font-size:.82rem;color:var(--text-mid);line-height:1.5;margin:0}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-form{background:var(--pure-white);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin-bottom:4px}
.fg input,.fg select,.fg textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.86rem;transition:.2s;background:var(--white)}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(70,170,80,.1)}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-info h3{font-size:1.3rem;margin-bottom:12px;margin-top:10px}
.contact-info>p{font-size:.9rem;color:var(--text-mid);margin-bottom:24px;line-height:1.65}
.ci-item{display:flex;gap:12px;margin-bottom:20px;align-items:flex-start}
.ci-ic{width:40px;height:40px;background:rgba(70,170,80,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1rem;flex-shrink:0}
.ci-item h4{font-size:.88rem;margin-bottom:1px}
.ci-item p{font-size:.82rem;color:var(--text-soft);margin:0}
.ci-bonus{margin-top:24px;padding:16px;background:var(--linen);border-radius:var(--r);border:1px solid var(--border)}
.ci-bonus strong{font-size:.86rem;color:var(--navy)}
.ci-bonus p{font-size:.8rem;color:var(--text-mid);margin-top:4px}

/* ── CTA ── */
.cta-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);text-align:center;padding:72px 0;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(70,170,80,.07),transparent 65%)}
.cta-sec h2{color:#fff;font-size:2.2rem;margin-bottom:12px}
.cta-sec p{color:rgba(255,255,255,.6);font-size:1rem;margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.55);padding:48px 0 24px;font-size:.84rem}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.ft-brand p{font-size:.8rem;line-height:1.65;max-width:280px;margin-top:12px}
footer h4{color:#fff;font-size:.86rem;margin-bottom:12px;font-family:'Fraunces',serif}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft-links a{color:rgba(255,255,255,.45);font-size:.8rem}
.ft-links a:hover{color:var(--green-glow)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:.74rem;flex-wrap:wrap;gap:12px}
.ft-seo{color:rgba(255,255,255,.18);font-size:.7rem;max-width:700px;line-height:1.55}

/* ── CALLOUT BOX ── */
.callout{padding:18px 22px;border-radius:var(--r);font-size:.88rem;line-height:1.65}
.callout-green{background:#F0FAF4;border:1px solid #B6E8C8}
.callout-amber{background:#FFF8EC;border:1px solid #F0D78C}
.callout-red{background:#FFF5F2;border:1px solid #FCDBD0}

/* ── RESPONSIVE: TABLET ── */
@media(max-width:1024px){
  .hero-grid,.prob-grid,.about-grid,.me-grid,.contact-grid,.cvp-grid,.scenario-grid{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .price-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  .price-card.pop{transform:none}
  .pnl-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:2.6rem}
  .maint-banner{grid-template-columns:1fr}
  .maint-prices{justify-content:center;flex-wrap:wrap}
  .page-header h1{font-size:2.1rem}
  .enterprise-grid{grid-template-columns:repeat(2,1fr)}
  .numbers-inner{grid-template-columns:repeat(3,1fr);gap:16px}
}

/* ── RESPONSIVE: PHONE (portrait) ── */
@media(max-width:768px){
  .nav-links{display:none}
  .mob-toggle{display:flex}
  .svc-grid,.pnl-grid{grid-template-columns:1fr}
  .hero{padding:122px 0 56px}
  .hero h1{font-size:1.9rem}
  .hero-sub{font-size:.95rem}
  .hero-card{padding:24px}
  .hc-price-num{font-size:2.6rem}
  .sec{padding:56px 0}
  .numbers-inner{grid-template-columns:repeat(3,1fr);gap:10px}
  .num-val{font-size:1.4rem}
  .num-label{font-size:.6rem}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;text-align:center}
  .fg-row{grid-template-columns:1fr}
  .about-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .maint-prices{flex-direction:column;align-items:stretch}
  .page-header{padding:122px 0 40px}
  .page-header h1{font-size:1.7rem}
  .page-header p{font-size:.9rem}
  .logo img{height:48px}
  .btn{padding:13px 24px;font-size:.86rem}
  .btn-wrap{flex-direction:column;align-items:stretch}
  .btn-wrap .btn{justify-content:center}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{justify-content:center}
  .enterprise-grid{grid-template-columns:1fr 1fr}
  .ent-price{font-size:1.2rem}
  .prob-card{padding:28px}
  .prob-card h3{font-size:1.2rem}
  .prob-list li{font-size:.84rem}
  .comp-title{font-size:1.25rem}
  .cta-sec h2{font-size:1.8rem}
  .scenario-card{padding:22px}
  .contact-grid{grid-template-columns:1fr}
  .about-grid{gap:32px}
  .me-grid{gap:28px}
  .cvp-grid{gap:20px}
}

/* ── RESPONSIVE: PHONE LANDSCAPE ── */
@media(max-width:920px) and (orientation:landscape){
  .nav-links{display:none}
  .mob-toggle{display:flex}
  .mobile-menu{max-height:calc(100vh - 82px);overflow-y:auto}
  .hero{padding:100px 0 48px}
  .hero h1{font-size:2.2rem}
  .hero-grid{grid-template-columns:1fr 1fr;gap:24px}
  .page-header{padding:110px 0 36px}
  .sec{padding:56px 0}
}

/* ── RESPONSIVE: SMALL PHONE ── */
@media(max-width:380px){
  .container{padding:0 16px}
  .hero h1{font-size:1.65rem}
  .logo img{height:40px}
  .numbers-inner{grid-template-columns:repeat(2,1fr)}
  .enterprise-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr}
}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .7s ease both}
.fade-up-d1{animation-delay:.1s}
.fade-up-d2{animation-delay:.2s}
.fade-up-d3{animation-delay:.3s}
