@font-face{font-family:Sora;font-weight:400;font-display:swap;src:url(/assets/fonts/sora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Sora;font-weight:600;font-display:swap;src:url(/assets/fonts/sora-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Sora;font-weight:700;font-display:swap;src:url(/assets/fonts/sora-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}
:root{--navy:#0E1B2C;--navy2:#13243A;--brass:#C8A15A;--brass-ink:#7E5F22;--teal:#0F4C5C;--sop:#2E5E8C;--glass:#A8DCD1;--mist:#C9D6E8;--sand:#F2EBDD;--paper:#FFFCF6;--line:#DCD1BA;--ink:#0E1B2C;--ink2:#4B5768;--coral:#E4572E;
  --fd:Sora,ui-sans-serif,system-ui,sans-serif;--fb:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--fb);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(42px,6vw,76px);line-height:1.02;font-weight:700}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;font-weight:700}
h3{font-size:22px;font-weight:700}
p{margin:0}
.in{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.eyebrow{font-family:var(--fd);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:14px}
.lead{font-size:21px;color:var(--ink2);max-width:60ch}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--fb);line-height:1.2}
.btn.brass{background:var(--brass);color:var(--navy)}.btn.brass:hover{background:#d6b06a}
.btn.ghost{border-color:rgba(242,235,221,.35);color:var(--sand)}.btn.ghost:hover{border-color:var(--sand)}
.btn.light{background:transparent;border-color:rgba(242,235,221,.45);color:var(--sand)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--brass);color:var(--navy);padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(14,27,44,.96);backdrop-filter:blur(8px);color:var(--sand);border-bottom:1px solid rgba(242,235,221,.08)}
.nav .in{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fd);font-weight:600;font-size:20px}
.nav nav{display:flex;gap:22px;margin-left:12px}
.nav nav a{text-decoration:none;color:#A9B5C3;font-weight:600;font-size:15px}.nav nav a:hover{color:var(--sand)}
.nav .cta{margin-left:auto;display:flex;gap:10px}
.nav .btn{padding:9px 16px;font-size:15px}
/* hero */
.hero{background:var(--navy);color:var(--sand);padding:72px 0 96px;overflow:hidden}
.hero .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.hero .eyebrow{color:var(--brass)}
.hero .lead{color:#C9D3DE;margin:22px 0 28px}
.ticks{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-direction:column;gap:6px;color:#C9D3DE;font-size:16px}
.ticks li::before{content:"✓";color:var(--brass);font-weight:700;margin-right:10px}
.hero-shot{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(242,235,221,.12);transform:perspective(1600px) rotateY(-6deg)}
/* problem */
.problem{background:var(--paper)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.grid3>div,.grid4>div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}
.problem .grid3>div{background:var(--sand);border-color:transparent;border-left:5px solid var(--coral);border-radius:12px}
.grid3 b,.grid4 b,.usps b{font-family:var(--fd);font-size:19px;display:block;margin-bottom:8px;line-height:1.25}
.grid3 p,.grid4 p,.usps p{color:var(--ink2);font-size:16.5px}
/* modules */
.mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.mod{background:var(--paper);border-radius:20px;padding:26px;border:1px solid var(--line);border-top:8px solid var(--acc);display:flex;flex-direction:column;gap:16px}
.mod.soe{--acc:var(--teal)}.mod.sop{--acc:var(--sop)}
.mod-h{display:flex;gap:14px;align-items:center}
.mic{width:52px;height:52px;border-radius:14px;background:var(--acc);color:var(--sand);display:inline-flex;align-items:center;justify-content:center;flex:none}
.mod-h p{color:var(--ink2);font-size:15.5px}
.video{border-radius:14px;overflow:hidden;background:var(--navy);aspect-ratio:16/9;box-shadow:0 0 0 3px var(--acc)}
.video video{width:100%;height:100%;object-fit:cover}
.cap{font-size:14px;color:var(--ink2);margin-top:-6px}
.mod ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16.5px;color:var(--ink2)}
.mod li{padding-left:18px;position:relative}.mod li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--acc)}
.mod li b{color:var(--ink)}
/* together */
.together{background:var(--paper)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.two p{color:var(--ink2);margin-top:16px}
.flow{margin:0}
.flow text{font-family:var(--fb)}
/* why */
.usps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px}
.usps>div{border-top:3px solid var(--brass);padding-top:16px}
/* roles */
.roles{background:var(--navy);color:var(--sand)}
.roles .eyebrow{color:var(--brass)}.roles p{color:#C9D3DE}
.shot{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.chips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid rgba(242,235,221,.25);border-radius:999px;padding:5px 12px;font-size:14.5px}
/* trust */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px}
/* start */
.start{background:var(--paper)}
.pack .tag{display:inline-block;font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--sand);border-radius:7px;padding:4px 10px;margin-bottom:12px}
.tag.soe{background:var(--teal)}.tag.sop{background:var(--sop)}.tag.both{background:linear-gradient(90deg,var(--teal) 0 50%,var(--sop) 50%)}
.note{margin-top:28px;font-size:18px;border-left:4px solid var(--brass);padding:4px 0 4px 16px;max-width:70ch}
/* contact */
.contact{background:var(--sand)}
.contact .two{align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:14.5px;font-weight:600;color:var(--ink2)}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{font:inherit;font-weight:400;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;width:100%}
.form .chk{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.form .chk input{width:20px;height:20px;margin-top:2px;flex:none}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
#cmsg{font-size:15px}#cmsg.ok{color:#22603F}#cmsg.bad{color:#9A3020}
.small{font-size:14.5px;color:var(--ink2)}
/* footer */
.foot{background:var(--navy);color:#A9B5C3;padding:40px 0}
.foot .in{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.foot .logo{color:var(--sand)}.foot .small{color:#A9B5C3;margin-left:auto}
@media (max-width:1020px){.nav nav{display:none}.hero .in,.two{grid-template-columns:1fr}.hero-shot{transform:none}.usps,.grid4{grid-template-columns:1fr 1fr}.mods{grid-template-columns:1fr}}
@media (max-width:640px){section{padding:60px 0}.in{padding:0 16px}.grid3,.usps,.grid4,.form{grid-template-columns:1fr}.nav .btn.ghost{display:none}.lead{font-size:19px}.foot .small{margin-left:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
