
:root{
  --navy:#002a4e;--navy-2:#0b3d6b;--spruce:#013125;--copper:#c9956b;--copper-deep:#905211;--ice:#a5d2ed;
  --paper:#fbfcfd;--mist:#f2f6f9;--wash:#f2f6f9;--line:#d6e0e8;--ink:#0b1f31;--body:#3a4a58;--muted:#5e6f7d;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:Manrope,"Segoe UI",system-ui,-apple-system,sans-serif;
  --max:1280px;--gutter:40px;--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--body);background:var(--paper)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 14px;z-index:300}
.skip:focus{left:8px}
.page{display:none}
.page.is-active{display:block}
h1,h2,h3,h4{font-family:var(--display);color:var(--navy);line-height:1.08;font-weight:600;letter-spacing:-.005em}
h1{font-size:clamp(42px,5.2vw,68px)}
h2{font-size:clamp(34px,3.6vw,48px)}
h3{font-size:28px}
p{max-width:64ch}
.kicker{display:block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:14px}
.lede{font-size:19px;color:var(--body);max-width:58ch}

/* buttons: square, uppercase, like the reference */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;border:1.5px solid var(--navy);background:var(--navy);color:#fff;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,transform .35s var(--ease)}
.btn:hover{background:var(--navy-2);border-color:var(--navy-2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-copper{background:var(--copper);border-color:var(--copper);color:var(--navy)}
.btn-copper:hover{background:var(--copper);border-color:var(--copper)}
.btn-white{background:transparent;border-color:#fff;color:#fff}
.btn-white:hover{background:#fff;color:var(--navy)}
.btn-sm{padding:12px 18px;font-size:12px}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.textlink{font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border-bottom:2px solid var(--copper);padding-bottom:3px}
.textlink:hover{border-bottom-color:var(--navy)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(0,42,78,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px}
.brand{color:var(--navy);display:inline-flex}
.brand svg{height:44px;width:auto}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links li{white-space:nowrap}
.nav-links a{font-size:14.5px;font-weight:700;color:var(--navy);padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{border-bottom-color:var(--copper)}
.nav-links .nav-cta a{border:0;padding:0}
.nav-links .nav-cta .btn{padding:14px 20px;font-size:12.5px;color:#fff}
.nav-links .nav-cta .btn:hover{transform:none}
.menu-btn{display:none;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--navy);color:var(--navy);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.menu-btn svg{width:18px;height:18px}

/* bands */
.band{padding:104px 0}
.band-mist{background:var(--mist)}
.band-wash{background:linear-gradient(180deg,var(--mist) 0%,#e8eef3 100%)}
.band-tight{padding:72px 0}
.section-head{max-width:760px;margin-bottom:52px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head p{margin-top:16px;font-size:18px}
.section-head.center p{margin-left:auto;margin-right:auto}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.split.flip>.photoset{order:-1}
.split h2{margin-bottom:20px}
.split p+p{margin-top:16px}
.split .actions{margin-top:30px}
.split.wide-text{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}

/* hero: built for a full-bleed photo; shows a light gradient until one is chosen */
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:680px;display:flex;align-items:center;text-align:center;background:#d6e4ee url("/images/p-4b2a08cd7e.webp") center 62%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.66) 55%,rgba(238,243,247,.86) 100%)}
.hero .mosaic{display:none}
.hero .wrap{position:relative;padding-top:60px;padding-bottom:70px}
.hero h1{margin:0 auto;max-width:15ch;font-size:clamp(46px,6vw,82px);font-weight:600}
.hero h1 em{font-style:italic;font-weight:500;color:var(--copper-deep)}
.hero .lede{margin:26px auto 0;font-size:19.5px;max-width:60ch}
.hero .actions{justify-content:center;margin-top:34px}
.hero .cred{margin-top:36px;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);opacity:.72}
.hero .photo-note{position:absolute;right:20px;bottom:16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,42,78,.45)}

/* photo in its box with a copper hairline set just outside it (the "hairline frame") */
.photoset{position:relative;padding:16px}
.photoset .ph{position:relative;z-index:2;width:100%;outline:1px solid rgba(201,149,107,.8);outline-offset:14px;box-shadow:0 24px 50px rgba(0,42,78,.12)}
.band-mist .photoset .ph{box-shadow:0 24px 50px rgba(0,42,78,.10)}
.ph{position:relative;margin:0;background:linear-gradient(165deg,#e6eef4 0%,#d5e3ec 55%,#c9dbe7 100%);overflow:hidden;aspect-ratio:4/3}
.ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 16px,rgba(0,42,78,.05) 16px 17px)}
.ph figcaption{position:absolute;left:18px;bottom:16px;z-index:1;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,42,78,.7)}
.ph.has-img::after,.ph.has-img figcaption{display:none}
.ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ph-portrait{aspect-ratio:4/5}
.ph-square{aspect-ratio:1/1}
.ph-wide{aspect-ratio:21/9}
.ground-ice{background:linear-gradient(165deg,#e6eef4 0%,#d5e3ec 55%,#c9dbe7 100%)}
.ground-ice img{object-fit:contain;object-position:50% 100%;top:6%;height:94%}

/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fcard{background:var(--paper);padding:38px 34px;border:1px solid var(--line);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.fcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,42,78,.10);border-color:var(--copper)}
.fcard h3{font-size:28px;margin-bottom:12px}
.fcard p{font-size:15.5px}
.fcard .kicker{margin-bottom:16px}
.fcard .n{display:block;font-family:var(--display);font-size:30px;color:var(--copper-deep);line-height:1;margin-bottom:12px}
.fcard.step .ico{display:block;width:44px;height:44px;color:var(--copper-deep);margin-bottom:16px;transition:transform .45s var(--ease),color .3s}
.fcard.step .ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fcard.step:hover .ico{transform:translateY(-2px) rotate(-3deg);color:var(--navy)}
.fcard.step .kicker{margin-bottom:10px}
.fcard.step h3{font-size:26px}
.band-mist .fcard,.band-wash .fcard{border-color:transparent}
a.fcard{display:block}
.fcard.gray{background:var(--mist);border-color:transparent}
.tile h3{font-size:28px;margin-bottom:10px}
.tile p{font-size:15.5px}
.tile .textlink{display:inline-block;margin-top:16px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tiles .tile{padding:36px 32px 36px 0}
.tiles .tile+.tile{padding-left:32px;border-left:1px solid var(--line)}
.center{text-align:center}
.mt{margin-top:44px}

/* what changes, fee strip */
.changes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.change{border-top:1px solid var(--copper);padding-top:20px}
.change h3{font-size:25px;margin-bottom:10px}
.change p{font-size:15.5px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.stat{background:var(--paper);border:1px solid var(--line);padding:30px 30px 28px;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.stat:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,42,78,.10);border-color:var(--copper)}
.stat .num{font-family:var(--display);font-size:46px;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.stat .num small{font-family:var(--sans);font-size:13px;color:var(--muted);margin-left:8px;font-weight:600}
.stat .lab{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-deep);margin:12px 0 10px}
.stat p{font-size:15px}
.fine.left{margin-left:0;text-align:left}
@media (max-width:960px){.changes{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}}
@media (max-width:600px){.changes{grid-template-columns:1fr}}

/* accordion */
.faq-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}
.faq-split .btn{margin-top:26px}
.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-family:var(--display);font-size:26px;font-weight:600;color:var(--navy);line-height:1.2}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg);transition:transform .3s var(--ease);margin-right:6px}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .a{padding:0 0 24px;font-size:16px;max-width:68ch}
.acc.narrow{max-width:900px}
.faq-ask{max-width:900px;margin-top:48px;background:var(--mist);border-left:3px solid var(--copper);padding:34px 36px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start}
.faq-ask h3{font-size:28px;margin-bottom:8px}
.faq-ask .form{max-width:none}
@media (max-width:800px){.faq-ask{grid-template-columns:1fr}}

/* pricing */
h1.as-h2{font-size:clamp(34px,3.6vw,48px)}
.band-mist .grid4.boxed .fcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--copper)}
a.fcard.linkcard{border:1.5px solid var(--navy)}
a.fcard.linkcard .textlink{display:inline-block;margin-top:16px}
a.fcard.linkcard:hover .textlink{border-bottom-color:var(--navy)}
.statement{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:500;color:var(--navy);line-height:1.3;max-width:34ch;margin:0 auto;text-align:center}
.statement em{font-style:italic;color:var(--copper-deep)}
.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.compare>div{padding:36px 36px 40px}
.compare .typical{background:var(--mist);color:var(--body);border:1px solid var(--line);border-right:0}
.compare .lwp{background:var(--navy);color:#dbe7f0;position:relative;overflow:hidden;isolation:isolate}
.compare .lwp::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px 260px at 80% 10%,rgba(11,61,107,.9),transparent 62%)}
.compare h3{font-size:26px;margin-bottom:18px}
.compare .lwp h3{color:#fff}
.compare li{position:relative;padding:9px 0 9px 28px;font-size:15.5px;border-bottom:1px solid var(--line)}
.compare .lwp li{border-bottom-color:rgba(255,255,255,.12)}
.compare li::before{position:absolute;left:0;top:9px;font-weight:700}
.compare .typical li::before{content:"\00d7";color:var(--muted);font-size:18px;line-height:1.3}
.compare .lwp li::before{content:"\2713";color:var(--copper)}
.price-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);gap:24px;align-items:stretch}
.price-card{background:var(--paper);border:1px solid var(--line);padding:38px 34px;display:flex;flex-direction:column}
.price-card .t{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--copper-deep);margin-bottom:14px}
.price-card .num{font-family:var(--display);font-size:52px;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.price-card .num small{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:500;margin-left:8px}
.price-card h3{font-size:28px;margin:16px 0 10px}
.price-card p{font-size:15.5px}
.price-card ul{margin-top:18px;border-top:1px solid var(--line);flex:1}
.price-card li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.price-card .btn{margin-top:22px;align-self:flex-start}
.bundle{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--copper);padding:30px 32px 32px;display:flex;flex-direction:column}
.bundle-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.bundle-head .t{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--copper-deep)}
.bundle-head .note{font-size:14.5px;color:var(--muted)}
.bundle-body{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch;flex:1}
.bundle .price-card{background:transparent;border:0;padding:0}
.plus-sign{display:flex;align-items:center;justify-content:center;padding-top:26px}
.plus-sign span{width:44px;height:44px;background:var(--copper);color:var(--navy);font-family:var(--display);font-size:32px;font-weight:500;line-height:1;display:flex;align-items:center;justify-content:center;padding-bottom:3px}
.bundle-foot{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.fine{margin:22px auto 0;font-size:14px;color:var(--muted)}

/* included */
.inc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.inc3 .col{padding:30px 0 0}
.inc3 .col.boxed{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--copper);padding:30px 30px 20px}
.inc3 h3{font-size:27px;margin-bottom:4px}
.inc3 .plus{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:12px}
.ticks li{position:relative;padding:11px 0 11px 28px;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;color:var(--navy);line-height:1.35}
.ticks li::before{content:"";position:absolute;left:0;top:14px;width:15px;height:15px;background:var(--copper);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat}
.included-add{margin-top:36px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--copper);padding:30px 34px}
.included-add h3{font-size:26px;margin-bottom:12px}
.included-add ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 32px}
.included-add li{position:relative;padding-left:22px;font-size:15.5px}
.included-add li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:1px;background:var(--copper)}

