/* =============================================================================
   Edgility Solutions — shared stylesheet (RECONSTRUCTED)
   styles.css was not provided, so this is rebuilt from index.html's class
   structure and the brand palette. Class names and DOM patterns match
   index.html. When the real styles.css is available, replace this file and
   fold in only the page-specific components at the bottom (forms, chips,
   checks, layer cards). Palette anchored to the live site:
     spring #13C2A6 and brass #BD8B3D are sampled from the index.html logo SVG.
============================================================================= */
:root{
  --pine:#0C2228;        /* dominant dark background */
  --pine-panel:#133139;  /* dark cards and panels */
  --spring:#13C2A6;      /* accent: links, CTAs, the word "edge" */
  --spring-deep:#0FA98F; /* accent hover */
  --brass:#BD8B3D;       /* eyebrows, icons, step numbers */
  --brass-soft:#D8A85C;  /* eyebrows and numbers on dark */
  --cream:#F6F3EC;       /* light section background */
  --ink:#14231F;         /* body text on light */
  --muted:#6E7A7A;       /* captions and secondary text */
  --line:#E3DFD5;        /* hairlines on cream */
  --white:#FFFFFF;
  --wrap:1140px;
  --r:14px;
  --shadow:0 1px 2px rgba(12,34,40,.04),0 12px 30px rgba(12,34,40,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Archivo","Inter",Arial,sans-serif;margin:0;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.2vw,4rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:700}
h3{font-size:1.18rem;font-weight:700}
p{margin:0}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.arr{display:inline-block;transition:transform .18s ease}
.skip{position:absolute;left:-999px;top:0;background:var(--spring);color:var(--pine);padding:10px 16px;border-radius:0 0 8px 0;z-index:100}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--spring);outline-offset:2px;border-radius:4px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:"Archivo",Arial,sans-serif;
  font-weight:600;font-size:.98rem;padding:12px 20px;border-radius:10px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .15s ease,background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap}
.btn:hover .arr{transform:translateX(4px)}
.btn-edge{background:var(--spring);color:#062b26}
.btn-edge:hover{background:var(--spring-deep)}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(246,243,236,.28)}
.btn-ghost:hover{border-color:var(--spring);color:var(--spring)}
.btn-lg{padding:15px 26px;font-size:1.05rem}

/* ---- header ---- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(12,34,40,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(246,243,236,.08)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brandmark{display:inline-flex;align-items:center;gap:10px;color:var(--cream);
  font-family:"Archivo",Arial,sans-serif;font-weight:700;font-size:1.28rem;letter-spacing:-.02em}
.glyph{width:30px;height:30px;flex:none}
.nav{display:flex;align-items:center;gap:26px}
.nav>a{color:rgba(246,243,236,.82);font-size:.98rem;font-weight:500;transition:color .16s ease}
.nav>a:hover,.nav>a[aria-current="page"]{color:var(--spring)}
.nav .btn-edge,.nav .btn-edge:hover{color:#062b26}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--cream);border-radius:2px}

/* ---- eyebrows / section heads ---- */
.eyebrow{display:inline-block;font-family:"Archivo",Arial,sans-serif;font-weight:600;
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.section-head{max-width:760px;margin-bottom:44px}
.section-head h2{margin-bottom:14px}
.lead-p{color:var(--muted);font-size:1.12rem}
section{padding:84px 0}

/* ---- hero ---- */
.hero{position:relative;background:var(--pine);color:var(--cream);padding:96px 0 88px;overflow:hidden}
.hero.hero-sm{padding:80px 0 72px}
.hero .edge-line{position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--brass),var(--spring) 55%,transparent)}
.hero h1{max-width:17ch;margin-bottom:22px}
.hero .lead{color:var(--spring)}
.hero .sub{max-width:62ch;color:rgba(246,243,236,.82);font-size:1.18rem;margin-bottom:32px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:56px}
.hero.hero-sm .hero-cta{margin-bottom:0}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  border-top:1px solid rgba(246,243,236,.12);padding-top:30px;max-width:960px}
.trust .num{font-family:"Archivo",Arial,sans-serif;font-weight:800;font-size:1.5rem;color:var(--spring);line-height:1.05}
.trust .lbl{color:rgba(246,243,236,.66);font-size:.9rem;margin-top:8px}

/* ---- dark band ---- */
.band{background:var(--pine);color:var(--cream)}
.band .eyebrow{color:var(--brass-soft)}
.band .lead-p{color:rgba(246,243,236,.72)}

