/* ————————————————————————————————————————————————
   BIRDIE · dawn-glass design system
   Warm glassmorphism over a sunrise gradient. Fraunces
   display serif + Inter UI. Every shadow is amber, never gray.
   ———————————————————————————————————————————————— */
*{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#2a1c10;            /* espresso ink */
  --ink-soft:#5c4630;
  --mut:#8a7052;
  --cream:#fdf8ee;
  --amber:#e07840;
  --gold:#c8a24a;
  --rose:#d4586e;
  --sky:#8a6db8;
  --grad:linear-gradient(96deg,#e07840,#c8a24a);
  --foil:linear-gradient(115deg,#e07840 0%,#e8b64c 22%,#7ec4a0 44%,#6d9dd4 62%,#a97fd0 80%,#d4586e 100%);
  --glass:rgba(255,251,240,.62);
  --glass-strong:rgba(255,252,244,.82);
  --glass-line:rgba(255,255,255,.75);
  --glass-edge:rgba(160,83,32,.14);
  --sh-sm:0 2px 8px rgba(160,83,32,.08),0 8px 24px -8px rgba(160,83,32,.14);
  --sh-md:0 4px 14px rgba(160,83,32,.09),0 20px 48px -16px rgba(160,83,32,.28);
  --sh-lg:0 8px 24px rgba(160,83,32,.10),0 42px 90px -24px rgba(160,83,32,.38);
  --disp:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease-spring:cubic-bezier(.34,1.4,.34,1);
  --ease-out:cubic-bezier(.22,.61,.21,1);
}

html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

body{
  font-family:var(--sans);color:var(--ink);line-height:1.65;
  background:#f6ecdc;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
/* the dawn — fixed gradient mesh behind everything */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 700px at 82% -8%, rgba(232,182,76,.50), transparent 62%),
    radial-gradient(900px 640px at -10% 12%, rgba(224,120,64,.32), transparent 60%),
    radial-gradient(1000px 800px at 50% 118%, rgba(169,127,208,.20), transparent 62%),
    linear-gradient(178deg,#fdf3df 0%,#f8ead4 38%,#f3e3cf 70%,#efdccb 100%);
}
/* paper grain */
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.42 0 0 0 0 0.28 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

::selection{background:rgba(224,120,64,.30)}
:focus-visible{outline:2.5px solid var(--amber);outline-offset:3px;border-radius:4px}

h1,h2,h3,.disp{font-family:var(--disp);font-weight:600;letter-spacing:-.015em;line-height:1.08}
a{color:#a05320}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.4rem}
.serif-accent{font-family:var(--disp);font-style:italic;font-weight:500}

/* ——— glass primitives ——— */
.glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);
  border:1px solid var(--glass-edge);border-radius:22px;
  box-shadow:var(--sh-md),inset 0 1px 0 var(--glass-line);
}
.glass-strong{background:var(--glass-strong)}
.glass-pill{
  display:inline-flex;align-items:center;gap:.45rem;
  background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  padding:.42rem 1rem;font-size:.83rem;font-weight:600;color:var(--ink-soft);
  box-shadow:var(--sh-sm),inset 0 1px 0 var(--glass-line);white-space:nowrap;
}

/* ——— nav ——— */
.nav-shell{position:sticky;top:.8rem;z-index:50}
.nav{
  display:flex;align-items:center;gap:.7rem;padding:.55rem .9rem .55rem .65rem;
  border-radius:999px;background:var(--glass-strong);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid var(--glass-edge);box-shadow:var(--sh-md),inset 0 1px 0 var(--glass-line);
}
.nav img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px rgba(160,83,32,.25)}
.nav .brand{font-family:var(--disp);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.nav .links{margin-left:auto;display:flex;gap:1.3rem;align-items:center;font-size:.9rem;font-weight:600}
.nav .links a{color:var(--ink-soft);text-decoration:none;transition:color .18s}
.nav .links a:hover{color:var(--amber)}
@media(max-width:660px){.nav .links a.hide-m{display:none}}

/* ——— buttons ——— */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;
  background:var(--grad);color:#fff;font-family:var(--sans);font-weight:700;
  padding:.85rem 1.75rem;border-radius:999px;border:none;font-size:1.02rem;cursor:pointer;
  text-decoration:none;box-shadow:0 4px 14px rgba(224,120,64,.38),0 14px 34px -10px rgba(224,120,64,.55),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .28s var(--ease-spring),box-shadow .28s var(--ease-out);
}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);transform:translateX(-120%);transition:transform .7s var(--ease-out)}
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px rgba(224,120,64,.42),0 22px 46px -12px rgba(224,120,64,.6),inset 0 1px 0 rgba(255,255,255,.35)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.99)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;background:var(--glass);color:var(--ink-soft);
  border:1px solid var(--glass-edge);border-radius:999px;padding:.8rem 1.5rem;font-weight:600;font-size:.95rem;
  cursor:pointer;text-decoration:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:var(--sh-sm),inset 0 1px 0 var(--glass-line);transition:transform .25s var(--ease-spring),color .2s;
}
.btn-ghost:hover{transform:translateY(-2px);color:var(--amber)}

