/* ===========================================================
   Eva Tucci Foundation — shared styles
   Editorial "Oscar Diaries" aesthetic
   =========================================================== */
:root{
  --paper:#fbf9f4;
  --paper-2:#f4eee3;
  --ink:#1c1714;
  --ink-soft:#5f574d;
  --ink-faint:#8a8073;
  --terracotta:#c2623f;
  --terracotta-deep:#a44a2c;
  --olive:#8a8568;
  --gold:#b08a4f;
  --line:rgba(28,23,20,.14);
  --line-soft:rgba(28,23,20,.08);
  --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Lora',Georgia,serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.72;
  font-size:18px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---- type ---- */
.display{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.04;letter-spacing:-.01em}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}
h2{font-size:clamp(2rem,4vw,3.1rem)}
h3{font-size:1.5rem}
p{margin-bottom:1.1rem}
em,.italic{font-style:italic}
.eyebrow{
  font-family:'Lora',serif;font-style:italic;font-size:1.02rem;
  color:var(--terracotta);letter-spacing:.02em;margin-bottom:14px;display:block;
}
.kicker{
  font-family:'Lora',serif;text-transform:uppercase;letter-spacing:.24em;
  font-size:.72rem;font-weight:600;color:var(--ink-faint);
}
.accent{color:var(--terracotta)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.narrow{max-width:760px;margin:0 auto;padding:0 40px}

/* underline rule under headings */
.rule{width:64px;height:3px;background:var(--terracotta);margin:22px 0 0;border:none}
.rule.center{margin-left:auto;margin-right:auto}

/* ---- buttons ---- */
.btn{
  display:inline-block;font-family:'Lora',serif;font-weight:600;font-size:.98rem;
  padding:14px 30px;border-radius:2px;cursor:pointer;border:1.5px solid var(--terracotta);
  transition:.22s;letter-spacing:.01em;
}
.btn-solid{background:var(--terracotta);color:var(--paper)}
.btn-solid:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep)}
.btn-ghost{background:transparent;color:var(--terracotta)}
.btn-ghost:hover{background:var(--terracotta);color:var(--paper)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-dark:hover{background:#000}

/* ---- NAV ---- */
header.site{position:sticky;top:0;z-index:60;background:rgba(251,249,244,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px}
.brand{display:flex;align-items:center;gap:13px}
.brand .seal{width:40px;height:40px;flex:none}
.brand .bt{line-height:1}
.brand .bt .n{font-family:'Playfair Display',serif;font-weight:700;font-size:1.18rem;color:var(--ink);letter-spacing:.005em}
.brand .bt .n{display:block;margin-bottom:5px}
.brand .bt .s{font-family:'Lora',serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--olive);margin-top:8px;font-weight:600}
.menu{display:flex;align-items:center;gap:30px}
.menu a.link{font-size:.96rem;color:var(--ink-soft);position:relative;padding:4px 0}
.menu a.link:hover{color:var(--ink)}
.menu a.link.active{color:var(--ink)}
.menu a.link.active::after,.menu a.link:hover::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--terracotta)}
.menu .btn{padding:11px 24px}
.hamb{display:none;background:none;border:none;cursor:pointer;font-size:1.6rem;color:var(--ink)}

/* ---- sections ---- */
section{position:relative}
.pad{padding:104px 0}
.pad-sm{padding:72px 0}
.center{text-align:center}
.divider{height:1px;background:var(--line-soft);max-width:var(--max);margin:0 auto}

/* hero */
.hero{padding:92px 0 78px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero h1 em{color:var(--terracotta)}
.hero .lede{font-size:1.3rem;color:var(--ink-soft);margin:28px 0 36px;max-width:36ch}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.hero-figure{position:relative}
.hero-figure img{width:100%;border-radius:3px;filter:saturate(.96)}
.hero-figure .frame{position:absolute;inset:14px -14px -14px 14px;border:1.5px solid var(--terracotta);border-radius:3px;z-index:-1}
.figcap{font-family:'Lora',serif;font-style:italic;font-size:.92rem;color:var(--ink-faint);margin-top:16px;text-align:right}

/* pull statement band */
.band{background:var(--ink);color:var(--paper);text-align:center}
.band .big{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;max-width:20ch;margin:0 auto}
.band .strike{color:var(--terracotta);position:relative;white-space:nowrap}
.band .strike::after{content:"";position:absolute;left:-3%;right:-3%;top:55%;height:4px;background:var(--terracotta);transform:rotate(-2.5deg);border-radius:3px}
.band p{color:rgba(251,249,244,.8);max-width:56ch;margin:28px auto 0;font-size:1.12rem}

/* feature rows */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feature.rev .media{order:2}
.feature .media img{width:100%;border-radius:3px}
.feature .media{position:relative}
.feature .media .tag{position:absolute;bottom:18px;left:18px;background:var(--paper);color:var(--ink);font-family:'Lora',serif;font-style:italic;font-size:.86rem;padding:7px 15px;border-radius:2px;box-shadow:0 6px 20px -10px rgba(0,0,0,.4)}
.lead-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.32;color:var(--ink);margin-bottom:24px}
.signoff{font-family:'Lora',serif;font-style:italic;color:var(--terracotta);font-size:1.05rem;margin-top:6px}

