/* ==========================================================================
   ShreeBlock Tech — design tokens
   Palette:  deep space navy ground, a signal-teal accent that reads as
   "verified", indigo/violet as secondary blockchain-node colours, and a
   rare amber used only for emphasis. Type: Space Grotesk for display,
   Inter for body copy, IBM Plex Mono for labels/hashes — a nod to the
   ledger/hash aesthetic that is native to this subject.
   ========================================================================== */
:root{
  --bg:#05070d;
  --bg-soft:#080b14;
  --panel:rgba(15,21,36,.66);
  --panel-solid:#0c111d;
  --line:rgba(226,235,250,.09);
  --line-strong:rgba(226,235,250,.16);

  --text:#eef2fa;
  --text-soft:#c3cde0;
  --muted:#8b96ac;
  --muted-dim:#5d6980;

  --signal:#17e8b0;
  --signal-dim:rgba(23,232,176,.14);
  --indigo:#6673f4;
  --violet:#9b8cfb;
  --amber:#ffb454;

  --grad-signal:linear-gradient(110deg,#17e8b0,#4f9dff 60%,#9b8cfb);
  --grad-text:linear-gradient(90deg,#17e8b0,#7fb4ff 55%,#9b8cfb);

  --shadow-sm:0 6px 18px rgba(0,0,0,.22);
  --shadow-md:0 18px 45px rgba(0,0,0,.30);
  --shadow-glow:0 0 0 1px rgba(23,232,176,.14),0 20px 50px rgba(23,232,176,.10);

  --font-display:"Space Grotesk",sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;

  --max:1240px;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --dur:.35s;
}

[data-theme="light"]{
  --bg:#f6f7fb;
  --bg-soft:#eef0f6;
  --panel:rgba(255,255,255,.72);
  --panel-solid:#ffffff;
  --line:rgba(15,23,42,.09);
  --line-strong:rgba(15,23,42,.16);

  --text:#0b1220;
  --text-soft:#2c3548;
  --muted:#5c6579;
  --muted-dim:#8891a3;

  --signal:#0aa981;
  --signal-dim:rgba(10,169,129,.12);
  --indigo:#4453d6;
  --violet:#7b5ce0;
  --amber:#c97a1a;

  --shadow-sm:0 6px 18px rgba(15,23,42,.06);
  --shadow-md:0 18px 40px rgba(15,23,42,.09);
  --shadow-glow:0 0 0 1px rgba(10,169,129,.14),0 20px 45px rgba(10,169,129,.08);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:60px 60px;mask-image:linear-gradient(to bottom,#000,transparent 85%);z-index:-2;
}
[data-theme="light"] body::before{opacity:.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;font-weight:600}

.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}

.skip-link{
  position:fixed;top:-60px;left:16px;z-index:100;background:var(--signal);color:#031310;
  padding:12px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;transition:top .25s var(--ease);
}
.skip-link:focus{top:16px}

:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}

/* ==========================================================================
   Ambient background glows
   ========================================================================== */
.page-glow{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;z-index:-1}
.glow-one{width:420px;height:420px;background:rgba(23,232,176,.08);top:8%;left:-220px}
.glow-two{width:480px;height:480px;background:rgba(102,115,244,.09);right:-260px;top:38%}

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:transparent;pointer-events:none}
.scroll-progress span{display:block;height:100%;width:0%;background:var(--grad-signal);transition:width .08s linear}

/* ==========================================================================
   Header / Nav
   ========================================================================== */
.header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(5,8,20,.55);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:background var(--dur),border-color var(--dur)}
[data-theme="light"] .header{background:rgba(246,247,251,.72)}
.header.scrolled{border-color:var(--line);background:rgba(5,8,20,.86)}
[data-theme="light"] .header.scrolled{background:rgba(246,247,251,.9)}

.nav{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em}
.brand strong{color:var(--signal)}
.brand-mark{position:relative;width:30px;height:30px;display:inline-block;flex:none}
.brand-mark span,.brand-mark i,.brand-mark b{position:absolute;width:13px;height:13px;border:2px solid var(--signal);transform:rotate(45deg);border-radius:3px}
.brand-mark span{left:0;top:8px}
.brand-mark i{right:0;top:0;border-color:var(--indigo)}
.brand-mark b{right:1px;bottom:0;border-color:var(--violet)}

