/* ─── POSTAL VARIABLE OVERRIDES ─────────────────────────────── */
:root{
  --ivory:#F8F5EE;
  --border:#D8D8D8;
  --text-sub:#555555;
}

/* ─── SECTION TITLES (postal) ─────────────────────────────── */
.section-title{font-size:clamp(22px,4vw,32px);font-weight:700;color:var(--navy);margin-bottom:12px}
.section-sub{color:var(--text-sub);margin-bottom:40px;font-size:15px}

/* ─── ADDITIONAL BUTTONS ─────────────────────────────── */
.btn-main-inv{display:inline-block;padding:14px 28px;background:var(--orange);color:#fff;font-weight:700;border-radius:6px;border:2px solid var(--orange);cursor:pointer;font-size:16px;transition:all .2s;text-align:center}
.btn-main-inv:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn-sub-inv{display:inline-block;padding:14px 28px;background:transparent;color:#fff;font-weight:700;border-radius:6px;border:2px solid rgba(255,255,255,.6);cursor:pointer;font-size:16px;transition:all .2s;text-align:center}
.btn-sub-inv:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ─── PAGE HERO ─────────────────────────────── */
#page-hero{background:var(--blue-pale);padding:48px 0 32px}
.breadcrumb{font-size:13px;color:var(--text-sub);margin-bottom:20px}
.breadcrumb a{color:var(--navy);text-decoration:underline}
.breadcrumb span{margin:0 6px;color:var(--border)}
.page-h1{font-size:clamp(26px,5vw,40px);font-weight:900;color:var(--navy);margin-bottom:12px;line-height:1.3}
.page-hero-sub{font-size:15px;color:var(--text-sub);margin-bottom:24px;max-width:720px;line-height:1.8}
.page-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px;max-width:620px}
.page-hero-content{max-width:720px;margin:0 auto}
.badge-pill{
  display:flex;align-items:center;gap:8px;color:var(--navy);
  font-size:14px;font-weight:700;line-height:1.45;
}
.badge-pill::before{content:"✓";color:#d97906;font-size:13px;font-weight:900;line-height:1;flex-shrink:0}

/* ─── FLOW SECTION (postal) ─────────────────────────────── */
#flow{background:#fff;padding:64px 0 72px}
.flow-steps-horizontal{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.flow-steps-horizontal::before{
  content:'';position:absolute;top:32px;left:calc(100%/6);right:calc(100%/6);
  height:2px;background:var(--blue-light);z-index:0;
}
.flow-step-v{display:flex;flex-direction:column;align-items:flex-start;gap:0;position:relative;padding-bottom:24px}
.flow-step-v:not(:last-child)::after{
  content:'';position:absolute;left:20px;top:44px;bottom:0;
  width:2px;background:var(--blue-light);
}
.flow-step-inner{display:flex;gap:16px}
.flow-num{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--navy);color:#fff;font-weight:900;font-size:14px;
  display:flex;align-items:center;justify-content:center;z-index:1;
}
.flow-body{padding-top:8px}
.flow-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:4px}
.flow-desc{font-size:14px;color:var(--text-sub);line-height:1.7}
.flow-steps-list{display:flex;flex-direction:column;gap:0;max-width:720px;margin:0 auto}

/* ─── DOCUMENTS ─────────────────────────────── */
#documents{background:var(--ivory);padding:72px 0}
.doc-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 auto 32px;max-width:940px}
.doc-col{background:#fff;border-radius:10px;padding:28px;border:1px solid var(--border)}
.doc-col-title{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--blue-light)}
.doc-list{list-style:disc;padding-left:1.2em}
.doc-list li{display:list-item;font-size:14px;color:var(--text-sub);padding:6px 0;border-bottom:1px solid var(--border);line-height:1.75}
.doc-list li:last-child{border-bottom:none}
.doc-list li::before{content:none}
.doc-list strong{white-space:nowrap}
.doc-note{font-size:13px;color:var(--text-sub);margin-bottom:24px;background:var(--blue-pale);padding:12px 16px;border-radius:6px;border-left:4px solid var(--blue-light)}
.doc-emphasis{color:var(--orange);font-weight:600}
.doc-strong{font-weight:600}
.download-anchor{color:var(--navy);font-weight:400;text-decoration:underline;text-underline-offset:3px}
#downloads{scroll-margin-top:90px}
.download-title-wrap{text-align:center;margin-bottom:16px}
.download-sub{font-size:14px;color:var(--text-sub);margin-top:6px}
.download-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;max-width:700px;margin:0 auto}
.download-card{
  background:#fff;border:1px solid #dbe7f2;border-radius:12px;padding:0;
  text-align:center;box-shadow:0 6px 18px rgba(26,59,92,.08);overflow:hidden;
}
.download-card-head{background:var(--blue-pale);padding:14px 14px 10px}
.download-card .dl-icon{font-size:32px;margin-bottom:8px}
.download-card-body{padding:14px 16px 18px}
.download-card .dl-label{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:8px}
.download-card .dl-desc{font-size:13px;color:var(--text-sub);line-height:1.7;min-height:44px}
.download-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;background:var(--orange);color:#fff;font-size:13px;font-weight:700;padding:9px 20px;border-radius:999px;letter-spacing:.03em;border:none;box-shadow:0 2px 6px rgba(0,0,0,.12);cursor:pointer}
.download-btn:hover{box-shadow:0 3px 8px rgba(0,0,0,.14)}
.download-note{font-size:12px;color:var(--text-sub);margin-top:16px;text-align:center}