/* fit lists */
.fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.fit .fcard h3{font-size:26px;margin-bottom:14px}
.fit li{position:relative;padding:8px 0 8px 22px;font-size:15.5px}
.fit li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;background:var(--copper)}
.fit .no li::before{background:var(--line)}

/* about */
.bio-name{font-family:var(--display);font-size:40px;font-weight:600;color:var(--navy);line-height:1.05}
.bio-role{font-family:var(--display);font-size:26px;color:var(--navy-2);margin-top:4px}
.bio-text{margin-top:22px}
.bio-text p{font-size:16.5px;max-width:58ch}
.bio-text p+p{margin-top:14px}
.creds{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.creds li{font-size:13px;font-weight:700;color:var(--navy);background:var(--mist);padding:8px 13px}

/* at a glance */
.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0;border:1px solid var(--line);background:var(--paper)}
.glance div{padding:22px 24px;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.glance div:nth-child(-n+4){border-top:0}
.glance div:nth-child(4n+1){border-left:0}
.glance dt{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:6px}
.glance dd{margin:0;font-size:15px;color:var(--ink);line-height:1.5}
.glance a{color:var(--navy);border-bottom:1px solid var(--copper)}
@media (max-width:960px){
  .glance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glance div:nth-child(-n+4){border-top:1px solid var(--line)}
  .glance div:nth-child(-n+2){border-top:0}
  .glance div:nth-child(4n+1){border-left:1px solid var(--line)}
  .glance div:nth-child(2n+1){border-left:0}
}
@media (max-width:600px){
  .glance{grid-template-columns:1fr}
  .glance div{border-left:0!important;border-top:1px solid var(--line)!important}
  .glance div:first-child{border-top:0!important}
}

/* page title band */
.page-title{background:var(--mist);padding:88px 0 72px}
.page-title h1{max-width:16ch}
.page-title .lede{margin-top:18px}
.page-title .actions{margin-top:28px}
.page-title.with-photo{padding:64px 0 0}
.page-title.with-photo .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:end}
.page-title.with-photo .wrap > div:first-child{padding-bottom:64px}
.page-title.with-photo .ph-portrait{max-width:380px;margin-left:auto;aspect-ratio:1/1}
.page-title.with-photo .ground-ice{background:transparent}
.page-title.with-photo .ground-ice img{top:8%;height:92%}
.note-from p{font-size:16px;max-width:52ch}
.note-from p+p{margin-top:12px}
.kicker[style*="margin-top"]{display:block}

