/* Shapla AI — main stylesheet (consolidated, minified-friendly) */

/* ====== TOKENS ====== */
:root{
	--ice:#E9F1F1;--teal:#8DC3BC;--teal-deep:#1F3A38;--teal-soft:#B8D8D3;--teal-tint:#D6E8E5;
	--white:#FFFFFF;--yellow:#FFC90C;
	--gray-50:#F8F9FA;--gray-100:#F2F3F6;--gray-200:#E5E7E8;--gray-400:#9AA0A2;
	--ink:#404040;--ink-soft:#5A5F61;
	--font-display:'Instrument Serif','Iowan Old Style',Georgia,serif;
	--font-body:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
	--font-mono:'JetBrains Mono','SF Mono',Menlo,monospace;
	--radius-sm:6px;--radius:12px;--radius-lg:20px;--radius-xl:28px;
	--shadow-sm:0 1px 2px rgba(31,58,56,.04),0 0 0 1px rgba(31,58,56,.04);
	--shadow:0 8px 24px rgba(31,58,56,.06),0 1px 2px rgba(31,58,56,.04);
	--shadow-lg:0 24px 60px rgba(31,58,56,.08),0 2px 4px rgba(31,58,56,.04);
	--max:1280px;
}

/* ====== RESET & BASE ====== */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.container{max-width:var(--max);margin:0 auto;padding:0 32px}
.screen-reader-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:8px;top:-40px;background:var(--teal-deep);color:var(--white);padding:8px 14px;border-radius:6px;z-index:9999;transition:top .15s}
.skip-link:focus{top:8px}

/* ====== STATUS BANNER ====== */
.shaplaai-banner{padding:14px 22px;font-size:14px;text-align:center;border-radius:8px;max-width:760px;margin:18px auto 0;font-weight:500}
.shaplaai-banner-success{background:#D6E8E5;color:var(--teal-deep)}
.shaplaai-banner-error{background:#FFEBE5;color:#7E1F0E}

/* ====== PROMO STRIP ====== */
.promo-strip{background:var(--yellow);color:var(--teal-deep);font-size:14px;padding:11px 32px;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:500;letter-spacing:-.005em;position:relative}
.promo-strip .pill{background:var(--teal-deep);color:var(--yellow);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}
.promo-strip a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.promo-strip .arrow{font-weight:600}
.promo-dismiss{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--teal-deep);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;line-height:1}
.promo-dismiss:hover{background:rgba(31,58,56,.08)}
.promo-strip.is-hidden{display:none}

/* ====== NAV ====== */
.nav{background:var(--white);border-bottom:1px solid var(--gray-100);position:sticky;top:0;z-index:50}
.nav-inner{max-width:var(--max);margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:26px;letter-spacing:-.02em;color:var(--teal-deep)}
.logo-mark{width:32px;height:32px;display:grid;place-items:center}
.logo span.dot{color:var(--teal)}
.nav-links{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500;color:var(--ink)}
.nav-links a, .nav-links .menu-item a, .nav-links .menu-item > a{padding:8px 0;position:relative;transition:color .2s;list-style:none}
.nav-links ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:36px}
.nav-links a:hover{color:var(--teal-deep)}
.nav-links .has-caret{display:inline-flex;align-items:center;gap:5px}
.nav-links a.is-active,.nav-links .current-menu-item a{color:var(--teal-deep)}
.nav-links a.is-active::after,.nav-links .current-menu-item a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--teal);border-radius:2px}
.nav-cta{display:flex;align-items:center;gap:8px}
.nav-toggle{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:8px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--teal-deep);transition:transform .2s, opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ====== BUTTONS ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:14px;padding:12px 20px;border-radius:999px;transition:all .18s ease;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--teal-deep);color:var(--white)}
.btn-primary:hover{background:#142826;transform:translateY(-1px)}
.btn-secondary{background:var(--white);color:var(--teal-deep);border:1px solid var(--gray-200)}
.btn-secondary:hover{border-color:var(--teal)}
.btn-yellow{background:var(--yellow);color:var(--teal-deep)}
.btn-yellow:hover{background:#FFD63D}
.btn-lg{font-size:15px;padding:15px 26px}

/* ====== HOMEPAGE HERO ====== */
.hero{background:var(--ice);padding:80px 0 100px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
.hero-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:var(--white);border:1px solid var(--teal-soft);border-radius:999px;margin-bottom:28px}
.hero-eyebrow .live{width:6px;height:6px;border-radius:999px;background:var(--teal);box-shadow:0 0 0 3px rgba(141,195,188,.3)}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,5.4vw,68px);line-height:1.02;letter-spacing:-.025em;color:var(--teal-deep);margin:0 0 24px;text-wrap:balance}
.hero h1 .accent{font-style:italic;color:var(--teal)}
.hero h1 .underline-mark{position:relative;display:inline-block}
.hero h1 .underline-mark::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:8px;background:var(--yellow);z-index:-1;opacity:.85}
.hero p.lede{font-size:18px;line-height:1.55;color:var(--ink-soft);margin:0 0 32px;max-width:540px;text-wrap:pretty}
.hero-cta{display:flex;gap:12px;margin-bottom:36px;flex-wrap:wrap}
.hero-meta{display:flex;align-items:center;gap:18px;font-size:13px;color:var(--ink-soft)}
.hero-meta .avatars{display:flex}
.hero-meta .avatars > div{width:28px;height:28px;border-radius:999px;border:2px solid var(--ice);margin-left:-8px;font-family:var(--font-mono);font-size:10px;font-weight:600;display:grid;place-items:center;color:var(--white)}
.hero-meta .avatars > div:first-child{margin-left:0}

