/* Kevin Shroads — dark edition, shared stylesheet */

:root{
  --bg:#0c1416;
  --bg-2:#101c1f;
  --paper:#f4efe6;
  --muted:#9aa8a8;
  --muted-2:#7d8b8b;
  --teal:#4fb3cf;
  --teal-2:#2f8aa6;
  --sand:#e4cfa8;
  --glass:rgba(244,239,230,.055);
  --glass-2:rgba(244,239,230,.085);
  --glass-brd:rgba(244,239,230,.14);
  --max:1180px;
  --sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Fraunces",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.032em;line-height:1.04}
h1{font-size:clamp(2.5rem,6.4vw,4.8rem)}
h2{font-size:clamp(1.95rem,4.2vw,3.15rem)}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.014em;line-height:1.3}
p{margin:0 0 1.15rem}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,2.75rem)}
.narrow{max-width:820px}
section{padding:clamp(4.25rem,9vw,7.5rem) 0;position:relative;z-index:1}
.tint{background:var(--bg-2)}

/* ---------- film grain (kept subtle) ---------- */
.grain{position:fixed;inset:-50%;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 900ms steps(4) infinite}
@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(-2%,1%)}
  50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(0,0)}}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(12,20,22,.55);
  backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);
  border-bottom:1px solid rgba(244,239,230,.08);transition:background .35s}
.nav.stuck{background:rgba(12,20,22,.86)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:70px;
  max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,2.75rem)}
.mark{font-weight:800;font-size:1.04rem;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.mark em{font-style:normal;color:var(--teal)}
.nav-links{display:flex;align-items:center;gap:1.45rem}
.nav-links a{font-size:.88rem;font-weight:500;text-decoration:none;color:var(--muted);
  transition:color .22s;white-space:nowrap}
.nav-links a:hover{color:var(--paper)}
.nav-links a.on{color:var(--teal)}
@media(max-width:1040px){.nav-links a:not(.btn){display:none}}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-size:.93rem;font-weight:600;text-decoration:none;
  padding:.88rem 1.65rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  white-space:nowrap;will-change:transform;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,background .3s,border-color .3s}
.btn-primary{background:linear-gradient(135deg,var(--teal),var(--teal-2));color:#04191f;
  box-shadow:0 6px 20px -8px rgba(79,179,207,.55)}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(79,179,207,.5),0 14px 40px -10px rgba(79,179,207,.85),
  0 0 60px -12px rgba(79,179,207,.6)}