/* perspective */
.video{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,#0e3c66 0%,#08305a 55%,#052744 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}
.video .play{position:relative;width:76px;height:76px;border-radius:50%;border:1px solid rgba(201,149,107,.7);background:rgba(0,42,78,.55);color:#fff;display:flex;align-items:center;justify-content:center}
.video .play svg{width:30px;height:30px;margin-left:4px}
.video .lab{position:absolute;left:18px;bottom:16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(165,210,237,.85)}
.video-wm{position:absolute;right:-2%;bottom:-.24em;font-family:var(--display);font-weight:600;font-size:clamp(120px,18vw,240px);line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.04);pointer-events:none}
.post{background:var(--mist);display:flex;flex-direction:column}
.post .ph{aspect-ratio:3/2}
.post .body{padding:26px 28px 30px}
.post h3{font-size:25px;line-height:1.15;margin-bottom:8px}
.post .meta{font-size:13px;color:var(--muted);margin-bottom:10px}
.post p{font-size:15px}
.post .textlink{display:inline-block;margin-top:14px}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}

/* portal */
.portal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.portal.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.portal .fcard .btn{margin-top:18px}

/* forms */
.form{display:grid;gap:12px;max-width:460px}
.form input,.form textarea{width:100%;font:inherit;font-size:15px;padding:13px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--ice);outline-offset:0;border-color:var(--navy)}
.form .note{font-size:13px;color:var(--muted)}
.form .btn{justify-self:start}
.booking{background:var(--paper);border:1px solid var(--line)}
.book-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.book-side{padding-top:6px}
.expect{list-style:none;border-top:1px solid var(--copper)}
.expect li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.expect .n{font-family:var(--display);font-size:26px;font-weight:600;color:var(--copper-deep);line-height:1.1}
.expect p{font-size:15.5px}
.good{list-style:none}
.good li{position:relative;padding:9px 0 9px 22px;font-size:15.5px;border-bottom:1px solid var(--line)}
.good li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;background:var(--copper)}
.side-contact{margin-top:26px;font-size:15px;color:var(--muted);line-height:1.7}
.side-contact a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--copper)}
@media (max-width:960px){.book-layout{grid-template-columns:1fr}}

