/* ═══════════════════════════════════════════════
   TRITON Homepage — Page-Specific Styles
   Global design system: ../global.css
   ═══════════════════════════════════════════════ */

/* Font Awesome icon sizes (page-specific overrides) */
.pain-card i{font-size:1.6rem;color:var(--aq);opacity:.7}
.sci-pill i{font-size:.9rem}
.r-area i{font-size:1.2rem;color:var(--aq);margin-bottom:.5rem;display:block;opacity:.7}


/* ════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════ */
.hero{position:relative;height:100vh;height:100dvh;overflow:hidden;display:flex;align-items:flex-end}
.hero-vid{position:absolute;inset:0}
.hero-vid video{width:100%;height:100%;object-fit:cover}
.hero-vid::before{content:'';position:absolute;inset:0;z-index:1;background:rgba(3,47,79,.38);mix-blend-mode:multiply}
.hero-vid::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(1,24,39,.5) 0%,rgba(1,24,39,.15) 30%,rgba(1,24,39,.2) 55%,rgba(1,24,39,.94) 100%)}

.hero-ct{position:relative;z-index:2;width:100%;padding:0 5vw 10vh}
/* .hero-ey defined in global.css (eyebrow system) */
/* .hero-t base + .line/.word defined in global.css */
.hero-t{font-size:clamp(3.2rem,7.5vw,7rem);max-width:14ch}
.hero-sub{font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.75;max-width:50ch;margin:2rem 0 3rem;opacity:0;color:rgba(255,255,255,.72)}
.hero-btns{display:flex;gap:1.2rem;flex-wrap:wrap;opacity:0}
.hero-scroll{position:absolute;bottom:2.5rem;right:4vw;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.hero-scroll-label{font-family:var(--h);font-size:.62rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--aq);writing-mode:vertical-rl;text-orientation:mixed;opacity:.6;animation:scrollpulse 2s ease-in-out infinite}
.hero-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--aq),transparent);animation:scrollpulse 2s ease-in-out infinite;animation-delay:.3s}
@keyframes scrollpulse{0%,100%{opacity:.3}50%{opacity:.8}}


/* Stats bar — moved to global.css (2x Rule: also used on Products page) */


/* ════════════════════════════════════════════════
   EMPATHY — Problem Awareness
   ════════════════════════════════════════════════ */
.empathy{padding:clamp(7rem,14vw,12rem) 0;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bp) 0%,rgba(3,47,79,.6) 100%)}
/* .empathy-inner → use .s-inner in HTML */
/* .empathy-grid → use .g-2 in HTML */
.empathy-headline{font-family:var(--h);font-weight:900;font-size:clamp(2.4rem,4.5vw,4rem);text-transform:uppercase;line-height:.95;letter-spacing:-.02em;margin-bottom:1.5rem}
.empathy-body{font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.8;color:rgba(255,255,255,.75);margin-bottom:2rem}
.empathy-body strong{color:var(--aq);font-weight:700}
.pain-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
/* .pain-card extends global .card.card-sm — muted copy + slightly softer hover lift */
.pain-card>i{margin-bottom:.8rem}
.pain-card p{font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.6)}
.pain-card:hover{background:rgba(1,24,39,.8);transform:translateY(-3px)}
.empathy-resolve{margin-top:2.5rem;padding:2rem 2.5rem;background:rgba(0,100,102,.15);border:1px solid rgba(133,255,199,.2);display:flex;align-items:center;gap:1.5rem}
/* .resolve-icon → use .icon-circle in HTML */
.empathy-resolve p{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.85)}
.empathy-resolve strong{color:var(--aq)}


/* ════════════════════════════════════════════════
   LEGACY — Magazine Spread
   ════════════════════════════════════════════════ */
