/* Source-brief additions. Preserve the approved KUJIRA hero and images. */
.wifi-original-section { padding:96px 0; background:#fff; }
.wifi-original-inner { width:min(1200px,calc(100% - 64px)); margin:0 auto; }
.wifi-original-heading { margin:0 auto 48px; max-width:800px; text-align:center; }
.wifi-original-label { margin:0 0 16px; color:#b64b00; font-size:13px; font-weight:700; letter-spacing:.16em; }
.wifi-original-heading h2 { margin:0 0 24px; color:var(--kujira-navy); font-size:36px; font-weight:800; line-height:1.5; letter-spacing:.01em; }
.wifi-original-heading > p:last-child { margin:0; color:#45596a; font-size:16px; line-height:1.9; }
.wifi-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.wifi-review-grid article { padding:24px 0 0; border-top:2px solid var(--kujira-orange); }
.wifi-original-number { display:block; margin-bottom:16px; color:#b64b00; font-size:14px; font-weight:700; }
.wifi-review-grid h3,.wifi-diagnosis-explanation h3,.wifi-survey-detail h3 { margin:0 0 16px; color:var(--kujira-navy); font-size:20px; font-weight:700; line-height:1.6; }
.wifi-review-grid p,.wifi-diagnosis-explanation p,.wifi-survey-detail p { margin:0; color:#45596a; font-size:16px; line-height:1.9; }
.wifi-original-note { margin:32px 0 0; color:#536575; font-size:14px; line-height:1.8; }
.wifi-original-inline-cta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 24px; padding:24px 20px; background:var(--kujira-soft); }
.wifi-original-inline-cta p { margin:0; font-size:16px; line-height:1.8; }
.wifi-original-inline-cta a { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:#a64300; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.wifi-original-inline-cta small { font-size:14px; color:#45596a; }
.wifi-diagnosis { background:#fff8f1; }
.wifi-network-diagram { margin:0; }
.wifi-network-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:0; padding:0; list-style:none; }
.wifi-network-path li { position:relative; min-width:0; padding:32px 20px; border:1px solid var(--kujira-line); border-radius:8px; background:#fff; text-align:center; }
.wifi-network-path li + li::before { content:'→'; position:absolute; left:-33px; top:50%; margin-top:-16px; color:#b64b00; font-size:24px; font-weight:500; }
.wifi-diagram-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 20px; border:1px solid #eab791; border-radius:50%; color:#a64300; font-size:16px; font-weight:700; }
.wifi-diagram-caption { display:block; margin-bottom:8px; color:#536575; font-size:14px; }
.wifi-network-path strong { display:block; font-size:20px; line-height:1.6; }
.wifi-network-path p { margin:16px 0 0; color:#45596a; font-size:16px; line-height:1.8; }
.wifi-network-diagram figcaption { margin-top:16px; color:#536575; font-size:14px; line-height:1.8; }
.wifi-diagnosis-explanation { max-width:840px; margin:40px auto 0; padding-left:24px; border-left:3px solid var(--kujira-orange); }
.wifi-survey-detail { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:40px; padding-top:32px; border-top:1px solid var(--kujira-line); }
.wifi-survey-places { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0; padding:0; list-style:none; color:#45596a; font-size:16px; line-height:1.9; }
.wifi-survey-places li::before { content:'・'; color:#b64b00; }
.wifi-original-roadmap { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin:0 0 32px; padding:0; list-style:none; font-size:14px; font-weight:600; line-height:1.8; }
.wifi-original-roadmap li { position:relative; }
.wifi-original-roadmap li + li::before { content:'›'; position:absolute; left:-16px; color:#a64300; }
.hero-proof__item strong.wifi-proof-exact { font-size:18px; line-height:1.65; }
.wifi-proof-exact b { font-size:32px; letter-spacing:-.03em; line-height:1; }
#home_promo .wifi-hero-paid { margin:12px 0 0; color:#45596a; font-size:14px; line-height:1.7; }
#home_promo .wifi-template-button { gap:10px; padding-inline:20px; }
#home_promo .wifi-template-button--primary { font-size:17px; }
@media (max-width:1279px) {
  .wifi-survey-detail { gap:32px; }
  #home_promo .wifi-template-button { padding-inline:14px; }
  #home_promo .wifi-template-button--primary { font-size:15px; }
  #home_promo .wifi-template-button--primary svg { display:none; }
}
@media (min-width:768px) and (max-width:900px) {
  .wifi-survey-detail { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  #home_promo .wifi-hero-paid { width:max-content; max-width:100%; padding:3px 8px; border-radius:4px; background:rgba(255,255,255,.96); }
  .wifi-original-section { padding:64px 0; }
  .wifi-original-inner { width:calc(100% - 40px); }
  .wifi-original-heading { margin-bottom:32px; text-align:left; }
  .wifi-original-heading h2 { font-size:28px; }
  .wifi-original-heading > p:last-child br { display:none; }
  .wifi-review-grid,.wifi-survey-detail { grid-template-columns:1fr; gap:24px; }
  .wifi-review-grid article { padding-top:20px; }
  .wifi-original-number { margin-bottom:8px; }
  .wifi-review-grid h3 { margin-bottom:8px; }
  .wifi-original-inline-cta { flex-direction:column; align-items:flex-start; gap:4px; }
  .wifi-network-path { grid-template-columns:1fr; gap:32px; }
  .wifi-network-path li { padding:24px; }
  .wifi-network-path li + li::before { content:'↓'; top:-31px; left:calc(50% - 12px); margin:0; line-height:30px; }
  .wifi-diagram-icon { width:40px; height:40px; margin-bottom:12px; }
  .wifi-diagnosis-explanation { padding-left:16px; margin-top:32px; }
  .wifi-original-roadmap { justify-content:flex-start; gap:12px 24px; }
  .hero-proof__item strong.wifi-proof-exact { font-size:14px; }
  .wifi-proof-exact b { font-size:24px; }
  #home_promo .wifi-template-button--primary { font-size:16px; }
  #home_promo .wifi-template-button--primary svg { display:block; }
}