/* closing band + note strip + footer */
.cta-band{position:relative;overflow:hidden;isolation:isolate;background:var(--navy) url("/images/p-4b2a08cd7e.webp") center 40%/cover no-repeat;color:#dbe7f0;padding:110px 0;text-align:center}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,42,78,.86) 0%,rgba(0,42,78,.8) 50%,rgba(0,30,56,.9) 100%)}
.cta-band .mosaic{display:none}
.cta-band h2{color:#fff;max-width:20ch;margin:0 auto}
.cta-band p{margin:20px auto 0;font-size:18px;max-width:58ch}
.cta-band .btn{margin-top:32px}
.note-strip{background:var(--mist);padding:64px 0}
.note-strip .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.note-strip h3{font-size:30px;margin-bottom:10px}
.note-strip .form{max-width:none;grid-template-columns:1fr 1fr;gap:12px}
.note-strip .form textarea,.note-strip .form .btn{grid-column:1/-1}
.foot{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#b9cbd9;padding:64px 0 32px}
.foot::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(900px 540px at 78% 14%,rgba(11,61,107,.9),transparent 62%),radial-gradient(760px 500px at 4% 96%,rgba(201,149,107,.18),transparent 60%)}
.foot::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;mix-blend-mode:overlay;pointer-events:none;background-size:180px 180px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .4 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.foot .wm{position:absolute;right:-1%;bottom:-.22em;z-index:-1;font-family:var(--display);font-weight:600;font-size:clamp(180px,26vw,420px);line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.03);pointer-events:none;user-select:none}
.foot .brand{color:#fff}
.foot .brand svg{height:44px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-top:34px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12)}
.foot h4{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(165,210,237,.75);margin-bottom:16px;font-weight:700}
.foot ul{display:grid;gap:10px}
.foot li,.foot a{font-size:15.5px;color:#dbe7f0}
.foot a:hover{color:var(--copper)}
.foot .tag{max-width:36ch;font-size:15px;color:#b9cbd9;margin-top:16px}
.disc{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;line-height:1.6;color:#7f97ab;max-width:100ch}
.copy{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:#7f97ab}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.rv.in{opacity:1;transform:none}

@media (max-width:1180px){
  .menu-btn{display:inline-flex}
  .nav-links{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 22px;box-shadow:0 18px 30px rgba(0,42,78,.08);border-bottom:1px solid var(--line)}
  .nav.is-open .nav-links{display:flex}
  .nav-links li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav-links .nav-cta{margin-top:14px}
  .nav-links .nav-cta a{border:1.5px solid var(--navy);padding:14px 20px;text-align:center}
}
@media (max-width:960px){
  .band{padding:72px 0}
  .split,.split.wide-text,.faq-split,.fit,.note-strip .wrap,.price-layout{grid-template-columns:1fr;gap:40px}
  .split.flip>.photoset{order:0}
  .grid3,.grid4,.tiles,.portal,.inc3,.compare{grid-template-columns:1fr}
  .tiles .tile{padding:28px 0}
  .tiles .tile+.tile{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .grid2{grid-template-columns:1fr}
  .bundle-body{grid-template-columns:1fr}
  .plus-sign{padding:18px 0}
  .included-add ul{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .inc3 .col{padding-top:0}
  .hero{min-height:560px}
  .page-title.with-photo .wrap{grid-template-columns:1fr;gap:0}
  .page-title.with-photo .wrap > div:first-child{padding-bottom:36px}
  .page-title.with-photo .ph-portrait{margin-left:0;max-width:300px}
  .portal.two{grid-template-columns:1fr}
}
@media (max-width:600px){
  :root{--gutter:22px}
  .foot-grid{grid-template-columns:1fr}
  .note-strip .form{grid-template-columns:1fr}
  .nav .wrap{height:72px}
  .brand svg{height:36px}
  .menu-btn .menu-label{display:none}
  .page-title{padding:56px 0 44px}
  .photoset,.photoset.left{padding:16px}
}

/* opening: navy screen with the logo, then it lifts away (once per visit) */
body.loading{overflow:hidden}
.loader{position:fixed;inset:0;z-index:200;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:transform .85s cubic-bezier(.65,0,.35,1),visibility 0s linear .85s}
.loader .lg{color:#fff;width:min(320px,78vw);opacity:0;transform:translateY(12px);animation:ldIn 1s var(--ease) .1s forwards}
.loader .lg svg{width:100%;height:auto;display:block}
.loader .rule{width:140px;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;animation:ldRule .9s var(--ease) .55s forwards}
.loader.done{transform:translateY(-100%);visibility:hidden}
.loader.skip{display:none}
@keyframes ldIn{to{opacity:1;transform:none}}
@keyframes ldRule{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .loader{display:none}
  .rv{opacity:1;transform:none;transition:none}
  .fcard:hover,.btn:hover{transform:none}
  html{scroll-behavior:auto}
}
.fpnarrow{max-width:840px;margin-left:auto;margin-right:auto}
em.hl{font-style:italic;color:var(--copper-deep);font-family:var(--display);font-size:1.06em}
.sublabel{font-family:var(--display);font-size:clamp(26px,2.6vw,34px);color:var(--navy);font-weight:600;letter-spacing:.02em;text-transform:lowercase}
.vrule{width:88px;height:1px;background:var(--copper);margin:0 auto}
.vrule.tall{margin:52px auto}
.hairline{border:0;border-top:1px solid var(--line);margin:0}
.mt-s{margin-top:18px}
.mt-m{margin-top:30px}
.mt-l{margin-top:52px}
.mt-xl{margin-top:76px}
/* the step row: numbered cards, click to open */
.steprow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:14px}
.steprow.four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px;margin-left:auto;margin-right:auto}
.pstep{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 18px 26px;background:var(--paper);border:1px solid var(--line);width:100%;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.band-mist .pstep{background:#fff}
.pstep:hover,.pstep:focus-visible{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,42,78,.10);border-color:var(--copper);outline:none}
.pstep .ico{display:block;color:var(--copper-deep);margin-bottom:16px;flex:none;transition:color .3s,transform .45s var(--ease)}
.pstep .ico svg{width:46px;height:46px}
.pstep:hover .ico,.pstep:focus-visible .ico{color:var(--navy);transform:translateY(-2px)}
.meet .ico{display:block;color:var(--copper-deep);margin-bottom:14px;transition:color .3s}
.meet .ico svg{width:42px;height:42px}
.meet:hover .ico{color:var(--navy)}
.sheet .top .ico{display:block;color:var(--copper);margin-bottom:14px}
.sheet .top .ico svg{width:38px;height:38px}
.pstep .sbox{display:flex;flex-direction:column;align-items:center;flex:1;width:100%;min-width:0}
.pstep .ttl{display:block;font-family:var(--display);color:var(--navy);font-weight:600;letter-spacing:-.005em;font-size:22px;line-height:1.18;margin-bottom:8px}
.pstep .sub{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);line-height:1.45}
.pstep .more{display:block;margin-top:auto;padding-top:16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--copper-deep)}
.steprow::after{content:none}
.connector{position:relative;max-width:1000px;margin:0 auto}
/* modal */
dialog.sheet{border:0;padding:0;margin:auto;max-width:640px;width:calc(100% - 36px);max-height:calc(100vh - 48px);overflow:hidden;background:var(--paper);color:var(--body);box-shadow:0 40px 90px rgba(0,42,78,.32)}
dialog.sheet::backdrop{background:rgba(0,20,38,.62);backdrop-filter:blur(3px)}
.sheet .top{background:var(--navy);color:#dbe7f0;padding:30px 34px 26px;position:relative;overflow:hidden;isolation:isolate;text-align:left}
.sheet .top::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(460px 280px at 84% 8%,rgba(11,61,107,.9),transparent 62%),radial-gradient(380px 260px at 2% 98%,rgba(201,149,107,.18),transparent 60%)}
.sheet .top .num{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin-bottom:10px}
.sheet .top h3{color:#fff;font-size:31px;line-height:1.1}
.sheet .top .when{margin-top:10px;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(165,210,237,.9)}
.sheet .inner{padding:28px 34px 32px;text-align:left;max-height:58vh;overflow:auto}
.sheet .inner p{font-size:16px;max-width:none}
.sheet .inner p+p{margin-top:14px}
.sheet .inner ul{margin-top:16px;border-top:1px solid var(--line)}
.sheet .inner li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid var(--line);font-size:15.5px}
.sheet .inner li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--copper)}
.sheet .leave{margin-top:22px;background:var(--mist);border-left:3px solid var(--copper);padding:16px 20px}
.sheet .leave b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:5px}
.sheet .leave p{font-size:15.5px;margin:0}
.sheet .sfoot{padding:22px 34px 30px;text-align:left;background:var(--paper)}
.sheet .x{position:absolute;top:14px;right:14px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.3)}
.sheet .x:hover{background:rgba(255,255,255,.12)}
.sheet .x svg{width:15px;height:15px}
/* callout */
.callout{max-width:900px;margin:0 auto;background:var(--navy);color:#dbe7f0;position:relative;overflow:hidden;isolation:isolate;padding:34px 40px;text-align:left}
.callout::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(560px 320px at 84% 10%,rgba(11,61,107,.9),transparent 62%),radial-gradient(440px 300px at 2% 98%,rgba(201,149,107,.18),transparent 60%)}
.callout .kicker{color:var(--copper)}
.callout h3{color:#fff;font-size:29px}
.callout p{color:#dbe7f0;font-size:16px;margin-top:10px;max-width:none}
/* meeting cards */
.meetrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:940px;margin:0 auto}
.meet{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--copper);padding:34px 32px 30px;text-align:left;width:100%;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.band-mist .meet{background:#fff}
.meet:hover,.meet:focus-visible{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,42,78,.10);outline:none}
.meet .t{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--copper-deep);margin-bottom:10px}
.meet .ttl{display:block;font-family:var(--display);color:var(--navy);font-weight:600;letter-spacing:-.005em;font-size:28px;line-height:1.1;margin-bottom:8px}
.meet p{font-size:15.5px;max-width:none}
.meet .more{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);border-bottom:2px solid var(--copper);padding-bottom:3px}
@media (max-width:1000px){.steprow{grid-template-columns:repeat(3,minmax(0,1fr))}.steprow.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.steprow,.steprow.four,.meetrow,.fitlist,.onetime,.feeset .row{grid-template-columns:1fr}.steprow{gap:14px}.pstep{flex-direction:row;align-items:center;text-align:left;gap:20px;padding:22px 20px}.pstep .ico{margin-bottom:0}.pstep .ico svg{width:40px;height:40px}.pstep .sbox{align-items:flex-start;flex:1}.pstep .ttl{font-size:20px}.pstep .more{margin-top:8px;padding-top:0}.callout{padding:28px 26px}}
@media (max-width:600px){.sheet .top{padding:26px 24px 22px}.sheet .inner{padding:24px 24px 26px;max-height:52vh}.sheet .sfoot{padding:18px 24px 26px}}
@media (prefers-reduced-motion:reduce){.pstep:hover,.meet:hover,.btn:hover{transform:none}}
.fp{text-align:center}
.fp .fpnarrow,.fp p,.fp h2,.fp h3{margin-left:auto;margin-right:auto}
.fp .vrule{margin-left:auto;margin-right:auto}
.fp h3.sub-h{font-size:clamp(26px,2.6vw,34px)}

