/*
Theme Name: Modern Analytical Sciences
Theme URI: https://modernanalytical.com
Author: MAS Team
Description: Custom theme for Modern Analytical Sciences - Precision Laboratory Testing
Version: 1.0.0
License: Proprietary
Text Domain: mas-theme
*/

/* ============================================================
   DESIGN TOKENS - Endless Biotech Aesthetic
   ============================================================ */
:root {
  --bg:          #f0f4f8;
  --bg-mid:      #e8eef4;
  --bg-light:    #ffffff;
  --bg-card:     #ffffff;
  --bg-card-h:   #f8fbfd;
  --mint:        #00b4d8;
  --mint-dim:    #0090ae;
  --mint-faint:  rgba(0,180,216,0.07);
  --mint-border: rgba(0,180,216,0.22);
  --white:       #0f1a24;
  --text-body:   #4a6275;
  --text-muted:  #8aa0b0;
  --text-label:  #00b4d8;
  --grid:        rgba(0,180,216,0.06);
  --rule:        rgba(15,26,36,0.09);
  --sans: 'Inter', system-ui, sans-serif;
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --mono: 'DM Mono', monospace;
  --radius: 16px;
  --radius-sm: 10px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#0b1a0f;overflow-x:clip;}
body{font-family:var(--sans);background:var(--bg);color:var(--white);line-height:1.6;overflow-x:clip;font-size:16px;}
a{text-decoration:none;color:inherit;}
button{font-family:var(--sans);cursor:pointer;border:none;background:none;}
ul{list-style:none;}
img{max-width:100%;display:block;}
html, body { background: #f0f4f8 !important; color: #0f1a24 !important; }

.page{display:none;}
.page.active{display:block;}

.grid-overlay{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(90deg, rgba(0,180,216,0.05) 0px, rgba(0,180,216,0.05) 1px, transparent 1px, transparent 25%);background-size:25% 100%;}

nav{position:fixed;top:0;left:0;right:0;z-index:999;padding:0.5rem 0;background:rgba(240,244,248,0.82);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid rgba(0,180,216,0.18);box-shadow:0 1px 0 rgba(0,180,216,0.08);transition:padding .3s ease,background .3s ease,box-shadow .3s ease,border-color .3s ease;}
nav.scrolled{padding:0.25rem 0;background:rgba(240,244,248,0.72);box-shadow:0 4px 24px rgba(15,26,36,0.08);}
/* Solid white navbar on pages with a dark image hero (service pages) */
body:has(.hero-split) nav,
body:has(.hero-split) nav.scrolled{background:#ffffff;border-bottom-color:rgba(15,26,36,0.08);box-shadow:0 2px 16px rgba(15,26,36,0.10);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem;}
@media(min-width:640px){.nav-inner{padding:0 2.5rem;}}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;}
.nav-logo-mark{width:48px;height:48px;border:none;border-radius:0;display:flex;align-items:center;justify-content:flex-start;background:transparent;flex-shrink:0;transition:width .3s ease,height .3s ease;}
nav.scrolled .nav-logo-mark{width:40px;height:40px;}
.nav-logo-text{font-size:1rem;font-weight:700;color:#0f1a24;letter-spacing:0.01em;line-height:1.2;transition:font-size .3s ease;}
nav.scrolled .nav-logo-text{font-size:0.95rem;}
.nav-logo-sub{font-size:0.6rem;color:var(--text-label);letter-spacing:0.06em;display:block;margin-top:2px;font-family:var(--mono);}
.nav-right{display:flex;align-items:center;gap:0.5rem;}
.nav-links-desktop{display:none;align-items:center;gap:0;}
@media(min-width:860px){.nav-links-desktop{display:flex;}}
.nav-links-desktop span{position:relative;font-size:0.82rem;font-weight:500;color:#2e4a5e;padding:0.45rem 0.85rem;cursor:pointer;transition:color 0.2s;}
.nav-links-desktop span::after{content:"";position:absolute;left:0.85rem;right:0.85rem;bottom:0.1rem;height:1.5px;background:var(--mint);transform:scaleX(0);transform-origin:center;transition:transform 0.25s ease;}
.nav-links-desktop span:hover,.nav-links-desktop span.active{color:#0f1a24;}
.nav-links-desktop span:hover::after,.nav-links-desktop span.active::after{transform:scaleX(1);}
.nav-links-desktop>a{position:relative;font-size:0.82rem;font-weight:500;color:#2e4a5e;padding:0.45rem 0.85rem;text-decoration:none;transition:color 0.2s;}
.nav-links-desktop>a::after{content:"";position:absolute;left:0.85rem;right:0.85rem;bottom:0.1rem;height:1.5px;background:var(--mint);transform:scaleX(0);transform-origin:center;transition:transform 0.25s ease;}
.nav-links-desktop>a:hover,.nav-links-desktop>a.active{color:#0f1a24;}
.nav-links-desktop>a:hover::after,.nav-links-desktop>a.active::after{transform:scaleX(1);}
.nav-dd{position:relative;}
.nav-dd-trigger{position:relative;display:inline-flex;align-items:center;gap:5px;font-size:0.82rem;font-weight:500;color:#2e4a5e;padding:0.45rem 0.85rem;cursor:pointer;transition:color 0.2s;}
.nav-dd-trigger::after{content:"";position:absolute;left:0.85rem;right:0.85rem;bottom:0.1rem;height:1.5px;background:var(--mint);transform:scaleX(0);transform-origin:center;transition:transform 0.25s ease;}
.nav-dd-trigger svg{transition:transform 0.25s ease;}
.nav-dd:hover .nav-dd-trigger{color:#0f1a24;}
.nav-dd:hover .nav-dd-trigger::after{transform:scaleX(1);}
.nav-dd:hover .nav-dd-trigger svg{transform:rotate(180deg);}
.nav-dd::before{content:"";position:absolute;top:100%;left:0;right:0;height:12px;}
.nav-dd-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:240px;background:rgba(248,252,254,0.96);backdrop-filter:blur(12px);border:1px solid rgba(0,180,216,0.15);border-radius:12px;box-shadow:0 18px 44px -14px rgba(15,26,36,0.18);padding:0.4rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:1000;}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dd-menu a{display:block;padding:0.6rem 0.85rem;font-size:0.82rem;font-weight:500;color:#2e4a5e;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;}
.nav-dd-menu a:hover{background:rgba(0,180,216,0.08);color:#0f1a24;}
.nav-cta-btn{background:var(--mint);color:#ffffff;font-weight:700;font-size:0.8rem;padding:0.55rem 1.35rem;border:2px solid var(--mint);border-radius:99px;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.nav-cta-btn::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0.5) 50%,transparent 100%);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.nav-cta-btn:hover{background:#00c4ea;border-color:#00c4ea;color:#ffffff;transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(0,180,216,0.6);}
.nav-cta-btn:hover::after{left:160%;}
.hamburger{width:36px;height:36px;border-radius:99px;background:rgba(15,26,36,0.05);border:1px solid rgba(15,26,36,0.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5px;cursor:pointer;transition:all 0.2s;}
.hamburger:hover{background:rgba(255,255,255,0.1);}
.hamburger span{display:block;width:14px;height:1.5px;background:#0f1a24;border-radius:1px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media(min-width:860px){.hamburger{display:none;}}
.nav-drawer{position:fixed;inset:0;z-index:998;background:rgba(255,255,255,0.985);-webkit-backdrop-filter:blur(22px) saturate(1.15);backdrop-filter:blur(22px) saturate(1.15);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:calc(80px + 1.25rem) 1.75rem 1.75rem;transform:translateY(-100%);transition:transform 0.42s cubic-bezier(0.4,0,0.2,1);overflow-y:auto;}
.nav-drawer.open{transform:translateY(0);}

.wrap{max-width:1200px;margin:0 auto;padding:5rem 1.5rem;position:relative;z-index:1;background:transparent;}
@media(min-width:640px){.wrap{padding:6rem 2.5rem;}}
@media(min-width:900px){.wrap{padding:7rem 3rem;}}

.label{font-family:var(--mono);font-size:0.6rem;font-weight:600;color:var(--mint);letter-spacing:0.28em;text-transform:uppercase;margin-bottom:1.25rem;display:block;}
.label-icon{margin-right:0.5rem;}

h1{font-family:var(--serif);font-size:clamp(2.3rem,5.2vw,3.8rem);font-weight:700;line-height:1.08;letter-spacing:-0.015em;color:#0f1a24;text-wrap:balance;}
h2{font-family:var(--serif);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-0.012em;color:#0f1a24;text-wrap:balance;}
h3{font-family:var(--serif);font-size:clamp(1.35rem,4vw,1.85rem);font-weight:700;line-height:1.2;letter-spacing:-0.005em;color:#0f1a24;text-wrap:balance;}
h1,h2,h3,h4,h5,h6 { color: #0f1a24; }
p { color: #4a6275; }

.crosshair{position:relative;display:inline-block;}
.ch-c{display:inline-block;white-space:pre;opacity:0;animation:typeIn .26s ease forwards;}
@keyframes typeIn{from{opacity:0;transform:translateY(.16em) scale(.9);}to{opacity:1;transform:none;}}
.crosshair::after{content:"";position:absolute;top:-0.12em;bottom:-0.12em;left:-4%;width:2px;background:linear-gradient(to bottom,transparent,var(--mint) 25%,#aef3ff 50%,var(--mint) 75%,transparent);box-shadow:0 0 12px 2px rgba(0,180,216,0.75);opacity:0;pointer-events:none;animation:laserSweep 5.5s ease-in-out 1.5s infinite;}
@keyframes laserSweep{0%{left:-4%;opacity:0;}4%{opacity:1;}26%{opacity:1;}30%{left:104%;opacity:0;}100%{left:104%;opacity:0;}}
@media(prefers-reduced-motion:reduce){.ch-c{opacity:1;animation:none;}.crosshair::after{animation:none;opacity:0;}}
/* Phones: no above-the-fold motion so the hero text paints immediately (LCP).
   The laser-sweep animates `left` (per-frame layout) — kill it on mobile. */
@media(max-width:880px){
  .ch-c{opacity:1 !important;animation:none !important;transform:none !important;}
  .crosshair::after{animation:none !important;opacity:0 !important;}
  .fn-ref,.hn-label,.hero-note{opacity:1 !important;animation:none !important;transform:none !important;}
  .hn-rule{animation:none !important;transform:none !important;}
}

.mint{color:var(--mint);}
.body-text{font-size:1rem;color:#4a6275;line-height:1.75;font-weight:400;text-wrap:balance;}
.body-text.center{text-align:center;}

.btn-pill{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:#ffffff;font-weight:700;font-size:0.88rem;padding:0.85rem 2rem;border:2px solid var(--mint);border-radius:99px;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.btn-pill::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0.5) 50%,transparent 100%);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.btn-pill:hover{background:#00c4ea;border-color:#00c4ea;color:#ffffff;transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(0,180,216,0.65);}
.btn-pill:hover::after{left:160%;}
.btn-outline-pill{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#0f1a24;font-weight:600;font-size:0.88rem;padding:0.85rem 2rem;border-radius:99px;cursor:pointer;border:2px solid rgba(15,26,36,0.2);transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.btn-outline-pill:hover{background:rgba(0,180,216,0.06);border-color:var(--mint);color:var(--mint);transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(0,180,216,0.45);}
.btns{display:flex;flex-wrap:wrap;gap:0.75rem;}

.glass-card{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-top:3px solid var(--mint);border-radius:var(--radius);padding:1.75rem 1.5rem;box-shadow:0 2px 12px rgba(15,26,36,0.06);transition:all 0.25s;overflow-wrap:anywhere;}
/* Let the flex text column shrink below its content width so long strings
   (e.g. the contact email) wrap instead of forcing the card past the viewport
   and getting clipped on narrow phones. The icon keeps its inline min-width. */
.glass-card > div{min-width:0;}
.glass-card:hover{background:#f5fafd;border-color:var(--mint-border);border-top-color:var(--mint);box-shadow:0 6px 24px rgba(0,180,216,0.13);}
.glass-num{font-size:clamp(1.8rem,5vw,2.5rem);font-weight:900;color:var(--mint);line-height:1;letter-spacing:-0.02em;margin-bottom:0.4rem;}
.glass-label{font-size:0.82rem;color:var(--text-body);font-weight:400;}
.glass-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;}

.hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;}
.hero-grid > *{min-width:0;}
@media(min-width:980px){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:3.5rem;}}
.hero-media{position:relative;display:block;}
.hero-wrap .body-text,.hero-notes{max-width:100%;overflow-wrap:break-word;}
.net3d-wrap{position:relative;height:300px;}
@media(min-width:980px){.net3d-wrap{height:430px;}}

.disc{max-width:1320px;margin:0 auto;padding:5.5rem 1.5rem;position:relative;}
@media(min-width:640px){.disc{padding:6rem 2.5rem;}}
.disc-head{text-align:center;max-width:520px;margin:0 auto;align-self:center;position:relative;z-index:1;}
.disc-pill{display:inline-block;font-family:var(--mono);font-size:0.7rem;letter-spacing:0.12em;color:var(--text-label);text-transform:uppercase;border:1px solid var(--mint-border);border-radius:99px;padding:0.4rem 1rem;}
.disc-stem{display:block;width:1px;height:46px;background:linear-gradient(var(--mint),transparent);margin:1.1rem auto 1.3rem;}
.disc-head h2{margin-bottom:0.9rem;}
.disc-head p{margin:0 auto 1.9rem;}
.disc-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;position:relative;}
.disc-curve{display:none;}
@media(min-width:620px){.disc-layout{grid-template-columns:1fr 1fr;gap:1.75rem;}.disc-head{grid-column:1 / 3;}}
@media(min-width:980px){.disc-layout{grid-template-columns:repeat(6,1fr);gap:2.5rem 1.6rem;align-items:stretch;}.disc-head{grid-column:3 / 5;grid-row:1;max-width:none;align-self:center;}.disc-tile:nth-of-type(1){grid-column:1 / 3;grid-row:1;margin-top:11rem;}.disc-tile:nth-of-type(2){grid-column:5 / 7;grid-row:1;margin-top:11rem;}.disc-tile:nth-of-type(3){grid-column:1 / 3;grid-row:2;}.disc-tile:nth-of-type(4){grid-column:3 / 5;grid-row:2;}.disc-tile:nth-of-type(5){grid-column:5 / 7;grid-row:2;}.disc-curve{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;clip-path:inset(0 100% 0 0);transition:clip-path 1.6s ease;}.disc.in .disc-curve{clip-path:inset(0 0 0 0);}}
.disc-tile{position:relative;z-index:1;display:flex;flex-direction:column;min-height:380px;text-align:left;border-radius:20px;overflow:hidden;cursor:pointer;background:linear-gradient(180deg,#ffffff,#f1f8fc);border:1px solid rgba(0,180,216,0.14);box-shadow:0 22px 44px -30px rgba(15,26,36,0.3);opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease, box-shadow .25s ease, border-color .25s ease;}
.disc-ic{height:96px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--mint);background:linear-gradient(135deg,rgba(0,180,216,0.1),rgba(0,180,216,0.02));border-bottom:1px solid rgba(0,180,216,0.12);}
.disc-ic svg{width:42px;height:42px;transition:transform .35s ease;}
.disc.in .disc-tile:hover .disc-ic svg{transform:translateY(-3px) scale(1.08);}
.disc-img{flex-shrink:0;overflow:hidden;border-bottom:1px solid rgba(0,180,216,0.12);}
.disc-img img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;transition:transform .35s ease;}
.disc.in .disc-tile:hover .disc-img img{transform:scale(1.04);}
.disc-body{padding:1.5rem 1.4rem 1.7rem;flex:1;display:flex;flex-direction:column;align-items:flex-start;}
.disc-tags{margin-top:1rem;margin-bottom:1.4rem;}
.disc-body .svc-link{margin-top:auto;text-align:left;}
@media(max-width:620px){.disc-body .svc-link{margin-top:1.5rem;}}
.disc.in .disc-tile{opacity:1;transform:none;}
.disc.in .disc-tile:nth-of-type(1){transition-delay:.15s;}
.disc.in .disc-tile:nth-of-type(3){transition-delay:.55s;}
.disc.in .disc-tile:nth-of-type(4){transition-delay:.95s;}
.disc.in .disc-tile:nth-of-type(5){transition-delay:1.75s;}
.disc.in .disc-tile:nth-of-type(2){transition-delay:1.35s;}
.disc.in .disc-tile:hover{transform:translateY(-5px);border-color:rgba(0,180,216,0.4);box-shadow:0 26px 52px -22px rgba(0,180,216,0.4);}
.disc-tile h3{font-size:1.2rem;margin-bottom:0.6rem;}
.disc-tile p{font-size:0.84rem;color:var(--text-body);line-height:1.65;}
@media(prefers-reduced-motion:reduce){.disc-tile{transition:none;opacity:1;transform:none;}.disc-curve{transition:none;clip-path:none;}}

.stats-band{background:#ffffff;border-top:1px solid rgba(15,26,36,0.07);border-bottom:1px solid rgba(15,26,36,0.07);position:relative;z-index:1;}
.stats-inner{max-width:1200px;margin:0 auto;padding:4rem 1.5rem 4.5rem;}
@media(min-width:640px){.stats-inner{padding:5rem 2.5rem;}}
.stats-ruler{position:relative;height:0.6rem;margin:1.4rem 0 3rem;overflow:hidden;}
.stats-rule{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;transition:transform 1.7s cubic-bezier(.2,.8,.2,1);background:linear-gradient(var(--mint),var(--mint)) left top / 100% 2px no-repeat,repeating-linear-gradient(90deg, rgba(0,180,216,0.5) 0 1px, transparent 1px 26px) left 2px / 100% 8px no-repeat;}
.stats-band.in .stats-rule{transform:scaleX(1);}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1.25rem;}
@media(min-width:760px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat-tile{position:relative;opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease;text-align:left;}
.stats-band.in .stat-tile{opacity:1;transform:none;}
.stats-band.in .stat-tile:nth-child(1){transition-delay:.20s;}
.stats-band.in .stat-tile:nth-child(2){transition-delay:.42s;}
.stats-band.in .stat-tile:nth-child(3){transition-delay:.64s;}
.stats-band.in .stat-tile:nth-child(4){transition-delay:.86s;}
.stat-tile::before{content:"";position:absolute;top:-3rem;left:0;width:1px;height:3rem;background:rgba(0,180,216,0.35);transform:scaleY(0);transform-origin:top;transition:transform .7s ease;}
.stats-band.in .stat-tile::before{transform:scaleY(1);transition-delay:1.4s;}
.stat-dot{position:absolute;top:calc(-3rem - 3px);left:-3px;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(0,180,216,0.12);opacity:0;transition:opacity .5s ease;}
.stats-band.in .stat-dot{opacity:1;transition-delay:1.8s;}
.stat-num{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--mint);line-height:1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;white-space:nowrap;}
.stat-lab{font-size:0.82rem;color:var(--text-body);margin-top:0.75rem;letter-spacing:0.01em;}
@media(prefers-reduced-motion:reduce){.stats-rule,.stat-tile,.stat-tile::before,.stat-dot{transition:none;}}
#net3d{position:absolute;inset:0;width:100%;height:100%;-webkit-mask:radial-gradient(ellipse 72% 72% at 52% 42%,#000 55%,transparent 100%);mask:radial-gradient(ellipse 72% 72% at 52% 42%,#000 55%,transparent 100%);}
.big-stat{font-size:clamp(4rem,18vw,10rem);font-weight:900;color:var(--mint);line-height:1;letter-spacing:-0.04em;}

.challenge{background:#e8eef4;border-top:1px solid rgba(15,26,36,0.07);border-bottom:1px solid rgba(15,26,36,0.07);position:relative;z-index:1;}
.challenge-inner{max-width:1200px;margin:0 auto;padding:5rem 1.5rem;text-align:center;}
@media(min-width:640px){.challenge-inner{padding:6rem 2.5rem;}}
.bottle-row{display:grid;grid-template-columns:repeat(10,1fr);justify-items:center;gap:0.7rem;max-width:600px;margin:2.25rem auto;}
@media(max-width:640px){.bottle-row{grid-template-columns:repeat(5,1fr);max-width:320px;gap:0.9rem;}}
.bottle{position:relative;width:100%;max-width:46px;color:#aebccb;opacity:0;transform:scale(.7) translateY(10px);transition:opacity .45s ease, transform .45s ease, color .5s ease;}
.bottle svg{width:100%;height:auto;display:block;}
.challenge.in .bottle{opacity:1;transform:none;}
.challenge.in .bottle:nth-child(1){transition-delay:.05s}.challenge.in .bottle:nth-child(2){transition-delay:.12s}.challenge.in .bottle:nth-child(3){transition-delay:.19s}.challenge.in .bottle:nth-child(4){transition-delay:.26s}.challenge.in .bottle:nth-child(5){transition-delay:.33s}.challenge.in .bottle:nth-child(6){transition-delay:.40s}.challenge.in .bottle:nth-child(7){transition-delay:.47s}.challenge.in .bottle:nth-child(8){transition-delay:.54s}.challenge.in .bottle:nth-child(9){transition-delay:.61s}.challenge.in .bottle:nth-child(10){transition-delay:.68s}
.challenge.flagged .bottle.fail{color:#ef5a52;}
.bottle-x{position:absolute;top:-7px;right:-7px;width:19px;height:19px;border-radius:50%;background:#ef5a52;color:#fff;font-size:11px;line-height:1;font-weight:700;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.3);transition:opacity .3s ease, transform .35s cubic-bezier(.2,1.4,.4,1);box-shadow:0 3px 8px rgba(239,90,82,.5);}
.challenge.flagged .bottle.fail .bottle-x{opacity:1;transform:scale(1);}
.cs-num{font-family:var(--sans);font-weight:900;font-size:clamp(2.6rem,8vw,5rem);color:var(--mint);line-height:1;letter-spacing:-0.03em;}
@media(prefers-reduced-motion:reduce){.bottle{transition:none;opacity:1;transform:none;}.bottle-x{transition:none;}}

.num-list{display:flex;flex-direction:column;}
.num-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid rgba(15,26,36,0.08);background:transparent;}
.num-item:last-child{border-bottom:none;}
.num-item-n{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:900;color:var(--text-muted);line-height:1;min-width:3rem;flex-shrink:0;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.num-item-n.active-n{color:var(--mint);}
.num-item h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.35rem;letter-spacing:-0.01em;}
.num-item p{font-size:0.85rem;color:var(--text-body);line-height:1.7;}

.spectrum{position:relative;height:460vh;background:var(--bg);}
.spectrum-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden;}
.spectrum-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
@media(min-width:640px){.spectrum-inner{padding:0 2.5rem;}}
.spectrum-text{max-width:460px;}
.spectrum-text h2{margin-bottom:1rem;}
.spectrum-meta{display:flex;align-items:baseline;gap:0.6rem;margin-top:1.9rem;}
.sp-meta-idx{font-family:var(--mono);font-size:2rem;font-weight:500;color:var(--mint);line-height:1;}
.sp-meta-sep{font-family:var(--mono);color:var(--text-muted);font-size:0.85rem;}
.sp-meta-name{font-weight:600;font-size:0.98rem;color:#0f1a24;}
.spectrum-hint{margin-top:1.4rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.12em;color:var(--text-muted);text-transform:uppercase;}
.spectrum-stage{position:relative;height:520px;}
.spectrum-cards{position:absolute;inset:0;}
.sp-card{position:absolute;left:50%;top:50%;width:min(440px,92%);height:340px;border-radius:24px;padding:2rem 2.1rem;color:#fff;background:linear-gradient(155deg,var(--c1),var(--c2));overflow:hidden;box-shadow:0 34px 66px -22px rgba(15,26,36,0.45), inset 0 1px 0 rgba(255,255,255,0.18);transform:translate(-50%,-50%);will-change:transform,opacity;display:flex;flex-direction:column;}
.sp-card .sp-num{font-family:var(--mono);font-size:0.82rem;opacity:0.85;letter-spacing:0.12em;}
.sp-card h3{font-family:var(--sans);color:#fff;font-size:1.45rem;font-weight:800;letter-spacing:-0.01em;margin:0.9rem 0 0;}
.sp-ghost{position:absolute;right:0.9rem;bottom:-1.4rem;font-family:var(--serif);font-size:9rem;font-weight:500;line-height:1;color:rgba(255,255,255,0.09);pointer-events:none;user-select:none;}
.sp-card p{font-size:0.9rem;line-height:1.55;color:rgba(255,255,255,0.95);margin-top:1.1rem;max-width:88%;position:relative;}
.sp-img{position:absolute;right:1.6rem;top:50%;transform:translateY(-50%);width:140px;height:140px;border-radius:50%;object-fit:cover;box-shadow:0 18px 38px -16px rgba(15,26,36,0.55),0 0 0 4px rgba(255,255,255,0.25);z-index:1;}
.sp-card.has-img h3{max-width:56%;}
.sp-card.has-img p{max-width:54%;}
@media(max-width:880px){.spectrum-hint{display:none;}}

.s-rule{height:1px;background:var(--rule);margin:0;}

.tag{font-family:var(--sans);font-size:0.72rem;font-weight:600;color:var(--mint);border:1px solid var(--mint-border);padding:0.3rem 0.85rem;border-radius:99px;letter-spacing:0.01em;text-transform:none;background:var(--mint-faint);display:inline-block;margin:0.2rem 0.2rem 0 0;}

.text-center-block{text-align:center;max-width:700px;margin:0 auto;}

/* ── FAQ accordion ── */
.faq{background:linear-gradient(180deg,#ffffff 0%,#f4fbfe 100%);border-top:1px solid rgba(0,180,216,0.12);position:relative;z-index:1;}
.faq-inner{max-width:820px;margin:0 auto;padding:5rem 1.5rem;}
@media(min-width:640px){.faq-inner{padding:6rem 2.5rem;}}
.faq-head{text-align:center;margin-bottom:2.75rem;}
.faq-head h2{margin-bottom:0.9rem;}
.faq-head .body-text{margin:0 auto;max-width:560px;}
.faq-list{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:20px;overflow:hidden;box-shadow:0 18px 48px -30px rgba(15,26,36,0.25);}
.faq-item{border-top:1px solid rgba(15,26,36,0.08);}
.faq-item:first-child{border-top:none;}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.3rem 1.6rem;font-family:var(--serif);font-size:1.02rem;font-weight:500;color:#0f1a24;line-height:1.4;transition:color .2s ease,background .2s ease;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--mint);background:rgba(0,180,216,0.025);}
.faq-chevron{flex-shrink:0;color:var(--mint);transition:transform .3s ease;}
.faq-item[open] summary{color:var(--mint);}
.faq-item[open] .faq-chevron{transform:rotate(180deg);}
.faq-a{padding:0 1.6rem 1.4rem;}
.faq-a p{font-size:0.92rem;color:var(--text-body);line-height:1.7;margin:0;max-width:64ch;}
@media(max-width:600px){
  .faq-item summary{padding:1.1rem 1.2rem;font-size:0.95rem;}
  .faq-a{padding:0 1.2rem 1.2rem;}
}

.cta-section{padding:5rem 1.5rem;text-align:center;position:relative;z-index:1;background:#f0f4f8;}
@media(min-width:640px){.cta-section{padding:7rem 2.5rem;}}
.cta-section h2{margin-bottom:1.25rem;}
.cta-section h2 .mint{display:block;}
.cta-section .body-text{max-width:480px;margin:0 auto 2.25rem;}
.cta-section .btns{justify-content:center;}

.svc-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;background:transparent;}
@media(min-width:640px){.svc-grid{grid-template-columns:1fr 1fr;}}
.svc-card{background:var(--bg);padding:2.5rem 2rem;transition:background 0.2s;cursor:default;}
.svc-card:hover{background:#f5fafd;border-color:rgba(0,180,216,0.3);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,180,216,0.08);}
.svc-num{font-size:0.6rem;font-family:var(--mono);color:var(--text-muted);letter-spacing:0.2em;display:block;margin-bottom:1.25rem;}
.svc-icon-wrap{width:64px;height:64px;border-radius:14px;background:rgba(74,222,128,0.08);border:1px solid var(--mint-border);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.25rem;}
.svc-card h3{font-size:1.2rem;margin-bottom:0.6rem;}
.svc-card p{font-size:0.85rem;color:var(--text-body);line-height:1.7;margin-bottom:1.25rem;}
.svc-link{font-family:var(--mono);font-size:0.6rem;color:var(--mint);letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:letter-spacing 0.2s;display:inline-block;margin-top:0.75rem;}
.svc-link:hover{letter-spacing:0.2em;}

.process-list{display:flex;flex-direction:column;gap:0;background:transparent;}
.p-step{display:flex;gap:1.5rem;align-items:flex-start;padding:1.75rem 0;border-bottom:1px solid rgba(15,26,36,0.08);background:transparent;}
.p-step:last-child{border-bottom:none;}
.p-num{font-size:2.5rem;font-weight:900;color:var(--text-muted);line-height:1;min-width:3.5rem;letter-spacing:-0.02em;flex-shrink:0;}
.p-step h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:0.35rem;}
.p-step p{font-size:0.85rem;color:var(--text-body);line-height:1.7;}

.process-band{background:#e8eef4;border-top:1px solid rgba(15,26,36,0.07);border-bottom:1px solid rgba(15,26,36,0.07);position:relative;z-index:1;}
.process-section{max-width:920px;margin:0 auto;padding:5.5rem 5%;position:relative;overflow:hidden;}
@media(min-width:640px){.process-section{padding:6.5rem 5%;}}
.process-head{text-align:center;max-width:560px;margin:0 auto 4.5rem;}
.section-title{margin-bottom:0.9rem;opacity:0;transform:translateY(30px);}
.process-intro{margin:0 auto;}
.steps-container{position:relative;padding-left:100px;}
.connecting-line{position:absolute;left:39px;top:0;width:4px;height:100%;background:linear-gradient(to bottom, rgba(0,180,216,0.12), var(--mint), rgba(0,180,216,0.6));border-radius:5px;transform:scaleY(0);transform-origin:top center;z-index:1;}
.step{position:relative;margin-bottom:4.5rem;}
.step:last-child{margin-bottom:0;}
.step-number-container{position:absolute;left:-100px;top:-12px;width:80px;height:80px;border-radius:50%;z-index:3;background:rgba(255,255,255,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,180,216,0.28);box-shadow:0 10px 26px -10px rgba(0,180,216,0.45);display:flex;justify-content:center;align-items:center;opacity:0;transform:scale(0.5) rotate(-15deg);}
.step-number{font-family:var(--sans);font-size:2.4rem;font-weight:900;color:var(--mint);line-height:1;letter-spacing:-0.02em;}
.step-content{background:#ffffff;padding:1.9rem 2.2rem;border-radius:24px;border:1px solid rgba(0,180,216,0.12);position:relative;z-index:2;transition:border-color .4s ease, box-shadow .4s ease;opacity:0;transform:translate(30px,20px);box-shadow:0 16px 40px -28px rgba(15,26,36,0.3);}
.step-content.has-img{display:flex;align-items:center;gap:1.5rem;}
.step-img{width:112px;height:84px;object-fit:cover;border-radius:12px;flex-shrink:0;box-shadow:0 8px 20px -12px rgba(15,26,36,0.35);}
.step-text{min-width:0;}
.step-content h3{font-family:var(--sans);font-size:1.4rem;font-weight:700;color:#0f1a24;margin-bottom:0.6rem;position:relative;display:inline-block;letter-spacing:-0.01em;}
.step-content h3::after{content:'';position:absolute;left:0;bottom:-5px;height:3px;width:0;background:var(--mint);transition:width .5s ease .3s;}
.step-content p{font-size:0.92rem;color:var(--text-body);line-height:1.7;}
.step.is-active .step-content{border-color:rgba(0,180,216,0.5);box-shadow:0 14px 36px -18px rgba(0,180,216,0.35);}
.step.is-active h3::after{width:70%;}
@media(max-width:768px){.steps-container{padding-left:78px;}.connecting-line{left:31px;width:3px;}.step-number-container{left:-78px;width:64px;height:64px;top:-8px;}.step-number{font-size:2rem;}.step-content{padding:1.6rem 1.5rem;border-radius:20px;}.step-content h3{font-size:1.2rem;}.step{margin-bottom:3.5rem;}}
@media(max-width:480px){.process-section{padding:4rem 4%;}.steps-container{padding-left:58px;}.connecting-line{left:24px;}.step-number-container{left:-58px;width:52px;height:52px;top:-6px;}.step-number{font-size:1.65rem;}.step-content{padding:1.4rem 1.3rem;}.step-content.has-img{gap:1rem;}.step-img{width:84px;height:63px;border-radius:10px;}}
@media(prefers-reduced-motion:reduce){.section-title,.step-number-container,.step-content{opacity:1 !important;transform:none !important;}.connecting-line{transform:scaleY(1) !important;}}

.two-col{display:grid;grid-template-columns:1fr;gap:3rem;}
@media(min-width:860px){.two-col{grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}}

.tat-panel{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:var(--radius);padding:2rem;box-shadow:0 4px 20px rgba(15,26,36,0.08);}
@media(min-width:860px){.tat-panel{position:sticky;top:80px;}}
.tat-panel-title{font-family:var(--mono);font-size:0.58rem;color:var(--text-label);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:1.5rem;}
.tat-row{display:flex;justify-content:space-between;align-items:center;padding:0.8rem 0;border-bottom:1px solid var(--rule);gap:0.5rem;flex-wrap:wrap;}
.tat-row:last-of-type{border-bottom:none;}
.tat-test{font-size:0.82rem;color:#4a6275;}
.tat-right{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;justify-content:flex-end;}
.tat-time{font-family:var(--mono);font-size:0.65rem;color:var(--mint);}
.tat-rush{font-family:var(--mono);font-size:0.55rem;color:#0b1a0f;background:var(--mint);padding:0.15rem 0.55rem;border-radius:99px;white-space:nowrap;font-weight:600;}

.mth-grid{display:grid;grid-template-columns:1fr;gap:1rem;background:transparent;}
@media(min-width:640px){.mth-grid{grid-template-columns:1fr 1fr;}}
.mth-card{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-left:3px solid transparent;padding:2.25rem 2rem;transition:all 0.2s;border-radius:var(--radius-sm);}
.mth-card:hover{background:#f5fafd;border-left-color:var(--mint);box-shadow:0 4px 20px rgba(0,180,216,0.08);}
.mth-hdr{display:flex;justify-content:space-between;margin-bottom:1rem;}
.mth-num{font-family:var(--mono);font-size:0.55rem;color:var(--text-muted);letter-spacing:0.15em;}
.mth-abbr{font-family:var(--mono);font-size:0.58rem;color:var(--mint);background:var(--mint-faint);border:1px solid var(--mint-border);padding:0.12rem 0.55rem;border-radius:99px;}
.mth-card h3{font-size:1.05rem;margin-bottom:0.55rem;}
.mth-card p{font-size:0.82rem;color:var(--text-body);line-height:1.7;margin-bottom:0.85rem;}
.mth-inst{font-family:var(--mono);font-size:0.55rem;color:var(--text-muted);letter-spacing:0.05em;margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--rule);}

.pkg-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.5rem;}
@media(min-width:640px){.pkg-grid{grid-template-columns:repeat(3,1fr);}}
.pkg{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:var(--radius);padding:2rem;transition:all 0.2s;box-shadow:0 2px 10px rgba(15,26,36,0.05);display:flex;flex-direction:column;}
.pkg.feat{background:rgba(0,180,216,0.04);border-color:var(--mint-border);}
.pkg-lbl{font-family:var(--mono);font-size:0.55rem;color:var(--mint);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.65rem;}
.pkg h3{font-size:1.15rem;margin-bottom:0.4rem;}
.pkg-tat{font-family:var(--mono);font-size:0.6rem;color:var(--text-muted);margin-bottom:1.5rem;}
.pkg-tests{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.5rem;}
.pkg-tests li{font-size:0.82rem;color:#4a6275;display:flex;gap:8px;}
.pkg-tests li::before{content:'→';color:var(--mint);flex-shrink:0;}
.pkg-note{font-size:0.75rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.5rem;font-style:italic;}
.pkg-btn{width:100%;text-align:center;font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.8rem;border-radius:99px;cursor:pointer;margin-top:auto;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.pkg-btn.p{background:var(--mint);color:#ffffff;border:2px solid var(--mint);}
.pkg-btn.p::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0.5) 50%,transparent 100%);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none;}
.pkg-btn.p:hover{background:#00c4ea;border-color:#00c4ea;transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(0,180,216,0.65);}
.pkg-btn.p:hover::after{left:160%;}
.pkg-btn.o{background:transparent;color:#0f1a24;font-weight:600;border:2px solid rgba(15,26,36,0.2);}
.pkg-btn.o:hover{background:rgba(0,180,216,0.06);border-color:var(--mint);color:var(--mint);transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(0,180,216,0.45);}

.bot-tabs{display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.bot-tab{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.55rem 1rem;border-radius:99px;cursor:pointer;border:1px solid rgba(15,26,36,0.15);background:transparent;color:#4a6275;transition:all 0.2s;display:inline-flex;align-items:center;gap:0.4rem;}
.bot-tab.active,.bot-tab:hover{border-color:var(--mint-border);background:var(--mint-faint);color:var(--mint);}
.bot-panel{display:none;}
.bot-panel.active{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.bot-panel.active{grid-template-columns:1fr 1fr;}}
.bot-detail{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius);padding:2rem;}
.bot-emoji{width:48px;height:48px;margin-bottom:0.75rem;display:block;}
.bot-detail h3{margin-bottom:0.2rem;}
.bot-latin{font-family:var(--mono);font-size:0.6rem;color:var(--mint);letter-spacing:0.08em;font-style:italic;margin-bottom:1rem;display:block;}
.bot-detail p{font-size:0.85rem;color:var(--text-body);line-height:1.75;margin-bottom:1.25rem;}
.bot-reg-l{font-family:var(--mono);font-size:0.55rem;color:var(--text-muted);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.4rem;}
.bot-reg{font-size:0.78rem;color:var(--text-muted);}
.bot-right{display:flex;flex-direction:column;gap:1rem;}
.bot-sub{background:var(--bg-card);border:1px solid var(--rule);border-radius:var(--radius);padding:1.5rem;}
.bot-sub-l{font-family:var(--mono);font-size:0.56rem;color:var(--text-label);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:1rem;}
.a-row{padding-bottom:0.65rem;margin-bottom:0.65rem;border-bottom:1px solid var(--rule);}
.a-row:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none;}
.a-name{font-weight:600;font-size:0.85rem;color:var(--white);margin-bottom:0.18rem;}
.a-role{font-size:0.76rem;color:var(--text-muted);}
.bot-footer{margin-top:1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.bot-tat-l{font-family:var(--mono);font-size:0.56rem;color:var(--text-muted);letter-spacing:0.08em;}

.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl{width:100%;border-collapse:collapse;font-size:0.85rem;}
.tbl-animate tbody tr{opacity:0;}
.tbl-animate.in tbody tr{animation:rowReveal .55s cubic-bezier(.2,.8,.2,1) both;}
.tbl-animate.in tbody tr:nth-child(1){animation-delay:.05s;}.tbl-animate.in tbody tr:nth-child(2){animation-delay:.14s;}.tbl-animate.in tbody tr:nth-child(3){animation-delay:.23s;}.tbl-animate.in tbody tr:nth-child(4){animation-delay:.32s;}.tbl-animate.in tbody tr:nth-child(5){animation-delay:.41s;}.tbl-animate.in tbody tr:nth-child(6){animation-delay:.50s;}.tbl-animate.in tbody tr:nth-child(7){animation-delay:.59s;}.tbl-animate.in tbody tr:nth-child(8){animation-delay:.68s;}
@keyframes rowReveal{from{opacity:0;transform:translateX(-20px);box-shadow:inset 3px 0 0 0 var(--mint);}to{opacity:1;transform:translateX(0);box-shadow:inset 0 0 0 0 rgba(0,180,216,0);}}
@media(prefers-reduced-motion:reduce){.tbl-animate tbody tr{opacity:1;animation:none;}}
.tbl thead th{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-label);border-bottom:1px solid var(--rule);padding:0.7rem 1rem;text-align:left;font-weight:400;}
.tbl tbody tr{border-bottom:1px solid rgba(15,26,36,0.07);transition:background 0.15s;background:transparent;}
.tbl tbody tr:hover{background:rgba(0,180,216,0.04);}
.tbl tbody td{padding:0.9rem 1rem;color:var(--text-body);vertical-align:top;}
.tbl td.tb{font-weight:700;color:var(--white);font-size:0.9rem;}
.tbl td.tm{font-family:var(--mono);font-size:0.72rem;color:var(--mint);}
.bdg{font-family:var(--mono);font-size:0.55rem;padding:0.2rem 0.6rem;border-radius:99px;letter-spacing:0.07em;text-transform:uppercase;}
.bdg-m{background:rgba(74,222,128,0.12);color:var(--mint);}
.bdg-s{background:rgba(255,255,255,0.06);color:var(--text-body);}

.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(4,1fr);}}
.tc{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:var(--radius);padding:1.75rem 1.5rem;box-shadow:0 2px 10px rgba(15,26,36,0.05);}
.tc-av{width:48px;height:48px;border-radius:50%;background:var(--mint-faint);border:1px solid var(--mint-border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.9rem;color:var(--mint);margin-bottom:1rem;}
.tc-name{font-weight:700;font-size:0.95rem;color:#0f1a24;margin-bottom:0.2rem;}
.tc-title{font-family:var(--mono);font-size:0.52rem;color:var(--text-label);letter-spacing:0.09em;text-transform:uppercase;margin-bottom:0.75rem;}
.tc-bio{font-size:0.78rem;color:var(--text-muted);line-height:1.65;margin-bottom:0.65rem;}
.tc-focus{font-family:var(--mono);font-size:0.52rem;color:var(--text-muted);letter-spacing:0.05em;}

.acc-list{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--bg-card);}
.acc-row{padding:1.75rem 2rem;border-bottom:1px solid rgba(15,26,36,0.08);display:grid;grid-template-columns:88px 1fr;gap:1.75rem;align-items:start;background:#ffffff;transition:background 0.2s;}
.acc-row:hover{background:#f5fafd;}
.acc-row:last-child{border-bottom:none;}
@media(min-width:640px){.acc-row{grid-template-columns:88px 1fr 1fr;}}
.acc-badge{width:88px;height:88px;border-radius:var(--radius-sm);border:1px solid rgba(0,180,216,0.15);overflow:hidden;flex-shrink:0;}
.acc-badge svg{display:block;width:100%;height:100%;}
.acc-title{font-weight:700;font-size:1rem;color:var(--white);margin-bottom:0.2rem;}
.acc-issuer{font-family:var(--mono);font-size:0.55rem;color:var(--text-label);letter-spacing:0.09em;text-transform:uppercase;margin-bottom:0.65rem;}
.acc-desc{font-size:0.82rem;color:var(--text-muted);line-height:1.65;}
.acc-scope{padding-left:1.5rem;border-left:1px solid var(--rule);display:none;}
@media(min-width:640px){.acc-scope{display:block;}}
.acc-scope-l{font-family:var(--mono);font-size:0.52rem;color:var(--text-muted);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.4rem;}
.acc-scope-v{font-size:0.82rem;color:var(--text-body);}

.val-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(min-width:640px){.val-grid{grid-template-columns:repeat(4,1fr);}}
.vc{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(15,26,36,0.04);}
.vc-graphic{display:block;width:100%;height:auto;border-bottom:1px solid rgba(0,180,216,0.12);}
.vc-body{padding:1.4rem 1.5rem 1.5rem;}
.vc h4{font-weight:700;font-size:0.95rem;color:#0f1a24;margin-bottom:0.5rem;letter-spacing:-0.01em;}
.vc p{font-size:0.8rem;color:var(--text-muted);line-height:1.65;}

/* ── HERO FOOTNOTES — the cited headline ─────────────────────────
   Entrance delays (1.0-1.55s) are tuned to land just after the H1
   type-on in footer.php (initHeadlineType, ~1s total). If that
   animation changes, retune these delays. */
.fn-ref{font-family:var(--mono);font-weight:500;font-size:0.22em;line-height:0;letter-spacing:0;color:var(--mint);vertical-align:super;margin-left:0.16em;opacity:1;animation:hnIn .5s ease both;animation-delay:1.05s;}

.hero-notes{max-width:520px;margin-top:3rem;}
.hn-rule{display:block;width:72px;height:1px;background:rgba(15,26,36,0.28);margin-bottom:0.9rem;transform:none;transform-origin:left center;animation:hnRule .6s cubic-bezier(.25,.7,.3,1) both;animation-delay:1s;}
.hn-label{display:block;font-family:var(--mono);font-size:0.58rem;font-weight:600;letter-spacing:0.26em;text-transform:uppercase;color:var(--mint);margin-bottom:0.85rem;opacity:1;animation:hnIn .5s ease both;animation-delay:1.15s;}
.hn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem;}
.hero-note{display:grid;grid-template-columns:1.3rem 1fr;align-items:baseline;opacity:1;transform:none;animation:hnNote .55s ease both;}
.hero-note:nth-child(1){animation-delay:1.25s;}
.hero-note:nth-child(2){animation-delay:1.4s;}
.hero-note:nth-child(3){animation-delay:1.55s;}
.hn-num{font-family:var(--mono);font-size:0.62rem;font-weight:500;color:var(--mint);line-height:1;position:relative;top:-0.22em;}
.hn-text{min-width:0;font-size:0.78rem;color:var(--text-body);line-height:1.6;letter-spacing:0.005em;}
.hn-nb{white-space:nowrap;}

@keyframes hnIn{from{opacity:0;}to{opacity:1;}}
@keyframes hnRule{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes hnNote{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

@media(max-width:640px){
  .hero-notes{margin-top:2.25rem;}
  .hn-text{font-size:0.75rem;}
  .hero-wrap .body-text,.hero-notes{width:100%;max-width:min(100%,342px) !important;}
  .hn-list{width:100%;}
}
@media(max-width:860px){
  .hero-wrap .body-text,.hero-notes{width:100%;max-width:min(100%,342px) !important;}
}
@media(prefers-reduced-motion:reduce){
  .fn-ref,.hn-label,.hero-note{opacity:1;animation:none;transform:none;}
  .hn-rule{animation:none;transform:none;}
}

.ticker{background:var(--mint);padding:0.7rem 0;overflow:hidden;display:flex;position:relative;z-index:2;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-track{display:flex;align-items:center;gap:2.5rem;animation:ticker 45s linear infinite;white-space:nowrap;will-change:transform;}
.ticker-track span{font-family:var(--mono);font-size:0.62rem;color:#ffffff;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.ticker-track span::before{content:'◆ ';}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.test-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
@media(min-width:640px){.test-grid{grid-template-columns:repeat(3,1fr);}}
.test-card{background:#ffffff;border:1px solid rgba(15,26,36,0.09);border-radius:var(--radius);padding:2rem;position:relative;box-shadow:0 2px 12px rgba(15,26,36,0.05);}
.test-card::before{content:'"';font-size:4.5rem;color:rgba(0,180,216,0.15);position:absolute;top:-6px;left:18px;line-height:1;font-family:Georgia,serif;}
.test-card p{font-size:0.88rem;color:#4a6275;line-height:1.75;font-style:italic;margin-bottom:1.5rem;}
.test-card strong{display:block;font-size:0.88rem;color:#0f1a24;}
.test-card em{font-family:var(--mono);font-size:0.58rem;color:var(--mint);letter-spacing:0.1em;text-transform:uppercase;font-style:normal;}

.usp-bar{background:linear-gradient(180deg,#eaf4f9 0%,#e4f0f6 100%);border-bottom:1px solid rgba(15,26,36,0.08);position:relative;z-index:1;}
.usp-bar-inner{max-width:1200px;margin:0 auto;padding:1.6rem 1.5rem;display:flex;gap:0.55rem;flex-wrap:wrap;align-items:center;}
.usp-bar-lbl{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.62rem;font-weight:600;color:#4a6275;letter-spacing:0.16em;text-transform:uppercase;margin-right:0.7rem;}
.usp-bar-lbl::before{content:"";width:17px;height:17px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2300b4d8'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z'/%3E%3Cpath%20d='m9%2012%202%202%204-4'/%3E%3C/svg%3E") center/contain no-repeat;}
.usp-bar .tag{display:inline-flex;align-items:center;gap:0.42rem;background:#ffffff;border:1px solid rgba(0,180,216,0.28);color:#0e7290;font-weight:600;padding:0.5rem 1rem;border-radius:99px;box-shadow:0 2px 10px -5px rgba(15,26,36,0.2);margin:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease;}
.usp-bar .tag::before{content:"";width:13px;height:13px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2300b4d8'%20stroke-width='3.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%206%209%2017l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;}
.usp-bar .tag:hover{transform:translateY(-2px);box-shadow:0 10px 22px -8px rgba(0,180,216,0.42);border-color:var(--mint);color:var(--mint);}

.page-hero{min-height:50vh;display:flex;align-items:flex-end;padding-top:80px;position:relative;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(175deg,#e4f0f6 0%,#f0f4f8 100%);}
.page-hero-inner{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem;position:relative;z-index:2;width:100%;}
@media(min-width:640px){.page-hero-inner{padding:4.5rem 2.5rem;}}

/* ── Contact: compact left-aligned hero (tighten gap before the cards) ── */
.contact-hero{min-height:auto;}
.contact-hero .page-hero-inner{padding-top:3.5rem;padding-bottom:2.25rem;}

/* ── Privacy / Terms: compact hero + body left-aligned to the hero ── */
.legal-hero{min-height:auto;}
.legal-hero .page-hero-inner{padding-bottom:1.75rem;}
.legal-wrap{max-width:1200px;margin:0 auto;padding:1.5rem 2.5rem 5rem;position:relative;z-index:1;}
.legal-wrap > *{max-width:760px;}
@media(max-width:640px){.legal-wrap{padding:1rem 1.5rem 4rem;}}

/* ── Portal + Intake: compact centered hero ── */
.portal-hero,.intake-hero{min-height:0;align-items:center;text-align:center;}
.portal-hero .page-hero-inner,.intake-hero .page-hero-inner{padding-top:2.75rem;padding-bottom:2.5rem;}
.portal-hero .body-text,.intake-hero .body-text{margin-left:auto;margin-right:auto;text-wrap:balance;}
.portal-card{background:#ffffff;border:1px solid rgba(15,26,36,0.1);border-radius:20px;padding:2.5rem 2rem;box-shadow:0 18px 48px -24px rgba(15,26,36,0.22);}
.portal-fieldlabel{font-size:0.78rem;font-weight:600;color:var(--text-body);display:block;margin-bottom:0.4rem;}
.portal-input{width:100%;background:#f5f8fa;border:1px solid rgba(15,26,36,0.12);border-radius:var(--radius-sm);padding:0.75rem 1rem;font-size:0.88rem;color:#0f1a24;font-family:var(--sans);outline:none;transition:border-color 0.2s,box-shadow 0.2s;box-sizing:border-box;}
.portal-input:focus{border-color:var(--mint-border);box-shadow:0 0 0 3px rgba(0,180,216,0.12);}
.about-hero{align-items:center;min-height:70vh;}
.about-hero .page-hero-inner{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;}
@media(min-width:860px){.about-hero .page-hero-inner{grid-template-columns:1fr 1fr;gap:3rem;}}
.about-hero-vis{display:none;}
@media(min-width:860px){.about-hero-vis{display:flex;align-items:center;justify-content:flex-end;}}
.about-hero-vis svg{width:100%;max-width:560px;height:auto;}
.cf-input::placeholder,.intake-input::placeholder{color:rgba(15,26,36,0.28);}
.intake-section-label{font-family:var(--mono);font-size:0.6rem;color:var(--text-label);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:0;}
.intake-input{width:100%;background:#f5f8fa;border:1px solid rgba(15,26,36,0.12);border-radius:var(--radius-sm);padding:0.75rem 1rem;font-size:0.88rem;color:#0f1a24;font-family:var(--sans);outline:none;transition:border-color 0.2s;box-sizing:border-box;}
.intake-input:focus{border-color:var(--mint-border);}
.intake-select{width:100%;background:#f5f8fa;border:1px solid rgba(15,26,36,0.12);border-radius:var(--radius-sm);padding:0.75rem 1rem;font-size:0.88rem;color:#0f1a24;font-family:var(--sans);outline:none;cursor:pointer;transition:border-color 0.2s;box-sizing:border-box;color-scheme:light;}
.intake-select:focus{border-color:var(--mint-border);}
.intake-select option{background:#ffffff;color:#0f1a24;}
#intake-form label{font-size:0.78rem;font-weight:600;color:var(--text-body);display:block;margin-bottom:0.4rem;}
.intake-card{background:#fff;border:1px solid rgba(15,26,36,0.1);border-radius:16px;padding:2rem;margin-bottom:1.5rem;}
.test-group-label{font-size:0.68rem;font-weight:700;color:var(--text-label);letter-spacing:0.18em;text-transform:uppercase;margin:1rem 0 0.5rem;}
.test-pill-grid{display:flex;flex-wrap:wrap;gap:0.4rem;}
.test-pill{display:inline-flex;align-items:center;background:#f5f8fa;border:1px solid rgba(15,26,36,0.14);color:#3c4d58;font-size:0.78rem;font-weight:400;padding:0.42rem 0.8rem;border-radius:99px;cursor:pointer;transition:all 0.18s;user-select:none;}
.test-pill:hover{border-color:var(--mint-border);background:rgba(0,180,216,0.05);}
.test-pill input[type="checkbox"]{display:none;}
.test-pill:has(input:checked){background:rgba(0,180,216,0.1);border-color:#00b4d8;color:#00b4d8;font-weight:600;}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;}
@media(max-width:620px){.intake-grid{grid-template-columns:1fr;}}
.chat-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;}
.chat-fab{width:56px;height:56px;border-radius:50%;background:var(--mint);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,180,216,0.45);transition:transform 0.2s,box-shadow 0.2s;flex-shrink:0;}
.chat-fab:hover{transform:scale(1.07);box-shadow:0 6px 26px rgba(0,180,216,0.55);}
.chat-popup{width:300px;background:#ffffff;border-radius:16px;box-shadow:0 8px 40px rgba(15,26,36,0.18);border:1px solid rgba(15,26,36,0.08);overflow:hidden;display:none;flex-direction:column;margin-bottom:0.75rem;}
.chat-popup.open{display:flex;}
.chat-popup-head{background:linear-gradient(135deg,#00b4d8,#0090ae);padding:1rem 1.25rem;display:flex;align-items:center;gap:0.75rem;}
.chat-popup-title{color:#fff;font-weight:700;font-size:0.88rem;line-height:1.2;}
.chat-popup-sub{color:rgba(255,255,255,0.82);font-size:0.7rem;margin-top:2px;}
.chat-popup-body{padding:1rem 1.25rem 0.5rem;}
.chat-bubble-in{background:#f0f4f8;border-radius:12px 12px 12px 4px;padding:0.7rem 0.9rem;font-size:0.8rem;color:#0f1a24;line-height:1.55;margin-bottom:0.6rem;}
.chat-input-area{padding:0.75rem 1.25rem 1rem;border-top:1px solid rgba(15,26,36,0.07);}
.chat-textarea{width:100%;border:1px solid rgba(15,26,36,0.12);border-radius:8px;padding:0.55rem 0.8rem;font-size:0.8rem;font-family:var(--sans);outline:none;resize:none;color:#0f1a24;background:#f8fafb;box-sizing:border-box;transition:border-color 0.2s;}
.chat-textarea:focus{border-color:var(--mint-border);}
.chat-send{width:100%;margin-top:0.5rem;background:var(--mint);color:#fff;border:none;border-radius:8px;padding:0.6rem;font-size:0.82rem;font-weight:700;cursor:pointer;font-family:var(--sans);transition:background 0.2s;}
.chat-send:hover{background:#0090ae;}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
@media(max-width:680px){.ts-grid{grid-template-columns:1fr;}}
.ts-card{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;background:#0b1520;display:flex;flex-direction:column;border:1px solid rgba(0,180,216,0.12);transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;}
.ts-card:hover{transform:translateY(-5px);box-shadow:0 18px 48px rgba(0,180,216,0.2);border-color:rgba(0,180,216,0.35);}
.ts-card-svg{display:block;width:100%;height:220px;}
.ts-card-info{padding:1.4rem 1.75rem 1.6rem;border-top:1px solid rgba(0,180,216,0.1);}
.ts-card-num{font-family:var(--mono);font-size:0.58rem;color:rgba(0,180,216,0.55);letter-spacing:0.2em;text-transform:uppercase;display:block;margin-bottom:0.4rem;}
.ts-card h3{color:#ffffff;font-size:1.15rem;font-weight:800;margin:0 0 0.35rem;letter-spacing:-0.02em;line-height:1.25;}
.ts-card p{font-size:0.78rem;color:rgba(255,255,255,0.45);line-height:1.55;margin:0 0 0.75rem;}
.ts-card-cta{font-family:var(--mono);font-size:0.6rem;color:rgba(0,180,216,0.65);letter-spacing:0.15em;text-transform:uppercase;transition:letter-spacing 0.25s,color 0.25s;}
.ts-card:hover .ts-card-cta{letter-spacing:0.24em;color:#00b4d8;}
/* Testing Services hero: compact, tidy two-line wraps */
.ts-hero{min-height:auto;}
.ts-hero .page-hero-inner{padding-top:3.25rem;padding-bottom:2.5rem;}
.ts-hero h1{max-width:600px;}
.ts-hero .body-text{max-width:430px;}
@keyframes tsRotCW{to{transform:rotate(360deg)}}
@keyframes tsRotCCW{to{transform:rotate(-360deg)}}
@keyframes tsNucPulse{0%,100%{r:10;opacity:0.55}50%{r:15;opacity:1}}
@keyframes tsBarBounce{0%,100%{transform:scaleY(0.5)}50%{transform:scaleY(1)}}
@keyframes tsWaveShift{from{transform:translateX(0)}to{transform:translateX(-160px)}}
@keyframes tsDotPulse{0%,100%{opacity:0.3}50%{opacity:1}}
.nav-portal-btn{display:none;align-items:center;gap:0.35rem;background:transparent;border:2px solid rgba(15,26,36,0.2);color:#0f1a24;font-size:0.8rem;font-weight:600;padding:0.55rem 1.35rem;border-radius:99px;cursor:pointer;font-family:var(--sans);white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease,color .25s ease;}
.nav-portal-btn:hover{background:rgba(0,180,216,0.06);border-color:var(--mint);color:var(--mint);transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(0,180,216,0.45);}
@media(min-width:860px){.nav-portal-btn{display:inline-flex;}}
.back-btn{display:inline-flex;align-items:center;gap:0.35rem;background:transparent;border:1px solid rgba(15,26,36,0.18);color:#0f1a24;font-size:0.78rem;font-weight:600;padding:0.45rem 0.9rem;border-radius:99px;cursor:pointer;margin-bottom:1.75rem;transition:all 0.2s;font-family:var(--sans);}
.back-btn:hover{background:rgba(15,26,36,0.05);border-color:rgba(15,26,36,0.3);}
.stat-mini-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
@media(min-width:640px){.stat-mini-grid{grid-template-columns:repeat(6,1fr);}}

footer{background:#0b1118;border-top:1px solid var(--rule);padding:4rem 1.5rem 2rem;position:relative;z-index:1;color:var(--white);}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
@media(min-width:640px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2.5rem;}}
.footer-brand{grid-column:1/-1;}
@media(min-width:640px){.footer-brand{grid-column:auto;}}
.footer-brand p{font-size:0.8rem;color:var(--text-muted);line-height:1.7;margin-top:0.85rem;max-width:260px;}
.footer-logo{display:inline-block;}
.footer-logo-img{display:block;width:300px;max-width:90%;height:auto;filter:brightness(0) invert(1);}
.fc h5{font-family:var(--mono);font-size:0.56rem;color:rgba(255,255,255,0.4);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:0.85rem;}
.fc a{color:rgba(255,255,255,0.55);font-size:0.8rem;display:block;margin-bottom:0.45rem;cursor:pointer;transition:color 0.15s;}
.fc a:hover{color:#ffffff;}
.footer-bottom{display:flex;flex-direction:column;gap:0.85rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,0.08);}
@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.footer-copy{font-family:var(--mono);font-size:0.54rem;color:rgba(255,255,255,0.35);letter-spacing:0.08em;}
.footer-legal{display:flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.54rem;letter-spacing:0.08em;}
.footer-legal a{color:rgba(255,255,255,0.35);text-decoration:none;cursor:pointer;transition:color 0.2s;}
.footer-legal a:hover{color:rgba(255,255,255,0.7);}
.footer-legal span{color:rgba(255,255,255,0.2);}
.cert-pills{display:flex;flex-wrap:wrap;gap:0.4rem;}
.footer-brand .nav-logo{align-items:stretch;gap:6px;}
.footer-brand .nav-logo-mark{width:auto!important;height:auto!important;min-width:0!important;max-width:none!important;aspect-ratio:1/1;align-self:stretch;flex-shrink:0;margin-left:-4px;overflow:visible;display:flex;align-items:flex-start;justify-content:flex-start;}
.footer-brand .nav-logo-mark svg{width:100%!important;height:100%!important;display:block;}
.cp{font-family:var(--mono);font-size:0.54rem;color:rgba(0,180,216,0.9);border:1px solid rgba(0,180,216,0.3);padding:0.22rem 0.7rem;border-radius:99px;}

.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.vis{opacity:1;transform:none;}
.page { background: #f0f4f8; }
table, thead, tbody, tr, th, td { background: transparent; }
ul, ol, li { background: transparent; }
.hero-wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem 5rem;position:relative;z-index:2;width:100%;}
@media(min-width:640px){.hero-wrap{padding:0 2.5rem 5rem;}}

@media(max-width:480px){.nav-logo-text{font-size:1.05rem !important;line-height:1.18 !important;}.nav-logo-sub{font-size:0.6rem !important;margin-top:2px !important;}.nav-logo{align-items:stretch !important;gap:12px !important;}.nav-logo-mark{width:auto !important;height:auto !important;aspect-ratio:1/1 !important;align-self:stretch !important;border-radius:0 !important;border:none !important;background:transparent !important;min-width:70px !important;max-width:90px !important;}.nav-logo-mark svg{width:90% !important;height:90% !important;}}
@media(min-width:481px) and (max-width:860px){.nav-logo{align-items:stretch !important;}.nav-logo-mark{width:auto !important;height:auto !important;aspect-ratio:1/1 !important;align-self:stretch !important;border-radius:0 !important;border:none !important;background:transparent !important;min-width:72px !important;}.nav-logo-mark svg{width:90% !important;height:90% !important;}}


/* ============================================================
   MOBILE — comprehensive responsive rules
   All animations preserved; only layout/spacing adjusted.
   ============================================================ */

/* ── Nav drawer ── */
/* Small mono kicker at the top, in the site's label style */
.drawer-kicker{
  font-family:var(--mono);font-size:0.6rem;font-weight:500;
  letter-spacing:0.28em;text-transform:uppercase;color:var(--mint);
  padding:0 0.15rem;margin-bottom:0.35rem;
}
/* Primary links + the dropdown toggle share one elegant row style */
.nav-drawer > a,
.drawer-dropdown-btn{
  font-family:var(--sans);font-size:1.32rem;font-weight:500;letter-spacing:-0.01em;
  color:#0f1a24;background:none;border:none;cursor:pointer;
  text-decoration:none;text-align:left;width:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem 0.15rem;
  border-bottom:1px solid rgba(15,26,36,0.08);
  transition:color 0.18s ease,padding-left 0.18s ease;
}
.nav-drawer > a:hover,.nav-drawer > a:active,
.drawer-dropdown-btn:hover,.drawer-dropdown-btn.open{
  color:var(--mint);padding-left:0.55rem;
}
.drawer-dropdown{width:100%;}
.drawer-chevron{
  font-style:normal;font-size:0.7rem;line-height:1;color:rgba(15,26,36,0.4);
  transition:transform 0.25s ease,color 0.18s ease;
}
.drawer-dropdown-btn.open .drawer-chevron{transform:rotate(180deg);color:var(--mint);}
/* Sub links: indented, lighter, with a mint accent rail */
.drawer-sub{display:none;flex-direction:column;gap:0;padding:0.25rem 0 0.5rem;}
.drawer-sub.open{display:flex;}
.drawer-sub a{
  font-family:var(--sans);font-size:1.02rem !important;font-weight:400 !important;
  color:rgba(15,26,36,0.62) !important;text-decoration:none;text-align:left;
  padding:0.62rem 0.15rem 0.62rem 1.15rem !important;
  border-left:2px solid rgba(0,180,216,0.28);margin-left:0.15rem;
  transition:color 0.18s ease,border-color 0.18s ease;
}
.drawer-sub a:hover{color:var(--mint) !important;border-left-color:var(--mint);}
/* CTA: full-width mint pill, grouped just below the links */
.nav-drawer .d-cta{
  margin-top:1.75rem;background:var(--mint) !important;color:#ffffff !important;
  font-size:0.98rem !important;font-weight:600 !important;letter-spacing:0.01em;
  padding:1rem !important;border-radius:99px;border:none !important;
  text-align:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,180,216,0.28);
}
.nav-drawer .d-cta:hover{background:#0098b8 !important;color:#ffffff !important;padding-left:1rem;}

/* ── Nav: hide CTA button on mobile (it's in the drawer) ── */
@media(max-width:860px){
  .nav-cta-btn{display:none;}
}
/* ── Nav logo: compress on small screens ── */
@media(max-width:640px){
  .nav-logo-text{font-size:0.82rem !important;letter-spacing:0 !important;}
  .nav-logo-sub{display:none;}
  .nav-logo-mark{min-width:40px !important;max-width:44px !important;}
  .nav-inner{padding:0 1rem;}
}

/* ── Section vertical padding reduction on mobile ── */
@media(max-width:860px){
  .wrap{padding:3.5rem 1.25rem;}
  .cta-section{padding:3.5rem 1.25rem;}
  .challenge-inner{padding:3.5rem 1.25rem;}
  .disc{padding:3.5rem 1.25rem;}
  .stats-inner{padding:3rem 1.25rem 3.5rem;}
  .process-section{padding:3.5rem 1.25rem !important;}
}

/* ── Page hero sizing ── */
@media(max-width:640px){
  .page-hero{min-height:30vh;padding-top:70px;}
  .page-hero-inner{padding:2rem 1.25rem 2.5rem;}
  .page-hero-inner h1{font-size:clamp(1.75rem,7vw,2.3rem);}
}

/* ── Home hero ── */
@media(max-width:860px){
  .net3d-wrap{height:340px;}
  .hero-media{margin-top:1rem;}
  .hero-grid{gap:1.5rem;}
  .hero-wrap{padding:0 1.25rem 1.5rem;}
}
@media(max-width:640px){
  /* Hero height auto on small phones — let content breathe */
  .hero-wrap .hero-grid > div:first-child h1{font-size:clamp(1.9rem,8vw,2.8rem);}
}

/* ── Stats band ── */
@media(max-width:480px){
  .stat-tile{padding:1.25rem 0.9rem;}
  /* Hide vertical divider on 2nd item (right col in row 1) */
  .stat-tile:nth-child(2)::after{display:none;}
}

/* ── Disc / services tiles ── */
@media(max-width:860px){
  .disc-tile{min-height:300px;}
  .disc-img{height:120px;}
  .disc-tile h3{font-size:1.05rem;}
}
@media(max-width:620px){
  /* 1-column on small phones */
  .disc-layout{grid-template-columns:1fr !important;}
  .disc-head{grid-column:auto !important;}
}

/* ── About hero: show animated diagram on mobile (near full width) ── */
@media(max-width:859px){
  .about-hero{min-height:auto;padding-bottom:2rem;}
  .about-hero-vis{display:flex;align-items:center;justify-content:center;padding:0.5rem 0 2rem;}
  .about-hero-vis svg{width:100%;max-width:520px;}
}

/* ── Value cards: stack on very small phones ── */
@media(max-width:480px){
  .val-grid{grid-template-columns:1fr;}
}

/* ── Accreditations ── */
@media(max-width:640px){
  .acc-row{padding:1.25rem 1rem;gap:1rem;grid-template-columns:64px 1fr;}
  .acc-badge{width:64px;height:64px;}
  .acc-badge svg{width:64px;height:64px;}
}

/* ── Num list / process steps ── */
@media(max-width:480px){
  .num-item{gap:1rem;}
  .num-item-n{min-width:2.2rem;}
}


/* ── Team grid ── */
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:360px){
  .team-grid{grid-template-columns:1fr;}
}

/* ── CTA buttons: stack on very small screens ── */
@media(max-width:380px){
  .btns{flex-direction:column;}
  .btn-pill,.btn-outline-pill{width:100%;justify-content:center;}
}

/* ── Footer ── */
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .footer-brand{grid-column:auto;}
  footer{padding:3rem 1.25rem 1.5rem;}
  .footer-bottom{flex-direction:column;gap:0.75rem;}
}

/* ── Pkg grid: ensure single col on mobile ── */
@media(max-width:480px){
  .pkg-grid{grid-template-columns:1fr !important;}
}

/* ── Bot tabs: wrap smaller ── */
@media(max-width:480px){
  .bot-tab{font-size:0.58rem;padding:0.45rem 0.75rem;}
}

/* ── Glass grid: single col on very small ── */
@media(max-width:360px){
  .glass-grid{grid-template-columns:1fr;}
}

/* ── Table: ensure horizontal scroll on mobile ── */
@media(max-width:640px){
  .tbl-wrap{border-radius:var(--radius-sm);border:1px solid var(--rule);}
}

/* ── Spectrum: on mobile, drop the sticky scroll effect — cards just stack ── */
@media(max-width:880px){
  .spectrum{height:auto;}
  .spectrum-sticky{position:static;height:auto;display:block;overflow:visible;}
  .spectrum-inner{display:block;position:static;width:auto;max-width:760px;height:auto;margin:0 auto;padding:0 1.5rem;}
  .spectrum-text{display:block !important;max-width:none;margin-bottom:1.5rem;}
  .spectrum-meta,.spectrum-hint{display:none !important;}
  .spectrum-stage{position:static;height:auto;}
  .spectrum-cards{position:static;display:flex;flex-direction:column;gap:1rem;}
  .sp-card{position:static;left:auto;top:auto;width:100%;height:auto;min-height:0;transform:none !important;opacity:1 !important;z-index:auto !important;}
  .sp-img{position:static;transform:none;width:120px;height:120px;margin:1.25rem 0 0;}
  .sp-ghost{font-size:7rem;bottom:-1rem;}
  .sp-card.has-img h3,.sp-card.has-img p{max-width:none;}
}

/* ── Challenge section ── */
@media(max-width:480px){
  .cs-num{font-size:clamp(2rem,10vw,3.5rem);}
}

/* ── Intake form grid ── */
@media(max-width:620px){
  .intake-grid{grid-template-columns:1fr;}
}

/* ── USP bar: label on top, centered above pills on mobile ── */
@media(max-width:640px){
  .usp-bar-inner{gap:0.5rem;padding:1.5rem 1.25rem;justify-content:center;}
  .usp-bar-lbl{flex-basis:100%;justify-content:center;margin-right:0;margin-bottom:0.4rem;}
}

/* ── Stat mini grid (sub-pages) ── */
@media(max-width:480px){
  .stat-mini-grid{grid-template-columns:repeat(3,1fr);}
}

/* ── Chat float: reposition on small screens ── */
@media(max-width:480px){
  .chat-float{bottom:1rem;right:1rem;}
  .chat-popup{width:calc(100vw - 2rem);max-width:300px;}
}

/* ── Two col: tighter gap on mobile ── */
@media(max-width:860px){
  .two-col{gap:2rem;}
}

/* ── TAT panel: not sticky on mobile ── */
@media(max-width:860px){
  .tat-panel{position:static;}
}

/* ── Mth grid / method cards ── */
@media(max-width:480px){
  .mth-card{padding:1.5rem 1.25rem;}
}

/* ── TS cards grid (non-carousel service pages) ── */
@media(max-width:480px){
  .ts-grid{grid-template-columns:1fr;}
}

/* ── Ticker: keep animation, just scale text ── */
@media(max-width:480px){
  .ticker{min-height:44px;}
  .ticker-track{gap:1.5rem;}
  .ticker-track span{font-size:0.56rem;letter-spacing:0.08em;}
}

/* ── Full-lockup logo image in the navbar ── */
.nav-logo-img{height:70px;width:auto;display:block;}
@media(max-width:640px){.nav-logo-img{height:42px;}}

/* ── Split page hero: text left, image right fading out of #0f1a24 ── */
.hero-split{background:#0f1a24;}
.hero-split-img{position:absolute;top:0;right:0;height:100%;width:min(46%,680px);object-fit:cover;object-position:center;}
.hero-split-fog{position:absolute;top:0;right:0;height:100%;width:min(46%,680px);background:linear-gradient(90deg,#0f1a24 0%,rgba(15,26,36,0.62) 32%,rgba(15,26,36,0.16) 66%,rgba(15,26,36,0) 100%);}
.hero-split h1{color:#ffffff;}
.hero-split .body-text{color:rgba(255,255,255,0.78);}
.hero-split h1{max-width:820px;}
.hero-split .body-text{max-width:600px;}
.hero-split .back-btn{border-color:rgba(255,255,255,0.28);color:#ffffff;}
.hero-split .back-btn:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.45);}
.hero-split .btn-outline-pill{border-color:rgba(255,255,255,0.35);color:#ffffff;}
.hero-split .btn-outline-pill:hover{background:#ffffff;color:#0f1a24;border-color:#ffffff;}
@media(max-width:859px){
  .hero-split-img{width:100%;}
  .hero-split-fog{width:100%;background:linear-gradient(90deg,rgba(15,26,36,0.94) 0%,rgba(15,26,36,0.86) 50%,rgba(15,26,36,0.6) 100%);}
  .hero-split h1,.hero-split .body-text{max-width:100%;}
}