.legacy{padding:0;position:relative;overflow:hidden}
.legacy-spread{display:grid;grid-template-columns:1fr 1fr;min-height:85vh}
.legacy-text-col{padding:clamp(5rem,10vw,8rem) 5vw;display:flex;flex-direction:column;justify-content:center;position:relative;background:var(--mr)}
.legacy-text-col::before{content:'';position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 1l27 15.5v31L28 63 1 47.5v-31z' fill='none' stroke='%2385FFC7' stroke-width='.4'/%3E%3C/svg%3E");background-size:56px 97px}
.legacy-text-col .float-el{font-size:10rem;top:5%;right:5%;opacity:.03}

.legacy-h{font-family:var(--h);font-weight:900;font-size:clamp(2.8rem,5.5vw,5rem);text-transform:uppercase;line-height:.95;letter-spacing:-.02em;margin-bottom:2rem}
.legacy-body{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.8;color:rgba(255,255,255,.78);max-width:48ch;margin-bottom:2.5rem}
.innovations{display:grid;gap:2rem}
.innov{display:flex;align-items:flex-start;gap:1.5rem}
.innov-n{font-family:var(--h);font-weight:900;font-size:4.5rem;color:var(--aq);line-height:.85;opacity:.15;flex-shrink:0;width:90px}
.innov h3{font-family:var(--h);font-weight:900;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}
.innov p{font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.72)}

.legacy-img-col{position:relative;overflow:hidden}
.legacy-img-col img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.legacy-img-col::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--mr) 0%,transparent 15%,transparent 85%,rgba(1,24,39,.3) 100%)}
.legacy-caption{position:absolute;bottom:2rem;right:2rem;z-index:1;font-family:var(--h);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--aq);background:rgba(1,24,39,.8);backdrop-filter:blur(10px);padding:.6em 1.2em;border:1px solid rgba(133,255,199,.2)}


/* ════════════════════════════════════════════════
   SCIENCE — Dashboard
   ════════════════════════════════════════════════ */
.science{padding:clamp(7rem,14vw,12rem) 0;position:relative;overflow:hidden;background:var(--bp)}

/* .science-inner → use .s-inner in HTML */
.science-top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,8vw,7rem);align-items:end;margin-bottom:clamp(4rem,8vw,6rem)}