/* ====== HERO CAROUSEL (replaces doctorate stage) ====== */
.hero-carousel{position:relative;height:540px;width:100%;display:flex;align-items:center;justify-content:center}
.hero-carousel-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--teal-soft) 0%,transparent 60%);opacity:.55;z-index:0;pointer-events:none}
.hero-mockup{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.985);transition:opacity 700ms ease,transform 700ms ease;pointer-events:none;z-index:1}
.hero-mockup.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:3}
.hero-mockup-card{position:relative;z-index:2;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);width:94%;max-width:520px;overflow:hidden;border:1px solid var(--gray-200)}
.hero-browser-bar{height:34px;background:#F8F9FA;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--gray-200)}
.hero-traffic{width:9px;height:9px;border-radius:99px;background:var(--gray-200)}
.hero-url{flex:1;height:18px;background:#fff;border-radius:5px;margin-left:10px;display:flex;align-items:center;padding:0 10px;font-family:var(--font-mono);font-size:10px;color:var(--gray-400);border:1px solid var(--gray-200);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hero-url-dot{color:var(--teal);margin-right:4px}
.hero-site-nav{padding:14px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gray-100)}
.hero-site-brand{font-family:var(--font-display);font-size:14px;color:var(--teal-deep);letter-spacing:-.01em}
.hero-site-links{display:flex;gap:10px;font-size:9px;color:var(--ink-soft);font-weight:500}
.hero-site-hero{padding:28px 22px 24px;background:var(--ice);position:relative}
.hero-site-eyebrow{font-family:var(--font-mono);font-size:8px;letter-spacing:.14em;color:var(--teal-deep);margin-bottom:10px}
.hero-site-headline{font-family:var(--font-display);font-size:26px;line-height:1.05;color:var(--teal-deep);letter-spacing:-.02em;margin-bottom:10px}
.hero-site-headline em{font-style:italic;color:var(--teal)}
.hero-site-body{font-size:10px;color:var(--ink-soft);line-height:1.5;margin-bottom:14px;max-width:340px}
.hero-site-ctas{display:flex;gap:6px}
.hero-site-cta-a{font-size:9px;font-weight:600;padding:6px 10px;background:var(--teal-deep);color:#fff;border-radius:99px}
.hero-site-cta-b{font-size:9px;font-weight:500;padding:6px 10px;background:#fff;color:var(--teal-deep);border-radius:99px;border:1px solid var(--teal-soft)}
.hero-site-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gray-100)}
.hero-site-stats > div{padding:12px 10px;text-align:center;border-right:1px solid var(--gray-100)}
.hero-site-stats > div:last-child{border-right:none}
.hero-stat-num{font-family:var(--font-display);font-size:16px;color:var(--teal-deep);letter-spacing:-.01em}
.hero-stat-label{font-family:var(--font-mono);font-size:7.5px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.hero-site-footer{padding:14px 22px;display:flex;gap:8px}
.hero-site-footer > div{flex:1;height:36px;background:var(--gray-100);border-radius:6px}

/* Floating badges around the mockup card */
.hero-badge-tr{position:absolute;top:20px;right:0;background:var(--teal-deep);color:#fff;z-index:5}
.hero-badge-tr .num{color:var(--yellow)}
.hero-badge-bl{position:absolute;bottom:30px;left:-10px;background:var(--yellow);color:var(--teal-deep);z-index:5}
.hero-badge-bl .num small{font-size:12px;font-family:var(--font-display)}
.hero-badge-mr{position:absolute;top:50%;right:-20px;background:#fff;color:var(--teal-deep);border:1px solid var(--teal-soft);z-index:5}
.hero-badge-dot{width:6px;height:6px;border-radius:99px;background:var(--teal);display:inline-block}

/* Carousel dots */
.hero-dots{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6;align-items:center}
.hero-dot{width:8px;height:8px;border-radius:99px;background:var(--teal-soft);border:none;padding:0;cursor:pointer;transition:width 300ms ease,background 300ms ease}
.hero-dot:hover{background:var(--teal)}
.hero-dot.is-active{width:24px;background:var(--teal-deep)}
.hero-dot:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

/* ====== Legacy: doctorate stage (kept so it still degrades cleanly if reused) ====== */
.doc-stage{position:relative;height:540px;display:flex;align-items:center;justify-content:center}
.doc-stage::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--teal-soft) 0%,transparent 65%);opacity:.6;z-index:0}
.doc-card{position:absolute;background:var(--white);border-radius:var(--radius-lg);padding:22px;width:280px;box-shadow:var(--shadow-lg);z-index:2}
.doc-card .doc-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.doc-card .doc-avatar{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-size:20px;color:var(--white);flex:0 0 auto}
.doc-card .doc-name{font-weight:600;font-size:14px;color:var(--teal-deep);letter-spacing:-.01em}
.doc-card .doc-disc{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;margin-top:2px}
.doc-card .doc-body{font-size:13px;color:var(--ink);line-height:1.5}
.doc-card .doc-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-deep);background:var(--teal-tint);padding:4px 8px;border-radius:6px;margin-top:14px}
.doc-card .doc-tag .pulse{width:5px;height:5px;border-radius:999px;background:var(--teal-deep);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
.doc-1{top:30px;left:0;transform:rotate(-4deg)}
.doc-2{bottom:50px;right:0;transform:rotate(3deg);z-index:3}
.doc-3{top:200px;left:50%;transform:translateX(-50%) rotate(-1deg);z-index:4;width:320px;box-shadow:0 30px 80px rgba(31,58,56,.16),0 4px 8px rgba(31,58,56,.06)}
.doc-orbit{position:absolute;inset:40px;border:1.5px dashed var(--teal-soft);border-radius:50%;z-index:1;opacity:.7;animation:spin 80s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.doc-orbit-2{position:absolute;inset:100px;border:1px solid var(--teal-soft);border-radius:50%;z-index:1;opacity:.4}
.float-badge{position:absolute;background:var(--teal-deep);color:var(--white);padding:10px 14px;border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;z-index:5;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:8px}
.float-badge .num{font-family:var(--font-display);font-size:22px;line-height:1}
.fb-1{top:0;right:30px}
.fb-2{bottom:10px;left:20px;background:var(--yellow);color:var(--teal-deep)}

/* ====== SECTIONS BASE ====== */
section.block{padding:120px 0}
.block.tight{padding:90px 0}
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 18px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--teal)}
h2.section-title,.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.02em;color:var(--teal-deep);margin:0 0 20px;max-width:760px;text-wrap:balance}
.section-title .ital,h2 .ital,h3 .ital{font-style:italic;color:var(--teal)}
.section-lede{font-size:17px;color:var(--ink-soft);max-width:620px;margin:0;text-wrap:pretty}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:64px}
.section-head.center{flex-direction:column;align-items:center;text-align:center;gap:0}
.section-head.center .section-lede{text-align:center}

/* ====== STATS BAND ====== */
.stats-band{background:var(--teal-deep);color:var(--white);padding:90px 0;position:relative;overflow:hidden}
.stats-band .container{position:relative;z-index:2}
.stats-band::before{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(141,195,188,.15);border-radius:50%;right:-200px;top:-200px}
.stats-band::after{content:'';position:absolute;width:400px;height:400px;border:1px solid rgba(141,195,188,.1);border-radius:50%;right:-100px;top:-100px}
.stats-band .eyebrow{color:var(--teal)}
.stats-band .eyebrow::before{background:var(--teal)}
.stats-band h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,3.6vw,46px);line-height:1.08;letter-spacing:-.02em;margin:0 0 60px;max-width:820px;color:var(--white)}
.stats-band h2 .ital{font-style:italic;color:var(--teal)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(141,195,188,.2)}
.stat{padding:36px 28px 0 0;border-right:1px solid rgba(141,195,188,.2)}
.stat:last-child{border-right:none}
.stat .num{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--white);letter-spacing:-.03em;margin-bottom:10px}
.stat .num .plus{color:var(--yellow)}
.stat .label{font-size:13px;color:var(--teal-soft);line-height:1.5;letter-spacing:-.005em}

