/* Atelier site — art-directed "atelier as a lit workshop" (Direction D).
   Deep teal-black with chiaroscuro lighting, gilt ornament, engraved display
   type (Cinzel) + literary italic accents (Cormorant), canvas grain. The screen-
   shot hangs like a painting. Drama from light, type, and gold — used with care. */

:root{
  --bg:#0c1316; --bg2:#101d1f; --panel:#13201e; --panel2:#182824;
  --ink:#ece2cf; --dim:#a9b3ab; --faint:#7c8a83;
  --gold:#c9a24b; --gold2:#f0d390; --ember:#e0794a; --teal:#3f8d83;
  --gline:rgba(201,162,75,.28); --gline2:rgba(201,162,75,.52);
  --emberglow:rgba(224,121,74,.10);
  --radius:4px; --maxw:1280px;
  --display:"Cinzel",Georgia,serif;
  --accent-serif:"Cormorant Garamond",Georgia,serif;
  --body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* Flat solid background (gradient glow removed per request); canvas grain kept. */
.atmos{display:none}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.page{position:relative;z-index:2}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 36px}

a{color:var(--gold2);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--ember)}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:2px}

/* ---------- ornament divider ---------- */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto}
.orn::before,.orn::after{content:"";height:1px;width:90px}
.orn::before{background:linear-gradient(90deg,transparent,var(--gline2))}
.orn::after{background:linear-gradient(90deg,var(--gline2),transparent)}
.orn span{font-size:9px;color:var(--gold);transform:rotate(45deg)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:rgba(12,19,22,.72);border-bottom:1px solid var(--gline)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:74px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);
  font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:3px}
.brand img{width:26px;height:26px;border-radius:6px}
.nav .spacer{flex:1}
.nav a.link{color:var(--dim);font-size:13px;letter-spacing:.5px}
.nav a.link:hover{color:var(--gold2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:1.5px;
  padding:14px 26px;border-radius:var(--radius);border:1px solid var(--gline2);
  background:transparent;color:var(--gold2);cursor:pointer;text-transform:uppercase;
  transition:transform .12s ease,box-shadow .22s ease,background .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-1px);background:rgba(201,162,75,.08)}
