/* Maison Anillo (Before Forever) — section-specific styling. */

/* Deck accent colours (from the original) */
:root{
  --truth:#e7ddc9; --truth-ink:#3a3322;
  --desire:#6b0f3d; --desire-ink:#f3cfe2;
  --dreams:#5c6b50; --dreams-ink:#eef2e8;
  --play:#1d2340; --play-ink:#dfe3f5;
  --dare:#2a2a2a; --dare-ink:#e8e4dc;
  --deeper:#0c0c0c; --deeper-ink:#bd9a5f;
}

/* HERO */
.m-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:150px 24px 90px;
  background:radial-gradient(120% 90% at 70% 20%,var(--wine-deep),var(--void) 60%);color:var(--blush-soft);}
.m-hero .inner{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-8);align-items:center;width:100%;max-width:var(--max);margin:0 auto;}
@media(max-width:860px){.m-hero .inner{grid-template-columns:1fr;text-align:center;}}
.m-hero h1{color:var(--ivory);margin:20px 0;}
.m-hero .sub{color:rgba(243,207,226,.86);margin-bottom:28px;}
.m-hero .ctas{display:flex;gap:14px;flex-wrap:wrap;}
@media(max-width:860px){.m-hero .ctas{justify-content:center;}}
.hero-stats{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap;}
@media(max-width:860px){.hero-stats{justify-content:center;}}
.hero-stats .st{display:grid;gap:2px;}
.hero-stats .st b{font-family:var(--serif);font-size:var(--step-2);color:var(--gold-soft);}
.hero-stats .st span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,207,226,.7);}

/* The box */
.box-stage{position:relative;perspective:1200px;width:min(340px,80%);margin:0 auto;aspect-ratio:3/4;}
.box-body{position:absolute;inset:0;border-radius:14px;background:linear-gradient(160deg,var(--wine),var(--wine-deep));border:1px solid rgba(216,194,148,.45);display:grid;place-items:center;color:var(--gold-soft);text-align:center;padding:24px;}
.box-lid{position:absolute;left:0;right:0;top:0;height:52%;border-radius:14px 14px 0 0;background:linear-gradient(160deg,var(--wine-bright),var(--wine));border:1px solid rgba(216,194,148,.5);transform-origin:top center;transition:transform .8s var(--ease);display:grid;place-items:center;color:var(--gold-soft);font-family:var(--serif);}
.box-stage.open .box-lid{transform:rotateX(-115deg);}
.box-open-btn{margin:22px auto 0;display:block;}

/* JOURNEY rail */
.journey{background:var(--ivory-dim);}
.chain-wrap{position:relative;}
.chain{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 18px;scrollbar-width:thin;}
.chain::-webkit-scrollbar{height:6px;}
.chain::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;}
.chain-step{scroll-snap-align:start;flex:0 0 auto;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);}
.chain-step .i{font-family:var(--serif);color:var(--accent);font-size:var(--step-1);}
.chain-step h3{font-size:var(--step-1);margin-top:6px;}
.chain-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;}
.chain-nav button{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:18px;}
.chain-nav button:hover{border-color:var(--accent);color:var(--accent);}

/* WHAT'S INSIDE — deck explorer */
.explorer{display:grid;grid-template-columns:260px 1fr;gap:var(--space-7);align-items:start;}
@media(max-width:820px){.explorer{grid-template-columns:1fr;}}
.deck-tabs{display:grid;gap:8px;}
.deck-tab{text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-weight:700;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;min-height:44px;transition:border-color var(--dur),background var(--dur);}
.deck-tab[aria-selected="true"]{border-color:var(--accent);background:var(--surface-2);}
.deck-tab .dot{width:12px;height:12px;border-radius:50%;}
.deck-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);}
@media(max-width:560px){.deck-panel{grid-template-columns:1fr;}}
.deck-visual{min-height:280px;display:grid;place-items:center;padding:30px;text-align:center;transition:background var(--dur),color var(--dur);}
.deck-visual .dn{font-family:var(--serif);font-size:var(--step-4);}
.deck-visual .dc{margin-top:8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;}
.deck-info{padding:var(--space-6);}
.deck-info .meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.deck-info h3{font-size:var(--step-2);margin:8px 0;}
.deck-info .sample{font-family:var(--serif);font-style:italic;font-size:var(--step-1);color:var(--text-soft);margin-top:14px;}

