:root{--spruce:#10312e;--spruce2:#0b2321;--cream:#f6f1e7;--cream2:#ece4d3;--copper:#c27a4a;--copperd:#8f4f25;--hair:rgba(16,49,46,.2);--haird:rgba(246,241,231,.2)}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Jost',system-ui,sans-serif;background:var(--cream);color:var(--spruce);font-size:1.02rem;line-height:1.75;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;font-weight:300;line-height:1.12}
a{color:var(--copperd)}
.caps,.eyebrow,.btn,.navbar .nav-link,.dl dt{font-family:'Jost',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
.eyebrow{color:var(--copperd);display:block;margin-bottom:1rem}
.on-dark .eyebrow,.hero .eyebrow{color:var(--copper)}
.lede{font-family:'Newsreader',serif;font-style:italic;font-size:1.3rem;opacity:.85;max-width:720px}
section{padding:96px 0}
@media(max-width:767px){section{padding:64px 0}}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem);margin-bottom:1.2rem}
/* nav (c) */
.navbar{background:rgba(11,35,33,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.9rem 0;border-bottom:1px solid var(--haird)}
.navbar .container{flex-wrap:wrap}
.navbar-brand{font-family:'Newsreader',serif;font-size:1.45rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);font-weight:300;line-height:1.1;white-space:normal;margin:0 auto;text-align:center}
.navbar-brand small{display:block;font-family:'Jost',sans-serif;font-size:.56rem;letter-spacing:.34em;color:var(--copper);margin-top:.3rem}
.navbar.navbar-expand-lg .navbar-collapse{flex-basis:100%;justify-content:center}
.navbar .nav-link{color:rgba(246,241,231,.8);padding:.5rem 1.1rem;transition:color .3s}
.navbar .nav-link:hover{color:var(--copper)}
.navbar-toggler{border:1px solid var(--haird);position:absolute;right:12px;top:14px}
.navbar-toggler-icon{filter:invert(1)}
@media(max-width:991px){.navbar-brand{text-align:left;margin:0}.navbar .nav-link{padding:.7rem 0}.navbar-collapse{padding-top:.6rem}}
/* buttons */
.btn{border-radius:0;padding:15px 40px;transition:.3s}
.btn-gold{background:var(--copper);color:var(--spruce2);border:1px solid var(--copper)}
.btn-gold:hover{background:transparent;color:var(--cream)}
.btn-ghost{border:1px solid rgba(246,241,231,.35);color:var(--cream)}
.btn-ghost:hover{border-color:var(--copper);color:var(--copper)}
.btn-ghost.dk{border-color:var(--hair);color:var(--spruce)}
.btn-ghost.dk:hover{border-color:var(--copperd);color:var(--copperd)}
/* hero */
.hero{background:linear-gradient(180deg,#12373a 0%,var(--spruce2) 100%);color:var(--cream);padding:170px 0 110px;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.8vw,4.8rem);font-weight:300;margin-bottom:1.5rem}
.hero h1 em{color:var(--copper);font-style:italic}
.hero .sub{font-family:'Newsreader',serif;font-style:italic;font-size:clamp(1.15rem,2vw,1.45rem);opacity:.82;max-width:520px;margin-bottom:2.2rem}
.seal{width:100%;max-width:400px;display:block;margin:0 auto;color:var(--copper)}
.seal text{font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.34em;fill:currentColor;font-weight:500}
.seal .yr{font-family:'Newsreader',serif;font-size:60px;letter-spacing:.02em;font-weight:300}
.seal .sm{font-size:9px;letter-spacing:.3em}
.hero .seal{opacity:.95}
@media(max-width:991px){.hero{padding:130px 0 70px}.hero .seal{max-width:260px;margin-top:3rem}}
/* strip */
.strip{background:var(--cream2);padding:38px 0;border-bottom:1px solid var(--hair)}
.strip b{display:block;font-family:'Newsreader',serif;font-weight:300;font-size:2rem;line-height:1.1;color:var(--copperd)}
.strip span{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase}
.strip .col-6{padding:.6rem .5rem;text-align:center}
/* index */
.index{list-style:none;padding:0;margin:2rem 0 0}
.index li{border-top:1px solid var(--hair);padding:1.7rem 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:1.5rem;align-items:baseline;transition:padding .3s}
.index li:last-child{border-bottom:1px solid var(--hair)}
.index li:hover{padding-left:12px}
.index h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0}
.index p{margin:0;opacity:.82}
.index .caps a{color:var(--copperd);text-decoration:none;white-space:nowrap}
@media(max-width:767px){.index li{grid-template-columns:1fr;gap:.4rem}}
/* dark sections */
.on-dark{background:var(--spruce);color:var(--cream)}
.on-dark a{color:var(--copper)}
.on-dark .lede{opacity:.8}
.step{border-top:1px solid var(--haird);padding:1.2rem 0}
.step b{font-family:'Newsreader',serif;font-weight:300;font-size:1.35rem;display:block}
.numlist{list-style:none;padding:0;margin:0}
.numlist li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--haird);padding:.7rem 0;font-size:.95rem}
.numlist li:last-child{border-bottom:1px solid var(--haird)}
.numlist a{text-decoration:none;letter-spacing:.06em}
.small-note{font-size:.82rem;opacity:.65;margin-top:1rem}
/* quote band */
.band{background:var(--spruce2);color:var(--cream);text-align:center;padding:110px 0;position:relative}
.band blockquote{font-family:'Newsreader',serif;font-style:italic;font-weight:300;font-size:clamp(1.8rem,3.6vw,2.9rem);max-width:900px;margin:0 auto 1.4rem;line-height:1.25}
.band .caps{color:var(--copper)}
.band .mark{position:absolute;right:4%;bottom:-40px;width:220px;opacity:.06;color:var(--cream)}
/* reviews */
.rev{border-top:1px solid var(--hair);padding:1.6rem 0;height:100%}
.rev p{font-family:'Newsreader',serif;font-size:1.2rem;line-height:1.5;margin-bottom:.8rem}
.rev .caps{color:var(--copperd);font-size:.62rem}
/* carriers */
.carriers{columns:2;column-gap:2rem;list-style:none;padding:0;margin:0}
.carriers li{font-family:'Newsreader',serif;font-size:1.35rem;border-top:1px solid var(--hair);padding:.55rem 0;break-inside:avoid}
@media(min-width:992px){.carriers{columns:3}}
/* contact */
.dl{margin:0}
.dl dt{color:var(--copper);margin-top:1.4rem}
.dl dd{margin:.2rem 0 0;font-size:1.08rem}
.dl a{text-decoration:none;color:var(--cream)}
.map{border:1px solid var(--haird);height:100%;min-height:380px}
.map iframe{width:100%;height:100%;min-height:380px;border:0;filter:saturate(.7)}
footer{background:var(--spruce2);color:rgba(246,241,231,.75);padding:56px 0 32px;font-size:.9rem;border-top:1px solid var(--haird)}
footer a{color:var(--cream);text-decoration:none}
footer a:hover{color:var(--copper)}
footer .brand{font-family:'Newsreader',serif;font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
footer .pw{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--haird);font-size:.75rem;letter-spacing:.12em}
footer .pw a{color:var(--copper)}
