/*
Theme Name: Akasha Sky
Theme URI: https://testakashaacademics.dependentmedia.com
Author: Dependent Media
Description: Bright, playful block theme for Akasha Academics (Pompano Beach microschool). Concept: ākāśa is Sanskrit for sky; wings + star from the logo, a sunny Florida sky up top and a starry night in the footer.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: GPLv2 or later
Text Domain: akasha-sky
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--ink: var(--wp--preset--color--ink);
	--night: var(--wp--preset--color--night);
	--teal: var(--wp--preset--color--teal);
	--teal-deep: var(--wp--preset--color--teal-deep);
	--aqua: var(--wp--preset--color--aqua);
	--lime: var(--wp--preset--color--lime);
	--sun: var(--wp--preset--color--sun);
	--coral: var(--wp--preset--color--coral);
	--coral-deep: var(--wp--preset--color--coral-deep);
	--grape: var(--wp--preset--color--grape);
	--pink: var(--wp--preset--color--pink);
	--sky: var(--wp--preset--color--sky);
	--sky-pale: var(--wp--preset--color--sky-pale);
	--cream: var(--wp--preset--color--cream);
	--display: var(--wp--preset--font-family--display);
	--hand: var(--wp--preset--font-family--hand);
	--line: 2.5px solid var(--ink);
	--pop: 5px 5px 0 var(--ink);
	--pop-sm: 3px 3px 0 var(--ink);
	--r-lg: 26px;
	--r-md: 18px;
	--bounce: cubic-bezier(.34, 1.56, .64, 1);
	--tone: var(--sun);
	--tone-soft: #FFF3C9;
}
.ak-tone--sun { --tone: var(--sun); --tone-soft: #FFF3C9; }
.ak-tone--aqua { --tone: var(--aqua); --tone-soft: #E3F6F7; }
.ak-tone--pink { --tone: var(--pink); --tone-soft: #FFE3F1; }
.ak-tone--lime { --tone: var(--lime); --tone-soft: #F1F6D6; }
.ak-tone--sky { --tone: var(--sky); --tone-soft: #DDF3FD; }
.ak-tone--grape { --tone: #B9AAFF; --tone-soft: #ECE7FF; }

/* ==========================================================================
   Base
   ========================================================================== */
html { scroll-behavior: smooth; }
body { background: var(--cream); overflow-x: clip; -webkit-font-smoothing: antialiased; }
::selection { background: var(--sun); color: var(--ink); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--ink); outline-offset: 3px; box-shadow: 0 0 0 7px var(--sun); border-radius: 6px;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { text-wrap: balance; font-variation-settings: "opsz" 96; }
p { text-wrap: pretty; }
.ak-main { padding-top: 0 !important; padding-bottom: 0 !important; }
.ak-main > .wp-block-post-content { margin-top: 0; }
.ak-main > * + * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.ak-skip { position: absolute; left: 1rem; top: -4rem; z-index: 1000; background: var(--sun); color: var(--ink); border: var(--line); border-radius: 999px; padding: .6rem 1.2rem; font-weight: 800; text-decoration: none; }
.ak-skip:focus { top: .75rem; }

