/* =========================================================
   SlashRise — Corporate Site
   Theme system: light sky-blue × white, Japanese corporate
   Presets driven by [data-preset] on :root
   ========================================================= */

/* ---------- Design tokens (default = "standard") ---------- */
:root{
  --blue-700:#0077b3;
  --blue-600:#0090d4;
  --blue-500:#00a0e9;
  --blue-400:#37b4ef;
  --blue-300:#7ed0f0;
  --blue-200:#b6e4f7;
  --blue-100:#dcf1fb;
  --blue-50:#f0f9fe;

  --navy:#0b3a5c;
  --navy-700:#103a55;

  --ink:#163348;
  --ink-soft:#5b7286;
  --line:#e2edf4;
  --surface:#ffffff;
  --bg:#ffffff;
  --bg-tint:#f1f9fe;

  --primary:var(--blue-500);
  --primary-d:var(--blue-700);
  --primary-l:var(--blue-100);
  --on-primary:#ffffff;

  --accent:var(--navy);
  --hero-ink:var(--navy);
  --hero-bg:radial-gradient(1100px 620px at 78% -8%, #d9f1fc 0%, rgba(217,241,252,0) 60%),
            radial-gradient(900px 600px at 8% 110%, #eaf7fe 0%, rgba(234,247,254,0) 55%),
            linear-gradient(180deg,#f4fbff 0%, #ffffff 78%);
  --section-tint:#f1f9fe;
  --band:linear-gradient(120deg,var(--blue-500),var(--blue-700));

  --radius:18px;
  --radius-sm:12px;
  --radius-pill:999px;
  --shadow:0 22px 48px -26px rgba(11,58,92,.34);
  --shadow-sm:0 10px 26px -16px rgba(11,58,92,.30);
  --shadow-card:0 18px 40px -24px rgba(11,58,92,.28);
  --line-w:1px;

  --font-jp:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
  --font-en:"Outfit",var(--font-jp);
  --h-scale:1;
  --maxw:1160px;

  --divider:0px; /* diagonal section divider height; >0 in dynamic */
}

/* ---------- Presets ---------- */
:root[data-preset="navy"]{
  --primary:#0c5e93;
  --primary-d:#083f64;
  --primary-l:#dcebf5;
  --accent:#00a0e9;
  --ink:#0e2c41;
  --hero-ink:#0a3552;
  --hero-bg:radial-gradient(1200px 700px at 80% -10%, #cfe6f4 0%, rgba(207,230,244,0) 58%),
            linear-gradient(180deg,#eef6fb 0%, #ffffff 80%);
  --section-tint:#eef5fa;
  --band:linear-gradient(120deg,#0c5e93,#062f4d);
  --shadow:0 22px 48px -26px rgba(8,40,62,.40);
}
:root[data-preset="gradient"]{
  --primary:#00a6e6;
  --primary-d:#0a7fc4;
  --primary-l:#def3fd;
  --hero-ink:#0b3a5c;
  --hero-bg:linear-gradient(135deg,#e4f6ff 0%, #eafaff 40%, #ffffff 100%),
            radial-gradient(700px 480px at 85% 0%, rgba(0,166,230,.18), rgba(0,166,230,0) 60%);
  --section-tint:#eef9ff;
  --band:linear-gradient(120deg,#22b8f0,#0a7fc4 55%,#0b5fa8);
  --radius:22px;
  --radius-sm:16px;
  --shadow:0 26px 54px -24px rgba(11,95,168,.40);
}
:root[data-preset="minimal"]{
  --primary:#1a8fd6;
  --primary-d:#11679c;
  --primary-l:#eaf4fb;
  --accent:#13405f;
  --ink:#1a3343;
  --ink-soft:#6a7e8d;
  --line:#e8eef3;
  --hero-ink:#13344a;
  --hero-bg:linear-gradient(180deg,#f7fbfd 0%, #ffffff 70%);
  --section-tint:#f7fafc;
  --band:linear-gradient(120deg,#1a8fd6,#11679c);
  --radius:8px;
  --radius-sm:6px;
  --shadow:0 14px 36px -26px rgba(19,52,74,.26);
  --shadow-sm:0 8px 22px -18px rgba(19,52,74,.22);
  --shadow-card:0 1px 0 rgba(0,0,0,0);
  --line-w:1px;
}
:root[data-preset="dynamic"]{
  --primary:#00a0e9;
  --primary-d:#0073b0;
  --primary-l:#d6f0fc;
  --accent:#0b3a5c;
  --ink:#0d2c40;
  --hero-ink:#0b3a5c;
  --hero-bg:radial-gradient(900px 560px at 88% -6%, #c9ecfb 0%, rgba(201,236,251,0) 58%),
            linear-gradient(180deg,#eef8ff 0%,#ffffff 82%);
  --section-tint:#eef8ff;
  --band:linear-gradient(115deg,#00a0e9,#0062a8);
  --radius:14px;
  --h-scale:1.14;
  --divider:46px;
  --shadow:0 28px 56px -26px rgba(11,58,92,.42);
}

/* ---------- Reset / base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-jp);
  color:var(--ink);
  background:var(--bg);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"palt" 1;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--blue-200);color:var(--navy);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.en{font-family:var(--font-en);font-weight:600;letter-spacing:.02em;}

/* ---------- Section scaffolding ---------- */
.section{position:relative;padding:clamp(72px,9vw,128px) 0;}
.section--tint{background:var(--section-tint);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--primary);
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--primary);border-radius:2px;}
.sec-head{margin:0 0 clamp(36px,5vw,64px);}
.sec-title{
  font-family:var(--font-en);
  font-weight:800;
  font-size:calc(clamp(30px,4.4vw,50px) * var(--h-scale));
  line-height:1.1;letter-spacing:-.01em;color:var(--ink);
  margin:16px 0 0;
}
.sec-title .jp{
  display:block;font-family:var(--font-jp);font-weight:700;
  font-size:calc(clamp(15px,1.7vw,19px) * var(--h-scale));
  letter-spacing:.04em;color:var(--ink-soft);margin-top:14px;line-height:1.7;
}
.lead{max-width:760px;color:var(--ink-soft);font-size:clamp(15px,1.5vw,17px);}

/* bilingual: English lead above Japanese body */
.en-desc{
  font-family:var(--font-en);font-weight:500;color:var(--primary-d);
  font-size:.92em;line-height:1.7;letter-spacing:.005em;margin:0 0 .85em;
}
.about-copy .en-desc{font-size:15.5px;color:var(--primary-d);margin:22px 0 0;}
.about-copy .en-desc + p{margin-top:14px;color:var(--ink-soft);}
.cc .en-desc, .biz .en-desc{font-size:13px;color:var(--primary-d);margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--line);}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, box-shadow .3s, background .3s;
}
.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -22px rgba(11,58,92,.5);}
.nav{display:flex;align-items:center;gap:28px;height:74px;}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto;}
.brand img{height:34px;width:auto;}
.brand-name{display:flex;flex-direction:column;line-height:1.15;}
.brand-name b{font-family:var(--font-en);font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);}
.brand-name small{font-size:10.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.04em;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{
  font-size:14px;font-weight:600;color:var(--ink);position:relative;padding:6px 0;
  transition:color .2s;
}
.nav-links a .en{display:block;font-size:11px;color:var(--primary);font-weight:700;letter-spacing:.08em;margin-bottom:1px;}
.nav-links a:hover{color:var(--primary);}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--primary);transition:right .25s;border-radius:2px;}
.nav-links a:hover::after{right:0;}
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:none;
  font-family:var(--font-jp);font-weight:700;font-size:15px;
  padding:14px 26px;border-radius:var(--radius-pill);transition:transform .18s, box-shadow .25s, background .25s;
}
.btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:0 14px 26px -12px color-mix(in srgb,var(--primary) 70%, transparent);}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 20px 32px -12px color-mix(in srgb,var(--primary) 75%, transparent);}
.btn--ghost{background:#fff;color:var(--primary);border:1.5px solid var(--primary);}
.btn--ghost:hover{background:var(--primary-l);}
.btn--white{background:#fff;color:var(--primary-d);}
.btn--white:hover{transform:translateY(-2px);}
.btn .arr{transition:transform .2s;}
.btn:hover .arr{transform:translateX(4px);}
.nav .btn{padding:11px 22px;font-size:14px;}
.nav-toggle{display:none;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--hero-bg);padding:clamp(120px,16vw,180px) 0 clamp(70px,9vw,120px);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  padding:8px 16px 8px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;color:var(--primary-d);
  box-shadow:var(--shadow-sm);margin-bottom:26px;}
.hero-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 22%, transparent);}
.hero h1{
  margin:0;font-family:var(--font-en);font-weight:800;color:var(--hero-ink);
  font-size:calc(clamp(40px,6.6vw,76px) * var(--h-scale));line-height:1.02;letter-spacing:-.02em;
}
.hero h1 .accent{color:var(--primary);}
.hero .sub{
  font-family:var(--font-jp);font-weight:700;color:var(--hero-ink);
  font-size:calc(clamp(19px,2.5vw,28px) * var(--h-scale));line-height:1.55;margin:22px 0 0;letter-spacing:.02em;
}
.hero p.desc{color:var(--ink-soft);font-size:clamp(15px,1.5vw,17px);max-width:480px;margin:20px 0 34px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

/* hero visual */
.hero-visual{position:relative;height:clamp(360px,42vw,500px);}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(var(--blue-300) 1.4px,transparent 1.4px);background-size:22px 22px;opacity:.5;-webkit-mask-image:radial-gradient(80% 80% at 60% 40%,#000,transparent 75%);mask-image:radial-gradient(80% 80% at 60% 40%,#000,transparent 75%);}
.blob{position:absolute;border-radius:50%;filter:blur(2px);}
.blob.b1{width:210px;height:210px;right:-3%;top:-6%;background:radial-gradient(circle at 30% 30%,#cdeffb,#9bdcf3);opacity:.55;}
.blob.b2{width:120px;height:120px;left:2%;bottom:6%;background:radial-gradient(circle at 30% 30%,#e6f7ff,#aee0f7);opacity:.8;}

.bars{position:absolute;left:46%;top:56%;transform:translate(-50%,-50%);display:flex;align-items:flex-end;gap:16px;height:248px;z-index:2;}
.bars .bar{width:42px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,var(--blue-300),var(--blue-500));box-shadow:var(--shadow-card);transform-origin:bottom;}
.bars .bar.anim{animation:grow 1s cubic-bezier(.2,.8,.2,1) backwards;}
.bars .bar:nth-child(1){height:46%;background:linear-gradient(180deg,#cdeefb,#9bd9f2);}
.bars .bar:nth-child(2){height:64%;background:linear-gradient(180deg,#a9e0f6,#5cc0ec);}
.bars .bar:nth-child(3){height:82%;background:linear-gradient(180deg,#6fcaf0,var(--blue-500));}
.bars .bar:nth-child(4){height:100%;background:linear-gradient(180deg,var(--blue-500),var(--blue-700));}
.bars .bar.anim:nth-child(1){animation-delay:.05s;}
.bars .bar.anim:nth-child(2){animation-delay:.15s;}
.bars .bar.anim:nth-child(3){animation-delay:.25s;}
.bars .bar.anim:nth-child(4){animation-delay:.35s;}
@keyframes grow{from{transform:scaleY(.12);opacity:0;}to{transform:scaleY(1);opacity:1;}}
.arrow-up{position:absolute;right:14%;top:8%;width:74px;height:74px;border-radius:18px;background:var(--primary);
  display:grid;place-items:center;box-shadow:0 22px 40px -16px color-mix(in srgb,var(--primary) 70%, transparent);}
.arrow-up svg{width:36px;height:36px;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

.float-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card);padding:14px 16px;display:flex;align-items:center;gap:12px;}
.float-card .fc-ic{width:38px;height:38px;border-radius:10px;background:var(--primary-l);display:grid;place-items:center;color:var(--primary-d);flex:none;}
.float-card .fc-t{font-size:12px;color:var(--ink-soft);line-height:1.3;}
.float-card .fc-t b{display:block;font-size:14px;color:var(--ink);font-family:var(--font-en);}
.float-card.fc1{left:-2%;top:18%;}
.float-card.fc2{right:-3%;bottom:12%;}

/* ---------- Marquee strip ---------- */
.strip{background:var(--accent);color:#fff;overflow:hidden;}
.strip-track{display:flex;gap:54px;white-space:nowrap;padding:16px 0;font-family:var(--font-en);font-weight:700;letter-spacing:.12em;font-size:14px;opacity:.96;animation:scroll 28s linear infinite;}
.strip-track span{display:inline-flex;align-items:center;gap:54px;}
.strip-track i{font-style:normal;color:var(--blue-300);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;}
.about-copy h2{font-family:var(--font-en);font-weight:800;font-size:calc(clamp(26px,3.2vw,40px) * var(--h-scale));line-height:1.12;margin:14px 0 0;letter-spacing:-.01em;}
.about-copy h2 .jp{display:block;font-family:var(--font-jp);font-size:calc(clamp(16px,1.7vw,20px) * var(--h-scale));color:var(--primary-d);margin-top:12px;}
.about-copy p{color:var(--ink-soft);margin:22px 0 0;font-size:clamp(15px,1.5vw,17px);}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;}
.stat::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:var(--primary-l);}
.stat .num{font-family:var(--font-en);font-weight:800;font-size:clamp(34px,4.4vw,48px);color:var(--primary);line-height:1;position:relative;}
.stat .num small{font-size:.5em;color:var(--ink-soft);font-weight:700;margin-left:4px;}
.stat .lbl{font-size:13px;color:var(--ink-soft);font-weight:600;margin-top:10px;position:relative;}

/* ---------- Concept (Pioneering the Future) ---------- */
.concept-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cc{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 30px 34px;box-shadow:var(--shadow-card);overflow:hidden;transition:transform .3s, box-shadow .3s;}
.cc:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.cc::before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:var(--band);transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.cc:hover::before{transform:scaleX(1);}
.cc .no{font-family:var(--font-en);font-weight:800;font-size:64px;line-height:1;color:var(--primary-l);letter-spacing:-.02em;}
.cc h3{font-family:var(--font-en);font-weight:700;font-size:22px;margin:14px 0 4px;color:var(--ink);}
.cc .jp{font-family:var(--font-jp);font-weight:700;font-size:15px;color:var(--primary-d);margin-bottom:14px;}
.cc p{color:var(--ink-soft);font-size:14.5px;margin:0;}

/* ---------- Business ---------- */
.biz-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.biz{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-card);transition:transform .3s,box-shadow .3s;overflow:hidden;}
.biz:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.biz .ic{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,var(--blue-100),var(--blue-200));display:grid;place-items:center;color:var(--primary-d);margin-bottom:22px;}
.biz .ic svg{width:30px;height:30px;}
.biz .tag{font-family:var(--font-en);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--primary);text-transform:uppercase;}
.biz h3{font-family:var(--font-jp);font-weight:700;font-size:21px;margin:8px 0 14px;color:var(--ink);line-height:1.4;}
.biz p{color:var(--ink-soft);font-size:14.5px;margin:0;}
.biz .idx{position:absolute;right:24px;top:24px;font-family:var(--font-en);font-weight:800;font-size:15px;color:var(--blue-200);}

/* ---------- Company info ---------- */
.info-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(36px,5vw,72px);align-items:start;}
.info-side{position:sticky;top:110px;}
.info-side .sec-title{margin-top:14px;}
.info-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);}
.info-table tr{border-bottom:1px solid var(--line);}
.info-table tr:last-child{border-bottom:none;}
.info-table th{
  text-align:left;vertical-align:top;width:34%;background:var(--section-tint);
  padding:22px 26px;font-weight:700;font-size:14px;color:var(--ink);
}
.info-table th .en{display:block;font-size:11px;color:var(--primary);letter-spacing:.08em;margin-bottom:3px;font-weight:700;}
.info-table td{padding:22px 26px;font-size:15px;color:var(--ink);vertical-align:top;}
.info-table td ul{margin:0;padding-left:1.1em;}
.info-table td li{margin:4px 0;color:var(--ink-soft);font-size:14px;}
.info-table .zip{color:var(--ink-soft);font-size:13px;display:block;margin-bottom:2px;}

/* ---------- CTA band ---------- */
.cta-band{position:relative;background:var(--band);color:#fff;overflow:hidden;border-radius:clamp(20px,3vw,34px);padding:clamp(48px,7vw,76px) clamp(32px,6vw,72px);box-shadow:var(--shadow);}
.cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border:2px solid rgba(255,255,255,.25);border-radius:50%;}
.cta-band::after{content:"";position:absolute;right:40px;bottom:-90px;width:200px;height:200px;border:2px solid rgba(255,255,255,.18);border-radius:50%;}
.cta-band .inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.cta-band h2{font-family:var(--font-en);font-weight:800;font-size:calc(clamp(28px,3.6vw,44px) * var(--h-scale));margin:0;line-height:1.1;}
.cta-band h2 .jp{display:block;font-family:var(--font-jp);font-size:calc(clamp(15px,1.6vw,18px));font-weight:700;margin-top:12px;opacity:.92;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#cfe3f0;padding:64px 0 30px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-brand img{height:38px;margin-bottom:16px;}
.footer-name{margin:0 0 14px !important;}
.footer-name b{display:block;font-family:var(--font-en);font-weight:800;font-size:20px;color:#fff;letter-spacing:-.01em;}
.footer-name span{font-size:12px;font-weight:700;color:var(--blue-300);letter-spacing:.04em;}
.footer-brand p{font-size:13px;line-height:1.9;color:#a9c6da;max-width:330px;margin:0;}
.foot-col h4{font-family:var(--font-en);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300);margin:0 0 16px;}
.foot-col a,.foot-col p{display:block;font-size:14px;color:#cfe3f0;margin:0 0 10px;transition:color .2s;}
.foot-col a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:10px;}
.footer-bottom small{font-size:12px;color:#8fb0c7;font-family:var(--font-en);letter-spacing:.04em;}

/* ---------- Reveal animation (robust: hidden only when JS opts in) ---------- */
.reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
.anim-ready .reveal{opacity:0;transform:translateY(26px);}
.anim-ready .reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  .anim-ready .reveal{opacity:1;transform:none;transition:none;}
  .bars .bar,.arrow-up,.float-card,.strip-track{animation:none !important;}
  html{scroll-behavior:auto;}
}

/* ---------- Dynamic preset: diagonal dividers ---------- */
:root[data-preset="dynamic"] .section--tint{clip-path:polygon(0 var(--divider),100% 0,100% calc(100% - var(--divider)),0 100%);}
:root[data-preset="dynamic"] .section--tint .wrap{padding-top:18px;padding-bottom:18px;}

/* ---------- Minimal preset tweaks ---------- */
:root[data-preset="minimal"] .cc,
:root[data-preset="minimal"] .biz,
:root[data-preset="minimal"] .stat{box-shadow:none;}
:root[data-preset="minimal"] .cc:hover,
:root[data-preset="minimal"] .biz:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px);}
:root[data-preset="minimal"] .biz .ic{background:var(--primary-l);}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:30px;}
  .hero-visual{height:340px;order:2;}
  .about-grid{grid-template-columns:1fr;}
  .concept-cards,.biz-list{grid-template-columns:1fr;}
  .info-wrap{grid-template-columns:1fr;}
  .info-side{position:static;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .nav-links{
    position:fixed;inset:74px 0 auto 0;flex-direction:column;gap:0;background:#fff;
    border-bottom:1px solid var(--line);padding:8px 0;transform:translateY(-130%);transition:transform .32s;box-shadow:var(--shadow);
  }
  .nav-links.open{transform:none;}
  .nav-links a{padding:14px 28px;width:100%;}
  .nav-links a::after{display:none;}
  .nav .btn.nav-cta{display:none;}
  .nav-toggle{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;}
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:.25s;}
  .nav-toggle span::before{position:absolute;top:-6px;}
  .nav-toggle span::after{position:absolute;top:6px;}
  .footer-top{grid-template-columns:1fr;}
  .cta-band .inner{flex-direction:column;align-items:flex-start;}

  /* hero graphic: declutter so nothing overlaps on small screens */
  .hero{padding-top:clamp(104px,26vw,140px);}
  .hero-visual{height:260px;margin-top:6px;}
  .hero-dots{display:none;}
  .float-card{display:none;}
  .blob.b1{width:160px;height:160px;right:2%;top:0;}
  .blob.b2{width:90px;height:90px;}
  .arrow-up{width:58px;height:58px;right:12%;top:2%;}
  .arrow-up svg{width:28px;height:28px;}
  .bars{height:190px;gap:12px;left:48%;top:58%;}
  .bars .bar{width:36px;}
}