/* ---- layer / feature cards ---- */
.layers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.layer{background:var(--pine-panel);border:1px solid rgba(246,243,236,.08);border-radius:var(--r);padding:28px}
.layer .idx{font-family:"Archivo",Arial,sans-serif;font-weight:800;color:var(--brass-soft);font-size:.95rem;letter-spacing:.06em}
.layer h3{margin:14px 0 10px;color:var(--cream)}
.layer p{color:rgba(246,243,236,.74);font-size:.98rem}
.layer .who{margin-top:18px;padding-top:14px;border-top:1px solid rgba(246,243,236,.1);
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--brass-soft)}
.layer.is-lever{border-color:rgba(19,194,166,.4)}
.layer.is-lever .idx,.layer.is-lever .who{color:var(--spring)}

/* ---- white cards on cream ---- */
.card{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:30px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card .ic{width:26px;height:26px;color:var(--brass);margin-bottom:16px}
.card h3{margin-bottom:9px}
.card p{color:var(--muted);font-size:.98rem}

/* ---- proof / numbered method ---- */
.proof{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.proof-item{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.proof-item .idx{font-family:"Archivo",Arial,sans-serif;font-weight:800;color:var(--brass);font-size:1.05rem}
.proof-item h3{margin:10px 0 8px}
.proof-item p{color:var(--muted);font-size:.98rem}

/* ---- checklist ---- */
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 34px;margin-top:8px}
.check{display:flex;gap:12px;align-items:flex-start}
.check svg{flex:none;width:22px;height:22px;color:var(--spring);margin-top:2px}
.check b{font-family:"Archivo",Arial,sans-serif;font-weight:700;display:block;margin-bottom:2px}
.check span{color:var(--muted);font-size:.96rem}
.band .check span{color:rgba(246,243,236,.72)}
.band .check b{color:var(--cream)}

/* ---- vertical chips (integrated payments) ---- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(246,243,236,.06);
  border:1px solid rgba(246,243,236,.14);color:rgba(246,243,236,.9);border-radius:999px;
  padding:9px 16px;font-size:.92rem;font-weight:500}
.chip b{font-family:"Archivo",Arial,sans-serif;color:var(--spring);font-weight:700}

/* ---- steps ---- */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.steps{counter-reset:step;display:flex;flex-direction:column;gap:22px}
.step{display:flex;gap:20px;align-items:flex-start}
.step .n{counter-increment:step;flex:none;width:44px;height:44px;border-radius:50%;
  border:1.5px solid var(--brass);color:var(--brass);display:grid;place-items:center;
  font-family:"Archivo",Arial,sans-serif;font-weight:700;font-size:1.05rem}
.step .n::before{content:counter(step)}
.step h3{margin-bottom:5px}
.step p{color:var(--muted);font-size:.98rem}
.band .step p{color:rgba(246,243,236,.72)}
.band .step .n{border-color:var(--brass-soft);color:var(--brass-soft)}
.echelon-note{margin-top:34px;padding:16px 20px;border-left:3px solid var(--brass);
  background:rgba(189,139,61,.06);border-radius:0 8px 8px 0;font-size:.95rem;color:var(--muted)}
.band .echelon-note{background:rgba(216,168,92,.08);color:rgba(246,243,236,.8)}

/* ---- closing cta ---- */
.cta-strip{background:var(--pine);color:var(--cream);border-radius:20px;padding:56px 48px;text-align:center;
  background-image:radial-gradient(120% 140% at 50% -20%,rgba(19,194,166,.14),transparent 60%)}
.cta-strip h2{margin-bottom:12px}
.cta-strip p{max-width:56ch;margin:0 auto 26px;color:rgba(246,243,236,.78)}

/* ---- contact page ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.expect{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:16px}
.expect li{display:flex;gap:12px;align-items:flex-start}
.expect svg{flex:none;width:22px;height:22px;color:var(--spring);margin-top:2px}
.expect b{font-family:"Archivo",Arial,sans-serif;display:block}
.expect span{color:var(--muted);font-size:.96rem}
.contact-info{border-top:1px solid var(--line);padding-top:22px;margin-top:4px}
.contact-info a{color:var(--ink);font-weight:600}
.contact-info a:hover{color:var(--spring-deep)}
.contact-info .row{margin-bottom:8px;font-size:.98rem}
.contact-info .lbl2{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-right:8px}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow)}
.form-card h2{font-size:1.4rem;margin-bottom:6px}
.form-card .fine{color:var(--muted);font-size:.92rem;margin-bottom:22px}
.field{margin-bottom:18px}
.field label{display:block;font-family:"Archivo",Arial,sans-serif;font-weight:600;font-size:.9rem;margin-bottom:7px}
.field .req{color:var(--brass)}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--cream);
  border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .16s ease,background .16s ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--spring);background:var(--white)}
.field textarea{min-height:110px;resize:vertical}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-card .btn-edge{width:100%;justify-content:center;margin-top:4px}
.embed{margin-top:22px;border:1.5px dashed var(--line);border-radius:12px;padding:26px;text-align:center;color:var(--muted);font-size:.94rem}
.embed b{display:block;font-family:"Archivo",Arial,sans-serif;color:var(--ink);margin-bottom:4px}

/* ---- disclosures ---- */
.disclose{background:var(--cream);border-top:1px solid var(--line);padding:30px 0}
.disclose p{max-width:var(--wrap);margin:0 auto;padding:0 24px;color:var(--muted);font-size:.82rem;line-height:1.6}

/* ---- footer ---- */
.site-foot{background:var(--pine);color:rgba(246,243,236,.7);padding:60px 0 30px}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(246,243,236,.1)}
.site-foot .brandmark{margin-bottom:14px}
.site-foot p{font-size:.92rem;margin-bottom:10px}
.foot-col h4{font-family:"Archivo",Arial,sans-serif;color:var(--cream);font-size:.95rem;margin-bottom:14px}
.foot-col a{display:block;font-size:.92rem;padding:5px 0;color:rgba(246,243,236,.68);transition:color .15s ease}
.foot-col a:hover{color:var(--spring)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;font-size:.85rem;color:rgba(246,243,236,.55)}
.foot-bot a{color:rgba(246,243,236,.7)}
.foot-bot a:hover{color:var(--spring)}

/* ---- responsive ---- */
@media(max-width:860px){
  .nav{position:fixed;inset:70px 0 auto 0;background:var(--pine);flex-direction:column;align-items:flex-start;
    gap:0;padding:12px 24px 24px;border-bottom:1px solid rgba(246,243,236,.1);
    transform:translateY(-130%);transition:transform .25s ease}
  .nav.open{transform:translateY(0)}
  .nav>a{padding:12px 0;width:100%}
  .nav .btn-edge{margin-top:10px}
  .menu-toggle{display:flex}
  .trust{grid-template-columns:repeat(2,1fr);gap:26px}
  .layers,.proof,.grid-2,.grid-3,.checks,.contact-grid,.field-2{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .foot-top{grid-template-columns:1fr 1fr;gap:28px}
  section{padding:60px 0}
  .cta-strip{padding:44px 26px}
}
@media(max-width:480px){
  .trust{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- homepage components (index.html: program cards + Why Edgility) ---- */
.kicker{font-family:"Archivo",Arial,sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.card:hover{transform:translateY(-3px);border-color:rgba(19,194,166,.5);
  box-shadow:0 2px 4px rgba(12,34,40,.05),0 18px 40px rgba(12,34,40,.10)}
.go{display:inline-flex;align-items:center;gap:.4em;margin-top:16px;color:var(--spring-deep);
  font-family:"Archivo",Arial,sans-serif;font-weight:600;font-size:.95rem}
.card:hover .go .arr{transform:translateX(4px)}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:8px}
.feat .f h3{color:var(--cream);margin-bottom:8px}
.feat .f p{color:rgba(246,243,236,.72);font-size:.98rem}
@media(max-width:860px){.feat{grid-template-columns:1fr;gap:24px}}


/* ---- ported payments pricing cards + prose pages ---- */
.layer .lsub{font-family:"Archivo",Arial,sans-serif;color:var(--spring);font-weight:600;font-size:1rem;margin:.35rem 0 .75rem}
.layer .lmeta{color:rgba(246,243,236,.72);font-size:.92rem;margin-top:.55rem;line-height:1.45}
.layer .lmeta b{color:var(--cream);font-weight:600}
.layer .chip{display:inline-block;margin-top:1rem;font-size:.82rem;background:rgba(19,194,166,.10);border:1px solid rgba(19,194,166,.30);border-radius:999px;padding:5px 12px;color:var(--spring);font-weight:600}
.prose{max-width:72ch}
.prose h2{margin:1.8rem 0 .6rem;color:var(--ink)}
.prose h3{margin:1.2rem 0 .4rem;color:var(--ink)}
.prose p,.prose li{color:var(--muted);line-height:1.65;margin-bottom:.75rem}
.prose ul{margin:0 0 .75rem 1.2rem}