/* Inclusions */
.inclusions{margin-top:var(--space-7);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);}
@media(max-width:640px){.inclusions{grid-template-columns:1fr;}}
.inc{display:flex;gap:14px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);}
.inc b{display:block;}
.inc span{color:var(--text-soft);font-size:var(--step-0);}

/* CARD FLIP */
.flip-sec{background:var(--void);color:var(--blush-soft);text-align:center;}
.flip-card{width:min(300px,80%);aspect-ratio:3/4;margin:24px auto 0;perspective:1200px;cursor:pointer;border-radius:14px;}
.flip-inner{position:relative;width:100%;height:100%;transition:transform .7s var(--ease);transform-style:preserve-3d;}
.flip-card.flipped .flip-inner{transform:rotateY(180deg);}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;display:grid;place-items:center;padding:30px;text-align:center;border:1px solid rgba(216,194,148,.4);}
.flip-front{background:linear-gradient(160deg,var(--wine),var(--wine-deep));color:var(--gold-soft);font-family:var(--serif);font-size:var(--step-3);letter-spacing:.1em;}
.flip-back{background:var(--ivory);color:var(--ink);transform:rotateY(180deg);font-family:var(--serif);font-size:var(--step-2);line-height:1.3;}
.flip-hint{margin-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,207,226,.6);}

/* RITUAL */
.ritual .rounds{display:grid;gap:var(--space-4);margin-top:var(--space-6);}
.round{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6);background:var(--surface-2);display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-5);align-items:baseline;}
@media(max-width:640px){.round{grid-template-columns:1fr;gap:var(--space-2);}}
.round .rn{font-family:var(--serif);font-size:var(--step-2);color:var(--accent);}
.round h3{font-size:var(--step-1);}
.round .time{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;}
.round p{color:var(--text-soft);}
.deeper-call{margin-top:var(--space-5);background:var(--deeper);color:var(--deeper-ink);border-radius:var(--r-lg);padding:var(--space-7);text-align:center;}
.deeper-call h3{color:var(--gold-soft);font-size:var(--step-3);}
.deeper-call p{color:rgba(189,154,95,.85);max-width:52ch;margin:var(--space-3) auto 0;}

/* PRICING / TIMELINE (NEW) */
.pricing{background:var(--ivory-dim);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
@media(max-width:820px){.price-grid{grid-template-columns:1fr;}}
.price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6);}
.price-card .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.price-card .amt{font-family:var(--serif);font-size:var(--step-3);margin:8px 0;}
.price-card ul{display:grid;gap:8px;margin-top:12px;color:var(--text-soft);font-size:var(--step-0);}
.price-card li{display:flex;gap:10px;}
.price-card li::before{content:"—";color:var(--accent);}
.price-note{margin-top:var(--space-5);text-align:center;color:var(--text-soft);font-size:var(--step--1);}

/* RESERVE FORM */
.reserve{background:var(--void);color:var(--blush-soft);}
.reserve .inner{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-8);align-items:start;}
@media(max-width:900px){.reserve .inner{grid-template-columns:1fr;gap:var(--space-6);}}
.reserve .aside h2{color:var(--ivory);}
.reserve .aside p{color:rgba(243,207,226,.82);margin-top:var(--space-4);}
.reserve .form-card{background:var(--void-soft);border-color:rgba(216,194,148,.28);}
.reserve .form-card .input,.reserve .form-card .select,.reserve .form-card .textarea{background:var(--void);color:var(--blush-soft);border-color:rgba(216,194,148,.28);}
.reserve .field label{color:rgba(243,207,226,.75);}

/* FAQ */
.faq .faq-list{max-width:760px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--border);padding:22px 0;}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:var(--step-1);list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .plus{color:var(--accent);font-family:var(--sans);font-size:22px;transition:transform var(--dur);flex-shrink:0;}
.faq details[open] summary .plus{transform:rotate(45deg);}
.faq details p{margin-top:14px;color:var(--text-soft);max-width:64ch;}
