/* System fonts keep the planner readable and available offline. */
:root{font-family:'DM Sans',sans-serif;color:#12323b;background:#f3f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.page-shell{max-width:1240px;margin:auto;padding:0 30px}.site-header{height:79px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e3e2}.brand{text-decoration:none;font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.05em;display:flex;align-items:center;gap:10px}.brand-dot{color:#edb928}.brand-mark{width:35px;height:35px;border-radius:11px;background:#0d2d38;display:grid;place-items:center;transform:rotate(-8deg)}.brand-mark span{display:block;width:8px;height:24px;border-left:3px solid #f2c44d;border-right:3px solid #f2c44d;transform:perspective(20px) rotateX(20deg)}.header-note{color:#56747a;font-size:.84rem;font-weight:700}.intro-row{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:center;padding:42px 0 32px}.eyebrow,.overline{font-size:.75rem;letter-spacing:.13em;font-weight:800;color:#2c8580;margin:0 0 10px}.intro-row h1{font-family:Manrope,sans-serif;letter-spacing:-.065em;font-size:clamp(2.1rem,4vw,3.65rem);line-height:1.08;margin:0 0 10px;color:#0d2d38}.lead{margin:0;max-width:640px;line-height:1.5;font-size:1.02rem;color:#557078}.intro-photo{height:145px;border-radius:22px;background:linear-gradient(140deg,#16565a,#86a9a2);background-size:cover;background-position:center;box-shadow:0 10px 28px #1b4a5620}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:20px;align-items:start}.plan-card,.result-column,.detail-panel{border-radius:23px;background:#fff;border:1px solid #e4ebea;box-shadow:0 12px 38px #1539420c}.plan-card{padding:28px}.section-heading,.result-topline{display:flex;align-items:center;gap:13px;margin-bottom:24px}.section-heading h2,.result-topline h2{font-family:Manrope,sans-serif;font-size:1.35rem;line-height:1.15;letter-spacing:-.045em;margin:0}.section-heading .overline,.result-topline .overline{margin-bottom:4px}.step-number{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#d9f0eb;color:#177872;font-size:.83rem;font-weight:800}.step-number.dark{background:#1e4b54;color:#ecdf92}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 13px}.field{display:block;font-size:.88rem;font-weight:700;color:#284952}.field select,.field input{width:100%;height:49px;margin-top:8px;border:1px solid #d6e1e0;background:#f9fbfa;color:#102f38;border-radius:11px;padding:0 13px;outline:none;transition:border-color .2s,box-shadow .2s}.field select:focus,.field input:focus{border-color:#158b83;box-shadow:0 0 0 3px #158b8326}.unit{float:right;font-weight:500;color:#729096;font-size:.78rem}.more-options{margin-top:20px;padding-top:16px;border-top:1px solid #ebf0ef}.more-options summary{list-style:none;cursor:pointer;font-size:.88rem;font-weight:700;color:#267e79}.more-options summary::-webkit-details-marker{display:none}.more-options summary span{margin-left:4px}.optional-fields{padding:18px 0 4px}.primary-button{width:100%;height:53px;border:0;border-radius:12px;background:#f2c84f;color:#17343b;font-size:.96rem;font-weight:800;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 4px 0 #dab43e;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 0 #dab43e}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #dab43e}.form-footnote{font-size:.77rem;line-height:1.5;color:#6f878b;margin:17px 0 0}.result-column{background:#0d2d38;color:#fff;border-color:#0d2d38;padding:28px;min-height:439px}.result-topline{margin-bottom:22px}.result-topline .overline{color:#94d0c9}.result-topline h2{font-size:1.34rem}.estimate-badge{margin-left:auto;font-size:.65rem;letter-spacing:.08em;font-weight:800;color:#f5cc54;border:1px solid #567076;border-radius:20px;padding:7px 9px}.route-band{display:flex;align-items:center;gap:16px;padding:17px 16px;border-radius:14px;background:#19434c;margin-bottom:15px}.route-band strong{display:block;font-size:.9rem;font-weight:700;line-height:1.35}.route-band small{display:block;color:#b5cdce;margin-top:4px;font-size:.8rem}.route-dots{width:12px;display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}.route-dots span{width:9px;height:9px;border:2px solid #f2c84f;border-radius:50%}.route-dots span:last-child{background:#f2c84f}.route-dots i{height:23px;border-left:1px dashed #f2c84f}.total-card{padding:22px 23px;border-radius:16px;background:#f2c84f;color:#19343b;display:flex;justify-content:space-between;min-height:145px}.total-card p{margin:0;font-size:.87rem;font-weight:700}.total-card strong{display:block;font-family:Manrope,sans-serif;font-size:2.45rem;line-height:1.22;letter-spacing:-.075em;margin:6px 0}.total-card small{font-size:.75rem;color:#496064}.total-icon{font-size:2rem}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}.cost-box{border:1px solid #31545e;border-radius:13px;padding:16px 17px}.cost-box span{display:block;color:#b7cacb;font-size:.8rem;margin-bottom:5px}.cost-box strong{font-family:Manrope,sans-serif;font-size:1.18rem;letter-spacing:-.04em}.result-hint{font-size:.75rem;color:#aec5c7;line-height:1.4;margin:18px 0 0}.details{margin:36px 0 55px}.details-heading{margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-panel{padding:27px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.panel-heading h3{font-family:Manrope,sans-serif;letter-spacing:-.04em;font-size:1.15rem;margin:0}.panel-heading span{font-size:.73rem;color:#5b7d82;font-weight:700}.checklist-heading{margin:28px 0 13px;padding-top:22px;border-top:1px solid #e2e9e8}.plan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.secondary-button,.text-button{min-height:45px;border-radius:10px;padding:10px 17px;font-size:.86rem;font-weight:800}.secondary-button{background:#0d2d38;color:#fff;border:1px solid #0d2d38}.text-button{background:transparent;border:1px solid #c9d9d8;color:#176f6b}.source-note{font-size:.76rem;color:#688184;line-height:1.5;margin:18px 0}footer{padding:22px 0 35px;border-top:1px solid #dce7e5;font-size:.8rem;color:#70898b}footer span{margin:0 5px}@media(max-width:800px){.page-shell{padding:0 17px}.site-header{height:68px}.header-note{display:none}.intro-row{grid-template-columns:1fr;padding:30px 0 23px}.intro-photo{display:none}.workspace,.detail-grid{grid-template-columns:1fr}.plan-card,.result-column,.detail-panel{padding:22px}.intro-row h1{font-size:2.35rem}.lead{font-size:.98rem}.result-column{min-height:auto}}@media(max-width:440px){.field-grid{gap:14px 10px}.field{font-size:.82rem}.field input,.field select{font-size:.88rem;padding:0 9px}.result-topline{gap:10px}.estimate-badge{font-size:.6rem}.intro-row h1{font-size:2.15rem}}@media print{body{background:#fff;color:#000}.page-shell{max-width:none;padding:0}.site-header{height:auto;padding:0 0 18px}.intro-row,.plan-card,.plan-actions,footer,.source-note{display:none!important}.workspace,.detail-grid{display:block}.result-column{color:#000;background:#fff;border:1px solid #ddd;min-height:0}.result-topline .overline,.result-hint{color:#333}.route-band{color:#000;background:#f2f2f2}.route-band small{color:#333}.total-card{background:#f1f1f1;color:#000}.cost-box{border-color:#ddd}.cost-box span{color:#444}.details{display:block!important;margin:20px 0}.detail-panel{box-shadow:none;border:1px solid #ddd;break-inside:avoid;margin:0 0 15px}.detail-panel a{color:#000;text-decoration:underline}.detail-panel a:after{content:' (' attr(href) ')';font-size:9px;overflow-wrap:anywhere}}
