:root{--navy:#102b43;--ink:#17334a;--blue:#426c8c;--light:#edf3f7;--line:#d5e0e8;--white:#fff;--accent:#b6d3e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.65 'Public Sans',sans-serif}h1,h2,h3,.brand{font-family:Archivo,sans-serif;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3rem,6.7vw,6.6rem);max-width:850px;font-weight:600;margin:18px 0 24px}h2{font-size:clamp(2.2rem,4.2vw,4rem);font-weight:500;margin:12px 0 24px}h3{font-size:1.6rem;margin:14px 0}p{margin:0 0 20px}a{color:inherit}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}.wrap{max-width:1280px;margin:auto;padding:0 52px}.eyebrow{font-size:.875rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.muted{color:#5e7383}.small{font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;border:1px solid var(--navy);background:var(--navy);color:white;text-decoration:none;font-size:.95rem;font-weight:600;border-radius:3px}.btn.light{background:white;color:var(--navy);border-color:white}.btn.outline{background:transparent;border-color:var(--line);color:var(--ink)}header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:1.42rem;letter-spacing:-.05em;font-weight:700}.brand span{display:block;font:12px/1.5 'Public Sans',sans-serif;letter-spacing:0;color:var(--blue);margin-top:5px}nav{display:flex;gap:27px;align-items:center}nav a{text-decoration:none;font-size:.875rem}.hero{background:var(--navy);color:white;padding:64px 0 0;overflow:hidden}.hero-top{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:end;padding-bottom:44px}.hero .eyebrow{color:var(--accent)}.hero p{color:#d6e2ec;max-width:450px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.text-link{font-size:.9rem;text-underline-offset:5px}.hero-picture{position:relative;height:360px;margin-top:14px}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.photo-note{position:absolute;bottom:20px;left:24px;padding:8px 13px;background:rgba(16,43,67,.85);font-size:.8rem}.proof-strip{display:flex;justify-content:space-between;padding:26px 0;color:var(--ink);gap:20px}.proof-strip b{display:block;font:600 1.7rem Archivo}.proof-strip span{font-size:.875rem}.section{padding:64px 0}.section.light{background:var(--light)}.section-head{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center;margin-bottom:36px}.section-head p{max-width:450px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{border-top:2px solid var(--blue);padding-top:22px}.number{font:500 .875rem Archivo;color:var(--blue)}.service p{color:#5e7383}.service small{font-size:.875rem;color:var(--blue)}.comparison{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.compare-side{padding:36px}.compare-side+div{background:var(--navy);color:white}.compare-side ul{list-style:none;margin:20px 0 0;padding:0}.compare-side li{padding:13px 0;border-bottom:1px solid #d5e0e83d}.compare-side .eyebrow{color:var(--blue)}.compare-side+div .eyebrow{color:var(--accent)}.two{display:grid;grid-template-columns:1fr 1fr;gap:32px}.property{background:white;border:1px solid var(--line)}.property img{width:100%;height:245px;object-fit:cover}.property-body{padding:30px}.property-body p{color:#5e7383}.property-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.price{font:600 1.9rem Archivo}.price span{font:14px 'Public Sans'}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.photo-pair figure{margin:0}.photo-pair img{width:100%;height:235px;object-fit:cover}.photo-pair figcaption{font-size:.875rem;margin-top:10px;color:var(--blue)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.timeline article{border-top:1px solid var(--line);padding-top:22px}.director{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white}.director img{width:100%;height:100%;min-height:440px;object-fit:cover}.director .copy{padding:58px 48px}.director p{color:#d6e2ec}.calc{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.875rem;font-weight:600}input,select{display:block;width:100%;padding:12px;border:1px solid #b7cad8;border-radius:3px;margin-top:7px;background:white;color:var(--ink)}.result{background:var(--navy);color:white;padding:34px}.result .big{font:500 clamp(2.4rem,5vw,4.2rem) Archivo;margin:16px 0}.result dl{margin:24px 0}.result dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ffffff26;gap:18px}.result dt{font-size:.875rem}.result dd{margin:0;font-weight:600}.result .small{color:#c5d7e6}.assumptions{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.assumptions summary{cursor:pointer;font-size:.9rem;font-weight:600}.assumptions p{font-size:.875rem;color:#5e7383;margin-top:12px}.review{padding:60px;background:var(--light)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.review form{display:grid;gap:16px}.review form .two{gap:16px}.review textarea{width:100%;height:110px;padding:12px;margin-top:7px;border:1px solid #b7cad8;font:inherit}.form-status{margin:0;font-size:.875rem}.review-note{font-size:.875rem;color:#5e7383}footer{background:var(--navy);color:white;padding:42px 0}.footer-row{display:flex;justify-content:space-between;gap:25px;align-items:start}.footer-row p{color:#a8c0d2;font-size:.875rem}.footer-row .brand span{color:#a8c0d2}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:17px 14px;border-bottom:1px solid var(--line)}th{font-size:.875rem;color:var(--blue)}.table-scroll{overflow:auto}.pricing-hero{background:var(--navy);color:white;padding:70px 0}.pricing-hero h1{font-size:clamp(3rem,5vw,5rem)}.pricing-hero p{max-width:660px;color:#d6e2ec}.tag{display:inline-block;padding:5px 10px;background:var(--light);font-size:.8rem;color:var(--blue);border-radius:3px}.fee-results{margin-top:30px;padding:25px;background:var(--light);display:flex;gap:50px;flex-wrap:wrap}.fee-results b{font:600 2rem Archivo;display:block}.fee-results span{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.wrap{padding:0 28px}nav{gap:16px}nav .hide-mobile{display:none}.hero-top,.section-head,.calc,.review-grid{grid-template-columns:1fr;gap:25px}.hero-top{padding-bottom:20px}h1{font-size:4rem}.services{gap:20px}.director .copy{padding:35px 28px}.review{padding:35px}.section{padding:48px 0}}@media(max-width:600px){.wrap{padding:0 20px}.nav{min-height:80px}.brand{font-size:1.16rem}.brand span{font-size:10px}nav .btn{padding:10px 12px;font-size:.8rem}nav{gap:12px}h1{font-size:3rem}.hero{padding-top:40px}.hero-picture{height:250px}.proof-strip{flex-wrap:wrap}.proof-strip>div{flex:1;min-width:130px}.services,.two,.comparison,.timeline,.director,.photo-pair{grid-template-columns:1fr}.section-head{margin-bottom:25px}.director img{min-height:0;height:270px}.property img{height:220px}.review{padding:27px 20px}.review form .two{grid-template-columns:1fr}.inputs{gap:14px}.result{padding:24px}.footer-row{flex-direction:column}th,td{padding:12px 10px;font-size:.9rem}.photo-pair img{height:220px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.annual-opportunity{border-top:1px solid #ffffff26;padding-top:20px;margin-bottom:22px}.annual-opportunity .big{color:var(--accent)}.opportunity-breakdown th,.opportunity-breakdown td{padding:12px 5px;border-bottom:1px solid #ffffff26;font-size:.875rem;letter-spacing:0}.opportunity-breakdown th{color:#d6e2ec;font-weight:500}.opportunity-breakdown td{font-weight:600;white-space:nowrap;text-align:right}.opportunity-breakdown thead th:not(:first-child){text-align:right}.opportunity-breakdown thead th{color:var(--accent)}

.brand{display:block;flex-shrink:0}.brand-logo{display:block;width:290px;height:55px;object-fit:cover}.brand span{margin-top:0}footer .brand-logo{filter:brightness(0) invert(1)}@media(max-width:600px){html{scroll-padding-top:160px}.nav{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.nav nav{width:100%;justify-content:space-between}.brand-logo{width:230px;height:44px}}

.property-plans .property-bottom{flex-wrap:wrap}.property-plans .property-body{padding:24px}@media(min-width:601px) and (max-width:900px){.property-plans{grid-template-columns:1fr 1fr}.property-plans .property:last-child{grid-column:1 / -1}}
/* Keep the opening headline and photograph together. */
.hero{padding-top:34px}.hero-top{gap:44px;padding-bottom:12px}.hero h1{font-size:clamp(2.8rem,5.4vw,5.2rem);margin:12px 0 10px}.hero-picture{margin-top:0}.hero-top p{margin-bottom:14px}@media(max-width:900px){.hero-top{gap:18px;padding-bottom:16px}.hero{padding-top:28px}}@media(max-width:600px){.hero{padding-top:22px}.hero h1{font-size:2.65rem}.hero-top{gap:12px;padding-bottom:14px}}
/* Strong contrast for the opening service description. */
.hero .hero-top p{color:#ffffff;font-weight:500}
/* Readable text colors on dark and light surfaces. */
:root{--blue:#315875;--accent:#ffffff}.hero p,.director p,.pricing-hero p,.result .small,footer p,.footer-row p,footer .brand span{color:#ffffff}.hero .eyebrow,.director .eyebrow,.result .eyebrow,.pricing-hero .eyebrow{color:#ffffff}.opportunity-breakdown th,.opportunity-breakdown thead th{color:#ffffff}.annual-opportunity .big{color:#ffffff}.starting-label{display:block;font:600 .875rem/1.5 'Public Sans',sans-serif;color:#315875;margin-bottom:5px}.hero{padding-top:18px}.hero-top{padding-bottom:4px;gap:30px}.hero h1{font-size:clamp(2.5rem,4.4vw,4.3rem);margin:8px 0}.hero-top p{margin-bottom:10px}.hero-picture{margin-top:0}@media(max-width:900px){.hero{padding-top:16px}.hero-top{gap:12px;padding-bottom:10px}}@media(max-width:600px){.hero{padding-top:12px}.hero h1{font-size:2.3rem}.hero-top{gap:10px;padding-bottom:10px}}

.hero .btn.outline{color:#fff;border-color:#94b4cc}.service-button{margin-top:20px;font-size:.875rem}.service-details{margin-top:20px}.service-details summary{display:list-item;list-style-position:inside;border:1px solid var(--line);border-radius:3px;padding:12px 16px;cursor:pointer;font-size:.875rem;font-weight:600}.service-details p{font-size:.9375rem;margin-top:15px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{font-size:.875rem}@media(min-width:901px) and (max-width:1150px){header nav{gap:15px}header .brand-logo{width:245px;height:47px}}

.partner-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.partner-actions p{max-width:650px;margin:0}@media(max-width:900px){.partner-actions{align-items:flex-start;flex-direction:column;gap:16px}.nav{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.nav nav{flex-wrap:wrap}}

.partner-menu{position:relative;font-size:.875rem}.partner-menu summary{cursor:pointer;list-style:none;padding:10px 0;font-weight:500}.partner-menu summary::-webkit-details-marker{display:none}.partner-menu summary::after{content:" ▾"}.partner-dropdown{position:absolute;top:100%;right:0;min-width:220px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #102b4320;padding:8px;z-index:30;border-radius:3px}.partner-dropdown a{display:block;padding:12px 14px;color:var(--navy);white-space:nowrap}.partner-dropdown a:hover,.partner-dropdown a:focus{background:var(--light)}.partner-page[hidden],#site-content[hidden]{display:none}.partner-page{min-height:65vh}.partner-page-content{max-width:900px}.partner-page-content>p{max-width:650px}.partner-back{display:inline-block;margin-bottom:24px;color:#fff;font-size:.9375rem;text-underline-offset:4px}.partner-other-links{margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.partner-other-links .btn{margin:8px 10px 0 0}@media(max-width:600px){.partner-dropdown{right:auto;left:0}}

#careers-page[hidden]{display:none}.footer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.footer-button{color:#fff;background:transparent;border-color:#94b4cc;font-size:.875rem;padding:11px 18px}.footer-button:hover,.footer-button:focus{background:#264b67}.social-status:empty{display:none}.social-status{margin-top:12px}.jobs-list{border:1px solid var(--line);background:var(--light);padding:28px;margin:24px 0}.jobs-list p{margin:0}

.site-page[hidden],#pricing-page[hidden]{display:none}.site-page{min-height:65vh}.site-page .director{margin-bottom:64px}

.page-hero-photo{display:block;width:100%;height:285px;object-fit:cover;object-position:center;margin-top:28px;border-radius:3px}@media(max-width:600px){.page-hero-photo{height:210px;margin-top:22px}}

/* Show complete photos so faces are never cropped. */
.page-hero-photo{height:auto;max-height:none;object-fit:contain;object-position:center;aspect-ratio:auto}.director{align-items:center}.director img{height:auto;min-height:0;object-fit:contain;object-position:center}.photo-pair img{height:auto;object-fit:contain}.footer-connect{padding-bottom:30px;margin-bottom:32px;border-bottom:1px solid #94b4cc}.footer-connect h2{font-size:1.5rem;color:#fff;margin:0 0 20px;letter-spacing:-.02em}.footer-connect .footer-actions{margin-top:0;gap:16px}.footer-connect .footer-button{background:#fff;color:#102b43;border-color:#fff;font-weight:700;font-size:1rem;padding:14px 24px}.footer-connect .footer-button:hover,.footer-connect .footer-button:focus{background:#d8e8f4}.footer-connect .social-status{color:#fff}@media(max-width:600px){.page-hero-photo,.director img,.photo-pair img{height:auto;min-height:0}.footer-connect .footer-actions{flex-direction:column;align-items:stretch}.footer-connect .footer-button{width:100%}}
/* Compact page openings across desktop and mobile. */
.pricing-hero{padding:22px 0 24px}.pricing-hero h1{font-size:clamp(2.4rem,4.4vw,4.4rem);margin:8px 0 14px}.pricing-hero p{margin-bottom:12px}.page-hero-photo{margin-top:14px}.hero{padding-top:12px}.hero-top{padding-bottom:6px}.hero h1{margin:6px 0}.site-page>.section:first-of-type,.partner-page>.section:first-of-type{padding-top:30px}.nav{min-height:80px}.brand-logo{height:48px}@media(max-width:900px){.pricing-hero{padding:18px 0 20px}.page-hero-photo{margin-top:12px}.hero{padding-top:10px}.nav{padding-top:8px;padding-bottom:8px}}@media(max-width:600px){.pricing-hero{padding:14px 0 18px}.pricing-hero h1{font-size:2.35rem;margin:6px 0 12px}.page-hero-photo{margin-top:10px}.hero{padding-top:8px}.hero-top{gap:8px;padding-bottom:8px}.nav{min-height:0;padding-top:8px;padding-bottom:8px;gap:6px}.brand-logo{height:42px}.partner-menu summary{padding:6px 0}}

.social-logo{width:27px;height:27px;display:block}.footer-connect .social-icon-button{width:56px;height:56px;padding:14px;flex-shrink:0}@media(max-width:600px){.footer-connect .footer-actions{flex-direction:row;align-items:center}.footer-connect .footer-button:not(.social-icon-button){width:auto;flex-grow:1}}

/* Put opening photographs immediately beneath the navigation. */
.hero{padding-top:8px;background:#102b43;color:#fff}.hero>.wrap{display:flex;flex-direction:column}.hero-picture{order:-1;margin-top:0}.hero-top{padding:18px 0 22px;gap:30px}.pricing-hero{padding:8px 0 22px;background:#102b43;color:#fff}.pricing-hero>.wrap{display:flex;flex-direction:column;align-items:flex-start}.pricing-hero .page-hero-photo{order:-1;margin:0 0 18px}.pricing-hero h1{margin:8px 0 12px}.pricing-hero .partner-back{margin:0 0 12px}header{background:#fff;color:#17334a}.nav{height:auto;min-height:76px}@media(max-width:600px){.hero,.pricing-hero{padding-top:6px}.hero-top{padding:14px 0 18px;gap:10px}.pricing-hero .page-hero-photo{margin-bottom:14px}.nav{min-height:0}}

@media(min-width:901px){header .nav{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}header nav{gap:18px;flex-wrap:wrap}}

/* Search-ready page layout and keyboard access. */
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;color:#102b43;padding:12px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #346c92;outline-offset:4px}.partner-page .service h2{font-size:1.5rem}main{scroll-margin-top:110px}