/* ====== HOMEPAGE SERVICES ====== */
.services-block{background:var(--gray-100)}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.svc-card{background:var(--white);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;border:1px solid transparent}
.svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--teal-soft)}
.svc-card.feature{grid-column:span 4;min-height:360px}
.svc-card.compact{grid-column:span 2;min-height:360px}
.svc-card.wide{grid-column:span 3;min-height:280px}
.svc-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--teal)}
.svc-title{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.1;letter-spacing:-.02em;color:var(--teal-deep);margin:0}
.svc-card.feature .svc-title{font-size:38px}
.svc-desc{font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin:0;flex:1}
.svc-link{font-size:13px;font-weight:500;color:var(--teal-deep);display:inline-flex;align-items:center;gap:6px;margin-top:8px}
.svc-link .arrow{transition:transform .2s}
.svc-card:hover .svc-link .arrow{transform:translateX(4px)}
.svc-visual{margin-top:auto;padding-top:16px}

.svc-vis-web{height:96px;border-radius:10px;background:linear-gradient(135deg,#D6E8E5,#E9F1F1);position:relative}
.svc-vis-web::before,.svc-vis-web::after{content:'';position:absolute;height:8px;border-radius:4px;left:14px}
.svc-vis-web::before{top:14px;width:40%;background:#8DC3BC}
.svc-vis-web::after{top:30px;width:70%;background:#1F3A38}
.svc-vis-auto{height:96px;border-radius:10px;background:#1F3A38;padding:14px;color:#FFC90C;font-family:var(--font-mono);font-size:11px}
.svc-vis-auto::before{content:'● AUTO · 04:21';display:block;letter-spacing:.08em}
.svc-vis-auto::after{content:'if (lead.score > 80) {\A   notify.sales();\A}';white-space:pre;color:#8DC3BC;display:block;margin-top:10px;line-height:1.4}
.svc-vis-scholar{height:96px;border-radius:10px;background:#fff;border:1px solid #B8D8D3;display:flex;align-items:center;gap:14px;padding:14px;font-family:var(--font-display);font-size:18px;color:#1F3A38}
.svc-vis-scholar::before{content:'$5K';width:60px;height:60px;border-radius:8px;background:#FFC90C;display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.svc-vis-scholar::after{content:'The Khan Family\A Scholarship';white-space:pre;line-height:1.1}
.svc-vis-academic{height:96px;border-radius:10px;background:#E9F1F1;padding:14px;font-family:var(--font-display);font-size:18px;color:#1F3A38;font-style:italic;display:flex;align-items:center}
.svc-vis-academic::before{content:'"On Latent Variables in Educational Modeling"';display:block;line-height:1.1}

/* ====== PROCESS ====== */
.process-block{background:var(--white)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:0}
.proc-step{border-top:1px solid var(--gray-200);padding-top:24px;position:relative}
.proc-step .step-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--teal);margin-bottom:16px}
.proc-step h3{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.1;color:var(--teal-deep);margin:0 0 12px;letter-spacing:-.01em}
.proc-step p{font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin:0}
.proc-step::before{content:'';position:absolute;top:-1px;left:0;width:32px;height:1px;background:var(--teal-deep)}

/* ====== TESTIMONIAL ====== */
.testimonial-block{background:var(--ice);padding:120px 0}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch}
.testim-card{background:var(--white);border-radius:var(--radius-lg);padding:44px;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-sm)}
.testim-card.featured{background:var(--teal-deep);color:var(--white)}
.testim-card .quote-mark{font-family:var(--font-display);font-size:80px;line-height:.6;color:var(--teal);margin-bottom:8px}
.testim-card.featured .quote-mark{color:var(--yellow)}
.testim-card blockquote{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.25;letter-spacing:-.015em;color:var(--teal-deep);margin:0 0 28px;flex:1;text-wrap:pretty}
.testim-card.featured blockquote{color:var(--white)}
.testim-author{display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid var(--gray-200)}
.testim-card.featured .testim-author{border-top-color:rgba(141,195,188,.25)}
.testim-author .av{width:44px;height:44px;border-radius:999px;background:var(--teal-tint);display:grid;place-items:center;font-family:var(--font-display);font-size:18px;color:var(--teal-deep);flex:0 0 auto}
.testim-card.featured .testim-author .av{background:var(--teal);color:var(--teal-deep)}
.testim-author .who{font-size:14px;font-weight:600;color:var(--teal-deep);letter-spacing:-.005em}
.testim-card.featured .testim-author .who{color:var(--white)}
.testim-author .role{font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.testim-card.featured .testim-author .role{color:var(--teal-soft)}

/* ====== FINAL CTA ====== */
.cta-block{background:var(--white);padding:130px 0}
.cta-card{background:var(--teal);border-radius:var(--radius-xl);padding:80px 64px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.cta-card h2{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,4vw,56px);line-height:1.02;letter-spacing:-.025em;color:var(--teal-deep);margin:0 0 20px}
.cta-card h2 .ital{font-style:italic}
.cta-card p{font-size:17px;line-height:1.5;color:var(--teal-deep);margin:0 0 32px;opacity:.82;text-wrap:pretty}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta-form{background:var(--white);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-lg)}
.cta-form-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:16px;display:block}
.cta-form-row{display:grid;gap:12px;margin-bottom:16px}
.cta-form input,.cta-form select,.cta-form textarea{width:100%;padding:12px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;color:var(--ink);background:var(--white);transition:border-color .15s}
.cta-form input:focus,.cta-form select:focus,.cta-form textarea:focus{outline:none;border-color:var(--teal)}
.cta-form .btn{width:100%}
.cta-meta{font-size:12px;color:var(--ink-soft);text-align:center;margin-top:12px}

/* ====== FOOTER ====== */
.footer{background:var(--teal-deep);color:var(--white);padding:80px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.footer-logo{font-family:var(--font-display);font-size:28px;letter-spacing:-.02em;margin-bottom:16px;color:var(--white);display:inline-block}
.footer-tag{font-size:14px;color:var(--teal-soft);line-height:1.55;max-width:280px;margin-bottom:24px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:36px;height:36px;border-radius:8px;background:rgba(141,195,188,.12);display:grid;place-items:center;font-size:12px;color:var(--teal)}
.footer-col h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 18px;font-weight:500}
.footer-col ul,.footer-col .menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:14px;color:var(--teal-soft);transition:color .15s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(141,195,188,.2);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--teal-soft);flex-wrap:wrap;gap:16px}
.footer-legal{display:flex;gap:24px}

/* ====== INNER PAGE HERO ====== */
.page-hero{background:var(--ice);padding:90px 0 110px;position:relative;overflow:hidden}
.page-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.page-hero-title{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,4.6vw,60px);line-height:1.04;letter-spacing:-.025em;color:var(--teal-deep);margin:0 0 22px;text-wrap:balance}
.page-hero-title .accent{font-style:italic;color:var(--teal)}
.page-hero-sub{font-size:18px;line-height:1.55;color:var(--ink-soft);margin:0 0 32px;max-width:540px;text-wrap:pretty}
.page-hero-kicker{margin-top:32px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:12px}
.page-hero-kicker::before{content:'';width:24px;height:1px;background:var(--teal)}
.page-hero-aside{position:relative;height:480px}

/* Hero mockup frame (used on multiple inner pages) */
.hero-mockup-frame{position:relative;z-index:2;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);width:92%;max-width:520px;overflow:hidden;border:1px solid var(--gray-200);margin:0 auto;top:50%;transform:translateY(-50%)}
.page-hero-aside::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--teal-soft) 0%,transparent 60%);opacity:.55;z-index:1}
.mockup-bar{height:34px;background:#F8F9FA;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--gray-200)}
.mockup-bar > span:not(.mockup-url):not(.dot-live):not(.mockup-flow-name):not(.mockup-run-id){width:9px;height:9px;border-radius:99px;background:var(--gray-200)}
.mockup-url{flex:1;height:18px;background:#fff;border-radius:5px;margin-left:10px;padding:0 10px;font-family:var(--font-mono);font-size:10px;color:var(--gray-400);display:flex;align-items:center;border:1px solid var(--gray-200)}
.mockup-url .dot{color:var(--teal);margin-right:4px}
.mockup-body{padding:28px 26px}
.mockup-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--teal);margin-bottom:10px}
.mockup-title{font-family:var(--font-display);font-size:30px;line-height:1.05;color:var(--teal-deep);letter-spacing:-.02em;margin-bottom:12px}
.mockup-title em{font-style:italic;color:var(--teal)}
.mockup-sub{font-size:12px;color:var(--ink-soft);line-height:1.5;margin-bottom:18px;max-width:340px}
.mockup-buttons{display:flex;gap:8px;flex-wrap:wrap}
.mockup-btn-primary{font-size:11px;font-weight:600;padding:8px 14px;background:var(--teal-deep);color:#fff;border-radius:99px}
.mockup-btn-secondary{font-size:11px;font-weight:500;padding:8px 14px;background:#fff;color:var(--teal-deep);border-radius:99px;border:1px solid var(--gray-200)}
.mockup-btn-yellow{font-size:12px;font-weight:600;padding:8px 14px;background:var(--yellow);color:var(--teal-deep);border-radius:99px}
.mockup-footer{padding:14px 26px;background:var(--ice);border-top:1px solid var(--gray-200);display:flex;align-items:center;gap:14px}
.mockup-score{font-family:var(--font-display);font-size:18px;color:var(--teal-deep);font-style:italic}
.mockup-bar-fill{flex:1;height:6px;background:var(--gray-200);border-radius:99px;overflow:hidden}
.mockup-bar-fill > div{width:98%;height:100%;background:var(--teal)}
.mockup-label{font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);letter-spacing:.1em}
.mockup-stats-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gray-200)}
.mockup-stats-strip > div{padding:14px 10px;text-align:center;border-right:1px solid var(--gray-200)}
.mockup-stats-strip > div:last-child{border-right:none}
.ms-num{font-family:var(--font-display);font-size:18px;color:var(--teal-deep)}
.ms-label{font-family:var(--font-mono);font-size:8px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.mockup-pills{display:flex;gap:8px;font-size:10px;font-family:var(--font-mono);color:var(--teal-deep);flex-wrap:wrap}
.mockup-pills span{padding:4px 10px;background:var(--ice);border-radius:99px;letter-spacing:.06em}

/* automation flow mockup */
.dot-live{width:8px;height:8px;border-radius:99px;background:var(--teal);box-shadow:0 0 0 4px rgba(141,195,188,.25)}
.mockup-flow-name{font-family:var(--font-mono);font-size:11px;color:var(--teal-deep);letter-spacing:.04em}
.mockup-run-id{margin-left:auto;font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);letter-spacing:.08em}
.mockup-flow{padding:22px;display:flex;flex-direction:column;gap:10px}
.flow-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px}
.flow-row.flow-green{background:var(--ice);border:1px solid rgba(141,195,188,.3)}
.flow-row.flow-yellow{background:var(--ice);border:1px solid rgba(141,195,188,.3)}
.flow-row.flow-gray{background:#F8F9FA;border:1px solid var(--gray-200)}
.flow-dot{width:22px;height:22px;border-radius:99px;background:var(--teal);display:grid;place-items:center;font-size:9px;font-weight:600;color:var(--teal-deep)}
.flow-yellow .flow-dot{background:var(--yellow)}
.flow-gray .flow-dot{background:var(--gray-200)}
.flow-title{font-size:12.5px;color:var(--teal-deep);font-weight:500}
.flow-sub{font-size:11px;color:var(--ink-soft);margin-top:1px}
.flow-time{font-family:var(--font-mono);font-size:9px;color:var(--teal);letter-spacing:.06em}
.flow-yellow .flow-time,.flow-gray .flow-time{color:var(--ink-soft)}

/* services overview hero stack */
.services-hero-stack{position:relative;height:460px}
.service-stack-card{position:absolute;width:280px;padding:20px 24px;border-radius:14px;box-shadow:var(--shadow);right:0}
.ssc-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;opacity:.7;margin-bottom:6px}
.ssc-title{font-family:var(--font-display);font-size:22px;line-height:1.1;letter-spacing:-.01em}
.ssc-desc{font-size:13px;margin-top:4px;opacity:.75}

