:root{
  --sage:#bcc5a9;
  --sage-dark:#4c584a;
  --sage-deeper:#31392f;
  --paper:#efe7cc;
  --paper-2:#f6f0db;
  --ink:#1f251f;
  --muted:#677061;
  --sun:#e8be77;
  --accent:#cc6550;
  --shadow:0 26px 60px rgba(31,37,31,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--sage)}
body{margin:0;min-width:1240px;background:var(--sage);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button{font:inherit}
img{max-width:100%;display:block}
::selection{background:var(--ink);color:var(--paper)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.14;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
.bg-scene{background-image:url('../assets/images/background/chill-landscape.png');background-size:cover;background-position:center}
.topbar{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1450px,calc(100vw - 80px));z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border:2px solid rgba(31,37,31,.45);border-radius:26px;background:rgba(239,231,204,.78);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(31,37,31,.08)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand i{width:12px;height:12px;border-radius:50%;display:inline-block;background:var(--sun);border:2px solid var(--ink)}
.nav{display:flex;gap:26px;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.12em}
.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--ink);transition:right .22s ease}.nav a:hover:after{right:0}
section{position:relative}
.hero{height:100vh;min-height:980px;max-height:1120px;padding:120px 100px 120px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(188,197,169,.12),rgba(188,197,169,.12));pointer-events:none}
.hero-copy{position:relative;z-index:3;max-width:640px}
.eyebrow{margin:0 0 20px;font-size:14px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:34px;height:2px;background:currentColor}
.hero h1,.signal-copy h2,.hill-copy h2,.hangout-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:900;letter-spacing:-.06em;line-height:.86;margin:0}
.hero h1{font-size:112px;text-transform:uppercase}.hero h1 span{display:block}.hero h1 .outline{color:var(--paper);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 rgba(31,37,31,.12)}
.hero-note{font-family:Georgia,serif;font-size:24px;line-height:1.45;max-width:560px;margin:22px 0 22px;color:#394136}
.ticker-pill{display:inline-block;padding:10px 16px;border:2px solid var(--ink);border-radius:999px;background:rgba(239,231,204,.72);font-size:14px;font-weight:900;letter-spacing:.12em;transform:rotate(-2deg);box-shadow:3px 4px 0 rgba(31,37,31,.1)}
.action-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn{height:56px;padding:0 22px;border-radius:16px;border:2px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:14px;text-transform:uppercase;font-size:14px;font-weight:900;letter-spacing:.08em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-light{background:rgba(239,231,204,.82);color:var(--ink)}
.btn:hover{transform:translateY(-4px);box-shadow:4px 8px 0 rgba(31,37,31,.14)}
.hero-visual{position:relative;z-index:3;justify-self:end;width:min(560px,40vw);padding:20px 16px 40px}
.hero-visual:after{content:"";position:absolute;left:12%;right:10%;bottom:16px;height:82px;background:radial-gradient(ellipse at center,rgba(31,37,31,.16),transparent 74%);filter:blur(9px)}
.ring{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:360px;height:360px;border-radius:50%;border:3px dashed rgba(31,37,31,.18);opacity:.75;animation:spin 28s linear infinite}.ring:before{content:"";position:absolute;inset:38px;border-radius:50%;background:rgba(232,190,119,.18)}
.portal{position:relative;border-radius:44% 56% 42% 58% / 22% 22% 78% 78%;overflow:hidden;background:rgba(239,231,204,.24);box-shadow:var(--shadow), inset 0 0 0 2px rgba(31,37,31,.08)}
.portal:before{content:"";position:absolute;inset:14px;border-radius:40% 60% 44% 56% / 20% 20% 80% 80%;border:2px dashed rgba(31,37,31,.12);z-index:2}
.hero-portal{aspect-ratio:1/1.12}
.hero-portal img{width:118%;height:118%;object-fit:cover;object-position:center center;transform:translate(-7%,-3%)}
.phone-tap{position:absolute;left:58%;top:50%;width:90px;height:130px;border:0;background:transparent;cursor:pointer;z-index:6}
.phone-hint{position:absolute;right:-8px;top:34%;background:var(--paper);padding:10px 14px;border:2px solid var(--ink);border-radius:14px;font-size:13px;font-weight:900;opacity:0;transform:translateY(10px) rotate(2deg);transition:.25s ease;z-index:6;pointer-events:none}.phone-hint.show{opacity:1;transform:translateY(0) rotate(2deg)}
.ca-dock{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:5;width:min(900px,64vw);padding:14px 16px;background:rgba(239,231,204,.92);border:2px solid var(--ink);border-radius:24px;box-shadow:var(--shadow)}
.ca-dock small{display:block;font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--muted);margin:0 0 8px 4px;text-transform:uppercase}
.ca-row{display:flex;gap:12px}.ca-row code{flex:1;display:flex;align-items:center;padding:0 16px;border:2px solid rgba(31,37,31,.24);border-radius:14px;background:rgba(255,255,255,.24);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-btn{width:128px;height:48px;border-radius:14px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:900;cursor:pointer}
.toast{position:fixed;left:50%;top:96px;transform:translateX(-50%) translateY(-12px);background:var(--ink);color:var(--paper);border:2px solid var(--paper);border-radius:12px;padding:11px 16px;font-size:13px;font-weight:900;letter-spacing:.12em;z-index:80;opacity:0;transition:.25s ease;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.marquee{height:74px;display:flex;align-items:center;overflow:hidden;border-top:2px solid rgba(31,37,31,.2);border-bottom:2px solid rgba(31,37,31,.2);background:var(--paper)}
.marquee-track{display:flex;gap:28px;white-space:nowrap;width:max-content;font-family:Georgia,serif;font-weight:900;font-size:28px;letter-spacing:-.02em;animation:marquee 22s linear infinite}.marquee-track i{font-style:normal;color:var(--accent)}
.signal{min-height:920px;padding:130px 100px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px;background:linear-gradient(180deg,#d8d8bd 0%,#c6c7a6 100%)}
.paper{padding:62px 60px;background:var(--paper);border:3px solid var(--ink);border-radius:28px 34px 26px 30px;box-shadow:var(--shadow),8px 10px 0 rgba(31,37,31,.09);transform:rotate(-.6deg)}
.signal-copy h2{font-size:76px;margin-bottom:24px}.signal-copy p{font-family:Georgia,serif;font-size:24px;line-height:1.5;max-width:650px;margin:0;color:#3c4339}.signal-stats{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}.signal-stats span{padding:10px 14px;border:2px solid rgba(31,37,31,.18);border-radius:999px;background:rgba(255,255,255,.22);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.phone-card{justify-self:center;width:410px;min-height:620px;padding:44px 28px 30px;background:#79866f;border:7px solid var(--ink);border-radius:46px;box-shadow:var(--shadow),14px 18px 0 rgba(31,37,31,.11);transform:rotate(2deg);position:relative}.phone-card:before{content:"";position:absolute;left:50%;top:18px;transform:translateX(-50%);width:126px;height:22px;border-radius:999px;background:var(--ink)}
.phone-top{display:flex;justify-content:space-between;color:var(--paper);font-size:13px;font-weight:900;letter-spacing:.12em;margin-top:8px;text-transform:uppercase}.bubble{margin-top:22px;max-width:82%;padding:16px 18px;border-radius:20px;background:var(--paper);font-family:Georgia,serif;font-size:22px;line-height:1.24;box-shadow:0 8px 20px rgba(31,37,31,.12)}.bubble.in{margin-left:auto;background:#101712;color:var(--paper)}.typing{margin-top:22px;display:flex;gap:8px}.typing i{width:12px;height:12px;border-radius:50%;background:var(--paper);opacity:.4;animation:typing 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.phone-caption{margin-top:18px;color:var(--paper);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.hill{min-height:1040px;padding:120px 74px 120px;overflow:hidden}.hill-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(72,88,65,.15),rgba(52,64,49,.52) 72%,rgba(43,53,41,.76));pointer-events:none}
.hill-copy{position:relative;z-index:2;color:var(--paper);max-width:900px;padding-left:34px}.hill-copy h2{font-size:78px;max-width:740px;margin-bottom:18px}.hill-copy p{font-family:Georgia,serif;font-size:26px;line-height:1.45;margin:0}
.rules{position:relative;z-index:2;margin-top:130px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:end}
.rule{position:relative;padding-top:138px}
.rule-avatar{position:absolute;top:0;left:50%;transform:translateX(-50%);width:230px;height:180px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.rule-avatar img{max-width:100%;max-height:100%;filter:drop-shadow(0 16px 18px rgba(20,25,20,.18))}
.rule-card{background:rgba(239,231,204,.98);min-height:292px;padding:26px 30px 26px;border:3px solid var(--ink);border-radius:28px;box-shadow:10px 12px 0 rgba(20,25,20,.22)}
.rule-card .num{display:block;color:var(--accent);font-family:Georgia,serif;font-size:18px;font-weight:900;margin-bottom:24px}
.rule-card h3{font-family:Georgia,serif;font-size:54px;line-height:.98;letter-spacing:-.04em;margin:0 0 12px}
.rule-card p{font-size:18px;line-height:1.5;color:#525a50;margin:0}
.quote-section{min-height:660px;background:var(--paper);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.quote-box{position:relative;max-width:1000px;padding:80px 90px;text-align:center}.quote-box i{position:absolute;left:16px;top:0;font-family:Georgia,serif;font-size:180px;line-height:1;color:rgba(31,37,31,.1);font-style:normal}.quote-box p{margin:0;font-family:Georgia,serif;font-size:72px;line-height:1.04;letter-spacing:-.05em}
.hangout{min-height:980px;padding:130px 100px 38px}.hangout:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,231,204,.92),rgba(239,231,204,.80) 46%,rgba(239,231,204,.18) 76%,rgba(239,231,204,.08));z-index:0}
.hangout-grid{position:relative;z-index:2;display:grid;grid-template-columns:.86fr 1.14fr;gap:44px;align-items:center}
.hangout-visual{position:relative;height:720px}.hangout-visual:after{content:"";position:absolute;left:14px;bottom:56px;width:460px;height:112px;background:radial-gradient(ellipse at center,rgba(31,37,31,.14),transparent 72%);filter:blur(8px)}
.final-portal{position:absolute;left:18px;bottom:90px;width:430px;aspect-ratio:1/1.15}.final-portal img{width:118%;height:118%;object-fit:cover;object-position:center center;transform:translate(-7%,-3%)}
.hangout-copy{max-width:760px;position:relative;z-index:2}.hangout-copy h2{font-size:84px;margin-bottom:18px}.hangout-copy p{font-family:Georgia,serif;font-size:24px;line-height:1.5;max-width:620px;margin:0 0 26px}
.final-ca{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:30px;padding:14px 16px;max-width:720px;border:2px solid var(--ink);border-radius:16px;background:rgba(239,231,204,.86)}
.final-ca span{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.final-ca code{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-copy{padding:9px 13px;border:2px solid var(--ink);border-radius:10px;background:transparent;font-weight:900;cursor:pointer}
.mini-copy:hover{background:var(--ink);color:var(--paper)}
.footer{position:relative;z-index:2;margin-top:26px;height:64px;border-top:2px solid rgba(31,37,31,.24);display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:translateY(0)}
.float-a{animation:floatA 6s ease-in-out infinite}.float-b{animation:floatB 6.4s ease-in-out infinite}.float-c{animation:floatC 5.8s ease-in-out infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}
@keyframes floatA{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes floatB{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes floatC{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
