/* Two More Mission — shared styles */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --mat:#000000; --raised:#0D0D0D; --panel:#141414; --line:#262626;
  --tape:#FFFFFF; --chalk:#8E8E8E; --body:#C6C6C6; --corner:#9F2121; --corner-lit:#C62B2B;
  --disp:'Barlow Condensed','Helvetica Neue Condensed','Arial Narrow',Impact,sans-serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --nav:64px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
html,body{margin:0;background:var(--mat);overflow-x:hidden;}
body{color:var(--tape);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.narrow{max-width:680px;margin-left:auto;margin-right:auto;}
section{padding:92px 0;position:relative;}
@media(max-width:700px){section{padding:64px 0;}}

h1,h2,h3,h4,.disp{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.005em;margin:0;}
h1{font-size:clamp(40px,7.6vw,92px);line-height:.94;}
h2{font-size:clamp(30px,5vw,58px);line-height:.98;margin-bottom:12px;}
h3{font-size:22px;line-height:1.12;margin-bottom:6px;}
h4{font-size:17px;letter-spacing:.04em;}
p{margin:0 0 18px;}
p:last-child{margin-bottom:0;}
.kicker{font-family:var(--disp);font-size:14px;color:var(--corner-lit);letter-spacing:.24em;
  text-transform:uppercase;margin:0 0 16px;display:flex;align-items:center;gap:12px;font-weight:600;}
.kicker::before{content:"";width:26px;height:2px;background:var(--corner);}
.centre .kicker{justify-content:center;}
.sub{color:var(--chalk);font-size:17px;margin:0 0 30px;}
.copy{color:var(--body);font-size:17px;}
.copy strong{color:var(--tape);font-weight:600;}
.centre{text-align:center;}

/* nav */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav);
  display:flex;align-items:center;background:rgba(0,0,0,0);transition:background .3s ease,border-color .3s ease;
  border-bottom:1px solid transparent;}
header.site.stuck{background:rgba(0,0,0,.92);backdrop-filter:blur(10px);border-bottom-color:var(--line);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.logo{font-family:var(--disp);font-size:17px;letter-spacing:.24em;text-transform:uppercase;
  text-decoration:none;font-weight:700;white-space:nowrap;}
.logo b{color:var(--corner-lit);font-weight:700;}
.navlinks{display:flex;align-items:center;gap:30px;}
.navlinks a{font-family:var(--disp);font-size:16px;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;color:var(--chalk);transition:color .2s ease;}
.navlinks a:hover,.navlinks a.on{color:var(--tape);}
.navlinks a.navcta{background:var(--corner);color:var(--tape);padding:11px 20px;}
.navlinks a.navcta:hover{background:var(--corner-lit);}
.burger{display:none;background:none;border:none;padding:8px;width:42px;}
.burger span{display:block;height:2px;background:var(--tape);margin:5px 0;transition:transform .3s ease,opacity .2s ease;}
body.menuopen .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menuopen .burger span:nth-child(2){opacity:0;}
body.menuopen .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){
  .burger{display:block;}
  .navlinks{position:fixed;inset:var(--nav) 0 0;background:rgba(0,0,0,.97);flex-direction:column;
    justify-content:center;gap:26px;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);}
  .navlinks a{font-size:28px;}
  body.menuopen .navlinks{transform:none;}
  body.menuopen{overflow:hidden;}
}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav) + 48px) 0 64px;overflow:hidden;}
.hero.short{min-height:70svh;}
.heroimg{position:absolute;inset:0;background:#000 center/cover no-repeat;
  filter:grayscale(1) contrast(1.16) brightness(.5);transform:scale(1.06);animation:drift 26s ease-out forwards;}
@keyframes drift{to{transform:scale(1);}}
.heroveil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.5) 42%,rgba(0,0,0,.95));}
.heroveil::after{content:"";position:absolute;inset:0;
  background:radial-gradient(110% 72% at 72% 10%,rgba(159,33,33,.22),transparent 62%);}
.hero .wrap{position:relative;z-index:2;width:100%;}
.hero .sub{color:#E4E4E4;max-width:52ch;font-size:19px;}

.fade{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,.84,.28,1);}
.loaded .fade{opacity:1;transform:none;}
.loaded .d1{transition-delay:.08s;} .loaded .d2{transition-delay:.18s;}
.loaded .d3{transition-delay:.3s;} .loaded .d4{transition-delay:.42s;}
.rise{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.rise.in{opacity:1;transform:none;}

/* buttons */
.btn{display:inline-block;text-decoration:none;font-family:var(--disp);font-size:20px;
  letter-spacing:.07em;text-transform:uppercase;padding:18px 40px;border:none;cursor:pointer;
  transition:transform .18s ease,background .2s ease,color .2s ease;font-weight:600;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--corner);color:var(--tape);}
.btn-primary:hover{background:var(--corner-lit);}
.btn-ghost{background:transparent;color:var(--tape);border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--tape);}
.btn-white{background:var(--tape);color:var(--mat);}
.btns{display:flex;gap:14px;flex-wrap:wrap;}
.centre .btns{justify-content:center;}
.btnnote{font-size:13.5px;color:var(--chalk);margin-top:16px;}