/* about practice cards */
.about-cards{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:16px;width:94%;max-width:520px;margin:0 auto}
.about-card{padding:24px;border-radius:14px;box-shadow:var(--shadow-lg)}
.about-card.about-dhaka{background:#1F3A38;color:#fff;transform:rotate(-2deg)}
.about-card.about-boston{background:#fff;border:1px solid var(--gray-200);transform:rotate(2deg);margin-top:30px}
.ac-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;margin-bottom:12px}
.about-dhaka .ac-eyebrow{color:#FFC90C}
.about-boston .ac-eyebrow{color:#8DC3BC}
.ac-title{font-family:var(--font-display);font-size:22px;line-height:1.05;letter-spacing:-.01em;margin-bottom:14px}
.ac-title em{font-style:italic;color:#8DC3BC}
.about-dhaka .ac-title{color:#fff}
.about-boston .ac-title{color:#1F3A38}
.ac-sub{font-size:11px;margin-bottom:18px;line-height:1.5}
.about-dhaka .ac-sub{color:#B8D8D3}
.about-boston .ac-sub{color:#5A5F61}
.ac-meta{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em}
.about-dhaka .ac-meta{color:#8DC3BC}
.about-boston .ac-meta{color:#1F3A38}

/* practice card (deep-row right side) */
.practice-card{padding:36px;border-radius:var(--radius-lg);box-shadow:var(--shadow);max-width:420px;margin-left:auto}
.practice-card.pc-dark{background:#1F3A38;color:#fff}
.practice-card.pc-light{background:var(--ice);color:#1F3A38;border:1px solid #B8D8D3}
.pc-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;margin-bottom:14px}
.pc-dark .pc-eyebrow{color:#FFC90C}
.pc-light .pc-eyebrow{color:#8DC3BC}
.pc-title{font-family:var(--font-display);font-size:32px;line-height:1.05;letter-spacing:-.02em;margin-bottom:24px}
.pc-bullets{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--gray-200);font-size:13px}
.pc-dark .pc-bullets{border-top-color:rgba(141,195,188,.2)}
.pc-bullets > span{display:flex;align-items:center;gap:10px}
.pc-dot{width:5px;height:5px;border-radius:99px;background:var(--teal)}
.pc-dark .pc-dot{background:#FFC90C}

/* ====== SVC OVERVIEW (services / stack rows) ====== */
.svc-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.svc-detail-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:40px;display:flex;flex-direction:column;min-height:360px;transition:border-color .2s,transform .2s}
.svc-detail-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.svc-detail-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--teal);margin-bottom:16px}
.svc-detail-title{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.08;letter-spacing:-.02em;color:var(--teal-deep);margin:0 0 14px}
.svc-detail-desc{font-size:15px;color:var(--ink-soft);line-height:1.55;margin:0 0 20px}
.svc-detail-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.svc-detail-list li{font-size:14px;color:var(--ink);padding-left:22px;position:relative}
.svc-detail-list li::before{content:'';position:absolute;left:0;top:8px;width:12px;height:6px;border-left:1.5px solid var(--teal);border-bottom:1.5px solid var(--teal);transform:rotate(-45deg)}
.svc-detail-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--gray-200)}
.svc-detail-foot .price{font-family:var(--font-display);font-size:22px;color:var(--teal-deep);letter-spacing:-.01em}
.svc-detail-foot .price small{font-family:var(--font-body);font-size:12px;color:var(--ink-soft);margin-left:4px}

/* ====== DEEP ROW ====== */
.deep-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:80px 0;border-top:1px solid var(--gray-200)}
.deep-row:first-child,.deep-row:nth-child(2){border-top:none;padding-top:0}
.deep-row.flip > :first-child{order:2}
.deep-row h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.08;letter-spacing:-.02em;color:var(--teal-deep);margin:12px 0 18px;text-wrap:balance}
.deep-row h3 .ital{font-style:italic;color:var(--teal)}
.deep-row p{font-size:16px;line-height:1.6;color:var(--ink-soft);margin:0 0 16px;max-width:480px;text-wrap:pretty}
.deep-row .row-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.deep-row .row-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:10px}
.deep-row .row-list li{font-size:14.5px;color:var(--ink);padding-left:22px;position:relative}
.deep-row .row-list li::before{content:'';position:absolute;left:0;top:8px;width:12px;height:6px;border-left:1.5px solid var(--teal);border-bottom:1.5px solid var(--teal);transform:rotate(-45deg)}

/* ====== VIZ CARDS ====== */
.viz-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);min-height:380px}
.viz-card.viz-dark{background:#1F3A38;color:#fff;border-color:#1F3A38}
.viz-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--teal);margin-bottom:14px}
.viz-eyebrow-yellow{color:var(--yellow)}
.viz-title{font-family:var(--font-display);font-size:22px;line-height:1.15;color:var(--teal-deep);letter-spacing:-.01em;margin-bottom:20px}
.viz-title-light{font-family:var(--font-display);font-size:24px;color:#fff;letter-spacing:-.01em;margin-bottom:18px;line-height:1.2}
.viz-title-light em,.viz-title em{font-style:italic;color:var(--teal)}
.viz-eyebrow-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.viz-pills{display:flex;gap:6px;font-family:var(--font-mono);font-size:10px}
.viz-pills span{padding:4px 8px;background:var(--gray-100);color:var(--teal-deep);border-radius:99px}
.viz-pills span.active{background:var(--teal-deep);color:#fff}
.viz-link{font-size:11px;color:var(--teal-deep)}
.viz-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.viz-list li{display:grid;grid-template-columns:130px 1fr 90px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--gray-200)}
.viz-list li:last-child{border-bottom:none}
.viz-slug{font-family:var(--font-mono);font-size:11px;color:var(--teal-deep);font-weight:600}
.viz-mid{font-size:12px;color:var(--ink-soft)}
.viz-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--teal);text-transform:uppercase;text-align:right}
.viz-typography{font-family:var(--font-display);font-size:38px;line-height:1;color:var(--teal-deep);letter-spacing:-.025em;margin-bottom:0}
.viz-typography em{font-style:italic;color:var(--teal)}
.viz-typography-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--ink-soft);margin-top:4px;margin-bottom:22px}
.viz-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:18px}
.viz-swatch{text-align:center}
.viz-swatch > div{height:42px;border-radius:8px;border:1px solid transparent}
.viz-swatch > span{font-family:var(--font-mono);font-size:8px;color:var(--ink-soft);margin-top:4px;letter-spacing:.04em;display:block}
.viz-buttons{display:flex;gap:8px;flex-wrap:wrap}
.viz-code{background:rgba(141,195,188,.08);border-radius:10px;padding:16px 18px;font-family:var(--font-mono);font-size:11px;line-height:1.7;border:1px solid rgba(141,195,188,.18);color:#fff;margin:0;white-space:pre-wrap}
.viz-code-hl{color:var(--teal)}
.viz-tag-row{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
.viz-pill{font-family:var(--font-mono);font-size:10px;padding:5px 10px;background:rgba(255,201,12,.15);color:var(--yellow);border-radius:99px;letter-spacing:.05em}
.viz-callout{margin-top:24px;padding:14px;background:var(--ice);border-radius:10px;font-size:13px;color:var(--teal-deep);display:flex;align-items:center;gap:10px}
.viz-callout .dot{width:8px;height:8px;border-radius:99px;background:var(--yellow);display:inline-block}
.viz-callout .green{color:var(--teal)}
.viz-bar-chart{display:flex;align-items:flex-end;gap:14px;height:200px;padding:0 4px;margin-bottom:18px}
.viz-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}
.viz-bar-col > .viz-bar{width:100%;background:var(--teal);border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;font-family:var(--font-mono);font-size:10px;color:var(--teal-deep);font-weight:600}
.viz-bar-label{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft)}

