@font-face { font-family: "Norwester"; src: url("../assets/fonts/norwester.woff") format("woff"); font-display: swap; }
:root { color-scheme: dark; --bg:#080704; --panel:#151008; --sand:#d8bd8a; --cream:#fff3dc; --sand-dark:#806133; --ink:#fffaf0; --muted:#c9baa0; --line:rgba(216,189,138,.25); --shell:min(1100px,calc(100% - 34px)); --display:"Norwester",Impact,sans-serif; --body:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { min-width:320px; margin:0; overflow-x:hidden; background:radial-gradient(circle at 18% 12%,rgba(216,189,138,.09),transparent 25%),var(--bg); color:var(--ink); font-family:var(--body); font-weight:700; }
body::before { content:""; position:fixed; z-index:0; inset:-18%; pointer-events:none; background:repeating-radial-gradient(ellipse at 15% 50%,transparent 0 45px,rgba(216,189,138,.055) 47px 49px,transparent 51px 76px); transform:rotate(-8deg); animation:contour-drift 18s ease-in-out infinite alternate; }
body::after { content:""; position:fixed; z-index:0; inset:0; pointer-events:none; opacity:.35; background-image:radial-gradient(circle,rgba(255,243,220,.22) 0 1px,transparent 1.4px); background-size:37px 37px; mask-image:linear-gradient(130deg,transparent 15%,#000 52%,transparent 85%); }
a { color:inherit; } button { font:inherit; } img { max-width:100%; }
.shell { width:var(--shell); margin-inline:auto; }
.sand-lines { position:fixed; z-index:0; width:45vw; height:45vw; right:-18vw; top:16vh; border:1px solid rgba(216,189,138,.08); border-radius:45% 55% 58% 42%; box-shadow:0 0 0 35px rgba(216,189,138,.025),0 0 0 70px rgba(216,189,138,.018),0 0 0 110px rgba(216,189,138,.012); pointer-events:none; animation:slow-turn 28s linear infinite; }
.site-header,main,.site-footer { position:relative; z-index:1; }
.site-header { display:flex; align-items:center; justify-content:space-between; width:var(--shell); min-height:68px; margin-inline:auto; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font:26px/1 var(--display); letter-spacing:.06em; text-decoration:none; }
.brand>span:last-child>span,.footer-brand span { color:var(--sand); }
.brand-mark,.verified-mark { position:relative; display:block; overflow:hidden; border-radius:50%; background:#000; }
.brand-mark { width:40px; height:40px; border:1px solid var(--line); transition:transform .3s ease,box-shadow .3s ease; }
.brand-mark img,.verified-mark img { position:absolute; width:337.5%; max-width:none; left:-111.25%; top:-39.7%; }
.brand:hover .brand-mark { transform:rotate(8deg); box-shadow:0 0 22px rgba(216,189,138,.3); }
.site-header nav { display:flex; align-items:center; gap:22px; }
.site-header nav a { color:var(--muted); font:.96rem/1 var(--display); letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.site-header nav a:hover { color:var(--cream); }
.nav-contact { padding:9px 13px; border:1px solid var(--line); border-radius:999px; }
.nav-contact:hover { background:var(--sand); color:#090704!important; }

.hero { display:grid; grid-template-columns:minmax(260px,360px) 1fr; gap:clamp(24px,5vw,68px); align-items:center; padding-block:18px 22px; }
.video-wrap { position:relative; aspect-ratio:9/16; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#000; box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 58px rgba(216,189,138,.1); }
.video-wrap video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#000; }
.sound-toggle { position:absolute; z-index:2; right:10px; bottom:10px; padding:8px 10px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(0,0,0,.7); color:#fff; font:.77rem/1 var(--display); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; backdrop-filter:blur(8px); }
.eyebrow { margin:0 0 7px; color:var(--sand); font-size:.7rem; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--sand); box-shadow:0 0 15px var(--sand); animation:pulse 2s ease-in-out infinite; }
h1,h2,h3 { margin:0; font-family:var(--display); font-weight:400; text-transform:uppercase; }
h1 { font-size:clamp(4rem,8vw,7.5rem); line-height:.84; }
h1 em { color:var(--sand); font-style:normal; }
.hero-intro { max-width:450px; margin:13px 0 0; color:var(--muted); font-size:1rem; line-height:1.45; }
.primary-button { position:relative; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-width:210px; margin-top:15px; padding:11px 14px; overflow:hidden; border-radius:7px; background:var(--sand); color:#090704; font:1rem/1 var(--display); letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.primary-button::before,.support-card::before { content:""; position:absolute; inset:0; background:radial-gradient(300px circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.32),transparent 55%); opacity:0; transition:opacity .25s ease; pointer-events:none; }
.primary-button:hover::before,.support-card:hover::before { opacity:1; }
.primary-button span,.support-card i,.back-link span,.site-footer a span { position:relative; z-index:1; font:900 1rem/1 Arial,Helvetica,sans-serif; }

.story-section { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr); gap:20px; align-items:center; padding-block:27px; border-top:1px solid var(--line); }
.story-heading h2,.section-heading h2,.verified h2 { font-size:clamp(2.5rem,4.7vw,4.7rem); line-height:.93; }
.story-carousel { min-width:0; }
.story-copy { display:flex; gap:9px; overflow:hidden; padding:3px 2px; scroll-snap-type:x mandatory; }
.story-copy p { flex:0 0 calc(100% - 4px); min-height:108px; display:flex; align-items:center; margin:0; padding:12px 14px; border-left:3px solid var(--sand); border-radius:0 9px 9px 0; background:linear-gradient(100deg,rgba(216,189,138,.12),rgba(216,189,138,.02)); color:var(--muted); font-size:.96rem; line-height:1.42; scroll-snap-align:start; }
.story-copy p:first-child { color:var(--ink); }
.story-controls { display:flex; align-items:center; justify-content:space-between; padding-top:7px; color:var(--muted); font:.77rem/1 var(--display); letter-spacing:.08em; text-transform:uppercase; }
.story-controls>div,.gallery-buttons { display:flex; gap:6px; }
.story-controls button,.gallery-buttons button { display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid var(--line); border-radius:50%; background:rgba(216,189,138,.06); color:var(--sand); font:900 1rem/1 Arial,Helvetica,sans-serif; cursor:pointer; transition:background .2s,color .2s,opacity .2s,transform .2s; }
.story-controls button:hover:not(:disabled),.gallery-buttons button:hover { transform:scale(1.06); background:var(--sand); color:#090704; }
.story-controls button:disabled { opacity:.28; cursor:default; }

.support-section,.gallery-section { padding-block:27px; border-top:1px solid var(--line); }
.section-heading { margin-bottom:11px; }
.support-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.support-card { position:relative; display:grid; grid-template-columns:1fr auto; gap:5px 12px; min-height:96px; overflow:hidden; padding:12px; border:1px solid var(--line); border-radius:10px; background:linear-gradient(145deg,rgba(216,189,138,.09),rgba(15,11,6,.92)); color:var(--ink); text-align:left; text-decoration:none; cursor:pointer; }
.card-label { position:relative; z-index:1; grid-column:1/-1; color:var(--sand); font:.71rem/1 var(--display); letter-spacing:.12em; text-transform:uppercase; }
.support-card strong { position:relative; z-index:1; align-self:end; font:1.2rem/1.05 var(--display); text-transform:uppercase; }
.support-card i { align-self:end; color:var(--sand); font-style:normal; }
.support-card:hover { border-color:var(--sand); }

.gallery-heading { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:end; }
.gallery-tools { display:flex; align-items:center; gap:12px; }
.gallery-tools p { margin:0; color:var(--muted); font-size:.82rem; }
.gallery { display:flex; gap:10px; overflow-x:auto; padding:11px 9px 15px; scroll-padding-inline:9px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--sand-dark) transparent; }
.gallery::-webkit-scrollbar { height:5px; } .gallery::-webkit-scrollbar-thumb { border-radius:999px; background:var(--sand-dark); }
.portrait { flex:0 0 clamp(170px,22vw,245px); aspect-ratio:3/4; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:42% 42% 10px 10px; scroll-snap-align:center; box-shadow:0 14px 30px rgba(0,0,0,.4); }
.portrait:nth-child(even) { border-radius:10px 10px 42% 42%; }
.portrait img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease,filter .45s ease; }
.portrait:hover img { transform:scale(1.045); filter:saturate(1.08); }

.verified { display:grid; grid-template-columns:56px 1fr auto; gap:13px; align-items:center; margin-block:23px; padding:11px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(100deg,rgba(216,189,138,.13),rgba(15,10,4,.65)); }
.verified-mark { width:56px; height:56px; }
.verified .eyebrow { margin-bottom:5px; }
.verified h2 { font-size:clamp(2rem,3.5vw,3.2rem); }
.verified h2 a { color:var(--cream); text-decoration-color:var(--sand); text-underline-offset:5px; }
.back-link { display:inline-flex; align-items:center; gap:13px; padding:9px 11px; border:1px solid var(--line); border-radius:7px; font:.87rem/1 var(--display); letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.back-link:hover { background:var(--sand); color:#090704; }
.site-footer { padding-block:16px; border-top:1px solid var(--line); background:rgba(0,0,0,.35); }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:34px; align-items:center; }
.footer-brand { font-size:23px; }.footer-grid p { margin:6px 0 0; color:#7f7460; font-size:.76rem; }.footer-grid>a { color:var(--muted); font:.87rem/1 var(--display); letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }

.modal[hidden] { display:none; }.modal { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:16px; }.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.86); backdrop-filter:blur(8px); }.modal-panel { position:relative; width:min(100%,590px); padding:22px; border:1px solid var(--sand); border-radius:13px; background:#0e0b06; box-shadow:0 25px 80px rgba(0,0,0,.72),0 0 40px rgba(216,189,138,.11); }.modal-panel h2 { max-width:90%; font-size:clamp(2rem,5vw,3.3rem); }.modal-close { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--sand); font-size:1.4rem; cursor:pointer; }.wallet-label { margin:17px 0 6px; color:var(--sand); font:.76rem/1 var(--display); letter-spacing:.1em; text-transform:uppercase; }.wallet-address { margin:0; padding:11px; border:1px solid var(--line); border-radius:7px; background:rgba(216,189,138,.07); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.82rem; overflow-wrap:anywhere; }.wallet-warning { margin:10px 0 0; color:#f4c37b; font-size:.82rem; line-height:1.42; }.modal-actions { display:flex; gap:8px; margin-top:14px; }.copy-button,.back-button { min-height:40px; padding:8px 13px; border:1px solid var(--sand); border-radius:7px; font:.87rem/1 var(--display); letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }.copy-button { background:var(--sand); color:#090704; }.back-button { background:transparent; color:var(--sand); }.copy-status { min-height:1.2em; margin:8px 0 0; color:var(--cream); font-size:.8rem; }
.reactive { isolation:isolate; }.reveal { opacity:0; transform:translateY(14px); transition:opacity .6s ease,transform .6s ease; }.reveal.is-visible { opacity:1; transform:none; }:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@keyframes pulse { 50% { transform:scale(1.25); opacity:.72; } } @keyframes contour-drift { to { transform:translate3d(4%,3%,0) rotate(-4deg) scale(1.03); } } @keyframes slow-turn { to { transform:rotate(360deg); } }

@media (max-width:820px) { .site-header nav a:not(.nav-contact){display:none}.hero{grid-template-columns:minmax(220px,300px) 1fr;gap:22px}.story-section{grid-template-columns:1fr;gap:10px}.support-grid{grid-template-columns:1fr}.support-card{min-height:74px}.verified{grid-template-columns:52px 1fr}.verified-mark{width:52px;height:52px}.back-link{grid-column:1/-1;justify-content:space-between}.footer-grid{grid-template-columns:1fr;gap:14px} }
@media (max-width:600px) { :root{--shell:min(100% - 20px,500px)} body{background:radial-gradient(circle at 15% 9%,rgba(216,189,138,.13),transparent 27%),var(--bg)} body::before{position:absolute;inset:0;animation:none;transform:none;opacity:.6} body::after,.sand-lines{display:none}.site-header{min-height:61px}.brand{font-size:22px}.brand-mark{width:35px;height:35px}.nav-contact{padding:7px 10px}.hero{grid-template-columns:1fr;gap:9px;padding-block:7px 12px}.video-wrap{width:min(100%,270px);margin-inline:auto;border-radius:10px}.hero-copy{text-align:center}.hero-intro{margin:8px auto 0;font-size:.9rem}.primary-button{width:min(100%,270px);margin-top:10px}.hero h1{font-size:clamp(2.8rem,14vw,4rem)}.story-section,.support-section,.gallery-section{padding-block:16px}.story-heading h2,.section-heading h2{font-size:1.85rem}.story-copy p{min-height:98px;padding:10px 11px;font-size:.9rem;line-height:1.38}.support-card{min-height:68px;padding:10px}.gallery-heading{grid-template-columns:1fr;gap:8px}.gallery-tools{justify-content:space-between}.gallery{gap:8px;padding:9px 8px 13px}.portrait{flex-basis:165px}.verified{grid-template-columns:44px 1fr;gap:9px;margin-block:13px;padding:9px}.verified-mark{width:44px;height:44px}.verified h2{font-size:1.75rem}.site-footer{padding-block:13px}.modal-panel{padding:19px 15px 15px}.reveal{opacity:1;transform:none;transition:none} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
