.gift-page { color:#203b4f; }
.gift-hero { max-width:1050px; margin-inline:auto; }
.gift-hero .lead { max-width:70ch; margin-inline:auto; }
.gift-kicker { color:#0072ce; text-transform:uppercase; font-size:.85rem; font-weight:700; letter-spacing:.07em; }
.gift-section { max-width:1080px; padding:1.5rem 2rem; margin:1.7rem auto; box-sizing:border-box; }
.gift-section h2 { color:#153c59; text-align:left; font-size:1.65rem; }
.gift-section h3 { color:#153c59; text-align:left; font-size:1.2rem; }
.gift-section p,.gift-section li { line-height:1.65; }
.gift-paths { display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.gift-path { display:flex; flex-direction:column; background:#fff; border:1px solid #cadde9; border-radius:16px; padding:1.5rem; }
.gift-path img { width:100%; height:auto; display:block; border-radius:9px; border:1px solid #dbe5ed; box-sizing:border-box; }
.gift-path .gift-actions { margin-top:auto; padding-top:.6rem; }
.gift-path--research { border-top:5px solid #527a43; }
.gift-path--training { border-top:5px solid #0072ce; }
.gift-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; counter-reset:step; padding:0; list-style:none; }
.gift-steps li { border:1px solid #d9e4eb; border-radius:12px; padding:1rem; background:#f8fbfd; }
.gift-steps strong { display:block; margin-bottom:.4rem; }
.gift-steps strong::before { counter-increment:step; content:counter(step)". "; color:#0072ce; }
.gift-editor { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:2rem; align-items:start; }
.gift-controls { min-width:0; }
.gift-field { display:block; margin-bottom:1rem; }
.gift-field > label,.gift-field > span { display:block; font-weight:600; margin-bottom:.35rem; }
.gift-field input,.gift-field select,.gift-field textarea,.gift-copy-text { width:100%; box-sizing:border-box; padding:.75rem; border:1px solid #a8becd; border-radius:7px; color:#203b4f; background:#fff; font:inherit; line-height:1.45; }
.gift-field textarea { resize:vertical; min-height:100px; }
.gift-field small { display:block; margin-top:.3rem; color:#4f6575; font-size:.85rem; line-height:1.5; }
.gift-check { display:flex; align-items:flex-start; gap:.65rem; font-weight:400; line-height:1.6; }
.gift-check input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin-top:.25rem; accent-color:#0072ce; }
.gift-preview { min-width:0; position:sticky; top:110px; }
.gift-preview canvas { display:block; width:100%; height:auto; border:1px solid #ccdce6; border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(21,60,89,.08); }
.gift-preview-label { font-size:.85rem; color:#4f6575; margin-bottom:.5rem; }
.gift-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:stretch; margin:1rem 0; }
.gift-actions a,.gift-actions button { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; margin:0; padding:.75rem 1.1rem; min-height:3rem; box-sizing:border-box; max-width:100%; white-space:normal; text-align:center; border:1px solid #0072ce; border-radius:8px; background:#fff; color:#005ca7; font:inherit; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.gift-actions .gift-primary { background:#0072ce; color:#fff; }
.gift-actions a:hover,.gift-actions button:hover:not(:disabled) { box-shadow:0 3px 12px rgba(21,60,89,.12); }
.gift-actions button:disabled { opacity:.45; cursor:not-allowed; }
.gift-actions [aria-disabled="true"] { opacity:.45; }
.gift-page a:focus-visible,.gift-page button:focus-visible,.gift-page input:focus-visible,.gift-page select:focus-visible,.gift-page textarea:focus-visible { outline:3px solid #153c59; outline-offset:3px; }
.gift-notice { padding:1rem 1.2rem; background:#edf5fb; border-left:4px solid #0072ce; border-radius:6px; font-size:.92rem; line-height:1.6; }
.gift-notice--research { background:#f1f6ec; border-color:#527a43; }
.gift-consent { border:1px solid #bccfae; border-radius:9px; padding:1rem; margin-top:1rem; background:#f7faf3; }
.gift-help { color:#4f6575; font-size:.9rem; line-height:1.6; }
.gift-download-note { min-height:2.5em; }
.gift-status { color:#153c59; min-height:1.5em; line-height:1.6; }
.gift-copy-text { min-height:190px; resize:vertical; }
.gift-back { font-size:.9rem; }
.gift-download-fallback { display:block; margin-top:.7rem; text-decoration:underline; }
.gift-page [hidden] { display:none !important; }
.gift-home-note { max-width:960px; border:1px solid #c7dce9; border-left:5px solid #0072ce; border-radius:16px; background:#f4f9fc; }
.gift-inline-note { max-width:960px; border:1px solid #c7dce9; border-radius:12px; background:#f8fbfd; }
.gift-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:pre-line; }
@media (max-width:820px) { .gift-editor { grid-template-columns:1fr; } .gift-preview { position:static; } .gift-preview canvas { max-width:680px; margin-inline:auto; } .gift-steps { grid-template-columns:1fr; } }
@media (max-width:650px) { .gift-paths { grid-template-columns:1fr; } .gift-section { padding:1.25rem 1rem; } .gift-section h2 { font-size:1.4rem; } }
@media (max-width:420px) { .gift-actions a,.gift-actions button { width:100%; } .gift-path { padding:1rem; } }
@media print { .gift-controls,.gift-actions,.gift-consent,.gift-notice,.gift-steps,.gift-back,.gift-status { display:none; } .gift-preview { position:static; } }
