:root{
  --bg:#f5f3ee;--paper:#fff;--ink:#101011;--muted:#6e6c67;--line:#d9d6ce;
  --accent:#b79a63;--dark:#101011;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,243,238,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,16,17,.08)}
.nav{height:76px;display:flex;align-items:center;gap:34px}.logo{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.035em;white-space:nowrap;margin-right:auto}.logo span{color:var(--accent)}nav{display:flex;gap:26px;font-size:14px;color:#4f4d48}nav a:hover,.footer-links a:hover{color:var(--accent)}.nav-cta{font-size:13px;font-weight:700;border:1px solid var(--ink);padding:11px 15px;border-radius:100px}.nav-cta span,.button span{margin-left:8px}.menu-toggle{display:none;background:none;border:0;font-size:23px}
.hero{padding:105px 0 92px;position:relative}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center}.eyebrow,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:#77736b}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:7px;height:7px;background:var(--accent);border-radius:50%}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em;line-height:1.02;margin:0}h1{font-size:clamp(54px,7vw,90px);max-width:850px;margin:20px 0 28px}h1 em,h2 em{font-style:normal;color:#9b8050}.hero-text{font-size:19px;color:#5e5c57;max-width:650px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:15px 20px;font-weight:700;font-size:14px;border:0;cursor:pointer}.button-dark{background:var(--dark);color:white}.button-dark:hover{transform:translateY(-2px)}.button-light{background:white;color:var(--ink)}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.trust-row{display:flex;gap:12px;margin-top:65px;color:#77736b;font-size:13px}.trust-row i{font-style:normal;color:var(--accent)}
.hero-card{background:#161616;color:white;border-radius:3px;padding:30px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 24px 70px rgba(0,0,0,.12)}.card-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#aaa}.status{display:flex;align-items:center;gap:6px}.status b{display:block;width:6px;height:6px;background:#b79a63;border-radius:50%}.funnel{display:grid;gap:11px}.funnel-item{border:1px solid #333;padding:21px;display:grid;grid-template-columns:35px 1fr;column-gap:15px;animation:funnelGlow 6s ease-in-out infinite;animation-delay:calc(1.8s + var(--n,0) * 2s)}.funnel-item small{grid-row:span 2;color:#a88b5d}.funnel-item strong{font-family:Manrope;font-size:20px}.funnel-item span{color:#858585;font-size:12px}.card-note{border-top:1px solid #333;padding-top:18px;font-size:13px;color:#bcbab5}
.proof-strip{border-top:1px solid rgba(16,16,17,.12);background:rgba(245,243,238,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid div{padding:28px 30px 30px;border-left:1px solid var(--line);display:grid;gap:7px;align-content:start}.proof-grid div:first-child{border-left:0;padding-left:0}.proof-grid strong{font-family:Manrope,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.02em}.proof-grid span{font-size:13px;color:var(--muted);line-height:1.5;max-width:240px}
.section{padding:125px 0}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:65px}.section-heading h2,.problem h2,.about h2{font-size:clamp(42px,5.2vw,68px);margin-top:13px}
.problem{background:#161616;color:white}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.problem .kicker{color:#aaa}.problem h2{max-width:700px}.problem-copy>p{font-size:20px;color:#bbb;max-width:540px}.system-line{border-top:1px solid #3a3936;border-bottom:1px solid #3a3936;padding:22px 0;margin-top:45px;display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#bbb}.system-line b{color:var(--accent)}
.services{background:#eeece5}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.service{padding:38px 35px 38px 0;border-bottom:1px solid var(--line);min-height:310px}.service:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.service>span{color:var(--accent);font-size:11px;font-weight:700}.service h3{font-size:29px;margin:18px 0 13px}.service p{color:var(--muted);max-width:470px}.service ul{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:7px}.service li{background:#e2dfd7;border-radius:100px;padding:6px 10px;font-size:11px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.step{padding:35px 35px 40px 0;border-bottom:1px solid var(--line)}.step:nth-child(n+4){border-bottom:0}.step:nth-child(3n+2),.step:nth-child(3n+3){padding-left:35px;border-left:1px solid var(--line)}.step small{color:var(--accent);font-weight:700}.step h3{font-size:25px;margin:20px 0 12px}.step p{font-size:14px;color:var(--muted);max-width:300px}
.about{background:#e9e5dc}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.portrait{height:540px;background:#161616;overflow:hidden;border-radius:3px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}.about-copy>p:not(.kicker){color:#5e5b55;max-width:600px;font-size:17px}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfcac0;margin-top:38px;padding-top:20px}.about-facts div{display:grid;gap:4px}.about-facts strong{font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.about-facts span{font-size:13px;color:#77736b}
.insights{padding-bottom:125px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article{background:white;padding:30px;min-height:320px;display:flex;flex-direction:column;transition:.2s;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.article:focus-visible,.modal-close:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.article:hover{transform:translateY(-5px)}.article>span{font-size:10px;letter-spacing:1.5px;color:var(--accent);font-weight:700}.article h3{font-size:25px;margin:25px 0 12px}.article p{color:var(--muted);font-size:14px}.article b{margin-top:auto;font-size:12px}
.contact{padding-top:0}.contact-box{background:#161616;color:white;padding:65px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact .kicker{color:#aaa}.contact h2{font-size:clamp(45px,5vw,70px);margin:14px 0 22px}.contact-box>div>p:last-child{color:#aaa;max-width:420px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact label{font-size:11px;color:#aaa;display:grid;gap:7px}.contact label:nth-last-of-type(1),.contact button,.form-note{grid-column:1/-1}.contact input,.contact select,.contact textarea{width:100%;border:1px solid #3a3937;background:#202020;color:white;padding:13px 14px;font:inherit;font-size:13px;border-radius:2px;outline:none}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#9f8658}.contact textarea{resize:vertical}.contact option{background:#202020}.form-note{font-size:10px;color:#777;margin:0}
footer{background:#111;color:white;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:start}.footer-grid p{color:#777;max-width:270px;font-size:13px}.footer-links{display:grid;gap:9px;font-size:13px}.copyright{border-top:1px solid #292929;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){nav.mobile-open{flex-direction:column;gap:18px;position:absolute;top:76px;left:0;right:0;background:var(--bg);padding:22px 24px 26px;border-bottom:1px solid var(--line);font-size:16px}.container{width:min(calc(100% - 32px),var(--max))}nav,.nav-cta{display:none}.menu-toggle{display:block}nav.mobile-open{display:flex}.hero{padding:70px 0}.hero-grid,.problem-grid,.about-grid,.contact-box{grid-template-columns:1fr;gap:45px}.hero-card{min-height:400px}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid div{padding:22px 18px}.proof-grid div:nth-child(odd){border-left:0;padding-left:0}.proof-grid div:nth-child(n+3){border-top:1px solid var(--line)}.section{padding:85px 0}.section-heading{display:block;margin-bottom:45px}.service-grid,.steps,.article-grid{grid-template-columns:1fr}.service,.service:nth-child(even){padding:32px 0;border-left:0}.step,.step:nth-child(n){padding:30px 0;border-left:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.about-grid{gap:40px}.portrait{height:400px}.contact-box{padding:35px 25px}.contact form{grid-template-columns:1fr}.contact label:nth-last-of-type(1),.contact button,.form-note{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:grid;gap:7px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{margin-top:40px}}
@media(max-width:480px){h1{font-size:48px}.hero-card{padding:22px}.proof-grid{grid-template-columns:1fr}.proof-grid div,.proof-grid div:nth-child(odd),.proof-grid div:nth-child(n+3){border-left:0;padding:18px 0;border-top:1px solid var(--line)}.proof-grid div:first-child{border-top:0}.system-line{gap:6px}.footer-grid{grid-template-columns:1fr}}

/* ---------- Hero: animated background + load sequence ---------- */
.hero-wrap{position:relative;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;animation:bgIn 1.8s ease both}
.orb{position:absolute;border-radius:50%;will-change:transform}
.orb-1{width:680px;height:680px;right:-160px;top:-220px;background:radial-gradient(circle,rgba(183,154,99,.55),rgba(183,154,99,0) 68%);animation:driftA 18s ease-in-out infinite alternate}
.orb-2{width:600px;height:600px;left:-180px;bottom:-200px;background:radial-gradient(circle,rgba(216,195,154,.75),rgba(216,195,154,0) 68%);animation:driftB 24s ease-in-out infinite alternate}
.orb-3{width:420px;height:420px;left:38%;top:8%;background:radial-gradient(circle,rgba(16,16,17,.11),rgba(16,16,17,0) 68%);animation:driftC 30s ease-in-out infinite alternate}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(16,16,17,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,16,17,.06) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 60% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 85% 75% at 60% 40%,#000 15%,transparent 75%);animation:gridMove 40s linear infinite}
@keyframes bgIn{from{opacity:0}to{opacity:1}}
@keyframes driftA{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-140px,110px,0) scale(1.18)}}
@keyframes driftB{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(170px,-90px,0) scale(1.22)}}
@keyframes driftC{from{transform:translate3d(-80px,30px,0) scale(.9)}to{transform:translate3d(120px,90px,0) scale(1.15)}}
@keyframes gridMove{to{background-position:72px 72px}}
@keyframes funnelGlow{0%{border-color:#333;background:transparent}6%,28%{border-color:#9c8356;background:#201f1c}36%,100%{border-color:#333;background:transparent}}

.hero-in{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
html.js .hero h1:not(.split-ready){visibility:hidden}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.wi{display:inline-block;animation:wordUp .95s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.15s + var(--i,0) * .075s)}
@keyframes wordUp{from{transform:translateY(112%)}to{transform:none}}

/* ---------- Article popup ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s}
.modal.open{visibility:visible;opacity:1;transition:opacity .25s ease}
.modal-backdrop{position:absolute;inset:0;background:rgba(16,16,17,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-panel{position:relative;width:min(100%,660px);max-height:86vh;overflow:auto;background:var(--bg);padding:48px 46px 42px;border-radius:3px;box-shadow:0 30px 90px rgba(0,0,0,.35);transform:translateY(18px) scale(.985);transition:transform .3s cubic-bezier(.2,.7,.2,1);outline:none}
.modal.open .modal-panel{transform:none}
.modal-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--ink);border-radius:50%}
.modal-close:hover{background:rgba(16,16,17,.07)}
.modal-tag{font-size:12px;font-weight:700;color:var(--accent)}
.modal-panel h3{font-size:clamp(26px,4vw,34px);margin:12px 0 16px;padding-right:30px}
.modal-lead{color:var(--muted);font-size:16px;margin:0}
.modal-points{list-style:none;padding:0;margin:26px 0 0;counter-reset:s}
.modal-points li{border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:14.5px;position:relative}
.modal-points li strong{display:block;color:var(--ink);font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.015em;margin-bottom:3px}
ol.modal-points li{counter-increment:s;padding-left:34px}
ol.modal-points li::before{content:counter(s);position:absolute;left:0;top:17px;color:var(--accent);font-weight:700;font-size:13px}
.modal-tip{background:#e9e5dc;padding:16px 18px;font-size:14px;color:#4f4d48;margin:8px 0 26px}
body.modal-open{overflow:hidden}
@media(max-width:600px){.modal{padding:14px}.modal-panel{padding:40px 24px 30px;max-height:90vh}}

@media(prefers-reduced-motion:reduce){
  .orb,.grid-lines,.hero-bg,.hero-in,.wi,.funnel-item{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  .modal,.modal-panel{transition:none}
  html{scroll-behavior:auto}
}

