@font-face{font-family:"Inter Tight";font-weight:400;src:url(fonts/inter-tight-400.woff) format("woff");font-display:swap}
@font-face{font-family:"Inter Tight";font-weight:500;src:url(fonts/inter-tight-500.woff) format("woff");font-display:swap}
@font-face{font-family:"Inter Tight";font-weight:600;src:url(fonts/inter-tight-600.woff) format("woff");font-display:swap}
@font-face{font-family:"Cormorant Garamond";font-weight:300;src:url(fonts/cormorant-300.woff) format("woff");font-display:swap}
@font-face{font-family:"Cormorant Garamond";font-weight:400;src:url(fonts/cormorant-400.woff) format("woff");font-display:swap}
@font-face{font-family:"Cormorant Garamond";font-weight:500;src:url(fonts/cormorant-500.woff) format("woff");font-display:swap}
:root{--navy:#253551;--cream:#fcfbf8;--serif:"Cormorant Garamond","Orpheus Pro",Georgia,serif;--sans:"Inter Tight",Helvetica,Arial,sans-serif;--flag:#fff1a8;--flag-ink:#6b4e00}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 17.2px/1.84 var(--sans);color:var(--navy);background:#fff}
img{max-width:100%;height:auto}
a{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.banner{background:#ffe27a;color:#4a3800;font:400 .85rem/1.4 var(--sans);text-align:center;padding:8px 14px}
.tc{background:var(--flag);color:var(--flag-ink);font:600 .72rem/1 var(--sans);padding:.15em .4em;border-radius:3px;border:1px dashed #c9a400;display:inline}
.page-top{position:relative}
.site-header{position:relative;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;padding:48px 51px;min-height:134px}
.wordmark{font-family:var(--serif);font-weight:400;font-size:2.15rem;line-height:1.3;color:var(--navy);text-decoration:none;letter-spacing:.005em}
.nav{display:flex;align-items:center;gap:28px;font-size:17px}
.nav a{color:var(--navy);text-decoration:none;padding:2px 0;border-bottom:1px solid transparent}
.nav a[aria-current]{border-bottom-color:currentColor}
.nav a.cta{background:var(--navy);color:#fff;font-weight:500;font-size:15.7px;padding:19px 32px;border:0}
.navtoggle,.burger{display:none}
.hero-page .site-header{position:absolute;left:0;right:0;top:0}
.hero-page .wordmark,.hero-page .nav a{color:#fff}
.hero-page .nav a.cta{background:#fff;color:#000}
/* home hero */
.hero{min-height:728px;background-size:cover;background-position:center 62%;display:flex;align-items:center;justify-content:center;padding:134px 20px 40px;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,50,60,.12),rgba(0,0,0,.18))}
.hero-in{position:relative;display:grid;grid-template-columns:425px 425px;gap:34px;align-items:center;max-width:884px;width:100%}
.hero-logo{width:425px;height:425px;display:block}
.hero-copy{text-align:center;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.hero-copy h2{font-size:4.2rem;line-height:1.2;margin:0 0 32px}
.hero-copy h3{font-size:2.6rem;line-height:1.3;font-weight:500}
/* bands (faq, contact) */
.band{min-height:594px;background-size:cover;background-position:center 55%;display:flex;align-items:center;justify-content:center;text-align:center;padding:134px 20px 40px;position:relative}
.band:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1)}
.band h2{position:relative;color:#fff;font-size:4.2rem;line-height:1.2;text-shadow:0 1px 14px rgba(0,0,0,.35)}
/* sections */
.sec{padding:60px 51px}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font:500 15.7px/1 var(--sans);padding:19px 32px;border:0;cursor:pointer}
.btn.big{font-size:20px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.book-row{text-align:center;padding-top:84px;padding-bottom:30px}
.tag-row{padding-top:50px;padding-bottom:110px}
.tag-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1178px;margin:0 auto;align-items:start}
.taglines{text-align:center}
.taglines h2{font-size:4.1rem;line-height:1.22;margin:0 0 32px}
.featured{display:flex;gap:24px;padding-top:44px;font-size:14px;line-height:1.4}
.featured .thumb{flex:0 0 125px}.featured .thumb img{display:block;width:125px;height:auto}
.featured h4{font:400 20px/1.3 var(--sans);margin:0 0 10px}.featured h4 a{text-decoration:none}
.featured p{margin:0 0 8px}.featured .meta{font-size:12px;opacity:.8}.featured .meta a{font-size:12px}
/* old home sections */
.inner{max-width:1080px;margin:0 auto}
.center{text-align:center}
.h-sec{font-size:2.9rem;line-height:1.15;margin:0 0 .35em}
.sub{opacity:.8;margin-top:-.2em}
.alt{background:#f4f2ec}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:28px}
.card{background:#fff;border:1px solid #dcd8cc;padding:24px}
.card h3{font:500 1.1rem/1.3 var(--sans);margin:0 0 .4em}
.card p{margin:.3em 0 .8em;font-size:.97rem;line-height:1.6}
.two{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid #d9d4c7;line-height:1.6}
.ticks li:before{content:"";position:absolute;left:4px;top:19px;width:12px;height:7px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg)}
.note{font-size:.8rem;line-height:1.5;opacity:.85}
.note.wide{max-width:1000px;margin:30px auto}
/* services */
.svc{padding-top:100px;padding-bottom:90px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1178px;margin:0 auto;text-align:center}
.svc h4,.faq h4{font-size:1.65rem;line-height:1.3;margin:0 0 .9em}
.svc-grid p{margin:0 0 1.4em;font-size:17.2px}
.svc-grid h4{margin-top:1.2em}.svc-grid>div>h4:first-child{margin-top:0}
.svc-grid a{word-break:break-all}
.svc .center{margin-top:30px}
/* narrow pages */
.narrow-col{max-width:700px;margin:0 auto;padding:80px 20px 90px}
.narrow-col h2{font-size:4.2rem;line-height:1.2;text-align:center;margin:0 0 .45em}
.faq{padding-top:70px}
.faq-item{margin:0 0 48px}
.faq-item p{margin:0 0 1em}
.learn{font-size:.95rem}
.faq .center{margin-top:30px}
/* contact */
.contact{padding:90px 51px 110px}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;max-width:1178px;margin:0 auto;align-items:start}
.contact h2{font-size:4.2rem;line-height:1.2;margin:0 0 .4em}
.form{display:grid;gap:22px;font-size:14px}
.form fieldset{border:0;padding:0;margin:0}.form legend{padding:0;margin-bottom:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.form label{display:block}
.form label input,.form label textarea{display:block;margin-top:2px}
.form .btn{justify-self:start;min-width:120px;padding:19px 40px}
.form small{opacity:.7}
.form input,.form textarea{font:inherit;color:var(--navy);padding:10px 0 8px;border:0;border-bottom:1px solid #aab;background:transparent;border-radius:0;width:100%;min-height:44px}
.form textarea{border:1px solid #aab;border-width:0 0 1px;resize:vertical}
.embed,.box{border:1px dashed #b3ab95;background:#f7f5ee;padding:28px;margin:24px 0;text-align:center}
.box{text-align:left}
/* blog */
.blog-list,.post{max-width:900px;margin:0 auto;padding:30px 20px 100px}
.post-card img,.post-img{display:block;width:100%;height:auto}
.meta{font-size:13px;margin:20px 0}
.post-title{font-size:5rem;line-height:1.4;text-align:center;margin:10px 0 40px}
.post-title a{text-decoration:none}
.excerpt{text-align:center;font-size:14px;line-height:1.9;max-width:850px;margin:0 auto 40px}
.rm{font-size:14px}
.post-body{font-size:17.2px}
.post-body p{margin:0 0 1.2em}
/* footer */
.site-footer{background:var(--navy);color:#fff;padding:60px 51px 34px}
.foot{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1178px;margin:0 auto;align-items:center}
.foot-logo{text-align:right}.foot-logo img{width:370px;height:370px;margin-right:-50px}
.foot-text{text-align:center;font-size:15.7px;line-height:1.8}
.foot-text p{margin:0 0 .6em}.foot-text a{color:#fff}
.foot-word{font-size:2.15rem !important;color:#fff;margin-bottom:.5em !important}
.disc{max-width:1000px;margin:34px auto 0;border-top:1px solid #4a5b7a;padding-top:20px;font-size:.78rem;line-height:1.55;color:#c4cddd}
.disc a{color:#fff}
.disc p{margin:.5em 0}
@media(max-width:900px){
 body{font-size:16px}
 .bar{padding:22px 20px;min-height:84px}
 .wordmark{font-size:1.7rem}
 .burger{display:flex;flex-direction:column;gap:7px;cursor:pointer;padding:12px 4px}
 .burger span{width:26px;height:1px;background:var(--navy);display:block}
 .hero-page .burger span{background:#fff}
 .nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;text-align:center}
 .nav a,.hero-page .nav a{color:#fff;padding:12px 0}
 .nav a.cta,.hero-page .nav a.cta{background:#fff;color:#000;margin-top:10px;padding:16px}
 .navtoggle:checked~.nav{display:flex}
 .hero{min-height:620px;padding:100px 20px 40px}
 .hero-in{grid-template-columns:1fr;gap:6px;justify-items:center}
 .hero-logo{width:240px;height:240px;margin:-30px 0 -40px}
 .hero-copy h2{font-size:2.5rem;margin-bottom:14px}.hero-copy h3{font-size:1.9rem}
 .band{min-height:380px;padding:100px 20px 30px}.band h2,.narrow-col h2,.contact h2,.taglines h2{font-size:2.6rem}
 .sec{padding:44px 20px}
 .book-row{padding-top:56px}
 .tag-row{padding-bottom:60px}
 .tag-grid,.two,.svc-grid,.contact-grid,.foot{grid-template-columns:1fr;gap:34px}
 .taglines h2{margin-bottom:12px}
 .h-sec{font-size:2.2rem}
 .svc{padding-top:50px}
 .narrow-col{padding:50px 20px 60px}
 .contact{padding:50px 20px 70px}
 .row2{grid-template-columns:1fr;gap:22px}
 .post-title{font-size:2.6rem}
 .foot-logo{text-align:center}.foot-logo img{width:240px;height:240px;margin:0}
 .site-footer{padding:40px 20px 30px}
}
/* earlier-preview layout (How It Works and FAQ) */
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:760px}
.section{padding:60px 0}
.page-head{background:#f4f2ec;padding:60px 0 44px;border-bottom:1px solid #dcd8cc}
.page-head h1{font-size:3.6rem;line-height:1.15;margin:.15em 0 .4em}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;opacity:.7;margin:0}
.lead{font-size:1.15rem;max-width:680px;margin:0}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px}
.steps li{border-top:3px solid var(--navy);padding-top:12px}
.steps h3{font:500 1.15rem/1.3 var(--sans);margin:0 0 .3em}
.steps p{margin:0;line-height:1.65}
details{background:#fff;border:1px solid #dcd8cc;margin:10px 0;padding:0 18px}
summary{cursor:pointer;padding:15px 0;font:600 1rem/1.4 var(--sans);color:var(--navy)}
details p{margin:0 0 16px;line-height:1.7}
.section.alt{background:#f4f2ec}
@media(max-width:900px){.page-head h1{font-size:2.5rem}}
.fn{font-size:.85rem;opacity:.8;margin-top:1rem}
sup{font-size:.7em}
.btnrow .btn{margin:0 .5rem .5rem 0;display:inline-block}
.svc .fn{font-size:.75rem;opacity:.65;line-height:1.5;margin-top:.5rem}
.faq-group{font-family:inherit;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;margin:2rem 0 .5rem;opacity:.75}
.contact .or{margin-top:2.5rem;font-size:1.3rem}.contact [id=book]{scroll-margin-top:6rem}
.contact .contact-grid{display:block;max-width:640px;margin:0 auto}
.contact .bookblock{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid #d9d9d9}
.hero-logo{box-shadow:0 6px 24px rgba(0,0,0,.28)}
.foot-logo img{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.hero-in{grid-template-columns:1fr;justify-items:center;max-width:820px}
.hero-copy{max-width:820px}
/* contact form extras */
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .ts-box{min-height:0}
.form .btn[disabled]{opacity:.55;cursor:not-allowed}
.form-status{margin:0;font-size:.95rem;line-height:1.5;min-height:1.5em}
.form-status.ok{color:var(--navy)}
.form-status.err{color:#8a1c1c}