/* automation viz-only blocks */
.lead-funnel{display:flex;gap:8px;margin-bottom:24px;align-items:center}
.funnel-block{padding:14px 10px;background:var(--ice);border-radius:10px;text-align:center;flex:1}
.funnel-num{font-family:var(--font-display);font-size:24px;color:var(--teal-deep)}
.funnel-label{font-family:var(--font-mono);font-size:9px;color:var(--ink-soft);letter-spacing:.08em;margin-top:2px}
.lead-routing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--gray-200);padding-top:18px}
.routing-card{padding:12px;border-radius:10px}
.routing-card.routing-high{background:var(--yellow);color:var(--teal-deep)}
.routing-card.routing-mid{background:#fff;border:1px solid var(--gray-200)}
.routing-card.routing-low{background:#F8F9FA;border:1px solid var(--gray-200)}
.routing-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;margin-bottom:4px;color:var(--ink-soft)}
.routing-card.routing-high .routing-tag{color:var(--teal-deep)}
.routing-name{font-size:13px;font-weight:600;color:var(--teal-deep)}
.routing-count{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft);margin-top:2px}

/* chatbot mockup */
.chatbot-mockup{padding:0;overflow:hidden}
.chat-header{padding:18px 22px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:10px;background:var(--ice)}
.chat-avatar{width:32px;height:32px;border-radius:99px;background:var(--teal-deep);display:grid;place-items:center;color:var(--yellow);font-family:var(--font-display);font-size:14px;font-style:italic}
.chat-name{font-family:var(--font-display);font-size:15px;color:var(--teal-deep)}
.chat-status{font-family:var(--font-mono);font-size:10px;color:var(--teal);letter-spacing:.06em;margin-top:1px}
.chat-body{padding:22px;display:flex;flex-direction:column;gap:12px;min-height:240px}
.chat-message{padding:10px 14px;font-size:13px;line-height:1.45;color:var(--teal-deep);max-width:78%;border-radius:14px}
.chat-message.in{background:var(--gray-100);border-bottom-left-radius:4px}
.chat-message.out{align-self:flex-end;background:var(--teal-deep);color:#fff;border-bottom-right-radius:4px;max-width:82%;line-height:1.5}
.chat-source{margin-top:10px;padding:6px 10px;background:rgba(141,195,188,.18);border-radius:8px;font-family:var(--font-mono);font-size:10px;color:var(--teal);letter-spacing:.04em}
.chat-handoff{align-self:flex-end;font-size:11px;color:var(--teal);font-family:var(--font-mono);letter-spacing:.06em}
.chat-footer{padding:14px 22px;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;font-size:11px;color:var(--ink-soft)}
.chat-footer strong{color:var(--teal-deep)}

/* ops list */
.ops-list{display:flex;flex-direction:column;gap:12px}
.ops-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--ice);border-radius:10px}
.ops-dot{width:8px;height:8px;border-radius:99px}
.ops-green .ops-dot{background:var(--teal)}
.ops-yellow .ops-dot{background:var(--yellow)}
.ops-dark .ops-dot{background:var(--teal-deep)}
.ops-title{font-size:13px;font-weight:500;color:var(--teal-deep)}
.ops-sub{font-size:11px;color:var(--ink-soft);margin-top:2px}
.ops-badge{font-family:var(--font-mono);font-size:10px;color:var(--teal-deep);font-weight:600;padding:4px 8px;background:#fff;border-radius:99px;border:1px solid var(--gray-200)}

/* forecast */
.forecast-headline{font-family:var(--font-display);font-size:32px;color:#fff;letter-spacing:-.02em;margin-bottom:4px}
.forecast-headline em{font-style:italic;color:var(--teal)}
.forecast-sub{font-size:12px;color:var(--teal-soft);margin-bottom:22px}
.forecast-bars{position:relative;height:140px;display:flex;align-items:flex-end;gap:6px;margin-bottom:14px;padding:0 2px}
.forecast-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.forecast-bar{width:100%;background:var(--teal);border-radius:6px 6px 0 0}
.forecast-bar.pred{background:rgba(255,201,12,.5);border:1px dashed var(--yellow)}
.forecast-bar-label{font-family:var(--font-mono);font-size:9px;color:var(--teal-soft);letter-spacing:.04em}
.forecast-legend{display:flex;gap:14px;font-family:var(--font-mono);font-size:10px;color:var(--teal-soft);letter-spacing:.06em}
.forecast-legend > span{display:flex;align-items:center;gap:6px}
.legend-dot{width:10px;height:10px;background:var(--teal);border-radius:2px}
.legend-dot.pred{background:rgba(255,201,12,.5);border:1px dashed var(--yellow)}

/* scholarship visuals */
.scholarship-mockup{position:relative;height:380px}
.scholarship-mockup::before{content:'';position:absolute;inset:10% 0;background:var(--ice);border-radius:var(--radius-lg)}
.sm-card{position:absolute;top:30px;left:30px;right:30px;bottom:30px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--gray-200)}
.sm-header{padding:36px 36px 28px;background:#1F3A38;color:#fff}
.sm-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--yellow);margin-bottom:12px}
.sm-title{font-family:var(--font-display);font-size:34px;line-height:1.05;letter-spacing:-.02em}
.sm-title em{font-style:italic;color:var(--teal)}
.sm-footer{padding:24px 36px;display:flex;gap:24px;align-items:center;font-size:13px;color:var(--ink-soft);line-height:1.5}
.sm-pill{padding:10px 14px;background:var(--yellow);color:var(--teal-deep);border-radius:99px;font-size:11px;font-weight:600;flex-shrink:0}

