@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#163b4b;--paper:#f8f7f3;--muted:#5d7075;--line:#d7dfdc;--blue:#0c5976}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #c28b40;outline-offset:5px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.monogram{font-family:Georgia,serif;font-size:40px;letter-spacing:-5px;position:relative;padding-right:7px}.monogram>span{font:9px sans-serif;letter-spacing:0;position:absolute;right:-1px;top:4px}.brand-name{font-size:12px;letter-spacing:2px;font-weight:700}.brand-name small{display:block;font-size:8px;letter-spacing:3px;font-weight:400;margin-top:6px}nav{display:flex;gap:34px;font-size:13px}nav a:hover,.text-link:hover{color:#34849a}.nav-cta{font-size:12px;font-weight:600;padding:13px 20px;border:1px solid #a4b5b9;border-radius:4px}.nav-cta span{margin-left:22px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:75px 7% 34px 12%}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;margin:0 0 28px;display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#4b9392}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-2.5px}h1{font-size:clamp(36px,3.65vw,60px);line-height:1.16;margin:0 0 25px}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.6px;color:#417485}p{line-height:1.8}.intro{max-width:390px;color:var(--muted);font-size:14px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;background:var(--ink);color:white;padding:18px 24px;font-size:12px;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#236078;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.hero-foot{display:flex;gap:14px;align-items:center;margin-top:64px;font-size:8px;letter-spacing:1.8px}.hero-foot b{margin:0 8px}.tiny-line{width:36px;height:1px;background:#7c959b}.hero-photo{position:relative;min-height:650px;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:47% center}.photo-note{position:absolute;bottom:35px;left:30px;right:30px;background:#f8f7f3ed;padding:21px 25px;display:flex;align-items:center;justify-content:space-between;font-size:15px;line-height:1.5}.photo-note a{border:1px solid #afc0c2;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.photo-index{position:absolute;right:23px;top:25px;font-size:8px;letter-spacing:2px;color:var(--ink)}.values{display:flex;justify-content:space-around;align-items:center;padding:27px 5%;background:#e7edeb;font-size:12px;color:#3e616c}.values i{font-size:19px;font-style:normal;font-weight:400;color:#749196}.section{padding:100px 8%}.about{display:grid;grid-template-columns: .9fr 1fr;gap:11%;align-items:center}.about-image{height:580px;position:relative}.about-image img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;border-radius:3px}.image-label{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:12px 18px;font-size:9px;letter-spacing:2px}h2{font-size:43px;line-height:1.2;margin:0 0 25px}.about-copy>p:not(.eyebrow){max-width:405px;font-size:14px;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid #a8babe;padding:15px 0;font-size:12px;margin-top:9px}.text-link span{margin-left:25px}.signature{margin-top:35px;font-family:Georgia,serif;font-style:italic;font-size:26px}.signature span{display:block;font-family:'DM Sans',sans-serif;font-style:normal;font-size:10px;letter-spacing:1px;margin-top:8px;color:var(--muted)}.care{background:#eff2ef}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:260px;color:var(--muted);font-size:13px}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bdcecd}.care-grid article{padding:28px 30px 5px 0;position:relative}.care-grid article+article{border-left:1px solid #bdcecd;padding-left:32px}.number{font-size:10px;color:#68838c}.line-icon{font-size:36px;margin:32px 0 22px;font-weight:400}h3{font-size:21px;letter-spacing:-.7px;margin:0 0 14px}.care-grid p{font-size:13px;color:var(--muted);max-width:270px}.editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:610px}.editorial>img{width:100%;height:610px;object-fit:cover;object-position:50% 42%}.editorial>div{align-self:center;padding:65px 12%}.editorial h2{font-size:48px}.editorial em{color:#aec5c9}.light{background:var(--paper);color:var(--ink);margin-top:10px}.light:hover{background:#d6e3e3}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:270px}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:25px 0;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:21px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);margin:0 24px 24px 0}details p a{text-decoration:underline}.contact{margin:0 8% 90px;padding:0;background:#e4ebe8;display:grid;grid-template-columns:1.3fr .8fr;overflow:hidden;border-radius:4px}.contact>div{padding:60px}.contact img{height:100%;max-height:470px;width:100%;object-fit:cover;object-position:50% 39%}.contact p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact .button{margin-top:15px}footer{margin:0 6%;padding:30px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:not(.brand){font-size:11px}footer small{font-size:9px;color:var(--muted)}.skip{position:fixed;top:-80px;background:var(--ink);color:white;padding:15px;z-index:9}.skip:focus{top:0}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header{padding:0 5%;height:85px}nav{gap:18px}.hero-copy{padding:65px 8%}.hero{min-height:560px}.hero-photo{min-height:560px}h1{font-size:38px;letter-spacing:-2px}.hero-foot{margin-top:40px}.section{padding:75px 6%}.about{gap:6%}.about-image{height:490px}h2{font-size:36px}.editorial h2{font-size:40px}.editorial>img{height:540px}.editorial{min-height:540px}.contact{padding:0;margin:0 6% 65px}.contact>div{padding:40px}.contact .eyebrow{font-size:8px}footer p{display:none}}@media(max-width:700px){header{height:78px}.brand{gap:10px}.monogram{font-size:33px}.brand-name{font-size:9px;letter-spacing:1.5px}.brand-name small{font-size:7px;letter-spacing:2px}nav{display:none}.nav-cta{font-size:10px;padding:11px 12px}.nav-cta span{margin-left:7px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 35px}.eyebrow{font-size:8px;margin-bottom:22px}h1{font-size:41px;letter-spacing:-2px}.intro{font-size:13px;max-width:340px}.hero-foot{margin-top:30px}.hero-photo{min-height:420px}.hero-photo>img{object-position:50% 40%}.photo-note{left:22px;right:22px;bottom:22px;padding:16px 20px;font-size:13px}.values{flex-wrap:wrap;gap:14px 20px;padding:24px 6%;font-size:10px}.values i:nth-of-type(2){display:none}.section{padding:60px 7%}.about{grid-template-columns:1fr;gap:35px}.about-image{height:460px}.about-image img{object-position:50% 61%}h2{font-size:35px;letter-spacing:-1.8px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:330px;margin-top:25px}.care-grid{grid-template-columns:1fr}.care-grid article{padding:25px 0!important;display:grid;grid-template-columns:45px 1fr;gap:0 10px}.care-grid article+article{border-left:0;border-top:1px solid #bdcecd}.line-icon{grid-column:1;grid-row:2 / 4;margin:8px 0;font-size:29px}.number{grid-column:1;grid-row:1}.care-grid h3{grid-column:2;grid-row:1 / 3;margin-top:0}.care-grid p{grid-column:2;margin:7px 0 0;max-width:100%}.editorial{grid-template-columns:1fr}.editorial>img{height:390px;object-position:50% 28%}.editorial>div{padding:45px 7% 55px}.editorial h2{font-size:38px}.faq{grid-template-columns:1fr;gap:25px}.faq>div>p:not(.eyebrow){max-width:100%}summary{font-size:13px;padding:22px 0}.contact{padding:0;grid-template-columns:1fr;margin:0 7% 50px}.contact>div{padding:35px 25px}.contact img{height:330px;object-position:50% 28%}.contact .button{gap:25px}footer{flex-wrap:wrap;padding:25px 0;gap:25px}footer small{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Vector icons keep the same appearance across desktop, Android and iOS. */
.icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle;overflow:visible}
.nav-cta,.text-link,footer>a:not(.brand){display:inline-flex;align-items:center}
.nav-cta{white-space:nowrap}
.nav-cta .icon{width:16px;height:16px}
.button>span,.text-link>span,summary>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.line-icon{display:flex;align-items:center}
.line-icon .icon{width:36px;height:36px}
.values i{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.values .icon{width:19px;height:19px}
summary>span{width:24px;height:24px}
footer>a:not(.brand){gap:8px}
@media(max-width:700px){
.line-icon .icon{width:32px;height:32px}
.values{display:grid;grid-template-columns:1fr 20px 1fr;gap:16px 12px;text-align:center}
.values i:nth-of-type(2){display:none}
.values span{white-space:nowrap}
.nav-cta{min-height:44px}
.text-link{gap:12px;line-height:1.5}
.text-link>span{margin-left:0}
}
@media(max-width:370px){
header{padding:0 4%;gap:10px}
.brand-name{font-size:8px;letter-spacing:1px}
.nav-cta{padding:10px 8px;font-size:9px}
h1{font-size:36px}
}
/* Brand identity from the professional's own planning material. */
:root{--ink:#061d29;--paper:#faf8f3;--muted:#58666b;--line:#dedbd2;--blue:#033b48;--gold:#b58a50}
header,footer{background:#02121e;color:#f6efe2}
header{border-bottom:1px solid #85633b;height:108px}
.brand-logo{display:block;width:240px;height:auto}
footer{margin:0;padding:28px 6%;border-top:1px solid #85633b}
footer small{color:#c7bdab}
.nav-cta{border-color:#9d7a49;color:#efd6b0}
.hero{background:#02121e;color:#fffaf0}
.hero-copy .intro{color:#c8d1d4}
.hero em,.editorial em{color:#d7b57d}
.hero .eyebrow,.hero-foot{color:#d7b57d}
.hero .button,.editorial .button{background:#dbbb84;color:#071c28}
.hero .button:hover,.editorial .button:hover{background:#edcfa1}
.hero-foot .tiny-line{background:#b58a50}
.hero-photo .photo-note{color:#061d29}
em{color:#8a6334}
.eyebrow>span{background:#b58a50}
.values{background:#eee5d6;color:#624b2f}
.values i{color:#9b7442}
.care{background:#f0ede5}
.care-grid{border-color:#d5c8b1}
.care-grid article+article{border-color:#d5c8b1}
.line-icon{color:#94703f}
.editorial{background:#033743}
.editorial-description{font-size:14px;color:#d5e0df;max-width:390px;margin-bottom:28px}
.contact{background:#eee5d6}
.plan-detail{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.plan-detail>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:410px}
.plan-outline{border:1px solid #d6c6ab;background:#fffdf8;padding:32px}
.plan-outline .eyebrow{font-size:9px;letter-spacing:1.6px}
.plan-outline>div{display:flex;gap:22px;padding:19px 0;border-top:1px solid #e3d9c9;align-items:baseline}
.plan-outline b{color:#936d3b;font-size:11px;font-weight:500}
.plan-outline span{font-size:16px}
.plan-outline small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}
@media(max-width:700px){header{height:86px}.brand-logo{width:175px}header .nav-cta{font-size:9px;padding:10px;gap:6px}header .nav-cta span{margin-left:0}.plan-detail{grid-template-columns:1fr;gap:30px}.plan-outline{padding:25px 20px}.plan-outline span{font-size:15px}footer .brand-logo{width:200px}.editorial h2{font-size:34px}.hero h1{font-size:38px}.values{font-size:11px}}
@media(max-width:370px){.brand-logo{width:145px}.hero h1{font-size:34px}.editorial h2{font-size:31px}}

header,footer,.hero{background:#000e1b}
/* Responsive layout: comfortable reading widths, fluid type and touch targets. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:none}
main,section,article,section>div{min-width:0}
h1,h2,h3{overflow-wrap:normal;letter-spacing:-.045em}
h1{font-size:clamp(36px,3.5vw,60px)}
h2{font-size:clamp(30px,3vw,46px)}
em{letter-spacing:-.035em}
.button{min-height:48px;max-width:100%;gap:24px;font-size:14px}
.nav-cta{min-height:44px}
nav a{min-height:44px;display:flex;align-items:center}
.intro,.about-copy>p:not(.eyebrow),.care-grid p,.editorial-description,.plan-detail>div>p:not(.eyebrow),.faq>div>p:not(.eyebrow),details p,.contact p:not(.eyebrow){font-size:15px;line-height:1.75}
.hero-copy{padding:clamp(40px,5vw,85px) 9%}
.hero-foot{margin-top:36px;line-height:1.8}
.section{padding:clamp(56px,6vw,100px) max(6%,calc((100% - 1320px)/2))}
.hero-photo{min-height:600px}
.about{gap:7%}
.about-image{height:auto;aspect-ratio:4/5}
.about-image img{object-position:50% 62%}
.editorial>img{height:100%;min-height:600px;max-height:780px;object-position:50% 30%}
.editorial>div{padding:60px 10%}
.editorial h2{font-size:clamp(32px,3.2vw,48px)}
.contact{padding:0;margin:0 6% 72px}
.contact>div{padding:48px}
.contact img{height:100%;max-height:none;min-height:420px}
.photo-note a{min-width:44px;min-height:44px}
@media(min-width:1800px){header{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}.hero-copy{padding-left:max(12%,calc((100vw - 1440px)/2))}.hero-photo{max-height:760px}}
@media(max-width:1100px){
header{padding:0 4%;gap:20px}
.brand-logo{width:210px}
nav{gap:18px}
.hero-copy{padding:48px 7%}
.hero h1{font-size:clamp(34px,4vw,44px)}
.hero-photo{min-height:600px}
.section-heading{gap:32px}
.about,.faq,.plan-detail{gap:6%}
.editorial>div{padding:45px 8%}
.editorial h2 br{display:none}
.editorial h2 em{display:block;margin-top:10px}
.contact>div{padding:36px}
}
@media(max-width:900px){
header{height:auto;min-height:100px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:14px 6% 8px}
header .brand{grid-column:1;grid-row:1}
header .nav-cta{grid-column:2;grid-row:1}
header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;gap:32px;border-top:1px solid #ffffff20;padding-top:4px}
header nav a{font-size:13px}
.hero{grid-template-columns:1.05fr 1fr;min-height:0}
.hero-copy{padding:40px 8%}
.hero h1{font-size:34px}
.hero h1 em{font-size:.96em}
.hero-photo{min-height:560px}
.hero-foot{font-size:7px;letter-spacing:1px;gap:10px}
.photo-note{left:16px;right:16px;bottom:20px;padding:16px;font-size:13px}
.section-heading{display:block}
.section-heading>p{max-width:520px;margin-top:20px}
.care-grid{grid-template-columns:1fr}
.care-grid article,.care-grid article+article{padding:24px 0;display:grid;grid-template-columns:52px 1fr;gap:8px 16px;border-left:0}
.care-grid article+article{border-top:1px solid #d5c8b1}
.care-grid .number{grid-column:1;grid-row:1}
.care-grid .line-icon{grid-column:1;grid-row:2/4;margin:0;align-self:start}
.care-grid h3{grid-column:2;grid-row:1;margin:0}
.care-grid p{grid-column:2;grid-row:2/4;max-width:none;margin:0}
.editorial{grid-template-columns:.85fr 1fr;min-height:0}
.editorial>img{min-height:560px}
.editorial h2{font-size:32px}
.plan-detail,.faq{grid-template-columns:1fr;gap:30px}
.plan-detail>div>p:not(.eyebrow),.faq>div>p:not(.eyebrow){max-width:620px}
.plan-outline{padding:30px}
.plan-outline small{font-size:14px}
.faq h2 br{display:none}
.contact{grid-template-columns:1.1fr 1fr}
.contact h2{font-size:32px}
.contact .button{gap:12px;font-size:13px}
}
@media(max-width:600px){
header{padding:12px 5% 4px;gap:8px 12px}
.brand-logo{width:clamp(145px,43vw,200px)}
header .nav-cta{font-size:11px;padding:10px;gap:8px}
header .nav-cta span{margin-left:0}
header nav{gap:30px}
header nav a{font-size:12px}
.hero{grid-template-columns:1fr}
.hero-copy{padding:32px 6% 28px}
.hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.12;margin-bottom:18px}
.hero h1 em{font-size:1em}
.eyebrow{font-size:9px;letter-spacing:1.6px;line-height:1.6;margin-bottom:18px}
.intro{max-width:100%;margin-bottom:22px}
.hero .button{width:100%;justify-content:space-between}
.hero-foot{margin-top:22px;font-size:8px;letter-spacing:1px}
.hero-photo{min-height:0;height:auto;aspect-ratio:1.15}
.hero-photo>img{object-position:50% 35%}
.photo-index{top:15px;font-size:7px}
.photo-note{bottom:16px;left:6%;right:6%;padding:12px 16px}
.values{padding:20px 6%;font-size:11px}
.section{padding:48px 6%}
.about{grid-template-columns:1fr;gap:28px}
.about-image{width:100%;height:auto;aspect-ratio:1.05}
.about-image img{object-position:50% 65%}
h2,.contact h2{font-size:clamp(29px,7.7vw,36px);line-height:1.18}
.about h2 br{display:none}
.about h2 em{display:block;margin-top:8px}
.signature{margin-top:24px}
.text-link{font-size:13px}
.care-grid h3{font-size:21px}
.editorial{grid-template-columns:1fr}
.editorial>img{min-height:0;height:auto;aspect-ratio:1.15;max-height:430px;object-position:50% 27%}
.editorial>div{padding:36px 6% 44px}
.editorial h2{font-size:clamp(29px,7.7vw,36px)}
.editorial .button{width:100%}
.plan-outline{padding:24px 20px}
.plan-outline .eyebrow{font-size:9px}
.plan-outline>div{gap:16px}
.plan-outline small{font-size:13px}
summary{font-size:15px;line-height:1.5;gap:18px;padding:20px 0}
details p{margin-right:0}
.contact{padding:0;margin:0 6% 48px;grid-template-columns:1fr}
.contact>div{padding:28px 22px}
.contact .button{width:100%;font-size:13px}
.contact img{min-height:0;height:auto;aspect-ratio:1.1;object-position:50% 28%}
footer{padding:28px 6%;display:grid;grid-template-columns:1fr auto;gap:20px 14px}
footer .brand-logo{width:175px}
footer small{grid-column:1/-1;width:auto}
footer p{display:none}
}
@media(max-width:350px){header .nav-cta{font-size:10px;padding:8px}.brand-logo{width:142px}.hero h1{font-size:32px}.hero h1 em{font-size:30px}.hero-foot b{margin:0 3px}.plan-outline{padding:20px 16px}.contact>div{padding:25px 18px}}
