@charset "utf-8";
/* ============================================================
   monap LP — integrated top page styles
   ============================================================ */
:root{ --bass:#c05050; --dark:#0d0d0d; --cream:#f4eee8; --ink:#1a1414; }
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:'Noto Sans JP', sans-serif; color:var(--ink); background:#0d0d0d; }
a{ color:inherit; }
img{ max-width:100%; }
section[id]{ scroll-margin-top:76px; }
.wrap{ max-width:1180px; margin:0 auto; }

/* shared eyebrow */
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:0.18em; color:var(--bass); margin-bottom:20px; }
.eyebrow .dot{ width:7px; height:7px; border-radius:99px; background:var(--bass); }

/* reveal */
.rv{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.rv.in{ opacity:1; transform:none; }

/* shared buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:17px 26px; border-radius:11px; font-weight:800; font-size:15.5px; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s; }
.btn:hover{ transform:translateY(-2px); }
.btn-main{ background:var(--bass); color:#fff; box-shadow:0 12px 28px -8px rgba(192,80,80,0.6); }
.btn-sub{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.35); }
.btn-sub:hover{ background:rgba(255,255,255,0.08); }

/* ============ HEADER ============ */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(13,13,13,0.95); backdrop-filter:blur(10px); border-bottom:1px solid rgba(0,0,0,0.6); }
.site-header .inner{ max-width:1180px; margin:0 auto; height:66px; display:flex; align-items:center; justify-content:space-between; padding:0 28px; }
.site-header .logo img{ height:30px; width:auto; filter:brightness(0) invert(1); display:block; }
.site-header nav{ display:flex; align-items:center; gap:26px; }
.site-header nav a{ color:#fff; font-size:13.5px; font-weight:600; text-decoration:none; transition:color .2s; }
.site-header nav a.link:hover{ color:var(--bass); }
.site-header nav a.navbtn{ background:var(--bass); padding:9px 18px; border-radius:8px; font-weight:700; }
.site-header nav a.navbtn-ghost{ border:1px solid rgba(255,255,255,0.3); padding:9px 16px; border-radius:8px; }
.menu-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.menu-toggle span{ width:24px; height:2px; background:#fff; border-radius:2px; transition:.3s; }

/* ============ HERO (A · Trust-First) ============ */
.hero{ position:relative; background:#0d0d0d; color:#fff; overflow:hidden; }
.hero-bg{ position:absolute; top:0; right:0; bottom:0; width:58%; background:url(../img/hero_main.jpeg) center/cover; }
.hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0d0d0d 0%, rgba(13,13,13,0.4) 35%, rgba(13,13,13,0.15) 70%, rgba(13,13,13,0.55) 100%); }
.hero-inner{ position:relative; z-index:2; max-width:1180px; margin:0 auto; padding:64px 56px 0; display:flex; flex-direction:column; min-height:600px; }
.hero-content{ max-width:660px; flex:1; }
.hero-badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border:1px solid rgba(255,255,255,0.3); border-radius:99px; font-size:12px; font-weight:600; letter-spacing:0.06em; margin-bottom:24px; }
.hero-badge .d{ width:6px; height:6px; border-radius:99px; background:var(--bass); }
.hero h1{ font-size:52px; font-weight:900; line-height:1.18; letter-spacing:-0.01em; margin:0; }
.hero h1 .hl{ color:var(--bass); }
.hero-sub{ color:rgba(255,255,255,0.78); font-size:17px; line-height:1.7; margin-top:22px; }
.hero-checks{ display:flex; gap:24px; margin-top:26px; flex-wrap:wrap; }
.hero-checks .c{ display:flex; align-items:center; gap:8px; font-size:14px; }
.hero-cta{ display:flex; gap:14px; margin-top:34px; align-items:center; flex-wrap:wrap; }
.hero-cta .btn{ padding:18px 28px; font-size:16px; }
.hero-micro{ color:rgba(255,255,255,0.55); font-size:12px; margin-top:14px; display:flex; gap:18px; flex-wrap:wrap; }
.hero-note{ color:rgba(255,255,255,0.4); font-size:11px; margin-top:10px; }
.hero-proof{ position:relative; z-index:2; max-width:1180px; margin:40px auto 0; padding:0 56px; }
.hero-proof .row{ border-top:1px solid rgba(255,255,255,0.12); padding:22px 0 34px; display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
.hero-proof .plabel{ color:rgba(255,255,255,0.5); font-size:11px; letter-spacing:0.15em; font-weight:600; }
.hero-proof .stat{ display:flex; align-items:baseline; gap:8px; }
.hero-proof .stat .big{ font-size:28px; font-weight:900; letter-spacing:-0.02em; color:#fff; }
.hero-proof .stat .big small{ font-size:16px; }
.hero-proof .stat .lbl{ color:rgba(255,255,255,0.55); font-size:12px; }

/* ============ HOW (nav demo) ============ */
.how{ position:relative; overflow:hidden; background:radial-gradient(120% 80% at 78% 18%, rgba(192,80,80,0.22) 0%, rgba(192,80,80,0) 55%), #0d0d0d; color:#fff; padding:100px 56px 108px; }
.how::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size:64px 64px; mask-image:radial-gradient(80% 80% at 50% 30%, #000 30%, transparent 80%); pointer-events:none; }
.how .wrap{ position:relative; }
.how .eyebrow{ color:rgba(255,255,255,0.6); }
.how .eyebrow .dot{ box-shadow:0 0 12px 2px rgba(192,80,80,0.7); }
.how .head h2{ font-size:42px; font-weight:900; line-height:1.25; letter-spacing:-0.01em; margin:0; max-width:720px; }
.how .head h2 .hl{ color:var(--bass); }
.how .head p{ font-size:16px; line-height:1.85; color:rgba(255,255,255,0.7); margin:20px 0 0; max-width:600px; }
.how .grid{ display:grid; grid-template-columns:1fr 360px; gap:64px; margin-top:56px; align-items:center; }
.steps{ display:flex; flex-direction:column; gap:6px; }
.step{ position:relative; display:grid; grid-template-columns:54px 1fr; gap:18px; padding:18px 20px 18px 16px; border-radius:14px; cursor:pointer; border:1px solid transparent; transition:background .35s, border-color .35s; }
.step:hover{ background:rgba(255,255,255,0.03); }
.step.active{ background:rgba(255,255,255,0.05); border-color:rgba(192,80,80,0.4); }
.step .num{ width:54px; height:54px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:900; letter-spacing:0.02em; background:rgba(255,255,255,0.05); color:rgba(255,255,255,0.45); border:1px solid rgba(255,255,255,0.08); transition:all .35s; }
.step.active .num{ background:var(--bass); color:#fff; border-color:var(--bass); box-shadow:0 8px 22px -6px rgba(192,80,80,0.7); }
.step .body .t{ font-size:17px; font-weight:800; color:rgba(255,255,255,0.6); transition:color .35s; line-height:1.4; }
.step.active .body .t{ color:#fff; }
.step .body .d{ font-size:13.5px; line-height:1.7; color:rgba(255,255,255,0.62); max-height:0; opacity:0; overflow:hidden; transition:max-height .4s ease, opacity .35s, margin .4s; }
.step.active .body .d{ max-height:90px; opacity:1; margin-top:8px; }
.step .bar{ position:absolute; left:16px; right:20px; bottom:9px; height:2px; border-radius:2px; background:rgba(255,255,255,0.1); overflow:hidden; opacity:0; transition:opacity .3s; }
.step.active .bar{ opacity:1; }
.step .bar i{ position:absolute; inset:0; transform-origin:left; transform:scaleX(0); background:var(--bass); }
.step.active .bar i.run{ animation:fill var(--dur,4.2s) linear forwards; }
@keyframes fill{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }
.phonecol{ display:flex; flex-direction:column; align-items:center; }
.phone{ position:relative; width:300px; padding:11px; border-radius:42px; background:linear-gradient(160deg,#2a2a2a,#0a0a0a); box-shadow:0 40px 90px -25px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.06), inset 0 0 0 2px rgba(255,255,255,0.04); }
.phone .screen{ position:relative; width:100%; aspect-ratio:1080/2400; border-radius:32px; overflow:hidden; background:#000; }
.phone .screen img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .55s ease; }
.phone .screen img.show{ opacity:1; }
.phone .notch{ position:absolute; top:6px; left:50%; transform:translateX(-50%); width:54px; height:6px; border-radius:99px; background:rgba(255,255,255,0.18); z-index:3; }
.chip{ position:relative; display:inline-flex; align-items:center; gap:10px; padding:9px 18px; border-radius:99px; margin-bottom:22px; white-space:nowrap; color:#fff; font-size:14px; font-weight:800; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.16); opacity:0; transform:translateY(6px); transition:opacity .4s, transform .4s; }
.chip.show{ opacity:1; transform:translateY(0); }
.chip::after{ content:""; position:absolute; bottom:-7px; left:50%; transform:translateX(-50%); border-left:7px solid transparent; border-right:7px solid transparent; border-top:7px solid rgba(255,255,255,0.16); }
.chip .cap{ font-size:10px; letter-spacing:0.14em; font-weight:700; color:rgba(255,255,255,0.45); border-right:1px solid rgba(255,255,255,0.16); padding-right:10px; }
.chip .led{ width:8px; height:8px; border-radius:99px; }
.chip .led.g{ background:#27c93f; box-shadow:0 0 10px 1px rgba(39,201,63,0.8); }
.chip .led.r{ background:#ff4d4d; box-shadow:0 0 10px 1px rgba(255,77,77,0.85); }
.chip .led.o{ background:#ffa023; box-shadow:0 0 10px 1px rgba(255,160,35,0.85); }
.phonecol .dots{ display:flex; gap:9px; margin-top:26px; }
.phonecol .dots b{ width:8px; height:8px; border-radius:99px; background:rgba(255,255,255,0.2); cursor:pointer; transition:all .3s; }
.phonecol .dots b.on{ background:var(--bass); width:24px; border-radius:99px; }
.footnote{ margin-top:44px; font-size:12px; color:rgba(255,255,255,0.4); display:flex; align-items:center; gap:8px; }
.footnote svg{ flex-shrink:0; }

/* ============ PROBLEM ============ */
.problem{ background:var(--cream); color:var(--ink); padding:104px 56px 120px; }
.problem .eyebrow{ color:var(--bass); }
.problem h2{ font-size:42px; font-weight:900; line-height:1.32; letter-spacing:-0.01em; margin:0; }
.problem h2 .mark{ position:relative; white-space:nowrap; }
.problem h2 .mark::after{ content:""; position:absolute; left:-2px; right:-2px; bottom:6px; height:12px; background:rgba(192,80,80,0.22); z-index:-1; }
.problem .lead{ font-size:16px; line-height:1.9; color:#5c4f4f; margin:22px 0 0; max-width:560px; }
.pcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.pcard{ background:#fff; border:1px solid #e7ddd4; border-radius:16px; padding:30px 28px; position:relative; box-shadow:0 1px 0 rgba(0,0,0,0.02); }
.pcard .top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.pcard .no{ display:inline-flex; align-items:baseline; gap:8px; color:var(--bass); font-weight:900; }
.pcard .no .lbl{ font-size:15px; letter-spacing:0.06em; transform:translateY(-2px); }
.pcard .no .fig{ font-size:40px; line-height:.9; letter-spacing:0.01em; }
.pcard .x{ width:42px; height:42px; border-radius:12px; background:#fbeaea; display:flex; align-items:center; justify-content:center; }
.pcard h3{ font-size:19px; font-weight:900; line-height:1.5; margin:0 0 12px; color:var(--ink); }
.pcard p{ font-size:14px; line-height:1.85; color:#6b5d5d; margin:0; }

/* PIVOT */
.pivot{ background:linear-gradient(180deg, var(--cream) 0%, var(--cream) 50%, var(--dark) 50%, var(--dark) 100%); text-align:center; padding:0 24px; }
.pivot .inner{ display:inline-flex; flex-direction:column; align-items:center; gap:14px; padding:30px 44px; background:#fff; border:1px solid #e7ddd4; border-radius:18px; box-shadow:0 24px 50px -22px rgba(0,0,0,0.4); }
.pivot .t{ font-size:17px; font-weight:800; color:var(--ink); }
.pivot .t b{ color:var(--bass); }
.pivot .arw{ width:38px; height:38px; border-radius:99px; background:var(--bass); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -6px rgba(192,80,80,0.7); }

/* SOLUTION */
.solution{ background:radial-gradient(110% 75% at 80% 12%, rgba(192,80,80,0.22) 0%, rgba(192,80,80,0) 55%), var(--dark); color:#fff; padding:80px 56px 120px; position:relative; overflow:hidden; }
.solution::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(80% 70% at 60% 25%,#000 30%,transparent 80%); pointer-events:none; }
.solution .wrap{ position:relative; }
.solution .eyebrow{ color:rgba(255,255,255,0.7); }
.solution .eyebrow .dot{ box-shadow:0 0 12px 2px rgba(192,80,80,0.7); }
.solution h2{ font-size:46px; font-weight:900; line-height:1.3; letter-spacing:-0.01em; margin:0; max-width:840px; }
.solution h2 .hl{ color:var(--bass); }
.solution .lead{ font-size:16px; line-height:1.9; color:rgba(255,255,255,0.72); margin:22px 0 0; max-width:580px; }
.scards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.scard{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:34px 30px; transition:border-color .3s, background .3s; }
.scard:hover{ background:rgba(255,255,255,0.06); border-color:rgba(192,80,80,0.45); }
.scard .ic{ width:50px; height:50px; border-radius:13px; background:var(--bass); display:flex; align-items:center; justify-content:center; margin-bottom:24px; box-shadow:0 12px 26px -8px rgba(192,80,80,0.6); }
.scard h3{ font-size:20px; font-weight:900; margin:0 0 12px; line-height:1.4; }
.scard p{ font-size:14px; line-height:1.85; color:rgba(255,255,255,0.68); margin:0; }
.scard .tag{ display:inline-block; margin-top:18px; font-size:12px; font-weight:700; color:var(--bass); letter-spacing:0.04em; padding:5px 12px; border:1px solid rgba(192,80,80,0.45); border-radius:99px; }

/* ============ FEATURES ============ */
.features{ background:var(--cream); padding:104px 56px 110px; color:var(--ink); }
.features .tit h2{ font-size:40px; font-weight:900; line-height:1.34; letter-spacing:-0.01em; margin:0; }
.features .tit p{ font-size:16px; line-height:1.9; color:#5c4f4f; margin:20px 0 0; max-width:640px; }
.fgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; }
.fcard{ background:#fff; border:1px solid #e7ddd4; border-radius:16px; padding:30px 28px 32px; position:relative; transition:transform .3s, box-shadow .3s; }
.fcard:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -24px rgba(60,30,30,0.4); }
.fcard .no{ font-size:13px; font-weight:900; letter-spacing:0.1em; color:var(--bass); }
.fcard .ic{ width:48px; height:48px; border-radius:13px; background:#fbeaea; display:flex; align-items:center; justify-content:center; margin:14px 0 20px; }
.fcard h3{ font-size:18px; font-weight:900; line-height:1.55; margin:0 0 12px; }
.fcard p{ font-size:13.5px; line-height:1.85; color:#6b5d5d; margin:0; }

/* CTA band */
.ctaband{ background:var(--cream); padding:0 56px 110px; }
.ctaband .inner{ background:var(--dark); border-radius:22px; padding:48px 52px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:36px; position:relative; overflow:hidden; }
.ctaband .inner::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 140% at 85% 20%, rgba(192,80,80,0.3), transparent 60%); }
.ctaband .cttxt{ position:relative; }
.ctaband h3{ color:#fff; font-size:26px; font-weight:900; margin:0; line-height:1.45; }
.ctaband p{ color:rgba(255,255,255,0.7); font-size:14px; margin:12px 0 0; line-height:1.8; }
.ctaband .btns{ position:relative; display:flex; flex-direction:column; gap:12px; min-width:280px; }
.ctaband .note{ position:relative; grid-column:1 / -1; color:rgba(255,255,255,0.5); font-size:12.5px; margin:4px 0 0; }

/* ============ FAQ ============ */
.faq{ background:#fbf9f7; padding:100px 56px 110px; color:var(--ink); }
.faq .tit{ text-align:center; }
.faq .tit .eyebrow{ justify-content:center; }
.faq .tit h2{ font-size:38px; font-weight:900; margin:0; letter-spacing:-0.01em; }
.faq .tit p{ font-size:15px; line-height:1.9; color:#6b5d5d; margin:18px 0 0; }
.faqnav{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:40px 0 8px; }
.faqnav a{ font-size:13px; font-weight:700; color:#5c4f4f; text-decoration:none; padding:9px 18px; border:1px solid #e2d6cc; border-radius:99px; background:#fff; transition:all .2s; }
.faqnav a:hover{ border-color:var(--bass); color:var(--bass); }
.faqgroup{ max-width:840px; margin:48px auto 0; }
.faqgroup .glabel{ display:flex; align-items:center; gap:14px; margin:0 0 18px; }
.faqgroup .glabel .gnum{ font-size:12px; font-weight:900; letter-spacing:0.12em; color:var(--bass); background:#fbeaea; padding:5px 12px; border-radius:99px; }
.faqgroup .glabel h3{ font-size:20px; font-weight:900; margin:0; }
details{ background:#fff; border:1px solid #ebe0d8; border-radius:13px; margin-bottom:12px; overflow:hidden; transition:border-color .25s; }
details[open]{ border-color:#d9c4bb; }
summary{ list-style:none; cursor:pointer; padding:21px 24px; font-size:15.5px; font-weight:700; line-height:1.6; display:flex; gap:16px; align-items:flex-start; justify-content:space-between; color:var(--ink); }
summary::-webkit-details-marker{ display:none; }
summary .q{ display:flex; gap:13px; }
summary .q::before{ content:"Q"; color:var(--bass); font-weight:900; font-size:17px; line-height:1.45; flex-shrink:0; }
summary .chev{ flex-shrink:0; color:#b9a89f; transition:transform .3s; margin-top:3px; }
details[open] summary .chev{ transform:rotate(180deg); }
.answer{ padding:0 24px 22px 53px; }
.answer p{ font-size:14px; line-height:1.95; color:#5c4f4f; margin:0; }
.answer .strong{ display:block; font-weight:800; color:var(--ink); margin:14px 0 3px; }
.answer .strong:first-child{ margin-top:0; }
.answer a{ color:var(--bass); text-decoration:underline; text-underline-offset:2px; }

/* ============ FOOTER ============ */
.site-footer{ background:var(--dark); color:#fff; padding:72px 56px 36px; }
.site-footer .fcols{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.12); }
.site-footer .fbrand img{ height:34px; width:auto; filter:brightness(0) invert(1); }
.site-footer .fbrand p{ color:rgba(255,255,255,0.55); font-size:13px; line-height:1.9; margin:20px 0 0; }
.site-footer .fcol h4{ font-size:12px; letter-spacing:0.12em; color:rgba(255,255,255,0.45); font-weight:700; margin:0 0 18px; }
.site-footer .fcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.site-footer .fcol ul a{ font-size:14px; color:rgba(255,255,255,0.82); text-decoration:none; }
.site-footer .fcol ul a:hover{ color:#fff; }
.site-footer .fcol .addr{ font-size:13px; line-height:1.95; color:rgba(255,255,255,0.6); font-style:normal; }
.site-footer .fcol .addr .tel{ display:block; color:#fff; font-weight:800; font-size:16px; margin-top:8px; letter-spacing:0.02em; }
.site-footer .fbtns{ display:flex; flex-direction:column; gap:11px; margin-top:18px; }
.site-footer .fbtns .btn{ font-size:14px; padding:14px 20px; }
.site-footer .fcopy{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:12px; }
.site-footer .fcopy small{ color:rgba(255,255,255,0.4); font-size:12px; }
.site-footer .fcopy .logis{ font-size:12px; color:rgba(255,255,255,0.4); }

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .how .grid{ grid-template-columns:1fr; gap:40px; }
  .phonecol{ order:-1; }
}
@media (max-width:860px){
  .site-header .inner{ padding:0 18px; }
  .menu-toggle{ display:flex; }
  .site-header nav{ position:fixed; top:66px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:rgba(13,13,13,0.98); padding:8px 0 14px; transform:translateY(-130%); transition:transform .32s ease; border-bottom:1px solid #000; }
  .site-header nav.open{ transform:none; }
  .site-header nav a{ padding:14px 24px; font-size:15px; }
  .site-header nav a.navbtn, .site-header nav a.navbtn-ghost{ margin:6px 24px 0; text-align:center; border-radius:9px; }

  .hero-bg{ width:100%; }
  .hero-bg::after{ background:linear-gradient(180deg, rgba(13,13,13,0.8) 0%, rgba(13,13,13,0.92) 60%, #0d0d0d 100%); }
  .hero-inner{ padding:40px 24px 0; min-height:auto; }
  .hero h1{ font-size:33px; }
  .hero-proof{ padding:0 24px; }
  .hero-proof .row{ gap:22px; }

  .how{ padding:64px 24px 72px; }
  .how .head h2{ font-size:28px; }
  .problem,.solution,.features,.faq{ padding-left:24px; padding-right:24px; }
  .ctaband{ padding-left:24px; padding-right:24px; }
  .problem{ padding-top:64px; padding-bottom:80px; }
  .solution{ padding-top:64px; padding-bottom:80px; }
  .features{ padding-top:64px; padding-bottom:80px; }
  .faq{ padding-top:72px; padding-bottom:80px; }
  .problem h2{ font-size:27px; } .solution h2{ font-size:28px; }
  .features .tit h2{ font-size:26px; } .faq .tit h2{ font-size:25px; }
  .pcards,.scards,.fgrid{ grid-template-columns:1fr; gap:16px; }
  .ctaband .inner{ grid-template-columns:1fr; padding:34px 26px; }
  .ctaband .btns{ min-width:0; }
  .site-footer{ padding:56px 24px 30px; }
  .site-footer .fcols{ grid-template-columns:1fr; gap:32px; }
}
