/* Analytical Strategies Group — revised theme (light base, single teal accent) */
:root{
  --navy:#1C1840; --navy-2:#26215C; --indigo:#534AB7;
  --teal:#0E9F8E; --teal-d:#0B7E70; --teal-l:#E6F5F2; --teal-soft:#7FCFC2;
  --ink:#15123A; --body:#2A2A33; --muted:#5A5A66; --faint:#9A9AA5;
  --line:#EAECF0; --line-2:#ECEEF2; --surface:#F6F7F9; --surface-2:#F7FAFA;
  --white:#FFFFFF; --amazon:#FF9900;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; color:var(--body); background:var(--white);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:"Source Serif 4",Georgia,serif; color:var(--ink); font-weight:500; line-height:1.2; margin:0; letter-spacing:-0.3px;}
a{color:var(--teal-d); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.eyebrow{display:inline-flex; align-items:center; gap:7px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--teal-d); margin:0 0 12px;}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.93); backdrop-filter:blur(8px); border-bottom:1px solid var(--line-2);}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:66px;}
.brand{display:flex; align-items:center; gap:10px; font-weight:600; font-size:16px; color:var(--ink);}
.brand:hover{text-decoration:none;}
.brand .mark{width:30px;height:30px;border-radius:8px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Source Serif 4",serif;font-size:18px;}
.nav-links{display:flex; align-items:center; gap:24px; list-style:none; margin:0; padding:0;}
.nav-links a{color:var(--body); font-size:15px; font-weight:500;}
.nav-links a:hover{color:var(--teal-d); text-decoration:none;}
.nav-links a.active{color:var(--ink); border-bottom:2px solid var(--teal); padding-bottom:2px;}
.btn{display:inline-block; background:var(--teal); color:#fff; padding:10px 18px; border-radius:8px; font-weight:600; font-size:15px; border:none; cursor:pointer; transition:background .15s;}
.btn:hover{background:var(--teal-d); text-decoration:none; color:#fff;}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:#100d2b; color:#fff;}
.btn-outline{background:var(--white); color:var(--ink); border:1px solid #D7DAE0;}
.btn-outline:hover{background:var(--surface); color:var(--ink);}
.nav-links a.btn-navy, .nav-links a.btn-navy:hover, .nav-links a.btn, .nav-links a.btn:hover{color:#fff; border-bottom:none; padding-bottom:10px;}
.menu-toggle{display:none; background:none; border:none; font-size:26px; color:var(--ink); cursor:pointer;}

/* hero */
.hero{padding:54px 0 48px; background:linear-gradient(180deg,#FBFBFC,#F4F7F8);}
.hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;}
.hero h1{font-size:46px; color:var(--ink); margin:0 0 16px;}
.hero p{font-size:18px; color:var(--muted); max-width:430px; margin:0 0 26px;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap;}

/* uncertainty motif card */
.uncard{background:var(--white); border:1px solid #EAECF0; border-radius:16px; padding:22px; box-shadow:0 16px 40px -22px rgba(20,18,58,.28);}
.uncard .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; gap:10px;}
.uncard .top .t{font-size:14px; font-weight:600; color:var(--ink);}
.uncard .badge{font-size:10px; color:var(--teal-d); background:var(--teal-l); padding:4px 9px; border-radius:6px; font-weight:600; white-space:nowrap;}
.bar-row{margin-bottom:16px;}
.bar-row .lab{font-size:12.5px; color:var(--body); margin-bottom:5px; display:flex; justify-content:space-between;}
.bar-row .lab .q{font-weight:600;}
.track{position:relative; height:9px; background:#F0F1F4; border-radius:5px;}
.range{position:absolute; top:0; bottom:0; border-radius:5px;}
.uncard .note{font-size:11.5px; color:var(--faint); margin-top:14px; border-top:1px dashed var(--line-2); padding-top:11px;}

/* section */
.section{padding:60px 0;}
.section.tight{padding:34px 0 8px;}
.section-head{text-align:center; margin-bottom:8px;}
.section-head h2{font-size:30px;}
.section-head p{color:var(--muted); font-size:16px; margin:6px 0 0;}
.page-head{padding:60px 0 6px; background:linear-gradient(180deg,#FBFBFC,#FFFFFF);}
.page-head h1{font-size:40px; margin:8px 0 14px;}
.page-head .lead{color:var(--muted); font-size:19px; max-width:700px;}

/* pillar / feature blocks */
.feature{border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-bottom:16px;}
.feature.grid2{display:grid; grid-template-columns:1fr 1fr;}
.feature .pad{padding:30px;}
.feature .label{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-d); font-weight:600; margin-bottom:8px;}
.feature h3{font-size:22px; margin-bottom:10px;}
.feature p{color:var(--muted); font-size:15px; margin:0 0 16px;}
.chip{display:inline-block; font-size:12px; border:1px solid #E0E2E8; border-radius:999px; padding:5px 12px; color:var(--body); margin:0 5px 6px 0;}
.more{font-size:14px; font-weight:600; color:var(--teal-d);}
.navy-panel{background:var(--navy); padding:30px; display:flex; flex-direction:column; justify-content:center; gap:11px;}
.navy-panel .pl{font-size:11px; color:#AFA9EC; letter-spacing:.06em; text-transform:uppercase;}
.tagpill{font-size:12px; color:#EEEDFE; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:7px; padding:6px 11px; display:inline-block; margin:0 6px 6px 0;}

/* app block */
.appblock{border:1px solid var(--line); border-radius:18px; background:var(--surface-2); padding:30px; display:grid; grid-template-columns:1fr 0.85fr; gap:28px; align-items:center;}
.phone{width:200px; border:8px solid var(--navy); border-radius:30px; background:#fff; padding:16px 14px; box-shadow:0 22px 44px -22px rgba(20,18,58,.45); margin:0 auto;}
.phone .file{font-size:11px; color:var(--faint); margin-bottom:11px;}
.phone .ttl{font-size:13px; font-weight:600; color:var(--ink); margin-bottom:14px;}
.phone .qt{font-size:12px; color:var(--body); margin-bottom:4px;}
.phone .quote{font-size:11px; color:var(--muted); background:#F2F7F6; border-radius:7px; padding:9px 10px; line-height:1.45; margin-top:6px;}
.store-badge{display:inline-flex; align-items:center; gap:7px; background:#111; color:#fff; padding:10px 16px; border-radius:9px; font-size:13px; font-weight:500;}
.store-badge:hover{color:#fff; text-decoration:none; background:#000;}
.soon{display:inline-block; background:var(--teal-l); color:var(--teal-d); font-weight:600; font-size:13px; padding:9px 15px; border-radius:9px;}

/* screenshot scroll gallery */
.shotscroll{display:flex; gap:18px; overflow-x:auto; padding:6px 2px 18px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;}
.shotscroll img{height:480px; width:auto; border-radius:26px; border:1px solid var(--line); box-shadow:0 18px 40px -20px rgba(20,18,58,.35); scroll-snap-align:center; flex:0 0 auto;}
.shotscroll::-webkit-scrollbar{height:8px;}
.shotscroll::-webkit-scrollbar-thumb{background:#D7DAE0; border-radius:8px;}
@media (max-width:880px){ .shotscroll img{height:380px;} }

/* real screenshot in a frame (homepage) */
.screenshot-frame{width:210px; border-radius:30px; border:7px solid var(--navy); box-shadow:0 22px 44px -22px rgba(20,18,58,.45); margin:0 auto; overflow:hidden; background:var(--navy); display:block;}
.screenshot-frame img{display:block; width:100%; border-radius:22px;}

/* two-up */
.twoup{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.minicard{border:1px solid var(--line); border-radius:16px; padding:24px;}
.minicard .label{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-d); font-weight:600; margin-bottom:8px;}
.minicard h3{font-size:18px; margin-bottom:12px;}

/* video grid */
.videos{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.video{border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff;}
.video .embed{position:relative; padding-top:56.25%; background:#15123A;}
.video .embed iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
.video .vt{padding:13px 15px; font-size:14px; font-weight:500; color:var(--ink);}

/* frameworks deep grid */
.fwgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.fwcard{border:1px solid var(--line); border-radius:16px; padding:24px;}
.fwcard .fwk{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-d); font-weight:600; margin-bottom:6px;}
.fwcard h3{font-size:20px; margin-bottom:10px;}
.fwwhat{color:var(--muted); font-size:14.5px; margin:0 0 12px;}
.fwline{font-size:14px; color:var(--body); margin:0 0 8px;}
.fwline strong{color:var(--ink);}
@media (max-width:880px){ .fwgrid{grid-template-columns:1fr;} }

/* consulting enriched practice areas */
.pmethod{color:var(--body); font-size:15px; margin:0 0 12px;}
.pex{background:var(--surface); border-radius:10px; padding:13px 15px; font-size:14px; color:var(--body); margin:0 0 12px;}
.pex strong{color:var(--ink);}
.pdel{font-size:14px; color:var(--body); margin:0 0 10px;}
.pdel strong{color:var(--ink);}
.pservices{margin:0; padding-left:20px; color:var(--muted); font-size:14px; columns:2; column-gap:28px;}
.pservices li{margin-bottom:5px; break-inside:avoid;}
@media (max-width:880px){ .pservices{columns:1;} }

/* credentials strip (homepage) */
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; border-top:1px solid var(--line); padding-top:38px;}
.stat .num{font-family:"Source Serif 4",Georgia,serif; font-size:40px; font-weight:600; color:var(--ink); line-height:1; margin-bottom:8px;}
.stat .lab{font-size:14.5px; color:var(--muted);}
@media (max-width:880px){ .stats{grid-template-columns:1fr; gap:28px;} }

/* logo + footer brand + insight labels */
.logo-mark{display:block; flex-shrink:0;}
.fbrand{display:inline-flex; align-items:center; gap:9px; margin-bottom:8px; color:#EEEDFE; font-weight:600; font-size:15px;}
.fbrand:hover{text-decoration:none; color:#fff;}
.ilabel{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-d); font-weight:600; margin-bottom:8px;}

/* video rows (channel) */
.vrow{display:flex; gap:24px; align-items:flex-start; border:1px solid var(--line); border-radius:16px; padding:20px; margin-bottom:18px;}
.vembed{flex:0 0 46%; max-width:480px; position:relative; padding-top:25.9%; min-width:280px; background:#15123A; border-radius:12px; overflow:hidden;}
.vembed iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
.vtext{flex:1;}
.vtext h3{font-size:20px; margin-bottom:8px;}
.vtext p{color:var(--muted); font-size:14.5px; margin:0 0 12px;}
@media (max-width:880px){
  .vrow{flex-direction:column;}
  .vembed{flex:0 0 auto; width:100%; max-width:none; padding-top:56.25%;}
}

/* book author + rating */
.book .author{font-size:13px; color:var(--faint); margin:-2px 0 8px;}
.book .rating{font-size:13px; color:#B8860B; font-weight:600; margin-bottom:10px;}
.book .rating span{color:var(--faint); font-weight:400;}

/* books */
.books{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.book{border:1px solid var(--line); border-radius:16px; padding:22px; text-align:center; display:flex; flex-direction:column; align-items:center;}
.book .cover{width:130px; height:195px; border-radius:6px; box-shadow:0 12px 28px -12px rgba(20,18,58,.4); object-fit:cover; background:linear-gradient(135deg,var(--navy),var(--indigo)); display:flex; align-items:center; justify-content:center; color:#EEEDFE; margin-bottom:16px;}
.book h3{font-size:17px; margin-bottom:8px;}
.book p{font-size:13.5px; color:var(--muted); margin:0 0 16px;}
.btn-amazon{background:var(--amazon); color:#3a2300; font-weight:600; padding:9px 16px; border-radius:8px; font-size:13.5px; display:inline-flex; align-items:center; gap:6px;}
.btn-amazon:hover{color:#3a2300; text-decoration:none; filter:brightness(1.05);}

/* cards (generic) */
.grid{display:grid; gap:18px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px;}
.card h3{font-size:19px; margin-bottom:8px;}
.card p{color:var(--muted); font-size:15px; margin:0 0 14px;}
.card .ic{font-size:23px; margin-bottom:12px; display:block; color:var(--teal-d);}

/* practice areas (consulting) */
.practice{border:1px solid var(--line); border-left:4px solid var(--teal); border-radius:0 14px 14px 0; padding:24px 26px; margin-bottom:18px;}
.practice h3{font-size:21px; margin-bottom:6px;}
.practice .who{color:var(--muted); font-size:14.5px; margin:0 0 12px;}
.practice ul{margin:0; padding-left:20px; color:var(--body); font-size:15px;}
.practice li{margin-bottom:6px;}
.tag{display:inline-block; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:3px 10px; border-radius:6px; margin-bottom:11px; background:var(--teal-l); color:var(--teal-d);}

/* CTA band */
.cta{margin:18px 0; background:var(--navy); border-radius:18px;}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:34px 32px; flex-wrap:wrap;}
.cta h2{color:#fff; font-size:24px;}
.cta p{color:#CECBF6; margin:5px 0 0; font-size:14px;}

/* lead box */
.leadbox{background:var(--teal-l); border-radius:16px; padding:30px; display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap;}
.leadbox h3{color:var(--teal-d); font-size:21px;}
.leadbox p{color:var(--teal-d); margin:6px 0 0; font-size:15px; opacity:.9;}
.leadform{display:flex; flex-direction:column; gap:10px; min-width:280px;}
.leadform .row{display:flex; gap:10px; flex-wrap:wrap;}

/* forms */
form.styled label{display:block; font-size:14px; font-weight:600; color:var(--ink); margin:14px 0 6px;}
form.styled input, form.styled textarea{width:100%; font:inherit; font-size:16px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--body);}
form.styled input:focus, form.styled textarea:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(14,159,142,.15);}
form.styled textarea{min-height:130px; resize:vertical;}
.hp{position:absolute; left:-5000px;}

/* article */
.article{max-width:720px; margin:0 auto; padding:54px 24px 24px;}
.article h1{font-size:36px; margin-bottom:8px;}
.article .meta{color:var(--faint); font-size:13px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:30px;}
.article h2{font-size:24px; margin:32px 0 10px;}
.article p{margin:0 0 16px;}
.article ul{margin:0 0 16px; padding-left:22px;}
.article blockquote{margin:24px 0; padding:16px 22px; background:var(--surface); border-left:4px solid var(--teal); border-radius:0 10px 10px 0;}
.article .disclaimer{font-size:14px; color:var(--muted); border-top:1px solid var(--line); margin-top:40px; padding-top:20px;}
.backlink{display:inline-block; margin-bottom:22px; font-size:14px; font-weight:600;}
.ph{background:#FFF4E6; color:#8A5A12; border-radius:4px; padding:1px 6px; font-size:.85em; font-weight:600;}

/* footer */
footer{background:var(--navy); color:#CECBF6; padding:44px 0 34px; margin-top:50px;}
footer .wrap{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;}
footer a{color:#CECBF6; font-size:14px;}
footer a:hover{color:#fff;}
footer .flinks{display:flex; gap:18px; flex-wrap:wrap;}
footer .copy{font-size:13px; color:#9C95E0;}

/* reveal */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;} html{scroll-behavior:auto;}}

/* responsive */
@media (max-width:880px){
  .hero .wrap, .feature.grid2, .appblock{grid-template-columns:1fr;}
  .videos, .books, .grid-3, .grid-2, .twoup{grid-template-columns:1fr;}
  .hero h1{font-size:34px;} .page-head h1{font-size:30px;}
  .section{padding:46px 0;} .section-head h2{font-size:25px;}
  .navy-panel{order:2;}
  .nav-links{position:absolute; top:66px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:0; padding:8px 24px 18px; display:none;}
  .nav-links.open{display:flex;}
  .nav-links li{width:100%; padding:9px 0;}
  .nav-links a.active{border-bottom:none;}
  .menu-toggle{display:block;}
  .cta-inner{flex-direction:column; align-items:flex-start;}
  .books{max-width:280px; margin:0 auto;}
}
