/* Consultation shortcuts and a shorter reading path; established artwork stays intact. */
.photo-primary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;padding:16px 12px;border:2px solid #fff;border-radius:14px;background:#078849;color:#fff!important;text-decoration:none;text-align:center;font-size:clamp(15px,3.8vw,19px);font-weight:800;line-height:1.6;box-shadow:0 3px 0 #076737;overflow-wrap:anywhere}
.photo-primary small{font-size:12px;font-weight:500;line-height:1.5;color:#fff}
.photo-primary:hover{background:#08723e}
.photo-primary:focus-visible,.photo-mail:focus-visible{outline:3px solid #214e78;outline-offset:4px}
.photo-helper{font-size:13px!important;line-height:1.8!important;text-align:center;margin:12px 0 19px!important;color:#435e70!important}
#part1 .actions .diagnose{min-height:48px;padding:12px 8px;background:#fff;border:1px solid #9babab;border-radius:12px;box-shadow:none;color:#23475e!important;font-size:15px;line-height:1.6;margin:0 0 14px!important}
#part1 .actions .contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#part1 .actions .contact a{min-height:46px;display:flex;align-items:center;justify-content:center}
#part1 .eligible-homes .rental-shortcut{font-size:13px;margin-top:5px}
#part1 .eligible-homes li+li{margin-top:5px}
#section5 .nx-steps li{padding-top:18px;padding-bottom:18px}
#section6 .nx-head{margin-bottom:22px}
#section6 .photo-steps{display:grid;gap:0;padding:0;margin:0 0 24px;list-style:none;border:1px solid #d8e1de;border-radius:13px;background:#fff;overflow:hidden}
#section6 .photo-steps li{display:flex;align-items:center;gap:13px;padding:14px 18px;font-size:16px;line-height:1.65;color:#23475e}
#section6 .photo-steps li+li{border-top:1px solid #e3e9e5}
#section6 .photo-steps b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#edf4ef;color:#276747;font-size:14px}
#section6 .photo-mail{display:block;min-height:44px;padding:10px;text-align:center;font-size:14px;line-height:1.7;color:#234f7b;text-underline-offset:4px}
#section10 .nx-contact-channels .nx-line{line-height:1.6;white-space:normal}
.cta-float-v2 .cta-v2-top{height:35px!important;min-height:35px!important;padding:0 0 4px 65px!important;position:relative}
.cta-float-v2 .cta-v2-mascot{left:0!important;bottom:-55px!important;width:65px!important;height:76px!important}
.cta-float-v2 .cta-v2-buttons{padding-left:49px;gap:6px}
.cta-float-v2 .cta-v2-buttons a{height:56px;min-height:56px;font-size:14px}
.cta-float-v2 .cta-v2-buttons small{font-size:10px}
.cta-float-v2 .cta-v2-icon{width:28px;height:28px;flex-basis:28px;font-size:12px}
.cta-float-v2 .cta-v2-phone .cta-v2-icon{font-size:21px}
html body{padding-bottom:calc(122px + env(safe-area-inset-bottom,0px))!important}
html{scroll-padding-bottom:130px}
@media(max-width:360px){.cta-float-v2 .cta-v2-buttons{padding-left:42px;gap:4px}.cta-float-v2 .cta-v2-buttons a{gap:4px;font-size:12px}.cta-float-v2 .cta-v2-mascot{width:57px!important;height:69px!important}.cta-float-v2 .cta-v2-icon{width:24px;height:24px;flex-basis:24px;font-size:10px}.cta-float-v2 .cta-v2-buttons small{font-size:9px}.photo-primary{padding:14px 9px}}
@media print{html body{padding-bottom:0!important}}

/* A slim diagnosis shortcut accompanies the existing LINE and phone actions. */
.cta-float-v2 .cta-v2-diagnose{height:31px;min-height:31px;font-size:13px;line-height:1.2;gap:9px;border-width:1px;box-shadow:0 1px 3px #10294420}
.s2-new .partner-scope-note{margin:18px 0 0!important;text-align:left}
@media(max-width:360px){.cta-float-v2 .cta-v2-top{padding-left:57px!important}.cta-float-v2 .cta-v2-diagnose{font-size:12px}}

/* Diagnosis actions share one red treatment; the upper fixed shortcut is centered. */
body a[href="#section11"],#part1 .actions a.diagnose,#calc11 #cgo,#section4 #try-bill-sample{background:#cb1731!important;color:#fff!important;border-color:#cb1731!important;box-shadow:0 3px 0 #981226!important;text-decoration:none!important}
body a[href="#section11"]:hover,#part1 .actions a.diagnose:hover,#calc11 #cgo:hover,#section4 #try-bill-sample:hover{background:#b0132a!important;border-color:#b0132a!important}
body a[href="#section11"]:focus-visible,#calc11 #cgo:focus-visible{outline:3px solid #234f7b;outline-offset:3px}
.cta-float-v2 .cta-v2-top{padding:0 8px 4px!important;justify-content:center!important}
.cta-float-v2 .cta-v2-diagnose{width:100%;margin:0 auto;border:1px solid #fff!important;box-shadow:0 2px 0 #981226!important}
.cta-float-v2 .cta-v2-mascot{bottom:-56px!important;height:61px!important;width:59px!important}
@media(max-width:360px){.cta-float-v2 .cta-v2-top{padding-left:8px!important;padding-right:8px!important}.cta-float-v2 .cta-v2-mascot{height:59px!important;width:56px!important}}

#section4 #try-bill-sample{padding:11px 14px;border:0;border-radius:10px;min-height:44px;font-weight:700}

/* Mobile typography: keep short labels intact and give home types a clear hierarchy. */
#part1 .early-strengths{align-items:stretch;gap:8px}
#part1 .early-strengths>span{min-width:0;padding:13px 5px;text-align:center;align-items:center}
#part1 .early-strengths>span>b{display:block;font-size:clamp(14px,3.8vw,18px);line-height:1.5;white-space:nowrap;margin:0 0 8px}
#part1 .early-strengths>span>small{display:block;width:100%;font-size:12px;font-weight:400;line-height:1.8;white-space:nowrap;text-align:center}
#part1 .eligible-homes{padding:20px 18px}
#part1 .eligible-homes>strong{font-size:18px;line-height:1.6;margin-bottom:16px}
#part1 .eligible-homes ul{gap:0}
#part1 .eligible-homes li{padding-left:22px}
#part1 .eligible-homes li+li{margin-top:18px;padding-top:18px;border-top:1px solid #e7e3d5}
#part1 .eligible-homes li:before{font-size:17px;line-height:1.65}
#part1 .eligible-homes li+li:before{top:18px}
#part1 .eligible-homes .eligible-title{display:block;font-size:clamp(17px,4.5vw,21px);font-weight:850;line-height:1.6;color:#23475e}
#part1 .eligible-homes .eligible-title>span{display:inline-block;white-space:nowrap}
#part1 .eligible-homes small{font-size:12px;line-height:1.85;margin-top:6px;font-weight:400}
#part1 .eligible-homes .rental-shortcut{font-size:12px;font-weight:650;line-height:1.7;margin-top:8px;min-height:36px;display:flex;align-items:center;text-decoration-thickness:1px}
#part1 .eligible-homes>p{margin-top:18px!important;font-size:11px!important;line-height:1.9!important}
#section10 .nx-contact-channels a{min-width:0;text-align:center;align-items:center;justify-content:center}
#section10 .nx-contact-channels a.nx-line>span{display:block;white-space:nowrap}
#section10 .nx-contact-channels a.nx-line>small{display:block;white-space:nowrap;font-size:10px!important;margin-top:4px}
.contact-note-line{display:block;text-align:center;text-wrap:pretty}
body .nx-primary>span[aria-hidden="true"]{margin-left:0!important;flex:0 0 auto}
body a.nx-primary[href="#section11"]{justify-content:center;text-align:center;gap:12px}
@media(max-width:380px){#part1 .early-strengths{gap:6px}#part1 .early-strengths>span>small{font-size:11px}#part1 .early-strengths>span>b{font-size:14px}#part1 .eligible-homes{padding:18px 14px}#part1 .eligible-homes .rental-shortcut{font-size:12px}#section10 .nx-contact-channels a.nx-line>small{font-size:9px!important}}

/* Selective depth: service value first, then the offer. */
#section2 .s2-new-role{padding:28px 24px;border:2px solid #355b77;border-radius:18px;background:linear-gradient(145deg,#f7fbfe,#edf4f8);box-shadow:0 5px 0 #d3e0e8,0 12px 24px #193b5912}
#section2 .s2-new-role>.s2-new-small{display:inline-block;padding:4px 11px;background:#234861;border-radius:6px;color:#fff;font-size:12px;letter-spacing:.04em}
#section2 .s2-new-diagram-center{position:relative;background:transparent;border:2px solid #355b77;box-shadow:0 4px 10px #193b5914;border-radius:15px}
#section2 .s2-new-diagram-center strong{color:#193b59;font-weight:850}
#section2 .s2-new-diagram-center small{color:#526d7d}
#section2 .s2-new-diagram-center svg{stroke:#355b77}
#section2 .partner-scope-note{color:#496171!important}
#section7 .nx-offer:first-child{border:3px solid #b58c35;background:linear-gradient(145deg,#fffdf5,#fff7e3);box-shadow:0 5px 0 #e5d6ad,0 12px 25px #7d60151a}
#section7 .nx-offer:first-child .nx-offer-tag{display:block;width:fit-content;max-width:100%;padding:7px 11px;border:1px solid #e0c77e;border-radius:7px;background:#f5e5b5;color:#5c4515;line-height:1.8}
#section7 .nx-offer:first-child .nx-amount{color:#193b59;text-shadow:0 2px 0 #fff}
#section7 .nx-offer:first-child .nx-chips span{background:#fffdf6;border-color:#d9c58b}
@media(max-width:560px){#section2 .s2-new-role{padding:23px 18px;border-radius:15px}#section7 .nx-offer:first-child{padding:22px 21px}}
@media(max-width:360px){#section2 .s2-new-role{padding:21px 14px}#section2 .s2-new-role h3{font-size:21px}#section2 .s2-new-diagram strong{font-size:12px!important}#section2 .s2-new-diagram small{font-size:10px!important}#section7 .nx-offer:first-child{padding:20px 17px}}

/* Whole-page hierarchy. Navy: service and guidance. Gold: figures and benefits.
   Sage: housing support. Red: diagnosis. Green: LINE. Quiet panels stay quiet. */
#part1 .eligible-homes{border:2px solid #8ba5b8;border-top:5px solid #254d69;background:#fffef9;box-shadow:0 4px 0 #dce3df,0 9px 20px #193b590b}
#part1 .eligible-homes>strong{color:#193b59!important;padding-bottom:11px;border-bottom:1px solid #dce4e7}
#part1 .early-strengths>span{border-color:#d7d8c1;background:#fffdf3;box-shadow:0 3px 0 #e9e0b8}
#part1 .actions .contact a.phone{background:#174b85}
#part1 .actions .contact a.mail{background:#fff;color:#245570;border:1px solid #8ba5b8}
#section2 .s2-new-visit{border:1px solid #b7cfc0;border-left:4px solid #4b7b65;border-radius:12px;background:#f0f6f1}
#section3 .s3-region{border:1px solid #c9d6df;box-shadow:none}
#section3 .s3-stat-grid>div:first-child{background:#fff;border:2px solid #5c7e98}
#section3 .s3-stat-grid>div:first-child>span{color:#234d6a;font-weight:850}
#section3 .s3-stat-grid>div:first-child>strong{color:#173e5c}
#section3 .s3-discovery{background:#fff4d3;border:1px solid #e1cd8e;box-shadow:none}
#section3 .s3-company{border:1px solid #d5dfe3;box-shadow:none}
#section3 .s3-offer-example{border:2px solid #345b76;border-top:6px solid #234b67;background:#f1f6f9;box-shadow:0 5px 0 #d6e1e8,0 10px 22px #193b5912}
#section3 .s3-offer-kicker{display:inline-block;padding:4px 9px;border-radius:5px;background:#234b67;color:#fff;letter-spacing:.03em}
#section3 .s3-offer-price{border:2px solid #c4a34e;background:#fffdf5;box-shadow:0 4px 0 #e5d8b2}
#section3 .s3-offer-price>strong{font-size:clamp(43px,9vw,54px);color:#173e5c!important;font-weight:900}
#section3 .built-home-review{border:1px solid #a9c1b4;border-left:5px solid #507d67;background:#f0f6f0;box-shadow:0 4px 0 #dce6db}
#section3 .built-home-review .built-kicker{display:block;color:#315e47;font-weight:850}
#section3 .built-home-review .built-lead strong{color:#315e47}
body .nx-primary[href^="https://line.me"],#section3 .built-consult{background:#078849!important;color:#fff!important;border-color:#078849!important;box-shadow:0 3px 0 #086837;text-align:center}
body .nx-outline[href^="https://line.me"]{color:#17693f;border-color:#87ae96;background:#f7fcf8}
#section4 .nx-bill{border:2px solid #8fa9b9;box-shadow:0 5px 0 #dce6eb,0 10px 20px #193b590d}
#section4 .nx-help-card{border-left:4px solid #4d758b;background:#edf4f7}
#section5 .nx-step-number{background:#244e6a;color:#fff!important;box-shadow:0 3px 0 #d2dee4}
#section6.next-section{background:#eef6f0!important;border-top:1px solid #d4e5d8;border-bottom:1px solid #d4e5d8}
#section6 .photo-steps{border-color:#accab5;box-shadow:0 4px 0 #dce9df}
#section7 .nx-offer:nth-child(2){border-color:#d6dcd9;box-shadow:0 3px 0 #ecece1}
#section7 .nx-advance{border-left:4px solid #ad8730;background:#f8edcc}
#rental-support .rental-message{background:#eef6f0;border:2px solid #658e76;border-top:5px solid #426e55;box-shadow:0 5px 0 #d9e6db,0 10px 20px #244b3510}
#rental-support .rental-message strong{color:#28593e;font-weight:850}
#rental-support .rental-case{border-color:#b8cad4;box-shadow:0 3px 0 #e1e8eb}
#rental-support .rental-case summary{background:#f6f9fa}
#rental-support .rental-case summary strong{color:#204b68;font-weight:850}
#rental-support .rental-case-kicker{color:#3e6b53}
#section9 .nx-faq details{border-color:#d6e0e4;box-shadow:none}
#section9 .nx-faq details[open]{border-color:#66879d}
#section9 .nx-faq details[open] summary{background:#edf4f8}
#section9 .nx-q{color:#234d69}
#section10 .nx-head{padding:25px 23px;border-radius:17px;background:#234b67;box-shadow:0 5px 0 #d5e0e5;color:#fff}
#section10 .nx-head .nx-kicker{color:#e2edf4}
#section10 .nx-head .nx-kicker b{background:#f0d587;color:#234b67}
#section10 .nx-head h2{color:#fff}
#section10 .nx-head h2 em{background:none;color:#ffe29a}
#section10 .nx-head>p{color:#edf4f8;font-size:15px;line-height:1.9}
#section10 .nx-reassurance>span{border-color:#b4c8be;background:#f4f9f5}
#section10 .nx-reassurance strong{color:#2f6248}
#calc11 #calculator{border:2px solid #6d8da3;border-top:5px solid #234b67;border-radius:15px;background:#fff;padding:4px 22px 24px;margin:24px 0;box-shadow:0 5px 0 #dce5eb,0 10px 22px #193b590d}
#calc11 #calculator label{color:#234b67;font-weight:850}
#calc11 #calculator input{border-color:#9cb3c1;background:#fbfcfd}
#calc11 #cresult{border:2px solid #8aa6b8;box-shadow:0 4px 0 #dde7ed}
#calc11 .calc-saving{border:1px solid #d7bd71;background:#fff5d7}
@media(max-width:560px){#section10 .nx-head{padding:22px 18px}#section10 .nx-head h2{font-size:27px}#calc11 #calculator{padding:2px 16px 22px}#section3 .s3-offer-example{padding:22px 18px}}
@media(max-width:360px){#section10 .nx-head h2{font-size:25px}#section10 .nx-head{padding:20px 15px}#calc11 #calculator{padding-left:13px;padding-right:13px}}
#section3 .built-home-review h3 .phrase{display:inline-block;white-space:nowrap}

/* Align the closing photo and captain at their top edges. */
#section10 .nx-closing-scene{align-items:start!important}
#section10 .nx-closing-scene>div>img{margin:0 auto!important;object-position:center top!important}

/* One centered caption beneath both closing images. */
#section10 .nx-closing-scene>div>img{height:auto!important}
#section10 .nx-closing-scene>.closing-scene-caption{grid-column:1/-1;text-align:center;margin:0!important;font-size:clamp(18px,4.5vw,23px)!important;line-height:1.7;font-weight:700}
#section10 .closing-scene-caption span,#section10 .closing-scene-caption strong{display:block}
#section10 .closing-scene-caption span{font-size:.8em;font-weight:500}

/* Match the first comparison badge to the following two. */
#section3 .s3-region-title{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:10px}
#section3 .s3-region-title:after{grid-column:1/-1}
