body.guide-page { background: var(--paper); }
.guide-header { border-bottom: 1px solid var(--line); background: var(--paper); }
.guide-header .header-inner { min-height: 76px; }
.guide-header .primary-nav { margin-left: auto; }
.guide-hero { position: relative; overflow: hidden; padding: 86px 0 72px; background: radial-gradient(circle at 90% 8%, rgba(239,106,38,.18), transparent 28%), var(--cream); }
.guide-hero::after { position: absolute; right: -90px; bottom: -150px; width: 440px; height: 440px; border: 70px solid rgba(36,72,52,.08); border-radius: 50%; content: ""; }
.guide-hero .shell { position: relative; z-index: 1; }
.guide-hero h1 { max-width: 980px; font-size: clamp(3.5rem, 7vw, 7rem); }
.guide-deck { max-width: 760px; margin-top: 28px; color: #3e4b42; font-size: 20px; font-weight: 650; }
.guide-meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 28px; color: #5a655e; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; align-items: start; padding-block: 74px 100px; }
.guide-article { min-width: 0; }
.guide-article h2 { margin-top: 72px; font-size: clamp(2.5rem, 4vw, 4.5rem); }
.guide-article h2:first-child { margin-top: 0; }
.guide-article h3 { margin-top: 38px; font-size: 30px; line-height: 1.08; }
.guide-article > p, .guide-article li { font-size: 17px; }
.guide-article ul, .guide-article ol { padding-left: 23px; }
.guide-article li { margin-bottom: 12px; }
.step-card { display: grid; grid-template-columns: 58px 1fr; gap: 18px; margin: 22px 0; border: 1px solid var(--line); padding: 28px; background: var(--cream); }
.step-card > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-weight: 900; }
.step-card h3 { margin: 2px 0 12px; }
.step-card p:last-child { margin-bottom: 0; }
.guide-figure { margin: 34px 0; }
.guide-figure img, .guide-figure video { width: 100%; max-height: 620px; object-fit: cover; background: #111; }
.guide-figure figcaption { padding: 12px 15px; background: var(--forest-deep); color: white; font-size: 12px; }
.image-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 34px 0; }
.image-pair .guide-figure { margin: 0; }
.image-pair img { height: 420px; }
.guide-aside { position: sticky; top: 108px; border-top: 5px solid var(--orange); padding: 26px; background: var(--forest-deep); color: white; }
.guide-aside h2 { font-size: 30px; }
.guide-aside a { display: flex; min-height: 44px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); text-decoration: none; font-weight: 800; }
.guide-aside p { color: #c9d5cd; font-size: 14px; }
.easy-note { margin: 30px 0; border-left: 5px solid var(--orange); padding: 20px 24px; background: #f6e6d9; }


.choice-table { width: 100%; margin: 28px 0; border-collapse: collapse; font-size: 15px; }
.choice-table th, .choice-table td { border: 1px solid var(--line); padding: 16px; text-align: left; vertical-align: top; }
.choice-table th { background: var(--forest); color: white; }
.source-list { font-size: 13px; }
.source-list a { word-break: break-word; }
.planner { margin-top: 80px; border: 2px solid var(--ink); background: var(--cream); box-shadow: 14px 14px 0 var(--orange); }
.planner-head { padding: 34px; border-bottom: 1px solid var(--line); background: var(--forest-deep); color: white; }
.planner-head h2 { margin: 0; color: white; }
.planner-head p { max-width: 720px; margin: 18px 0 0; color: #cfdbd3; }
.planner-form { display: grid; gap: 34px; padding: 34px; }
.form-section { border: 0; margin: 0; padding: 0; }
.form-section legend { margin-bottom: 18px; font: 800 30px/1 var(--display); }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: grid; align-content: start; gap: 8px; }
.field label { font-size: 13px; font-weight: 900; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; border: 1px solid #7c827e; border-radius: 2px; padding: 11px 12px; background: white; color: var(--ink); font: inherit; }
.field-compact input { max-width: 360px; }
.field textarea { min-height: 110px; resize: vertical; }
.field small { color: #5e6861; }
.privacy-note { margin: 0; border-left: 4px solid var(--orange); padding: 12px 14px; background: #fff7ed; color: #48534c; font-size: 13px; line-height: 1.5; }
.check-field { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.check-field input { width: 20px; height: 20px; }
.plan-output { min-height: 160px; border: 1px solid var(--line); padding: 28px; background: white; }
.plan-output h3 { margin-bottom: 18px; }
.plan-output dl { display: grid; grid-template-columns: 180px 1fr; margin: 0; }
.plan-output dt, .plan-output dd { margin: 0; border-bottom: 1px solid #e3ded5; padding: 10px 0; }
.plan-output dt { font-weight: 900; }
.plan-output ul { margin-bottom: 0; }
.plan-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.plan-status { min-height: 24px; margin: 0; font-size: 13px; font-weight: 800; }
.guide-footer-cta { padding: 72px 0; background: var(--orange); }
.guide-footer-cta h2 { max-width: 780px; }
@media (max-width: 900px) {
  .guide-layout { grid-template-columns: 1fr; }
  .guide-aside { position: static; }
  .field-grid.three { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .guide-hero { padding: 60px 0 52px; }
  .guide-layout { gap: 42px; padding-block: 52px 74px; }
  .image-pair, .field-grid, .field-grid.three { grid-template-columns: 1fr; }
  .image-pair img { height: 320px; }
  .step-card { grid-template-columns: 44px 1fr; padding: 22px 18px; }
  .step-card > span { width: 40px; height: 40px; }
  .planner { box-shadow: 8px 8px 0 var(--orange); }
  .planner-head, .planner-form { padding: 24px 20px; }
  .plan-output dl { grid-template-columns: 1fr; }
  .plan-output dt { padding-bottom: 0; border-bottom: 0; }
  .plan-actions { display: grid; }
  .choice-table { display: block; overflow-x: auto; }
}