.map-area{position:relative;height:260px;background:var(--ice);border-radius:10px;overflow:hidden}
.map-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.3}
.map-dot{position:absolute;width:10px;height:10px;border-radius:99px;background:var(--teal-deep);box-shadow:0 0 0 4px rgba(141,195,188,.3);transform:translate(-50%,-50%)}
.map-tag{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:8px 14px;background:var(--yellow);color:var(--teal-deep);border-radius:99px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em}
.map-meta{display:flex;gap:24px;margin-top:18px;font-size:12px;color:var(--ink-soft)}
.map-meta strong{color:var(--teal-deep);font-family:var(--font-display);font-size:18px;font-weight:400;display:inline-block;margin-right:4px}

.pipeline-bars{display:flex;flex-direction:column;gap:14px}
.pipeline-row{position:relative}
.pipeline-label{font-size:13px;color:var(--teal-deep);font-weight:500;display:inline-block}
.pipeline-num{font-family:var(--font-mono);color:var(--ink-soft);float:right}
.pipeline-bar{height:10px;background:var(--gray-100);border-radius:99px;overflow:hidden;margin-top:6px;clear:both}
.pipeline-bar > div{height:100%;border-radius:99px;transition:width .3s}

.impact-list{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.impact-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(141,195,188,.2)}
.impact-row:first-child{border-top:none}
.impact-av{width:36px;height:36px;border-radius:99px;background:var(--teal);color:var(--teal-deep);display:grid;place-items:center;font-family:var(--font-display);font-size:14px;font-weight:600}
.impact-name{font-size:13px;font-weight:600;color:#fff}
.impact-school{font-size:11px;color:var(--teal);font-family:var(--font-mono);letter-spacing:.05em;margin-top:2px}
.impact-note{font-size:11px;color:var(--teal-soft)}

/* publications viz */
.pub-list{display:flex;flex-direction:column;margin:0 -32px}
.pub-row{padding:14px 32px;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.pub-row:first-child{border-top:none}
.pub-title{font-family:var(--font-display);font-size:15px;color:var(--teal-deep);line-height:1.25;margin-bottom:4px;font-style:italic}
.pub-venue{font-size:11px;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.05em}
.pub-cites{font-size:11px;color:var(--teal-deep);display:inline-flex;align-items:center;gap:4px;text-align:right;flex-shrink:0}
.pub-cites .dot{width:6px;height:6px;border-radius:99px;display:inline-block}

/* research narrative */
.research-quote{font-family:var(--font-display);font-size:24px;line-height:1.3;color:var(--teal-deep);letter-spacing:-.015em;margin-bottom:20px;font-style:italic}
.research-body{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px}
.research-engines{border-top:1px solid rgba(31,58,56,.1);padding-top:16px}
.research-engine-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.research-engine{padding:5px 10px;background:#fff;border-radius:99px;font-size:11px;color:var(--teal-deep);border:1px solid var(--teal-soft)}

/* lab roster */
.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lab-cell{padding:14px;background:var(--ice);border-radius:10px;text-align:center}
.lab-cell.lab-open{background:transparent;border:1.5px dashed var(--teal-soft)}
.lab-av{width:36px;height:36px;border-radius:99px;margin:0 auto 8px;display:grid;place-items:center;font-family:var(--font-display);font-size:14px;font-weight:600}
.lab-cell.lab-open .lab-av{background:#fff;border:1.5px dashed var(--teal-soft);color:var(--teal-soft)}
.lab-name{font-size:12px;color:var(--teal-deep);font-weight:500}
.lab-role{font-size:10px;color:var(--ink-soft);font-family:var(--font-mono);margin-top:2px;letter-spacing:.04em}
.lab-alumni{margin-top:18px;padding:14px;background:#1F3A38;color:#fff;border-radius:10px;font-size:12px;line-height:1.45}
.lab-alumni strong{color:var(--yellow);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;display:block;margin-bottom:4px}

/* press list */
.press-list{display:flex;flex-direction:column;gap:14px}
.press-row{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--gray-100)}
.press-row:last-child{border-bottom:none}
.press-badge{width:54px;height:54px;border-radius:8px;background:var(--teal-deep);color:var(--yellow);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;flex-shrink:0}
.press-source{font-size:13px;color:var(--teal-deep);font-weight:500}
.press-what{font-size:12px;color:var(--ink-soft);margin-top:2px}
.press-when{font-family:var(--font-mono);font-size:11px;color:var(--teal)}

/* ====== TIERS ====== */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:36px 32px;display:flex;flex-direction:column}
.tier.featured{background:var(--teal-deep);color:var(--white);border-color:var(--teal-deep);position:relative}
.tier.featured::before{content:'MOST POPULAR';position:absolute;top:16px;right:16px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;background:var(--yellow);color:var(--teal-deep);padding:4px 8px;border-radius:99px;font-weight:600}
.tier-name{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
.tier.featured .tier-name{color:var(--yellow)}
.tier-price{font-family:var(--font-display);font-size:48px;line-height:1;color:var(--teal-deep);letter-spacing:-.025em;margin-bottom:6px}
.tier.featured .tier-price{color:var(--white)}
.tier-price small{font-family:var(--font-body);font-size:14px;color:var(--ink-soft);margin-left:4px}
.tier.featured .tier-price small{color:var(--teal-soft)}
.tier-desc{font-size:14px;color:var(--ink-soft);line-height:1.5;margin:12px 0 24px}
.tier.featured .tier-desc{color:var(--teal-soft)}
.tier-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.tier-list li{font-size:14px;color:var(--ink);padding-left:22px;position:relative}
.tier.featured .tier-list li{color:var(--white)}
.tier-list li::before{content:'';position:absolute;left:0;top:8px;width:10px;height:5px;border-left:1.5px solid var(--teal);border-bottom:1.5px solid var(--teal);transform:rotate(-45deg)}
.tier.featured .tier-list li::before{border-color:var(--yellow)}

/* ====== FAQ ====== */
.faq-list{display:flex;flex-direction:column;gap:0;max-width:820px;margin:0 auto}
.faq-item{border-top:1px solid var(--gray-200);padding:24px 0}
.faq-item:last-child{border-bottom:1px solid var(--gray-200)}
.faq-item summary{list-style:none;cursor:pointer;font-family:var(--font-display);font-size:22px;letter-spacing:-.01em;color:var(--teal-deep);display:flex;justify-content:space-between;align-items:center;gap:24px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:var(--font-body);font-weight:300;font-size:28px;color:var(--teal);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:14px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:720px}

/* ====== TIMELINE ====== */
.timeline{display:flex;flex-direction:column;gap:0;max-width:820px;margin:0 auto}
.timeline-step{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--gray-200)}
.timeline-step:first-child{border-top:none}
.timeline-step .tnum{font-family:var(--font-display);font-size:48px;line-height:1;color:var(--teal);letter-spacing:-.03em;font-style:italic}
.timeline-step h4{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--teal-deep);margin:0 0 8px;letter-spacing:-.01em}
.timeline-step p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft);max-width:600px}