/* Groups KPI grid + feature pills — same width, no flex/grid min-width overflow past grid */
.science-dash-stack{display:flex;flex-direction:column;align-items:stretch;gap:clamp(3rem,7vw,5.5rem);width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.science-dash-stack>.dash-grid,.science-dash-stack>.sci-pills{width:100%;max-width:100%;min-width:0}

.dash-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem;margin-bottom:0;min-width:0;width:100%}
.dash-card{padding:clamp(2rem,3.5vw,3rem);position:relative;overflow:hidden;transition:all .4s;min-width:0}
.dash-card:hover{transform:translateY(-4px)}
.dash-card-hero{background:linear-gradient(135deg,var(--ds) 0%,rgba(0,100,102,.6) 100%);border:1px solid rgba(133,255,199,.2);grid-row:1/3}
.dash-card-hero::before{content:'';position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 1l27 15.5v31L28 63 1 47.5v-31z' fill='none' stroke='%2385FFC7' stroke-width='.6'/%3E%3C/svg%3E");background-size:56px 97px}
.dash-card-hero .dash-n{font-family:var(--h);font-weight:900;font-size:clamp(5rem,9vw,8rem);color:var(--aq);line-height:.9;letter-spacing:-.04em}
.dash-card-hero .dash-label{font-size:1.2rem;color:rgba(255,255,255,.8);margin-top:1rem;line-height:1.5;max-width:30ch}
.dash-card-std{background:rgba(3,47,79,.8);border:1px solid rgba(133,255,199,.12)}
.dash-card-accent{background:rgba(133,255,199,.08);border:1px solid rgba(133,255,199,.2)}
.dash-card-std .dash-n,.dash-card-accent .dash-n{font-family:var(--h);font-weight:900;font-size:clamp(3rem,5vw,4.2rem);color:var(--aq);line-height:1}
.dash-card-std .dash-label,.dash-card-accent .dash-label{font-size:1.05rem;color:rgba(255,255,255,.65);margin-top:.5rem;line-height:1.4}
.dash-card .dash-label{overflow-wrap:break-word;word-wrap:break-word;max-width:100%}
.dash-card-wide{grid-column:2/4}

.sci-pills{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0;align-items:center}
/* .sci-pill base → use .pill in HTML. Keep .sci-pill for GSAP selector + icon override */

/* .trust-bar → use .marquee in HTML. Keep unique borders + spacing */
.trust-bar{margin-top:clamp(4rem,7vw,6rem);padding:1.5rem 0;border-top:1px solid rgba(133,255,199,.06);border-bottom:1px solid rgba(133,255,199,.06)}
/* .trust-track → use .marquee-track in HTML */
/* .trust-item → use .marquee-item in HTML */


/* ════════════════════════════════════════════════
   SYSTEM — 4 Pillars
   ════════════════════════════════════════════════ */
.system{padding:clamp(7rem,14vw,12rem) 0;background:var(--mr);position:relative;overflow:hidden}
.system::before{content:'';position:absolute;top:-2px;left:0;right:0;height:120px;background:linear-gradient(var(--bp),transparent)}
.system .coral-deco{bottom:-5%;left:-3%;width:20%;opacity:.03}
.system .float-el{font-size:12rem;bottom:10%;right:3%;opacity:.025}

/* .system-inner → use .s-inner in HTML */
.system-header{margin-bottom:clamp(4rem,8vw,6rem);max-width:50ch}
.system-header p:not(.section-ey){font-size:clamp(1.15rem,1.4vw,1.3rem);line-height:1.8;color:rgba(255,255,255,.72);margin-top:1rem}
.hp-placeholder{margin-bottom:clamp(4rem,8vw,6rem);max-width:900px}

.pillars-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.pillar-block{padding:clamp(2.5rem,4vw,3.5rem);border-right:1px solid rgba(133,255,199,.06);position:relative;transition:background .4s}
.pillar-block:last-child{border-right:none}
.pillar-block:hover{background:rgba(0,100,102,.08)}
.pillar-num{font-family:var(--h);font-weight:900;font-size:6rem;color:var(--aq);opacity:.07;line-height:.8;margin-bottom:1rem;letter-spacing:-.04em}
/* .pillar-icon → use .icon-box in HTML */
.pillar-icon{margin-bottom:1.2rem}
.pillar-block h3{font-family:var(--h);font-weight:900;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8rem}
.pillar-block .p-desc{font-size:1.05rem;color:rgba(255,255,255,.72);margin-bottom:1.2rem;line-height:1.65}
/* .pillar-block li → use .list-dot on <ul> in HTML */
.pillar-product{margin-top:1.5rem;overflow:hidden;background:rgba(255,255,255,.03)}
.pillar-product img{width:100%;height:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.3))}


/* ════════════════════════════════════════════════
   MYTE — Product Hero + Molecular Three.js
   ════════════════════════════════════════════════ */
.myte{padding:clamp(7rem,14vw,12rem) 0;background:var(--bp);position:relative;overflow:hidden}
#myteCanvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.myte>*:not(#myteCanvas){position:relative;z-index:1}

/* .myte-inner → use .s-inner in HTML */
.myte-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(4rem,8vw,7rem);align-items:center;margin-bottom:clamp(5rem,10vw,8rem)}
.myte-hero h2{font-family:var(--h);font-weight:900;font-size:clamp(2.8rem,5.5vw,5rem);text-transform:uppercase;line-height:.95;letter-spacing:-.02em;margin-bottom:1.5rem}
.myte-hero p:not(.section-ey){font-size:clamp(1.15rem,1.4vw,1.3rem);line-height:1.8;color:rgba(255,255,255,.75)}
.myte-hero .section-body{margin-top:1.5rem}
.myte-hero-img{position:relative;display:flex;justify-content:center;align-items:center}
.myte-hero-img img{max-width:480px;width:100%;filter:drop-shadow(0 20px 60px rgba(0,0,0,.4));transition:transform .6s cubic-bezier(.16,1,.3,1)}
.myte-hero-img:hover img{transform:scale(1.04) translateY(-8px)}
.myte-hero-img::before{content:'';position:absolute;width:70%;height:70%;background:radial-gradient(circle,rgba(133,255,199,.12) 0%,transparent 70%);filter:blur(40px)}