.btn-ghost{border-color:var(--glass-brd);color:var(--paper);background:var(--glass);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-ghost:hover{border-color:rgba(244,239,230,.42);background:rgba(244,239,230,.1)}
.btn:focus-visible{outline:2.5px solid var(--teal);outline-offset:4px}

/* ---------- gradient mesh ---------- */
.mesh{position:absolute;inset:-25%;z-index:-1;filter:blur(70px);opacity:.66;pointer-events:none}
.mesh span{position:absolute;border-radius:50%;mix-blend-mode:screen}
.m1{width:46%;padding-bottom:46%;left:2%;top:4%;
  background:radial-gradient(circle,#2f8aa6 0%,rgba(47,138,166,0) 68%);animation:drift1 19s ease-in-out infinite alternate}
.m2{width:42%;padding-bottom:42%;right:4%;top:0%;
  background:radial-gradient(circle,#3f6f5e 0%,rgba(63,111,94,0) 68%);animation:drift2 23s ease-in-out infinite alternate}
.m3{width:38%;padding-bottom:38%;left:26%;bottom:2%;
  background:radial-gradient(circle,#8a6a3c 0%,rgba(138,106,60,0) 70%);animation:drift3 27s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(14%,10%,0) scale(1.25)}}
@keyframes drift2{from{transform:translate3d(0,0,0) scale(1.1)}to{transform:translate3d(-12%,14%,0) scale(.9)}}
@keyframes drift3{from{transform:translate3d(0,0,0) scale(.95)}to{transform:translate3d(10%,-12%,0) scale(1.2)}}

/* ---------- heroes ---------- */
.hero{position:relative;padding-top:clamp(8rem,14vw,10.5rem);padding-bottom:clamp(3.5rem,8vw,6rem);
  overflow:hidden;isolation:isolate}
.phero{position:relative;padding-top:clamp(8rem,14vw,10rem);padding-bottom:clamp(2.5rem,5vw,4rem);
  overflow:hidden;isolation:isolate}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:2.75rem}}
.grad{background:linear-gradient(115deg,var(--teal) 0%,#7fd0e4 42%,var(--sand) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-family:var(--serif);font-weight:300;font-size:clamp(1.1rem,2vw,1.4rem);
  line-height:1.5;color:var(--muted);max-width:42ch;margin-top:1.6rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.9rem;margin-top:2.3rem;padding-top:1.6rem;
  border-top:1px solid var(--glass-brd);font-size:.86rem;color:var(--muted-2)}
.hero-meta b{font-weight:700;color:var(--paper)}
.photo-frame{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/5;
  border:1px solid var(--glass-brd);box-shadow:0 40px 90px -34px rgba(0,0,0,.9)}
.photo-frame.sq{aspect-ratio:1/1}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.photo-frame::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,20,22,0) 58%,rgba(12,20,22,.5) 100%)}

/* ---------- shared heads ---------- */
.kick{display:inline-flex;align-items:center;gap:.65rem;font-size:.72rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--teal);margin-bottom:1.1rem}
.kick::before{content:"";width:24px;height:1.5px;background:var(--teal)}
.sec-head{margin-bottom:clamp(2.4rem,5vw,3.4rem)}
.sec-head h2{max-width:22ch}
.sec-sub{font-family:var(--serif);font-weight:300;font-size:clamp(1.04rem,1.85vw,1.24rem);
  line-height:1.55;color:var(--muted);max-width:54ch;margin-top:1.25rem}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--glass);border:1px solid var(--glass-brd);border-radius:20px;
  padding:1.85rem 1.4rem;text-align:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stat .num{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.4vw,3.4rem);
  line-height:1;letter-spacing:-.03em;
  background:linear-gradient(140deg,var(--teal),var(--sand));-webkit-background-clip:text;
  background-clip:text;color:transparent}
.stat .lbl{margin-top:.7rem;font-size:.85rem;color:var(--muted);line-height:1.35}

/* ---------- glass cards + tilt ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem;perspective:1200px}
.cards.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.cards,.cards.two{grid-template-columns:1fr}}
.card{position:relative;background:var(--glass);border:1px solid var(--glass-brd);border-radius:24px;
  padding:2.1rem 1.85rem 1.85rem;display:flex;flex-direction:column;overflow:hidden;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transform-style:preserve-3d;will-change:transform;transition:box-shadow .4s,border-color .4s}
.card::before{content:"";position:absolute;inset:0;border-radius:24px;pointer-events:none;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,0%),rgba(79,179,207,.16),transparent 42%);
  opacity:0;transition:opacity .4s}
.card:hover{border-color:rgba(79,179,207,.42);box-shadow:0 30px 70px -28px rgba(0,0,0,.85)}
.card:hover::before{opacity:1}
.card .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.25rem;
  background:linear-gradient(140deg,rgba(79,179,207,.28),rgba(228,207,168,.16));border:1px solid var(--glass-brd)}
.card .ico svg{width:21px;height:21px;color:var(--teal)}
.card .tag{font-size:.71rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:.7rem}
.card h3{margin-bottom:.7rem}
.card p{color:var(--muted);font-size:.97rem;flex:1;margin-bottom:1.35rem}
.card .price{font-size:.83rem;color:var(--sand);font-weight:600;margin-bottom:1.15rem}
.card .btn{align-self:flex-start}

/* ---------- numbered editorial list ---------- */
.ed-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media(max-width:940px){.ed-grid{grid-template-columns:1fr;gap:2.25rem}}
.ed-item{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:baseline;
  padding:1.4rem 0;border-top:1px solid var(--glass-brd)}