.btn-primary{color:#1a1206;border-color:transparent;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  box-shadow:0 8px 20px -12px rgba(0,0,0,.6)}
.btn-primary:hover{color:#1a1206;box-shadow:0 12px 26px -12px rgba(0,0,0,.7);background:linear-gradient(135deg,var(--gold2),var(--gold))}
.btn-ghost{background:transparent}
.btn-sm{padding:9px 16px;font-size:11px}

/* ---------- hero ---------- */
.hero{text-align:center;padding:80px 0 40px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);
  font-size:14px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin:24px 0 28px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--ember);
  box-shadow:0 0 10px var(--ember);animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
h1.title{font-family:var(--display);font-weight:600;font-size:clamp(40px,6.4vw,74px);
  line-height:1.08;letter-spacing:1px;
  background:linear-gradient(180deg,#f6ead0 0%,var(--gold2) 55%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 40px rgba(201,162,75,.16)}
.hero .sub{font-family:var(--accent-serif);font-style:italic;font-weight:500;
  font-size:clamp(20px,2.6vw,28px);color:var(--ink);margin:18px auto 0;max-width:26ch;opacity:.94}
.lede{max-width:52ch;margin:22px auto 0;color:var(--dim);font-size:17px}
.hero-actions{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.hero-note{margin-top:18px;font-family:var(--display);font-size:11px;letter-spacing:2px;color:var(--faint);text-transform:uppercase}
.hero-note b{color:var(--dim)}

/* ---------- framed artwork ---------- */
.shot-wrap{max-width:1440px;margin:0 auto;padding:0 28px}
.shot{position:relative;max-width:none;margin:56px auto 0;padding:16px;border-radius:6px;
  background:linear-gradient(180deg,rgba(201,162,75,.14),rgba(201,162,75,.03));
  border:1px solid var(--gline2);
  box-shadow:0 40px 90px -38px rgba(0,0,0,.8)}
.shot::before{content:"";position:absolute;inset:5px;border:1px solid var(--gline);border-radius:3px;pointer-events:none}
.shot .corner{position:absolute;width:16px;height:16px;border:1px solid var(--gold);opacity:.7}
.shot .corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.shot .corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.shot .corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.shot .corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.shot .chrome{display:flex;gap:7px;padding:0 4px 11px}
.shot .chrome i{width:10px;height:10px;border-radius:50%;background:#3a4642}
.shot .chrome i:first-child{background:var(--ember)}
.shot img{display:block;width:100%;border-radius:3px}
.shot-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--faint);text-align:center;padding:24px;border-radius:3px;
  background:repeating-conic-gradient(#13201e 0% 25%,#0f1a18 0% 50%) 50%/28px 28px}
.shot-placeholder .big{font-size:15px;color:var(--dim);font-weight:600}
.shot-placeholder code{font-family:var(--mono);font-size:12px;color:var(--gold2)}
.plaque{text-align:center;font-family:var(--accent-serif);font-style:italic;color:var(--dim);font-size:18px;margin-top:18px}

/* ---------- sections ---------- */
section{padding:88px 0}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.kicker{font-family:var(--display);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
h2{font-family:var(--display);font-weight:600;font-size:clamp(26px,3.8vw,40px);letter-spacing:.5px;margin:16px 0 12px;line-height:1.12;color:var(--ink)}
.section-head p{color:var(--dim);font-size:17px;margin:0}

/* ---------- feature grid (illuminated entries) ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:card}
.card{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--gline);border-radius:10px;padding:24px 26px 26px;
  transition:border-color .25s ease,transform .14s ease,box-shadow .25s ease}
.card:hover{border-color:var(--gline2);transform:translateY(-3px);box-shadow:0 18px 42px -24px rgba(0,0,0,.75)}
.card .ic{display:none}
/* Index in the top-right corner so the title leads the card. */
.card::before{counter-increment:card;content:counter(card,decimal-leading-zero);
  position:absolute;top:22px;right:24px;
  font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--gold);opacity:.65}
.card h3{font-family:var(--accent-serif);font-weight:600;font-size:21px;margin:0 0 9px;
  color:var(--gold2);padding-right:34px;line-height:1.15}
.card p{color:var(--dim);font-size:14.5px;line-height:1.6;margin:0}
.card code{font-family:var(--mono);font-size:.85em;color:var(--gold2)}
.card .tag{display:inline-block;margin-top:13px;font-family:var(--display);font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--ember);border:1px solid var(--gline);border-radius:2px;padding:4px 10px}

/* ---------- roadmap ---------- */
.roadmap-list{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;max-width:840px;margin:0 auto}
.rm-item{flex:1 1 340px;max-width:390px;
  background:linear-gradient(180deg,rgba(24,40,37,.5),rgba(19,32,30,.5));
  border:1px dashed var(--gline2);border-radius:10px;padding:24px 26px}
.rm-item h3{font-family:var(--accent-serif);font-weight:600;font-size:21px;color:var(--gold2);margin:0 0 8px;line-height:1.15}
.rm-item p{color:var(--dim);font-size:14.5px;margin:0;line-height:1.6}

/* ---------- pricing ---------- */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.price{position:relative;background:var(--panel);border:1px solid var(--gline);border-radius:6px;
  padding:30px 26px;display:flex;flex-direction:column}
.price.feature{border-color:var(--gline2);background:linear-gradient(180deg,var(--panel2),var(--panel));
  box-shadow:0 24px 56px -26px rgba(0,0,0,.6)}
.price .ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1206;
  padding:6px 14px;border-radius:2px;white-space:nowrap;box-shadow:0 6px 18px -4px rgba(201,162,75,.5)}
.price h3{margin:0 0 6px;font-family:var(--display);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);font-weight:600}
.price .amt{font-family:var(--display);font-size:44px;font-weight:600;letter-spacing:.5px;margin:8px 0 2px;color:var(--ink)}
.price .amt small{font-family:var(--body);font-size:14px;font-weight:500;color:var(--faint);letter-spacing:0}
.price .sub{color:var(--faint);font-size:13.5px;margin-bottom:18px}
.price ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.price li{font-size:14px;color:var(--dim);padding-left:24px;position:relative}
.price li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:12px;top:1px}
.price .btn{margin-top:auto;width:100%}
.never{text-align:center;margin:32px auto 0;max-width:600px;color:var(--dim);font-size:14.5px}
.never b{color:var(--gold2)}

/* ---------- waitlist ---------- */
/* Full-width warm band draws the eye to the signup without a boxed border. */
#waitlist{background:linear-gradient(180deg,rgba(58,38,22,.45),transparent 80%);border-top:1px solid var(--gline)}
.waitlist{position:relative;text-align:center;padding:16px 28px 8px}
.form-row{display:flex;gap:10px;justify-content:center;max-width:480px;margin:24px auto 0;flex-wrap:wrap}
.form-row input[type=email]{flex:1;min-width:220px;font:inherit;font-size:15px;padding:13px 16px;
  border-radius:var(--radius);background:rgba(0,0,0,.25);color:var(--ink);border:1px solid var(--gline2)}
.form-row input[type=email]::placeholder{color:var(--faint)}
.form-row input[type=email]:focus{outline:none;border-color:var(--gold2);box-shadow:0 0 0 3px rgba(201,162,75,.18)}
.form-note{font-size:12.5px;color:var(--faint);margin-top:14px}
.form-msg{margin-top:14px;font-size:14px;min-height:20px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--gline);padding:56px 0 40px;color:var(--faint);font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:44px;align-items:start}
.foot-brand .brand{margin-bottom:14px}
.foot-brand p{color:var(--dim);font-size:14px;max-width:40ch;margin:0 0 10px;line-height:1.6}
.foot-brand .foot-tag{font-family:var(--display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.foot-col h4{font-family:var(--display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 14px}
.foot-col a{display:block;color:var(--dim);font-size:14px;margin:0 0 10px}
.foot-col a:hover{color:var(--gold2)}
.foot-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:44px;padding-top:22px;border-top:1px solid var(--gline);color:var(--faint);font-size:12.5px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:30px}.foot-bottom{flex-direction:column;gap:8px}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .pricing{grid-template-columns:1fr}
  .nav a.link.hide-sm{display:none}
  section{padding:60px 0}
  .hero{padding:56px 0 30px}
}
@media (max-width:600px){
  .grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;transition:none!important}
}
