/*
Theme Name: iSmart Parenting Hub
Theme URI: https://ismartparentinghub.com/
Author: iSmart Parenting Hub
Description: Conversion-focused, accessible WordPress theme for free kids printables, learning activities and interactive tools for ages 1–12.
Version: 2.2.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: ismart-parenting-hub
License: GNU General Public License v2 or later
*/

:root {
  --isp-primary: #73c0ee;
  --isp-secondary: #ed73a4;
  --isp-accent: #ebbf7a;
  --isp-sun: #ebbf7a;
  --isp-ink: #444444;
  --isp-muted: #8c898b;
  --isp-bg: #ffffff;
  --isp-surface: #ffffff;
  --isp-border: #eae9ea;
  --isp-radius: 22px;
  --isp-shadow: 0 16px 45px rgba(39,49,66,.10);
  --isp-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--isp-ink); background: var(--isp-bg); font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height: 1.65; }
img { max-width: 100%; height: auto; }
a { color: var(--isp-ink); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: 2px; }
button,input,select,textarea { font: inherit; }
button,a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--isp-ink); outline-offset: 3px; box-shadow:0 0 0 5px var(--isp-sun); }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto!important; width:auto; height:auto; padding:12px 16px; margin:8px; background:#fff; color:#111; z-index:100000; }