.myte-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid rgba(133,255,199,.1);border-bottom:2px solid rgba(133,255,199,.1)}
.myte-step{padding:2.5rem 2rem;border-right:1px solid rgba(133,255,199,.06);position:relative;transition:background .3s}
.myte-step:last-child{border-right:none}
.myte-step:hover{background:rgba(0,100,102,.08)}
.myte-step-n{font-family:var(--h);font-weight:900;font-size:4rem;color:var(--aq);opacity:.12;line-height:.8;margin-bottom:1rem;letter-spacing:-.03em}
.myte-step h3{font-family:var(--h);font-weight:900;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem}
.myte-step p{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.68)}
/* .myte-cta → use .section-cta in HTML */


/* ════════════════════════════════════════════════
   PRODUCTS
   ════════════════════════════════════════════════ */
.products{padding:clamp(7rem,14vw,12rem) 0;position:relative;overflow:hidden;background:var(--mr)}
.products::before{content:'';position:absolute;inset:0;background:url('../../media/images/Coral Pattern Backgrounds/coral_pattern_2.jpg') center/cover;opacity:.04;filter:saturate(.3) brightness(.7)}
.products::after{content:'';position:absolute;inset:0;background:var(--mr);opacity:.96}
.products>*{position:relative;z-index:1}
.products .coral-deco{bottom:-8%;right:-5%;width:22%;opacity:.025}

/* .products-inner → use .s-inner in HTML */
.products-header{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,5rem);align-items:end;margin-bottom:clamp(4rem,8vw,6rem)}

