/* Typography polish: preserve semantic line units across viewports. */
.ticker{contain:inline-size}

/* The homepage uses the exact same header DOM contract as every fixed page. */
body .site-header{--signal:#ff4d21;position:sticky;top:0;left:auto;right:auto;z-index:90;display:block;align-items:initial;width:100%;height:auto;padding:0;background:rgba(9,18,27,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.16);transition:background .35s,box-shadow .35s}
body .site-header.is-scrolled{background:rgba(9,18,27,.9);box-shadow:0 18px 44px -28px rgba(0,0,0,.72)}
body .site-header .hd-util{position:relative;display:block;height:36px;max-height:36px;overflow:hidden;background:var(--signal);color:#09121b;border:0;transition:opacity .25s}
/* Keep the sticky header's layout height stable. Changing its own height at a
   scroll threshold creates a feedback loop and makes the header jump. */
body .site-header.is-scrolled .hd-util{opacity:.92}
body .site-header .hd-util::before{content:"STATUS / INSPECTION DESK OPEN";position:absolute;left:28px;top:50%;transform:translateY(-50%);font:700 9px var(--mono);letter-spacing:.17em;opacity:.78}
body .site-header .hd-util__in{max-width:1280px;height:36px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:0 28px;gap:16px;line-height:1.2}
body .site-header .hd-util__l,body .site-header .hd-util__r{display:flex;align-items:center;gap:18px;color:#09121b;font-size:12px}
body .site-header .hd-util__l{margin-left:230px}
body .site-header .hd-util__tel{font:700 14px var(--mono);letter-spacing:.04em}
body .site-header .hd-main{position:relative;max-width:1280px;min-height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 28px;gap:20px}
body .site-header.is-scrolled .hd-main{min-height:80px;padding-block:12px}
body .site-header .hd-main::after{content:"";position:absolute;left:28px;right:28px;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--signal) 0 8%,rgba(255,255,255,.18) 8%)}
body .site-header .hd-logo{display:flex;align-items:center;flex:none}
body .site-header .hd-logo img{display:block;width:auto;height:38px;filter:brightness(0) invert(1)}
body .site-header.is-scrolled .hd-logo img{height:38px}
body .site-header .hd-nav{margin-left:auto;display:flex;align-self:stretch;align-items:center;gap:3px}
body .site-header .hd-nav a{display:flex;align-items:center;color:rgba(255,255,255,.72);padding:9px 11px;font-size:12px;font-weight:700;white-space:nowrap;transition:.25s}
body .site-header .hd-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
body .site-header .hd-cta{display:inline-flex;align-items:center;background:var(--signal);color:#09121b;padding:13px 20px;font-size:13px;font-weight:900;white-space:nowrap;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
body .site-header .hd-spnav{display:none}
body .site-header .z-mobile-toggle{display:none}
body>.hero{min-height:calc(100svh - 126px)}
.hero h1{
  max-width:none;
  font-size:clamp(52px,7.35vw,112px);
  line-height:1.14;
  margin:24px 0 36px;
  white-space:nowrap;
  text-wrap:nowrap;
}
.section h2,
.dark h2,
.final h2,
.report h3,
.quote{
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:balance;
}
.opening h2{font-size:clamp(38px,5.25vw,72px)}
.dark h2{font-size:clamp(42px,5.1vw,72px)}
.ev-head h2{font-size:clamp(38px,5vw,70px)}
.verdict>h2{font-size:clamp(38px,5.2vw,72px)}
.prices>h2{font-size:clamp(38px,5.25vw,72px)}
.final h2{font-size:clamp(46px,7.2vw,100px);line-height:1.28}
.hero-bottom p{max-width:34em;line-height:2}
.question strong{word-break:keep-all;line-height:1.55}

/* Judgement block: never squeeze Japanese labels into a narrow nested column. */
.verdict .verdict-grid{
  grid-template-columns:1fr;
  gap:46px;
  margin-top:54px;
}
.verdict .triage{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:2px solid var(--ink);
}
.verdict .triage-row{
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  gap:7px 18px;
  padding:22px 24px;
  border-bottom:1px solid var(--ink);
  border-right:1px solid var(--ink);
}
.verdict .triage-row:nth-child(3){border-right:0}
.verdict .triage-row b{grid-column:1;font-size:11px}
.verdict .triage-row span{
  grid-column:1;
  font-size:clamp(17px,1.55vw,22px);
  line-height:1.55;
  white-space:nowrap;
  word-break:keep-all;
}
.verdict .triage-row i{grid-column:2;grid-row:1 / 3;align-self:center}
.verdict .triage>p{grid-column:1 / -1;max-width:56em;margin:24px 0 0;line-height:2}
.verdict .report{width:min(900px,100%);margin-inline:auto}
.verdict .report h3{font-size:clamp(32px,3vw,40px);line-height:1.55;letter-spacing:-.035em}

@media(max-width:900px){
  body .site-header .hd-util{display:none}
  body .site-header .hd-main{padding:12px 18px}
  body .site-header .hd-main::after{left:18px;right:18px}
  body .site-header .hd-logo img{height:29px}
  body .site-header .hd-nav,body .site-header .hd-cta{display:none}
  body .site-header .z-mobile-toggle{display:flex;position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:102;width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#f4f0e6;color:#10171e;align-items:center;justify-content:center;cursor:pointer}
  body .site-header .z-mobile-toggle span,body .site-header .z-mobile-toggle::before,body .site-header .z-mobile-toggle::after{content:"";position:absolute;width:20px;height:2px;background:currentColor;transition:.3s}
  body .site-header .z-mobile-toggle::before{transform:translateY(-6px)}body .site-header .z-mobile-toggle::after{transform:translateY(6px)}
  body.z-mobile-open .site-header .z-mobile-toggle{position:fixed;top:28px}
  body.z-mobile-open .site-header .z-mobile-toggle span{opacity:0}body.z-mobile-open .site-header .z-mobile-toggle::before{transform:rotate(45deg)}body.z-mobile-open .site-header .z-mobile-toggle::after{transform:rotate(-45deg)}
  body.z-mobile-open .site-header .hd-spnav{display:flex;position:fixed;inset:0;z-index:100;background:#09121b;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 34px;margin:0;gap:0}
  body.z-mobile-open .site-header .hd-spnav a{display:block;width:100%;padding:13px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);font-size:18px;font-weight:800}
  body>.hero{min-height:calc(100svh - 56px)}
  .hero h1{font-size:clamp(48px,8.2vw,72px)}
  .opening h2,.dark h2,.ev-head h2,.verdict>h2,.prices>h2{font-size:clamp(38px,7vw,58px)}
}

@media(max-width:600px){
  .section h2,.dark h2,.final h2,.report h3,.quote{
    word-break:auto-phrase;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
  .hero h1{
    font-size:clamp(37px,10.2vw,41px);
    line-height:1.23;
    letter-spacing:-.08em;
    margin:26px 0 32px;
  }
  .opening h2,.dark h2,.ev-head h2,.verdict>h2,.prices>h2{
    font-size:clamp(32px,9vw,37px);
    line-height:1.48;
  }
  .final h2{font-size:clamp(38px,10.2vw,44px);line-height:1.42}
  .verdict .report h3{font-size:25px;line-height:1.65;letter-spacing:-.045em}
  .quote{font-size:29px;line-height:1.75}
  .hero-bottom p{font-size:13px;line-height:2.05}
  .question strong{font-size:16px;line-height:1.65}
  .verdict .triage{grid-template-columns:1fr}
  .verdict .triage-row{
    grid-template-columns:72px 1fr auto;
    grid-template-rows:auto;
    padding:18px 0;
    border-right:0;
  }
  .verdict .triage-row b,.verdict .triage-row span,.verdict .triage-row i{grid-row:1;align-self:center}
  .verdict .triage-row b{grid-column:1}
  .verdict .triage-row span{grid-column:2;font-size:16px;white-space:normal}
  .verdict .triage-row i{grid-column:3}
  .verdict .triage>p{grid-column:1;margin-top:22px}
}