.nav-links{display:flex;align-items:center;gap:26px;font-size:13.5px;color:var(--text-soft)}
.nav-links>a:not(.nav-cta){position:relative;padding:4px 2px;transition:color var(--dur)}
.nav-links>a:not(.nav-cta):hover,.nav-links>a.active{color:var(--text)}
.nav-links>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--signal);transition:right var(--dur) var(--ease)}
.nav-links>a:not(.nav-cta):hover::after,.nav-links>a.active::after{right:0}

.nav-cta{padding:11px 17px;border:1px solid rgba(23,232,176,.28);border-radius:9px;color:var(--text);background:var(--signal-dim);transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.nav-cta span{margin-left:7px;color:var(--signal)}
.nav-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}

.theme-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);transition:border-color var(--dur),color var(--dur),transform var(--dur)}
.theme-toggle:hover{color:var(--signal);border-color:rgba(23,232,176,.4);transform:rotate(12deg)}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.icon-moon{display:none}
[data-theme="light"] .icon-sun{display:none}
[data-theme="light"] .icon-moon{display:block}

.menu-toggle{display:none;background:none;border:0;width:34px;height:30px;position:relative;z-index:2}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:6px 0;border-radius:2px;transition:transform .3s var(--ease),opacity .3s var(--ease)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{min-height:780px;padding-top:150px;display:grid;grid-template-columns:1.02fr .98fr;gap:30px;align-items:center}
.hero-copy{padding-bottom:45px}
.eyebrow,.section-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;font-weight:500;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);border-radius:30px;background:var(--panel)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 14px var(--signal);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.7)}}

h1 span,h2 span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:clamp(42px,6vw,78px);line-height:1.04;max-width:760px;margin:22px 0}
.hero-text{font-size:17px;color:var(--muted);max-width:640px;line-height:1.8}
.hero-actions{display:flex;gap:12px;margin:32px 0;flex-wrap:wrap}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:9px;font-size:13px;font-weight:700;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);isolation:isolate}
.btn-primary{color:#04140f;background:var(--grad-signal);box-shadow:0 12px 32px rgba(23,232,176,.16)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(23,232,176,.26)}
.btn-ghost{border:1px solid var(--line);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:rgba(23,232,176,.4);background:var(--signal-dim)}
.btn:active{transform:translateY(0) scale(.98)}
/* ripple */
.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:ripple .6s ease-out forwards;pointer-events:none;z-index:-1}
.btn-ghost .ripple{background:rgba(23,232,176,.35)}
@keyframes ripple{to{transform:scale(2.6);opacity:0}}

.hero-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted-dim);font-size:11px}
.hero-meta i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--indigo);margin-right:7px}

/* Hero visual / network graphic */
.hero-visual{height:560px;position:relative;display:grid;place-items:center}
.network{width:min(100%,560px);aspect-ratio:1;position:relative}
.orbit{position:absolute;border:1px solid rgba(102,115,244,.18);border-radius:50%;inset:13% 8%;transform:rotate(-22deg)}
.orbit-b{inset:8% 18%;transform:rotate(55deg)}
.orbit-c{inset:18% 0;transform:rotate(82deg);border-color:rgba(155,140,251,.16)}
.core{position:absolute;width:170px;height:170px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(23,232,176,.16),rgba(5,8,20,.94) 66%);border:1px solid rgba(23,232,176,.32);box-shadow:0 0 70px rgba(23,232,176,.14)}
.core-ring{position:absolute;inset:-13px;border:1px dashed rgba(23,232,176,.3);border-radius:50%;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.core-logo{font-family:var(--font-display);font-weight:700;font-size:38px;color:var(--text)}
.core-logo span{color:var(--signal)}
.core small{position:absolute;bottom:28px;font-family:var(--font-mono);font-size:7px;letter-spacing:.2em;color:var(--muted-dim)}
.node{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--signal);box-shadow:0 0 20px rgba(23,232,176,.8);z-index:2}
.n1{left:14%;top:32%}.n2{right:13%;top:23%;background:var(--indigo)}.n3{right:7%;top:66%;background:var(--violet)}
.n4{left:24%;bottom:12%;background:var(--indigo)}.n5{left:4%;top:67%;background:var(--signal)}.n6{right:35%;bottom:4%;background:var(--violet)}
.line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(23,232,176,.5),transparent);transform-origin:left center;z-index:1}
.l1{width:230px;left:16%;top:34%;transform:rotate(8deg)}.l2{width:210px;left:51%;top:50%;transform:rotate(-28deg)}
.l3{width:260px;left:25%;top:70%;transform:rotate(-30deg)}.l4{width:190px;left:50%;top:51%;transform:rotate(38deg)}
.l5{width:170px;left:25%;top:50%;transform:rotate(78deg)}.l6{width:210px;left:49%;top:51%;transform:rotate(118deg)}