.prod-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:stretch}
.prod-item{display:flex;flex-direction:column;overflow:hidden;background:rgba(1,24,39,.7);border:1px solid rgba(133,255,199,.1);transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;padding:0}
.prod-item:hover{border-color:rgba(133,255,199,.3);transform:translateY(-8px);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.prod-img{overflow:hidden;position:relative;line-height:0}
.prod-img img{width:100%;height:auto;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.prod-item:hover .prod-img img{transform:scale(1.04)}
.prod-item-tag{display:block;width:100%;padding:.7rem 1rem;margin:0 0 1.4rem;border-radius:0;text-align:center}
.prod-item h3{font-family:var(--h);font-weight:900;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.8rem;padding:1.4rem clamp(1.5rem,3vw,2.2rem) 0}
.prod-item-tag + h3{padding-top:0}
.prod-item p{font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.72);padding:0 clamp(1.5rem,3vw,2.2rem) clamp(1.5rem,3vw,2.2rem)}
.prod-item ul{padding:0 clamp(1.5rem,3vw,2.2rem) clamp(1.5rem,3vw,2.2rem)}
/* .prod-item li → use .list-dot on <ul> in HTML */
/* .prod-cta → use .section-cta in HTML */


/* ════════════════════════════════════════════════
   N-DOC SPOTLIGHT
   ════════════════════════════════════════════════ */
.ndoc{padding:clamp(7rem,14vw,12rem) 0;position:relative;overflow:hidden;background:var(--bp)}
.ndoc::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 70% 50%,rgba(0,100,102,.18) 0%,transparent 70%)}
/* .ndoc-inner → use .s-inner in HTML */
.ndoc-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,8vw,7rem);align-items:center}
/* .ndoc-badge base → use .badge in HTML. Keep unique pulse + spacing */
.ndoc-badge{margin-bottom:1.5rem}
.ndoc-badge::before{content:'';width:8px;height:8px;background:var(--aq);animation:ndocpulse 2s ease-in-out infinite}
@keyframes ndocpulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}
.ndoc .section-h{margin-bottom:1.5rem}
.ndoc-body{font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.8;color:rgba(255,255,255,.75);margin-bottom:2.5rem}
.ndoc-params{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ndoc-param{padding:1.5rem;background:rgba(3,47,79,.6);border:1px solid rgba(133,255,199,.12);text-align:center;transition:all .3s}
.ndoc-param:hover{border-color:rgba(133,255,199,.35);transform:translateY(-3px)}
.ndoc-param .param-abbr{font-family:var(--h);font-weight:900;font-size:1.8rem;color:var(--aq);line-height:1;margin-bottom:.4rem}
.ndoc-param .param-name{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.ndoc-param .param-desc{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.5}
.ndoc-visual{position:relative;display:flex;justify-content:center;align-items:center}
.ndoc-visual img{max-width:100%;width:100%;filter:drop-shadow(0 30px 80px rgba(0,0,0,.5));transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ndoc-visual:hover img{transform:scale(1.04) translateY(-8px)}
.ndoc-visual::before{content:'';position:absolute;width:80%;height:80%;background:radial-gradient(circle,rgba(133,255,199,.1) 0%,transparent 70%);filter:blur(50px)}
/* .ndoc-quote → use .bq in HTML. Keep .ndoc-quote for GSAP + spacing */
.ndoc-quote{margin-top:3rem}


/* ════════════════════════════════════════════════
   RESEARCH — Cinematic
   ════════════════════════════════════════════════ */
.research{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden}
.research-bg{position:absolute;inset:0;z-index:0}
.research-bg img{width:100%;height:100%;object-fit:cover}
.research-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(1,24,39,.94) 0%,rgba(3,47,79,.82) 35%,rgba(0,100,102,.55) 100%)}
.research-ct{position:relative;z-index:1;max-width:1500px;margin:0 auto;padding:clamp(6rem,12vw,10rem) 5vw}
.research-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(4rem,8vw,7rem);align-items:center}
.research-txt>p:not(.section-ey){font-size:clamp(1.15rem,1.4vw,1.3rem);line-height:1.8;color:rgba(255,255,255,.82);margin-top:1rem}
.r-areas{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.r-area{padding:1.4rem 1.6rem;background:rgba(1,24,39,.5);border:1px solid rgba(133,255,199,.15);backdrop-filter:blur(6px);transition:all .3s}
.r-area:hover{background:rgba(1,24,39,.7);border-color:rgba(133,255,199,.35);transform:translateY(-3px)}
.r-area h4{font-family:var(--h);font-weight:900;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;color:var(--aq);margin-bottom:.3rem}
.r-area p{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.72)}
.research-img{position:relative}
.research-img img{width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.research-img::before{content:'';position:absolute;inset:-12px;border:1px solid rgba(133,255,199,.1);z-index:-1}

/* .pull-quote → use .pq-big in HTML. Keep .pull-quote for GSAP + spacing */
.pull-quote{margin-top:clamp(5rem,10vw,8rem)}


/* ════════════════════════════════════════════════
   PARTNERS
   ════════════════════════════════════════════════ */
.partners{padding:clamp(7rem,14vw,12rem) 0;background:linear-gradient(180deg,var(--bp) 0%,var(--ds) 100%);position:relative;overflow:hidden}
.partners .coral-deco{top:5%;right:-5%;width:18%;opacity:.025}
/* .partners-inner → use .s-inner in HTML */
.partners-header{text-align:center;margin-bottom:clamp(4rem,8vw,6rem)}
.partner-quotes{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.pq{padding:2.8rem;background:rgba(1,24,39,.4);border:1px solid rgba(133,255,199,.12);position:relative;backdrop-filter:blur(8px);transition:all .4s}
.pq:hover{border-color:rgba(133,255,199,.3);transform:translateY(-4px);background:rgba(1,24,39,.55)}
.pq::before{content:'\201C';position:absolute;top:1rem;right:1.5rem;font-family:var(--h);font-weight:900;font-size:5rem;color:var(--aq);opacity:.06;line-height:1}
.pq h4{font-family:var(--h);font-weight:900;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--aq);margin-bottom:1rem}
.pq p{font-size:1.15rem;line-height:1.75;color:rgba(255,255,255,.85)}


/* ════════════════════════════════════════════════
   RESULTS — Customer Tanks
   ════════════════════════════════════════════════ */
.results{padding:clamp(7rem,14vw,12rem) 0;background:var(--bp);position:relative;overflow:hidden}
.results::before{content:'';position:absolute;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 1l27 15.5v31L28 63 1 47.5v-31z' fill='none' stroke='%2385FFC7' stroke-width='.4'/%3E%3C/svg%3E");background-size:56px 97px}
/* .results-inner → use .s-inner in HTML */
.results-header{margin-bottom:clamp(3rem,6vw,5rem)}

.giant-row{display:flex;gap:0;margin-bottom:clamp(4rem,8vw,6rem);border-bottom:2px solid rgba(133,255,199,.06);padding-bottom:clamp(3rem,6vw,5rem)}
.giant-stat{flex:1;position:relative;padding-right:2rem}
.giant-stat::after{content:'';position:absolute;top:0;right:0;width:1px;height:100%;background:rgba(133,255,199,.08)}
.giant-stat:last-child::after{display:none}
.giant-stat .gn{font-family:var(--h);font-weight:900;font-size:clamp(4rem,8vw,6.5rem);color:var(--aq);line-height:.9;letter-spacing:-.03em}
.giant-stat .gl{font-size:1.05rem;color:rgba(255,255,255,.5);margin-top:.5rem;line-height:1.4}

.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.testi{overflow:hidden;background:rgba(3,47,79,.5);border:1px solid rgba(133,255,199,.1);transition:all .4s}
.testi:hover{border-color:rgba(133,255,199,.25);transform:translateY(-4px)}
.testi-photo{height:260px;overflow:hidden;position:relative}
.testi-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.testi:hover .testi-photo img{transform:scale(1.05)}
.testi-photo::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,rgba(3,47,79,.6))}
.testi-body{padding:2rem 2.2rem 2.5rem}
.testi-body p{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.82);margin-bottom:1.2rem}
.testi-body cite{display:flex;align-items:center;gap:.8rem;font-style:normal;padding-top:1rem;border-top:1px solid rgba(133,255,199,.08)}
.testi-body .av{width:44px;height:44px;background:linear-gradient(135deg,var(--ds),var(--aq));display:grid;place-items:center;font-family:var(--h);font-weight:900;font-size:.8rem;color:var(--bp);flex-shrink:0}
.testi-body .nm{font-weight:700;font-size:1rem;color:var(--aq)}
.testi-body .nm span{display:block;font-weight:400;font-size:.85rem;color:var(--w);opacity:.45;margin-top:2px}
/* .results-cta → use .section-cta in HTML */


