/* Science Gift Finder. Rooted on #sgf so it beats .t33-single-main .entry-content a/img/ul/p/button at (1,0,0)+ with no !important. */
#sgf {
	--ink:#1d2342;--soft:#565b7a;--cream:#fff7ea;--coral:#ff6f61;--coral-d:#d63f30;--gold:#ffb703;--teal:#139a8e;--teal-d:#0c7a70;--plum:#7b5cd6;
	--line:rgba(29,35,66,.13);--ok:#1f9d6b;--sh:0 2px 0 rgba(29,35,66,.07), 0 6px 16px rgba(29,35,66,.07);
	position:relative;isolation:isolate;overflow:hidden;
	min-height:600px;margin:32px 0;padding:58px 32px 30px;
	border-radius:22px;color:var(--ink);font-size:16px;line-height:1.45;
	background:linear-gradient(170deg, #fffaf1, var(--cream) 60%, #ffeedb);
	box-shadow:0 18px 44px rgba(29,35,66,.14), inset 0 0 0 1px rgba(255,183,3,.35);
	display:flex;flex-direction:column;
}
#sgf::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
	background-image:radial-gradient(3px 3px at 8% 30%, var(--coral), transparent), radial-gradient(2.5px 2.5px at 22% 80%, var(--gold), transparent), radial-gradient(3px 3px at 46% 12%, var(--teal), transparent);}
#sgf, #sgf *, #sgf *::before, #sgf *::after {box-sizing:border-box;}
#sgf p {margin:0;font-size:inherit;line-height:inherit;color:inherit;}
#sgf ul {margin:0;padding:0;list-style:none;}
#sgf li {margin:0;padding:0;font-size:inherit;}
#sgf img {display:block;width:100%;max-width:100%;height:auto;margin:0;border-radius:0;box-shadow:none;}
#sgf a {text-decoration:none;border:0;}
#sgf button {appearance:none;border:0;background:none;color:inherit;font:inherit;cursor:pointer;margin:0;padding:0;text-transform:none;letter-spacing:normal;}
#sgf button:focus-visible, #sgf a:focus-visible {outline:3px solid var(--teal);outline-offset:3px;border-radius:12px;}
#sgf .sgf-question:focus, #sgf .sgf-name:focus {outline:none;}
#sgf .sgf-sr {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.sgf-ico {width:24px;height:24px;flex:none;display:block;}