/* ====== CONTACT FORMS ====== */
form input[type="text"],form input[type="email"],form input[type="search"],form textarea,form select{width:100%;padding:12px 14px;border:1px solid var(--gray-200);border-radius:10px;font-family:var(--font-body);font-size:14px;color:var(--teal-deep);background:var(--white);transition:border-color .15s,box-shadow .15s}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(141,195,188,.18)}
form textarea{resize:vertical;min-height:100px;font-family:var(--font-body)}
form select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5 L5 6.5 L8 3.5' stroke='%231F3A38' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}

/* contact page */
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}
.contact-form-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:48px;box-shadow:var(--shadow-sm)}
.contact-form-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--teal);margin-bottom:18px}
.contact-form-title{font-family:var(--font-display);font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--teal-deep);margin:0 0 28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-row.form-row-single{grid-template-columns:1fr}
.form-label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:6px}
.form-label .req{color:var(--teal)}
.form-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:6px}
.form-meta-text{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);letter-spacing:.06em}
.contact-aside{display:flex;flex-direction:column;gap:20px}
.contact-method{background:#fff;color:var(--teal-deep);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:28px;display:block;text-decoration:none;transition:transform .2s,border-color .2s}
.contact-method:hover{transform:translateY(-2px);border-color:var(--teal)}
.contact-method.featured{background:var(--yellow);border-color:transparent}
.contact-method.featured:hover{transform:translateY(-2px)}
.cm-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--teal);margin-bottom:10px}
.contact-method.featured .cm-eyebrow{color:var(--teal-deep)}
.cm-title{font-family:var(--font-display);font-size:22px;line-height:1.1;letter-spacing:-.015em;margin-bottom:6px}
.cm-desc{font-size:13px;color:var(--ink-soft);line-height:1.5;margin-bottom:14px}
.contact-method.featured .cm-desc{color:rgba(31,58,56,.75)}
.cm-cta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:600}
.offices-card{background:var(--teal-deep);color:#fff;border-radius:var(--radius-lg);padding:32px}
.oc-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--yellow);margin-bottom:14px}
.oc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.oc-name{font-family:var(--font-display);font-size:24px;line-height:1.05;margin-bottom:6px}
.oc-meta{font-size:12px;color:var(--teal-soft);line-height:1.5}