/* ════════════════════════════════════════════════
   JOURNEY — 4 Paths
   ════════════════════════════════════════════════ */
.journey{padding:clamp(7rem,14vw,12rem) 0;background:var(--mr);position:relative;overflow:hidden}
.journey .coral-deco{bottom:-8%;right:-5%;width:30%;opacity:.03}
/* .journey-inner → use .s-inner in HTML */
.journey-header{text-align:center;margin-bottom:clamp(4rem,8vw,6rem);max-width:55ch;margin-left:auto;margin-right:auto}
.journey-header p:not(.section-ey){font-size:clamp(1.15rem,1.4vw,1.3rem);color:rgba(255,255,255,.7);line-height:1.75;margin-top:1rem}
/* Path cards — base moved to global.css (2x Rule: also used on Products page) */
/* Homepage override: 3 columns (4th card "Explore Our Research" is hidden) */
.journey .paths{grid-template-columns:repeat(3,1fr);max-width:1000px;margin-left:auto;margin-right:auto}


/* ════════════════════════════════════════════════
   CTA
   ════════════════════════════════════════════════ */
.cta{padding:clamp(10rem,20vw,16rem) var(--section-pad);text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:url('../../media/images/Coral Pattern Backgrounds/coral_pattern_1.jpg') center/cover;opacity:.06;filter:saturate(.3)}
.cta::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(0,100,102,.35) 0%,var(--bp) 70%)}
.cta>*{position:relative;z-index:1}
.cta .float-el.fe-1{font-size:8rem;top:15%;left:8%;opacity:.03}
.cta .float-el.fe-2{font-size:6rem;bottom:20%;right:10%;opacity:.025}
.cta .coral-deco{bottom:-5%;left:-3%;width:18%;opacity:.025}
.cta h2{font-family:var(--h);font-weight:900;font-size:clamp(3rem,6vw,5.5rem);text-transform:uppercase;line-height:.95;letter-spacing:-.02em;margin-bottom:1.2rem}
.cta>p{font-size:clamp(1.2rem,1.5vw,1.4rem);color:rgba(255,255,255,.65);max-width:48ch;margin:0 auto 3rem;line-height:1.75}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;max-width:650px;margin:0 auto}


