/* Shared styles for the life-path pages and the gift-card pages. */
:root{
  --ink:#000000; --panel:#FFFFFF; --panel-2:#F1E8D8; --gold:#7A1E05; --gold-light:#B8300A; --ok:#2E6B3E;
  --paper:#000000; --muted:#332C1F; --line:rgba(46,42,37,0.12); --bg:#F7F0E0;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{background:var(--bg); color-scheme:light;}
body{background:var(--bg); color:var(--paper); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;}
a{color:var(--gold);}
.wrap{max-width:820px; margin:0 auto; padding:0 20px;}
nav{border-bottom:1px solid var(--line); padding:16px 0; margin-bottom:44px;}
nav .wrap{display:flex; justify-content:space-between; align-items:center; gap:12px;}
.brand{font-family:'Fraunces',serif; font-size:15px; letter-spacing:0.02em; color:var(--ink); text-decoration:none;}
.brand .dot{display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--gold-light); margin-right:8px;}
.btn{display:inline-block; background:var(--gold-light); color:#fff; text-decoration:none; border:none; font-family:inherit; font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:12px 20px; border-radius:3px; cursor:pointer; text-align:center;}
.btn:hover{background:var(--gold);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line);}
.btn-ghost:hover{background:transparent; border-color:var(--gold); color:var(--gold);}
nav .btn{padding:9px 14px; font-size:10.5px;}
.crumbs{font-size:12px; color:var(--muted); margin-bottom:18px;}
.crumbs a{color:var(--muted);}
header.page-head{margin-bottom:34px;}
.eyebrow{font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); font-weight:600;}
h1{font-family:'Fraunces',serif; font-weight:500; font-size:clamp(28px,5vw,42px); margin-top:10px; letter-spacing:-0.01em; line-height:1.15;}
h1 .num{color:var(--gold-light);}
.lead{font-size:17px; line-height:1.7; color:var(--muted); margin-top:16px; font-family:'Fraunces',serif; font-style:italic;}
article h2{font-family:'Fraunces',serif; font-weight:500; font-size:23px; color:var(--gold); margin:38px 0 12px;}
article p{font-size:15.5px; line-height:1.85; margin-bottom:14px;}
article ul{margin:0 0 14px 20px;}
article li{font-size:15.5px; line-height:1.8; margin-bottom:4px;}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px;}
.box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:20px 22px;}
.box h2{margin-top:0; font-size:19px;}
.box ul{margin-bottom:0;}
.tip{background:var(--panel-2); border-left:3px solid var(--gold-light); padding:18px 22px; border-radius:4px; margin-top:12px;}
.tip p{margin:0;}
.cta{background:#0F0D0B; color:#F3EEE3; border-radius:8px; padding:30px 28px; margin:44px 0; text-align:center;}
.cta h2{font-family:'Fraunces',serif; font-weight:500; font-size:24px; color:#E8B28F; margin:0 0 10px;}
.cta p{color:#E9E1D3; font-size:15px; line-height:1.75; max-width:560px; margin:0 auto 18px;}
.numbers{display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin:12px 0 8px;}
.numbers a{display:block; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:12px 6px; text-align:center; text-decoration:none; color:var(--ink);}
.numbers a:hover, .numbers a.current{border-color:var(--gold-light);}
.numbers .n{display:block; font-family:'Fraunces',serif; font-size:24px; color:var(--gold-light);}
.numbers .t{display:block; font-size:10.5px; color:var(--muted); margin-top:2px;}
.calc{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:24px; display:grid; grid-template-columns:1fr 1.3fr; gap:28px; align-items:start;}
.calc label, .portrait label.lbl{display:block; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;}
.calc input, .portrait input[type=email], .portrait input[type=date], .field{width:100%; padding:12px; border:1px solid var(--line); border-radius:3px; font-size:15px; background:var(--bg); margin-bottom:12px; font-family:inherit;}
.calc .btn{width:100%;}
.cdv-out{font-size:14.5px; line-height:1.75; color:var(--muted);}
.cdv-num{font-family:'Fraunces',serif; font-size:56px; color:var(--gold-light); line-height:1;}
.cdv-title{font-family:'Fraunces',serif; font-size:22px; color:var(--ink); margin:6px 0 10px;}
.note{font-size:11.5px; font-style:italic; color:var(--muted); line-height:1.6;}
.portrait{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:24px; margin-top:18px;}
.portrait h3{font-family:'Fraunces',serif; font-weight:500; font-size:20px; margin-bottom:6px;}
.portrait > p{font-size:14px; line-height:1.7; color:var(--muted); margin-bottom:14px;}
.portrait .row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.portrait .consent{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; line-height:1.55; color:var(--muted); margin:2px 0 14px;}
.portrait .consent input{margin-top:3px; flex:none;}
.portrait .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.portrait .status{font-size:13.5px; line-height:1.6; margin-top:12px;}
.portrait .status.ok{color:var(--ok);}
.portrait .status.err{color:var(--gold-light);}
.faq details{border-top:1px solid var(--line); padding:16px 0;}
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer; font-family:'Fraunces',serif; font-size:17px; list-style:none; display:flex; justify-content:space-between; gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+'; color:var(--gold-light); font-size:22px; line-height:1;}
.faq details[open] summary::after{content:'–';}
.faq p{margin-top:10px;}
footer{border-top:1px solid var(--line); padding:36px 0 60px; margin-top:60px; text-align:center; color:var(--muted); font-size:12px;}
footer .links a{margin:0 10px; color:var(--muted); text-decoration:none;}
@media (max-width:700px){
  .duo, .calc, .portrait .row{grid-template-columns:1fr;}
  .numbers{grid-template-columns:repeat(4,1fr);}
  nav .back{display:none;}
}
