/* EMBERHOLD — shared site styles. Zero external requests: all fonts/images local. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/CormorantGaramond-normal-400.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/CormorantGaramond-normal-500.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/CormorantGaramond-normal-600.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/CormorantGaramond-italic-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/Inter-normal-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/Inter-normal-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/Inter-normal-600.woff2') format('woff2')}
:root{
  --cream:#F6F0E6; --cream-2:#EFE6D6; --charcoal:#2A211B; --ember:#C8641F;
  --sienna:#8C3B1B; --bronze:#9C6B3C; --muted:#6B5D4F;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--cream);color:var(--charcoal);font-family:'Inter',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.15}
a{color:var(--sienna)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* nav */
nav{border-bottom:1px solid #E2D7C2;background:rgba(246,240,230,.92);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px}
.brand{display:block;width:190px;height:48px;overflow:hidden;position:relative;flex-shrink:0}
.brand img{position:absolute;width:277px;max-width:none;height:185px;left:-43px;top:-64px}
nav ul{list-style:none;display:flex;gap:28px;align-items:center}
nav ul a{text-decoration:none;color:var(--charcoal);font-size:.92rem}
nav ul a:hover{color:var(--ember)}
nav ul a.active{color:var(--ember);font-weight:600}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:10px;margin:-10px -10px -10px 0}
.menu-btn span{display:block;width:24px;height:2px;background:var(--charcoal);margin:5px 0;transition:transform .2s,opacity .2s}
nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.open .menu-btn span:nth-child(2){opacity:0}
nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn{display:inline-block;background:var(--ember);color:#fff;text-decoration:none;padding:13px 28px;border-radius:999px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--sienna)}
.btn.ghost{background:transparent;color:var(--charcoal);border:1.5px solid var(--charcoal)}
.btn.ghost:hover{border-color:var(--ember);color:var(--ember)}
/* hero (home) */
.hero{padding:88px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.eyebrow{letter-spacing:.32em;font-size:.78rem;font-weight:600;color:var(--ember);text-transform:uppercase;margin-bottom:20px}
.hero h1{font-size:3.6rem;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--sienna)}
.hero p.lede{font-size:1.12rem;color:var(--muted);max-width:34rem;margin-bottom:32px}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}
.emblem{border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(42,33,27,.18);max-width:380px;margin:0 auto}
.emblem img{display:block;width:100%;height:auto}
.caption{font-size:.82rem;color:var(--muted);margin-top:12px;text-align:center;max-width:380px;margin-left:auto;margin-right:auto}
/* subpage hero */
.page-hero{padding:72px 0 56px;text-align:center}
.page-hero h1{font-size:3rem;margin-bottom:18px}
.page-hero h1 em{font-style:italic;color:var(--sienna)}
.page-hero p.lede{font-size:1.1rem;color:var(--muted);max-width:38rem;margin:0 auto}
/* sections */
section{padding:72px 0}
.section-head{text-align:center;max-width:40rem;margin:0 auto 48px}
.section-head h2{font-size:2.4rem;margin-bottom:14px}
.section-head p{color:var(--muted)}
/* pillars (home cards) */
.pillars{background:var(--cream-2)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--cream);border:1px solid #E2D7C2;border-radius:14px;padding:28px}
.card h3{font-size:1.45rem;margin-bottom:10px;color:var(--sienna)}
.card p{font-size:.94rem;color:var(--muted)}
.card .num{font-family:'Cormorant Garamond',serif;font-size:.95rem;letter-spacing:.2em;color:var(--bronze);margin-bottom:12px;display:block}
.card .more{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:600;text-decoration:none}
/* creed */
.creed blockquote{font-family:'Cormorant Garamond',serif;font-size:1.7rem;line-height:1.5;text-align:center;max-width:44rem;margin:0 auto;font-style:italic}
.creed blockquote strong{color:var(--sienna);font-style:normal}
/* product (Ember 30 card) */
.product .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.product-card{background:var(--charcoal);color:var(--cream);border-radius:18px;padding:44px;overflow:hidden}
.product-thumb{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:28px}
.product-card h3{font-size:2rem;margin-bottom:12px}
.product-card .price{font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--ember);margin:8px 0 20px}
.product-card .price span{font-size:1rem;color:var(--cream)}
.product-card ul{list-style:none;margin-bottom:28px}
.product-card li{padding:8px 0;border-bottom:1px solid rgba(246,240,230,.14);font-size:.95rem}
.product-card li:last-child{border:none}
.product-card .btn{width:100%;text-align:center}
.product-card .guarantee{color:#B9A98F}
.product-copy .eyebrow{margin-bottom:16px}
.product-copy h2{font-size:2.4rem;margin-bottom:16px}
.product-copy p{color:var(--muted);margin-bottom:16px}
.product-copy .hook{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;color:var(--sienna);margin-bottom:20px}
/* maren */
.maren{background:var(--cream-2)}
.maren .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.maren h2{font-size:2.4rem;margin-bottom:16px}
.maren p{color:var(--muted);margin-bottom:16px}
.portrait{border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(42,33,27,.18)}
.portrait img{display:block;width:100%;height:auto}
.disclosure{border-left:3px solid var(--ember);padding:14px 20px;background:rgba(200,100,31,.07);border-radius:0 10px 10px 0;font-size:.9rem;margin-top:24px}
/* pillar detail rows */
.pillar-row{padding:56px 0;border-top:1px solid #E2D7C2}
.pillar-row .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.pillar-row:nth-child(even){background:var(--cream-2)}
.pillar-row .num{font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:.28em;color:var(--bronze);display:block;margin-bottom:12px}
.pillar-row h2{font-size:2.2rem;color:var(--sienna);margin-bottom:14px}
.pillar-row p{color:var(--muted);margin-bottom:14px}
.practice{margin-top:20px}
.practice h3{font-size:1.2rem;margin-bottom:10px;color:var(--charcoal)}
.practice ul{list-style:none}
.practice li{padding:10px 0 10px 28px;position:relative;font-size:.95rem;color:var(--muted);border-top:1px solid #E7DCC8}
.practice li::before{content:"—";position:absolute;left:0;color:var(--ember)}
/* ember 30 arc */
.arc{max-width:720px;margin:0 auto}
.movement{border-left:3px solid var(--ember);padding:6px 0 6px 28px;margin-bottom:36px;position:relative}
.movement::before{content:"";position:absolute;left:-9px;top:10px;width:15px;height:15px;border-radius:50%;background:var(--ember)}
.movement .days{font-size:.8rem;letter-spacing:.24em;font-weight:600;color:var(--bronze);text-transform:uppercase;margin-bottom:8px}
.movement h3{font-size:1.6rem;color:var(--sienna);margin-bottom:8px}
.movement p{color:var(--muted);font-size:.96rem}
.rules{background:var(--charcoal);color:var(--cream);border-radius:18px;padding:44px}
.rules h2{font-size:2rem;margin-bottom:18px;color:var(--cream)}
.rules ol{margin:0 0 0 20px}
.rules li{padding:8px 0;font-size:.96rem;color:#EDE4D2}
.rules li strong{color:var(--ember)}
/* faq */
.faq{max-width:720px;margin:0 auto}
.faq details{border-bottom:1px solid #E2D7C2;padding:18px 4px}
.faq summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--sienna);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--ember);font-family:'Inter',sans-serif}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin-top:10px;font-size:.95rem}
/* shop */
.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.shop-card{background:#fff;border:1px solid #E2D7C2;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.shop-card .img{aspect-ratio:3/2;overflow:hidden;background:var(--cream-2)}
.shop-card .img img{width:100%;height:100%;object-fit:cover;display:block}
.shop-card .body{padding:30px;display:flex;flex-direction:column;flex:1}
.shop-card .kicker{font-size:.76rem;letter-spacing:.28em;font-weight:600;color:var(--ember);text-transform:uppercase;margin-bottom:10px}
.shop-card h3{font-size:1.7rem;margin-bottom:10px;color:var(--charcoal)}
.shop-card p{font-size:.94rem;color:var(--muted);margin-bottom:12px}
.shop-card .craft{font-size:.88rem;color:var(--bronze);border-top:1px solid #EDE3D0;padding-top:14px;margin-top:4px}
.shop-card .status{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.shop-card .soon{font-size:.85rem;font-weight:600;color:var(--sienna)}
.honest{background:var(--cream-2);border:1px solid #E2D7C2;border-radius:14px;padding:26px 30px;max-width:720px;margin:0 auto 48px;font-size:.94rem;color:var(--muted)}
.honest strong{color:var(--charcoal)}
/* waitlist / letter forms */
.waitlist{text-align:center}
.waitlist form{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.waitlist input{padding:13px 20px;border-radius:999px;border:1.5px solid #D8CBB4;background:#fff;font-size:.95rem;min-width:300px;font-family:'Inter',sans-serif}
.note{font-size:.82rem;color:var(--muted);margin-top:14px}
.form-msg{margin-top:16px;font-size:.95rem;color:var(--sienna);font-weight:600;display:none}
.form-msg.show{display:block}
/* maren letter sample */
.letter-sample{max-width:680px;margin:0 auto;background:#fff;border:1px solid #E2D7C2;border-radius:18px;padding:48px;box-shadow:0 18px 44px rgba(42,33,27,.08)}
.letter-sample .salut{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;color:var(--sienna);margin-bottom:18px}
.letter-sample p{color:var(--muted);margin-bottom:16px;font-size:1rem}
.letter-sample .sign{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--charcoal);margin-top:8px}
/* two-col generic */
.two-col .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two-col h2{font-size:2.4rem;margin-bottom:16px}
.two-col p{color:var(--muted);margin-bottom:16px}
/* siblings strip */
.siblings{border-top:1px solid #E2D7C2;padding:28px 0;text-align:center}
.siblings .lbl{font-size:.76rem;letter-spacing:.3em;font-weight:600;color:var(--bronze);text-transform:uppercase;margin-bottom:14px}
.siblings ul{list-style:none;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.siblings a{text-decoration:none;color:var(--muted);font-size:.9rem;font-family:'Cormorant Garamond',serif;letter-spacing:.14em}
.siblings a:hover{color:var(--ember)}
footer{border-top:1px solid #E2D7C2;padding:40px 0;text-align:center;font-size:.85rem;color:var(--muted)}
footer p{margin-bottom:8px}
@media(max-width:860px){
  .hero .wrap,.product .wrap,.maren .wrap,.two-col .wrap,.pillar-row .wrap{grid-template-columns:1fr}
  .grid,.shop-grid{grid-template-columns:1fr}
  .hero h1{font-size:2.6rem}
  .page-hero h1{font-size:2.2rem}
  .hero{padding:56px 0 48px}
  section{padding:52px 0}
  .brand{width:150px;height:38px}
  .brand img{width:219px;height:146px;left:-34px;top:-51px}
  .menu-btn{display:block}
  nav .wrap{position:relative}
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #E2D7C2;box-shadow:0 18px 30px rgba(42,33,27,.12)}
  nav.open ul{display:flex}
  nav ul li a{display:block;padding:14px 24px;font-size:1rem;border-top:1px solid #EDE3D0}
  .letter-sample{padding:32px 26px}
  .rules{padding:32px 26px}
}