/* ════════════════════════════════════════════════
   PAGE-SPECIFIC RESPONSIVE
   ════════════════════════════════════════════════ */

/* ── Tablet (≤1024px) ── */
@media(max-width:1024px){
  .legacy-spread{grid-template-columns:1fr;min-height:auto}
  .legacy-img-col{height:50vh}.legacy-img-col img{position:relative}
  .legacy-img-col::after{background:linear-gradient(180deg,var(--mr) 0%,transparent 15%)}
  .science-top{grid-template-columns:1fr}
  /* 2-col: avoid base grid-column:2/4 on .dash-card-wide (implicit columns / overflow). PPB = full row */
  .dash-grid{grid-template-columns:1fr 1fr;min-width:0}
  .dash-card-hero{grid-row:auto}
  .dash-card{grid-column:auto!important;min-width:0}
  .dash-grid .dash-card-wide{grid-column:1/-1!important}
  .pillars-row{grid-template-columns:1fr 1fr}
  .myte-hero{grid-template-columns:1fr}.myte-hero-img{order:-1}
  .myte-steps{grid-template-columns:repeat(3,1fr)}
  .products-header{grid-template-columns:1fr}
  .prod-showcase{grid-template-columns:1fr 1fr}
  .pain-cards{grid-template-columns:1fr 1fr}
  .ndoc-layout{grid-template-columns:1fr}.ndoc-visual{order:-1}
  .research-layout{grid-template-columns:1fr}.research-img{order:-1}
  .partner-quotes{grid-template-columns:1fr}
  .giant-row{flex-wrap:wrap}.giant-stat{flex:none;width:50%;padding:1.5rem 2rem 1.5rem 0}
  .testi-grid{grid-template-columns:1fr}
  /* Homepage 3→2 col on tablet */
  .journey .paths{grid-template-columns:1fr 1fr;max-width:none}

  /* Science feature pills — single column, full width (no ragged flex-wrap) */
  .sci-pills{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:stretch}
  /* Center label block so short lines don’t leave heavy empty space on the right */
  .sci-pills .pill{width:100%;max-width:100%;justify-content:center;align-items:center;white-space:normal;text-align:center;line-height:1.35}
}