/* highlighter swash behind a word */
mark.ak-hl, .ak-hl {
	background: linear-gradient(104deg, transparent .2em, var(--sun) .3em, #FFD866 calc(100% - .35em), transparent calc(100% - .2em)) no-repeat 0 72% / 100% 46%;
	color: inherit; padding: 0 .12em; margin: 0 -.06em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.ak-pagehead--sun mark.ak-hl, .ak-cta mark.ak-hl { background-image: linear-gradient(104deg, transparent .2em, #fff .3em, #fff calc(100% - .35em), transparent calc(100% - .2em)); }

.ak-eyebrow {
	font-family: var(--display); font-weight: 800; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase;
	color: var(--teal-deep); margin-bottom: .6rem !important; display: flex; align-items: center; gap: .5rem;
}
.ak-eyebrow::before { content: ""; width: 1.05em; height: 1.05em; flex: none; background: currentColor; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.ak-sechead--center .ak-eyebrow { justify-content: center; }
.ak-lead { font-size: clamp(1.15rem, 1rem + .5vw, 1.35rem); line-height: 1.55; max-width: 40rem; }
.ak-sub { font-size: 1.2rem; max-width: 44rem; }
.ak-small { font-size: .95rem; }
.ak-center { text-align: center; }
.ak-hand { font-family: var(--hand); font-size: 1.65rem; line-height: 1.2; color: var(--coral-deep); rotate: -2deg; font-weight: 700; }

/* ==========================================================================
   Buttons + pills (chunky, outlined, with a pop shadow)
   ========================================================================== */
.wp-block-button__link, .ak-pill, .nf-form-cont input[type=submit], .nf-form-cont input[type=button] {
	box-shadow: var(--pop-sm); transition: translate .18s var(--bounce), box-shadow .18s var(--bounce), background-color .2s;
}
.wp-block-button__link:hover, .ak-pill:hover, .nf-form-cont input[type=submit]:hover { translate: -2px -2px; box-shadow: 5px 5px 0 var(--ink); }
.wp-block-button__link:active, .ak-pill:active, .nf-form-cont input[type=submit]:active { translate: 2px 2px; box-shadow: 0 0 0 var(--ink); }
.wp-block-button.is-style-white .wp-block-button__link { background: #fff; }
.wp-block-button.is-style-ink .wp-block-button__link { background: var(--ink); color: #fff; box-shadow: 3px 3px 0 var(--sun), 3px 3px 0 2.5px var(--ink); }
.wp-block-button.is-style-ink .wp-block-button__link:hover { box-shadow: 5px 5px 0 var(--sun), 5px 5px 0 2.5px var(--ink); }
.wp-block-button.is-style-link .wp-block-button__link { background: none; border: 0; box-shadow: none; padding: .3rem 0; text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 5px; text-decoration-color: var(--sun); color: var(--ink); }
.wp-block-button.is-style-link .wp-block-button__link::after { content: " →"; display: inline-block; transition: translate .2s var(--bounce); }
.wp-block-button.is-style-link .wp-block-button__link:hover { translate: none; box-shadow: none; }
.wp-block-button.is-style-link .wp-block-button__link:hover::after { translate: 5px 0; }
.wp-block-buttons { gap: .9rem 1rem; }
.ak-pill { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--display); font-weight: 800; text-decoration: none; border: var(--line); border-radius: 999px; padding: .65rem 1.25rem; color: var(--ink); background: #fff; line-height: 1.2; }
.ak-pill--sun { background: var(--sun); }
.ak-pill--ink { background: var(--ink); color: #fff; box-shadow: 3px 3px 0 var(--sun), 3px 3px 0 2.5px var(--ink); }
.ak-pill--ink:hover { color: #fff; box-shadow: 5px 5px 0 var(--sun), 5px 5px 0 2.5px var(--ink); }
.ak-pill--ghost { background: transparent; color: #fff; border-color: #fff; box-shadow: 3px 3px 0 var(--sun); }
.ak-pill--ghost:hover { color: #fff; box-shadow: 5px 5px 0 var(--sun); }
.ak-linkbtn { background: none; border: 0; padding: 0; font: inherit; color: var(--teal-deep); text-decoration: underline; cursor: pointer; }

/* ==========================================================================
   Utility bar + header
   ========================================================================== */
.ak-util { background: var(--ink); color: #fff; font-size: .9rem; padding-block: .45rem; }
.ak-util__row { display: flex; align-items: center; justify-content: space-between; gap: .4rem 1.5rem; flex-wrap: wrap; }
.ak-util p { margin: 0; }
.ak-util a { color: #fff; text-decoration: none; font-weight: 700; }
.ak-util a:hover { color: var(--sun); text-decoration: underline; }
.ak-util__enroll { color: var(--sun); font-weight: 700; }
.ak-now { display: inline-flex; align-items: center; gap: .55rem; }
.ak-now__dot { width: .62rem; height: .62rem; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 3px rgba(255,201,60,.25); flex: none; }
.ak-now.is-live .ak-now__dot { background: #7CE07C; box-shadow: 0 0 0 0 rgba(124,224,124,.6); animation: ak-ping 2s infinite; }
.ak-now.is-off .ak-now__dot { background: var(--aqua); box-shadow: 0 0 0 3px rgba(148,213,216,.25); }
@keyframes ak-ping { 0% { box-shadow: 0 0 0 0 rgba(124,224,124,.7); } 70% { box-shadow: 0 0 0 9px rgba(124,224,124,0); } 100% { box-shadow: 0 0 0 0 rgba(124,224,124,0); } }

.ak-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: var(--line); padding-block: .55rem; }
.admin-bar .ak-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ak-header { top: 46px; } }
.ak-header__row { gap: 1rem; }
.ak-brand { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--ink); flex: none; }
.ak-mark { width: 64px; height: auto; overflow: visible; }
.ak-mark .ak-wing { transform-box: fill-box; transition: rotate .35s var(--bounce); }
.ak-mark .ak-wing--l { transform-origin: 100% 80%; }
.ak-mark .ak-wing--r { transform-origin: 0% 80%; }
.ak-mark .ak-star { transform-box: fill-box; transform-origin: center; transition: rotate .6s var(--bounce), scale .3s var(--bounce); }
.ak-brand:hover .ak-wing--l, .ak-brand:focus-visible .ak-wing--l { rotate: -14deg; }
.ak-brand:hover .ak-wing--r, .ak-brand:focus-visible .ak-wing--r { rotate: 14deg; }
.ak-brand:hover .ak-star { rotate: 72deg; scale: 1.1; }
.ak-header .ak-wing--l { animation: ak-flapL 7s ease-in-out infinite; }
.ak-header .ak-wing--r { animation: ak-flapR 7s ease-in-out infinite; }
@keyframes ak-flapL { 0%, 82%, 100% { rotate: 0deg; } 86% { rotate: -12deg; } 90% { rotate: 2deg; } 94% { rotate: -9deg; } }
@keyframes ak-flapR { 0%, 82%, 100% { rotate: 0deg; } 86% { rotate: 12deg; } 90% { rotate: -2deg; } 94% { rotate: 9deg; } }
.ak-brand__name { display: flex; flex-direction: column; line-height: .95; }
.ak-brand__line1 { font-family: var(--display); font-weight: 800; font-size: 1.75rem; letter-spacing: -.03em; color: var(--ink); }
.ak-brand__line2 { font-family: var(--display); font-weight: 700; font-size: .78rem; letter-spacing: .32em; text-transform: uppercase; color: var(--teal-deep); margin-top: .18rem; }
.ak-brand--light .ak-brand__line1 { color: #fff; }
.ak-brand--light .ak-brand__line2 { color: var(--aqua); }

/* navigation */
.ak-nav .wp-block-navigation-item__content { color: var(--ink); text-decoration: none; padding: .45rem .7rem !important; border-radius: 999px; transition: background-color .2s; }
.ak-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { background: var(--sky-pale); }
.ak-nav .wp-block-navigation__container { gap: .15rem; align-items: center; }
.ak-nav .wp-block-navigation__submenu-container {
	border: var(--line) !important; border-radius: var(--r-md); box-shadow: var(--pop); padding: .5rem !important; min-width: 15.5rem !important; background: #fff !important; margin-top: .4rem;
}
.ak-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: .55rem .8rem !important; border-radius: 12px; font-weight: 600; }
.ak-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sun); }
.ak-nav .wp-block-navigation-submenu__toggle { margin-left: -.35rem; }
.ak-nav .ak-nav__apply > .wp-block-navigation-item__content { background: var(--sun); border: var(--line); box-shadow: var(--pop-sm); padding: .45rem 1.15rem !important; margin-left: .4rem; font-family: var(--display); font-weight: 800; transition: translate .18s var(--bounce), box-shadow .18s; }
.ak-nav .ak-nav__apply > .wp-block-navigation-item__content:hover { background: var(--sun) !important; translate: -2px -2px; box-shadow: 5px 5px 0 var(--ink); }
.ak-nav .wp-block-navigation__responsive-container-open { border: var(--line); border-radius: 14px; padding: .45rem; background: var(--sun); box-shadow: var(--pop-sm); }
.ak-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
.ak-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: linear-gradient(180deg, #8FDCFF 0%, #DDF4FF 55%, var(--cream) 100%) !important; padding: 1.2rem 1.4rem 2rem !important;
}
.ak-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.2rem; align-items: flex-start; gap: .4rem; }
.ak-nav .is-menu-open .wp-block-navigation__container { gap: .3rem !important; align-items: flex-start !important; }
.ak-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--display); font-weight: 800; font-size: 1.55rem; padding: .25rem 0 !important; }
.ak-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: .1rem 0 .5rem 1rem !important; margin: 0 !important; }
.ak-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.15rem; font-family: var(--wp--preset--font-family--body); font-weight: 700; padding: .3rem .6rem !important; }
.ak-nav .is-menu-open .ak-nav__apply > .wp-block-navigation-item__content { margin: .8rem 0 0; padding: .55rem 1.6rem !important; }
.ak-nav .wp-block-navigation__responsive-container-close { border: var(--line); border-radius: 12px; background: #fff; padding: .3rem; }

/* ==========================================================================
   Sections + backgrounds
   ========================================================================== */
.ak-section { position: relative; padding-block: var(--wp--preset--spacing--60); }
.ak-section > * { position: relative; z-index: 1; }
.ak-sechead { margin-bottom: var(--wp--preset--spacing--40); }
.ak-sechead > * { margin-block: 0; }
.ak-sechead h2 { margin-block: .1rem .6rem; }
.ak-sechead--center { text-align: center; }
.ak-sechead--center .ak-sub { margin-inline: auto; }
.ak-sky { background: linear-gradient(180deg, #7FD6FF 0%, #BDEBFF 45%, #E6F7FF 78%, var(--cream) 100%); }
.ak-sunwash { background: linear-gradient(180deg, #FFF4CC 0%, #FFF9E6 100%); }
.ak-aquawash { background: linear-gradient(180deg, #DDF4F4 0%, #EEF9F8 100%); }
.ak-dots { background-color: var(--cream); background-image: radial-gradient(rgba(18,38,74,.09) 1.4px, transparent 1.6px); background-size: 22px 22px; }

/* scalloped cloud edge at the bottom of a bright band */
.ak-cloudedge { position: relative; }
.ak-cloudedge::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 38px; z-index: 2; pointer-events: none;
	background:
		radial-gradient(circle at 50% 100%, var(--cream) 27px, transparent 28px) 0 100% / 70px 38px repeat-x,
		radial-gradient(circle at 50% 100%, var(--cream) 17px, transparent 18px) 35px 100% / 70px 30px repeat-x;
}

/* sky decor: sun, clouds, paper plane */
.ak-skydecor { position: absolute !important; inset: 0; overflow: hidden; pointer-events: none; z-index: 0 !important; margin: 0 !important; }
.ak-sun { position: absolute; width: clamp(90px, 12vw, 150px); aspect-ratio: 1; right: clamp(-30px, 4vw, 6%); top: clamp(-30px, 2vw, 40px); border-radius: 50%; background: radial-gradient(circle at 40% 38%, #FFE48A, var(--sun) 60%, #FFB21E); box-shadow: 0 0 0 14px rgba(255,201,60,.22), 0 0 0 30px rgba(255,201,60,.12); }
.ak-sun__rays { position: absolute; inset: -55%; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(255,201,60,.38) 0 7deg, transparent 7deg 22deg); mask: radial-gradient(circle, transparent 36%, #000 37%, #000 60%, transparent 70%); animation: ak-spin 50s linear infinite; }
@keyframes ak-spin { to { rotate: 360deg; } }
.ak-cloud { position: absolute; height: 42px; width: 150px; background: #fff; border-radius: 999px; opacity: .92; box-shadow: 0 6px 0 rgba(18,38,74,.05); }
.ak-cloud::before, .ak-cloud::after { content: ""; position: absolute; background: #fff; border-radius: 50%; }
.ak-cloud::before { width: 64px; height: 64px; left: 22px; top: -32px; }
.ak-cloud::after { width: 46px; height: 46px; left: 74px; top: -20px; }
.ak-cloud--1 { top: 16%; left: -160px; animation: ak-drift 70s linear infinite; }
.ak-cloud--2 { top: 58%; left: -160px; scale: .7; animation: ak-drift 95s linear -40s infinite; opacity: .8; }
.ak-cloud--3 { top: 34%; left: -160px; scale: 1.15; animation: ak-drift 120s linear -80s infinite; opacity: .7; }
@keyframes ak-drift { to { translate: calc(100vw + 340px) 0; } }
.ak-planebox { position: absolute; left: 0; top: 8%; width: 1200px; height: 400px; transform-origin: 0 0; transform: scale(var(--ak-s, .9)); }
.ak-plane-trail { position: absolute; inset: 0; overflow: visible; }
.ak-plane-trail path { stroke: rgba(18,38,74,.28); stroke-width: 3; stroke-dasharray: 3 12; stroke-linecap: round; }
.ak-plane { position: absolute; left: 0; top: 0; width: 54px; height: 34px; offset-rotate: auto; offset-distance: 0%; animation: ak-fly 16s cubic-bezier(.45,.05,.55,.95) infinite; }
.ak-plane svg { width: 100%; height: 100%; display: block; }
@keyframes ak-fly { 0% { offset-distance: 0%; opacity: 0; } 6% { opacity: 1; } 90% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }

/* ==========================================================================
   Home hero
   ========================================================================== */
.ak-hero { padding-block: clamp(2.5rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem); overflow: clip; }
.ak-hero__cols { align-items: center !important; gap: clamp(1.5rem, 4vw, 4rem); }
.ak-hero__title { font-size: clamp(2.7rem, 1.6rem + 4.6vw, 5.8rem); line-height: .98; margin-block: .2rem 1.1rem; }
.ak-hero__copy .ak-lead { margin-bottom: 1.6rem; }
.ak-hero__copy .ak-hand { margin-top: 1.3rem; }

.ak-collage { position: relative; min-height: clamp(380px, 40vw, 560px); }
.ak-polaroid { background: #fff; padding: 10px 10px 0; margin: 0; border-radius: 4px; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 12px 28px -10px rgba(18,38,74,.35); position: relative; transition: rotate .4s var(--bounce), scale .4s var(--bounce), translate .4s var(--bounce); }
.ak-polaroid img { display: block; width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: 2px; }
.ak-polaroid figcaption { font-family: var(--hand); font-weight: 700; font-size: 1.45rem; text-align: center; color: var(--ink); padding: .25rem .4rem .45rem; line-height: 1.2; }
.ak-polaroid::before { content: ""; position: absolute; top: -12px; left: 50%; width: 92px; height: 26px; translate: -50% 0; rotate: -4deg; background: rgba(255,201,60,.78); border-left: 2px dashed rgba(255,255,255,.6); border-right: 2px dashed rgba(255,255,255,.6); z-index: 2; }
.ak-polaroid:nth-child(3n+2)::before { background: rgba(148,213,216,.82); rotate: 5deg; }
.ak-polaroid:nth-child(3n)::before { background: rgba(255,143,199,.75); rotate: -8deg; }
.ak-polaroid:hover { rotate: 0deg !important; scale: 1.04; z-index: 5; }
.ak-collage .ak-polaroid { position: absolute; }
.ak-polaroid--hero1 { width: 72%; left: 4%; top: 2%; rotate: -4deg; z-index: 2; }
.ak-polaroid--hero2 { width: 40%; right: 0; top: 30%; rotate: 6deg; z-index: 3; }
.ak-polaroid--hero2 img { aspect-ratio: 3 / 3.4; }
.ak-polaroid--hero3 { width: 52%; left: 14%; bottom: -2%; rotate: 3deg; z-index: 1; }
.ak-ticket { position: absolute; z-index: 4; left: -4%; bottom: 14%; width: 132px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; color: var(--ink); margin: 0; rotate: -12deg; line-height: 1.05; }
.ak-ticket::before { content: ""; position: absolute; inset: 0; background: var(--coral); clip-path: polygon(50% 0, 59% 13%, 75% 6%, 77% 23%, 94% 25%, 87% 40%, 100% 50%, 87% 60%, 94% 75%, 77% 77%, 75% 94%, 59% 87%, 50% 100%, 41% 87%, 25% 94%, 23% 77%, 6% 75%, 13% 60%, 0 50%, 13% 40%, 6% 25%, 23% 23%, 25% 6%, 41% 13%); z-index: -1; animation: ak-spin 30s linear infinite; }
.ak-ticket__k { font-family: var(--display); font-weight: 800; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.ak-ticket__big { font-family: var(--display); font-weight: 800; font-size: 1.55rem; letter-spacing: -.03em; }
.ak-ticket__s { font-family: var(--hand); font-size: 1.05rem; font-weight: 700; }
.ak-doodle { position: absolute; z-index: 4; display: grid; place-items: center; font-family: var(--display); font-weight: 800; color: var(--ink); animation: ak-bob 5s ease-in-out infinite; }
.ak-doodle svg { width: 100%; height: 100%; }
.ak-doodle--star { width: 46px; height: 46px; right: 4%; top: -3%; fill: var(--sun); stroke: var(--ink); stroke-width: 1.4; }
.ak-doodle--aplus { right: 2%; bottom: 8%; width: 62px; height: 62px; border-radius: 50%; background: var(--lime); border: var(--line); font-size: 1.5rem; rotate: 10deg; animation-delay: -1.5s; }
.ak-doodle--note { width: 40px; height: 40px; left: -2%; top: 8%; fill: none; stroke: var(--grape); stroke-width: 2.4; animation-delay: -3s; }
.ak-doodle--pi { left: 46%; top: -6%; width: 46px; height: 46px; border-radius: 12px; background: var(--aqua); border: var(--line); font-size: 1.6rem; rotate: -10deg; animation-delay: -2.2s; }
@keyframes ak-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }

/* ticker */
.ak-ticker { max-width: none !important; background: var(--ink); color: #fff; border-block: var(--line); overflow: hidden; padding-block: .95rem; }
.ak-ticker__track { display: flex; width: max-content; animation: ak-marquee 38s linear infinite; }
.ak-ticker:hover .ak-ticker__track { animation-play-state: paused; }
.ak-ticker__list { display: flex; list-style: none; margin: 0; padding: 0; }
.ak-ticker__list li { font-family: var(--display); font-weight: 800; font-size: clamp(1.15rem, 1rem + .8vw, 1.6rem); white-space: nowrap; padding-inline: 1.1rem; display: flex; align-items: center; gap: 2.2rem; }
.ak-ticker__list li::after { content: "✦"; color: var(--sun); font-size: .9em; }
.ak-ticker__list li:nth-child(3n+2) { color: var(--aqua); }
.ak-ticker__list li:nth-child(3n) { color: var(--lime); }
@keyframes ak-marquee { to { translate: -50% 0; } }

/* ==========================================================================
   Path finder
   ========================================================================== */
.ak-paths { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1rem, 3vw, 2.5rem); align-items: start; }
.ak-paths__tabs { display: flex; flex-direction: column; gap: .7rem; }
.ak-paths__tab {
	display: flex; align-items: center; gap: .85rem; text-align: left; font: 700 1.06rem/1.3 var(--wp--preset--font-family--body); color: var(--ink);
	background: #fff; border: var(--line); border-radius: var(--r-md); padding: .8rem 1rem; cursor: pointer; transition: translate .2s var(--bounce), box-shadow .2s, background-color .2s;
}
.ak-paths__tab:hover { translate: 4px 0; background: var(--tone-soft); }
.ak-paths__tab[aria-selected="true"] { background: var(--tone); box-shadow: var(--pop); translate: 6px 0; }
.ak-paths__num { flex: none; width: 2.1rem; height: 2.1rem; border-radius: 50%; display: grid; place-items: center; background: var(--tone); border: var(--line); font-family: var(--display); font-weight: 800; }
.ak-paths__tab[aria-selected="true"] .ak-paths__num { background: #fff; }
.ak-paths__panel { background: #fff; border: var(--line); border-radius: var(--r-lg); box-shadow: 8px 8px 0 var(--tone), 8px 8px 0 2.5px var(--ink); overflow: hidden; }
.ak-js .ak-paths__panel[data-hidden] { display: none; }
.ak-paths__panel:not([data-hidden]) { animation: ak-pop .45s var(--bounce); }
@keyframes ak-pop { from { opacity: 0; scale: .96; } to { opacity: 1; scale: 1; } }
.ak-paths__img { margin: 0; border-bottom: var(--line); }
.ak-paths__img img { display: block; width: 100%; aspect-ratio: 16 / 8.5; object-fit: cover; }
.ak-paths__copy { padding: clamp(1.2rem, 3vw, 2rem); }
.ak-paths__copy h3 { margin: .1rem 0 .6rem; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); }
.ak-paths__kicker { font-family: var(--hand); font-size: 1.5rem; font-weight: 700; color: var(--coral-deep); margin: 0; }
html:not(.ak-js) .ak-paths { grid-template-columns: 1fr; }
html:not(.ak-js) .ak-paths__tabs { display: none; }
html:not(.ak-js) .ak-paths__panels { display: grid; gap: 1.5rem; }

/* ==========================================================================
   Cards, icon badges, badges, chips
   ========================================================================== */
.ak-grid { gap: clamp(1rem, 2vw, 1.6rem) !important; }
.ak-card { background: #fff; border: var(--line); border-radius: var(--r-lg); padding: 1.4rem 1.35rem 1.2rem; box-shadow: 7px 7px 0 var(--tone), 7px 7px 0 2.5px var(--ink); transition: rotate .4s var(--bounce), translate .4s var(--bounce); }
.ak-card h3 { font-size: 1.5rem; margin: .8rem 0 .4rem; }
.ak-card p { margin: 0; font-size: 1.02rem; }
.ak-card--sm h3 { font-size: 1.3rem; }
.ak-card:hover { rotate: 0deg; translate: 0 -6px; }
.ak-tilt-0 { rotate: -1.2deg; }
.ak-tilt-1 { rotate: .9deg; }
.ak-tilt-2 { rotate: -.5deg; }
.ak-ico-badge { display: inline-grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 16px; background: var(--tone); border: var(--line); color: var(--ink); rotate: -6deg; flex: none; }
.ak-ico-badge svg { width: 1.6rem; height: 1.6rem; }
.ak-card:hover .ak-ico-badge { animation: ak-wiggle .6s ease-in-out; }
@keyframes ak-wiggle { 0%, 100% { rotate: -6deg; } 25% { rotate: 8deg; } 50% { rotate: -10deg; } 75% { rotate: 4deg; } }
.ak-cards--5 .ak-card:nth-child(5) { grid-column: auto; }
.ak-card--pass { border-style: solid; position: relative; }
.ak-card--pass::after { content: ""; position: absolute; left: 1.2rem; right: 1.2rem; top: 5.1rem; border-top: 2.5px dashed rgba(18,38,74,.25); }
.ak-card--pass h3 { margin-bottom: 1.4rem; }

.ak-links { list-style: none; padding: 0; margin: .9rem 0 0; display: grid; gap: .35rem; }
.ak-links li { font-size: .98rem; line-height: 1.35; }
.ak-links a { font-weight: 700; color: var(--ink); text-decoration-color: var(--tone); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.ak-links a:hover { background: var(--tone-soft); }
.ak-links span { color: #4A5A78; font-size: .9rem; }

.ak-badges { list-style: none; padding: 0; margin: 1.2rem 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.ak-badges li { background: var(--tone); border: var(--line); border-radius: 999px; padding: .4rem .95rem; font-size: .95rem; font-weight: 600; line-height: 1.3; }
.ak-badges li:nth-child(odd) { rotate: -1.5deg; }
.ak-badges li:nth-child(even) { rotate: 1.2deg; }
.ak-badges b { font-family: var(--display); font-weight: 800; }

.ak-powerups, .ak-skills { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: .8rem; }
.ak-powerups li, .ak-skills li { display: inline-flex; align-items: center; gap: .6rem; background: var(--tone-soft); border: var(--line); border-radius: 999px; padding: .4rem 1.1rem .4rem .4rem; font-family: var(--display); font-weight: 800; font-size: 1.1rem; box-shadow: var(--pop-sm); }
.ak-powerups .ak-ico-badge, .ak-skills .ak-ico-badge { width: 2.4rem; height: 2.4rem; border-radius: 50%; rotate: 0deg; }
.ak-powerups .ak-ico-badge svg, .ak-skills .ak-ico-badge svg { width: 1.25rem; height: 1.25rem; }
.ak-skills { justify-content: center; }
.ak-skills li { font-size: clamp(1.1rem, 1rem + .6vw, 1.45rem); padding-right: 1.4rem; }

/* sticker */
.ak-sticker { position: absolute; z-index: 3; font-family: var(--display); font-weight: 800; background: var(--sun); border: var(--line); border-radius: 999px; padding: .5rem 1rem; box-shadow: var(--pop-sm); rotate: -8deg; font-size: 1rem; line-height: 1.1; }

/* ==========================================================================
   Quote notes, reviews
   ========================================================================== */
.ak-quotenote { margin: 0 0 1.4rem; background: var(--tone-soft); border: var(--line); border-radius: var(--r-md); padding: 1.6rem 1.5rem 1.2rem; position: relative; box-shadow: var(--pop); }
.ak-quotenote::before { content: "“"; position: absolute; top: -1.2rem; left: 1rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--tone); border: var(--line); display: grid; place-items: center; font: 800 2.6rem/1 var(--display); color: var(--ink); padding-top: .9rem; box-sizing: border-box; overflow: hidden; }
.ak-quotenote blockquote { margin: 0; }
.ak-quotenote blockquote p { font-family: var(--display); font-weight: 700; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); line-height: 1.3; margin: 0; letter-spacing: -.01em; }
.ak-quotenote figcaption { font-family: var(--hand); font-weight: 700; font-size: 1.45rem; margin-top: .6rem; color: var(--coral-deep); }
.ak-quotenote figcaption::before { content: "— "; }
.ak-quotenote--tilt { rotate: -2deg; }
.ak-notes { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: clamp(1rem, 2.5vw, 2rem); align-items: start; margin-block: 1.6rem 1rem; }
.ak-notes .ak-quotenote:nth-child(1) { rotate: -1.5deg; }
.ak-notes .ak-quotenote:nth-child(2) { rotate: 1.8deg; margin-top: 1.5rem; }
.ak-notes .ak-quotenote:nth-child(3) { rotate: -1deg; margin-top: .4rem; }
.ak-quotenote--big blockquote p { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); }

.ak-reviews { columns: 2 22rem; column-gap: clamp(1.2rem, 3vw, 2.4rem); }
.ak-review { break-inside: avoid; margin: 0 0 clamp(1.4rem, 3vw, 2.4rem); background: #fff; border: var(--line); border-radius: var(--r-lg); padding: 1.6rem 1.6rem 1.3rem; box-shadow: 8px 8px 0 var(--tone), 8px 8px 0 2.5px var(--ink); }
.ak-review:nth-child(odd) { rotate: -.6deg; }
.ak-review:nth-child(even) { rotate: .7deg; }
.ak-review__h { font-family: var(--display); font-weight: 800; font-size: 1.55rem; line-height: 1.12; margin: 0 0 .7rem; }
.ak-review__h::before { content: "★★★★★"; display: block; color: var(--sun); -webkit-text-stroke: 1.2px var(--ink); font-size: 1.15rem; letter-spacing: .12em; margin-bottom: .4rem; }
.ak-review blockquote { margin: 0; }
.ak-review blockquote p { font-size: 1.04rem; margin: 0 0 .8rem; }
.ak-review figcaption { font-family: var(--hand); font-weight: 700; font-size: 1.6rem; color: var(--coral-deep); }
.ak-review figcaption::before { content: "— "; }
.ak-review--short blockquote p { font-family: var(--display); font-weight: 700; font-size: 1.5rem; line-height: 1.25; }
.ak-stars { display: flex; gap: .3rem; font-size: clamp(2.4rem, 2rem + 2vw, 3.6rem); color: var(--sun); -webkit-text-stroke: 2.5px var(--ink); justify-self: center; align-self: center; }
.ak-stars span { display: inline-block; animation: ak-bob 3s ease-in-out infinite; }
.ak-stars span:nth-child(2) { animation-delay: -.4s; } .ak-stars span:nth-child(3) { animation-delay: -.8s; } .ak-stars span:nth-child(4) { animation-delay: -1.2s; } .ak-stars span:nth-child(5) { animation-delay: -1.6s; }

.wp-block-quote.ak-bigquote { border: 0; margin: 1.6rem 0; padding: 0 0 0 1.3rem; border-left: 6px solid var(--sun); }
.wp-block-quote.ak-bigquote p { font-family: var(--display); font-weight: 700; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.55rem); line-height: 1.3; }
.wp-block-quote.ak-bigquote cite { font-family: var(--hand); font-style: normal; font-weight: 700; font-size: 1.45rem; color: var(--coral-deep); }

/* ==========================================================================
   A day at Akasha (sun arc)
   ========================================================================== */
.ak-daycols { align-items: center !important; gap: clamp(1.5rem, 4vw, 3.5rem); }
.ak-dayintro .ak-hand { margin-block: .8rem 1rem; }
.ak-day { background: #fff; border: var(--line); border-radius: var(--r-lg); box-shadow: var(--pop); overflow: hidden; }
.ak-day__sky { position: relative; aspect-ratio: 600 / 230; background: linear-gradient(180deg, #8FDCFF, #DFF5FF 75%, #FFF4CC); border-bottom: var(--line); }
.ak-day__arc { position: absolute; inset: 0; width: 100%; height: 100%; }
.ak-day__arc path { stroke: rgba(18,38,74,.35); stroke-width: 3; stroke-dasharray: 2 10; stroke-linecap: round; }
.ak-day__ticks line { stroke: var(--ink); stroke-width: 2.5; }
.ak-day__ticks text { font: 700 15px var(--wp--preset--font-family--body); fill: var(--ink); }
.ak-day__sun { position: absolute; left: 5%; top: 86%; width: clamp(38px, 6vw, 58px); aspect-ratio: 1; translate: -50% -50%; transition: left .5s var(--bounce), top .5s var(--bounce); }
.ak-day__sun span { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 40% 38%, #FFE48A, var(--sun) 60%, #FFB21E); border: var(--line); }
.ak-day__sun::before { content: ""; position: absolute; inset: -42%; border-radius: 50%; background: repeating-conic-gradient(var(--sun) 0 10deg, transparent 10deg 30deg); mask: radial-gradient(circle, transparent 46%, #000 47%, #000 68%, transparent 70%); animation: ak-spin 18s linear infinite; }
.ak-day__label { position: absolute; left: 50%; bottom: 10px; translate: -50% 0; background: var(--ink); color: #fff; font-family: var(--display); font-weight: 800; font-size: clamp(.95rem, .85rem + .5vw, 1.2rem); padding: .4rem 1rem; border-radius: 999px; white-space: nowrap; box-shadow: 3px 3px 0 var(--sun); }
.ak-day__controls { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; align-items: center; padding: 1rem 1.2rem .4rem; }
.ak-day__hint { font-family: var(--hand); font-weight: 700; font-size: 1.35rem; color: var(--coral-deep); grid-column: 1 / -1; line-height: 1; }
.ak-day__range { -webkit-appearance: none; appearance: none; width: 100%; height: 16px; border-radius: 999px; border: var(--line); background: linear-gradient(90deg, #FFE48A, var(--sky) 45%, var(--aqua) 70%, var(--coral)); cursor: grab; margin: .6rem 0; }
.ak-day__range::-webkit-slider-thumb { -webkit-appearance: none; width: 34px; height: 34px; border-radius: 50%; background: var(--sun); border: var(--line); box-shadow: var(--pop-sm); }
.ak-day__range::-moz-range-thumb { width: 30px; height: 30px; border-radius: 50%; background: var(--sun); border: var(--line); box-shadow: var(--pop-sm); }
.ak-day__now { font: 800 .95rem var(--display); background: #fff; border: var(--line); border-radius: 999px; padding: .4rem .9rem; cursor: pointer; box-shadow: var(--pop-sm); }
.ak-day__now[hidden] { display: none; }
.ak-day__list { list-style: none; margin: 0; padding: .6rem 1rem 1.2rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.ak-day__item { display: flex; flex-direction: column; border: 2px solid rgba(18,38,74,.18); border-radius: 14px; padding: .35rem .7rem; line-height: 1.2; transition: background-color .25s, border-color .25s, scale .3s var(--bounce); }
.ak-day__time { font-size: .8rem; font-weight: 700; color: #4A5A78; }
.ak-day__name { font-family: var(--display); font-weight: 800; font-size: .98rem; }
.ak-day__item.is-on { background: var(--sun); border-color: var(--ink); scale: 1.06; }
.ak-day__item.is-on .ak-day__time { color: var(--ink); }
.ak-day__item--lunch { --chip: var(--pink); }
.ak-day__item--elec { --chip: var(--lime); }

/* ==========================================================================
   Scrapbook + strip
   ========================================================================== */
.ak-scrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.4rem, 3vw, 2.6rem) clamp(1rem, 2.5vw, 2rem); padding-top: 1rem; }
.ak-scrap--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ak-polaroid--s0 { rotate: -3deg; } .ak-polaroid--s1 { rotate: 2.5deg; translate: 0 18px; } .ak-polaroid--s2 { rotate: -1.5deg; }
.ak-polaroid--s3 { rotate: 3deg; translate: 0 10px; } .ak-polaroid--s4 { rotate: -2.5deg; translate: 0 14px; } .ak-polaroid--s5 { rotate: 2deg; }
.ak-scrap .ak-polaroid img { aspect-ratio: 1 / 1; }
.ak-strip { display: flex; gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1.4rem .4rem 1.6rem; scrollbar-width: thin; }
.ak-strip .ak-polaroid { flex: 0 0 min(15rem, 62vw); scroll-snap-align: start; }
.ak-polaroid--t0 { rotate: -3deg; } .ak-polaroid--t1 { rotate: 2deg; } .ak-polaroid--t2 { rotate: -1deg; } .ak-polaroid--t3 { rotate: 3deg; }
.ak-strip .ak-polaroid img { aspect-ratio: 898 / 570; }
.ak-tripcols { align-items: center !important; gap: clamp(1.5rem, 4vw, 3rem); }
.ak-stripcol { min-width: 0; }
.ak-trips { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .45rem; }
.ak-trips li { display: flex; gap: .8rem; align-items: center; font-weight: 600; }
.ak-trip__date { flex: none; font-family: var(--display); font-weight: 800; background: var(--sun); border: var(--line); border-radius: 10px; padding: .1rem .55rem; font-size: .9rem; min-width: 4.4rem; text-align: center; }

/* ==========================================================================
   Next up cards + calendar
   ========================================================================== */
.ak-next { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.2rem; margin-bottom: 1.6rem; }
.ak-next__card { display: flex; gap: 1rem; align-items: center; background: #fff; border: var(--line); border-radius: var(--r-md); padding: 1rem 1.1rem; box-shadow: var(--pop); }
.ak-next__card:nth-child(2) { rotate: 1deg; } .ak-next__card:nth-child(1) { rotate: -1deg; }
.ak-next__date { flex: none; width: 4.4rem; text-align: center; border: var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.ak-next__mon { display: block; background: var(--coral); font: 800 .8rem/1 var(--display); text-transform: uppercase; letter-spacing: .1em; padding: .35rem 0; border-bottom: var(--line); }
.ak-next__day { display: block; font: 800 2rem/1.15 var(--display); padding: .15rem 0 .25rem; }
.ak-next__t { font-family: var(--display); font-weight: 800; font-size: 1.15rem; line-height: 1.15; margin: 0 0 .3rem; }
.ak-next__in { display: inline-block; font-size: .85rem; font-weight: 700; background: var(--sky-pale); border-radius: 999px; padding: .1rem .6rem; }
.ak-next__card--closed .ak-next__mon { background: var(--sun); }
.ak-next__card--day .ak-next__mon { background: var(--lime); }
.ak-next__card--closed .ak-next__in::after { content: " · no school"; }
.ak-next__fallback { margin: 0; }

.ak-calbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.4rem; }
.ak-calfilter { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ak-calfilter button { font: 800 .98rem var(--display); background: #fff; border: var(--line); border-radius: 999px; padding: .45rem 1rem; cursor: pointer; }
.ak-calfilter button[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: 3px 3px 0 var(--sun); }
.ak-calfilter__past { font-weight: 700; display: inline-flex; gap: .4rem; align-items: center; margin-left: .4rem; cursor: pointer; }
.ak-calfilter__past input { width: 1.2rem; height: 1.2rem; accent-color: var(--teal-deep); }
.ak-legend { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: 0; margin: 0; font-size: .92rem; font-weight: 700; }
.ak-legend li { display: inline-flex; align-items: center; gap: .4rem; }
.ak-legend li::before { content: ""; width: 1rem; height: 1rem; border-radius: 5px; border: 2px solid var(--ink); }
.ak-legend__event::before { background: var(--sky); }
.ak-legend__closed::before { background: var(--sun); }
.ak-legend__day::before { background: var(--lime); }
.ak-cal { columns: 3 17rem; column-gap: 1.4rem; }
.ak-cal__month { break-inside: avoid; background: #fff; border: var(--line); border-radius: var(--r-md); margin-bottom: 1.4rem; overflow: hidden; box-shadow: 6px 6px 0 var(--tone), 6px 6px 0 2.5px var(--ink); }
.ak-cal__month h3 { margin: 0; font-size: 1.35rem; padding: .7rem 1rem; background: var(--tone); border-bottom: var(--line); }
.ak-cal__month ul { list-style: none; margin: 0; padding: .4rem .5rem .6rem; }
.ak-cal__ev { display: grid; grid-template-columns: 4.9rem 1fr; gap: .1rem .6rem; padding: .45rem .5rem; border-radius: 10px; align-items: baseline; transition: opacity .3s; }
.ak-cal__ev + .ak-cal__ev { border-top: 1.5px dashed rgba(18,38,74,.15); }
.ak-cal__when { font-family: var(--display); font-weight: 800; font-size: .95rem; grid-row: span 2; }
.ak-cal__what { font-weight: 700; line-height: 1.3; }
.ak-cal__tag { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; justify-self: start; border-radius: 6px; padding: 0 .35rem; background: var(--sky); }
.ak-cal__ev--closed .ak-cal__tag { background: var(--sun); }
.ak-cal__ev--day .ak-cal__tag { background: var(--lime); }
.ak-cal__ev.is-past .ak-cal__when, .ak-cal__ev.is-past .ak-cal__what { color: #56627A; }
.ak-cal__ev.is-past .ak-cal__tag { background: #E6EAF0; color: #3A4660; }
.ak-cal__ev.is-past .ak-cal__what { text-decoration: line-through; text-decoration-thickness: 2px; }
.ak-cal__ev.is-next { background: #FFF3C9; outline: 2.5px solid var(--ink); }
.ak-cal__ev.is-next .ak-cal__what::after { content: " ← next up!"; font-family: var(--hand); font-size: 1.2rem; color: var(--coral-deep); }
.ak-cal__ev[hidden], .ak-cal__month[hidden] { display: none; }
.ak-calimg { display: block; border: var(--line); border-radius: var(--r-md); overflow: hidden; box-shadow: var(--pop); rotate: 1.5deg; transition: rotate .3s var(--bounce); background: #fff; }
.ak-calimg:hover { rotate: 0deg; }
.ak-calimg img { display: block; width: 100%; }
.ak-countdown { justify-self: center; align-self: center; display: grid; place-items: center; text-align: center; width: clamp(170px, 20vw, 220px); aspect-ratio: 1; background: #fff; border: var(--line); border-radius: 50%; box-shadow: var(--pop); rotate: 6deg; padding: 1rem; }
.ak-countdown__n { font: 800 clamp(3rem, 2.4rem + 2vw, 4.2rem)/1 var(--display); letter-spacing: -.04em; }
.ak-countdown__l { font-family: var(--hand); font-weight: 700; font-size: 1.35rem; line-height: 1.05; color: var(--coral-deep); }

/* ==========================================================================
   Melissa + team
   ========================================================================== */
.ak-melissacols { align-items: center !important; gap: clamp(1.5rem, 5vw, 4.5rem); }
.ak-hero-person { position: relative; aspect-ratio: 1 / 1.15; width: 100%; max-width: 32rem; margin-inline: auto; }
.ak-hero-person__sun { position: absolute; z-index: 1; left: 8%; width: 84%; aspect-ratio: 1; bottom: 3.5%; border-radius: 50%; background: radial-gradient(circle at 40% 36%, #FFE48A, var(--sun) 58%, #FFB21E); border: var(--line); }
.ak-hero-person__sun::before { content: ""; position: absolute; inset: -16%; border-radius: 50%; background: repeating-conic-gradient(rgba(255,201,60,.6) 0 6deg, transparent 6deg 18deg); mask: radial-gradient(circle, transparent 64%, #000 65%); animation: ak-spin 60s linear infinite; z-index: -1; }
.ak-hero-person__wings { position: absolute; z-index: 0; width: 118%; left: -9%; top: 56%; overflow: visible; }
.ak-hero-person__wings .ak-wing { transform-box: fill-box; animation: ak-flapL 6s ease-in-out infinite; transform-origin: 100% 80%; }
.ak-hero-person__wings .ak-wing--r { animation-name: ak-flapR; transform-origin: 0% 80%; }
/* the photo pops out of the top of the circle; only the bottom half is rounded to it */
.ak-hero-person__clip { position: absolute; z-index: 2; left: 8%; width: 84%; top: 0; bottom: 3.5%; overflow: hidden; border-radius: 0 0 50% 50% / 0 0 37.8% 37.8%; display: flex; align-items: flex-end; justify-content: center; }
.ak-hero-person__img { width: 86%; height: auto; max-height: 100%; object-fit: contain; object-position: bottom; display: block; }
.ak-hero-person .ak-sticker--toy { z-index: 3; right: -2%; bottom: 16%; top: auto; background: var(--pink); rotate: -10deg; }
.ak-hero-person--sm { max-width: 17rem; }
.ak-melissa, .ak-hero-person { overflow-x: clip; }
.ak-melissa .ak-hero-person { overflow: visible; margin-bottom: 20%; }
.ak-melissa { overflow: clip; }

.ak-tcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr)); gap: clamp(1.4rem, 3vw, 2.4rem); align-items: start; }
.ak-tcard { position: relative; perspective: 1400px; }
.ak-tcard__inner { display: grid; transition: transform .7s var(--bounce); transform-style: preserve-3d; }
.ak-tcard__front, .ak-tcard__back { grid-area: 1 / 1; background: #fff; border: var(--line); border-radius: var(--r-lg); box-shadow: 8px 8px 0 var(--tone), 8px 8px 0 2.5px var(--ink); padding: 1.2rem 1.3rem 4.4rem; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ak-tcard__photo { position: relative; aspect-ratio: 1 / .82; margin: -.2rem -.3rem .9rem; border-radius: 18px; background: var(--tone); border: var(--line); overflow: hidden; display: grid; align-items: end; justify-items: center; }
.ak-tcard__photo::before { content: ""; position: absolute; inset: 0; background: radial-gradient(rgba(255,255,255,.55) 2px, transparent 2.5px) 0 0 / 18px 18px; }
.ak-tcard__photo img { position: relative; width: 88%; height: 96%; object-fit: contain; object-position: bottom; }
.ak-tcard__role { font: 800 .82rem var(--display); text-transform: uppercase; letter-spacing: .12em; color: var(--teal-deep); margin: 0; }
.ak-tcard__name { font-size: 2rem; margin: .1rem 0 .1rem; }
.ak-tcard__role2 { font-family: var(--hand); font-weight: 700; font-size: 1.4rem; color: var(--coral-deep); margin: 0 0 .6rem; line-height: 1.1; }
.ak-tcard__bio { font-size: 1rem; margin: 0; }
.ak-tcard__back { background: var(--tone-soft); transform: rotateY(180deg); }
.ak-tcard__statsh { font: 800 1.6rem/1.1 var(--display); margin: .3rem 0 1rem; }
.ak-tcard__back ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.ak-tcard__back li { background: #fff; border: 2px solid var(--ink); border-radius: 14px; padding: .55rem .8rem .55rem 2.4rem; position: relative; font-weight: 700; line-height: 1.3; }
.ak-tcard__back li::before { content: "★"; position: absolute; left: .7rem; top: .45rem; color: var(--sun); -webkit-text-stroke: 1.2px var(--ink); font-size: 1.15rem; }
.ak-tcard.is-flipped .ak-tcard__inner { transform: rotateY(180deg); }
.ak-tcard__flip { position: absolute; z-index: 3; left: 1.3rem; bottom: 1.2rem; font: 800 .98rem var(--display); background: var(--sun); color: var(--ink); border: var(--line); border-radius: 999px; padding: .5rem 1.1rem; cursor: pointer; box-shadow: var(--pop-sm); }
.ak-tcard__flip:hover { translate: -1px -1px; box-shadow: 4px 4px 0 var(--ink); }
.ak-tcard__flipb, .ak-tcard.is-flipped .ak-tcard__flipa { display: none; }
.ak-tcard.is-flipped .ak-tcard__flipb { display: inline; }
html:not(.ak-js) .ak-tcard__inner { gap: 1rem; transform: none !important; }
html:not(.ak-js) .ak-tcard__front, html:not(.ak-js) .ak-tcard__back { grid-area: auto; backface-visibility: visible; padding-bottom: 1.3rem; }
html:not(.ak-js) .ak-tcard__back { transform: none; }
html:not(.ak-js) .ak-tcard__flip { display: none; }

.ak-namecard { background: var(--night); color: #fff; border: var(--line); border-radius: var(--r-md); padding: 1.4rem 1.5rem; box-shadow: 6px 6px 0 var(--aqua), 6px 6px 0 2.5px var(--ink); rotate: 1.5deg; background-image: radial-gradient(#fff 1px, transparent 1.4px), radial-gradient(rgba(255,255,255,.6) 1px, transparent 1.4px); background-size: 46px 46px, 31px 31px; background-position: 0 0, 15px 20px; }
.ak-namecard p { margin: 0 0 .5rem; }
.ak-namecard__word { font: 800 2.2rem/1 var(--display); color: var(--sun); letter-spacing: .02em; }
.ak-namecard__def { font-family: var(--hand); font-size: 1.4rem; color: var(--aqua); }

/* ==========================================================================
   Page heads
   ========================================================================== */
.ak-pagehead { position: relative; overflow: clip; padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(4rem, 7vw, 6rem); background: linear-gradient(180deg, #7FD6FF 0%, #BDEBFF 55%, #E6F7FF 100%); }
.ak-pagehead--sun { background: linear-gradient(180deg, #FFD95C 0%, #FFE993 55%, #FFF4CC 100%); }
.ak-pagehead--sun .ak-sun { background: radial-gradient(circle at 40% 38%, #fff, #FFF4CC); }
.ak-pagehead--pink { background: linear-gradient(180deg, #FFB8DC 0%, #FFD6EA 55%, #FFEAF4 100%); }
.ak-pagehead--aqua { background: linear-gradient(180deg, #9BDFE2 0%, #C7EEEF 55%, #E6F7F7 100%); }
.ak-pagehead--lime { background: linear-gradient(180deg, #CFE07A 0%, #E2EDAA 55%, #F1F6D6 100%); }
.ak-pagehead--grape { background: linear-gradient(180deg, #6B4EFF 0%, #8B74FF 55%, #B9AAFF 100%); color: #fff; }
.ak-pagehead--grape h1, .ak-pagehead--grape .ak-eyebrow { color: #fff; }
.ak-pagehead--grape mark.ak-hl { color: var(--ink); }
.ak-pagehead--grape .ak-cloud { opacity: .25; }
.ak-pagehead--plain { padding-block: 2.5rem 3.5rem; }
.ak-pagehead__row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.ak-pagehead__row > :only-child { grid-column: 1 / -1; }
.ak-pagehead h1 { margin-block: .1rem 1rem; font-size: clamp(2.6rem, 1.6rem + 4.2vw, 5.4rem); line-height: .98; }
.ak-pagehead .ak-lead { margin: 0; }
.ak-polaroid--head { width: min(100%, 22rem); justify-self: center; rotate: 4deg; }
.ak-polaroid--head img { aspect-ratio: 1 / 1; }

.ak-scorecard { justify-self: center; background: #fff; color: var(--ink); border: var(--line); border-radius: var(--r-md); padding: 1.3rem 1.4rem; box-shadow: 6px 6px 0 var(--sun), 6px 6px 0 2.5px var(--ink); width: min(100%, 20rem); rotate: 3deg; display: grid; gap: .45rem; }
.ak-scorecard__k { font: 800 1rem var(--display); }
.ak-scorecard__bar { height: 20px; border: var(--line); border-radius: 999px; overflow: hidden; background: var(--sky-pale); }
.ak-scorecard__bar span { display: block; height: 100%; width: 92%; background: var(--lime); border-right: var(--line); animation: ak-fillup 2.4s var(--bounce) both .4s; }
.ak-scorecard__bar--down span { width: 14%; background: var(--coral); animation-name: ak-filldown; }
@keyframes ak-fillup { from { width: 20%; } to { width: 92%; } }
@keyframes ak-filldown { from { width: 85%; } to { width: 14%; } }
.ak-moved { justify-self: center; display: grid; gap: .3rem; text-align: center; background: #fff; border: var(--line); border-radius: var(--r-md); padding: 1.2rem 1.5rem; box-shadow: var(--pop); rotate: -3deg; font-weight: 700; margin: 0; }
.ak-moved__k { font: 800 1.6rem var(--display); color: var(--coral-deep); }
.ak-ticket--head { position: relative; left: auto; bottom: auto; justify-self: center; width: 170px; }
.ak-ticket--head .ak-ticket__big { font-size: 2.1rem; }

/* ==========================================================================
   Intro columns, flight plan, test cartridges, mission, regions
   ========================================================================== */
.ak-introcols { gap: clamp(1.5rem, 5vw, 4rem); align-items: center !important; }
.ak-sec-intro h2 { margin-top: 0; }
.ak-flight { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); position: relative; counter-reset: s; }
.ak-flight::before { content: ""; position: absolute; left: 6%; right: 6%; top: 2.2rem; border-top: 3px dashed rgba(18,38,74,.35); z-index: 0; }
.ak-flight__step { position: relative; z-index: 1; background: #fff; border: var(--line); border-radius: var(--r-lg); padding: 1.2rem 1.2rem 1.3rem; box-shadow: 7px 7px 0 var(--tone), 7px 7px 0 2.5px var(--ink); margin-top: 1rem; }
.ak-flight__step:nth-child(even) { translate: 0 1.5rem; }
.ak-flight__num { position: absolute; top: -1.5rem; left: 1.1rem; width: 3rem; height: 3rem; border-radius: 50%; background: var(--tone); border: var(--line); display: grid; place-items: center; font: 800 1.4rem var(--display); }
.ak-flight__step h3 { margin: 1.1rem 0 .3rem; font-size: 1.6rem; }
.ak-flight__step p { margin: 0; }

.ak-carts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1.4rem; }
.ak-cart { position: relative; background: #fff; border: var(--line); border-radius: 14px 14px 22px 22px; padding: 0 0 1rem; box-shadow: var(--pop); overflow: hidden; transition: translate .3s var(--bounce), rotate .3s var(--bounce); }
.ak-cart:nth-child(odd) { rotate: -1deg; } .ak-cart:nth-child(even) { rotate: 1deg; }
.ak-cart:hover { translate: 0 -8px; rotate: 0deg; }
.ak-cart::before { content: ""; display: block; height: 14px; background: repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px); opacity: .18; }
.ak-cart__label { display: block; margin: .6rem .9rem .7rem; background: var(--tone); border: var(--line); border-radius: 10px; padding: .6rem .8rem; font: 800 clamp(1.5rem, 1.3rem + .8vw, 2rem)/1 var(--display); letter-spacing: -.02em; text-align: center; }
.ak-cart__text { display: block; padding: 0 1rem; font-size: 1rem; }
.ak-countycards { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.ak-countycards li { background: var(--tone-soft); border: var(--line); border-radius: var(--r-md); padding: .9rem 1.1rem; display: grid; gap: .2rem; box-shadow: var(--pop-sm); }
.ak-countycards b { font: 800 1.2rem var(--display); }
.ak-countycards a { font-weight: 700; word-break: break-word; }

.ak-mission { background: #fff; border: var(--line); border-radius: var(--r-lg); box-shadow: 8px 8px 0 var(--sky), 8px 8px 0 2.5px var(--ink); padding: clamp(1rem, 3vw, 2rem); }
.ak-mission__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.2rem; margin-bottom: 1.2rem; }
.ak-mission__tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.ak-mission__tab { font: 800 1.05rem var(--display); background: #fff; border: var(--line); border-radius: 999px; padding: .5rem 1.1rem; cursor: pointer; }
.ak-mission__tab[aria-selected="true"] { background: var(--sun); box-shadow: var(--pop-sm); }
.ak-mission__count { font-family: var(--wp--preset--font-family--body); font-size: .82rem; font-weight: 700; background: var(--sky-pale); border-radius: 999px; padding: .05rem .45rem; margin-left: .2rem; }
.ak-mission__count:empty { display: none; }
.ak-mission__meter { display: grid; grid-template-columns: auto minmax(9rem, 16rem); grid-template-rows: auto auto; column-gap: .8rem; align-items: center; }
.ak-mission__pct { font: 800 2.2rem/1 var(--display); grid-row: span 2; min-width: 4.4ch; text-align: right; }
.ak-mission__track { position: relative; height: 18px; border: var(--line); border-radius: 999px; background: var(--sky-pale); }
.ak-mission__fill { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--lime), var(--sun)); transition: width .6s var(--bounce); }
.ak-mission__rocket { position: absolute; top: 50%; left: 0; width: 34px; height: 34px; translate: -50% -50%; rotate: 90deg; transition: left .6s var(--bounce); }
.ak-mission__rocket svg { width: 100%; height: 100%; }
.ak-mission__label { font-family: var(--hand); font-weight: 700; font-size: 1.15rem; color: var(--coral-deep); }
.ak-mission__h { font-size: 1.6rem; margin: .3rem 0 .8rem; }
.ak-js .ak-mission__panel[data-hidden] { display: none; }
html:not(.ak-js) .ak-mission__tabs, html:not(.ak-js) .ak-mission__meter, html:not(.ak-js) .ak-mission__save { display: none; }
.ak-mission__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.ak-mission__list label { display: flex; gap: .85rem; align-items: flex-start; cursor: pointer; padding: .65rem .8rem; border: 2px solid rgba(18,38,74,.14); border-radius: 14px; transition: background-color .2s, border-color .2s; }
.ak-mission__list label:hover { background: var(--sky-pale); }
.ak-mission__list input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ak-check { flex: none; width: 1.6rem; height: 1.6rem; border: var(--line); border-radius: 8px; background: #fff; display: grid; place-items: center; margin-top: .05rem; transition: background-color .2s, scale .3s var(--bounce); }
.ak-check::after { content: ""; width: .5rem; height: .9rem; border: solid var(--ink); border-width: 0 3px 3px 0; rotate: 45deg; translate: 0 -2px; scale: 0; transition: scale .3s var(--bounce); }
.ak-mission__list input:checked + .ak-check { background: var(--lime); scale: 1.08; }
.ak-mission__list input:checked + .ak-check::after { scale: 1; }
.ak-mission__list input:checked ~ span:last-child { text-decoration: line-through; text-decoration-color: var(--coral); text-decoration-thickness: 2px; color: #3A4A68; }
.ak-mission__list input:focus-visible + .ak-check { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 6px var(--sun); }
.ak-mission__list label:has(input:checked) { background: #F4F8E2; border-color: var(--lime); }
.ak-mission__save { font-size: .9rem; margin: 1rem 0 0; color: #3A4A68; }

.ak-regions { display: grid; gap: 1rem; }
.ak-region { background: #fff; border: var(--line); border-radius: var(--r-md); box-shadow: 5px 5px 0 var(--tone), 5px 5px 0 2.5px var(--ink); overflow: hidden; }
.ak-region summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1.2rem; font: 800 1.35rem var(--display); background: var(--tone-soft); }
.ak-region summary::-webkit-details-marker { display: none; }
.ak-region summary::after { content: "+"; flex: none; width: 2rem; height: 2rem; border-radius: 50%; border: var(--line); background: var(--tone); display: grid; place-items: center; font-size: 1.3rem; line-height: 1; transition: rotate .3s var(--bounce); }
.ak-region[open] summary::after { rotate: 45deg; }
.ak-region__n { margin-left: auto; font: 700 .9rem var(--wp--preset--font-family--body); }
.ak-region .ak-links { columns: 2 12rem; display: block; padding: .6rem 1.2rem 1.1rem; margin: 0; }
.ak-region .ak-links li { margin-bottom: .35rem; break-inside: avoid; }

/* ==========================================================================
   Contact + forms (Ninja Forms)
   ========================================================================== */
.ak-contactcols { gap: clamp(1.5rem, 4vw, 3.5rem); align-items: flex-start !important; }
.ak-formcol { background: #fff; border: var(--line); border-radius: var(--r-lg); padding: clamp(1.2rem, 3vw, 2.2rem) !important; box-shadow: 8px 8px 0 var(--sun), 8px 8px 0 2.5px var(--ink); }
.ak-formcol h2 { font-size: clamp(1.8rem, 1.5rem + 1vw, 2.4rem); margin-top: 0; }
.ak-contactcards { list-style: none; padding: 0; margin: 0; display: grid; gap: .9rem; }
.ak-contactcards li { display: flex; gap: .9rem; align-items: center; background: var(--tone-soft); border: var(--line); border-radius: var(--r-md); padding: .85rem 1rem; box-shadow: var(--pop-sm); }
.ak-contactcards li:nth-child(odd) { rotate: -.8deg; } .ak-contactcards li:nth-child(even) { rotate: .6deg; }
.ak-contactcards span:last-child { display: grid; line-height: 1.35; }
.ak-contactcards b { font: 800 1.08rem var(--display); }
.ak-contactcards a { font-weight: 700; color: var(--ink); word-break: break-word; }
.ak-sidecard { background: var(--tone-soft); border: var(--line); border-radius: var(--r-md); padding: 1.2rem 1.3rem; box-shadow: var(--pop); margin-bottom: 2.4rem; }
.ak-sidecard h3 { margin-top: 0; font-size: 1.5rem; }
.ak-map { position: relative; border: var(--line); border-radius: var(--r-lg); overflow: hidden; box-shadow: 8px 8px 0 var(--aqua), 8px 8px 0 2.5px var(--ink); aspect-ratio: 16 / 7; background: var(--sky-pale); }
.ak-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.ak-map__pin { position: absolute; left: 1rem; top: 1rem; background: var(--sun); border: var(--line); border-radius: 999px; padding: .35rem .9rem; font: 800 1rem var(--display); box-shadow: var(--pop-sm); rotate: -4deg; }
.ak-mapsec { padding-top: 0; }

.ak-form .nf-form-fields-required { font-size: .9rem; color: #3A4A68; margin-bottom: 1rem; }
.ak-form .nf-field-container { margin-bottom: 1.05rem; }
.ak-form .nf-field-label label, .ak-form .nf-field-label .nf-label-span { font: 800 1.02rem var(--display); color: var(--ink); }
.ak-form .ninja-forms-req-symbol, .ak-form .nf-error-msg, .ak-form .nf-error-required { color: var(--coral-deep); font-weight: 700; }
.ak-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=button]), .ak-form textarea, .ak-form select {
	box-sizing: border-box; width: 100%; max-width: 100%; font: 500 1.05rem var(--wp--preset--font-family--body); color: var(--ink);
	background: #fff; border: var(--line); border-radius: 14px; padding: .8rem 1rem; transition: box-shadow .2s, background-color .2s;
}
.ak-form textarea { min-height: 9rem; resize: vertical; }
.ak-form input:focus, .ak-form textarea:focus, .ak-form select:focus { outline: none; box-shadow: 0 0 0 4px var(--sun); background: #FFFDF5; }
.ak-form .nf-error input, .ak-form .nf-error textarea { box-shadow: 0 0 0 3px rgba(214,63,42,.35); }
.ak-form .nf-field-description { font-size: .9rem; color: #3A4A68; margin-top: .3rem; }
.ak-form .listcheckbox-wrap ul, .ak-form .listradio-wrap ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: .2rem 0 0; }
.ak-form .listcheckbox-wrap li, .ak-form .listradio-wrap li { margin: 0 !important; display: flex; }
.ak-form .listcheckbox-wrap li label, .ak-form .listradio-wrap li label { display: inline-flex !important; align-items: center; gap: .4rem; border: 2px solid var(--ink); border-radius: 999px; padding: .35rem .9rem .35rem .7rem; font-weight: 700; cursor: pointer; background: #fff; margin: 0 !important; }
.ak-form .listcheckbox-wrap li input, .ak-form .listradio-wrap li input { accent-color: var(--teal-deep); width: 1.05rem; height: 1.05rem; margin: 0 !important; }
.ak-form .listcheckbox-wrap li:has(input:checked) label, .ak-form .listradio-wrap li:has(input:checked) label { background: var(--sun); }
.ak-form .nf-form-cont input[type=submit] { font: 800 1.12rem var(--display); background: var(--sun); color: var(--ink); border: var(--line); border-radius: 999px; padding: .9rem 2rem; cursor: pointer; width: auto; }
.ak-form .nf-after-form-content, .ak-form .nf-form-title { display: none; }
.ak-form .nf-field-element { margin: 0; }
.ak-form .ak-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.ak-form .nf-form-content { padding: 0 !important; max-width: none !important; }
.ak-form .nf-response-msg { font-size: 1.1rem; }

/* happy "sent" screen (Ninja Forms success + confetti from site.js) */
.ak-success { text-align: center; padding: 1rem .5rem; outline: none; }
.ak-success__badge { width: 110px; height: 110px; margin: 0 auto 1rem; display: block; }
.ak-success__badge svg { width: 100%; height: 100%; overflow: visible; }
.ak-success__ring { fill: var(--lime); stroke: var(--ink); stroke-width: 4; transform-origin: center; animation: ak-pop .6s var(--bounce); }
.ak-success__tick { fill: none; stroke: var(--ink); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 80; stroke-dashoffset: 80; animation: ak-tick .5s .35s ease-out forwards; }
@keyframes ak-tick { to { stroke-dashoffset: 0; } }
.ak-success__eyebrow { font: 800 .9rem var(--display); text-transform: uppercase; letter-spacing: .14em; color: var(--teal-deep); margin: 0; }
.ak-success__title { font-size: clamp(2rem, 1.6rem + 2vw, 3rem); margin: .3rem 0 .8rem; }
.ak-success__title span { display: block; color: var(--coral-deep); font-family: var(--hand); font-size: .85em; font-weight: 700; letter-spacing: 0; }
.ak-success__lead { font-size: 1.15rem; max-width: 32rem; margin: 0 auto 1rem; }
.ak-success__note { font-size: .98rem; color: #3A4A68; }
.ak-success__links { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin-top: 1.4rem; }
.ak-confetti { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 9999; }
.ak-form-missing { background: var(--sun); border: var(--line); border-radius: var(--r-md); padding: 1rem 1.2rem; }

/* ==========================================================================
   CTA band
   ========================================================================== */
.ak-cta { background: var(--sun); overflow: clip; border-top: var(--line); }
.ak-rays { position: absolute !important; z-index: 0 !important; left: 50%; top: 50%; width: 170vmax; aspect-ratio: 1; translate: -50% -50%; background: repeating-conic-gradient(rgba(255,255,255,.28) 0 9deg, transparent 9deg 22deg); animation: ak-spin 90s linear infinite; margin: 0 !important; }
.ak-cta__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.6rem 2.4rem; }
.ak-cta__text { max-width: 40rem; }
.ak-cta__text h2 { margin: .1rem 0 .7rem; }
.ak-cta__text .ak-lead { margin: 0; }
.ak-cta .ak-eyebrow { color: var(--ink); }
.ak-cta a:not(.wp-block-button__link), .ak-pagehead--sun a:not(.wp-block-button__link) { color: var(--ink); text-decoration-thickness: 2px; }
.ak-cta__btns { flex-direction: column; align-items: stretch; }
.ak-cta__btns .wp-block-button__link { width: 100%; }

/* ==========================================================================
   Footer: night sky
   ========================================================================== */
.ak-footer { position: relative; overflow: clip; background: linear-gradient(180deg, var(--night) 0%, #172B63 70%, #23407F 100%); color: #DCE7FF; padding-block: clamp(3.5rem, 6vw, 5.5rem) 1.6rem; border-top: var(--line); }
.ak-footer__sky { position: absolute; inset: 0; pointer-events: none; }
.ak-twinkle { position: absolute; inset: 0; background-image: radial-gradient(#fff 1.2px, transparent 1.6px), radial-gradient(rgba(255,255,255,.75) 1px, transparent 1.4px), radial-gradient(rgba(255,228,138,.9) 1.3px, transparent 1.7px); background-size: 120px 110px, 77px 83px, 190px 170px; background-position: 0 0, 30px 40px, 60px 20px; animation: ak-twinkle 4s ease-in-out infinite alternate; }
.ak-twinkle--2 { background-size: 150px 140px, 97px 91px, 230px 210px; background-position: 50px 70px, 10px 15px, 120px 90px; animation-delay: -2s; opacity: .7; }
@keyframes ak-twinkle { from { opacity: .35; } to { opacity: 1; } }
.ak-moon { position: absolute; right: 7%; top: 2.2rem; width: 64px; height: 64px; border-radius: 50%; box-shadow: -14px 6px 0 0 #FFE48A; rotate: -20deg; }
.ak-footer__grid { position: relative; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: clamp(2rem, 4vw, 3.5rem); }
.ak-footer a { color: #fff; }
.ak-footer a:hover { color: var(--sun); }
.ak-footer .ak-mark { width: 84px; }
.ak-footer__tag { margin: 1rem 0 1.2rem; max-width: 24rem; }
.ak-footer__contact { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.ak-footer__contact a { text-decoration: none; display: inline-flex; gap: .7rem; align-items: baseline; font-weight: 600; }
.ak-footer__contact a:hover { text-decoration: underline; }
.ak-footer__contact small { color: var(--aqua); font-size: .85rem; }
.ak-ico { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; flex: none; border-radius: 50%; background: rgba(255,255,255,.12); color: var(--sun); font-size: 1rem; translate: 0 .35rem; }
.ak-footer__h { color: var(--sun); font-size: 1.35rem; margin: .4rem 0 1rem; }
.ak-hours { width: 100%; border-collapse: separate; border-spacing: 0 4px; font-size: .98rem; }
.ak-hours th, .ak-hours td { text-align: left; padding: .4rem .7rem; font-weight: 500; border: 0; }
.ak-hours th { font-weight: 700; color: #fff; border-radius: 10px 0 0 10px; }
.ak-hours td { border-radius: 0 10px 10px 0; text-align: right; }
.ak-hours tr.is-today th, .ak-hours tr.is-today td { background: var(--sun); color: var(--ink); font-weight: 800; }
.ak-hours tr.is-today th::after { content: " · today"; font-family: var(--hand); font-size: 1.15rem; }
.ak-footer__more p { margin: 0 0 1rem; }
.ak-footer__cta { display: flex; flex-wrap: wrap; gap: .7rem; }
.ak-footer__cta .ak-pill--sun { color: var(--ink); }
.ak-footer__links { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; margin-top: 1.4rem; font-weight: 600; }
.ak-footer__links a { text-decoration: none; }
.ak-footer__links a:hover { text-decoration: underline; }
.ak-footer__base { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1.5px dashed rgba(255,255,255,.25); margin-top: clamp(2.5rem, 4vw, 3.5rem); padding-top: 1.3rem; font-size: .92rem; }
.ak-footer__base p { margin: 0; }
.ak-totop { display: inline-flex; align-items: center; gap: .6rem; font: 800 1rem var(--display); color: #fff; background: transparent; border: 2px solid rgba(255,255,255,.5); border-radius: 999px; padding: .4rem 1rem .4rem .5rem; cursor: pointer; }
.ak-totop svg { width: 40px; height: 26px; rotate: -30deg; transition: translate .4s var(--bounce), rotate .4s var(--bounce); }
.ak-totop:hover { border-color: var(--sun); color: var(--sun); }
.ak-totop:hover svg { translate: 6px -6px; rotate: -45deg; }

/* 404 */
.ak-404 { text-align: center; padding-block: 5rem 7rem; }
.ak-404 .wp-block-buttons { justify-content: center; }
.ak-404 .ak-lead, .ak-404 .ak-eyebrow { margin-inline: auto; justify-content: center; }
.ak-404__plane { width: 120px; margin: 0 auto 1rem; animation: ak-bob 3s ease-in-out infinite; rotate: -12deg; }

/* default page (privacy) */
.ak-pagehead--plain h1 { font-size: clamp(2.4rem, 1.6rem + 3vw, 4rem); }
.wp-block-post-content > h2 { font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem); margin-top: 2.2rem; }
body:not(.home) .ak-main > .wp-block-post-content:has(> h2:first-child) { padding-bottom: 4rem; }

/* ==========================================================================
   Reveal on scroll (JS adds .is-in); uses the translate property so card tilts (rotate) are kept
   ========================================================================== */
.ak-js .ak-reveal { opacity: 0; translate: 0 26px; transition: opacity .6s ease, translate .7s var(--bounce), rotate .4s var(--bounce); }
.ak-js .ak-reveal.is-in { opacity: 1; translate: 0 0; }
.ak-js .ak-polaroid--s1.ak-reveal.is-in { translate: 0 18px; }
.ak-js .ak-polaroid--s3.ak-reveal.is-in { translate: 0 10px; }
.ak-js .ak-polaroid--s4.ak-reveal.is-in { translate: 0 14px; }
.ak-js .ak-flight__step:nth-child(even).is-in { translate: 0 1.5rem; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.ak-util__enroll { display: none; }
	.ak-scrap--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ak-flight { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.6rem; }
	.ak-flight::before { display: none; }
	.ak-flight__step:nth-child(even) { translate: 0 0; }
	.ak-js .ak-flight__step:nth-child(even).is-in { translate: 0 0; }
}
@media (max-width: 900px) {
	.ak-paths { grid-template-columns: 1fr; }
	.ak-paths__tabs { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; padding: .2rem .2rem 1rem; margin-inline: -.2rem; }
	.ak-paths__tab { flex: 0 0 15rem; scroll-snap-align: start; font-size: .98rem; }
	.ak-paths__tab:hover, .ak-paths__tab[aria-selected="true"] { translate: 0 -3px; }
	.ak-notes { grid-template-columns: 1fr; }
	.ak-notes .ak-quotenote { margin-top: 0 !important; }
	.ak-footer__grid { grid-template-columns: 1fr 1fr; }
	.ak-footer__brand { grid-column: 1 / -1; }
	.ak-pagehead__row { grid-template-columns: 1fr; }
	.ak-scrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.ak-hero { padding-top: 1.6rem; }
	.ak-collage { min-height: 0; aspect-ratio: 1 / 1.02; margin-top: 1rem; }
	.ak-ticket { width: 108px; left: 0; bottom: 6%; }
	.ak-ticket__big { font-size: 1.25rem; }
	.ak-day__controls { grid-template-columns: 1fr; }
	.ak-day__now { justify-self: start; }
	.ak-cta__btns { width: 100%; }
	.ak-hero-person { max-width: 24rem; }
	.ak-map { aspect-ratio: 4 / 3.4; }
	.ak-pagehead .ak-polaroid--head { width: min(78%, 18rem); }
	.ak-mission__meter { grid-template-columns: auto 1fr; width: 100%; }
}
@media (max-width: 600px) {
	.ak-util { font-size: .82rem; }
	.ak-util__call { display: none; }
	.ak-mark { width: 52px; }
	.ak-brand__line1 { font-size: 1.45rem; }
	.ak-brand__line2 { font-size: .66rem; letter-spacing: .26em; }
	.ak-scrap, .ak-scrap--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem .9rem; }
	.ak-polaroid figcaption { font-size: 1.15rem; }
	.ak-polaroid { padding: 7px 7px 0; }
	.ak-flight { grid-template-columns: 1fr; }
	.ak-footer__grid { grid-template-columns: 1fr; }
	.ak-cal { columns: 1; }
	.ak-reviews { columns: 1; }
	.ak-form .ak-two { grid-template-columns: 1fr; }
	.ak-day__list { gap: .35rem; }
	.ak-day__item { padding: .3rem .55rem; }
	.ak-day__name { font-size: .9rem; }
	.ak-sun { opacity: .9; }
}

/* ==========================================================================
   Reduced motion: everything still, nothing hidden
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.ak-js .ak-reveal { opacity: 1; translate: none; }
	.ak-ticker__track { width: auto; }
	.ak-ticker__list { flex-wrap: wrap; justify-content: center; row-gap: .4rem; }
	.ak-ticker__list[aria-hidden] { display: none; }
	.ak-plane, .ak-plane-trail { display: none; }
	.ak-cloud { left: 10% !important; }
	.ak-cloud--2 { left: 55% !important; }
	.ak-cloud--3 { left: 75% !important; }
}

/* Ninja Forms two-column rows: fields with container class ak-half / ak-quarter share a row */
.ak-form nf-fields-wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 1rem; }
.ak-form nf-field { grid-column: 1 / -1; min-width: 0; }
.ak-form nf-field:has(.ak-half) { grid-column: span 2; }
.ak-form nf-field:has(.ak-quarter) { grid-column: span 1; }
@media (max-width: 600px) {
	.ak-form nf-field:has(.ak-half) { grid-column: 1 / -1; }
	.ak-form nf-field:has(.ak-quarter) { grid-column: span 2; }
}

/* decorative layers must ignore the constrained content width */
.ak-skydecor, .ak-rays, .ak-footer__sky { max-width: none !important; }
.ak-tickerwrap { margin-block: 0 !important; }

/* page-head content always sits above the drifting clouds */
.ak-pagehead > :not(.ak-skydecor) { position: relative; z-index: 1; }
/* long cartridge labels (ACCUPLACER) scale with the card */
.ak-cart { container-type: inline-size; }
.ak-cart__label { font-size: clamp(1.1rem, 11cqi, 2rem); }
.ak-countycards { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.ak-countycards a { font-size: .98rem; overflow-wrap: anywhere; word-break: normal; }
* + .ak-quotenote { margin-top: 2.2rem; }
.ak-mission__track { height: 22px; margin-left: 18px; }
.ak-mission__rocket { width: 42px; height: 42px; }
/* Ninja Forms puts the checkbox beside its label: sit it inside the pill */
.ak-form .listcheckbox-wrap li, .ak-form .listradio-wrap li { position: relative; }
.ak-form .listcheckbox-wrap li input, .ak-form .listradio-wrap li input { position: absolute; left: .8rem; top: 50%; translate: 0 -50%; z-index: 1; }
.ak-form .listcheckbox-wrap li label, .ak-form .listradio-wrap li label { padding-left: 2.15rem !important; }
.ak-form .listcheckbox-wrap li label::before, .ak-form .listcheckbox-wrap li label::after { display: none !important; }
.ak-map__pin { left: auto; right: 1rem; }

.ak-strip:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 8px var(--sun); border-radius: 12px; }
/* phone menu: everything left-aligned (core inherits the desktop right-justify into the overlay) */
.ak-nav .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-align: flex-start; --navigation-layout-justify: flex-start; text-align: left; }
.ak-nav .is-menu-open .wp-block-navigation-item, .ak-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left !important; }
