:root{
  --ink:#0B1B3F;--ink-2:#102551;--paper:#DCE8FF;--accent:#2F6BFF;--gold:#C9A24A;
  --mute:#A9BBDD;--line:rgba(220,232,255,.16);
  --ease:cubic-bezier(.22,1,.36,1);--ease2:cubic-bezier(.65,0,.35,1);
  --t12:.75rem;--t14:.875rem;--t16:1rem;--t20:1.25rem;--t28:1.75rem;
  --t40:clamp(1.75rem,1.1rem + 2.6vw,2.5rem);
  --t64:clamp(2.25rem,1.2rem + 4.4vw,4rem);
  --t96:clamp(3rem,1.2rem + 7vw,6rem);
  --gut:20px;--sec:clamp(4rem,3rem + 5vw,9rem);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Manrope','Segoe UI',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font:400 var(--t16)/1.6 var(--sans);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);color:var(--ink);padding:10px 14px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--paper);outline-offset:3px;border-radius:2px}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:var(--ink);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper)}
.mk{width:36px;height:36px}
.bn{font:500 var(--t20)/1 var(--serif);letter-spacing:-.01em}
.bn em{font-style:normal;color:#6F9BFF}
.bd{font:700 .6875rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);align-self:flex-end;padding-bottom:7px}
.nav{display:flex;align-items:center;gap:22px;font-size:var(--t14);font-weight:500}
.nav a:not(.btn){text-decoration:none;position:relative;padding:10px 0}
.nav a:not(.btn)::after,.tlink::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:not(.btn):hover::after,.nav a[aria-current]::after,.tlink:hover::after{transform:scaleX(1)}
.hide-s{display:none}
.bn{white-space:nowrap}
@media (max-width:519px){.bd{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;background:var(--accent);color:#fff;font:700 var(--t16)/1 var(--sans);text-decoration:none;border:0;border-radius:3px;cursor:pointer;transition:transform .25s var(--ease),background-color .2s;will-change:transform}
.btn:hover{background:#2457D6}
.btn:active{transform:scale(.98)}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-sm{min-height:40px;padding:0 16px;font-size:var(--t14)}
.btn-lg{min-height:56px;padding:0 30px}
.tlink{position:relative;display:inline-block;padding:14px 0;font-weight:700;text-decoration:none}
.tlink::after{bottom:10px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:32px}

/* type */
.eyebrow{font:700 var(--t12)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
h1,.big{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1}
.h1{font-size:var(--t64)}
.h2{font:400 var(--t40)/1.08 var(--serif);letter-spacing:-.02em}
.big{font-size:var(--t64);max-width:18ch}
.lede{font-size:var(--t20);line-height:1.5;color:var(--mute);max-width:46ch}
p{max-width:62ch}

/* hero */
.hero{position:relative;overflow:hidden;padding:12px 0 var(--sec)}
.hgrid{display:flex;flex-direction:column;gap:8px}
.hero h1{font-size:var(--t96);line-height:.98;letter-spacing:-.03em}
.hero .lede{margin-top:24px}
.hero-rose{align-self:flex-end;width:min(62vw,300px);margin-right:-8px}
.hcopy{position:relative}
.rose-wrap{aspect-ratio:1}
.rose-spin{width:100%;height:100%;will-change:transform}
.rose{width:100%;height:100%;overflow:visible}
.ring{fill:none;stroke:var(--paper);stroke-opacity:.12;stroke-width:.25}
.r2{stroke-opacity:.08}
.rose .p{animation:unfold 1.4s var(--ease) var(--d,0ms) both;transform-origin:0 0}
.rose .p.c{animation-name:pop;animation-duration:.8s}
.rose .ring{animation:fade 1.6s var(--ease) both}
@keyframes unfold{from{transform:scale(.04) rotate(-55deg);opacity:0}to{transform:none;opacity:1}}
@keyframes pop{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* sections */
.sec{padding:var(--sec) 0}
.sec.tight{padding:clamp(2rem,1.5rem + 3vw,4.5rem) 0 var(--sec)}
.tint{background:var(--ink-2)}
.statement{padding:0 0 var(--sec)}
.statement .big{margin-top:32px}
.draw{border:0;height:1px;background:var(--gold);margin:0;width:72px;transform-origin:left}
.split{display:grid;gap:28px}

.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:44px 1fr;column-gap:12px;row-gap:10px;padding:28px 0;border-bottom:1px solid var(--line)}
.row .num{font:500 var(--t14)/2 var(--sans);color:var(--gold);grid-row:span 2}
.row h2{font:400 var(--t28)/1.15 var(--serif);letter-spacing:-.015em}
.row p{color:var(--mute)}

.steps{display:grid;gap:0;position:relative}
.step{position:relative;padding:0 0 36px 36px;border-left:1px solid var(--line);margin-left:6px}
.step:last-child{padding-bottom:0;border-color:transparent}
.step .dot{position:absolute;left:-7px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--gold)}
.step h3{font:400 var(--t28)/1.15 var(--serif);letter-spacing:-.015em;margin-bottom:8px}
.step p{color:var(--mute)}

.who li{display:grid;gap:6px;padding:24px 0;border-bottom:1px solid var(--line)}
.who{border-top:1px solid var(--line)}
.wn{font:400 var(--t40)/1.05 var(--serif);letter-spacing:-.02em;transition:transform .35s var(--ease),color .25s}
.wt{color:var(--mute)}
.who li:hover .wn{transform:translateX(10px);color:#fff}
.area{margin-top:28px;color:var(--mute)}

.about p+p{margin-top:16px}
.about p:not(.eyebrow){font-size:var(--t20);line-height:1.55}

.final{padding:var(--sec) 0;border-top:1px solid var(--line)}
.final .big{margin:32px 0 16px}
.final .lede{margin-bottom:32px}
.final .btn{margin-top:28px}
.final .lede+.btn{margin-top:0}

/* page heads */
.phead{position:relative;overflow:hidden;padding:clamp(2.5rem,2rem + 4vw,6rem) 0 clamp(2rem,1.5rem + 2vw,3.5rem)}
.phead .lede{margin-top:20px}
.page-rose{position:absolute;right:-60px;top:-30px;width:min(54vw,260px);opacity:.28;z-index:0}
.phead .wrap{position:relative}
.phead .wrap>*:not(.page-rose){position:relative;z-index:1}
.thanks:focus{outline:0}

/* pricing */
.pgrid{display:grid;gap:20px}
.plan{padding:28px 22px;border:1px solid var(--line)}
.plan.main{background:var(--ink-2)}
.price{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}
.price.sub{margin-top:-4px;margin-bottom:26px}
.amt{font:400 var(--t64)/1 var(--serif);letter-spacing:-.025em}
.price.sub .amt{font-size:var(--t40)}
.amt.q{font-size:var(--t40);line-height:1.1}
.per{color:var(--mute);font-size:var(--t14)}
.inc{font:700 var(--t12)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.checks{margin-bottom:30px}
.checks li{position:relative;padding:11px 0 11px 28px;border-top:1px solid var(--line)}
.checks li::before{content:"";position:absolute;left:2px;top:19px;width:10px;height:5px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.plan.alt p:not(.price):not(.eyebrow){color:var(--mute);margin-bottom:18px}
.addons li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:400 var(--t20)/1.3 var(--serif)}
.ask{font:700 var(--t12)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;cursor:pointer;list-style:none;font:400 var(--t20)/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;transition:transform .3s var(--ease2)}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq details p{padding:0 0 22px;color:var(--mute)}

/* contact */
.f{margin-bottom:22px}
.f.two{display:grid;gap:22px}
label{display:block;font:700 var(--t12)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
input,textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--paper);background:transparent;border:0;border-bottom:1px solid rgba(220,232,255,.4);border-radius:0;padding:10px 0 12px;transition:border-color .2s,background-color .2s}
textarea{resize:vertical;min-height:130px}
input:hover,textarea:hover{border-color:var(--paper)}
input:focus,textarea:focus{outline:0;border-color:var(--gold);background:rgba(220,232,255,.04)}
input:focus-visible,textarea:focus-visible{outline:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{color:var(--mute);font-size:var(--t14);margin:4px 0 22px}
.ferr{margin-top:16px;color:#FFB4A8;font-size:var(--t14)}
.thanks{padding:8px 0}
.thanks[hidden],.ferr[hidden]{display:none}
.thanks-rose{width:140px;margin-bottom:20px}
.thanks .lede{margin:14px 0 22px}
.direct{border-top:1px solid var(--line);padding-top:24px}
.direct dt{font:700 var(--t12)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:22px}
.direct dd{font:400 var(--t20)/1.4 var(--serif);margin-top:6px}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:56px 0 0}
.fgrid{display:grid;gap:32px}
.fline{margin-top:16px;color:var(--mute);max-width:36ch}
.fnav{display:flex;flex-wrap:wrap;gap:6px 24px}
.fnav a{text-decoration:none;padding:10px 0;font-weight:500}
.fnav a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.fpriv{color:var(--mute);font-size:var(--t14);max-width:46ch}
.fpriv strong{color:var(--paper)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:40px;padding-top:20px;padding-bottom:calc(28px + 76px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:var(--t14);color:var(--mute)}
.no-sticky .legal{padding-bottom:28px}

/* sticky cta (mobile) */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .5s var(--ease)}
.sticky-cta.on{transform:none}
.sticky-cta .btn{width:100%;justify-content:center;min-height:52px}

/* reveals */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--rd,0ms)}
.js .rv.in{opacity:1;transform:none}
.js hr.draw.rv{opacity:1;transform:scaleX(0)}
.js hr.draw.rv.in{transform:none;transition-duration:1s}

@media (min-width:760px){
  :root{--gut:40px}
  .hide-s{display:inline}
  .nav{gap:32px}
  .row{grid-template-columns:70px 5fr 6fr;column-gap:24px;padding:36px 0;align-items:start}
  .row .num{grid-row:auto}
  .row h2{font-size:var(--t40)}
  .f.two{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1.4fr 1fr 1.2fr;align-items:start}
  .sticky-cta{display:none}
  .legal{padding-bottom:28px}
  .who li{grid-template-columns:1fr 1fr;align-items:baseline;gap:24px;padding:30px 0}
  .wn{font-size:var(--t64);letter-spacing:-.025em}
  .page-rose{right:-20px;width:300px;top:-10px;opacity:.9}
}
@media (min-width:980px){
  .hgrid{display:grid;grid-template-columns:7fr 5fr;align-items:center;gap:32px}
  .hero{padding-top:40px}
  .hero-rose{order:2;align-self:center;width:min(100%,520px);margin-right:-60px}
  .split{grid-template-columns:5fr 7fr;gap:64px}
  .pgrid{grid-template-columns:7fr 5fr;align-items:start}
  .plan{padding:44px}
  .plan.alt{margin-top:56px}
  .cgrid{grid-template-columns:7fr 4fr}
  .direct{border-top:0;border-left:1px solid var(--line);padding:0 0 0 36px}
  .page-rose{width:300px;right:0;top:0;opacity:.9}
  .step{padding-bottom:44px}
}
@media (hover:none){.who li:hover .wn{transform:none;color:inherit}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv,.js hr.draw.rv{opacity:1;transform:none}
  .sticky-cta{transform:none}
}