/* three-up values */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.val .ic{width:54px;height:54px;margin-bottom:18px}
.val .ic svg{width:54px;height:54px;stroke:var(--olive);fill:none;stroke-width:1.3}
.val h3{margin-bottom:10px}
.val p{color:var(--ink-soft);font-size:1rem}

/* numbered program list */
.prog{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-soft);border:1px solid var(--line-soft)}
.prog .item{background:var(--paper);padding:38px 34px;transition:.2s}
.prog .item:hover{background:#fff}
.prog .num{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--terracotta);display:block;margin-bottom:10px;letter-spacing:.05em}
.prog h3{font-size:1.32rem;margin-bottom:8px}
.prog p{color:var(--ink-soft);font-size:.98rem;margin:0}

/* stat trio */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center}
.stat .n{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,4vw,3.4rem);color:var(--terracotta);line-height:1}
.stat .l{color:var(--ink-soft);font-size:1rem;margin-top:12px}

/* CTA band */
.cta{background:var(--paper-2);text-align:center}
.cta h2{max-width:18ch;margin:0 auto}
.cta p{color:var(--ink-soft);max-width:50ch;margin:22px auto 32px;font-size:1.12rem}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{border:1px solid var(--line);color:var(--ink-soft);font-size:.92rem;padding:8px 17px;border-radius:100px;font-style:italic}

/* page hero (inner pages) */
.phero{padding:80px 0 56px;border-bottom:1px solid var(--line-soft)}
.phero .kicker{margin-bottom:18px;display:block}
.phero h1{max-width:18ch}
.phero p{font-size:1.22rem;color:var(--ink-soft);max-width:60ch;margin-top:24px}

/* prose */
.prose p{font-size:1.12rem;color:#2c2620;margin-bottom:1.3rem}
.prose p.first::first-letter{font-family:'Playfair Display',serif;float:left;font-size:4.4rem;line-height:.78;padding:6px 12px 0 0;color:var(--terracotta)}
.prose h2{margin:48px 0 18px}
.prose .lead-quote{margin:36px 0}

/* forms */
.form{display:flex;flex-direction:column;gap:13px;max-width:440px}
.form input,.form textarea{font-family:'Lora',serif;font-size:1rem;padding:14px 18px;border:1.5px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--terracotta)}
.fine{font-size:.82rem;color:var(--ink-faint)}

/* FOOTER */
footer.site{background:var(--ink);color:rgba(251,249,244,.78);padding:72px 0 34px}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(251,249,244,.14)}
.foot .n{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--paper)}
.foot .s{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--olive);margin-top:6px;font-weight:600}
.foot p{font-size:.95rem;margin-top:16px;max-width:34ch;line-height:1.7}
.foot h5{font-family:'Lora',serif;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--gold);margin-bottom:16px;font-weight:600}
.foot a{display:block;font-size:.95rem;margin-bottom:11px;opacity:.82;transition:opacity .2s}
.foot a:hover{opacity:1}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;font-size:.82rem;opacity:.62}
.disclaimer{max-width:74ch;font-size:.78rem;opacity:.5;margin-top:18px;line-height:1.65}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:920px){
  body{font-size:17px}
  .hero-grid,.feature,.feature.rev .media{grid-template-columns:1fr;gap:40px}
  .feature.rev .media{order:0}
  .grid-3,.prog,.stats,.foot{grid-template-columns:1fr}
  .stats{gap:34px}
  .foot{gap:30px}
  .menu{display:none}
  .menu.open{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 40px;gap:18px;align-items:flex-start}
  .hamb{display:block}
  .pad{padding:72px 0}
  .hero-figure .frame{inset:10px -10px -10px 10px}
}
@media(max-width:540px){
  .wrap,.narrow,.phero .wrap{padding-left:24px;padding-right:24px}
  .prog .item{padding:30px 26px}
}
