
:root{--green:#17462f;--green-2:#0e3523;--red:#a92128;--red-2:#7e171d;--gold:#c99a2e;--cream:#fffaf0;--paper:#fffdf8;--ink:#20251f;--muted:#62685f;--line:#e7dfd1;--soft:#f5efe3;--shadow:0 12px 28px rgba(32,37,31,.10);--radius:18px;--wrap:1480px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--green)}button,input,select,textarea{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 34px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:999;background:white;padding:12px 16px;border:2px solid var(--red)}
.topbar{background:var(--green-2);color:#fff;padding:8px 0;font-size:.9rem}.topbar .wrap{display:flex;justify-content:space-between;gap:18px;align-items:center}.topbar a{color:#fff}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,253,248,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.brand img{display:block;width:330px;max-width:46vw;height:auto;overflow:visible}.nav-toggle{display:none;border:1px solid var(--line);background:white;border-radius:10px;padding:9px 12px}.main-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:4px;align-items:center}.main-nav a{display:block;color:var(--ink);text-decoration:none;font-weight:750;padding:12px 11px;border-radius:10px;font-size:.94rem}.main-nav a:hover,.main-nav a[aria-current="page"]{background:var(--soft);color:var(--red)}
.hero{background:linear-gradient(90deg,#fffaf0 0%,#fffaf0 42%,rgba(255,250,240,.12) 58%),url('/assets/images/christmas-gifts-hero.webp') center right/cover no-repeat;min-height:430px;display:grid;align-items:center;border-bottom:1px solid var(--line)}.hero-copy{max-width:680px;padding:65px 0}.eyebrow{font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-size:.8rem}.hero h1,.page-hero h1,.article-head h1{font-family:Georgia,"Times New Roman",serif;line-height:1.05;color:var(--green);margin:.35rem 0 1rem}.hero h1{font-size:clamp(2.6rem,6vw,5.2rem)}.hero h1 span{color:var(--red)}.hero p{font-size:1.18rem;max-width:58ch}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:white;text-decoration:none;font-weight:800;border:none;border-radius:10px;padding:13px 19px;box-shadow:0 5px 14px rgba(169,33,40,.18)}.btn:hover{background:var(--red-2);color:#fff}.btn.secondary{background:var(--green)}.btn.ghost{background:transparent;border:1px solid currentColor;color:var(--green);box-shadow:none}
.trust-strip{background:white;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trust-item{display:flex;gap:13px;padding:22px 18px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-icon{font-size:1.8rem;color:var(--red);line-height:1}.trust-item strong{display:block}.trust-item span{color:var(--muted);font-size:.9rem}
section{padding:68px 0}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:26px}.section-head h2,.content h2,.sidebar h2{font-family:Georgia,serif;color:var(--green);line-height:1.15;margin:0}.section-head h2{font-size:clamp(1.8rem,3vw,2.65rem)}.section-head p{max-width:65ch;color:var(--muted);margin:.45rem 0 0}.grid{display:grid;gap:22px}.grid.cards-4{grid-template-columns:repeat(4,1fr)}.grid.cards-3{grid-template-columns:repeat(3,1fr)}.grid.cards-2{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 16px rgba(32,37,31,.055);display:flex;flex-direction:column}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);transition:.2s}.card img{aspect-ratio:16/9;object-fit:cover;width:100%}.card-body{padding:20px;flex:1}.card h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.2;margin:0 0 8px;color:var(--green)}.card p{color:var(--muted);margin:0 0 14px}.card a.more{font-weight:850;text-decoration:none;margin-top:auto}.pill{display:inline-block;background:#f3ead2;color:#6d5114;border:1px solid #e5d29c;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800;margin-bottom:10px}.soft{background:var(--soft)}.dark-band{background:linear-gradient(120deg,var(--green-2),var(--green));color:white}.dark-band h2,.dark-band h3{color:white}.dark-band p{color:#edf5ef}.red-band{background:linear-gradient(120deg,var(--red-2),var(--red));color:white}.red-band h2{color:white}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:30px}.sidebar{display:grid;gap:20px;align-content:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel.green{background:var(--green);color:#fff}.panel.green h2{color:#fff}.panel.green a{color:#fff}.countdown-number{font-family:Georgia,serif;color:var(--red);font-size:3rem;font-weight:800;line-height:1}.quick-links{list-style:none;padding:0;margin:14px 0 0}.quick-links li{border-top:1px solid var(--line)}.quick-links a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none;padding:11px 0;font-weight:700}.quick-links a:hover{color:var(--red)}
.page-hero{background:linear-gradient(135deg,#fffaf0,#f2e8d7);padding:62px 0;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);max-width:18ch}.page-hero p{max-width:70ch;font-size:1.1rem;color:var(--muted)}.breadcrumbs{font-size:.88rem;margin-bottom:18px;color:var(--muted)}.breadcrumbs a{color:var(--green)}
.article{padding:52px 0}.article-layout{display:grid;grid-template-columns:minmax(0,850px) 320px;gap:45px;justify-content:center}.article-head{margin-bottom:30px}.article-head h1{font-size:clamp(2.35rem,5vw,4.2rem);max-width:20ch}.dek{font-size:1.18rem;color:var(--muted);max-width:68ch}.byline{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.article-image{border-radius:var(--radius);overflow:hidden;margin:28px 0;box-shadow:var(--shadow)}.article-image img{width:100%;aspect-ratio:16/7;object-fit:cover}.content{font-size:1.02rem}.content h2{font-size:2rem;margin:2.1rem 0 .8rem}.content h3{color:var(--green);font-size:1.26rem;margin:1.4rem 0 .4rem}.content p{margin:.8rem 0}.content ul,.content ol{padding-left:1.25rem}.content li{margin:.45rem 0}.note{border-left:5px solid var(--gold);background:#fff8e7;padding:18px 20px;border-radius:0 12px 12px 0;margin:24px 0}.idea-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.idea{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.idea h3{margin:0 0 6px;font-size:1.13rem}.idea p{font-size:.94rem;color:var(--muted);margin:0}.checklist{background:var(--soft);border-radius:var(--radius);padding:24px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:800;color:var(--green)}.article-aside{position:sticky;top:110px;align-self:start;display:grid;gap:18px}.author-box img{width:70px;height:70px;border-radius:50%;background:var(--soft)}
.tool{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field label{display:block;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #cfc6b9;border-radius:9px;background:#fff}.result{margin-top:22px;padding:22px;background:#f3f8f4;border:1px solid #c8dfcd;border-radius:12px}.result:empty{display:none}.budget-row{display:grid;grid-template-columns:1fr 140px 44px;gap:8px;margin:8px 0}.budget-row button{border:0;background:#f5e3e4;color:var(--red);border-radius:8px}
.site-footer{background:var(--green-2);color:#f5f6f1;padding:52px 0 20px}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:34px}.site-footer h3{font-family:Georgia,serif;margin-top:0;color:#fff}.site-footer a{color:#f5f6f1;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:7px 0}.footer-logo{display:block;width:290px;max-width:100%;height:auto;filter:none;background:white;border-radius:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:18px;font-size:.88rem;flex-wrap:wrap}.christmas-line{background:var(--red);color:#fff;text-align:center;padding:18px;font-weight:800}.christmas-line a{color:white}
.table-wrap{overflow:auto}.comparison-table{width:100%;border-collapse:collapse;background:#fff}.comparison-table th,.comparison-table td{border:1px solid var(--line);padding:12px;text-align:left}.comparison-table th{background:var(--green);color:white}.tag-cloud{display:flex;gap:10px;flex-wrap:wrap}.tag-cloud a{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:750}.notice{font-size:.86rem;color:var(--muted)}
@media(max-width:1050px){.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:16px}.main-nav.open{display:block}.main-nav ul{display:grid}.nav-toggle{display:block}.trust-grid{grid-template-columns:repeat(2,1fr)}.grid.cards-4{grid-template-columns:repeat(2,1fr)}.home-layout,.article-layout{grid-template-columns:1fr}.article-aside{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wrap{width:min(100% - 22px,var(--wrap))}.topbar .wrap{display:block;text-align:center}.brand img{width:min(330px,76vw);max-width:76vw}.hero{background:linear-gradient(rgba(255,250,240,.91),rgba(255,250,240,.93)),url('/assets/images/christmas-gifts-hero.webp') center/cover;min-height:520px}.hero-copy{padding:50px 0}.hero h1{font-size:3rem}.trust-grid,.grid.cards-4,.grid.cards-3,.grid.cards-2,.idea-list,.form-grid,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.section-head{display:block}.page-hero{padding:44px 0}.article{padding:36px 0}.budget-row{grid-template-columns:1fr 100px 40px}}
@media print{.site-header,.topbar,.site-footer,.christmas-line,.article-aside,.buttons{display:none}.article-layout{display:block}.content{font-size:11pt}body{background:white}}


/* Robust text-based site identity: prevents the wide logo artwork from being cropped or squeezed. */
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;min-width:282px;max-width:none;text-decoration:none;overflow:visible}
.brand-mark{display:block;width:58px;height:58px;flex:0 0 58px;object-fit:contain}
.brand-words{display:flex;flex-direction:column;justify-content:center;line-height:.88;white-space:nowrap;overflow:visible}
.brand-words span,.brand-words strong{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.015em}
.brand-words span{font-size:1.38rem;font-weight:800;color:var(--green)}
.brand-words strong{font-size:1.38rem;color:var(--red);margin-top:5px}
.brand-words small{font-size:.69rem;line-height:1.15;color:var(--ink);font-weight:650;letter-spacing:.01em;margin-top:7px;text-transform:none}
.main-nav{flex:0 1 auto}
.main-nav ul{flex-wrap:nowrap}
.footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:15px;overflow:visible}
.footer-brand-mark{width:58px;height:58px;flex:0 0 58px;background:#fffdf8;border-radius:9px}
.footer-brand-words{display:flex;flex-direction:column;line-height:.9;white-space:nowrap}
.footer-brand-words span,.footer-brand-words strong{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase}
.footer-brand-words span{font-size:1.25rem;font-weight:800;color:#f5f6f1}
.footer-brand-words strong{font-size:1.25rem;color:#f2cf70;margin-top:4px}
.footer-brand-words small{font-size:.67rem;line-height:1.15;color:#f5f6f1;margin-top:6px;text-transform:none}
@media(max-width:1220px){
  .main-nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:16px}
  .main-nav.open{display:block}
  .main-nav ul{display:grid}
  .nav-toggle{display:block}
}
@media(max-width:720px){
  .header-inner{min-height:76px;gap:10px}
  .brand{min-width:0;gap:8px}
  .brand-mark{width:47px;height:47px;flex-basis:47px}
  .brand-words span,.brand-words strong{font-size:1.02rem}
  .brand-words strong{margin-top:4px}
  .brand-words small{font-size:.58rem;margin-top:5px}
  .main-nav{top:76px}
}
@media(max-width:420px){
  .brand-mark{width:42px;height:42px;flex-basis:42px}
  .brand-words span,.brand-words strong{font-size:.88rem}
  .brand-words small{display:none}
  .nav-toggle{padding:8px 10px;font-size:.88rem}
}

/* Specificity fix: override the legacy .brand img rule used by the former wide artwork. */
.brand img.brand-mark{display:block;width:58px;height:58px;max-width:58px;flex:0 0 58px;object-fit:contain;overflow:visible}
@media(max-width:720px){.brand img.brand-mark{width:47px;height:47px;max-width:47px;flex-basis:47px}}
@media(max-width:420px){.brand img.brand-mark{width:42px;height:42px;max-width:42px;flex-basis:42px}}
@media(max-width:720px){.topbar .wrap span{display:block}.topbar .wrap span+span{margin-top:3px}}


/* FINAL BRAND FIX — block-level lines remain separate even before CSS loads. */
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:295px;max-width:none;text-decoration:none;overflow:visible}
.brand .brand-words{display:block;white-space:nowrap;overflow:visible;line-height:1}
.brand .brand-ideal,.brand .brand-name{display:block;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.015em;font-size:1.38rem;font-weight:800}
.brand .brand-ideal{color:var(--green)}
.brand .brand-name{color:var(--red);margin-top:5px}
.brand .brand-tagline{display:block;color:var(--ink);font-size:.69rem;font-weight:650;line-height:1.2;letter-spacing:.01em;margin-top:7px;text-transform:none}
.footer-brand .footer-brand-words{display:block;white-space:nowrap;line-height:1}
.footer-brand .footer-brand-ideal,.footer-brand .footer-brand-name{display:block;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-size:1.25rem;font-weight:800}
.footer-brand .footer-brand-ideal{color:#f5f6f1}
.footer-brand .footer-brand-name{color:#f2cf70;margin-top:4px}
.footer-brand .footer-brand-tagline{display:block;color:#f5f6f1;font-size:.67rem;line-height:1.2;margin-top:6px;text-transform:none}
@media(max-width:720px){
 .brand{min-width:0;gap:8px}
 .brand .brand-ideal,.brand .brand-name{font-size:1.02rem}
 .brand .brand-name{margin-top:4px}
 .brand .brand-tagline{font-size:.58rem;margin-top:5px}
}
@media(max-width:420px){
 .brand .brand-ideal,.brand .brand-name{font-size:.88rem}
 .brand .brand-tagline{display:none}
}