/* ====== BLOG ====== */
.blog-cats{display:flex;gap:8px;flex-wrap:wrap}
.blog-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:8px 14px;border-radius:99px;background:#fff;color:var(--teal-deep);border:1px solid var(--gray-200);transition:all .2s}
.blog-cat:hover{border-color:var(--teal)}
.blog-cat.active{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.featured-post{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;min-height:380px}
.featured-copy{padding:48px 48px 40px;display:flex;flex-direction:column}
.featured-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--teal);margin-bottom:18px}
.featured-title{font-family:var(--font-display);font-size:38px;font-weight:400;line-height:1.05;letter-spacing:-.02em;color:var(--teal-deep);margin:0 0 18px;text-wrap:balance}
.featured-title a{color:inherit}
.featured-excerpt{font-size:15.5px;line-height:1.55;color:var(--ink-soft);margin:0 0 28px;max-width:520px}
.featured-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.featured-art{background:linear-gradient(135deg,#1F3A38 0%,#2D5552 100%);position:relative;overflow:hidden}
.featured-art-inner{position:absolute;inset:0;display:grid;place-items:center;padding:32px;text-align:center;color:#fff}
.featured-stat{font-family:var(--font-display);font-size:90px;line-height:.9;color:var(--yellow);letter-spacing:-.03em;font-style:italic}
.featured-art-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--teal);margin-top:6px}
.featured-art-label:nth-child(2){margin-top:14px}
.post-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,border-color .2s;min-height:300px}
.post-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.post-card-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--teal)}
.post-card-title{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.1;letter-spacing:-.015em;color:var(--teal-deep);margin:0;text-wrap:balance}
.post-card-title a{color:inherit}
.post-card-excerpt{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0;flex:1}
.post-card-meta{padding-top:16px;border-top:1px solid var(--gray-100);margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}
.post-card-author{display:flex;align-items:center;gap:10px}
.post-card-avatar{width:32px;height:32px;border-radius:99px;background:var(--teal-tint);color:var(--teal-deep);display:grid;place-items:center;font-family:var(--font-display);font-size:13px;font-weight:600;flex:0 0 auto}
.post-card-meta .dot{color:var(--gray-400)}
.blog-pagination{margin-top:60px;text-align:center}
.blog-pagination .nav-links{justify-content:center;display:inline-flex;gap:6px;font-family:var(--font-mono);font-size:13px}
.blog-pagination a,.blog-pagination span{padding:8px 14px;border-radius:99px;border:1px solid var(--gray-200);color:var(--teal-deep)}
.blog-pagination .current{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}

.post-meta-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);margin-top:24px}
.post-feature{margin:0 0 32px;border-radius:var(--radius-lg);overflow:hidden;max-width:880px}
.post-content{max-width:760px;margin:0 auto;font-size:18px;line-height:1.7;color:var(--ink)}
.post-content h2,.post-content h3{font-family:var(--font-display);color:var(--teal-deep);font-weight:400;letter-spacing:-.015em;margin:48px 0 16px}
.post-content h2{font-size:32px}
.post-content h3{font-size:24px}
.post-content blockquote{border-left:3px solid var(--teal);padding-left:24px;font-family:var(--font-display);font-style:italic;font-size:24px;color:var(--teal-deep);margin:32px 0}
.post-content code{background:var(--gray-100);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.92em}
.post-content pre{background:var(--teal-deep);color:#fff;padding:20px;border-radius:10px;overflow-x:auto;margin:24px 0}
.post-content img{border-radius:var(--radius-lg);margin:24px 0}
.post-content a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px}

/* ====== RESPONSIVE ====== */
@media (max-width:1100px){
	.services-grid{grid-template-columns:repeat(2,1fr)}
	.svc-card.feature,.svc-card.compact,.svc-card.wide{grid-column:span 1;min-height:auto}
	.stats-grid{grid-template-columns:repeat(2,1fr)}
	.stat:nth-child(2){border-right:none}
	.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid rgba(141,195,188,.2);padding-top:36px;margin-top:36px}
	.process-grid{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:repeat(2,1fr)}
	.svc-overview-grid{grid-template-columns:1fr}
	.tiers{grid-template-columns:1fr}
	.deep-row{grid-template-columns:1fr;gap:40px;padding:60px 0}
	.deep-row.flip > :first-child{order:0}
	.page-hero-grid{grid-template-columns:1fr;gap:40px}
	.contact-grid{grid-template-columns:1fr}
	.featured-post{grid-template-columns:1fr}
	.blog-grid{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:800px){
	.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--gray-100);padding:24px 32px;flex-direction:column;align-items:flex-start;gap:16px;box-shadow:var(--shadow)}
	.nav-links.is-open{display:flex}
	.nav-links ul{flex-direction:column;align-items:flex-start;gap:16px}
	.nav-toggle{display:flex}
	.nav-cta{display:none}
	.hero-grid{grid-template-columns:1fr;gap:40px}
	.doc-stage{height:460px}
	.hero-carousel{height:480px}
	.hero-badge-tr{top:8px;right:0}
	.hero-badge-bl{bottom:14px;left:0}
	.hero-badge-mr{display:none}
	.hero-dots{bottom:-24px}
	.testimonial-grid{grid-template-columns:1fr;gap:24px}
	.cta-card{grid-template-columns:1fr;padding:48px 32px}
	.section-head{flex-direction:column;align-items:flex-start;gap:24px}
	.section-head.center{align-items:center}
	.stats-grid{grid-template-columns:1fr}
	.stat{border-right:none !important;padding-right:0}
	.stat + .stat{border-top:1px solid rgba(141,195,188,.2);margin-top:32px;padding-top:32px}
	.process-grid{grid-template-columns:1fr;gap:32px}
	.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
	.promo-strip{font-size:13px;padding:10px 16px;flex-wrap:wrap;gap:8px;padding-right:40px}
	.promo-dismiss{right:8px}
	section.block{padding:80px 0}
	.container{padding:0 20px}
	.timeline-step{grid-template-columns:60px 1fr;gap:16px}
	.timeline-step .tnum{font-size:36px}
	.contact-form-card{padding:32px}
	.form-row{grid-template-columns:1fr;gap:14px}
	.featured-copy{padding:32px}
	.featured-title{font-size:28px}
	.featured-stat{font-size:60px}
	.cta-block{padding:80px 0}
	.testimonial-block{padding:80px 0}
	.blog-grid{grid-template-columns:1fr !important}
	.faq-item summary{font-size:18px}
	.about-cards{grid-template-columns:1fr;max-width:340px}
	.about-card{transform:none !important;margin-top:0 !important}
}
@media (max-width:520px){
	.testim-card{padding:32px}
	.testim-card blockquote{font-size:22px}
	.cta-card{padding:32px 24px}
	.contact-form-card{padding:24px}
	.featured-title{font-size:24px}
	.section-title{font-size:32px}
	.page-hero-title,.hero h1{font-size:34px}
}

/* ====== PRINT ====== */
@media print{
	.promo-strip,.nav,.cta-block,.footer,.shaplaai-banner{display:none !important}
	body{color:#000;background:#fff}
}

/* ====== REDUCED MOTION ====== */
@media (prefers-reduced-motion:reduce){
	*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
	.doc-orbit{animation:none}
}