/* mantra strip */
.mantra{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--raised);padding:34px 0;overflow:hidden;}
.mantraline{font-family:var(--disp);font-size:clamp(20px,3.4vw,34px);letter-spacing:.12em;
  text-transform:uppercase;color:var(--chalk);white-space:nowrap;display:flex;gap:26px;
  animation:slide 34s linear infinite;width:max-content;}
.mantraline em{font-style:normal;color:var(--corner-lit);}
@keyframes slide{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.mantraline{animation:none;}}

/* problem list */
.probs{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:36px;}
@media(min-width:760px){.probs{grid-template-columns:1fr 1fr;}}
.prob{background:var(--mat);padding:26px 24px;font-size:16.5px;color:var(--body);}
.prob b{display:block;font-family:var(--disp);font-size:15px;color:var(--corner-lit);
  letter-spacing:.14em;margin-bottom:8px;}

/* principles */
.grid3{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:38px;}
@media(min-width:760px){.grid3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1040px){.grid3{grid-template-columns:repeat(3,1fr);}}
.cell{background:var(--mat);padding:32px 26px;transition:background .3s ease;}
.cell:hover{background:var(--raised);}
.cellno{font-family:var(--disp);font-size:14px;color:var(--corner-lit);letter-spacing:.16em;margin-bottom:14px;}
.cell h3{margin-bottom:10px;}
.cell p{color:var(--chalk);font-size:15.5px;margin:0;}

