
:root { --ink:#171515; --cream:#f5f0e6; --coral:#ef604d; --yellow:#f4c83d; --pink:#e9b4cf; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid rgba(23,21,21,.18); position:absolute; width:100%; z-index:5; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:1.5px solid currentColor; border-radius:50%; font-family:Georgia,serif; font-style:italic; font-size:23px; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:700; }
.nav-cta { border:1.5px solid var(--ink); border-radius:999px; padding:12px 18px; }
.hero { min-height:830px; position:relative; overflow:hidden; padding:170px 5vw 100px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; }
.hero-copy { position:relative; z-index:2; max-width:750px; }
.eyebrow,.section-number { text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.14em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.065em; line-height:.88; font-size:clamp(70px,9vw,145px); margin:26px 0 34px; }
.hero-intro { font-family:Georgia,serif; font-size:clamp(19px,2vw,27px); line-height:1.45; max-width:640px; }
.hero-actions { margin-top:38px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.button { display:inline-flex; padding:16px 24px; border-radius:999px; font-weight:800; font-size:14px; transition:transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--coral); color:white; }
.button-dark { background:var(--ink); color:white; }
.text-link { font-size:14px; font-weight:800; border-bottom:1px solid; padding-bottom:5px; }
.hero-art { position:relative; height:520px; }
.sun { position:absolute; border-radius:50%; }
.sun-one { background:var(--yellow); width:440px; height:440px; top:15px; right:-50px; }
.sun-two { background:var(--pink); width:240px; height:240px; bottom:5px; left:-30px; mix-blend-mode:multiply; }
.spark-card { position:absolute; background:var(--coral); color:white; width:260px; height:330px; right:18%; top:105px; transform:rotate(8deg); display:flex; flex-direction:column; justify-content:space-between; padding:30px; box-shadow:14px 18px 0 rgba(23,21,21,.12); }
.spark-symbol { font-size:52px; }
.spark-card p { font-family:Georgia,serif; font-size:35px; line-height:1; }
.ticker { position:absolute; bottom:0; left:0; width:100%; background:var(--ink); color:white; height:68px; display:flex; align-items:center; justify-content:space-around; text-transform:uppercase; font-size:14px; letter-spacing:.12em; font-weight:800; }
.ticker i { color:var(--yellow); margin-left:5vw; font-style:normal; }
.manifesto { padding:130px 8vw 150px; }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; margin-top:55px; }
.manifesto h2,.meetings h2,.contact h2 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; line-height:.98; font-size:clamp(48px,6vw,86px); }
.manifesto-grid .lead { font-family:Georgia,serif; font-size:27px; line-height:1.35; }
.manifesto-grid p:last-child { line-height:1.7; max-width:580px; }
.meetings { background:#252223; color:white; padding:120px 5vw 140px; }
.section-heading { display:grid; grid-template-columns:1.5fr .5fr; align-items:end; gap:7vw; }
.section-heading h2 { max-width:820px; margin:28px 0 0; }
.section-heading>p { line-height:1.6; color:#d8d2cc; }
.section-number.light { color:var(--yellow); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:75px; }
.card { min-height:370px; padding:30px; color:var(--ink); display:flex; flex-direction:column; }
.card span { border:1px solid currentColor; border-radius:50%; width:42px; height:42px; display:grid; place-items:center; font-size:12px; font-weight:800; }
.card h3 { margin:auto 0 20px; font-family:Georgia,serif; font-size:45px; font-weight:400; letter-spacing:-.04em; }
.card p { line-height:1.55; max-width:330px; }
.coral { background:var(--coral); color:white; transform:rotate(-1deg); }
.yellow { background:var(--yellow); transform:translateY(18px) rotate(1deg); }
.cream { background:var(--cream); transform:rotate(-.5deg); }
.contact { padding:140px 5vw; text-align:center; position:relative; overflow:hidden; }
.contact-star { display:block; color:var(--coral); font-size:68px; margin-bottom:22px; }
.contact h2 { font-size:clamp(65px,10vw,150px); margin:30px auto; }
.contact>p:not(.eyebrow) { max-width:550px; margin:0 auto 35px; font-family:Georgia,serif; font-size:22px; line-height:1.5; }
footer { border-top:1px solid rgba(23,21,21,.2); padding:35px 5vw; display:flex; justify-content:space-between; align-items:center; font-size:13px; }
footer p { margin:0; }
@media (max-width:800px) {
  .nav-links a:not(.nav-cta) { display:none; }
  .hero { grid-template-columns:1fr; padding-top:145px; min-height:auto; }
  h1 { font-size:clamp(62px,19vw,105px); }
  .hero-art { height:420px; margin-top:25px; }
  .sun-one { width:350px; height:350px; right:-100px; }
  .spark-card { width:220px; height:275px; right:14%; top:70px; }
  .ticker { position:relative; margin:70px -5vw -100px; width:110vw; overflow:hidden; gap:45px; justify-content:flex-start; padding-left:24px; }
  .ticker span:nth-child(n+4) { display:none; }
  .manifesto-grid,.section-heading { grid-template-columns:1fr; }
  .cards { grid-template-columns:1fr; }
  .card { min-height:300px; transform:none; }
  footer { flex-direction:column; gap:22px; }
}
