@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=PT+Serif:ital,wght@0,400;0,700;1,400&display=swap');
:root{--bg:#14100b;--surface:#1d1811;--surface-2:#251d14;--line:#3a2f22;--ink:#f3ece2;--muted:#a89686;--amber:#e8a33d;--amber-dark:#7a5322;--mono:"DM Mono",monospace;--serif:"PT Serif",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:500 15px/1.6 Manrope,Arial,sans-serif;background-image:radial-gradient(circle at 8% 0%,#2a1f1240,transparent 40%),radial-gradient(circle at 100% 30%,#1f180f60,transparent 45%)}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a2015}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 19px var(--serif);letter-spacing:-.01em}
.logo em{color:var(--amber);font-style:italic}
.mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #6b5a3f;border-radius:50%;color:var(--amber);background:var(--surface);transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .3s}
.mark svg{width:20px;height:20px;fill:currentColor}
.logo:hover .mark{transform:rotate(-10deg) scale(1.08);border-color:var(--amber)}
nav{display:flex;align-items:center;gap:22px}
nav a{position:relative;display:none;color:var(--muted);text-decoration:none;font-size:13px;transition:color .2s}
nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--amber);transition:right .25s ease}
nav a:hover{color:var(--ink)}
nav a:hover::after{right:0}
.nav-cta,.text-button,.muted-button{border:0;background:transparent;color:var(--ink);font:700 12px Manrope;cursor:pointer}
.nav-cta{padding:11px 18px;border:1px solid #5c4c34;border-radius:999px;transition:.25s}
.nav-cta:hover{background:var(--amber);border-color:var(--amber);color:#1e1206;transform:translateY(-1px)}
.eyebrow{margin:0 0 16px;color:var(--amber);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center}
.eyebrow span{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--amber);animation:dotPulse 1.8s ease-in-out infinite}
h1,h2{margin:0;font:700 clamp(32px,7vw,60px)/1.12 var(--serif);letter-spacing:-.01em}
.hero h1 i{font-style:italic;color:#e0c193}

/* ---------- Full-bleed hero poster ---------- */
.hero{position:relative;overflow:hidden;margin-top:18px;border-radius:28px;min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:64px 0 0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#14100bfa 0%,#14100bf2 42%,#14100b99 58%,#14100b40 78%,#14100b1a 100%),linear-gradient(0deg,#14100bee 0%,#14100b00 30%);z-index:1}
.hero::after{animation:heroZoom 16s ease-in-out infinite alternate}
.hero-inner{position:relative;z-index:2;max-width:600px}
.lead{max-width:480px;margin:22px 0;color:var(--muted);font-size:16px}
.actions{display:flex;align-items:center;gap:21px;flex-wrap:wrap;margin-bottom:8px}
.button{position:relative;border:0;border-radius:16px;padding:16px 20px;background:var(--amber);color:#1e1206;cursor:pointer;font:800 13px Manrope;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,background .2s}
.button:hover{background:#f4c470;transform:translateY(-3px);box-shadow:0 14px 30px #e8a33d40}
.button:active{transform:translateY(-1px) scale(.98)}
.button b{display:inline-block;margin-left:22px;font-size:19px;transition:transform .25s ease}
.button:hover b{transform:translateX(4px)}
.hero .button::before,.dig-route .button::before{content:"";position:absolute;inset:-5px;border-radius:20px;border:1.5px solid var(--amber);opacity:0;animation:ctaRing 2.6s ease-out infinite;pointer-events:none}
.hero .button:hover::before,.dig-route .button:hover::before{animation-play-state:paused;opacity:0}
.text-button{color:var(--muted);transition:color .2s}
.text-button span{margin-left:5px;color:var(--amber);transition:transform .2s ease;display:inline-block}
.text-button:hover{color:var(--ink)}
.text-button:hover span{transform:translateX(3px)}
.hero-facts{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap;margin-top:52px;padding:26px 0 34px}
.hero-facts div{display:grid;gap:4px;min-width:110px;padding:14px 18px;border:1px solid #4b3a24;border-radius:18px;background:#1a140ccc;backdrop-filter:blur(6px);transition:transform .3s,border-color .3s}
.hero-facts div:hover{transform:translateY(-4px);border-color:var(--amber)}
.hero-facts b{font:600 17px var(--mono);color:var(--amber)}
.hero-facts span{color:var(--muted);font-size:10px;line-height:1.35}

.benefits{padding:74px 0}
.section-head{display:grid;gap:16px;margin-bottom:38px;max-width:640px}
.section-head h2{font-size:clamp(26px,4.5vw,42px)}
.section-head p{margin:0;color:var(--muted);font-size:14px;font-family:Manrope}
.cards{position:relative;display:grid;gap:22px}
.cards::before{content:"";position:absolute;top:29px;left:6%;right:6%;height:3px;background-image:linear-gradient(90deg,#4a3a24 50%,transparent 50%);background-size:12px 3px;animation:dashMove 1.2s linear infinite;z-index:0;display:none}
.cards article{position:relative;z-index:1;padding:26px 24px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 40px #00000030;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .35s;overflow:hidden}
.cards article::after{content:"";position:absolute;inset:0;background:radial-gradient(180px circle at var(--mx,50%) var(--my,0%),#e8a33d14,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.cards article:hover{transform:translateY(-6px);border-color:#5c4526;box-shadow:0 24px 50px #00000050}
.cards article:hover::after{opacity:1}
.cards article::before{content:"";position:absolute;top:-9px;left:26px;width:14px;height:14px;border-radius:50%;background:var(--amber);border:3px solid var(--bg);display:none}
.feature-number{display:inline-grid;place-items:center;width:30px;height:30px;margin-bottom:18px;border-radius:50%;background:var(--surface-2);color:var(--amber);font:600 11px var(--mono);transition:transform .3s,background .3s}
.cards article:hover .feature-number{transform:rotate(-8deg) scale(1.08);background:var(--amber);color:#1e1206}
.cards h3{margin:0 0 10px;font:700 19px var(--serif);letter-spacing:0}
.cards p{margin:0;color:var(--muted);font-size:13px;font-family:Manrope}

.dig-route{padding:10px 0 78px}
.route{position:relative;display:grid;gap:18px;margin:8px 0 32px}
.route-step{position:relative;padding:24px 22px;border:1px solid #5c4526;border-radius:22px;background:linear-gradient(160deg,#241a0f,#171310);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.route-step::before{content:"";position:absolute;inset:0;border-radius:inherit;overflow:hidden;background:radial-gradient(180px circle at var(--mx,50%) var(--my,0%),#e8a33d12,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.route-step:hover{transform:translateY(-5px);box-shadow:0 20px 45px #00000040}
.route-step:hover::before{opacity:1}
.route-num{position:relative;z-index:1;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--amber);color:#1e1206;font:700 14px Manrope;margin-bottom:14px;transition:transform .3s}
.route-step:hover .route-num{transform:scale(1.1) rotate(-6deg)}
.route-step h3{position:relative;z-index:1;margin:0 0 8px;font:700 19px var(--serif)}
.route-step p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:13px;font-family:Manrope}
.support{display:grid;gap:25px;padding:38px;margin-bottom:70px;background:var(--surface);border:1px solid var(--line);border-radius:28px;transition:border-color .3s}
.support:hover{border-color:#5c4526}
.support h2{font-size:29px}
.support>div:last-child p{max-width:350px;margin:0 0 16px;color:var(--muted);font-family:Manrope}
.support-link{padding:0;border:0;border-bottom:1px solid var(--amber);background:none;color:var(--ink);cursor:pointer;font:700 14px Manrope;transition:letter-spacing .25s,color .25s}
.support-link:hover{color:var(--amber);letter-spacing:.01em}
.support-link b{display:inline-block;color:var(--amber);margin-left:25px;font-size:18px;transition:transform .25s ease}
.support-link:hover b{transform:translateX(4px)}

footer{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:23px 0 32px;border-top:1px solid var(--line)}
footer p{display:none;color:var(--muted);font-size:11px}
.footer-link{border:1px solid #4a3a24;border-radius:999px;padding:8px 14px;background:transparent;color:var(--amber);font:600 11px var(--mono);cursor:pointer;transition:.25s}
.footer-link:hover{background:var(--amber);color:#1e1206;border-color:var(--amber);transform:translateY(-2px)}
.operator{position:fixed;z-index:5;right:16px;bottom:16px;border:1px solid #7a6440;border-radius:999px;background:#1a140c;color:var(--ink);padding:11px 15px;box-shadow:0 10px 30px #0008;cursor:pointer;font:700 11px Manrope;transition:transform .25s,box-shadow .25s;animation:operatorNudge 5s ease-in-out infinite}
.operator:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 36px #000a;animation-play-state:paused}
.operator span,.chat-toggle span{color:var(--amber);margin-right:6px}
.toast{position:fixed;z-index:9;left:50%;bottom:75px;transform:translate(-50%,16px);opacity:0;pointer-events:none;white-space:nowrap;border:1px solid #dbb97a;background:#f1e6d2;color:#241a0e;padding:12px 16px;border-radius:16px;font-size:12px;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.chat{position:fixed;z-index:5;right:16px;bottom:65px}
.chat-toggle{border:1px solid #4a3a24;border-radius:999px;background:#1a140c;color:var(--ink);padding:9px 14px;cursor:pointer;font:600 11px Manrope;transition:transform .25s}
.chat-toggle:hover{transform:translateY(-2px);border-color:var(--amber)}
.chat-window{display:none;width:286px;margin-bottom:9px;border:1px solid #4d3c24;border-radius:20px;overflow:hidden;background:#181310;box-shadow:0 20px 60px #000a;transform-origin:bottom right}
.chat.open .chat-window{display:block;animation:chatPop .3s cubic-bezier(.16,1,.3,1)}
.chat-head{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);font:10px var(--mono);color:var(--amber)}
.chat-head button{border:0;background:0;color:var(--ink);font-size:18px;cursor:pointer;transition:transform .2s}
.chat-head button:hover{transform:rotate(90deg)}
.chat-log{min-height:100px;padding:13px}
.chat-log p{margin:0 0 8px;padding:10px 12px;border-radius:14px;background:#2a2116;color:#e7ded1;font-size:12px;animation:msgIn .25s cubic-bezier(.16,1,.3,1)}
.chat-log .user{margin-left:28px;background:#e5c081;color:#241a0e}
.chat-options{display:flex;flex-wrap:wrap;gap:6px;padding:0 13px 13px}
.chat-options button{border:1px solid #66542f;border-radius:999px;background:none;color:#cfbf9f;padding:6px 10px;cursor:pointer;font-size:10px;transition:.2s}
.chat-options button:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-1px)}

.modal{position:fixed;z-index:10;inset:0;display:none;place-items:center;padding:20px}
.modal.open{display:grid;animation:modalIn .2s ease}
.modal-backdrop{position:absolute;inset:0;background:#0a0806dd;backdrop-filter:blur(5px)}
.modal-card{position:relative;width:min(480px,100%);min-height:370px;padding:46px 30px;border:1px solid #6f5a37;border-radius:32px;background:#191410;text-align:center;box-shadow:0 30px 100px #000;animation:cardPop .4s cubic-bezier(.16,1,.3,1)}
.modal-close{position:absolute;right:16px;top:12px;border:0;background:0;color:#b7ab98;font-size:25px;cursor:pointer;transition:transform .2s,color .2s}
.modal-close:hover{transform:rotate(90deg);color:var(--amber)}
.step{display:grid;justify-items:center}
.step:not(.hidden){animation:cardPop .35s cubic-bezier(.16,1,.3,1)}
.hidden{display:none}
.paw{display:grid;place-items:center;width:48px;height:48px;border:1px solid #82693c;border-radius:50%;color:var(--amber);background:var(--surface);animation:paw-bob 2.4s ease-in-out infinite}
.paw svg{width:26px;height:26px;fill:currentColor}
.modal h2{margin:16px 0 21px;font-size:29px}
.modal p:not(.eyebrow){color:var(--muted);font-size:13px;font-family:Manrope}
.modal-actions{display:grid;width:100%;gap:10px}
.modal-actions .button,.answer-recover{border-radius:16px}
.muted-button{padding:12px;color:var(--muted);transition:color .2s}
.muted-button:hover{color:var(--ink)}
.bad-wifi{font:64px var(--mono);color:#d6b96e;animation:shake .18s infinite}
.danger{color:#d6b96e}
.glitch{animation:glitch 1s infinite}
.answer-recover{margin-top:20px}
@keyframes shake{50%{transform:translateX(3px)}}
@keyframes glitch{50%{text-shadow:1px 0 #f4c470,-1px 0 #b5905b}}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.55}}
@keyframes ctaRing{0%{opacity:.55;transform:scale(.94)}75%,100%{opacity:0;transform:scale(1.18)}}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes dashMove{to{background-position:12px 0}}
@keyframes operatorNudge{0%,75%,100%{transform:translateY(0)}85%{transform:translateY(-5px)}}
@keyframes modalIn{from{opacity:0}to{opacity:1}}
@keyframes cardPop{from{opacity:0;transform:scale(.92) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes chatPop{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes paw-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-4deg)}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media(min-width:720px){
  nav a{display:block}
  .hero{padding:96px 0 0}
  .hero-facts{gap:18px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .cards::before{display:block}
  .cards article::before{display:block}
  .route{grid-template-columns:repeat(3,1fr)}
  .route-step:not(:last-child)::after{content:"";position:absolute;top:17px;right:-27px;width:26px;height:2px;background-image:linear-gradient(90deg,#8a6d3c 50%,transparent 50%);background-size:9px 2px;animation:dashMove 1s linear infinite}
  .support{grid-template-columns:1fr 1fr;align-items:end}
  .support>div:last-child{justify-self:end}
  footer p{display:block}
  .modal-actions{grid-template-columns:1fr 1fr}
}
