@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#12324f;--navy:#12324f;--coastal:#5080a0;--blue:#416b85;--blue-hover:#31536b;--muted:#526879;--line:#d6e2ea;--soft:#f1f6f8;--pale:#e8f0f5;--focus:#90b2c9;--white:#fff;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font:18px/1.6 'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a.button{text-decoration:none}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}.site-header{max-width:1440px;margin:auto;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;flex:0 1 350px;max-width:100%;text-decoration:none;line-height:1}.brand-logo{display:block;width:100%;height:auto}.footer-brand{display:block;width:280px;max-width:100%;margin-bottom:16px}.report-brand{width:320px;max-width:100%;margin-bottom:24px}.site-header nav{display:flex;gap:28px;align-items:center;flex-shrink:0}.site-header nav>a{font-size:18px;text-decoration:none}.button{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:6px;padding:15px 23px;display:inline-flex;gap:28px;align-items:center;justify-content:center;font-weight:600;line-height:1.3}.button:hover{background:var(--blue-hover)}.button-small{padding:12px 16px!important;font-size:18px}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.button-white{background:white;color:var(--navy);border-color:white;width:100%}.button-white:hover{background:var(--pale)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:35px;padding-bottom:64px}.eyebrow{font-size:18px;font-weight:700;letter-spacing:2px;line-height:1.5;margin:0 0 20px;color:var(--blue)}.hero h1{font:76px/.98 'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-1.8px;margin:0 0 25px}.hero h1 em{color:var(--coastal);font-weight:400;font-style:italic}.intro{max-width:470px;font-size:18px;line-height:1.65;margin:0 0 26px;color:var(--muted)}.quiet{font-size:18px;color:var(--muted);line-height:1.5}.hero .quiet{font-size:18px;margin-top:14px}.hero-image{position:relative;margin:0;min-height:490px;border-radius:100px 6px 6px 6px;overflow:hidden;background:#c5d7e3;align-self:stretch}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:55% 50%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(18,50,79,.84));color:white;padding:100px 30px 22px;font:31px/1.2 'Libre Caslon Display',Georgia,serif}.hero-image small{display:block;font:18px/1.5 'DM Sans',Arial;margin-top:9px;color:#e8eef3}.local-strip{background:var(--navy);color:#f0f5f8}.local-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:19px;padding-bottom:19px;font-size:18px}.local-strip p{margin:0}.local-strip b{font-weight:400;padding:0 10px;color:#9fbfd3}.section{padding-top:75px;padding-bottom:75px}.section-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;margin-bottom:35px;align-items:end}.section-heading p{margin-top:0}.section-heading>p{color:var(--muted);font-size:18px;max-width:430px}.section-heading .eyebrow{margin-bottom:12px}h2{font:44px/1.12 'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.5px;margin:0 0 20px}h3{font-size:18px;margin:20px 0 16px;line-height:1.4}p{margin-top:0}.planner-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:start}.calculator{border:1px solid var(--line);border-radius:var(--radius);padding:28px}.form-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.form-heading h3{margin-top:0}.text-button{padding:0;border:0;background:transparent;font-size:18px;color:var(--blue);text-decoration:underline}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.fields label,label{display:block;font-size:18px;font-weight:500}label small{font-weight:400;font-size:18px;display:block;line-height:1.4;color:var(--muted);margin-top:5px}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #bacdd9;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);min-height:46px;margin-top:7px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:2px solid var(--focus)}.input-wrap{display:flex;align-items:center;border:1px solid #bacdd9;border-radius:6px;margin-top:7px;background:#fff;padding:0 12px;gap:6px}.input-wrap input{border:0;margin:0;background:transparent;padding:11px 0;min-width:0;border-radius:0}.input-wrap:focus-within{outline:2px solid var(--focus);border-color:var(--blue)}.input-wrap input:focus{outline:none}.input-wrap>span{color:var(--muted);font-weight:400}.cost-details{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.cost-details summary{font-size:18px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.cost-details[open] summary{margin-bottom:15px}.estimate{background:var(--navy);color:white;border-radius:var(--radius);padding:32px;position:sticky;top:25px}.estimate .eyebrow{color:#b2cddd;font-size:18px;letter-spacing:1.5px}.estimate h3{font-size:18px;font-weight:400;margin:0}.big-number{font:65px/1.15 'Libre Caslon Display',Georgia,serif;letter-spacing:-1px;margin:7px 0}.delta{font-size:18px;background:#284b64;display:inline-block;padding:6px 12px;border-radius:5px;color:#e1edf4;margin-bottom:25px}.estimate-lines{border-top:1px solid #4b6a80;border-bottom:1px solid #4b6a80;padding:16px 0;margin-bottom:18px}.estimate-line{display:flex;justify-content:space-between;gap:20px;padding:5px 0;font-size:18px}.estimate-line strong{white-space:nowrap}.estimate-line span{color:#cbdde8}.estimate-note{font-size:18px;line-height:1.6;color:#bdd2df;margin:20px 0}.cost-row{display:flex;justify-content:space-between;font-size:18px;padding:3px 0;color:#d0e0ea}.cost-track{display:flex;height:7px;border-radius:3px;overflow:hidden;margin:5px 0 12px}.cost-track>span:nth-child(1){background:var(--coastal)}.cost-track>span:nth-child(2){background:#acc6d8}.cost-track>span:nth-child(3){background:#729ab3}.print-button{display:block;background:none;color:#d3e2eb;text-decoration:underline;border:0;margin:14px auto 0;font-size:18px}.funding-note{font-size:18px;color:#ffe4b8;margin:8px 0}.soft{background:var(--soft)}.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.three-up h3{font-size:20px;max-width:280px}.three-up p{font-size:18px;color:var(--muted)}.step-number{font:27px 'Libre Caslon Display',Georgia;color:var(--coastal);display:block;border-bottom:1px solid var(--line);padding-bottom:15px}.contact-panel{border:1px solid var(--line);border-radius:var(--radius);padding:30px}.choice-grid{border:0;padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.choice{padding:20px;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;align-items:flex-start;cursor:pointer}.choice:has(input:checked){border-color:var(--blue);background:var(--soft)}.choice strong{font-size:18px;line-height:1.35;display:block}.choice small{margin-top:8px;font-size:18px}.choice input,input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}.three-fields{grid-template-columns:repeat(3,1fr);margin-bottom:22px}.checkbox-line{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:18px}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.form-bottom p{max-width:550px;margin:0}.message{margin:15px 0 0;font-size:18px}.error{color:#a92525;font-size:18px}.message.success{background:#edf7f3;padding:15px;color:#185039}.buyer-callout{display:flex;gap:40px;align-items:center;justify-content:space-between;background:var(--pale);padding-top:38px;padding-bottom:38px;border-radius:10px;margin-bottom:55px}.buyer-callout h2{font-size:35px;margin-bottom:12px}.buyer-callout p{max-width:600px;color:var(--muted);margin-bottom:0}.buyer-callout .eyebrow{margin-bottom:14px}.buyer-callout .button{white-space:nowrap}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;padding-top:30px;padding-bottom:36px;font-size:18px;color:var(--muted)}.site-footer strong{font-size:18px;color:var(--ink)}.site-footer p{margin:8px 0}.site-footer a{display:inline-block;margin-right:20px}.site-footer .footer-brand{display:block;margin-right:0}.preview-banner{text-align:center;background:var(--pale);color:var(--navy);font-size:18px;padding:7px 15px}.skip{position:absolute;top:-60px;left:10px;z-index:5;background:white;padding:10px}.skip:focus{top:5px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.honeypot{position:absolute;left:-10000px}.booking{padding:28px;border:1px solid var(--line);margin-top:20px;border-radius:10px}.slot-grid{display:flex;flex-wrap:wrap;gap:10px}.slot-grid button{background:var(--soft);color:var(--blue);border:1px solid #b5cddc;border-radius:6px;padding:12px}.narrow{max-width:900px}.page-title{padding-top:60px;padding-bottom:30px}.page-title h1{font:60px/1.05 'Libre Caslon Display',Georgia;margin:0 0 25px}.resource-card{padding:28px;border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.resource-card h3{margin-top:0}.resource-card li{margin:8px 0}.resource-amount{font:40px 'Libre Caslon Display',Georgia}.plain-list{padding-left:22px}.badge{font-size:18px;border-radius:4px;background:var(--pale);padding:4px 8px;display:inline-block}.notice{border-left:3px solid var(--blue);padding:14px 20px;background:var(--soft)}.action-row{display:flex;gap:12px;flex-wrap:wrap}button:disabled{opacity:.6;cursor:not-allowed}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-value{font:35px Georgia}.divider{border:0;border-top:1px solid var(--line);margin:25px 0}
@media(min-width:1500px){.hero{gap:75px}.hero-image{min-height:530px}}
@media(max-width:1000px){.wrap{padding-left:28px;padding-right:28px}.site-header{padding:20px 28px}.site-header nav{gap:16px}.site-header nav>a:not(.button){display:none}.hero{gap:28px}.hero h1{font-size:62px}.hero-image{min-height:440px}.planner-grid{grid-template-columns:1.1fr 1fr;gap:22px}.calculator,.estimate{padding:22px}.fields{gap:15px}.choice-grid{grid-template-columns:1fr}.choice small{margin-top:4px}.three-fields{grid-template-columns:1fr 1fr}.local-strip>.wrap{flex-direction:column;gap:5px}.buyer-callout{margin:0 28px 40px}.section-heading{gap:25px}.section-heading h2{font-size:38px}}
@media(max-width:700px){.wrap{padding-left:20px;padding-right:20px}.site-header{padding:20px;flex-wrap:wrap;gap:18px}.brand{flex-basis:350px;width:350px}.site-header nav .button{font-size:18px;padding:10px!important;gap:6px}.hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:35px;gap:25px}.hero h1{font-size:62px}.hero-image{height:300px;min-height:300px;border-top-left-radius:65px}.hero-image figcaption{font-size:26px}.eyebrow{font-size:18px}.local-strip>.wrap{font-size:18px}.local-strip b{padding:0 5px}.section{padding-top:45px;padding-bottom:45px}.section-heading{grid-template-columns:1fr;gap:0;margin-bottom:22px}.section-heading h2,h2{font-size:37px}.planner-grid{grid-template-columns:1fr}.estimate{position:static}.fields,.three-fields{grid-template-columns:1fr 1fr}.fields label{font-size:18px}.three-up{grid-template-columns:1fr;gap:18px}.three-up h3{max-width:none}.contact-panel{padding:20px}.choice-grid{gap:10px}.choice{padding:15px}.form-bottom{align-items:stretch;flex-direction:column;gap:18px}.form-bottom .button{width:100%}.buyer-callout{display:block;margin:0 20px 35px;padding:25px}.buyer-callout .button{margin-top:20px}.site-footer{flex-direction:column;gap:15px}.page-title h1{font-size:45px}.report-grid{grid-template-columns:1fr}}
@media(max-width:380px){.fields,.three-fields{grid-template-columns:1fr}.site-header nav{display:none}.hero h1{font-size:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.hero,.local-strip,#how,#next-step,.buyer-callout,.site-footer,.preview-banner,.button,.print-button,.text-button{display:none!important}.wrap{padding:0;max-width:none}.section{padding:15px}.planner-grid{display:block}.calculator{display:none}.estimate{position:static;background:white;color:black;border:1px solid #ccc;break-inside:avoid}.estimate *{color:black!important}.estimate .eyebrow{color:#333}.estimate-lines{border-color:#ccc}.section-heading{display:block}.cost-track{display:none}body{font-size:18px}}

.prose{max-width:850px}.prose h2{font-size:30px;margin-top:36px}.prose p{line-height:1.8}.resource-cards article{background:white;padding:25px;border-radius:14px}.resource-cards h3{font-size:30px}.resource-cards a{font-size:18px}.broker-bar{background:var(--soft);padding:14px max(24px,calc((100% - 1280px)/2));display:flex;gap:24px;align-items:center;flex-wrap:wrap}.broker-bar strong{font-size:25px}.broker-bar span{font-size:18px}.notice{padding:18px 22px;border-radius:10px;background:var(--pale)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:25px 0}
.brokerage-logo{display:block;width:220px;max-width:100%;height:auto}.brokerage-print-name{display:none}#broker-identity .brokerage-logo{width:190px;margin-bottom:12px}.broker-bar>strong{flex-shrink:0;max-width:100%}
@media(max-width:700px){.broker-bar{padding:16px 20px;gap:12px}.brokerage-logo{width:200px}}
@media print{.brokerage-logo{display:none!important}.brokerage-print-name{display:inline!important}}

/* Supporting description beneath the approved Coastal Home artwork. */
.brand-description{display:block;margin-top:9px;color:var(--navy);font-size:18px;font-weight:500;line-height:1.45;letter-spacing:.01em;text-align:center;text-wrap:balance}

/* Supplied business identity, professional marks and exact disclaimer. */
.site-footer.disclosure-footer{max-width:1600px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(140px,.45fr) minmax(0,1.2fr);gap:32px;align-items:start;padding-top:36px;padding-bottom:36px}
.disclosure-footer .footer-brand{width:260px;margin-bottom:18px}
.disclosure-footer p{margin:0 0 10px;font-size:18px;line-height:1.65;overflow-wrap:anywhere}
.disclosure-footer .footer-links{display:flex;flex-direction:column;gap:14px}
.disclosure-footer .footer-links a{margin:0;font-size:18px;line-height:1.65}
.professional-notice{display:flex;align-items:flex-start;gap:20px;color:var(--muted);min-width:0}
.professional-notice img{display:block;width:165px;max-width:100%;height:auto;flex-shrink:0;background:#fff}
.professional-notice p{margin:0}
@media(max-width:1150px){.site-footer.disclosure-footer{grid-template-columns:minmax(0,1fr) minmax(140px,.45fr)}.disclosure-footer .professional-notice{grid-column:1/-1;max-width:820px}.professional-notice img{width:190px}}
@media(max-width:700px){.site-footer.disclosure-footer{grid-template-columns:minmax(0,1fr);gap:24px}.disclosure-footer .professional-notice{grid-column:auto;flex-direction:column;gap:16px}.disclosure-footer .footer-links{flex-direction:row;flex-wrap:wrap;gap:12px 24px}.professional-notice img{width:190px}}
@media print{.site-footer.disclosure-footer{display:block!important;break-inside:avoid;padding:16px 0}.disclosure-footer .footer-brand,.disclosure-footer .footer-links{display:none}.disclosure-footer p{font-size:18px}.professional-notice{margin-top:10px}.professional-notice img{width:130px}}

/* Larger text and clear brokerage placement for the 55+ audience. */
body{font-size:18px}small{font-size:18px}input,select,textarea,button{font-size:inherit}
.local-strip>.wrap{flex-direction:column;justify-content:center;text-align:center;gap:6px;padding-top:24px;padding-bottom:24px;font-size:20px}
.broker-bar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;padding:24px max(24px,calc((100% - 1440px)/2));align-items:center}
.brokerage-identity,.footer-brokerage{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;min-width:0}
.brokerage-identity .brokerage-logo,.footer-brokerage .brokerage-logo{width:180px;max-width:100%;height:auto}
.broker-bar p,.broker-bar .agent-details{font-size:18px;line-height:1.65;margin:0;overflow-wrap:anywhere}
.broker-bar .agent-details p+p{margin-top:8px}
.site-footer.disclosure-footer{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px 48px}
.disclosure-footer .footer-business{grid-column:1;grid-row:1}
.disclosure-footer .footer-links{grid-column:1;grid-row:2}
.disclosure-footer .professional-notice{grid-column:2;grid-row:1/3;max-width:none}
.footer-brokerage{margin-top:24px}.footer-brokerage p{margin:0}
.professional-notice{flex-direction:column;gap:20px}.professional-notice img{width:190px}
.site-header nav{flex-wrap:wrap;justify-content:flex-end}.site-header nav>a{font-size:18px}
.fields label,.fields label small{font-size:18px}.three-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.estimate-line{flex-wrap:wrap;gap:4px 16px}.estimate-line strong{white-space:normal}
@media(max-width:1100px){.broker-bar{grid-template-columns:1fr;gap:20px}.site-footer.disclosure-footer{grid-template-columns:minmax(0,1fr);gap:24px}.disclosure-footer .footer-business,.disclosure-footer .footer-links,.disclosure-footer .professional-notice{grid-column:1;grid-row:auto}.professional-notice{flex-direction:row}.site-header{flex-wrap:wrap}}
@media(max-width:700px){.fields,.three-fields{grid-template-columns:minmax(0,1fr)}.site-header nav{width:100%;justify-content:flex-start}.site-header nav .button{font-size:18px;padding:14px 18px!important}.professional-notice{flex-direction:column}.brokerage-identity,.footer-brokerage{grid-template-columns:1fr;gap:16px}.broker-bar{padding:24px 20px}.brand-description,.eyebrow{font-size:18px}.hero h1{font-size:54px}}
@media print{body{font-size:12px}.disclosure-footer p,.broker-bar p{font-size:12px}.footer-brokerage{display:block}.brokerage-identity{display:block}}

/* Brokerage prominence and one field per row keep larger text comfortable. */
.brokerage-identity{display:contents}
.brokerage-identity .brokerage-logo{width:400px}
.broker-bar{grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:12px 32px}
.brokerage-identity>strong{grid-column:1;grid-row:1/3}
.brokerage-identity>.brokerage-address{grid-column:2;grid-row:1;align-self:end}
.broker-bar .agent-details{grid-column:2;grid-row:2;align-self:start}
.footer-brokerage{grid-template-columns:minmax(0,320px) minmax(0,1fr)}
.footer-brokerage .brokerage-logo{width:320px}
.fields,.three-fields{grid-template-columns:minmax(0,1fr);gap:24px}
.fields>label{min-width:0}
@media(max-width:1000px){.planner-grid{grid-template-columns:minmax(0,1fr)}.estimate{position:static}}
@media(max-width:700px){
 .site-header .brand{width:280px;flex-basis:280px;max-width:80%}
 .disclosure-footer .footer-brand{max-width:80%}
 .broker-bar,.footer-brokerage{grid-template-columns:minmax(0,1fr)}
 .brokerage-identity>strong,.brokerage-identity>.brokerage-address,.broker-bar .agent-details{grid-column:1;grid-row:auto}
 .brokerage-identity .brokerage-logo{width:400px;max-width:100%}
 .footer-brokerage .brokerage-logo{width:320px;max-width:100%}
}