/* Ribbon progress */
.sgf-ribbon {position:absolute;z-index:2;top:20px;left:0;right:0;height:12px;background:repeating-linear-gradient(135deg, #ffd45e 0 8px, #ffc533 8px 16px);box-shadow:0 2px 6px rgba(29,35,66,.12);}
.sgf-rfill {position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:repeating-linear-gradient(135deg, var(--coral) 0 8px, #f2574a 8px 16px);transition:transform .7s cubic-bezier(.2,.9,.25,1.1);}
.sgf-rbow {position:absolute;top:50%;left:18px;width:48px;height:48px;margin:-24px 0 0 -24px;transition:left .7s cubic-bezier(.2,.9,.25,1.1);filter:drop-shadow(0 3px 4px rgba(29,35,66,.25));}
#sgf .sgf-rbow svg {width:100%;height:100%;display:block;}
#sgf[data-state="intro"] .sgf-rbow {animation:sgf-bob 2.4s ease-in-out infinite;}
@keyframes sgf-bob { 50% { transform: translateY(-3px) rotate(-6deg); } }

/* Stage and screens */
.sgf-stage {flex:1;min-width:0;min-height:500px;display:flex;flex-direction:column;justify-content:center;}
#sgf[data-state="result"] .sgf-stage {justify-content:flex-start;min-height:0;}
.sgf-screen {width:100%;}
#sgf .sgf-eyebrow {font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-d);margin-bottom:8px;}
#sgf .sgf-title {font-size:clamp(28px, 4.4vw, 42px);font-weight:900;line-height:1.1;letter-spacing:-.01em;margin-bottom:14px;text-wrap:balance;}
#sgf .sgf-lede {font-size:18px;color:var(--soft);margin-bottom:24px;max-width:44ch;}
#sgf .sgf-meta {font-size:14px;color:var(--soft);margin-top:14px;}
#sgf .sgf-start {display:inline-flex;align-items:center;gap:10px;padding:15px 32px;border-radius:999px;font-size:18px;font-weight:800;color:#fff;background:linear-gradient(120deg, #ff7a5c, var(--coral-d));box-shadow:0 10px 24px rgba(214,63,48,.32);transition:transform .2s, box-shadow .2s;}
#sgf .sgf-start:hover {transform:translateY(-2px) scale(1.02);box-shadow:0 16px 32px rgba(214,63,48,.4);}
#sgf .sgf-start:disabled {opacity:.6;cursor:default;transform:none;}
.sgf-intro {display:grid;grid-template-columns:minmax(0, 1fr) 270px;gap:24px;align-items:center;}

/* Intro motif: gift box with a wiggling lid and orbiting science icons */
.sgf-motif {position:relative;width:270px;height:270px;margin:0 auto;}
#sgf .sgf-box {position:absolute;left:50%;top:50%;width:170px;height:auto;margin:-80px 0 0 -85px;overflow:visible;}
#sgf .sgf-boxwrap .sgf-box {position:static;margin:0 auto;width:190px;}
.sgf-body {fill:var(--coral);} .sgf-band {fill:var(--gold);} .sgf-lidtop {fill:#f2574a;} .sgf-shadow {fill:rgba(29,35,66,.14);}
.sgf-dot {fill:rgba(255,255,255,.55);} .sgf-bow path {fill:#ffc533;stroke:#e09b00;stroke-width:2;stroke-linejoin:round;} .sgf-bow circle {fill:#ffb703;stroke:#e09b00;stroke-width:2;}
.sgf-rays {fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;opacity:0;}
.sgf-lid, .sgf-rays {transform-box:fill-box;transform-origin:50% 100%;}
.sgf-rays {transform-origin:50% 50%;}
.sgf-lid {animation:sgf-wiggle 3.6s ease-in-out infinite;}
.sgf-bow {transform-box:fill-box;transform-origin:50% 100%;animation:sgf-bowpop 3.6s ease-in-out infinite;}
@keyframes sgf-wiggle { 0%, 52%, 100% { transform: none; } 58% { transform: translateY(-9px) rotate(-7deg); } 66% { transform: translateY(-4px) rotate(5deg); } 74% { transform: translateY(-1px) rotate(-2deg); } }
@keyframes sgf-bowpop { 0%, 52%, 100% { transform: none; } 58% { transform: scale(1.12); } 70% { transform: scale(.97); } 80% { transform: none; } }
.sgf-orbit {position:absolute;inset:var(--in, 0px);border-radius:50%;border:1.5px dashed rgba(29,35,66,.14);animation:sgf-spin var(--d, 18s) linear infinite;animation-delay:var(--p, 0s);}
.sgf-sat {position:absolute;left:50%;top:0;width:42px;height:42px;margin:-21px 0 0 -21px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--c);box-shadow:0 6px 14px rgba(29,35,66,.22);animation:sgf-spin var(--d, 18s) linear infinite reverse;animation-delay:var(--p, 0s);}
#sgf .sgf-sat .sgf-ico {width:22px;height:22px;}
@keyframes sgf-spin { to { transform: rotate(360deg); } }

/* Questions */
.sgf-qtop {display:flex;align-items:center;justify-content:space-between;min-height:38px;margin-bottom:8px;}
#sgf .sgf-back {display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 12px 0 6px;border-radius:999px;font-size:14px;font-weight:700;color:var(--soft);transition:background .15s, color .15s;}
#sgf .sgf-back .sgf-ico {width:20px;height:20px;}
#sgf .sgf-back:hover {background:rgba(29,35,66,.07);color:var(--ink);}
.sgf-count {font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--soft);}
#sgf .sgf-question {font-size:clamp(24px, 3.3vw, 31px);font-weight:900;line-height:1.18;margin-bottom:6px;text-wrap:balance;}
#sgf .sgf-hint {color:var(--soft);margin-bottom:20px;}
.sgf-opts {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}
.sgf-opts-3 {grid-template-columns:minmax(0, 1fr);}
.sgf-opts-12 {grid-template-columns:repeat(4, minmax(0, 1fr));}
.sgf-opts-5 > :last-child, .sgf-opts-7 > :last-child {grid-column:1 / -1;}
#sgf .sgf-opt {position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:11px 14px;text-align:left;border-radius:16px;background:#fff;box-shadow:var(--sh), inset 0 0 0 2px transparent;transition:transform .18s, box-shadow .18s, background .18s;}
@media (hover: hover) { #sgf .sgf-opt:hover { transform: translateY(-3px); box-shadow: 0 2px 0 rgba(29,35,66,.07), 0 12px 22px rgba(29,35,66,.12), inset 0 0 0 2px var(--c); } }
#sgf .sgf-opt[aria-pressed="true"] {background:#fff9ee;box-shadow:0 2px 0 rgba(29,35,66,.07), inset 0 0 0 3px var(--c);}
.sgf-opt-ico {display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;color:var(--c);background:rgba(29,35,66,.06);background:color-mix(in srgb, var(--c) 15%, #fff);}
.sgf-opt-text {display:flex;flex-direction:column;min-width:0;}
.sgf-opt-label {font-weight:800;line-height:1.22;}
.sgf-opt-sub {font-size:14px;color:var(--soft);line-height:1.25;margin-top:2px;}
#sgf .sgf-opts-12 .sgf-opt {justify-content:center;min-height:74px;padding:8px;}
.sgf-age {font-size:28px;font-weight:900;color:var(--c);}

/* Finding screen */
#sgf .sgf-finding {text-align:center;}
#sgf .sgf-finding .sgf-boxwrap {margin-bottom:8px;}
#sgf .sgf-finding .sgf-lid, #sgf .sgf-finding .sgf-bow {animation:none;}
#sgf .sgf-finding .sgf-hint {margin-bottom:0;}
.sgf-p {position:absolute;z-index:6;pointer-events:none;border-radius:2px;}

/* Result */
.sgf-top {display:grid;grid-template-columns:240px minmax(0, 1fr);gap:24px;align-items:start;margin:22px 0 18px;}
.sgf-top-img {position:relative;background:#fff;border-radius:20px;padding:14px;box-shadow:0 14px 34px rgba(29,35,66,.16);transform-style:preserve-3d;}
#sgf .sgf-imglink {display:block;}
.sgf-badge {position:absolute;z-index:2;top:-12px;left:-10px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px 6px 9px;border-radius:999px;font-size:13px;font-weight:900;color:#fff;background:var(--coral-d);box-shadow:0 6px 12px rgba(214,63,48,.35);transform:rotate(-5deg);}
#sgf .sgf-badge .sgf-ico {width:16px;height:16px;}
#sgf .sgf-name {font-size:clamp(22px, 3vw, 28px);font-weight:900;line-height:1.15;margin-bottom:10px;}
.sgf-tags {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.sgf-tag {display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:999px;font-size:13px;font-weight:800;background:#dff4f1;color:#0a615a;}
#sgf .sgf-tag .sgf-ico {width:15px;height:15px;}
#sgf .sgf-tag-age {background:#ffecb8;color:#6d4b00;}
#sgf .sgf-blurb {color:var(--soft);margin-bottom:14px;}
#sgf .sgf-whyh {font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-d);margin-bottom:7px;}
.sgf-chips {display:flex;flex-wrap:wrap;gap:7px;}
.sgf-chip {display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;font-size:14px;font-weight:700;background:#fff;box-shadow:inset 0 0 0 1.5px rgba(31,157,107,.4);}
#sgf .sgf-chip .sgf-ico {width:16px;height:16px;color:var(--ok);stroke-width:2.6;}
#sgf .sgf-note {font-size:14px;color:#7a3d00;background:#fff0d6;border-radius:10px;padding:7px 11px;margin-top:8px;}
.sgf-meters {display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px;}
.sgf-meter {display:grid;grid-template-columns:minmax(0, 1fr);gap:3px;font-size:13px;}
.sgf-meter-l {color:var(--soft);font-weight:700;}
.sgf-meter-v {font-weight:800;font-size:15px;}
.sgf-meter-bar {height:8px;border-radius:4px;overflow:hidden;background:rgba(29,35,66,.1);margin-top:3px;}
#sgf .sgf-meter-bar i {display:block;height:100%;border-radius:4px;background:linear-gradient(90deg, var(--gold), var(--coral));}
#sgf .sgf-facts {font-size:14px;color:var(--soft);margin-bottom:16px;}
#sgf .sgf-facts b {color:var(--ink);}
.sgf-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;}
#sgf a.sgf-cta {display:inline-block;padding:14px 28px;border-radius:999px;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(120deg, #ff7a5c, var(--coral-d));box-shadow:0 10px 24px rgba(214,63,48,.3);transition:transform .2s;}
#sgf a.sgf-cta:hover {transform:translateY(-2px);color:#fff;}
#sgf .sgf-ghost {display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:999px;font-weight:800;font-size:15px;color:var(--teal-d);box-shadow:inset 0 0 0 2px rgba(19,154,142,.45);transition:background .15s;}
#sgf .sgf-ghost:hover {background:rgba(19,154,142,.1);}
#sgf .sgf-ghost .sgf-ico {width:18px;height:18px;}
#sgf .sgf-also {font-weight:900;font-size:18px;margin:26px 0 10px;}
.sgf-alts {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;}
.sgf-alt {display:flex;gap:12px;padding:12px;border-radius:18px;background:#fff;box-shadow:0 2px 0 rgba(29,35,66,.06), 0 8px 18px rgba(29,35,66,.08);}
#sgf .sgf-alt-img {display:block;flex:none;width:84px;height:84px;padding:4px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);}
.sgf-alt-body {min-width:0;}
.sgf-alt-kind {font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-d);}
#sgf .sgf-alt-name {font-weight:800;line-height:1.2;margin:1px 0 3px;}
#sgf .sgf-alt-blurb {font-size:13px;color:var(--soft);line-height:1.35;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#sgf a.sgf-alt-link {font-size:14px;font-weight:800;color:var(--coral-d);}
#sgf a.sgf-alt-link:hover {text-decoration:underline;}
.sgf-foot {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;}
#sgf .sgf-again {display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:15px;color:var(--soft);padding:6px 0;}
#sgf .sgf-again .sgf-ico {width:18px;height:18px;}
#sgf .sgf-again:hover {color:var(--ink);}
#sgf .sgf-disclosure {font-size:12px;color:var(--soft);}

@media (max-width: 680px) {
	#sgf {min-height:640px;margin-left:-24px;margin-right:-24px;padding:52px 16px 22px;border-radius:16px;}
	#sgf .sgf-stage {min-height:560px;}
	#sgf .sgf-intro {grid-template-columns:minmax(0, 1fr);gap:4px;text-align:center;}
	#sgf .sgf-intro .sgf-lede {margin-left:auto;margin-right:auto;font-size:17px;}
	#sgf .sgf-motif {order:-1;transform:scale(.78);margin:-28px auto -24px;}
	.sgf-opts {grid-template-columns:minmax(0, 1fr);gap:8px;}
	.sgf-opts-12 {grid-template-columns:repeat(4, minmax(0, 1fr));}
	#sgf .sgf-opt {min-height:56px;padding:9px 11px;}
	#sgf .sgf-opts-12 .sgf-opt {min-height:62px;}
	#sgf .sgf-opt-ico {width:36px;height:36px;}
	#sgf .sgf-top {grid-template-columns:minmax(0, 1fr);gap:18px;}
	#sgf .sgf-top-img {max-width:200px;margin:6px auto 0;}
	#sgf .sgf-meters {grid-template-columns:minmax(0, 1fr);gap:10px;}
	#sgf .sgf-meter {grid-template-columns:minmax(0, 1fr) auto;}
	#sgf .sgf-meter-bar {grid-column:1 / -1;}
	#sgf .sgf-alts {grid-template-columns:minmax(0, 1fr);}
	#sgf .sgf-actions {flex-direction:column;align-items:stretch;}
	#sgf a.sgf-cta, #sgf .sgf-ghost {text-align:center;justify-content:center;}
	}
@media (prefers-reduced-motion: reduce) {
	#sgf *, #sgf *::before, #sgf *::after {animation:none !important;transition:none !important;}
}

/* Static article cards and disclosure, outside #sgf */
.t33-single-main .entry-content .sgf-card {display:grid;grid-template-columns:180px minmax(0, 1fr);gap:20px;align-items:center;margin:22px 0;padding:16px;border:1px solid #f0dcb6;border-radius:16px;background:#fffaf0;box-shadow:0 10px 28px rgba(29,35,66,.07);}
.t33-single-main .entry-content .sgf-card a.sgf-card-img {display:block;border:0;padding:8px;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(29,35,66,.08);}
.t33-single-main .entry-content .sgf-card img {display:block;width:100%;height:auto;margin:0;border-radius:6px;box-shadow:none;}
.t33-single-main .entry-content .sgf-card p {margin:0 0 7px;font-size:16px;line-height:1.45;}
.t33-single-main .entry-content .sgf-card p.sgf-card-label {font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#c0382a;}
.t33-single-main .entry-content .sgf-card p.sgf-card-name {font-size:19px;font-weight:800;line-height:1.25;color:#1d2342;}
.t33-single-main .entry-content .sgf-card p.sgf-card-why {color:#4a4f6c;}
.t33-single-main .entry-content .sgf-card p.sgf-card-facts {display:flex;flex-wrap:wrap;gap:6px;font-size:13px;margin-bottom:10px;}
.t33-single-main .entry-content .sgf-card .sgf-pill {padding:2px 10px;border-radius:999px;font-weight:800;background:#ffecb8;color:#6d4b00;}
.t33-single-main .entry-content .sgf-card .sgf-pill-type {background:#dff4f1;color:#0a615a;}
.t33-single-main .entry-content .sgf-card a.sgf-card-cta {display:inline-block;padding:10px 22px;border-radius:999px;border:0;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(120deg, #ff7a5c, #d63f30);text-decoration:none;}
.t33-single-main .entry-content p.sgf-disclosure {font-size:14px;color:#5a6378;}
@media (max-width: 560px) {
	.t33-single-main .entry-content .sgf-card {grid-template-columns:100px minmax(0, 1fr);gap:12px;padding:12px;align-items:start;margin-left:-18px;margin-right:-18px;}
	.t33-single-main .entry-content .sgf-card a.sgf-card-cta {white-space:nowrap;padding:9px 16px;font-size:14px;}
}
