.gift-page { --gift:#D2B48C; --gift-deep:#6F563A; }
.gift-hero { min-height:calc(100vh - 74px); display:flex; align-items:center; padding:6rem 0; overflow:hidden; position:relative; background:radial-gradient(circle at 76% 35%,rgba(122,107,196,.16),transparent 29%),radial-gradient(circle at 25% 80%,rgba(138,107,71,.13),transparent 31%); }
.gift-hero::after { content:"04 / STORIES"; position:absolute; right:-1rem; bottom:-2rem; color:rgba(243,239,230,.025); font:900 clamp(6rem,16vw,14rem)/.8 var(--serif); pointer-events:none; }
.gift-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:5rem; align-items:center; position:relative; z-index:1; }
.gift-copy h1,.welcome h1 { font:900 clamp(3.8rem,8vw,7.7rem)/.88 var(--serif); letter-spacing:-.05em; margin:1.2rem 0 2rem; }
.gift-copy h1 em,.welcome h1 em { color:var(--gift); font-style:italic; }
.gift-lead { font-size:clamp(1.05rem,2vw,1.3rem); color:var(--marfil-suave); max-width:54ch; margin-bottom:2rem; }
.gift-note { color:var(--muted); font-size:.78rem; margin-top:1rem; }
.gift-stack { min-height:520px; position:relative; perspective:1000px; }
.gift-stack figure { position:absolute; width:260px; height:390px; margin:0; border:1px solid rgba(243,239,230,.2); background:#111116; box-shadow:-18px 22px 45px rgba(0,0,0,.48); overflow:hidden; }
.gift-stack figure::before { content:attr(data-n); position:absolute; z-index:2; top:1rem; left:1rem; width:2.1rem; height:2.1rem; display:grid; place-items:center; color:var(--marfil); background:rgba(15,15,18,.82); border:1px solid rgba(243,239,230,.28); font:700 .6rem var(--sans); letter-spacing:.1em; }
.gift-stack figure img { width:100%; height:100%; object-fit:cover; }
.gift-stack figure:nth-child(1){left:2%;top:12%;transform:rotate(-12deg)}.gift-stack figure:nth-child(2){left:20%;top:4%;transform:rotate(-4deg)}.gift-stack figure:nth-child(3){left:38%;top:9%;transform:rotate(6deg)}.gift-stack figure:nth-child(4){left:55%;top:18%;transform:rotate(13deg)}
.gift-grid { display:grid; grid-template-columns:repeat(2,1fr); margin-top:3rem; border:1px solid var(--line); }
.gift-grid article { min-height:390px; padding:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:180px 1fr; overflow:hidden; }
.gift-grid article:nth-child(2n) { border-right:0; }.gift-grid article:nth-last-child(-n+2) { border-bottom:0; }.gift-grid article>img { width:100%; height:100%; object-fit:cover; filter:saturate(.76) contrast(1.05); }.gift-grid article>div { padding:2rem; display:flex; flex-direction:column; }.gift-grid b { color:var(--gift); letter-spacing:.14em; font-size:.62rem; text-transform:uppercase; }.gift-grid h3 { font:700 1.65rem/1.05 var(--serif); margin:auto 0 1rem; }.gift-grid p { color:var(--muted); font-size:.9rem; }.gift-grid blockquote { margin:1.3rem 0 0; padding-top:1.15rem; border-top:1px solid var(--line); color:var(--marfil-suave); font:italic 700 1rem/1.45 var(--serif); }
.gift-signup { background:linear-gradient(115deg,rgba(26,34,48,.36),transparent 60%); }.signup-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:6rem; align-items:start; }
.gift-form { padding:2.5rem; border:1px solid var(--line); background:#15151A; box-shadow:0 28px 60px rgba(0,0,0,.25); }.gift-field { margin-bottom:1.35rem; }.gift-field label { display:block; margin-bottom:.45rem; text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--marfil-suave); }.gift-field input { width:100%; padding:1rem; background:#0F0F12; border:1px solid var(--line); color:var(--text); }.gift-field input:focus { border-color:var(--gift); }.gift-field input[aria-invalid] { border-color:#D69AA0; }.gift-field small,.form-status.error { color:#D69AA0; }.gift-field small { display:block; min-height:1.1rem; margin-top:.3rem; font-size:.75rem; }
.gift-consent { display:flex; gap:.7rem; align-items:flex-start; color:var(--muted); font-size:.8rem; margin:1rem 0 1.5rem; }.gift-consent input { margin-top:.3rem; accent-color:var(--bronce); }.gift-consent a { color:var(--gift); }.gift-form .button { width:100%; }.gift-form .button:disabled { opacity:.55; }.form-status { min-height:1.5rem; margin-bottom:0; font-size:.85rem; }.trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.gift-promise { padding:5rem 0; text-align:center; border-top:1px solid var(--line); }.gift-promise p { max-width:780px; margin:0 auto 1rem; font:italic 700 clamp(1.7rem,4vw,3.1rem)/1.2 var(--serif); }.gift-promise span { color:var(--gift); text-transform:uppercase; letter-spacing:.17em; font-size:.68rem; }
.welcome { min-height:100vh; display:grid; place-items:center; padding:3rem 0; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 35%,rgba(138,107,71,.17),transparent 34%); }.welcome-mark { position:absolute; font:900 44vw/.8 var(--serif); color:rgba(243,239,230,.018); }.welcome-card { max-width:820px; text-align:center; position:relative; }.welcome h1 { font-size:clamp(4rem,11vw,8.5rem); }.welcome-lead { max-width:600px; margin:0 auto 2.5rem; color:var(--marfil-suave); font-size:1.1rem; }.welcome-next { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem; margin:2rem 0; }.welcome-next>span { flex-basis:100%; color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.17em; }.text-link { color:var(--gift); }
@media(max-width:900px){.gift-hero-grid,.signup-grid{grid-template-columns:1fr}.gift-stack{min-height:440px;max-width:560px}.gift-grid{grid-template-columns:1fr}.gift-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.gift-grid article:last-child{border-bottom:0!important}}
@media(max-width:560px){.gift-hero{padding:4rem 0}.gift-copy h1{font-size:3.7rem}.gift-stack{min-height:330px}.gift-stack figure{width:165px;height:260px}.gift-stack figure:nth-child(1){left:0}.gift-stack figure:nth-child(2){left:16%}.gift-stack figure:nth-child(3){left:32%}.gift-stack figure:nth-child(4){left:48%}.gift-grid article{min-height:0;grid-template-columns:115px 1fr}.gift-grid article>div{padding:1.35rem}.gift-grid h3{margin:2rem 0 .8rem;font-size:1.35rem}.gift-grid blockquote{font-size:.9rem}.gift-form{padding:1.35rem}.welcome-next .button{width:100%}}
@media(prefers-reduced-motion:reduce){.gift-stack figure{transform:none!important}}