.ed-item:last-child{border-bottom:1px solid var(--glass-brd)}
.ed-item .n{font-family:var(--serif);font-size:.9rem;color:var(--teal);
  font-variant-numeric:tabular-nums;padding-top:.28rem}
.ed-item p{margin:0;font-size:clamp(1.02rem,1.7vw,1.18rem);line-height:1.48;color:var(--paper)}
.ed-item.hl p{font-weight:600}

/* ---------- staggered serif statements ---------- */
.explore{display:grid;gap:clamp(1.4rem,3vw,2.2rem)}
.ex{position:relative;padding-left:clamp(1.5rem,4vw,3.5rem);max-width:74ch}
.ex:nth-child(even){margin-left:auto;text-align:right;padding-left:0;padding-right:clamp(1.5rem,4vw,3.5rem)}
.ex span{font-family:var(--serif);font-weight:300;font-size:clamp(1.32rem,3.2vw,2.3rem);
  line-height:1.24;letter-spacing:-.02em;display:block}
.ex::before{content:"";position:absolute;top:.55em;left:0;width:clamp(.9rem,2.5vw,2.2rem);height:1.5px;
  background:var(--teal)}
.ex:nth-child(even)::before{left:auto;right:0}
@media(max-width:700px){
  .ex:nth-child(even){margin-left:0;text-align:left;padding-left:clamp(1.5rem,4vw,3.5rem);padding-right:0}
  .ex:nth-child(even)::before{left:0;right:auto}}

/* ---------- split content ---------- */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.25rem,5.5vw,4.5rem);align-items:center}
.split.rev{grid-template-columns:1.05fr .95fr}
@media(max-width:940px){.split,.split.rev{grid-template-columns:1fr;gap:2.5rem}}
.prose p{color:var(--muted);font-size:1.04rem}
.prose p.lead{color:var(--paper);font-size:1.16rem;font-weight:600}
.prose h3{margin:2.3rem 0 .85rem}
.pull{font-family:var(--serif);font-weight:300;font-size:clamp(1.38rem,3vw,2rem);line-height:1.28;
  letter-spacing:-.02em;color:var(--paper);margin:2rem 0;padding-left:1.6rem;
  border-left:2.5px solid var(--teal)}

/* ---------- checklists ---------- */
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:0 2.5rem}
.check{display:flex;gap:.9rem;align-items:flex-start;padding:.92rem 0;
  border-bottom:1px solid var(--glass-brd);font-size:.96rem;color:var(--muted);line-height:1.45}
.check svg{flex:0 0 auto;width:16px;height:16px;margin-top:.3rem;color:var(--teal)}
.check strong{color:var(--paper);font-weight:600}
.plist{list-style:none;margin:1.5rem 0 2rem;padding:0;display:grid;gap:.72rem}
.plist li{display:flex;gap:.85rem;align-items:flex-start;font-size:.98rem;color:var(--muted)}
.plist svg{flex:0 0 auto;width:17px;height:17px;margin-top:.32rem;color:var(--teal)}

/* ---------- image band ---------- */
.band{position:relative;min-height:clamp(300px,42vw,500px);display:grid;place-items:center;
  text-align:center;overflow:hidden;padding:clamp(3rem,7vw,5rem) 0}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,20,22,.52),rgba(12,20,22,.8))}
.band .wrap{position:relative;z-index:2}
.band blockquote{margin:0 auto;font-family:var(--serif);font-weight:300;
  font-size:clamp(1.45rem,3.8vw,2.7rem);line-height:1.24;letter-spacing:-.02em;max-width:22ch}
.band cite{display:block;margin-top:1.35rem;font-style:normal;font-size:.77rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}

