@font-face{font-family:"Playfair Display";src:url(fonts/playfair.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-medium.woff2) format("woff2");font-weight:500;font-display:swap}
/* Margin Walls — sibling of Margin (marginlauncher.top): warm charcoal + amber, Playfair + Inter, paper band.
   The neon ring logo is the one cool accent (--ring). Tokens: /workspace/marginalwalls-site/DESIGN_TOKENS.md */
:root{--bg:#1a1714;--bg2:#211d19;--card:#24201c;--surface-high:#2e2924;--line:rgba(243,230,208,.14);--ink:#efe7da;--mute:#afa597;--faint:#8e877d;
--accent:#e8a13a;--accent-hover:#f0b456;--accent-soft:rgba(232,161,58,.22);--on-accent:#1a1208;
--paper:#f1e9d8;--paper-surface:#f8f2e4;--paper-text:#1e1914;--paper-muted:#6b5d4b;--paper-accent:#8e2b1e;--paper-line:rgba(30,25,20,.16);
--ring:linear-gradient(120deg,#FF4FD8,#8B6CFF 35%,#3FD4FF 60%,#FFB547);--pink:#FF4FD8;--violet:#8B6CFF;--cyan:#3FD4FF;--amber:#e8a13a;
--r:22px;--r-lg:28px;--max:1120px;--pad:clamp(20px,5vw,56px);
--serif:"Playfair Display","Palatino Linotype",Palatino,"Times New Roman",serif;--sans:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.35;background:url(grain.webp) repeat;mix-blend-mode:overlay}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-soft)}
a{color:inherit}img,video{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px;z-index:99}
/* nav */
.nav{position:sticky;top:0;z-index:30;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(26,23,20,.78);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:22px;letter-spacing:.01em;color:var(--ink)}
.brand img{width:34px;height:34px;border-radius:0}
.nav nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,3vw,28px)}
.nav nav a{text-decoration:none;color:var(--mute);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.nav nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:500;font-size:15px;border:1px solid var(--line);background:transparent;transition:background .15s,color .15s,border-color .15s;cursor:pointer;color:var(--ink);font-family:var(--sans)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);border:0;color:var(--on-accent)}
.btn.primary:hover{background:var(--accent-hover)}
.btn small{font-weight:400;opacity:.75;font-size:13px}
.btn.soon,.btn[aria-disabled="true"]{cursor:default;pointer-events:none;opacity:.72;color:var(--mute);border-color:var(--line);background:transparent}
.btn.soon:hover,.btn[aria-disabled="true"]:hover{border-color:var(--line);color:var(--mute)}
.nav nav a.btn{padding:8px 16px;color:var(--on-accent);letter-spacing:.08em;font-size:12px}
/* hero */
.hero{position:relative;overflow:hidden;padding:72px 0 40px}
.hero:before{content:"";position:absolute;inset:-30% -10% auto;height:120%;background:radial-gradient(40% 50% at 75% 40%,rgba(232,161,58,.10),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.02fr 1.2fr;gap:48px;align-items:center}
.eyebrow{display:block;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.rule{display:block;width:2px;height:48px;background:var(--accent);margin-bottom:18px}
.lede{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,28px);color:var(--accent);margin:0 0 18px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0}
h1{font-size:clamp(44px,6.6vw,80px);margin:14px 0 10px}
.grad{font-style:italic;color:var(--accent)}
.lead{font-size:17px;color:var(--mute);max-width:38rem}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 10px}
.fine{font-size:13px;color:var(--faint)}
.stage{position:relative;aspect-ratio:16/11}
.monitor{position:absolute;left:0;top:4%;width:88%;border-radius:14px;padding:10px;background:linear-gradient(#2e2924,#24201c);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.monitor .screen,.phone .screen{position:relative;overflow:hidden;border-radius:8px;background:#000}
.monitor .screen{aspect-ratio:16/9}
.monitor:after{content:"";display:block;width:22%;height:16px;margin:10px auto -4px;border-radius:0 0 10px 10px;background:#24201c}
.phone{position:absolute;right:0;bottom:0;width:27%;border-radius:var(--r-lg);padding:8px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.35);transform:rotate(2deg)}
.phone .screen{aspect-ratio:1088/1920;border-radius:23px}
.screen img,.screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.screen video{opacity:0;transition:opacity .6s}.screen video.on{opacity:1}
.syncbeam{position:absolute;right:20%;bottom:30%;width:16%;height:2px;background:var(--ring);box-shadow:0 0 10px rgba(232,161,58,.6);animation:beam 2.4s ease-in-out infinite}
@keyframes beam{0%,100%{opacity:.25}50%{opacity:1}}
.chip{position:absolute;left:4%;bottom:4%;font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(26,23,20,.8);border:1px solid var(--line);backdrop-filter:blur(6px)}
.hero-title{position:absolute;left:6%;top:12%;font-size:13px;color:#fff;text-shadow:0 2px 12px #000}
.strip{display:flex;gap:10px;margin-top:22px}
.strip button{flex:1;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;background:none;aspect-ratio:16/9;opacity:.6;transition:.2s}
.strip button[aria-pressed=true],.strip button:hover{opacity:1;border-color:var(--accent)}
.strip img{width:100%;height:100%;object-fit:cover}
/* sections */
section{padding:84px 0}
.sec-head{max-width:720px;margin-bottom:40px}
.sec-head h2{font-size:clamp(32px,3.6vw,48px);margin:12px 0 14px}
.sec-head p{color:var(--mute);margin:0}
.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev>:first-child{order:2}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.ticks{list-style:none;padding:0;margin:22px 0 0}
.ticks li{position:relative;padding-left:22px;margin:10px 0;color:var(--mute)}
.ticks li b{color:var(--ink);font-weight:500}
.ticks li:before{content:"";position:absolute;left:4px;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.panel{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/10}
.panel img,.panel video{width:100%;height:100%;object-fit:cover}
/* sync diagram */
.sync{display:grid;grid-template-columns:1.4fr auto .55fr;gap:18px;align-items:center}
.sync .dev{border-radius:12px;overflow:hidden;border:1px solid var(--line);position:relative;background:#000}
.sync .dev.pc{aspect-ratio:16/9}.sync .dev.ph{aspect-ratio:9/16;border-radius:20px}
.sync .dev img{width:100%;height:100%;object-fit:cover;transition:filter .5s}
.sync .arrows{display:flex;flex-direction:column;gap:8px;align-items:center;color:var(--mute);font-size:12px;text-align:center}
.sync .arrows span{display:block;width:56px;height:2px;background:var(--accent)}
.sync-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.pill{font:inherit;font-size:14px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);cursor:pointer}
.pill[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}
/* look demo */
.look{display:grid;grid-template-columns:1.5fr 1fr;gap:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--card)}
.look .view{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.look .view img{width:100%;height:100%;object-fit:cover}
.look .vig{position:absolute;inset:0;pointer-events:none}
.look .insp{padding:22px;border-left:1px solid var(--line)}
.insp h4{margin:0 0 10px;font-size:12px;letter-spacing:2px;color:var(--mute);font-weight:500}
.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px}
.filters button{font:inherit;font-size:13px;padding:7px 4px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);cursor:pointer}
.filters button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.slider{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;font-size:13px;color:var(--mute);margin:8px 0}
input[type=range]{accent-color:var(--accent);width:100%}
.note{font-size:12px;color:var(--mute);margin-top:12px}
/* words demo */
.words{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000;touch-action:none}
.words img{width:100%;height:100%;object-fit:cover}
.w{position:absolute;color:#fff;cursor:grab;user-select:none;text-shadow:0 2px 14px rgba(0,0,0,.65);padding:4px 8px;border:1px dashed transparent;border-radius:6px;white-space:nowrap}
.w:hover,.w.sel{border-color:rgba(255,255,255,.55)}.w.drag{cursor:grabbing}
.w.clock{font:400 clamp(30px,6vw,72px)/1 var(--serif)}.w.date{font-size:clamp(13px,1.6vw,20px);letter-spacing:2px;text-transform:uppercase}
.w.quote{font:400 italic clamp(14px,1.8vw,22px)/1.3 var(--serif);white-space:normal;max-width:46%}
.w .x{position:absolute;right:-10px;top:-10px;width:22px;height:22px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent)!important;color:#fff;font-size:13px;line-height:22px;cursor:pointer;display:none;padding:0}
.w.sel .x{display:block}
.words-bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
/* tiles */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tile h3{font-size:24px;margin:14px 0 6px}
.tile p{margin:0;color:var(--mute);font-size:15px}
.ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid rgba(232,161,58,.4)}
.ico svg{width:22px;height:22px;stroke:#f3c47a;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.packs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.packs span{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:14px}
.packs span b{font-weight:500;color:var(--mute);margin-left:6px}
.duo{display:grid;grid-template-columns:2.2fr 1fr;gap:16px;align-items:end}
.duo figure{margin:0}.duo figcaption{font-size:13px;color:var(--mute);margin-top:8px}
.duo .a{aspect-ratio:16/9}.duo .b{aspect-ratio:1088/1920}
.duo .a,.duo .b{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.duo img{width:100%;height:100%;object-fit:cover}
/* gallery */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.g{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);aspect-ratio:16/9;cursor:pointer;padding:0;color:var(--ink);font:inherit;text-align:left}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.g:hover img{transform:scale(1.05)}
.g .t{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(26,23,20,.92));font-size:14px}
.g .t small{display:block;color:var(--mute);font-size:12px}
.gal-empty{color:var(--mute)}
dialog{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:18px;padding:0;width:min(1000px,94vw);max-height:92vh}
dialog::backdrop{background:rgba(0,0,10,.8);backdrop-filter:blur(4px)}
.dlg-media{background:#000;display:flex;justify-content:center}
.dlg-media video{max-height:70vh;width:auto;max-width:100%}
.dlg-body{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 20px}
.dlg-body h3{font-size:24px}.dlg-body p{margin:4px 0 0;color:var(--mute);font-size:14px}
/* download */
.dl{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dl .card h3{font-size:28px;margin-bottom:8px}
.dl .card p{color:var(--mute);margin:0 0 18px}
.dl .meta{font-size:13px;color:var(--mute);margin-top:14px}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:22px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary:after{content:"+";color:var(--accent);font-size:24px;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq p{color:var(--mute);margin:12px 0 0;max-width:62em}
/* legal */
.legal{max-width:780px;padding:60px 0 80px}
.legal h1{font-size:clamp(36px,5vw,54px)}
.legal h2{font-size:28px;margin:36px 0 12px}
.legal p,.legal li{color:var(--mute)}
.legal .meta{color:var(--mute);font-size:14px}
@media (max-width:960px){
 .hero .wrap,.split,.look,.dl{grid-template-columns:1fr}.split.rev>:first-child{order:0}
 .look .insp{border-left:0;border-top:1px solid var(--line)}
 .grid3,.grid4{grid-template-columns:1fr 1fr}
 .nav nav a.hide-m{display:none}
}
@media (max-width:600px){
 body{font-size:16px}section{padding:60px 0}.hero{padding:40px 0 24px}
 .grid3,.grid4{grid-template-columns:1fr}.nav nav{gap:14px}.nav nav a:not(.btn){display:none}
 .gal{grid-template-columns:1fr 1fr;gap:10px}.filters{grid-template-columns:repeat(4,1fr)}
 .sync{grid-template-columns:1fr auto .5fr;gap:10px}.sync .arrows span{width:24px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Framed Star mark (no extra rounding — the SVG already has the tile and margin rule) */
.ringmark{width:56px;height:56px;border-radius:0;box-shadow:none}
/* paper band (Margin family) */
.band-paper{background:var(--paper);color:var(--paper-text)}
.band-paper .kicker,.band-paper .lede{color:var(--paper-accent)}
.band-paper p,.band-paper .lead,.band-paper .ticks li{color:var(--paper-muted)}
.band-paper .ticks li b{color:var(--paper-text)}
.band-paper .ticks li:before{background:var(--paper-accent)}
.band-paper .words,.band-paper .duo .a,.band-paper .duo .b{border-color:var(--paper-line);box-shadow:0 24px 50px rgba(30,25,20,.18)}
.band-paper .pill{color:var(--paper-text);border-color:var(--paper-line);background:var(--paper-surface)}
.band-paper .btn{color:var(--paper-text);border-color:var(--paper-line)}
.band-paper .btn:hover{color:var(--paper-accent);border-color:var(--paper-accent)}
.band-paper a{color:var(--paper-accent)}
/* pairs with Margin */
.pair{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.pair h2{font-size:clamp(28px,3.4vw,40px);margin:6px 0 8px}.pair p{color:var(--mute);margin:0;max-width:38rem}
@media (max-width:760px){.pair{grid-template-columns:1fr}}
/* footer (Margin structure) */
.site-footer{border-top:1px solid var(--line);padding:48px 0 64px;color:var(--mute);font-size:14px}
.site-footer .wrap{display:grid;gap:28px}
@media (min-width:720px){.site-footer .wrap{grid-template-columns:1.4fr 1fr 1fr;align-items:start}}
.site-footer h2{font-size:22px;margin-bottom:8px;color:var(--ink)}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 8px}
.site-footer a{color:var(--mute);text-decoration:none}.site-footer a:hover{color:var(--accent)}
.site-footer .brand{color:var(--ink)}.site-footer .email{color:var(--ink);font-weight:500}
.site-footer .pairs{color:var(--accent)}
.nav nav a[aria-current=page]{color:var(--ink)}
.look .view{aspect-ratio:auto;min-height:320px;height:100%}
.look .view img{position:absolute;inset:0}
.w.clock{font-size:clamp(26px,4.6vw,58px)}
@media (max-width:600px){.chip{display:none}}