.fp .mt-s{margin-top:18px}
.fp .mt-m{margin-top:30px}
.fp .mt-l{margin-top:52px}
.fp .mt-xl{margin-top:76px}
.fp .callout{max-width:940px}
.fp .pstep .ttl{text-wrap:balance}

.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:760px){
  .sheet .inner{max-height:none}
  dialog.sheet{max-height:calc(100vh - 24px)}
  dialog.sheet[open]{display:flex;flex-direction:column}
  .sheet .inner{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch}
  .sheet .top,.sheet .sfoot{flex:0 0 auto}
}

.page-title.is-centered{text-align:center}
.page-title.is-centered h1{max-width:17ch;margin-left:auto;margin-right:auto}
.page-title.is-centered .lede{max-width:62ch;margin-left:auto;margin-right:auto}

/* the fit list */
.fitbox{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--copper);padding:44px 46px 40px;text-align:left;max-width:1000px;margin:0 auto}
.band-mist .fitbox{background:#fff}
.fitlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 46px}
.fitlist li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-size:16.5px;font-weight:500;color:var(--navy);line-height:1.4}
.fitlist li span{display:block;font-weight:400;font-size:15px;color:var(--body);margin-top:3px}
.fitlist li::before{content:"";position:absolute;left:0;top:19px;width:17px;height:17px;background:var(--copper);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat}
.fitnote{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-size:16px;max-width:none}
.fitnote strong{color:var(--navy)}
@media (max-width:820px){.steprow,.steprow.four,.meetrow,.fitlist,.onetime,.feeset .row{grid-template-columns:1fr}.fitbox{padding:32px 26px 28px}}
.fp .fitbox{text-align:left}
/* Sticky booking bar: phones only, after the hero scrolls out.
   position:sticky rather than fixed. It is the last element in the document, so its
   natural place is the very bottom of the page and it gets pinned to the bottom of the
   screen for the whole scroll. Sticky is painted as part of normal layout, which avoids
   the iOS Safari fixed-element problems entirely: no separate layer to lose, and no
   layout viewport extending below the glass while the toolbars collapse. */
