/* GiggleIT editorial content only. Shared ROBERTA shell and copy actions stay unchanged. */
.gi-skip { position:fixed; top:-100px; right:20px; z-index:10000; padding:14px 22px; background:#fff; color:var(--ink); border:2px solid var(--rose); }
.gi-skip:focus { top:12px; }
.gi-main { --gi-sage:#597e73; width:min(1240px,calc(100% - 64px)); margin:28px auto 0; padding:28px 0 32px; border-top:1px solid var(--line); }
.gi-main *, .gi-main *::before, .gi-main *::after { box-sizing:border-box; }
.gi-main :is(h2,h3,p,figure) { margin:0; }
.gi-main h2 { font-size:clamp(29px,3vw,41px); line-height:1.25; letter-spacing:-.65px; font-weight:800; }
.gi-main h3 { font-size:24px; line-height:1.35; font-weight:800; }
.gi-main p { font-size:18px; line-height:1.8; color:#5d554e; }
.gi-main img { display:block; max-width:100%; height:auto; }
.gi-main a { text-underline-offset:4px; }
.gi-main :is(a,button,summary):focus-visible { outline:3px solid var(--rose); outline-offset:5px; }
.gi-main [id] { scroll-margin-top:135px; }
.gi-main .gi-eyebrow { color:var(--rose); font-size:14px; font-weight:800; letter-spacing:.4px; margin-bottom:12px; }
.gi-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; align-items:center; color:#71675e; font-size:15px; padding-bottom:24px; }
.gi-breadcrumb a:hover { text-decoration:underline; }
.gi-jump { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; padding:18px 24px; border:1px solid var(--line); border-radius:16px; background:#fff; font-weight:700; margin-bottom:32px; }
.gi-jump > span { margin-inline-end:auto; font-size:14px; color:#75695e; }
.gi-jump a { display:inline-flex; min-height:36px; align-items:center; }
.gi-jump a:hover { text-decoration:underline; color:var(--rose); }
.gi-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; background:#fcf5ef; border:1px solid #ead7cc; border-radius:28px; padding:38px; }
.gi-intro-copy { min-width:0; }
.gi-intro h2 { font-size:clamp(40px,4.2vw,61px); line-height:1.16; letter-spacing:-1.5px; margin-bottom:24px; }
.gi-intro h2 > span { color:var(--rose); }
.gi-main .gi-lead { font-size:21px; line-height:1.65; color:var(--ink-2); margin-bottom:18px; }
.gi-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--rose); font-weight:800; font-size:17px; margin-top:22px; }
.gi-text-link:hover { text-decoration:underline; }
.gi-offer-note { margin-top:26px; padding:18px 20px; border-right:3px solid var(--rose); border-radius:12px 0 0 12px; background:#fffaf6; }
.gi-offer-note strong { font-size:18px; }
.gi-offer-note p { font-size:16px; margin-top:5px; }
.gi-intro-image { min-width:0; }
.gi-intro-image img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:22px; }
.gi-intro-image figcaption { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; padding-top:16px; color:#74685e; font-size:14px; }
.gi-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:30px 0; border-bottom:1px solid var(--line); }
.gi-facts > div { display:flex; flex-direction:column; text-align:center; gap:8px; padding:6px 20px; }
.gi-facts > div + div { border-right:1px solid var(--line); }
.gi-facts strong { font-size:25px; line-height:1.3; color:var(--gi-sage); }
.gi-facts span { font-size:16px; color:#70665d; }
.gi-section { margin-top:64px; }
.gi-heading { display:flex; justify-content:space-between; align-items:end; gap:36px; margin-bottom:28px; }
.gi-heading > div { flex:1.2; min-width:0; }
.gi-heading > p { flex:1; max-width:440px; font-size:17px; }
.gi-characters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gi-character { min-width:0; border:1px solid var(--line); border-radius:22px; background:#fff; overflow:hidden; }
.gi-character > img { width:100%; aspect-ratio:1; object-fit:contain; }
.gi-character > div { padding:24px; }
.gi-character .gi-character-series { color:var(--gi-sage); font-size:12px; letter-spacing:2px; font-weight:800; text-align:right; margin-bottom:8px; }
.gi-character h3 { font-size:25px; margin-bottom:8px; }
.gi-character p { font-size:16px; }
.gi-character a { display:inline-flex; gap:14px; align-items:center; margin-top:20px; font-weight:800; font-size:16px; color:var(--rose); }
.gi-character a:hover { text-decoration:underline; }
.gi-main .gi-small { margin-top:18px; font-size:15px; line-height:1.7; color:#75695f; }
.gi-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; padding:44px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.gi-story .gi-story-caption { margin-top:24px; color:var(--gi-sage); font-size:20px; line-height:1.65; }
.gi-prose h3 { margin-bottom:12px; }
.gi-prose p + h3 { margin-top:30px; }
.gi-checklist { display:grid; grid-template-columns:1fr 1fr; gap:32px 40px; list-style:none; padding:0; margin:32px 0; }
.gi-checklist li { display:flex; align-items:start; gap:18px; min-width:0; }
.gi-checklist li > span { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--rose); font-size:16px; font-weight:700; background:#fff; }
.gi-checklist h3 { font-size:22px; margin:4px 0 12px; }
.gi-checklist p { font-size:17px; }
.gi-care { display:grid; grid-template-columns:.75fr 1.25fr; gap:30px; border:1px solid #d4ded5; border-radius:20px; padding:30px; background:#edf2ed; }
.gi-care h3 { color:#334f45; }
.gi-care .gi-eyebrow { color:#4c695e; }
.gi-care p { font-size:17px; }
.gi-care a { display:inline-block; margin-top:14px; font-size:15px; color:#3d6154; text-decoration:underline; font-weight:700; }
.gi-families { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.gi-families h2 { margin-bottom:22px; }
.gi-family-links { border-top:1px solid var(--line); }
.gi-family-links a { display:flex; flex-direction:column; gap:8px; padding:22px 0; border-bottom:1px solid var(--line); }
.gi-family-links bdi { font-size:28px; font-weight:800; direction:ltr; text-align:right; }
.gi-family-links span { font-size:16px; color:var(--rose); font-weight:600; }
.gi-family-links a:hover span { text-decoration:underline; }
.gi-redeem { padding:38px; background:#fff; border:1px solid var(--line); border-radius:24px; }
.gi-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:32px 0; list-style:none; }
.gi-steps li > span { color:var(--rose); font-weight:800; font-size:30px; }
.gi-steps h3 { font-size:22px; margin:10px 0; }
.gi-steps p { font-size:17px; }
.gi-redeem > .coupon-action { display:inline-flex; gap:22px; }
.gi-faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:52px; }
.gi-faq > div > p:not(.gi-eyebrow) { margin-top:18px; font-size:17px; }
.gi-faq-list { min-width:0; }
.gi-faq details { background:#fff; border:1px solid var(--line); border-radius:15px; margin-bottom:12px; }
.gi-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; list-style:none; padding:20px 24px; font-size:19px; font-weight:700; line-height:1.5; cursor:pointer; }
.gi-faq summary::-webkit-details-marker { display:none; }
.gi-faq summary::after { content:"+"; display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#f9eee7; color:var(--rose); font-weight:500; }
.gi-faq details[open] { border-color:#c79284; }
.gi-faq details[open] summary::after { content:"−"; }
.gi-faq details p { padding:0 24px 24px; font-size:17px; }
.gi-related > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:24px; }
.gi-related a { display:flex; flex-direction:column; gap:14px; justify-content:space-between; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; font-size:22px; font-weight:700; }
.gi-related a:hover { border-color:var(--rose); }
.gi-related a span { font-size:15px; color:var(--rose); font-weight:600; line-height:1.5; }
.gi-editorial { border-top:1px solid var(--line); padding-top:28px; margin-top:44px; }
.gi-editorial h2 { font-size:20px; margin-bottom:14px; }
.gi-editorial p { font-size:15px; max-width:1050px; }
.gi-editorial p + p { margin-top:12px; }
.gi-editorial a { text-decoration:underline; }
.gi-sources { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:18px; font-size:15px; font-weight:700; }
@media (max-width:1000px) {
  .gi-intro { padding:28px; gap:28px; }
  .gi-intro h2 { font-size:44px; }
  .gi-characters { gap:18px; }
  .gi-character > div { padding:20px; }
  .gi-character h3 { font-size:23px; }
  .gi-story,.gi-families { gap:36px; }
  .gi-faq { gap:30px; }
  .gi-related > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .gi-main { width:calc(100% - 40px); }
  .gi-jump { gap:8px 20px; padding:16px 20px; }
  .gi-jump > span { flex-basis:100%; }
  .gi-intro { grid-template-columns:1fr; padding:30px; }
  .gi-intro-image { width:min(100%,480px); justify-self:center; }
  .gi-heading { display:block; }
  .gi-heading > p { margin-top:16px; max-width:none; }
  .gi-characters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gi-story,.gi-families,.gi-faq { grid-template-columns:1fr; gap:28px; }
  .gi-care { grid-template-columns:1fr; gap:18px; }
  .gi-redeem { padding:28px; }
  .gi-redeem .copy-button { margin-top:20px; }
  .gi-facts strong { font-size:22px; }
}
@media (max-width:540px) {
  .gi-main { width:calc(100% - 32px); margin-top:16px; padding-top:24px; }
  .gi-main h2 { font-size:30px; }
  .gi-main p { font-size:17px; }
  .gi-jump { font-size:15px; margin-bottom:24px; }
  .gi-intro { padding:24px; gap:26px; border-radius:22px; }
  .gi-intro h2 { font-size:39px; }
  .gi-main .gi-lead { font-size:19px; }
  .gi-offer-note { padding:16px; }
  .gi-offer-note p { font-size:15px; }
  .gi-intro-image img { border-radius:14px; }
  .gi-intro-image figcaption { line-height:1.6; }
  .gi-facts { grid-template-columns:1fr; padding:10px 0; }
  .gi-facts > div { flex-direction:row; justify-content:space-between; align-items:center; gap:18px; padding:18px 0; text-align:right; }
  .gi-facts > div + div { border-right:0; border-top:1px solid var(--line); }
  .gi-facts strong { font-size:21px; flex:0 0 44%; }
  .gi-facts span { font-size:14px; }
  .gi-section { margin-top:44px; }
  .gi-characters { grid-template-columns:1fr; gap:22px; }
  .gi-character > div { padding:22px; }
  .gi-character h3 { font-size:25px; }
  .gi-character .gi-character-series { font-size:12px; }
  .gi-character p { font-size:16px; }
  .gi-story { padding:30px 0; }
  .gi-prose h3 { font-size:22px; }
  .gi-checklist { grid-template-columns:1fr; gap:26px; }
  .gi-checklist li { gap:12px; }
  .gi-checklist p { font-size:16px; }
  .gi-care { padding:24px; }
  .gi-care p { font-size:16px; }
  .gi-redeem { padding:24px; }
  .gi-steps { grid-template-columns:1fr; gap:24px; }
  .gi-steps li { border-bottom:1px solid var(--line); padding-bottom:20px; }
  .gi-redeem > .coupon-action { display:flex; font-size:17px; gap:10px; }
  .gi-faq summary { padding:18px; font-size:18px; gap:14px; }
  .gi-faq details p { padding:0 18px 20px; font-size:16px; }
  .gi-related > div { gap:12px; }
  .gi-related a { font-size:19px; padding:18px; }
  .gi-editorial p,.gi-main .gi-small { font-size:14px; }
}