/* ─── SENDING ─────────────────────────────── */
#sending{background:#fff;padding:72px 0}
.address-card{
  border:2px solid var(--navy);border-radius:10px;padding:32px;max-width:680px;margin:0 auto;
}
.address-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--blue-light)}
.address-block{background:var(--blue-pale);border-radius:8px;padding:16px 20px;margin-bottom:20px;font-size:15px;line-height:1.8}
.address-block strong{font-size:18px;font-weight:700;color:var(--navy)}
.sending-notes{list-style:none;padding:0}
.sending-notes li{font-size:14px;color:var(--text-sub);padding:7px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start}
.sending-notes li:last-child{border-bottom:none}
.sending-notes li .icon{flex-shrink:0}

/* ─── OK/NG ─────────────────────────────── */
#okng{background:var(--cream);padding:72px 0}
.okng-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.okng-col-title{font-size:18px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.okng-col-title.ok{color:var(--green)}
.okng-col-title.ng{color:var(--red)}
.okng-list{display:flex;flex-direction:column;gap:8px}
.okng-item{
  border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;
  display:flex;align-items:flex-start;gap:8px;
}
.okng-item.ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.okng-item.ng{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.okng-item .mark{flex-shrink:0;font-size:16px}

/* ─── STAMP HANDLING ─────────────────────────────── */
#handling{background:var(--ivory);padding:72px 0}
.handling-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.handling-card{background:#fff;border-radius:10px;padding:20px;border:1px solid var(--border)}
.handling-icon{font-size:32px;margin-bottom:8px}
.handling-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px}
.handling-desc{font-size:13px;color:var(--text-sub);line-height:1.7}
.handling-note-red{
  font-size:13px;color:var(--red);background:#fef2f2;
  border:1px solid #fca5a5;border-radius:6px;padding:12px 16px;margin-bottom:8px;
}
.handling-note{font-size:13px;color:var(--text-sub)}

/* ─── AFTER ASSESSMENT ─────────────────────────────── */
#after{background:#fff;padding:72px 0}
.after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.after-card{background:var(--blue-pale);border-radius:10px;padding:24px}
.after-num{font-size:11px;font-weight:700;color:var(--orange);letter-spacing:.08em;margin-bottom:6px}
.after-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:8px}
.after-kicker{display:inline-block;font-size:12px;font-weight:700;color:var(--orange);background:#fff3e6;border:1px solid #ffd8b0;border-radius:999px;padding:3px 10px;margin-bottom:8px;letter-spacing:.02em}
.after-desc{font-size:14px;color:var(--text-sub);line-height:1.7}
.after-list{list-style:none;padding:0;max-width:680px;margin:0 auto}
.after-row{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--border);padding:12px 0;font-size:14px}
.after-row:first-child{border-top:1px solid var(--border)}
.after-row-label{font-weight:700;color:var(--navy)}
.after-row-val{color:var(--text-sub)}

/* ─── CANCELLATION ─────────────────────────────── */
#cancellation{background:var(--blue-pale);padding:72px 0}
.cancel-card{background:#fff;border-radius:10px;padding:32px;max-width:720px;margin:0 auto}
.cancel-list{list-style:none;padding:0;margin-bottom:16px}
.cancel-list li{font-size:15px;color:var(--text-sub);padding:8px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start}
.cancel-list li:last-child{border-bottom:none}
.cancel-list li::before{content:"✔";color:var(--navy);flex-shrink:0;font-weight:700}
.cancel-note{font-size:13px;color:var(--red);background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:10px 14px}

/* ─── FAQ (postal) ─────────────────────────────── */
#faq{background:var(--gray)}
.faq-item{border-color:var(--border)}

/* ─── SP NAV (postal) ─────────────────────────────── */
#mid-cta br.sp-only,#final-cta br.sp-only{display:none}

/* ─── RESPONSIVE POSTAL ─────────────────────────────── */
@media(max-width:768px){
  #page-hero{padding:36px 0 26px}
  .doc-cols{grid-template-columns:1fr}
  .download-grid{grid-template-columns:repeat(2,1fr)}
  .okng-cols{grid-template-columns:1fr}
  .handling-grid{grid-template-columns:1fr 1fr}
  .after-grid{grid-template-columns:1fr}
  .after-row{grid-template-columns:1fr;gap:2px}
  .page-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:none}
  .page-hero-content{width:100%;max-width:none;margin:0 auto;padding:0 12px}
  .badge-pill{font-size:13px}
  #mid-cta .container,#final-cta .container{display:flex;flex-direction:column;align-items:center}
  #mid-cta .pg-cta-btns,#final-cta .pg-cta-btns{order:3;width:100%;max-width:420px;margin:0 auto}
  #mid-cta .pg-cta-btns .btn-primary,#mid-cta .pg-cta-btns .btn-tel,#final-cta .pg-cta-btns .btn-primary,#final-cta .pg-cta-btns .btn-tel{width:100%;max-width:none;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px}
  #mid-cta .pg-cta-hours,#final-cta .pg-cta-hours{order:4;margin-bottom:0;margin-top:12px}
  #mid-cta br.sp-only,#final-cta br.sp-only{display:block}
}
@media(max-width:480px){
  #downloads{scroll-margin-top:108px}
  .download-grid{grid-template-columns:1fr;max-width:360px}
  .handling-grid{grid-template-columns:1fr}
  .address-block{font-size:14px}
}
@media(min-width:981px){
  #page-hero,#flow,#documents,#downloads,#sending,#okng,#handling,#after,#faq,#final-cta{scroll-margin-top:120px}
}