/* ——— scroll reveal ——— */
html.js .rv{opacity:0;transform:translateY(26px)}
html.js .rv.in{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--d,0s)}

/* ——— drifting feathers ——— */
.feather{position:absolute;pointer-events:none;opacity:.5;will-change:transform;animation:drift var(--dur,16s) ease-in-out infinite alternate}
@keyframes drift{
  from{transform:translate3d(0,0,0) rotate(var(--r0,-8deg))}
  to{transform:translate3d(var(--dx,30px),var(--dy,48px),0) rotate(var(--r1,14deg))}
}

/* ——— section scaffolding ——— */
section{padding:4.2rem 0}
.kicker{
  display:inline-flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:.7rem;
}
.kicker::before{content:"";width:22px;height:2.5px;background:var(--grad);border-radius:2px}
.h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:.9rem}
.lead{color:var(--ink-soft);font-size:1.06rem;max-width:38em}

/* ——— footer ——— */
footer{margin-top:3rem;padding:2.6rem 0 3rem;position:relative}
footer .inner{border-top:1px solid rgba(160,83,32,.16);padding-top:2rem;font-size:.87rem;color:var(--mut);line-height:2;text-align:center}
footer a{color:var(--ink-soft)}
footer a:hover{color:var(--amber)}

/* ——— 3-D trading card ——— */
.card3d-scene{perspective:1200px}
.card3d{
  position:relative;transform-style:preserve-3d;border-radius:26px;
  transition:transform .5s var(--ease-spring),box-shadow .5s var(--ease-out);
  box-shadow:var(--sh-lg);will-change:transform;
}
.card3d.tilting{transition:transform .06s linear}
.card3d .glare{
  position:absolute;inset:0;border-radius:26px;pointer-events:none;z-index:5;
  background:radial-gradient(560px 380px at var(--gx,50%) var(--gy,40%),rgba(255,255,255,.5),transparent 55%);
  opacity:var(--go,0);transition:opacity .4s;
}
.card3d .foil-edge{
  position:absolute;inset:0;border-radius:26px;pointer-events:none;z-index:4;padding:2px;
  background:var(--foil);opacity:.6;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}

/* ——— toast ——— */
.toast{
  position:fixed;left:50%;bottom:1.6rem;transform:translate(-50%,140%);z-index:90;
  background:var(--ink);color:var(--cream);padding:.75rem 1.4rem;border-radius:999px;
  font-size:.92rem;font-weight:600;box-shadow:var(--sh-lg);
  transition:transform .45s var(--ease-spring);max-width:88vw;text-align:center;
}
.toast.show{transform:translate(-50%,0)}

/* ——— form elements ——— */
textarea,input[type=email],input[type=text]{
  width:100%;border:1.5px solid rgba(160,83,32,.20);border-radius:14px;background:rgba(255,255,255,.86);
  padding:.85rem 1rem;font-family:var(--sans);font-size:1rem;color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
textarea:focus,input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,162,74,.18)}
textarea{min-height:120px;resize:vertical;line-height:1.6}
label{display:block;font-weight:600;font-size:.92rem;margin:1rem 0 .4rem}
.hint{font-size:.83rem;color:var(--mut);margin-top:.35rem}
.err{color:#a03020;font-size:.92rem;margin-top:.6rem;min-height:1.3em;font-weight:600}