.isp-container { width: min(calc(100% - 32px), var(--isp-container)); margin-inline: auto; }
.isp-section { padding: clamp(54px,7vw,94px) 0; }
.isp-section--white { background: var(--isp-surface); }
.isp-section-title { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.isp-section-title h2 { margin: 0 0 10px; font-size: clamp(2rem,4vw,3rem); line-height: 1.12; }
.isp-section-title p { margin: 0; color: var(--isp-muted); font-size: 1.06rem; }

/* Header / navigation */
.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--isp-border);
  box-shadow:0 3px 20px rgba(68,68,68,.04);
}
.admin-bar .site-header { top:32px; }
.header-inner { min-height:92px; display:flex; align-items:center; gap:clamp(16px,2vw,30px); }
.site-branding { flex:0 0 auto; min-width:max-content; }
.site-title { margin:0; font-size:clamp(1.25rem,2vw,1.6rem); font-weight:900; letter-spacing:-.035em; }
.site-title a { color:var(--isp-primary); text-decoration:none; }
.custom-logo-link { display:flex; align-items:center; }
.custom-logo { max-height:64px; width:auto; }
.primary-navigation { margin-left:auto; }
.primary-menu { list-style:none; display:flex; align-items:center; gap:2px; padding:0; margin:0; }
.primary-menu > .menu-item { position:relative; }
.primary-menu > .menu-item > a,
.nav-item-row > a {
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 10px;
  border-radius:12px;
  color:var(--isp-ink);
  font-weight:850;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.018em;
  font-size:.82rem;
  white-space:nowrap;
}
.primary-menu > .menu-item > a:hover,
.primary-menu > .menu-item > a:focus-visible,
.nav-item-row > a:hover,
.nav-item-row > a:focus-visible { color:var(--isp-ink); background:var(--isp-light-blue,#b5def2); }
.primary-menu > .menu-item.current-menu-item > a,
.primary-menu > .menu-item.current-menu-ancestor .nav-item-row > a { color:var(--isp-ink); background:var(--isp-light-blue,#b5def2); }
.nav-item-row { display:flex; align-items:center; }
.submenu-toggle {
  width:28px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:-8px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--isp-ink);
  cursor:pointer;
}
.submenu-toggle svg { width:15px; height:15px; transition:transform .2s ease; }
.menu-item-has-mega:hover .submenu-toggle,
.menu-item-has-mega:focus-within .submenu-toggle { color:var(--isp-ink); background:var(--isp-light-blue,#b5def2); }
.mega-menu {
  position:fixed;
  left:50%;
  top:92px;
  width:min(calc(100% - 48px),1040px);
  transform:translate(-50%,-8px);
  padding-top:12px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.admin-bar .mega-menu { top:124px; }
.menu-item-has-mega:hover > .mega-menu,
.menu-item-has-mega:focus-within > .mega-menu {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.mega-menu--compact {
  position:absolute;
  left:50%;
  top:100%;
  width:380px;
  padding-top:22px;
  transform:translate(-50%,-8px);
}
.admin-bar .mega-menu--compact { top:100%; }
.mega-menu--compact .mega-menu__inner {
  padding:24px 28px 22px;
  border-radius:0 0 18px 18px;
}
.mega-menu__inner {
  position:relative;
  overflow:hidden;
  padding:28px 34px 24px;
  background:#fff;
  border:1px solid var(--isp-border);
  border-radius:0 0 22px 22px;
  box-shadow:0 22px 48px rgba(68,68,68,.14);
}
.mega-menu__inner:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(var(--isp-primary),var(--isp-secondary),var(--isp-accent));
}
.mega-menu__eyebrow {
  margin:0 0 20px;
  color:var(--isp-ink);
  font-size:.85rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mega-menu__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.mega-menu__column h2 {
  margin:0 0 12px;
  color:var(--isp-ink);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.mega-menu__column ul,
.mega-menu__list { list-style:none; margin:0; padding:0; }
.mega-menu__column li,
.mega-menu__list li { margin:0; }
.mega-menu__column a,
.mega-menu__list a {
  display:block;
  padding:6px 0;
  color:var(--isp-ink);
  font-size:.94rem;
  text-decoration:none;
}
.mega-menu__column a:hover,
.mega-menu__column a:focus-visible,
.mega-menu__list a:hover,
.mega-menu__list a:focus-visible { color:var(--isp-ink); text-decoration:underline; text-decoration-thickness:2px; }
.mega-menu__column .current-menu-item > a,
.mega-menu__list .current-menu-item > a { color:var(--isp-ink); font-weight:850; text-decoration:underline; text-decoration-thickness:2px; }
.mega-menu__grid--lists { gap:28px 50px; }
.mega-menu__list--compact a { padding:8px 0; }
.mega-menu__all {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:20px;
  color:var(--isp-ink);
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:underline;
  text-decoration-color:var(--isp-primary);
  text-decoration-thickness:3px;
  text-underline-offset:4px;
  text-transform:uppercase;
}
.mega-menu__all:hover span { transform:translateX(3px); }
.mega-menu__all span { transition:transform .18s ease; }
.menu-toggle {
  display:none;
  width:48px;
  height:48px;
  margin-left:auto;
  border:1px solid var(--isp-border);
  border-radius:50%;
  background:#fff;
  color:var(--isp-ink);
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.menu-toggle svg { width:24px; height:24px; }
.header-search { flex:0 0 auto; }
.search-toggle {
  position:relative;
  display:inline-flex;
  width:52px;
  height:52px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:var(--isp-primary);
  color:var(--isp-ink);
  cursor:pointer;
  box-shadow:0 8px 18px rgba(115,192,238,.25);
}
.search-toggle:after {
  content:"";
  position:absolute;
  inset:5px;
  border:1px dashed rgba(68,68,68,.68);
  border-radius:50%;
  pointer-events:none;
}
.search-toggle svg { width:25px; height:25px; }
.search-toggle:hover { transform:translateY(-1px); }
.search-panel { display:none; padding:18px 0; border-top:1px solid var(--isp-border); background:var(--isp-light-blue,#b5def2); }
.search-panel.is-open { display:block; }
.search-panel__inner { display:flex; align-items:center; gap:10px; }
.search-form { display:flex; gap:8px; width:min(100%,760px); margin:auto; }
.search-form label { flex:1; }
.search-field {
  width:100%;
  min-height:52px;
  border:1px solid rgba(68,68,68,.12);
  border-radius:999px;
  padding:11px 20px;
  background:#fff;
  color:var(--isp-ink);
  box-shadow:0 8px 24px rgba(68,68,68,.05);
}
.search-submit {
  min-height:52px;
  border:0;
  border-radius:999px;
  padding:10px 24px;
  background:var(--isp-secondary);
  color:var(--isp-ink);
  font-weight:850;
  cursor:pointer;
}
.search-close {
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--isp-ink);
  cursor:pointer;
}
.search-close svg { width:20px; height:20px; }

/* Homepage */
.home-main { overflow:hidden; }
.isp-hero {
  position:relative;
  overflow:hidden;
  padding:clamp(64px,8vw,112px) 0 clamp(72px,8vw,118px);
  background:
    radial-gradient(circle at 88% 18%, rgba(235,191,122,.38) 0 9%, transparent 9.5%),
    radial-gradient(circle at 5% 82%, rgba(237,115,164,.16) 0 11%, transparent 11.5%),
    linear-gradient(135deg,#fff 0%,#f4fbff 52%,rgba(181,222,242,.74) 100%);
}
.isp-hero:after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:36px;
  background:#fff;
  clip-path:ellipse(58% 28% at 50% 100%);
}
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(380px,.86fr); gap:clamp(42px,7vw,92px); align-items:center; }
.hero-eyebrow,.section-kicker { display:inline-flex; align-items:center; gap:8px; margin-bottom:15px; color:#438fbc; font-size:.78rem; font-weight:900; letter-spacing:.11em; line-height:1.25; text-transform:uppercase; }
.hero-eyebrow { padding:9px 13px; border:1px solid rgba(115,192,238,.32); border-radius:999px; background:rgba(255,255,255,.88); box-shadow:0 10px 30px rgba(68,68,68,.06); }
.hero-eyebrow__icon,.button-icon,.value-card__icon,.discovery-card__icon,.card-placeholder,.hero-float,.discovery-tile span { display:inline-flex; align-items:center; justify-content:center; }
.hero-eyebrow__icon svg { width:16px; height:16px; fill:var(--isp-accent); }
.hero-copy h1 { margin:0 0 20px; max-width:720px; color:var(--isp-ink); font-size:clamp(3rem,6.4vw,5.65rem); font-weight:950; line-height:.97; letter-spacing:-.06em; text-wrap:balance; }
.hero-copy p { max-width:650px; margin:0 0 30px; color:#686668; font-size:clamp(1.08rem,1.8vw,1.3rem); line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.isp-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:54px; padding:13px 21px; border:2px solid transparent; border-radius:15px; font-weight:900; line-height:1.2; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease; }
.isp-button:hover { transform:translateY(-2px); }
.isp-button--primary { background:var(--isp-primary); color:var(--isp-ink); box-shadow:0 13px 26px rgba(115,192,238,.30); }
.isp-button--primary:hover { color:var(--isp-ink); background:#b5def2; }
.isp-button--secondary { background:#fff; color:var(--isp-ink); border-color:var(--isp-border); box-shadow:0 8px 20px rgba(68,68,68,.05); }
.isp-button--secondary:hover { color:var(--isp-primary); border-color:rgba(115,192,238,.7); }
.isp-button--white { background:#fff; color:#3e96ca; box-shadow:0 12px 24px rgba(68,68,68,.12); }
.isp-button--white:hover { color:#337fac; }
.button-icon svg { width:18px; height:18px; fill:currentColor; }
.button-icon--end { margin-left:2px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:12px 20px; padding:0; margin:24px 0 0; list-style:none; color:#666; font-size:.9rem; font-weight:750; }
.hero-proof li { display:flex; align-items:center; gap:7px; }
.hero-proof li span { width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:#438fbc; box-shadow:0 5px 14px rgba(68,68,68,.07); }
.hero-proof svg { width:13px; height:13px; fill:currentColor; }
.hero-discovery { position:relative; min-height:450px; display:grid; place-items:center; }
.hero-discovery__blob { position:absolute; width:92%; aspect-ratio:1; border-radius:48% 52% 58% 42% / 43% 42% 58% 57%; background:rgba(237,115,164,.17); transform:rotate(-7deg); }
.hero-discovery__card--main { position:relative; z-index:2; width:min(100%,470px); padding:clamp(24px,4vw,34px); border:1px solid rgba(255,255,255,.85); border-radius:32px; background:rgba(255,255,255,.96); box-shadow:0 28px 70px rgba(68,68,68,.14); }
.discovery-kicker { display:inline-block; margin-bottom:8px; color:var(--isp-secondary); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.hero-discovery h2 { margin:0 0 9px; font-size:clamp(1.6rem,2.6vw,2.25rem); line-height:1.12; letter-spacing:-.035em; }
.hero-discovery p { margin:0 0 22px; color:var(--isp-muted); }
.discovery-tiles { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.discovery-tile { min-height:118px; padding:17px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid transparent; border-radius:20px; color:var(--isp-ink); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.discovery-tile:hover { transform:translateY(-3px); box-shadow:0 12px 22px rgba(68,68,68,.08); }
.discovery-tile span { width:38px; height:38px; border-radius:12px; background:rgba(255,255,255,.75); }
.discovery-tile svg { width:19px; height:19px; fill:currentColor; }
.discovery-tile strong { font-size:.95rem; }
.discovery-tile--blue { background:#eaf7fe; color:#418bb7; }
.discovery-tile--pink { background:#fdebf3; color:#c85886; }
.discovery-tile--yellow { background:#fff7e8; color:#9a7440; }
.hero-float { position:absolute; z-index:3; width:54px; height:54px; border-radius:18px; box-shadow:0 10px 26px rgba(68,68,68,.14); }
.hero-float svg { width:24px; height:24px; fill:currentColor; }
.hero-float--one { top:5%; right:0; color:#c08d45; background:#fff3d9; transform:rotate(9deg); }
.hero-float--two { left:0; bottom:8%; color:#c85886; background:#fde6f0; transform:rotate(-8deg); }

.home-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:34px; }
.home-section-head > div { max-width:720px; }
.home-section-head--center { justify-content:center; text-align:center; }
.home-section-head h2 { margin:0 0 9px; font-size:clamp(2.05rem,4vw,3.35rem); line-height:1.05; letter-spacing:-.045em; text-wrap:balance; }
.home-section-head p { margin:0; color:var(--isp-muted); font-size:1.04rem; }
.section-view-all,.text-link { display:inline-flex; align-items:center; gap:7px; color:#438fbc; font-weight:900; text-decoration:none; white-space:nowrap; }
.section-view-all svg,.text-link svg { width:17px; height:17px; fill:currentColor; transition:transform .18s ease; }
.section-view-all:hover svg,.text-link:hover svg { transform:translateX(4px); }
.text-link--large { margin-top:auto; font-size:1.02rem; }

.home-popular { background:#fff; }
.popular-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.popular-card { min-width:0; overflow:hidden; border:1px solid var(--isp-border); border-radius:24px; background:#fff; box-shadow:0 9px 28px rgba(68,68,68,.055); transition:transform .2s ease,box-shadow .2s ease; }
.popular-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(68,68,68,.10); }
.popular-card__link { display:block; height:100%; color:inherit; text-decoration:none; }
.popular-card__media { position:relative; aspect-ratio:4/3; overflow:hidden; display:grid; place-items:center; background:linear-gradient(145deg,#edf8fe,#fff5e4); }
.popular-card:nth-child(2n) .popular-card__media { background:linear-gradient(145deg,#fdebf3,#fff); }
.popular-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.popular-card:hover .popular-card__media img { transform:scale(1.035); }
.popular-card__badge { position:absolute; top:14px; left:14px; padding:6px 10px; border-radius:999px; background:#fff; color:#c85886; font-size:.71rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; box-shadow:0 5px 14px rgba(68,68,68,.08); }
.card-placeholder { width:72px; height:72px; border-radius:24px; background:rgba(255,255,255,.82); color:#438fbc; box-shadow:0 12px 26px rgba(68,68,68,.07); }
.card-placeholder svg { width:34px; height:34px; fill:currentColor; }
.popular-card__body { padding:20px; }
.popular-card__body h3 { margin:0 0 8px; font-size:1.13rem; line-height:1.25; }
.popular-card__body p { margin:0 0 14px; color:var(--isp-muted); font-size:.92rem; }

.browse-age { background:#f8fcff; border-block:1px solid #edf7fc; }
.age-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.age-card { position:relative; min-height:148px; padding:20px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--isp-border); border-radius:22px; background:#fff; color:var(--isp-ink); text-align:center; text-decoration:none; box-shadow:0 8px 20px rgba(68,68,68,.035); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.age-card:hover { transform:translateY(-4px); border-color:rgba(115,192,238,.72); box-shadow:0 14px 28px rgba(68,68,68,.08); }
.age-card:nth-child(3n+2) { background:#fffafd; }
.age-card:nth-child(3n) { background:#fffdf8; }
.age-card__number { color:#438fbc; font-size:1.55rem; font-weight:950; letter-spacing:-.04em; }
.age-card__label { margin-top:2px; color:#6f6c6e; font-size:.82rem; font-weight:800; }
.age-card__arrow { position:absolute; right:12px; bottom:12px; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#edf8fe; color:#438fbc; opacity:0; transform:translateX(-4px); transition:opacity .18s ease,transform .18s ease; }
.age-card:hover .age-card__arrow,.age-card:focus-visible .age-card__arrow { opacity:1; transform:none; }
.age-card__arrow svg { width:12px; height:12px; fill:currentColor; }

.discovery-section { position:relative; }
.discovery-section--blue { background:#fff; }
.discovery-section--pink { background:linear-gradient(180deg,#fff 0%,#fffafd 100%); }
.discovery-section--yellow { background:linear-gradient(180deg,#fffdf8 0%,#fff 100%); }
.discovery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.discovery-card { position:relative; min-height:220px; padding:22px; display:flex; flex-direction:column; border:1px solid var(--isp-border); border-radius:23px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 8px 24px rgba(68,68,68,.045); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.discovery-card:hover { transform:translateY(-5px); border-color:rgba(115,192,238,.52); box-shadow:0 18px 38px rgba(68,68,68,.09); }
.discovery-card__icon { width:50px; height:50px; margin-bottom:28px; border-radius:17px; background:#eaf7fe; color:#438fbc; }
.discovery-section--pink .discovery-card__icon { background:#fdebf3; color:#c85886; }
.discovery-section--yellow .discovery-card__icon { background:#fff5df; color:#9a7440; }
.discovery-card__icon svg { width:24px; height:24px; fill:currentColor; }
.discovery-card h3 { margin:0 0 7px; font-size:1.14rem; line-height:1.25; }
.discovery-card p { margin:0; color:var(--isp-muted); font-size:.92rem; }
.discovery-card__arrow { position:absolute; right:17px; top:23px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#9d999b; background:#fafafa; transition:color .18s ease,transform .18s ease; }
.discovery-card:hover .discovery-card__arrow { color:#438fbc; transform:translateX(2px); }
.discovery-card__arrow svg { width:13px; height:13px; fill:currentColor; }

.home-value { position:relative; background:#f5fbfe; }
.home-value:before { content:""; position:absolute; width:280px; height:280px; right:-130px; top:40px; border-radius:50%; background:rgba(237,115,164,.11); }
.value-intro { position:relative; max-width:820px; margin:0 auto 44px; text-align:center; }
.value-intro h2 { margin:0 0 15px; font-size:clamp(2.2rem,4.7vw,4rem); line-height:1.02; letter-spacing:-.052em; text-wrap:balance; }
.value-intro > p { max-width:700px; margin:0 auto 24px; color:var(--isp-muted); font-size:1.08rem; }
.value-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.value-card { position:relative; min-height:100%; padding:clamp(24px,3vw,34px); display:flex; flex-direction:column; border:1px solid var(--isp-border); border-radius:26px; background:#fff; box-shadow:0 10px 26px rgba(68,68,68,.045); }
.value-card__number { position:absolute; top:22px; right:24px; color:#d7d4d5; font-size:.82rem; font-weight:900; letter-spacing:.12em; }
.value-card__icon { width:52px; height:52px; margin-bottom:20px; border-radius:18px; background:#eaf7fe; color:#438fbc; }
.value-card:nth-child(2) .value-card__icon { background:#fdebf3; color:#c85886; }
.value-card:nth-child(3) .value-card__icon { background:#fff5df; color:#9a7440; }
.value-card:nth-child(4) .value-card__icon { background:#eaf7fe; color:#438fbc; }
.value-card__icon svg { width:25px; height:25px; fill:currentColor; }
.value-card h3 { margin:0 0 11px; font-size:1.35rem; line-height:1.2; letter-spacing:-.025em; }
.value-card p { margin:0 0 10px; color:var(--isp-muted); }
.value-card--cta { background:linear-gradient(145deg,#fff 0%,#edf8fe 100%); }

.popular-articles { background:#fff; }
.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.article-card { overflow:hidden; border:1px solid var(--isp-border); border-radius:25px; background:#fff; box-shadow:0 9px 26px rgba(68,68,68,.05); }
.article-card__media { aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#edf8fe,#fff5e4); }
.article-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.article-card:hover .article-card__media img { transform:scale(1.035); }
.article-card__body { padding:22px; }
.article-card__meta { display:block; margin-bottom:7px; color:#aaa5a8; font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.article-card h3 { margin:0 0 9px; font-size:1.26rem; line-height:1.22; }
.article-card h3 a { color:var(--isp-ink); text-decoration:none; }
.article-card p { margin:0 0 15px; color:var(--isp-muted); font-size:.94rem; }
.article-empty { grid-column:1/-1; padding:44px; border:1px dashed #cfdfea; border-radius:24px; text-align:center; background:#f9fdff; }
.article-empty > span { width:58px; height:58px; margin:0 auto 14px; display:grid; place-items:center; border-radius:18px; background:#eaf7fe; color:#438fbc; }
.article-empty svg { width:28px; height:28px; fill:currentColor; }
.article-empty h3 { margin:0 0 6px; }
.article-empty p { margin:0; color:var(--isp-muted); }

.library-section { padding-top:clamp(36px,5vw,72px); background:#fff; }
.library-cta { position:relative; overflow:hidden; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,6vw,76px); align-items:center; padding:clamp(34px,6vw,68px); border-radius:34px; background:linear-gradient(135deg,#68b9e8 0%,#73c0ee 55%,#8bcdf2 100%); color:#fff; box-shadow:0 24px 60px rgba(115,192,238,.24); }
.library-cta:after { content:""; position:absolute; width:260px; height:260px; right:-100px; top:-110px; border-radius:50%; background:rgba(235,191,122,.34); }
.library-cta__visual { position:relative; min-height:270px; z-index:1; }
.library-sheet { position:absolute; width:150px; aspect-ratio:4/5; display:grid; place-items:center; border:8px solid #fff; border-radius:18px; background:#fff; box-shadow:0 16px 32px rgba(68,68,68,.18); }
.library-sheet svg { width:54px; height:54px; fill:currentColor; }
.library-sheet--one { left:8%; top:14%; color:#438fbc; background:#eaf7fe; transform:rotate(-9deg); }
.library-sheet--two { left:34%; top:4%; color:#c85886; background:#fdebf3; transform:rotate(4deg); }
.library-sheet--three { left:52%; top:20%; color:#9a7440; background:#fff5df; transform:rotate(10deg); }
.library-cta__copy { position:relative; z-index:2; }
.section-kicker--light { color:rgba(255,255,255,.88); }
.library-cta h2 { margin:0 0 13px; max-width:650px; font-size:clamp(2.1rem,4vw,3.65rem); line-height:1.03; letter-spacing:-.05em; }
.library-cta__copy > p { max-width:650px; margin:0 0 18px; color:rgba(255,255,255,.9); font-size:1.05rem; }
.library-benefits { display:grid; gap:7px; padding:0; margin:0 0 24px; list-style:none; }
.library-benefits li { position:relative; padding-left:25px; color:#fff; font-weight:750; }
.library-benefits li:before { content:""; position:absolute; left:0; top:.58em; width:10px; height:6px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }

.newsletter-section { background:#f8fcff; }
.newsletter-box { max-width:1040px; margin:auto; padding:clamp(30px,5vw,54px); display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(28px,5vw,64px); align-items:center; border:1px solid #e3f1f8; border-radius:30px; background:#fff; box-shadow:0 16px 44px rgba(68,68,68,.07); }
.newsletter-copy h2 { margin:0 0 12px; font-size:clamp(2rem,3.6vw,3rem); line-height:1.08; letter-spacing:-.045em; }
.newsletter-copy p { margin:0; color:var(--isp-muted); }
.newsletter-form-wrap { min-width:0; }
.newsletter-form-wrap form { margin:0; }
.newsletter-form-wrap input[type="email"],.newsletter-form-wrap input[type="text"] { width:100%; min-height:52px; padding:12px 14px; border:1px solid var(--isp-border); border-radius:13px; background:#fff; color:var(--isp-ink); }
.newsletter-form-wrap input[type="submit"],.newsletter-form-wrap button[type="submit"] { min-height:50px; padding:12px 18px; border:0; border-radius:13px; background:var(--isp-secondary); color:#fff; font-weight:900; cursor:pointer; }
.newsletter-form-wrap small { display:block; margin-top:10px; color:#aaa5a8; font-size:.78rem; }
.newsletter-placeholder { padding:18px; border:1px dashed #cfdfea; border-radius:16px; background:#f9fdff; }
.newsletter-placeholder strong,.newsletter-placeholder span { display:block; }
.newsletter-placeholder strong { margin-bottom:4px; color:var(--isp-ink); }
.newsletter-placeholder span { color:var(--isp-muted); font-size:.88rem; }

/* Content */
.site-main { min-height:50vh; }
.content-wrap { padding:58px 0 84px; }
.entry-header,.entry-content,.post-navigation,.comments-area { width:min(calc(100% - 32px),860px); margin-inline:auto; }
.entry-title { font-size:clamp(2.2rem,5vw,4rem); line-height:1.08; letter-spacing:-.035em; }
.entry-content { font-size:1.06rem; }
.entry-content h2,.entry-content h3 { line-height:1.2; }
.entry-content img { border-radius:18px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.post-card { padding:20px; border:1px solid var(--isp-border); border-radius:20px; background:#fff; }
.post-card h2 { font-size:1.25rem; margin:0 0 8px; }
.post-card a { color:var(--isp-ink); text-decoration:none; }
.archive-layout { display:grid; gap:32px; }
.archive-header { max-width:760px; }
.archive-title { margin:0; color:var(--isp-ink); font-size:clamp(2.25rem,5vw,4rem); line-height:1.05; letter-spacing:-.04em; }
.archive-description { margin-top:14px; color:var(--isp-ink); font-size:1.05rem; }
.archive-description > *:last-child { margin-bottom:0; }
.archive-posts { align-items:stretch; }
.archive-card { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.archive-card__media { display:block; aspect-ratio:16/10; overflow:hidden; background:#f7fbfd; }
.archive-card__media img { width:100%; height:100%; object-fit:cover; display:block; border-radius:0; transition:transform .2s ease; }
.archive-card__media:hover img { transform:scale(1.02); }
.archive-card__body { display:flex; flex:1; flex-direction:column; padding:20px; }
.archive-card__meta { margin:0 0 8px; color:var(--isp-ink); font-size:.82rem; }
.archive-card__body > p:not(.archive-card__meta) { color:var(--isp-ink); }
.archive-card__link { margin-top:auto; padding-top:10px; color:var(--isp-ink)!important; font-weight:800; text-decoration:underline; text-decoration-color:var(--isp-primary); text-decoration-thickness:3px; }
.archive-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.archive-pagination .page-numbers { min-width:42px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--isp-border); border-radius:12px; color:var(--isp-ink); text-decoration:none; background:#fff; }
.archive-pagination .page-numbers.current { background:var(--isp-primary); border-color:var(--isp-primary); color:var(--isp-ink); }
.archive-empty { max-width:760px; padding:32px; border:1px solid var(--isp-border); border-radius:22px; background:#fff; }
.archive-empty h2 { margin-top:0; color:var(--isp-ink); }
.archive-empty p { color:var(--isp-muted); }
/* Single posts and standard pages */
.single-article,.standard-page { width:100%; }
.single-entry-header,.page-entry-header { padding-top:8px; padding-bottom:24px; }
.entry-kicker { margin-bottom:12px; color:var(--isp-primary); font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.entry-kicker a { color:inherit; text-decoration:none; }
.entry-kicker a:hover,.entry-kicker a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.entry-title { margin:0; color:var(--isp-ink); }
.entry-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; color:#6f6b6d; font-size:.9rem; }
.entry-meta a { color:var(--isp-ink); font-weight:700; text-decoration:none; }
.entry-meta a:hover,.entry-meta a:focus-visible { color:var(--isp-primary); text-decoration:underline; text-underline-offset:3px; }
.entry-featured-image { width:min(calc(100% - 32px),980px); margin:8px auto 38px; }
.entry-featured-image img { display:block; width:100%; height:auto; border-radius:24px; }
.entry-content { color:var(--isp-ink); line-height:1.75; }
.entry-content > *:first-child { margin-top:0; }
.entry-content > *:last-child { margin-bottom:0; }
.entry-content p,.entry-content ul,.entry-content ol,.entry-content blockquote,.entry-content table { margin-top:0; margin-bottom:1.35em; }
.entry-content h2 { margin-top:1.75em; margin-bottom:.65em; font-size:clamp(1.65rem,3vw,2.35rem); color:var(--isp-ink); }
.entry-content h3 { margin-top:1.55em; margin-bottom:.6em; font-size:clamp(1.3rem,2.4vw,1.7rem); color:var(--isp-ink); }
.entry-content h4 { margin-top:1.4em; margin-bottom:.55em; color:var(--isp-ink); }
.entry-content a { color:#2378aa; text-decoration-thickness:1.5px; text-underline-offset:3px; }
.entry-content a:hover,.entry-content a:focus-visible { color:#a43f6c; }
.entry-content ul,.entry-content ol { padding-left:1.35em; }
.entry-content li + li { margin-top:.35em; }
.entry-content blockquote { padding:18px 22px; border-left:4px solid var(--isp-secondary); border-radius:0 14px 14px 0; background:#fff8fb; }
.entry-content blockquote > *:last-child { margin-bottom:0; }
.entry-content table { width:100%; border-collapse:collapse; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.entry-content th,.entry-content td { padding:12px 14px; border:1px solid var(--isp-border); text-align:left; vertical-align:top; }
.entry-content th { background:#f4fbff; color:var(--isp-ink); }
.entry-content iframe,.entry-content video { max-width:100%; }
.page-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.page-links a,.page-links > span { min-width:40px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--isp-border); border-radius:10px; text-decoration:none; }
.post-tags { width:min(calc(100% - 32px),860px); margin:34px auto 0; padding-top:22px; border-top:1px solid var(--isp-border); display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.post-tags__label { color:var(--isp-ink); font-weight:800; }
.post-tags a { display:inline-flex; padding:7px 11px; border-radius:999px; background:#f4fbff; color:#336f92; font-size:.84rem; text-decoration:none; }
.post-tags a:hover,.post-tags a:focus-visible { background:var(--isp-light-blue); color:var(--isp-ink); }
.single-post-navigation { width:min(calc(100% - 32px),860px); margin:44px auto 0; }
.single-post-navigation .nav-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.single-post-navigation .nav-previous,.single-post-navigation .nav-next { min-width:0; }
.single-post-navigation .nav-next { text-align:right; }
.single-post-navigation a { height:100%; display:flex; flex-direction:column; gap:5px; padding:18px; border:1px solid var(--isp-border); border-radius:16px; color:var(--isp-ink); text-decoration:none; background:#fff; }
.single-post-navigation a:hover,.single-post-navigation a:focus-visible { border-color:var(--isp-primary); box-shadow:0 8px 24px rgba(68,68,68,.06); }
.post-nav-label { color:#6f6b6d; font-size:.78rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.post-nav-title { font-weight:800; line-height:1.35; }
.comments-area { margin-top:48px; padding-top:32px; border-top:1px solid var(--isp-border); }
.comments-area .comments-title,.comments-area .comment-reply-title { color:var(--isp-ink); }
.comments-area input:not([type="submit"]),.comments-area textarea { width:100%; border:1px solid var(--isp-border); border-radius:12px; padding:12px 14px; color:var(--isp-ink); background:#fff; }
.comments-area input[type="submit"] { min-height:46px; padding:11px 18px; border:0; border-radius:12px; background:var(--isp-primary); color:#fff; font-weight:800; cursor:pointer; }
.comments-area input[type="submit"]:hover,.comments-area input[type="submit"]:focus-visible { background:var(--isp-light-blue); color:var(--isp-ink); }
.comment-list { list-style:none; padding:0; margin:24px 0 32px; }
.comment-list .comment { margin:0 0 18px; padding:20px; border:1px solid var(--isp-border); border-radius:18px; background:#fff; }
.comment-list .children { list-style:none; margin:18px 0 0 24px; padding:0; }
.comment-author { display:flex; align-items:center; gap:10px; }
.comment-author .avatar { border-radius:50%; }
.comment-metadata { margin:7px 0 12px; font-size:.84rem; color:var(--isp-ink); }
.comment-metadata a,.comment-reply-link { color:var(--isp-ink); }
.comment-content > *:last-child { margin-bottom:0; }
.comment-navigation { display:flex; justify-content:space-between; gap:16px; margin:20px 0 28px; }
.comment-navigation a { color:var(--isp-ink); font-weight:800; }
.comment-notes,.comments-closed { color:var(--isp-ink); }
.comment-form label { display:block; margin-bottom:6px; color:var(--isp-ink); font-weight:750; }
.comment-form-cookies-consent { display:flex; gap:9px; align-items:flex-start; }
.comment-form-cookies-consent input { width:auto!important; margin-top:.35em; }
.comment-form-cookies-consent label { font-weight:500; }

/* Search and 404 states */
.search-results-header { max-width:800px; margin-bottom:34px; }
.search-results-kicker { margin:0 0 8px; color:var(--isp-ink); font-size:.78rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.search-results-title { margin:0 0 10px; color:var(--isp-ink); font-size:clamp(2.25rem,5vw,4rem); line-height:1.05; letter-spacing:-.04em; }
.search-results-header > p:not(.search-results-kicker) { color:var(--isp-ink); }
.search-results-form { max-width:680px; margin-top:20px; }
.search-results-form .search-form,.error-404-search .search-form,.archive-empty .search-form { display:flex; gap:10px; }
.search-results-form label,.error-404-search label,.archive-empty .search-form label { flex:1; }
.search-results-form .search-field,.error-404-search .search-field,.archive-empty .search-field { width:100%; min-height:52px; padding:11px 16px; border:1px solid var(--isp-border); border-radius:999px; color:var(--isp-ink); background:#fff; }
.search-result-card { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.search-result-card__media { display:block; aspect-ratio:16/10; overflow:hidden; background:#f4fbff; }
.search-result-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.search-result-card__body { display:flex; flex:1; flex-direction:column; padding:20px; }
.search-result-card__type { margin:0 0 8px; color:var(--isp-ink); font-size:.76rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.search-result-card__body > p:not(.search-result-card__type) { color:var(--isp-ink); }
.search-result-card__link { margin-top:auto; padding-top:10px; color:#2378aa!important; font-weight:850; }
.search-empty,.error-404-card { max-width:820px; margin-inline:auto; padding:clamp(28px,5vw,52px); border:1px solid var(--isp-border); border-radius:28px; background:linear-gradient(145deg,#fff,#f4fbff); box-shadow:0 14px 38px rgba(68,68,68,.06); }
.search-empty h2,.error-404-card h1 { margin-top:0; color:var(--isp-ink); }
.search-empty p,.error-404-card > p:not(.error-404-code) { color:var(--isp-ink); }
.search-empty__links,.error-404-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.search-empty__links a,.error-404-links a { display:inline-flex; align-items:center; min-height:44px; padding:9px 14px; border:1px solid var(--isp-border); border-radius:999px; background:#fff; color:var(--isp-ink); font-weight:800; text-decoration:none; }
.search-empty__links a:hover,.search-empty__links a:focus-visible,.error-404-links a:hover,.error-404-links a:focus-visible { border-color:var(--isp-primary); background:#b5def2; }
.error-404-card { text-align:center; }
.error-404-code { margin:0 0 4px; color:var(--isp-secondary); font-size:clamp(4rem,12vw,7rem); font-weight:950; line-height:.9; letter-spacing:-.07em; }
.error-404-search { max-width:620px; margin:24px auto 0; }
.error-404-links { justify-content:center; }

/* Contrast safeguards using the approved brand palette */
.isp-section-title p,.hero-discovery p,.home-section-head p,.popular-card__body p,.discovery-card p,.value-intro > p,.value-card p,.article-card p,.article-card__meta,.article-empty p,.newsletter-copy p,.newsletter-form-wrap small,.newsletter-placeholder span,.archive-empty p { color:var(--isp-ink); }
.hero-eyebrow,.section-kicker,.discovery-kicker,.section-view-all,.text-link,.popular-card__badge,.card-placeholder,.discovery-card__icon,.discovery-section--pink .discovery-card__icon,.discovery-section--yellow .discovery-card__icon,.discovery-card__arrow,.discovery-card:hover .discovery-card__arrow,.value-card__icon,.value-card:nth-child(2) .value-card__icon,.value-card:nth-child(3) .value-card__icon,.value-card:nth-child(4) .value-card__icon,.article-empty > span { color:var(--isp-ink); }
.isp-button--white,.isp-button--white:hover { color:var(--isp-ink); }
.library-cta { color:var(--isp-ink); }
.section-kicker--light,.library-cta__copy > p,.library-benefits li { color:var(--isp-ink); }
.library-benefits li:before { border-color:var(--isp-ink); }
.newsletter-form-wrap input[type="submit"],.newsletter-form-wrap button[type="submit"],.comments-area input[type="submit"] { color:var(--isp-ink); }
.social-link--pinterest,.back-to-top { color:var(--isp-ink)!important; }

/* Footer */
.site-footer {
  margin-top:auto;
  background:#fff;
  color:var(--isp-ink);
  border-top:1px solid var(--isp-border);
}
.footer-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr 1.15fr;
  gap:0;
  padding:0;
}
.footer-column {
  min-width:0;
  padding:58px clamp(28px,4vw,54px);
}
.footer-column + .footer-column { border-left:1px solid var(--isp-border); }
.footer-brand { text-align:center; }
.site-footer h2,
.site-footer h3 {
  margin:0 0 22px;
  color:var(--isp-ink);
  font-weight:900;
}
.site-footer h2 { font-size:clamp(1.45rem,2.4vw,2rem); letter-spacing:-.035em; }
.site-footer h3 { font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; }
.footer-brand p { max-width:410px; margin:0 auto 22px; color:var(--isp-ink); }
.footer-social { display:flex; justify-content:center; gap:10px; }
.social-link {
  width:50px;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff!important;
  text-decoration:none;
  position:relative;
}
.social-link:after {
  content:"";
  position:absolute;
  inset:5px;
  border:1px dashed rgba(255,255,255,.85);
  border-radius:50%;
}
.social-link svg { position:relative; z-index:1; width:23px; height:23px; }
.social-link--pinterest { background:var(--isp-secondary); }
.footer-menu { list-style:none; padding:0; margin:0; }
.footer-menu li { margin:.45rem 0; }
.footer-menu a { color:var(--isp-ink); text-decoration:none; }
.footer-menu a:hover,
.footer-menu a:focus-visible { color:var(--isp-ink); text-decoration:underline; text-decoration-color:var(--isp-primary); text-decoration-thickness:3px; }
.footer-menu .current-menu-item > a { font-weight:850; text-decoration:underline; text-decoration-color:var(--isp-primary); text-decoration-thickness:3px; }
.footer-bottom { border-top:1px solid var(--isp-border); background:#fff; }
.footer-bottom__inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-bottom p { margin:0; color:var(--isp-ink); font-size:.9rem; }
.back-to-top {
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--isp-primary);
  color:#fff!important;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(115,192,238,.24);
}
.back-to-top svg { width:23px; height:23px; }

@media (max-width:1120px) {
  .header-inner { gap:12px; }
  .primary-menu > .menu-item > a,
  .nav-item-row > a { padding-inline:7px; font-size:.76rem; }
  .popular-grid,.discovery-grid { grid-template-columns:repeat(2,1fr); }
  .age-grid { grid-template-columns:repeat(4,1fr); }
  .hero-grid { grid-template-columns:1fr minmax(360px,.8fr); }
}

@media (max-width:960px) {
  .admin-bar .site-header { top:46px; }
  .header-inner { min-height:76px; }
  .menu-toggle { display:inline-flex; }
  .header-search { order:2; }
  .primary-navigation {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    margin:0;
    background:#fff;
    border-bottom:1px solid var(--isp-border);
    box-shadow:0 16px 28px rgba(68,68,68,.08);
    display:none;
    max-height:calc(100vh - 76px);
    overflow:auto;
  }
  .primary-navigation.is-open { display:block; }
  .primary-menu { display:block; width:min(calc(100% - 32px),var(--isp-container)); margin:12px auto 20px; }
  .primary-menu > .menu-item > a,
  .nav-item-row > a { padding:12px 8px; min-height:50px; font-size:.86rem; }
  .nav-item-row { justify-content:space-between; }
  .nav-item-row > a { flex:1; }
  .submenu-toggle { width:48px; height:48px; margin:0; }
  .submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .mega-menu,
  .mega-menu--compact,
  .admin-bar .mega-menu,
  .admin-bar .mega-menu--compact {
    position:static;
    width:100%;
    padding:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    display:none;
  }
  .mega-menu.is-mobile-open { display:block; }
  .menu-item-has-mega:hover > .mega-menu,
  .menu-item-has-mega:focus-within > .mega-menu { display:none; transform:none; }
  .menu-item-has-mega > .mega-menu.is-mobile-open { display:block; }
  .mega-menu__inner { padding:18px; border:1px solid var(--isp-border); border-radius:16px; box-shadow:none; background:#fafdff; }
  .mega-menu__inner:before { width:4px; }
  .mega-menu__grid { grid-template-columns:1fr 1fr 1fr; gap:20px; }
  .mega-menu__eyebrow { margin-bottom:14px; }
  .mega-menu__column a { padding:7px 0; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { max-width:760px; }
  .hero-discovery { width:min(100%,620px); min-height:420px; margin-inline:auto; }
  .home-section-head { align-items:flex-start; }
  .article-grid { grid-template-columns:1fr 1fr; }
  .article-card:last-child { grid-column:1 / -1; }
  .library-cta { grid-template-columns:1fr; }
  .library-cta__visual { width:min(100%,480px); }
  .newsletter-box { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-column:nth-child(3) { grid-column:1 / -1; border-left:0; border-top:1px solid var(--isp-border); }
}

@media (max-width:700px) {
  .isp-container { width:min(calc(100% - 24px),var(--isp-container)); }
  .header-inner { min-height:70px; gap:9px; }
  .custom-logo { max-height:48px; }
  .site-title { font-size:1.05rem; }
  .search-toggle { width:46px; height:46px; }
  .mega-menu__grid { grid-template-columns:1fr; gap:18px; }
  .mega-menu__column + .mega-menu__column { padding-top:16px; border-top:1px solid var(--isp-border); }
  .search-panel__inner { align-items:flex-start; }
  .search-form { flex-direction:column; }
  .search-submit { width:100%; }
  .isp-hero { padding-top:48px; }
  .hero-copy h1 { font-size:clamp(2.65rem,14vw,4.3rem); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .isp-button { width:100%; }
  .hero-proof { gap:9px 14px; }
  .hero-discovery { min-height:auto; display:block; margin-top:8px; }
  .hero-discovery__blob,.hero-float { display:none; }
  .hero-discovery__card--main { width:100%; border-radius:24px; }
  .home-section-head { display:block; }
  .section-view-all { margin-top:14px; white-space:normal; }
  .popular-grid,.discovery-grid,.article-grid,.value-grid,.posts-grid { grid-template-columns:1fr; }
  .article-card:last-child { grid-column:auto; }
  .age-grid { grid-template-columns:repeat(2,1fr); }
  .age-card { min-height:124px; }
  .library-cta { border-radius:26px; }
  .library-cta__visual { min-height:220px; }
  .library-sheet { width:118px; border-width:6px; }
  .library-sheet--one { left:4%; }
  .library-sheet--two { left:31%; }
  .library-sheet--three { left:54%; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-column,
  .footer-column:nth-child(3) { grid-column:auto; border-left:0; border-top:1px solid var(--isp-border); padding:40px 24px; }
  .footer-column:first-child { border-top:0; }
  .footer-brand { text-align:left; }
  .footer-brand p { margin-left:0; }
  .footer-social { justify-content:flex-start; }
  .footer-bottom__inner { min-height:90px; }
  .library-cta .isp-button { width:auto; }
  .newsletter-box { border-radius:24px; }
  .entry-header,.entry-content,.post-navigation,.comments-area,.post-tags,.single-post-navigation { width:min(calc(100% - 24px),860px); }
  .entry-featured-image { width:min(calc(100% - 24px),980px); margin-bottom:28px; }
  .entry-featured-image img { border-radius:18px; }
  .entry-meta { gap:6px; font-size:.84rem; }
  .single-post-navigation .nav-links { grid-template-columns:1fr; }
  .single-post-navigation .nav-next { text-align:left; }
  .entry-content { font-size:1rem; line-height:1.7; }
  .entry-content blockquote { padding:16px 18px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}