.gift-page { --gift-ink: #0f0f10; --gift-coral: #b83c24; }
.gift-page nav { background:var(--bone); border-bottom:1px solid var(--line); padding-inline:clamp(1.2rem,4vw,4rem); }
.gift-page .nav-links { gap:1.25rem; }
.gift-page .nav-links .btn-primary { background:var(--gift-coral); color:white; font-size:.72rem; padding:.8rem 1rem; }
.gift-page section { padding:5rem 0; animation:none; opacity:1; transform:none; scroll-margin-top:85px; }
.gift-page .gift-hero { padding-top:10rem; padding-bottom:5rem; }
.gift-wrap { width:min(1180px,calc(100% - 3rem)); margin:auto; }
.gift-hero-grid { display:grid; grid-template-columns:1.3fr .85fr; gap:5rem; align-items:center; }
.gift-eyebrow { font:600 .72rem/1.6 'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1.4rem; }
.gift-page h1 { font-size:clamp(3.1rem,5.5vw,5.4rem); line-height:1.05; letter-spacing:-.02em; }
.gift-script { display:block; font-family:'Fraunces',serif; font-weight:600; font-style:italic; color:var(--gift-coral); text-transform:none; letter-spacing:-.04em; line-height:1.18; }
.gift-page h1 .gift-script { font-size:.68em; margin-top:.35em; }
.gift-lede { font-size:1.12rem; max-width:560px; margin:1.7rem 0; }
.gift-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.3rem; }
.gift-button { display:inline-flex; justify-content:space-between; align-items:center; gap:1.4rem; padding:1rem 1.3rem; background:var(--gift-coral); color:white; text-decoration:none; font-size:.83rem; font-weight:700; min-height:48px; transition:background .2s,transform .2s; }
.gift-button:hover { background:var(--night); transform:translateY(-2px); }
.gift-text-link { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; font-weight:600; display:inline-block; padding:12px 0; }
.gift-note { font-size:.8rem; line-height:1.7; margin-top:1.2rem; max-width:520px; }
.gift-portrait { position:relative; padding:0 0 1.2rem 1.2rem; border-left:2px solid var(--coral); border-bottom:2px solid var(--coral); }
.gift-photo { display:block; width:100%; height:420px; object-fit:cover; object-position:center 25%; filter:grayscale(1); }
.gift-caption { padding:1rem 0 0; display:grid; gap:.2rem; }
.gift-caption span { font-size:.85rem; }
.gift-stamp { position:absolute; top:24px; right:-15px; background:var(--katie-yellow); padding:1rem; font:1.2rem/1.1 'Anton',sans-serif; transform:rotate(4deg); }
.gift-page h2 { font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.1; margin-bottom:2rem; }
.gift-page h3 { font-size:1.8rem; line-height:1.12; }
.gift-two { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.gift-offers,.gift-faq { background:#fff; }
.gift-card { padding:2.3rem; border:1px solid var(--night); position:relative; }
.gift-card h3 { font-size:2.7rem; margin:1.2rem 0; }
.gift-card p { max-width:470px; }
.gift-number { font:3rem/1 'Anton',sans-serif; color:var(--gift-coral); display:block; margin-bottom:2rem; }
.gift-card-dark { background:var(--night); color:var(--bone); }
.gift-card-dark .gift-number { color:var(--katie-yellow); }
.gift-price { border-top:1px solid #888; padding-top:1rem; margin-top:2rem; font-weight:700; font-size:1.3rem; }
.gift-price span { display:block; font-size:.8rem; font-weight:400; margin-top:.25rem; }
.gift-section-heading { display:flex; gap:3rem; justify-content:space-between; align-items:center; }
.gift-section-heading > p { max-width:400px; }
.gift-session-list { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; border-top:1px solid #c6beb2; margin-top:1.8rem; }
.gift-session-list li { display:flex; gap:1.2rem; padding:1.6rem 1rem 1.6rem 0; border-bottom:1px solid #c6beb2; }
.gift-session-list li > span { font:500 .8rem 'JetBrains Mono',monospace; color:var(--gift-coral); padding-top:.2rem; }
.gift-session-list h3 { font-size:1.3rem; margin-bottom:.6rem; }
.gift-session-list p { font-size:.88rem; }
.gift-forum { background:var(--bone-deep); }
.gift-steps { padding-left:1.3rem; margin-top:1.5rem; }
.gift-steps li { padding:0 0 1rem .5rem; }
.gift-activate { background:var(--night); color:var(--bone); }
.gift-activate .gift-script { color:var(--katie-yellow); }
.gift-activate .gift-button { margin-top:1.7rem; background:var(--katie-yellow); color:var(--night); }
.gift-activate .gift-button:hover { background:var(--bone); }
.gift-help { border-left:1px solid #79756e; padding:1rem 0 1rem 2.5rem; align-self:center; }
.gift-help h3 { font-size:2.2rem; margin-bottom:1rem; }
.gift-faq details { border-bottom:1px solid var(--line); padding:1.25rem 0; }
.gift-faq summary { cursor:pointer; font-weight:600; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.gift-faq summary::after { content:'+'; font-size:1.5rem; color:var(--gift-coral); }
.gift-faq details[open] summary::after { content:'−'; }
.gift-faq details p { max-width:850px; padding:.6rem 0 1rem; }
.gift-source { margin-top:2rem; font-size:.78rem; color:#56514b; max-width:850px; }
.gift-source a { color:inherit; }
.gift-page a:focus-visible,.gift-page summary:focus-visible { outline:3px solid var(--gift-coral); outline-offset:5px; }
@media(min-width:901px) and (max-width:1200px) { .gift-page .logo { font-size:1rem; } .gift-page .nav-links { gap:.7rem; } .gift-page .nav-links a { font-size:.8rem; } }
@media(max-width:900px) { .gift-hero-grid { gap:2rem; } .gift-session-list { grid-template-columns:repeat(2,1fr); } .gift-page h1 { font-size:3.5rem; } .gift-photo { height:350px; } .gift-page .nav-links .btn-primary { white-space:normal; } }
@media(max-width:650px) { .gift-page section { padding:3.2rem 0; } .gift-page .gift-hero { padding-top:8rem; } .gift-hero-grid,.gift-two { grid-template-columns:1fr; } .gift-page h1 { font-size:clamp(2.6rem,10.5vw,4rem); } .gift-portrait { max-width:390px; margin-top:1rem; } .gift-photo { height:360px; } .gift-section-heading { display:block; } .gift-session-list { grid-template-columns:1fr; } .gift-help { border-left:0; border-top:1px solid #79756e; padding:2rem 0 0; } .gift-card { padding:1.5rem; } .gift-card h3 { font-size:2.3rem; } .gift-stamp { right:-5px; } .gift-page .logo { font-size:1.05rem; } }
@media(prefers-reduced-motion:reduce) { .gift-page *, .gift-page *::before,.gift-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