/* ── Mobile (≤768px) ── */
@media(max-width:768px){
  /* Hero */
  .hero-ct{padding:0 6vw 8vh}
  .hero-t{font-size:clamp(2.4rem,10vw,3.6rem)}
  .hero-sub{font-size:1.05rem}
  .hero-btns{flex-direction:column}
  .hero-btns .btn{width:100%}
  .hero-scroll{display:none}

  /* Stats bar — responsive moved to global.css */

  /* Empathy */
  .empathy-headline{font-size:clamp(1.8rem,8vw,2.6rem)}
  .pain-cards{grid-template-columns:1fr}
  .empathy-resolve{flex-direction:column;text-align:center}

  /* Legacy / About */
  .legacy-spread{grid-template-columns:1fr;min-height:auto}
  .legacy-text-col{padding:clamp(3rem,8vw,5rem) 6vw}
  .legacy-h{font-size:clamp(2rem,8vw,3rem)}
  .legacy-body{font-size:1.05rem}
  .innov-n{font-size:3rem;width:55px}
  .innov h3{font-size:1rem}
  .innov p{font-size:.95rem}
  .legacy-img-col{height:40vh}
  .legacy-caption{bottom:1rem;right:1rem;font-size:.65rem;max-width:calc(100% - 2rem)}

  /* Science / Dashboard */
  .dash-grid{grid-template-columns:1fr;min-width:0}
  .dash-card-hero{grid-row:auto}
  .dash-card{grid-column:auto!important;min-width:0}
  .dash-grid .dash-card-wide{grid-column:1/-1!important}
  .dash-card-hero .dash-n{font-size:clamp(3.5rem,12vw,5rem)}
  .dash-card-hero .dash-label{font-size:1.05rem}
  .dash-card-std .dash-n,.dash-card-accent .dash-n{font-size:clamp(2.2rem,8vw,3rem)}
  .science-dash-stack{gap:clamp(2.5rem,6vw,4rem)}
  .sci-pills{gap:.65rem}

  /* Pillars */
  .pillars-row{grid-template-columns:1fr}
  .pillar-num{font-size:4rem}

  /* MYTE */
  .myte-hero{grid-template-columns:1fr}
  .myte-hero-img{order:-1}
  .myte-hero-img img{max-width:300px}
  .myte-steps{grid-template-columns:1fr}
  .myte-step{padding:1.8rem 1.5rem;border-right:none;border-bottom:1px solid rgba(133,255,199,.06)}
  .myte-step:last-child{border-bottom:none}
  .myte-step-n{font-size:3rem}
  /* .myte-cta .btn → handled by .section-cta in global.css */
  #myteCanvas{display:none}

  /* Products */
  .prod-showcase{grid-template-columns:1fr}
  /* prod-img: auto height from natural image dimensions */
  .products .section-cta{margin-top:3.5rem}

  /* N-DOC */
  .ndoc-layout{grid-template-columns:1fr}
  .ndoc-visual{order:-1}
  .ndoc-visual img{max-width:280px}
  .ndoc-params{grid-template-columns:1fr}

  /* Research */
  .research{min-height:auto}
  .research-layout{grid-template-columns:1fr}
  .research-img{order:-1}
  .r-areas{grid-template-columns:1fr}
  /* .pull-quote padding/before → handled by .pq-big in global.css */

  /* Partners */
  .partner-quotes{grid-template-columns:1fr}
  .pq{padding:2rem}

  /* Results */
  .results .section-cta{margin-top:3.5rem}
  .giant-row{flex-direction:column;gap:1.5rem}
  .giant-stat{width:100%;padding:0;padding-bottom:1.5rem;border-bottom:1px solid rgba(133,255,199,.06)}
  .giant-stat::after{display:none}
  .giant-stat .gn{font-size:clamp(3rem,10vw,4.5rem)}
  .testi-grid{grid-template-columns:1fr}
  .testi-photo{height:200px}

  /* Journey — path responsive moved to global.css */
  .journey .paths{grid-template-columns:1fr}

  /* CTA */
  .cta{padding:clamp(6rem,14vw,10rem) var(--section-pad)}
  .cta h2{font-size:clamp(2rem,8vw,3.2rem)}
  .cta>p{font-size:1.05rem}
  .cta-btns{flex-direction:column;align-items:stretch}
  .cta-btns .btn{width:100%}
}

/* ── Small mobile (≤480px) ── */
@media(max-width:480px){
  .hero-t{font-size:clamp(2rem,9vw,2.8rem)}
  .legacy-h{font-size:clamp(1.7rem,7vw,2.4rem)}
  .cta h2{font-size:clamp(1.7rem,7vw,2.4rem)}
  .empathy-headline{font-size:clamp(1.5rem,7vw,2rem)}
  .dash-card{padding:1.5rem}
  .pq{padding:1.5rem}
  .path{padding:1.5rem}
  .innov-n{font-size:2.4rem;width:42px}
}

/* prefers-reduced-motion → handled by global.css universal rule */

/* ════════════════════════════════════════════════
   FAQ Section — page background
   ════════════════════════════════════════════════ */
.hp-faq{background:var(--mr)}
