@charset "UTF-8";

:root{--cream:#f7f5ee;
--paper:#fffef9;
--ink:#202420;
--muted:#62665e;
--gold:#b59a55;
--gold-dark:#75602c;
--line:#dcded3;
--serif:'Newsreader',Georgia,serif;
--sans:'Manrope',Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:110px}
body{margin:0;
background:var(--cream);
color:var(--ink);
font-family:var(--sans);
font-size:17px;
line-height:1.7;
-webkit-font-smoothing:antialiased}
a{color:inherit;
text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%;
display:block}
svg{fill:none;
stroke:currentColor;
stroke-width:1.5;
stroke-linecap:round;
stroke-linejoin:round}
h1,h2,h3,h4,p{margin-top:0}
h1,h2{font-family:var(--serif);
font-weight:400;
line-height:1.04;
letter-spacing:-1.8px}
h2{font-size:clamp(36px,4.4vw,56px)}
h3,h4{line-height:1.4}
em{font-weight:400;
color:var(--gold-dark)}
p{margin-bottom:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);
outline-offset:5px}
[hidden]{display:none!important}
::selection{background:#ddcd9e;
color:var(--ink)}
.container{width:min(1240px,calc(100% - 112px));
margin-inline:auto}
.section{padding-block:96px}
.eyebrow{font-size:13px;
font-weight:800;
letter-spacing:1.8px;
line-height:1.6;
margin-bottom:24px}
.section-heading>p:last-child{color:var(--muted);
max-width:470px;
font-size:17px}
.section-heading h2{margin-bottom:24px}
.sr-only{position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0}
.skip-link{position:fixed;
top:-100px;
left:20px;
background:var(--ink);
color:white;
padding:12px;
z-index:100}
.skip-link:focus{top:12px}
.announcement{background:var(--ink);
color:#eeeede;
padding:9px 56px;
display:flex;
justify-content:space-between;
font-size:13px;
letter-spacing:.3px}
.announcement-note{color:#c6cabc}
.site-header{background:var(--cream);
border-bottom:1px solid var(--line);
position:sticky;
top:0;
z-index:20}
.header-inner{display:flex;
align-items:center;
justify-content:space-between;
min-height:99px;
gap:22px}
.brand{width:192px;
flex-shrink:0;
display:block}
.brand img{width:192px;
height:85px;
object-fit:contain}
.desktop-nav{display:flex;
gap:28px;
align-items:center;
font-size:14px;
font-weight:600}
.desktop-nav a{padding-block:12px;
position:relative}
.desktop-nav a:after{content:'';
height:1px;
background:var(--gold);
position:absolute;
bottom:8px;
left:0;
width:0;
transition:width .2s}
.desktop-nav a:hover:after{width:100%}
.button{display:inline-flex;
align-items:center;
justify-content:space-between;
gap:28px;
background:var(--ink);
border:1px solid var(--ink);
border-radius:3px;
color:var(--cream);
padding:18px 25px;
font-size:16px;
font-weight:700;
line-height:1.5;
transition:background .2s,transform .2s}
.button:hover{background:#383d34;
transform:translateY(-2px)}
.button span[aria-hidden]{font-size:22px;
font-weight:400;
line-height:1}
.button-small{padding:13px 17px;
font-size:14px;
gap:20px}
.menu-toggle{display:none;
width:45px;
height:45px;
border:1px solid var(--line);
background:none;
border-radius:3px;
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px}
.menu-toggle>span{width:19px;
height:1.5px;
background:var(--ink);
transition:transform .2s}
.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-nav{padding:10px 24px 22px;
border-top:1px solid var(--line)}
.mobile-nav a{display:block;
padding:12px 0;
font-weight:600;
font-size:16px}
.hero{display:flex;
gap:60px;
align-items:center;
padding-top:64px;
padding-bottom:80px}
.hero-copy{flex:1.07}
.hero .eyebrow{display:flex;
align-items:center;
gap:10px;
margin-bottom:22px;
font-size:13px;
letter-spacing:1.7px}
.small-line{width:24px;
height:1px;
background:var(--gold)}
h1{font-size:clamp(54px,6.5vw,87px);
letter-spacing:-2.5px;
margin-bottom:25px;
line-height:1.005}
.hero-description{max-width:440px;
font-size:17px;
line-height:1.9;
color:var(--muted)}
.hero-actions{display:flex;
align-items:center;
gap:28px;
margin-top:28px}
.text-link{display:inline-flex;
gap:15px;
align-items:center;
font-size:14px;
font-weight:700;
border-bottom:1px solid var(--line);
padding:8px 0}
.text-link:hover{border-color:var(--gold)}
.cta-disclosure{display:flex;
gap:8px;
margin-top:20px;
font-size:13px;
line-height:1.9;
color:var(--muted);
max-width:460px}
.cta-disclosure strong{font-weight:500;
color:#555b51}
.cta-disclosure svg{width:16px;
height:16px;
flex-shrink:0;
margin-top:1px;
color:var(--gold-dark)}
.hero-service-note{font-size:13px;
color:var(--muted);
margin-top:10px}
.hero-visual{flex:1;
min-width:0;
padding-top:16px;
position:relative}
.hero-photo-wrap{position:relative}
.hero-photo{width:100%;
aspect-ratio:1.08;
object-fit:cover;
border-radius:120px 4px 4px 4px;
background:#dedbce}
.photo-corner{width:50px;
height:50px;
border-top:1px solid var(--gold);
border-right:1px solid var(--gold);
position:absolute;
right:-15px;
top:-15px}
.hero-note{position:relative;
margin-top:-53px;
margin-left:-30px;
margin-right:50px;
padding:21px 23px;
background:var(--ink);
color:var(--cream);
display:flex;
align-items:center;
gap:16px;
border-radius:3px;
box-shadow:0 8px 16px #2024200c}
.hero-note p{font-family:var(--serif);
font-size:24px;
line-height:1.2;
margin-bottom:3px}
.hero-note div>span{font-size:13px;
color:#c9cdbf}
.note-icon{font-size:26px;
border:1px solid #788267;
width:47px;
height:47px;
display:flex;
align-items:center;
justify-content:center;
color:#d9bd77;
border-radius:50%}
.note-number{margin-left:auto;
font-size:14px;
color:#c3b07b}
.visual-caption{font-size:13px;
letter-spacing:.3px;
color:var(--muted);
text-align:right;
margin-top:18px;
margin-right:2px}
.principles{border-block:1px solid var(--line)}
.principles-inner{display:flex;
padding-block:27px;
gap:30px}
.principles-inner>div{flex:1;
display:flex;
gap:17px;
align-items:center}
.principles-inner>div+div{border-left:1px solid var(--line);
padding-left:29px}
.principle-icon{width:26px;
height:26px;
flex-shrink:0;
font-size:26px;
line-height:1;
color:var(--gold-dark)}
.principles h2{font-family:var(--sans);
font-size:14px;
font-weight:700;
letter-spacing:0;
margin:0 0 5px;
line-height:1.5}
.principles p{font-size:13px;
color:var(--muted)}
.journey-heading{display:flex;
align-items:flex-start;
gap:42px;
flex-wrap:wrap}
.journey-heading .eyebrow{width:100%;
margin-bottom:-17px}
.journey-heading h2{flex:1.5;
margin-bottom:0;
font-size:46px}
.journey-heading>p:last-child{flex:1;
max-width:320px;
padding-top:6px;
font-size:16px}
.journey-steps{display:flex;
gap:42px;
margin-top:50px}
.journey-steps article{flex:1;
position:relative;
padding-top:26px;
border-top:1px solid #bec4b6}
.step-number{display:inline-flex;
width:32px;
height:32px;
background:var(--cream);
border:1px solid var(--line);
border-radius:50%;
font-size:13px;
color:var(--gold-dark);
align-items:center;
justify-content:center;
position:absolute;
top:-16px;
left:0}
.journey-steps h3{font-size:17px;
font-weight:700;
margin:12px 0 13px}
.journey-steps p{font-size:15px;
color:var(--muted);
max-width:320px;
line-height:1.9}
.section-footnote{font-size:13px;
color:var(--muted);
margin-top:34px;
max-width:860px}
.options-section{background:#eeeee5}
.options-heading{display:flex;
justify-content:space-between;
align-items:end;
gap:60px;
margin-bottom:34px}
.options-heading h2{margin-bottom:0}
.options-intro{max-width:300px;
font-size:16px;
color:var(--muted);
padding-bottom:7px}
.product-filter{display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:30px}
.filter-button{font-size:14px;
font-weight:600;
color:var(--muted);
border:1px solid #d0d4c8;
background:transparent;
border-radius:3px;
padding:10px 16px;
transition:background .2s,color .2s}
.filter-button.active{background:var(--ink);
color:var(--cream);
border-color:var(--ink)}
.filter-button span{font-size:13px;
padding-left:9px;
color:#d2c293}
.filter-button:hover:not(.active){background:#dfe2d7}
.products{display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:14px}
.product-card{background:var(--paper);
border:1px solid #daddd0;
display:flex;
flex-direction:column;
padding:25px 23px;
min-height:276px;
border-radius:4px;
transition:border-color .2s,transform .2s,box-shadow .2s}
.product-card:hover{border-color:var(--gold);
transform:translateY(-3px);
box-shadow:0 6px 16px #20242009}
.product-card.featured{background:#dfd3ae;
border-color:#cabd93}
.card-top{min-height:45px;
display:flex;
justify-content:space-between;
align-items:start;
gap:7px;
margin-bottom:17px}
.card-top svg{width:31px;
height:31px;
flex-shrink:0}
.card-tag{font-size:12px;
border:1px solid #b7a675;
border-radius:2px;
padding:3px 5px;
font-weight:700;
white-space:nowrap}
.product-card h3{font-size:20px;
font-weight:700;
letter-spacing:-.4px;
margin-bottom:12px}
.product-card p{font-size:14px;
line-height:1.85;
color:#5d6258;
margin-bottom:20px}
.card-link{font-size:13px;
font-weight:800;
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
border-top:1px solid #d9ddce;
padding-top:14px;
margin-top:auto}
.featured .card-link{border-color:#c3b58c}
.card-link>span{font-size:20px;
font-weight:400;
line-height:1}
.directory-disclosure{display:flex;
align-items:center;
gap:12px;
margin-top:24px;
font-size:13px;
color:var(--muted);
max-width:750px}
.directory-disclosure>span{font-size:20px;
color:var(--gold-dark)}
.guide-section{background:var(--ink);
color:var(--cream)}
.guide-top{display:flex;
align-items:center;
gap:90px}
.guide-top>div{flex:1}
.guide-section .eyebrow{color:#c5b078}
.guide-section h2 em{color:#d2b970}
.guide-section .section-heading>p:last-child{color:#bcc2b5;
font-size:16px;
max-width:390px;
line-height:1.9}
.guide-image{position:relative}
.guide-image img{width:100%;
aspect-ratio:1.9;
object-fit:cover;
filter:brightness(.9);
border-radius:3px;
background:#51554a}
.guide-image>span{display:block;
text-align:right;
color:#bfc4b6;
font-size:13px;
padding-top:12px}
.guide-subheading{font-size:14px;
letter-spacing:.3px;
margin-top:45px;
margin-bottom:22px;
color:#d8dbd0}
.qualifications{display:flex;
gap:28px}
.qualifications article{flex:1;
border-top:1px solid #4c5446;
padding-top:21px}
.qualifications article>span{font-size:13px;
color:#cbb778}
.qualifications h4{font-size:16px;
font-weight:600;
margin:12px 0 9px}
.qualifications p{font-size:14px;
line-height:1.9;
color:#b9c1b1}
.preparation{display:flex;
gap:55px;
margin-top:36px;
border-top:1px solid #4c5446;
padding-top:29px}
.preparation h3{font-family:var(--serif);
font-size:27px;
font-weight:400;
max-width:260px;
margin:0;
flex:1}
.preparation ul{list-style:none;
padding:0;
margin:0;
display:grid;
grid-template-columns:1fr 1fr;
gap:16px 40px;
flex:2.4}
.preparation li{font-size:13px;
color:#d6dacd;
display:flex;
gap:9px}
.preparation li span{color:#d2b970}
.guide-resource{font-size:13px;
color:#c3cbba;
border-bottom:1px solid #606953;
display:inline-block;
margin-top:27px;
padding-bottom:3px}
.guide-resource:hover{color:#fff}
.faq-section{display:flex;
gap:110px}
.faq-section>.section-heading{flex:.8}
.faq-list{flex:1.6;
min-width:0}
.faq-section .section-heading p:last-child{font-size:16px;
max-width:240px}
.faq-mark{width:68px;
height:68px;
border:1px solid #cdd0c2;
color:var(--gold-dark);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-family:var(--serif);
font-size:42px;
margin-top:29px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{font-size:15px;
font-weight:700;
list-style:none;
padding:23px 0;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{flex-shrink:0;
position:relative;
width:17px;
height:17px}
.faq-list summary>span:before,.faq-list summary>span:after{content:'';
position:absolute;
background:var(--gold-dark);
width:12px;
height:1px;
top:8px;
left:2px}
.faq-list summary>span:after{transform:rotate(90deg);
transition:transform .2s}
.faq-list details[open] summary>span:after{transform:rotate(0)}
.faq-answer{padding-bottom:22px;
max-width:610px}
.faq-answer p{font-size:15px;
line-height:1.9;
color:var(--muted)}
.final-section{background:#e5ddc6}
.avenue-strip{height:170px;
overflow:hidden}
.avenue-strip img{width:100%;
height:100%;
object-fit:cover;
object-position:center 55%;
background:#d6cba5}
.final-inner{padding-block:58px;
display:flex;
justify-content:space-between;
align-items:center;
gap:65px}
.final-inner h2{font-size:51px;
margin-bottom:17px}
.final-inner .eyebrow{margin-bottom:20px}
.final-inner>div>p:last-child{font-size:15px;
color:#575b50}
.final-action{max-width:325px;
text-align:left}
.final-action .button{min-width:230px}
.final-action p{font-size:13px!important;
color:#555b4e;
margin-top:17px;
line-height:1.9}
.site-footer{padding-block:35px 22px;
background:var(--cream)}
.footer-top{display:flex;
align-items:center;
justify-content:space-between;
gap:25px;
padding-bottom:28px;
border-bottom:1px solid var(--line)}
.footer-brand{width:160px}
.footer-brand img{width:160px;
height:80px;
object-fit:contain}
.footer-top>p{font-family:var(--serif);
font-size:24px;
letter-spacing:-.4px}
.back-top{font-size:13px;
display:flex;
align-items:center;
gap:15px}
.back-top span{font-size:18px}
.footer-disclosure{padding-top:27px;
padding-bottom:25px}
.footer-disclosure h2{font-family:var(--sans);
font-size:13px;
font-weight:700;
letter-spacing:0;
line-height:1.5;
margin-bottom:10px}
.footer-disclosure p{font-size:13px;
line-height:1.9;
color:#717669;
max-width:1090px}
.footer-disclosure p+p{margin-top:8px}
.footer-bottom{border-top:1px solid var(--line);
padding-top:19px;
display:flex;
justify-content:space-between;
gap:20px;
font-size:12px;
color:var(--muted)}
.footer-bottom>div{display:flex;
gap:22px}
.footer-bottom a:hover,.legal-page a:hover{text-decoration:underline}
.legal-page{max-width:760px;
padding-block:64px 90px}
.legal-page .eyebrow{margin-bottom:22px}
.legal-page h1{font-size:64px;
line-height:1.1;
margin-bottom:15px}
.legal-page>.legal-intro{font-size:16px;
margin-bottom:30px;
color:var(--muted)}
.legal-page h2{font-family:var(--sans);
font-size:19px;
font-weight:700;
letter-spacing:-.3px;
line-height:1.5;
margin-top:33px;
margin-bottom:13px}
.legal-page p,.legal-page li{font-size:17px;
color:var(--muted);
line-height:1.9}
.legal-page a{border-bottom:1px solid #bcad81}
.legal-page .legal-notice{padding:20px 24px;
background:#ede7d4;
border-left:2px solid var(--gold);
font-size:15px;
color:#635738;
margin-block:28px}
.legal-page .legal-date{font-size:13px;
letter-spacing:.5px;
color:var(--muted);
margin-bottom:30px}

@media(min-width:1600px){.hero{padding-top:85px;
padding-bottom:90px}
.hero-photo{aspect-ratio:1.16}
.container{max-width:1240px}
}

@media(max-width:1150px){.container{width:calc(100% - 64px)}
.desktop-nav{gap:17px;
font-size:13px}
.header-inner{gap:15px}
.brand,.brand img{width:164px}
.hero{gap:35px}
.hero-photo{aspect-ratio:.91}
.hero-note{margin-left:-12px;
margin-right:17px}
.products{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-card{padding:21px 17px;
min-height:290px}
.card-tag{font-size:12px}
.guide-top{gap:50px}
.faq-section{gap:65px}
.announcement{padding-inline:32px}
.hero-actions{gap:18px}
.hero .button{padding-inline:20px}
.hero h1{font-size:74px}
.footer-top>p{font-size:21px}
}

@media(max-width:950px){.desktop-nav{display:none}
.menu-toggle{display:flex}
.header-cta{margin-left:auto}
.products{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-card{min-height:248px;
padding:25px}
.card-top{margin-bottom:12px}
.card-tag{font-size:13px}
.product-card p{font-size:15px}
.card-link{font-size:14px}
.hero{gap:30px;
padding-top:52px}
.hero h1{font-size:65px}
.hero-description{font-size:16px}
.hero-actions{align-items:start;
flex-direction:column;
gap:7px}
.hero-note{margin-left:-15px;
padding:18px 15px;
gap:10px}
.hero-note p{font-size:21px}
.note-icon{width:38px;
height:38px}
.note-number{display:none}
.journey-heading h2{font-size:40px}
.journey-steps{gap:25px}
.principles-inner{gap:15px}
.principles-inner>div{gap:10px}
.principles-inner>div+div{padding-left:15px}
.principles p{font-size:12px}
.principles h2{font-size:13px}
.guide-top{gap:35px}
.guide-top h2{font-size:43px}
.qualifications{gap:21px}
.qualifications h4{font-size:15px}
.preparation{gap:25px}
.preparation ul{gap:14px 23px}
.faq-section{gap:45px}
.final-inner h2{font-size:44px}
.final-inner{gap:35px}
.footer-small{display:none}
}

@media(max-width:700px){html{scroll-padding-top:85px}
.container{width:calc(100% - 44px)}
.section{padding-block:62px}
.announcement{padding:8px 22px;
justify-content:center;
font-size:13px}
.announcement-note{display:none}
.header-inner{min-height:79px;
gap:13px}
.brand,.brand img{width:143px}
.brand img{height:70px}
.header-cta{font-size:13px;
padding:11px 12px;
gap:12px}
.header-cta span[aria-hidden]{font-size:16px}
.menu-toggle{width:36px;
height:36px;
flex-shrink:0}
.hero{display:flex;
flex-direction:column;
gap:30px;
padding-top:41px;
padding-bottom:48px;
align-items:stretch}
.hero .eyebrow{font-size:12px;
letter-spacing:1.2px;
margin-bottom:20px}
.hero h1{font-size:clamp(53px,12vw,77px);
line-height:1.02;
letter-spacing:-1.8px;
margin-bottom:22px}
.hero-description{font-size:16px;
max-width:460px}
.hero-actions{flex-direction:row;
align-items:center;
gap:24px;
margin-top:23px}
.hero .button{padding:16px 20px;
font-size:15px;
gap:23px}
.text-link{font-size:13px;
gap:10px}
.cta-disclosure{font-size:12px;
margin-top:17px;
max-width:410px}
.hero-service-note{font-size:12px}
.hero-visual{padding-top:10px;
width:100%}
.hero-photo{aspect-ratio:1.37;
object-position:center 43%;
border-radius:75px 3px 3px 3px}
.photo-corner{right:-8px;
top:-8px;
width:40px;
height:40px}
.hero-note{margin-top:-44px;
margin-left:12px;
margin-right:30px;
padding:17px 20px}
.hero-note p{font-size:23px}
.hero-note div>span{font-size:13px}
.note-number{display:block;
font-size:13px}
.visual-caption{font-size:12px;
margin-top:15px}
.principles-inner{flex-direction:column;
gap:0;
padding-block:8px}
.principles-inner>div{padding:17px 0;
gap:18px}
.principles-inner>div+div{border-left:0;
border-top:1px solid var(--line);
padding-left:0}
.principles h2{font-size:14px;
margin-bottom:3px}
.principles p{font-size:13px}
.principle-icon{width:24px;
height:24px}
.eyebrow{font-size:12px;
letter-spacing:1.5px;
margin-bottom:20px}
.journey-heading{display:block}
.journey-heading .eyebrow{margin-bottom:20px}
.journey-heading h2{font-size:37px;
line-height:1.08;
margin-bottom:20px;
letter-spacing:-1px}
.journey-heading>p:last-child{padding-top:0;
max-width:420px;
font-size:15px}
.journey-steps{display:block;
margin-top:28px}
.journey-steps article{border-top:none;
border-left:1px solid #c9cdbf;
padding:0 0 27px 30px}
.journey-steps article:last-child{padding-bottom:0;
border-left-color:transparent}
.step-number{left:-15px;
top:-1px;
width:29px;
height:29px}
.journey-steps h3{margin:0 0 8px;
font-size:17px}
.journey-steps p{font-size:14px;
max-width:460px}
.section-footnote{margin-top:25px;
font-size:12px}
.options-heading{display:block;
margin-bottom:24px}
.options-heading h2{font-size:40px;
letter-spacing:-1px;
line-height:1.06;
margin-bottom:20px}
.options-intro{font-size:15px;
max-width:420px;
padding:0}
.product-filter{gap:6px;
margin-bottom:22px}
.filter-button{padding:9px 10px;
font-size:13px}
.filter-button span{padding-left:5px;
font-size:12px}
.products{gap:10px}
.product-card{padding:20px 15px;
min-height:275px}
.card-top{min-height:40px;
display:block;
margin-bottom:11px}
.card-top svg{width:27px;
height:27px}
.card-tag{font-size:12px;
padding:2px 4px;
display:inline-block;
margin-top:7px}
.featured .card-top{min-height:60px;
margin-bottom:2px}
.product-card h3{font-size:17px;
margin-bottom:9px;
letter-spacing:-.35px}
.product-card p{font-size:13px;
line-height:1.85;
margin-bottom:14px}
.card-link{font-size:12px;
gap:6px;
padding-top:12px}
.card-link>span{font-size:20px}
.directory-disclosure{font-size:12px;
gap:10px;
margin-top:20px;
align-items:flex-start}
.directory-disclosure>span{font-size:19px}
.guide-top{display:block}
.guide-top h2{font-size:42px;
letter-spacing:-1px;
line-height:1.05}
.guide-section .section-heading>p:last-child{font-size:15px;
max-width:480px}
.guide-image{margin-top:28px}
.guide-image img{aspect-ratio:1.65}
.guide-image>span{font-size:12px}
.guide-subheading{margin-top:33px;
font-size:14px;
margin-bottom:20px}
.qualifications{display:grid;
grid-template-columns:1fr 1fr;
gap:25px 20px}
.qualifications article{padding-top:15px}
.qualifications h4{font-size:15px;
margin-top:10px}
.qualifications p{font-size:13px}
.preparation{display:block;
padding-top:24px;
margin-top:30px}
.preparation h3{font-size:27px;
max-width:320px;
margin-bottom:20px}
.preparation ul{display:flex;
flex-direction:column;
gap:12px}
.preparation li{font-size:13px}
.guide-resource{font-size:12px;
line-height:1.9;
margin-top:22px}
.faq-section{display:block}
.faq-section .section-heading{margin-bottom:28px}
.faq-section h2{font-size:43px;
letter-spacing:-1px}
.faq-section .section-heading>p:last-of-type{font-size:15px;
max-width:330px}
.faq-mark{display:none}
.faq-list summary{font-size:14px;
padding-block:21px;
gap:15px}
.faq-answer p{font-size:14px}
.avenue-strip{height:120px}
.final-inner{display:block;
padding-block:43px}
.final-inner h2{font-size:43px;
letter-spacing:-1px}
.final-inner>div>p:last-child{font-size:14px}
.final-action{margin-top:27px;
max-width:380px}
.final-action .button{min-width:230px;
font-size:15px;
padding-block:16px}
.final-action p{font-size:12px!important;
margin-top:15px}
.site-footer{padding-top:22px}
.footer-top{flex-wrap:wrap;
gap:13px;
padding-bottom:23px}
.footer-brand{width:140px}
.footer-brand img{width:140px;
height:70px}
.footer-top>p{width:100%;
order:3;
font-size:21px}
.back-top{font-size:13px;
margin-left:auto;
gap:10px}
.footer-disclosure{padding-top:23px;
padding-bottom:23px}
.footer-disclosure h2{font-size:13px}
.footer-disclosure p{font-size:12px}
.footer-bottom{flex-wrap:wrap;
font-size:12px;
gap:13px}
.footer-bottom>div{gap:16px}
.footer-bottom>span:first-child{width:100%}
.legal-page{padding-block:45px 65px}
.legal-page h1{font-size:48px}
.legal-page p,.legal-page li{font-size:16px}
.legal-page h2{font-size:20px}
.legal-page>.legal-intro{font-size:17px}
.legal-page .legal-notice{font-size:14px}
}

@media(max-width:370px){.container{width:calc(100% - 32px)}
.brand,.brand img{width:126px}
.header-cta{padding:10px 9px;
font-size:12px;
gap:8px}
.header-inner{gap:9px}
.hero-actions{gap:15px}
.hero .button{font-size:14px;
padding-inline:16px;
gap:15px}
.product-card{padding:17px 12px}
.filter-button{font-size:12px;
padding:8px}
.product-card h3{font-size:17px}
.card-link{font-size:12px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;
animation:none!important}
}


/* Explicit image heights prevent HTML size attributes from stretching mobile sections. */
.hero-photo,.guide-image img{height:auto}

@media(max-width:700px){
  .cta-disclosure{font-size:13px;
line-height:1.75}

  .hero-service-note{font-size:13px;
line-height:1.8}

  .directory-disclosure{font-size:13px}

  .section-footnote{font-size:13px}

  .final-action p{font-size:13px!important}

  .footer-disclosure p{font-size:13px}

  .menu-toggle{width:44px;
height:44px}

}

@media(max-width:370px){.brand,.brand img{width:114px}
.menu-toggle{width:38px;
height:44px}
}


/* Readability refinements: supporting copy remains readable at every breakpoint. */
:root {
  --copy-size: 17px;
  --support-size: 14px;
}
body { font-size: var(--copy-size); }
.eyebrow, .hero .eyebrow { font-size: 13px; letter-spacing: 1.4px; }
.announcement { font-size: 13px; padding-block: 10px; }
.desktop-nav { font-size: 15px; gap: 23px; white-space: nowrap; }
.mobile-nav a { font-size: 16px; }
.button, .hero .button, .final-action .button { font-size: 16px; }
.button-small, .header-cta { font-size: 15px; white-space: nowrap; }
.hero-description, .section-heading > p:last-child,
.journey-heading > p:last-child, .journey-steps p,
.options-intro, .product-card p,
.guide-section .section-heading > p:last-child,
.qualifications p, .preparation li,
.faq-section .section-heading > p:last-of-type,
.faq-answer p, .final-inner > div > p:last-child {
  font-size: var(--copy-size);
  line-height: 1.8;
}
.cta-disclosure, .hero-service-note, .section-footnote,
.directory-disclosure, .guide-resource,
.footer-disclosure p, .footer-bottom, .back-top,
.visual-caption, .guide-image > span, .hero-note div > span {
  font-size: var(--support-size);
  line-height: 1.75;
}
.cta-disclosure strong { font-weight: 600; }
.hero-service-note { max-width: 480px; }
.cta-disclosure svg { width: 19px; height: 19px; margin-top: 3px; }
.principles h2 { font-size: 16px; line-height: 1.5; }
.principles p { font-size: 14px; line-height: 1.7; }
.principles-inner { padding-block: 30px; }
.journey-steps h3, .qualifications h4 { font-size: 18px; }
.step-number, .qualifications article > span, .note-number { font-size: 13px; }
.filter-button { font-size: 14px; padding: 12px 17px; min-height: 46px; }
.filter-button span { font-size: 13px; }
.card-tag { font-size: 12px; white-space: normal; line-height: 1.5; }
.product-card { min-height: 335px; padding: 26px 23px; }
.product-card h3 { font-size: 20px; }
.product-card p { margin-bottom: 23px; }
.card-link { font-size: 14px; line-height: 1.6; gap: 12px; }
.card-link > span { flex-shrink: 0; }
.guide-subheading, .footer-disclosure h2 { font-size: 16px; }
.faq-list summary { font-size: 17px; line-height: 1.6; padding-block: 25px; }
.footer-disclosure p { color: #5d6458; }
.footer-bottom { flex-wrap: wrap; align-items: center; }
.footer-bottom > div { flex-wrap: wrap; gap: 15px 22px; }
.final-action p { font-size: 14px !important; line-height: 1.8; }
.legal-page p, .legal-page li { font-size: 16px; }
.legal-page .legal-notice { font-size: 15px; }
.legal-page .legal-date { font-size: 13px; }
.brand-lockup { display: flex; width: auto; align-items: center; gap: 13px; }
.brand-lockup .brand-mark { width: 70px; height: 70px; object-fit: contain; }
.brand-type { display: flex; flex-direction: column; gap: 4px; }
.brand-name { font-family: var(--sans); font-size: 26px; font-weight: 800; line-height: 1.2; letter-spacing: .4px; white-space: nowrap; }
.brand-name > span { color: var(--gold-dark); }
.brand-tagline { font-size: 12px; line-height: 1.5; color: var(--muted); }
.header-inner { min-height: 108px; gap: 22px; }
.hero-actions { gap: 14px; flex-wrap: wrap; }
.button-outline { background: transparent; color: var(--ink); border-color: #a99a6c; }
.button-outline:hover { background: #eae4d2; }
.final-browse-link { display: block; margin-top: 17px; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
#options { scroll-margin-top: 0; }
@media (max-width: 1150px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; width: 46px; height: 46px; flex-shrink: 0; }
  .header-cta { margin-left: auto; }
  .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .brand-lockup .brand-mark { width: 64px; height: 64px; }
  .brand-name { font-size: 25px; }
  .hero-actions { gap: 14px; }
}
@media (max-width: 950px) {
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principles-inner { gap: 20px; }
  .principles-inner > div { align-items: flex-start; }
  .principles-inner > div + div { padding-left: 20px; }
  .hero-actions { align-items: stretch; max-width: 310px; }
  .hero-actions .button { justify-content: space-between; }
  .brand-lockup .brand-mark { width: 60px; height: 60px; }
  .brand-name { font-size: 24px; }
}
@media (max-width: 700px) {
  :root { --copy-size: 16px; --support-size: 14px; }
  .announcement { font-size: 12px; line-height: 1.6; padding: 8px 16px; }
  .header-inner { min-height: 91px; gap: 12px; }
  .header-cta { display: none; }
  .brand-lockup { gap: 10px; }
  .brand-lockup .brand-mark { width: 55px; height: 55px; }
  .brand-name { font-size: 22px; letter-spacing: .2px; }
  .brand-tagline { font-size: 12px; }
  .menu-toggle { width: 46px; height: 46px; }
  .hero .eyebrow { font-size: 12px; letter-spacing: 1px; flex-wrap: wrap; }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: none; gap: 12px; }
  .hero-actions .button { width: 100%; font-size: 16px; min-height: 56px; padding: 16px 20px; }
  .hero-note div > span, .visual-caption, .guide-image > span { font-size: 13px; }
  .hero-note { padding: 19px 17px; }
  .note-number { display: none; }
  .principles-inner > div { align-items: center; padding-block: 21px; }
  .principles-inner > div + div { padding-left: 0; }
  .journey-steps article { padding-bottom: 31px; }
  .product-filter { gap: 8px; }
  .filter-button { font-size: 14px; padding: 11px 13px; }
  .products { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .product-card { min-height: 0; padding: 25px; }
  .card-top, .featured .card-top { display: flex; align-items: center; min-height: 36px; margin-bottom: 18px; }
  .card-tag { font-size: 12px; margin-top: 0; padding: 4px 8px; }
  .product-card h3 { font-size: 22px; }
  .product-card p { font-size: 16px; }
  .card-link { font-size: 15px; padding-top: 17px; }
  .directory-disclosure { align-items: flex-start; }
  .qualifications { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .qualifications h4 { font-size: 18px; }
  .qualifications p, .preparation li { font-size: 16px; }
  .faq-list summary { font-size: 16px; padding-block: 24px; }
  .final-action p { font-size: 14px !important; }
  .final-action .button { width: 100%; }
  .footer-bottom { font-size: 14px; gap: 18px; }
  .footer-bottom > div { gap: 14px 20px; }
}
@media (max-width: 370px) {
  .brand-lockup .brand-mark { width: 45px; height: 45px; }
  .brand-lockup { gap: 8px; }
  .brand-name { font-size: 19px; }
  .brand-tagline { font-size: 11px; }
  .header-inner { gap: 10px; }
  .menu-toggle { width: 44px; height: 44px; }
  .hero-note { margin-inline: 5px; }
}

.brand-tagline { font-size: 13px; }
@media (max-width: 700px) { .brand-tagline { font-size: 13px; } }
@media (max-width: 370px) { .brand-tagline { font-size: 12px; } }

/* Stable header lockup and a genuinely readable principles strip. */
.site-header .brand-lockup {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  flex-shrink: 0;
  gap: 13px;
  width: auto;
  text-decoration: none;
}
.site-header .brand-lockup .brand-mark {
  display: block;
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  object-fit: contain;
}
.site-header .brand-type { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.site-header .brand-name { display: block; font-size: 27px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.site-header .brand-tagline { display: block; font-size: 14px; line-height: 1.45; white-space: nowrap; }
.principles-inner { padding-block: 36px; gap: 28px; }
.principles-inner > div { align-items: flex-start; gap: 19px; min-width: 0; }
.principles h2 { font-size: 20px; font-weight: 700; line-height: 1.45; margin-bottom: 9px; }
.principles p { font-size: 17px; line-height: 1.7; }
.principle-icon { width: 30px; height: 30px; font-size: 30px; margin-top: 4px; }
@media (max-width: 1150px) {
  .site-header .brand-lockup .brand-mark { width: 64px; height: 64px; }
  .site-header .brand-name { font-size: 25px; }
}
@media (max-width: 950px) {
  .principles-inner { flex-direction: column; gap: 0; padding-block: 5px; }
  .principles-inner > div { padding-block: 24px; }
  .principles-inner > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
}
@media (max-width: 700px) {
  .site-header .brand-lockup { gap: 10px; }
  .site-header .brand-lockup .brand-mark { width: 55px; height: 55px; }
  .site-header .brand-name { font-size: 22px; }
  .site-header .brand-tagline { font-size: 12px; }
  .principles h2 { font-size: 20px; }
  .principles p { font-size: 17px; }
}
@media (max-width: 370px) {
  .site-header .brand-lockup { gap: 8px; }
  .site-header .brand-lockup .brand-mark { width: 45px; height: 45px; }
  .site-header .brand-name { font-size: 19px; }
  .site-header .brand-tagline { font-size: 12px; }
}

/* Premium, self-contained How It Works cards; no timeline or floating markers. */
.how-section { padding-block: 64px; }
.how-heading { display: block; max-width: 800px; text-align: left; }
.how-heading .eyebrow { margin-bottom: 16px; }
.how-heading h2 { margin-bottom: 17px; font-size: 46px; line-height: 1.08; letter-spacing: -1.2px; }
.how-heading .how-intro { max-width: 720px; font-size: 17px; line-height: 1.75; color: var(--muted); }
.how-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}
.how-card {
  min-width: 0;
  padding: 32px;
  background: var(--paper);
  border: 1px solid #dfddd2;
  border-radius: 6px;
}
.how-step-number {
  display: block;
  position: static;
  width: auto;
  height: auto;
  margin-bottom: 23px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #a48845;
  font-family: var(--serif);
  font-size: 56px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1.3px;
}
.how-card h3 { margin: 0 0 13px; color: var(--ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.4px; }
.how-card p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.how-disclaimer { margin-top: 19px; max-width: 1020px; color: #676d61; font-size: 14px; line-height: 1.75; }
@media (max-width: 1050px) {
  .how-card { padding: 28px; }
  .how-card h3 { font-size: 20px; }
  .how-card p { font-size: 16px; }
}
@media (max-width: 820px) {
  .how-cards { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .how-card { padding: 28px; }
  .how-step-number { margin-bottom: 20px; }
}
@media (max-width: 700px) {
  .how-section { padding-block: 48px; }
  .how-heading h2 { font-size: 37px; line-height: 1.1; letter-spacing: -.8px; }
  .how-heading .how-intro { font-size: 16px; }
  .how-cards { margin-top: 25px; }
  .how-card { padding: 26px; }
  .how-card h3 { font-size: 21px; }
  .how-step-number { font-size: 52px; }
  .how-disclaimer { font-size: 14px; margin-top: 18px; }
}

/* Minimal homepage hero. Every rule is scoped to this section only. */
.hero.hero-minimal {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 64px;
  padding-top: 64px;
  padding-bottom: 72px;
}
.hero.hero-minimal .hero-copy { min-width: 0; }
.hero.hero-minimal .hero-description {
  max-width: 480px;
  font-size: 18px;
  line-height: 1.8;
  color: var(--muted);
}
.hero.hero-minimal .hero-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 30px;
  max-width: none;
}
.hero.hero-minimal .hero-primary-cta {
  justify-content: center;
  min-width: 244px;
  min-height: 60px;
  padding: 18px 30px;
  font-size: 17px;
  font-weight: 700;
  border-radius: 4px;
}
.hero.hero-minimal .cta-disclosure {
  display: block;
  max-width: 450px;
  margin-top: 17px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
}
.hero.hero-minimal .hero-visual { padding-top: 0; min-width: 0; width: 100%; }
.hero.hero-minimal .hero-photo-wrap { margin: 0; }
.hero.hero-minimal .hero-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1.03;
  object-fit: cover;
  object-position: center 43%;
  border-radius: 18px;
  box-shadow: none;
}
@media (max-width: 1150px) {
  .hero.hero-minimal { column-gap: 40px; padding-top: 56px; padding-bottom: 64px; }
  .hero.hero-minimal .hero-description { font-size: 17px; }
}
@media (max-width: 900px) {
  .hero.hero-minimal {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    padding-top: 46px;
    padding-bottom: 52px;
  }
  .hero.hero-minimal .hero-copy { max-width: 620px; }
  .hero.hero-minimal .hero-description { max-width: 580px; }
  .hero.hero-minimal .hero-photo { aspect-ratio: 1.45; border-radius: 16px; }
}
@media (max-width: 700px) {
  .hero.hero-minimal { gap: 30px; padding-top: 38px; padding-bottom: 44px; }
  .hero.hero-minimal .hero-description { font-size: 17px; line-height: 1.75; }
  .hero.hero-minimal .hero-actions { margin-top: 26px; }
  .hero.hero-minimal .hero-primary-cta { width: 100%; min-width: 0; min-height: 58px; font-size: 17px; }
  .hero.hero-minimal .cta-disclosure { margin-top: 15px; font-size: 14px; }
  .hero.hero-minimal .hero-photo { aspect-ratio: 1.35; border-radius: 14px; }
}