.bookbar{position:sticky;bottom:0;z-index:70;display:none;align-items:center;gap:12px;
  padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  background:#fff;border-top:2px solid var(--copper);box-shadow:0 -8px 24px rgba(0,42,78,.10)}
@media (max-width:700px){.bookbar.in{display:flex}}
.nav.is-open ~ .bookbar{display:none}
.bookbar .who{flex:1;min-width:0;font-family:var(--display);font-size:19px;font-weight:600;color:var(--navy);line-height:1.1}
.bookbar .who span{display:block;margin-top:3px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bookbar .btn{flex:none;padding:13px 18px;font-size:12px}
.bookbar .btn:hover{transform:none}
.bookbar .x{flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid var(--line);background:transparent}
.bookbar .x svg{width:11px;height:11px}
/* the booking page is the booking action, so the bar stays out of its way */
body[data-page="book"] .bookbar{display:none}

.article{max-width:72ch;margin:0 auto}
.page-title.is-centered .byline{text-align:center}
.article .lead{font-size:clamp(19px,1.9vw,22px);line-height:1.55;color:var(--ink);margin-bottom:34px}
.article h2{font-size:clamp(26px,2.6vw,34px);margin:44px 0 16px}
.article p{margin-bottom:18px}
.article ul,.article ol{margin:18px 0 24px}
.article .ticks li{margin-bottom:12px}
.article .expect{margin:22px 0 26px}
.article strong{color:var(--ink);font-weight:700}
.byline{margin-top:22px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-deep)}