.float-card{position:absolute;padding:12px 15px;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(12px);border-radius:9px;box-shadow:var(--shadow-sm)}
.float-card b{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--signal)}
.float-card span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.card-top{right:0;top:19%}
.card-bottom{left:0;bottom:20%}

/* Ticker */
.ticker{border-block:1px solid var(--line);overflow:hidden;background:var(--panel)}
.ticker-track{width:max-content;display:flex;gap:30px;align-items:center;padding:18px 0;animation:ticker 30s linear infinite;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;font-weight:500}
@keyframes ticker{to{transform:translateX(-50%)}}
.ticker b{color:var(--signal);font-size:9px}
.ticker-track:hover{animation-play-state:paused}

/* ==========================================================================
   Sections (shared)
   ========================================================================== */
.section{padding:100px 0}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:55px}
.section-heading h2,.vision-copy h2,.about-panel h2,.cta h2,.faq h2{font-size:clamp(36px,4.5vw,58px);line-height:1.08;margin-top:16px}
.section-heading>p{color:var(--muted);font-size:15px;line-height:1.8;max-width:470px}
.centered{display:block;text-align:center;max-width:720px;margin:0 auto 60px}
.centered p{margin:22px auto 0}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{min-height:320px;border:1px solid var(--line);background:linear-gradient(150deg,rgba(20,29,48,.55),rgba(9,13,25,.7));border-radius:var(--radius-md);padding:28px;position:relative;overflow:hidden;transition:transform var(--dur) var(--ease),border-color var(--dur),box-shadow var(--dur)}
[data-theme="light"] .service-card{background:linear-gradient(150deg,#ffffff,#f3f5fa)}
.service-card::before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(23,232,176,.07);filter:blur(30px);right:-80px;top:-80px}
.service-card:hover{transform:translateY(-7px);border-color:rgba(23,232,176,.32);box-shadow:var(--shadow-md)}
.service-card.featured{background:linear-gradient(150deg,rgba(10,58,52,.6),rgba(9,17,36,.78));border-color:rgba(23,232,176,.24)}
[data-theme="light"] .service-card.featured{background:linear-gradient(150deg,#e8fbf5,#ffffff)}
.service-icon{font-size:28px;color:var(--signal);height:52px}
.service-no{position:absolute;right:26px;top:28px;font-family:var(--font-mono);font-size:10px;color:var(--muted-dim);letter-spacing:.06em}
.service-card h3{font-size:22px;margin:12px 0}
.service-card p{font-size:13.5px;color:var(--muted);line-height:1.75}
.service-card a{position:absolute;bottom:27px;font-size:11px;font-weight:700;color:var(--text-soft);transition:gap var(--dur)}
.service-card a span{color:var(--signal);margin-left:6px;transition:transform var(--dur) var(--ease);display:inline-block}
.service-card:hover a span{transform:translate(3px,-3px)}
.advisory{grid-column:span 3;min-height:220px}

/* Vision */
.vision{background:linear-gradient(180deg,transparent,rgba(15,29,52,.2),transparent)}
[data-theme="light"] .vision{background:linear-gradient(180deg,transparent,rgba(15,29,52,.04),transparent)}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.vision-art{height:520px;position:relative;display:grid;place-items:center}
.hex{position:absolute;width:330px;height:380px;border:1px solid rgba(102,115,244,.16);clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);transform:rotate(30deg)}
.hex-two{transform:rotate(90deg) scale(.75);border-color:rgba(155,140,251,.2)}
.hex-three{transform:rotate(0deg) scale(.52);border-color:rgba(23,232,176,.24)}
.vision-center{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,rgba(23,232,176,.14),rgba(4,9,20,.95));border:1px solid rgba(23,232,176,.3);box-shadow:0 0 80px rgba(23,232,176,.12)}
.vision-center span{font:700 42px var(--font-display);color:var(--signal)}
.vision-center small{font-family:var(--font-mono);font-size:8px;letter-spacing:.2em;color:var(--muted-dim)}
.vision-copy>p{color:var(--muted);max-width:570px;margin-top:25px;line-height:1.85}
.vision-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px}
.vision-points div{border-top:1px solid var(--line);padding-top:13px}
.vision-points strong{display:block;font-family:var(--font-mono);color:var(--signal);font-size:10px;letter-spacing:.06em}
.vision-points span{display:block;color:var(--text-soft);font-size:12px;margin-top:5px}

