/* InSyncKids 5.2.0 professional refinement layer */

:root{
  --ik-focus:0 0 0 4px rgba(7,108,242,.18);
  --ik-card-border:#dce5f1;
  --ik-card-shadow:0 18px 46px rgba(7,27,66,.075);
  --ik-card-shadow-hover:0 24px 58px rgba(7,27,66,.115);
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
.skip-link{position:fixed!important;z-index:10000;top:12px;left:12px;width:auto!important;height:auto!important;padding:12px 16px!important;clip:auto!important;clip-path:none!important;transform:translateY(-140%);border-radius:10px;background:#071b42;color:#fff;font-weight:900;text-decoration:none;transition:transform .16s ease}
.skip-link:focus{transform:translateY(0)}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:0;box-shadow:var(--ik-focus)!important}
.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--blue)}
.primary-nav a{position:relative}
.primary-nav a::after{position:absolute;right:0;bottom:-9px;left:0;height:2px;content:"";transform:scaleX(0);transform-origin:center;border-radius:99px;background:var(--blue);transition:transform .18s ease}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after{transform:scaleX(1)}
.header-actions .icon-link{transition:background .18s ease,transform .18s ease}
.header-actions .icon-link:hover{transform:translateY(-1px);background:#eef5ff}

body.home .ik5-shell{width:min(calc(100% - 56px),1600px)}
body.home .ik5-section{padding:76px 0}
body.home .ik5-kicker{margin-bottom:12px;letter-spacing:.13em}
body.home .ik5-heading{margin-bottom:42px}
body.home .ik5-heading p{max-width:680px;margin-inline:auto}
body.home .ik5-button{border-radius:13px;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
body.home .ik5-button--primary{box-shadow:0 11px 26px rgba(7,108,242,.20)}
body.home .ik5-button--secondary:hover{border-color:#076cf2;background:#f4f8ff}
body.home .ik5-button:active{transform:translateY(0)}

/* Hero: slightly more compact and less image cropping. */
body.home .ik5-hero{padding:20px 0 34px}
body.home .ik5-hero__grid{grid-template-columns:minmax(430px,.88fr) minmax(620px,1.12fr);min-height:480px;border-color:#dde6f2;border-radius:28px;box-shadow:0 22px 58px rgba(7,27,66,.075)}
body.home .ik5-hero__copy{padding:48px 52px 48px 60px}
body.home .ik5-hero__copy h1{font-size:clamp(50px,4.9vw,74px);line-height:1;letter-spacing:-.05em}
body.home .ik5-hero__lead{max-width:590px;margin-top:20px}
body.home .ik5-hero__media{min-height:480px}
body.home .ik5-hero__media img{object-position:57% center}
body.home .ik5-hero__note{max-width:560px;line-height:1.5}

/* Personaliser: reduce unused space while keeping the product dominant. */
body.home .ik6-personaliser{padding:30px 0 54px}
body.home .ik6-personaliser__panel{grid-template-columns:minmax(430px,.9fr) minmax(540px,1.1fr);min-height:500px;border-radius:28px;box-shadow:0 18px 48px rgba(7,27,66,.07)}
body.home .ik6-personaliser__copy{padding:46px 52px 44px 58px}
body.home .ik6-name-field{border-color:#c7d5e8;transition:border-color .18s ease,box-shadow .18s ease}
body.home .ik6-name-field:focus-within{border-color:#076cf2;box-shadow:var(--ik-focus)}
body.home .ik6-name-field input:focus{box-shadow:none!important}
body.home .ik6-character-buttons button{min-height:62px;border-color:#d2ddea}
body.home .ik6-character-buttons button:hover{border-color:#9dbce7;background:#fbfdff}
body.home .ik6-character-buttons button.is-active{border-color:#076cf2;background:#f5f9ff;box-shadow:0 0 0 3px rgba(7,108,242,.10)}
body.home .ik6-personaliser__link{border-bottom:1px solid transparent;transition:border-color .18s ease}
body.home .ik6-personaliser__link:hover{border-bottom-color:currentColor}
body.home .ik6-preview{min-height:500px;padding:26px}
body.home .ik6-preview__art{width:min(370px,70%)}
body.home .ik6-preview__colours{right:24px;bottom:22px}

/* Product cards: equal rhythm, stronger hierarchy, calmer shadows. */
body.home .ik5-buddies{padding-top:76px}
body.home .ik5-buddy-grid{gap:20px}
body.home .ik5-buddy-card{min-height:610px;padding:26px;border-color:var(--ik-card-border);border-radius:26px;box-shadow:var(--ik-card-shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
body.home .ik5-buddy-card__top h3{font-size:30px}
body.home .ik5-buddy-card__image{height:306px;margin:10px 0 14px}
body.home .ik5-buddy-card__description{min-height:48px}
body.home .ik5-buddy-card__use{min-height:62px;margin-bottom:18px}
body.home .ik5-button--card{width:100%;align-self:stretch}
body.home .ik5-colours{margin-bottom:18px}

/* How it works and assurance strip. */
body.home .ik5-how__grid{gap:48px}
body.home .ik5-steps article{min-height:238px;border-color:var(--ik-card-border);box-shadow:0 13px 32px rgba(7,27,66,.052);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
body.home .ik5-trust{padding:20px 0 74px}
body.home .ik5-trust__grid{border-radius:20px;box-shadow:0 12px 30px rgba(7,27,66,.05)}
body.home .ik5-trust article{align-items:flex-start;padding:23px 24px}
body.home .ik5-final__inner{border:1px solid rgba(255,255,255,.08);border-radius:26px;box-shadow:0 20px 54px rgba(7,27,66,.16)}

/* Site-wide commerce and account polish without exposing platform wording. */
.woocommerce ul.products li.product{overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:contain;background:#f8fbff}
.woocommerce div.product{box-shadow:0 18px 48px rgba(7,27,66,.065)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.account-fallback input{border:1px solid #cbd8ea;border-radius:12px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,.account-fallback input:focus{outline:0;border-color:#076cf2;box-shadow:var(--ik-focus)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px;background:#f6f9ff;box-shadow:0 10px 26px rgba(7,27,66,.05)}

.footer-email{word-break:break-word}
.footer-menu a{transition:color .18s ease,transform .18s ease}
.footer-menu a:hover{color:#fff;transform:translateX(2px)}

@media (hover:hover){
  body.home .ik5-buddy-card:hover,body.home .ik5-steps article:hover,.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:#c5d7ed;box-shadow:var(--ik-card-shadow-hover)}
}

@media (max-width:1200px){
  body.home .ik5-shell{width:min(calc(100% - 40px),1100px)}
  body.home .ik5-hero__copy{padding:46px 42px}
  body.home .ik5-hero__media{min-height:420px}
  body.home .ik6-personaliser__copy{padding:42px 38px 24px}
  body.home .ik6-preview{min-height:420px}
  body.home .ik6-preview__art{width:min(330px,66%)}
}

@media (max-width:820px){
  body.home .ik5-shell{width:min(calc(100% - 24px),100%)}
  body.home .ik5-section{padding:58px 0}
  body.home .ik5-hero__copy{padding:34px 24px}
  body.home .ik5-hero__copy h1{font-size:clamp(42px,11vw,58px)}
  body.home .ik5-hero__media{min-height:0;aspect-ratio:16/10}
  body.home .ik5-hero__media img{object-position:60% center}
  body.home .ik6-personaliser__copy{padding:32px 22px 18px}
  body.home .ik6-preview{min-height:350px}
  body.home .ik6-preview__art{width:min(270px,74%)}
  body.home .ik5-buddy-card{padding:24px}
  body.home .ik5-buddy-card__image{height:290px}
  body.home .ik5-final{padding-bottom:64px}
  body.home .ik5-final__inner{padding:32px 24px}
  .primary-nav a::after{display:none}
}

@media (max-width:520px){
  body.home .ik5-hero__media{aspect-ratio:4/3}
  body.home .ik6-character-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.home .ik6-preview{min-height:320px}
  body.home .ik6-preview__art{width:min(245px,78%)}
  body.home .ik6-preview__colours{right:12px;bottom:12px}
  body.home .ik5-buddy-card__image{height:270px}
}

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