/* KARASAWA — brings the technical section pages into the common site design.
   Loaded after the page's own styles and overrides them:
   palette, dark hero, figures strip, buttons, headings. The markup and content
   of the pages are left unchanged. */

:root{
  --ink:#101318; --ink-2:#454d58; --ink-3:#79828e;
  --line:#e2e6ea; --line-2:#f0f2f5;
  --panel:#f7f8fa; --panel-2:#eef1f5;
  --dark:#14181e; --dark-2:#1c2229;
  --accent:#b3221d; --accent-2:#b3221d;
  --accent-d:#8d1a16;
  --wrap:1180px;
}

body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.015em}
a{color:var(--accent)}

/* ---------- hero: dark, as on the other pages ---------- */
.hero{position:relative;background:var(--dark);color:#fff;border-bottom:0;
  padding:0;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 80% 8%,rgba(179,34,29,.34) 0%,rgba(179,34,29,0) 55%),
             radial-gradient(90% 70% at 10% 100%,rgba(90,120,160,.20) 0%,rgba(0,0,0,0) 60%)}
.hero::after{content:"";position:absolute;inset:0;opacity:.055;
  background-image:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 46px)}
.hero .w{position:relative;z-index:2;padding:64px 24px 58px}
.hero .eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.hero h1{font-size:clamp(32px,4.3vw,52px);line-height:1.08;font-weight:700;
  margin:0 0 22px;max-width:24ch;color:#fff}
.hero .sub{font-size:18.5px;line-height:1.6;color:#c3ccd6;max-width:62ch;margin:0 0 26px}
.hero ul{display:grid;gap:9px 28px;grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;margin:0 0 28px}
.hero ul li{color:#dbe2ea;font-size:16px;padding-left:26px}
.hero ul li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:11px;
  border:2px solid var(--accent);border-radius:50%;background:none}
.hero .note{color:#8e99a6}

/* hero buttons */
.cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;font-size:15px;
  font-weight:700;border-radius:3px;border:0;text-decoration:none;transition:background .15s}
.btn-1{background:var(--accent);color:#fff}
.btn-1:hover{background:var(--accent-d)}
.btn-2{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff}
.btn-2:hover{background:rgba(255,255,255,.09)}

/* ---------- figures strip — like .stats on the other pages ---------- */
.facts{background:var(--panel);border-bottom:1px solid var(--line)}
.facts .w{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-left:1px solid var(--line);border-right:1px solid var(--line)}
.facts div{background:var(--panel);padding:26px 22px;border-right:0}
.facts b{font-size:28px;line-height:1.1;margin-bottom:5px}
.facts span{font-size:13.5px;color:var(--ink-3);line-height:1.45;margin-top:0}

/* ---------- anchor bar — a row of quick links ---------- */
.anchors{top:74px;z-index:50;border-bottom:1px solid var(--line)}
.anchors a{font-size:13.5px;font-weight:600;color:var(--ink-3);padding:15px 0}
.anchors a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- sections and typography ---------- */
.sec{padding:64px 0}
h2{font-size:clamp(26px,3.2vw,34px);line-height:1.18}
h2 em{color:var(--ink-3)}
h3{font-size:19.5px}
.case{border-top:2px solid var(--ink)}
.case dt{color:var(--ink-3)}
.warn{background:var(--panel);border-left:3px solid var(--accent);border-radius:0 3px 3px 0}
.need{background:#fff8e6;border:1px solid #f0e2bd;color:#7a5b12;border-radius:3px}
.steps li::before{color:var(--accent)}

/* tables */
.tw{border:1px solid var(--line);border-radius:3px}
thead th{background:var(--dark);color:#fff;font-size:12px;text-transform:uppercase;
  letter-spacing:.08em;border-color:#2a323b}
thead th.g{background:var(--dark-2);color:#fff;border-bottom:2px solid var(--accent)}
thead th.s{background:var(--dark);color:#fff}
th.s,td.s{border-right:2px solid var(--line)}
tbody tr:hover td{background:#fafbfc}

/* ---------- dark block ---------- */
.dark{background:var(--dark);color:#a9b3be}
.dark h2{color:#fff}
.dark .grid div{border-top:2px solid var(--accent)}
.dark .grid p{color:#a9b3be}

/* ---------- related sections ---------- */
.rel{border-top:1px solid var(--line-2);padding:40px 0 56px}
.rel h3{margin-bottom:14px}
.rel a{font-weight:600;text-decoration:none}
.rel a:hover{text-decoration:underline}

@media(max-width:860px){
  .hero .w{padding:46px 24px 42px}
  .hero ul{grid-template-columns:1fr}
  .facts .w{grid-template-columns:repeat(2,1fr)}
}