/* Approach steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.step{min-height:300px;padding:28px;border-right:1px solid var(--line);position:relative;background:var(--panel);transition:background var(--dur)}
.step:hover{background:rgba(23,232,176,.05)}
.step:last-child{border-right:0}
.step>span{font-family:var(--font-mono);font-size:10px;color:var(--muted-dim)}
.step-icon{font-size:26px;color:var(--signal);margin:44px 0 16px}
.step h3{font-size:22px}
.step p{color:var(--muted);font-size:13px;line-height:1.75;margin-top:10px}

/* About */
.about-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;padding:60px;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 0 0,rgba(102,115,244,.13),transparent 45%),var(--panel)}
.about-right>p{font-size:16px;color:var(--text-soft);line-height:1.85;margin-top:18px}
.stats{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:1px solid var(--line)}
.stats div{padding:16px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.stats strong{color:var(--signal);font-size:13px}
.stats span{font-size:12.5px;color:var(--text-soft)}

/* FAQ / accordion */
.accordion{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--panel)}
.accordion-item{border-bottom:1px solid var(--line)}
.accordion-item:last-child{border-bottom:0}
.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;text-align:left;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text);transition:color var(--dur)}
.accordion-trigger:hover{color:var(--signal)}
.accordion-icon{position:relative;width:16px;height:16px;flex:none}
.accordion-icon::before,.accordion-icon::after{content:"";position:absolute;background:var(--signal);border-radius:2px;transition:transform var(--dur) var(--ease)}
.accordion-icon::before{width:16px;height:2px;top:7px;left:0}
.accordion-icon::after{width:2px;height:16px;top:0;left:7px}
.accordion-trigger[aria-expanded="true"] .accordion-icon::after{transform:rotate(90deg) translate(0,0);opacity:0}
.accordion-panel{padding:0 26px 24px;color:var(--muted);font-size:14px;line-height:1.8;max-width:640px}

/* Contact form / CTA */
.cta-box{min-height:auto;border:1px solid rgba(23,232,176,.22);border-radius:var(--radius-lg);position:relative;overflow:hidden;background:radial-gradient(circle at 80% 30%,rgba(102,115,244,.16),transparent 35%),linear-gradient(120deg,rgba(8,30,26,.85),rgba(8,13,28,.92));padding:60px}
[data-theme="light"] .cta-box{background:radial-gradient(circle at 80% 30%,rgba(102,115,244,.1),transparent 35%),linear-gradient(120deg,#eefaf5,#ffffff)}
.cta-content{position:relative;z-index:2;max-width:640px}
.cta h2{margin:16px 0}
.cta p{color:var(--muted);max-width:520px;margin-bottom:30px}
.cta-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(23,232,176,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,232,176,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.cta-orb{position:absolute;right:6%;top:35%;width:220px;height:220px;border-radius:50%;border:1px solid rgba(23,232,176,.2);box-shadow:0 0 90px rgba(23,232,176,.14)}
.cta-orb::before,.cta-orb::after{content:"";position:absolute;inset:20px;border:1px solid rgba(155,140,251,.22);border-radius:50%}
.cta-orb::after{inset:55px;border-color:rgba(23,232,176,.26)}
.cta-orb div{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--signal);box-shadow:0 0 25px var(--signal);left:50%;top:0;animation:spin 12s linear infinite;transform-origin:0 110px}

.contact-form{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;max-width:560px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:12px;font-weight:600;color:var(--text-soft)}
.field input,.field textarea{
  background:rgba(255,255,255,.03);border:1px solid var(--line-strong);border-radius:9px;padding:12px 14px;color:var(--text);
  font-size:14px;resize:vertical;transition:border-color var(--dur),box-shadow var(--dur);
}
[data-theme="light"] .field input,[data-theme="light"] .field textarea{background:#fff}
.field input:focus,.field textarea:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-dim);outline:none}
.field input.invalid,.field textarea.invalid{border-color:#ff6b6b}
.field-error{font-size:11.5px;color:#ff8a8a;min-height:14px}

/* Footer */
.footer{border-top:1px solid var(--line);padding-top:55px;background:var(--bg-soft)}
.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:55px;flex-wrap:wrap}
.footer-brand p{color:var(--muted);font-size:12px;max-width:330px;margin-top:16px}
.footer-links{display:flex;gap:80px;flex-wrap:wrap}
.footer-links div{display:flex;flex-direction:column;gap:10px}
.footer-links span{font-family:var(--font-mono);font-size:10px;color:var(--muted-dim);letter-spacing:.1em;margin-bottom:4px}
.footer-links a{font-size:12.5px;color:var(--text-soft);transition:color var(--dur)}
.footer-links a:hover{color:var(--signal)}
.footer-bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;color:var(--muted-dim);font-size:10.5px;letter-spacing:.02em;flex-wrap:wrap;gap:8px}
.footer-hash{font-family:var(--font-mono)}

/* Region select — added styles only */
.field select#cf-region {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  padding: 12px 14px;
  color: var(--text);
  font-size: 14px;
  font-family: inherit;
  height: 43px;
  cursor: pointer;
  outline: none;
  transition: border-color var(--dur), box-shadow var(--dur);

  /* Remove browser default arrow */
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;

  /* Custom arrow */
  background-image: linear-gradient(45deg, transparent 50%, var(--text-soft) 50%),
                    linear-gradient(135deg, var(--text-soft) 50%, transparent 50%);
  background-position:
    calc(100% - 17px) 18px,
    calc(100% - 12px) 18px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

/* Light theme */
[data-theme="light"] .field select#cf-region {
  background-color: #fff;
  color: var(--text);
}