/* ---------- testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(325px,1fr));gap:1.35rem;align-items:start}
.quote{background:var(--glass);border:1px solid var(--glass-brd);border-radius:22px;
  padding:2rem 1.8rem 1.7rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;flex-direction:column}
.quote .qm{font-family:var(--serif);font-size:3rem;line-height:.7;color:var(--teal);opacity:.4;
  margin-bottom:.85rem}
.quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:1.07rem;
  line-height:1.5;flex:1;color:var(--paper)}
.quote.long blockquote{font-size:1rem}
.who{display:flex;align-items:center;gap:.85rem;margin-top:1.45rem;padding-top:1rem;
  border-top:1px solid var(--glass-brd)}
.who img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.who .nm{font-size:.86rem;font-weight:700;display:block}
.who .rl{font-size:.77rem;color:var(--muted-2)}

/* ---------- pricing ---------- */
.prices{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem;max-width:760px}
@media(max-width:700px){.prices{grid-template-columns:1fr}}
.price-card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:22px;
  padding:2rem 1.8rem;text-align:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.price-card.best{border-color:rgba(79,179,207,.5);
  background:linear-gradient(160deg,rgba(79,179,207,.14),rgba(244,239,230,.05))}
.price-card .lbl{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:.85rem}
.price-card.best .lbl{color:var(--sand)}
.price-card .amt{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,6vw,3.6rem);
  line-height:1;letter-spacing:-.03em;
  background:linear-gradient(140deg,var(--teal),var(--sand));-webkit-background-clip:text;
  background-clip:text;color:transparent}
.price-card .note{font-size:.89rem;color:var(--muted);margin:.85rem 0 1.45rem;min-height:2.6em}

/* ---------- video cards ---------- */
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.35rem}
.vid{border:1px solid var(--glass-brd);border-radius:22px;overflow:hidden;background:var(--glass);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.vid .ph{aspect-ratio:16/10;display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(79,179,207,.2),rgba(228,207,168,.09))}
.vid .ph svg{width:44px;height:44px;color:var(--teal)}
.vid .bd{padding:1.25rem 1.4rem 1.45rem}
.vid h3{font-size:1.04rem;margin-bottom:.35rem}
.vid p{font-size:.89rem;color:var(--muted-2);margin:0}

/* ---------- final CTA ---------- */
.final{text-align:center;position:relative;overflow:hidden}
.final .halo{position:absolute;width:80vw;max-width:900px;aspect-ratio:1/1;border-radius:50%;
  top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;filter:blur(60px);
  background:radial-gradient(circle,rgba(79,179,207,.28) 0%,rgba(79,179,207,0) 66%)}
.final h2,.final .sec-sub,.final-cta{position:relative;z-index:2}
.final h2{max-width:17ch;margin:0 auto}
.final .sec-sub{margin:1.35rem auto 0;text-align:center}
.final-cta{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:2.2rem}

/* ---------- floating whatsapp ---------- */
.wa{position:fixed;right:clamp(1rem,3vw,1.9rem);bottom:clamp(1rem,3vw,1.9rem);z-index:120;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25d366;color:#04191f;box-shadow:0 10px 30px -8px rgba(37,211,102,.7);
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s}
.wa:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 16px 40px -10px rgba(37,211,102,.9)}
.wa svg{width:28px;height:28px}

/* ---------- footer ---------- */
footer{padding:clamp(3rem,6vw,4.5rem) 0 2.4rem;border-top:1px solid rgba(244,239,230,.1)}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:2.5rem}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr;gap:2rem}}
.foot-grid h4{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:1rem}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.56rem}
.foot-grid a{font-size:.91rem;color:var(--muted);text-decoration:none;transition:color .2s}
.foot-grid a:hover{color:var(--teal)}
.foot-blurb{font-family:var(--serif);font-weight:300;font-size:1.03rem;color:var(--muted);
  max-width:34ch;margin-top:.85rem}
.foot-base{margin-top:2.7rem;padding-top:1.5rem;border-top:1px solid rgba(244,239,230,.1);
  display:flex;flex-wrap:wrap;gap:.7rem;justify-content:space-between;font-size:.82rem;color:var(--muted-2)}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .grain{display:none}
  .anim{opacity:1!important;transform:none!important}
}
