*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0a0a0a;--fg:#e8e4dc;--accent:#c9a96e;--accent2:#8b7355;
  --muted:#555;--subtle:#222;--line:#2a2a2a;
  --font-display:'Cormorant Garamond',serif;
  --font-body:'Libre Baskerville',serif;
  --font-mono:'JetBrains Mono',monospace;
}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--fg);font-family:var(--font-body);overflow-x:hidden;cursor:default}
::selection{background:var(--accent);color:var(--bg)}
body::before{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  background-size:256px 256px;opacity:0.4;
}
.cursor-glow{
  position:fixed;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,169,110,0.06) 0%,transparent 70%);
  pointer-events:none;z-index:1;transform:translate(-50%,-50%);
  transition:left .1s ease-out,top .1s ease-out;
}
@media(hover:none){.cursor-glow{display:none}}
section{position:relative;z-index:2;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}
.hero{flex-direction:column;text-align:center}
.hero-pre{font:300 .7rem/1 var(--font-mono);letter-spacing:.5em;text-transform:uppercase;color:var(--muted);margin-bottom:3rem;opacity:0;transform:translateY(20px);animation:fadeUp 1.2s .3s ease forwards}
.hero-title{font:300 clamp(3.5rem,12vw,10rem)/.9 var(--font-display);color:var(--fg);letter-spacing:-.02em;opacity:0;transform:translateY(40px);animation:fadeUp 1.5s .6s ease forwards}
.hero-title span{color:var(--accent);font-weight:500}
.hero-line{width:80px;height:1px;background:var(--accent);margin:3rem auto;opacity:0;transform:scaleX(0);transform-origin:center;animation:lineGrow 1.5s 1.2s ease forwards}
.hero-sub{font:300 1.15rem/1.8 var(--font-body);color:var(--muted);max-width:600px;margin:0 auto;opacity:0;transform:translateY(20px);animation:fadeUp 1.2s 1.5s ease forwards}
.scroll-ind{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeUp 1s 2.5s ease forwards;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}
.scroll-ind span{font:300 .6rem var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:color .3s}
.scroll-ind:hover span{color:var(--accent)}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s infinite}
.manifesto{flex-direction:column;max-width:800px;margin:0 auto}
.section-num{font:300 .65rem var(--font-mono);letter-spacing:.5em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;display:block}
.manifesto h2{font:400 clamp(2rem,5vw,3.5rem)/1.15 var(--font-display);color:var(--fg);margin-bottom:2.5rem}
.manifesto p{font:400 1rem/2 var(--font-body);color:var(--muted);margin-bottom:1.5rem}
.highlight{color:var(--fg);font-weight:700;border-left:2px solid var(--accent);padding-left:1.5rem;margin:2.5rem 0;font:400 1.1rem/1.9 var(--font-body)}
.pillars{flex-direction:column;max-width:1000px;margin:0 auto;width:100%}
.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}
.pillar{border:1px solid var(--line);padding:2.5rem;position:relative;transition:all .5s ease;overflow:hidden}
.pillar::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s ease}
.pillar:hover::before{transform:scaleX(1)}
.pillar:hover{border-color:var(--accent2);background:rgba(201,169,110,.02)}
.pillar-num{font:300 2.5rem var(--font-display);color:var(--accent);margin-bottom:1rem}
.pillar h3{font:600 1rem/1.4 var(--font-body);color:var(--fg);margin-bottom:1rem}
.pillar p{font:400 .85rem/1.8 var(--font-body);color:var(--muted)}
.legal-section{flex-direction:column;max-width:800px;margin:0 auto}
.legal-item{border-bottom:1px solid var(--line);padding:2rem 0;display:flex;gap:2rem;align-items:baseline}
.legal-ref{font:700 .8rem var(--font-mono);color:var(--accent);min-width:120px;flex-shrink:0}
.legal-text{font:400 .95rem/1.9 var(--font-body);color:var(--muted)}
.legal-text strong{color:var(--fg)}
.cta-section{flex-direction:column;text-align:center}
.cta-section h2{font:300 clamp(2rem,5vw,3.5rem)/1.15 var(--font-display);color:var(--fg);margin-bottom:1.5rem}
.cta-section p{font:400 1rem/1.9 var(--font-body);color:var(--muted);max-width:600px;margin:0 auto 3rem}
.cta-btn{display:inline-block;padding:1.2rem 3.5rem;border:1px solid var(--accent);color:var(--accent);font:400 .8rem var(--font-mono);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;transition:all .5s ease;cursor:pointer;background:transparent;-webkit-tap-highlight-color:transparent}
.cta-btn::before{content:'';position:absolute;inset:0;background:var(--accent);transform:translateY(100%);transition:transform .5s ease;z-index:-1}
.cta-btn:hover{color:var(--bg)}
.cta-btn:hover::before{transform:translateY(0)}
@media(hover:none){.cta-btn:active{color:var(--bg);background:var(--accent)}}
footer{text-align:center;padding:4rem 2rem;border-top:1px solid var(--line);position:relative;z-index:2}
footer .sig{font:500 1.2rem var(--font-display);color:var(--fg);margin-bottom:.5rem}
footer .role{font:300 .75rem var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
footer .legal{font:400 .7rem var(--font-body);color:var(--subtle);max-width:500px;margin:0 auto;line-height:1.8}
.particles{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.particle{position:absolute;width:2px;height:2px;background:var(--accent);border-radius:50%;opacity:0;animation:float linear infinite}
.reveal{opacity:0;transform:translateY(30px);transition:all 1s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes lineGrow{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:scaleX(1)}}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes float{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.6}90%{opacity:.2}100%{opacity:0;transform:translateY(-10vh) scale(1)}}
@media(max-width:768px){
  section{padding:3rem 1.25rem;min-height:auto}
  .hero{min-height:100vh;min-height:100dvh}
  .hero-pre{font-size:.6rem;letter-spacing:.3em;margin-bottom:2rem}
  .hero-sub{font-size:1rem;line-height:1.7}
  .hero-line{margin:2rem auto}
  .manifesto{padding-top:2rem;padding-bottom:2rem}
  .manifesto h2{font-size:clamp(1.8rem,7vw,2.5rem)}
  .manifesto p{font-size:.9rem;line-height:1.85}
  .highlight{font-size:.95rem;line-height:1.75;padding-left:1rem}
  .pillars-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:2rem}
  .pillar{padding:2rem 1.5rem}
  .pillar-num{font-size:2rem}
  .pillar h3{font-size:.95rem}
  .pillar p{font-size:.8rem}
  .legal-item{flex-direction:column;gap:.5rem;padding:1.5rem 0}
  .legal-ref{min-width:auto;font-size:.75rem}
  .legal-text{font-size:.85rem;line-height:1.75}
  .cta-section h2{font-size:clamp(1.8rem,7vw,2.5rem)}
  .cta-section p{font-size:.9rem}
  .cta-btn{padding:1rem 2.5rem;font-size:.75rem}
  footer{padding:3rem 1.25rem}
  footer .sig{font-size:1.1rem}
  footer .role{font-size:.65rem;letter-spacing:.2em}
  footer .legal{font-size:.65rem}
}
@media(max-width:380px){
  .hero-title{font-size:clamp(3rem,14vw,4rem)}
  .hero-pre{font-size:.55rem;letter-spacing:.2em}
  section{padding:2.5rem 1rem}
}