/* Focus */
.field select#cf-region:focus {
  border-color: var(--signal);
  box-shadow: 0 0 0 3px var(--signal-dim);
}

/* Dropdown options */
.field select#cf-region option {
  background: #081d1a;
  color: #fff;
}

[data-theme="light"] .field select#cf-region option {
  background: #fff;
  color: #222;
}

/* Invalid state */
.field select#cf-region.invalid {
  border-color: #ff6b6b;
}

/* Back to top */
.back-top{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel-solid);color:var(--text);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--dur),transform var(--dur),border-color var(--dur),color var(--dur);z-index:15}
.back-top.show{opacity:1;pointer-events:auto;transform:none}
.back-top:hover{border-color:var(--signal);color:var(--signal)}

/* Toasts */
.toast-region{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.toast{pointer-events:auto;min-width:240px;max-width:340px;padding:14px 16px;border-radius:10px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);font-size:13px;color:var(--text);display:flex;align-items:flex-start;gap:10px;animation:toast-in .3s var(--ease)}
.toast.success{border-left:3px solid var(--signal)}
.toast.error{border-left:3px solid #ff6b6b}
.toast.leaving{animation:toast-out .25s var(--ease) forwards}
@keyframes toast-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes toast-out{to{opacity:0;transform:translateY(6px) scale(.98)}}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;padding-top:125px}
  .hero-copy{text-align:center}
  .hero-text{margin:auto}
  .hero-actions,.hero-meta{justify-content:center}
  .hero-visual{height:480px}
  .section-heading{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr 1fr}
  .advisory{grid-column:span 2}
  .vision-grid{gap:45px}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .about-panel{grid-template-columns:1fr}
}
@media(max-width:720px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .nav{height:68px}
  .menu-toggle{display:block}
  .nav-links{
    position:absolute;left:15px;right:15px;top:73px;display:flex;flex-direction:column;align-items:stretch;gap:2px;
    padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);backdrop-filter:blur(20px);
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none}
  .nav-links>a{padding:13px}
  .nav-links>a:not(.nav-cta)::after{display:none}
  .theme-toggle{align-self:flex-start;margin:4px 13px}
  .nav-cta{text-align:center;justify-content:center}
  .hero{min-height:auto;padding-top:120px}
  .hero-visual{height:360px}
  .network{transform:scale(.72)}
  h1{font-size:42px}
  .hero-text{font-size:14px}
  .hero-meta{display:none}
  .hero-actions{flex-direction:column}
  .btn{justify-content:center}
  .section{padding:80px 0}
  .section-heading h2,.vision-copy h2,.about-panel h2,.cta h2,.faq h2{font-size:34px}
  .services-grid{grid-template-columns:1fr}
  .advisory{grid-column:auto}
  .service-card{min-height:auto}
  .vision-grid{grid-template-columns:1fr}
  .vision-art{height:320px}
  .hex{width:240px;height:280px}
  .vision-points{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step,.step:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:0}
  .about-panel{padding:32px 22px}
  .stats{grid-template-columns:1fr}
  .cta-box{padding:36px 22px}
  .cta-orb{opacity:.3;right:-70px}
  .form-row{grid-template-columns:1fr}
  .footer-top{flex-direction:column}
  .footer-links{gap:45px}
  .footer-bottom{flex-direction:column;gap:6px}
  .float-card{display:none}
}
@media(min-width:1600px){
  .container{max-width:1400px}
  .hero{min-height:880px}
  h1{font-size:86px}
}