/* journey */
.journey{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:38px;}
@media(min-width:700px){.journey{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1040px){.journey{grid-template-columns:repeat(6,1fr);}}
.jstep{background:var(--mat);padding:26px 20px;}
.jstep b{font-family:var(--disp);font-size:13px;color:var(--corner-lit);letter-spacing:.18em;display:block;margin-bottom:10px;}
.jstep h4{margin-bottom:8px;}
.jstep p{font-size:14px;color:var(--chalk);margin:0;}

/* split */
.split{display:grid;grid-template-columns:1fr;}
@media(min-width:880px){.split{grid-template-columns:1fr 1fr;}.split.flip .shot{order:2;}}
.shot{position:relative;min-height:340px;background:var(--panel) center/cover no-repeat;
  filter:grayscale(1) contrast(1.1) brightness(.8);}
.splitbody{padding:56px 24px;}
@media(min-width:880px){.splitbody{padding:72px 52px;}}

/* offers */
.offers{display:grid;grid-template-columns:1fr;gap:22px;margin-top:40px;}
@media(min-width:900px){.offers{grid-template-columns:1fr 1fr;gap:26px;}}
.offer{border:1px solid var(--line);background:var(--raised);padding:36px 30px;position:relative;
  display:flex;flex-direction:column;}
.offer.elite{border-color:var(--corner);}
.offer .tag{font-family:var(--disp);font-size:12.5px;letter-spacing:.2em;color:var(--chalk);margin-bottom:14px;}
.offer.elite .tag{color:var(--corner-lit);}
.offer h3{font-size:34px;margin-bottom:10px;}
.offer .line{color:var(--body);font-size:16px;margin-bottom:24px;}
.offer ul{list-style:none;margin:0 0 28px;padding:0;flex:1;}
.offer li{font-size:15.5px;color:var(--body);padding:9px 0 9px 26px;position:relative;border-top:1px solid var(--line);}
.offer li:first-child{border-top:none;}
.offer li::before{content:"/";position:absolute;left:0;color:var(--corner-lit);font-weight:700;}
.offer .plus{font-family:var(--disp);font-size:13px;letter-spacing:.16em;color:var(--corner-lit);
  padding:16px 0 6px;border-top:1px solid var(--line);}

/* comparison */
.tablewrap{margin-top:40px;border:1px solid var(--line);overflow-x:auto;}
table{width:100%;border-collapse:collapse;min-width:520px;}
th,td{padding:16px 18px;text-align:left;border-top:1px solid var(--line);font-size:15px;}
thead th{border-top:none;font-family:var(--disp);font-size:16px;letter-spacing:.08em;
  text-transform:uppercase;background:var(--raised);}
thead th:not(:first-child){text-align:center;}
tbody td:not(:first-child){text-align:center;font-size:18px;}
tbody td.yes{color:var(--tape);}
tbody td.no{color:#4A4A4A;}
tbody tr:hover{background:var(--raised);}

/* app screenshots */
.phones{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px;}
@media(min-width:760px){.phones{grid-template-columns:repeat(4,1fr);gap:20px;}}
.phone{border:1px solid var(--line);background:#000;overflow:hidden;}
.phone img{width:100%;}
.phone figcaption{font-size:13px;color:var(--chalk);padding:12px 14px;border-top:1px solid var(--line);}
.appfeature{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;
  padding:56px 0;border-top:1px solid var(--line);}
@media(min-width:880px){
  .appfeature{grid-template-columns:1fr 1.15fr;gap:60px;}
  .appfeature.flip .appshot{order:2;}
}
.appshot{border:1px solid var(--line);background:#000;max-width:330px;margin:0 auto;width:100%;}
.appshot img{width:100%;}
.callouts{list-style:none;margin:22px 0 0;padding:0;}
.callouts li{font-size:15.5px;color:var(--body);padding:11px 0 11px 26px;position:relative;border-top:1px solid var(--line);}
.callouts li::before{content:"/";position:absolute;left:0;color:var(--corner-lit);font-weight:700;}

/* itinerary */
.days{margin-top:38px;border-top:1px solid var(--line);}
.day{border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr;gap:6px;}
@media(min-width:760px){.day{grid-template-columns:150px 1fr;gap:30px;align-items:baseline;}}
.day b{font-family:var(--disp);font-size:17px;letter-spacing:.1em;color:var(--corner-lit);}
.day p{color:var(--body);font-size:15.5px;margin:0;}

/* faq */
.faq{margin-top:36px;border-top:1px solid var(--line);}
details{border-bottom:1px solid var(--line);}
summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--disp);text-transform:uppercase;font-size:21px;letter-spacing:.02em;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";position:absolute;right:6px;top:18px;color:var(--corner-lit);
  font-size:26px;font-family:var(--disp);}
details[open] summary::after{content:"–";}
details p{color:var(--body);font-size:15.5px;padding:0 0 22px;margin:0;max-width:66ch;}

/* cta band */
.band{background:var(--raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:84px 0;text-align:center;}
.band .sub{max-width:52ch;margin:0 auto 30px;}

/* form */
.formcard{border:1px solid var(--line);background:var(--raised);padding:34px 26px;margin-top:34px;}
@media(min-width:760px){.formcard{padding:44px 42px;}}
.steps{display:flex;gap:6px;margin-bottom:30px;}
.stepbar{flex:1;height:3px;background:var(--line);}
.stepbar.on{background:var(--corner);}
.stepcount{font-family:var(--disp);font-size:13px;letter-spacing:.16em;color:var(--chalk);margin-bottom:10px;}
fieldset{border:none;margin:0;padding:0;}
fieldset[hidden]{display:none;}
legend{font-family:var(--disp);text-transform:uppercase;font-size:27px;margin-bottom:6px;padding:0;}
.legendsub{color:var(--chalk);font-size:15px;margin:0 0 24px;}
label{display:block;font-size:13.5px;color:var(--chalk);margin:22px 0 8px;}
fieldset > label:first-of-type{margin-top:0;}
input,select,textarea{width:100%;padding:15px 16px;background:#000;border:1px solid var(--line);
  color:var(--tape);font:16px/1.4 var(--sans);appearance:none;-webkit-appearance:none;border-radius:0;
  transition:border-color .2s ease;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tape);}
textarea{min-height:104px;resize:vertical;}
select{background-image:linear-gradient(45deg,transparent 50%,var(--chalk) 50%),
  linear-gradient(135deg,var(--chalk) 50%,transparent 50%);
  background-position:calc(100% - 20px) 23px,calc(100% - 15px) 23px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.hint{font-size:13px;color:var(--chalk);margin:8px 0 0;line-height:1.5;}
.formnav{display:flex;gap:12px;margin-top:32px;}
.formnav .btn{flex:1;font-size:18px;padding:16px 20px;}
.hp{position:absolute;left:-9999px;}
.err{color:var(--corner-lit);font-size:14px;margin:16px 0 0;}
.sent{border:1px solid var(--line);background:#000;padding:40px 30px;text-align:center;}
.sent h2{margin-bottom:14px;}
.sent p{color:var(--body);max-width:48ch;margin:0 auto 16px;}

/* sticky mobile cta */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(0,0,0,.95);
  border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  transform:translateY(115%);transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.sticky.show{transform:none;}
.sticky a{display:block;text-align:center;background:var(--corner);color:var(--tape);
  text-decoration:none;padding:15px;font-family:var(--disp);font-size:19px;
  letter-spacing:.06em;text-transform:uppercase;}
@media(min-width:900px){.sticky{display:none;}}

footer.site{padding:60px 0 calc(100px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
@media(min-width:900px){footer.site{padding-bottom:60px;}}
.footgrid{display:grid;grid-template-columns:1fr;gap:30px;}
@media(min-width:760px){.footgrid{grid-template-columns:1.4fr 1fr 1fr;}}
footer.site h4{color:var(--chalk);font-size:13px;letter-spacing:.18em;margin-bottom:14px;}
footer.site a{display:block;color:var(--chalk);text-decoration:none;font-size:15px;padding:5px 0;}
footer.site a:hover{color:var(--tape);}
.footmark{font-family:var(--disp);font-size:20px;letter-spacing:.2em;margin-bottom:12px;}
.footnote{color:#5E5E5E;font-size:13px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .fade,.rise{opacity:1!important;transform:none!important;}
}
