/**
 * Marina Shpak — design system & layout.
 *
 * 1:1 port of the locked design handoff styles from
 * `Design/marinashpak-hf/project/Marina Shpak - Standalone.html`.
 *
 * Conventions:
 *  - All design tokens live on :root as --ms-* custom properties.
 *  - theme.json mirrors the same tokens for the block editor — keep them in sync.
 *  - Sections in the same order as the design's data-screen-label numbering.
 *
 * Anything labelled "ADDED — not in design source" is a derivation we made
 * to fill a gap (e.g. the mobile nav panel was wired in HTML/JS but had no
 * styles in the design export). Treat those blocks as ours to refine.
 */

/* ============================================================
   Self-hosted fonts (was Google Fonts CDN — moved local 2026-05-09 for GDPR + LCP).
   Files in ../fonts/ are pulled from the @fontsource npm mirror.
   - Poppins: 300/400/500/600/700 normal + 300/400 italic, latin + latin-ext
   - Montserrat: 400/500/600/700 normal, latin + latin-ext
   - Alex Brush: 400 normal, latin + latin-ext (decorative — only used for the
     About section signature; if a glyph is missing, browser falls back to
     system-ui per body's font-family stack)
   Unicode-range subsets keep latin pages from downloading latin-ext bytes
   they won't paint, and vice versa.
   ============================================================ */

/* Poppins normal */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* Poppins normal — latin-ext (LT diacritics: ė ą č š ę į ų ū ž) */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Poppins italic — latin + latin-ext (used by the About-section .quote class) */
@font-face{font-family:'Poppins';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-300-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-ext-300-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Montserrat — used for tabular numerals (.num) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Alex Brush — only used by .about-portrait-wrap .sig and .hero-portrait .marker */
@font-face{font-family:'Alex Brush';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alex-brush-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Alex Brush';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alex-brush-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
	--ms-bg:#F0EDE9;
	--ms-bg-soft:#F0E5E6;
	--ms-surface:#FFFFFF;
	--ms-ink:#050428;
	--ms-ink-soft:#55296B;
	--ms-accent:#8B498C;
	--ms-accent-warm:#AE749D;
	--ms-accent-rose:#CFA787;
	--ms-deep:#251149;
	--ms-deeper:#050428;
	--shadow-card: 0 1px 2px rgba(5,4,40,.04), 0 8px 24px rgba(5,4,40,.06);
	--shadow-nav: 0 1px 0 rgba(5,4,40,.04), 0 6px 20px rgba(5,4,40,.04);

	/* Type scale — applied via tokens so h1 sizing stays consistent across
	   detail / archive / utility templates instead of each one inventing its own. */
	--ms-h1-detail:48px;   /* single post, single course, akademija hero */
	--ms-h1-archive:42px;  /* archive, duk, kontaktai, paskyra */
	--ms-h1-utility:32px;  /* 404 */

	/* Section padding scale — replaces ad-hoc `padding:80px 0 96px` inline
	   styles peppered across templates. */
	--ms-section-pad-y:80px;
	--ms-section-pad-y-tight:64px;
	--ms-section-pad-y-hero:96px;

	/* Reading width cap for long-form prose (Bringhurst / WCAG 1.4.8 AAA). */
	--ms-prose-max-width:65ch;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
	font-family:'Poppins','Inter',system-ui,-apple-system,sans-serif;
	color:var(--ms-ink);
	background:var(--ms-bg);
	font-weight:400;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
.num{font-family:'Montserrat',sans-serif;font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	height:48px;padding:0 24px;border-radius:999px;
	font-size:15px;font-weight:500;letter-spacing:.01em;
	transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
	white-space:nowrap;
}
.btn-solid{background:var(--ms-accent);color:#fff}
.btn-solid:hover{background:var(--ms-accent-warm);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(5,4,40,.18);color:var(--ms-ink);background:transparent}
.btn-ghost:hover{border-color:var(--ms-ink);transform:translateY(-1px)}
.btn-light-solid{background:#fff;color:var(--ms-ink)}
.btn-light-solid:hover{background:var(--ms-bg);transform:translateY(-1px)}
.btn-light-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-light-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-1px)}
.btn-warm{background:var(--ms-accent-warm);color:#fff}
.btn-warm:hover{background:var(--ms-accent);transform:translateY(-1px)}
.btn-sm{height:40px;padding:0 18px;font-size:14px}

.eyebrow{
	font-size:11px;letter-spacing:.22em;text-transform:uppercase;
	color:var(--ms-accent-rose);font-weight:500;
}
.eyebrow-ink{color:var(--ms-ink-soft)}

h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--ms-ink);margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.1}
h2{font-size:44px;letter-spacing:-.015em}
:focus-visible{outline:2px solid var(--ms-accent);outline-offset:3px;border-radius:4px}

/* Screen-reader-only utility (WP-compatible). Hides visually but keeps
   announceable to AT. Required by skip-link reveal-on-focus + form labels. */
.screen-reader-text{
	clip:rect(1px,1px,1px,1px);
	position:absolute!important;
	height:1px;width:1px;overflow:hidden;
	word-wrap:normal!important;
}
/* Skip-to-content — reveals at the top-left on keyboard focus. */
.skip-link{
	position:absolute;top:-100px;left:8px;z-index:1000;
	background:var(--ms-accent);color:#fff;
	padding:12px 20px;border-radius:0 0 6px 6px;
	font-weight:600;font-size:14px;letter-spacing:.02em;
	text-decoration:none;
	transition:top .15s ease;
}
.skip-link:focus,.skip-link:focus-visible{
	clip:auto;height:auto;width:auto;overflow:visible;position:absolute!important;
	top:8px;outline:2px solid #fff;outline-offset:2px;
}
h3{font-size:22px;font-weight:500}
p{margin:0}

.container{max-width:1280px;margin:0 auto;padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px)}
section{padding:104px 0}

/* ---------- promo bar ---------- */
.promo{
	background:var(--ms-deep);color:#fff;
	font-size:13px;letter-spacing:.02em;
	padding:11px clamp(20px, 4vw, 48px);
	display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.promo .left{display:flex;align-items:center;gap:10px}
.promo .dot{width:6px;height:6px;border-radius:50%;background:var(--ms-accent-rose)}
.promo button{color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px}
.promo button:hover{color:#fff}
/* Visible focus ring on the deep-purple promo BG — default accent-purple
   ring fades into the bar's color. Use white for clear keyboard feedback. */
.promo button:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}
.promo.hidden{display:none}

/* ---------- header ---------- */
header.nav{
	position:sticky;top:0;z-index:50;
	background:#fff;
	box-shadow:var(--shadow-nav);
}
.nav-inner{
	display:flex;align-items:center;gap:24px;
	padding:14px clamp(20px, 4vw, 48px);
	max-width:1440px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:14px}
.ms-logo{width:42px;height:42px;display:block;color:var(--ms-ink);flex:0 0 42px}
.ms-logo.on-dark{color:#fff}
.wordmark{
	font-weight:500;font-size:14px;letter-spacing:.24em;text-transform:uppercase;
	color:var(--ms-ink);white-space:nowrap;
}
.nav-links{
	display:flex;align-items:center;gap:32px;flex:1;justify-content:center;
	font-size:13px;color:var(--ms-ink);
	letter-spacing:.04em;
}
.nav-item{position:relative}
/* GGA label: full at desktop, short label kicks in at <=1079px (swap below). */
.nav-link-gga-full{display:inline}
.nav-link-gga-short{display:none}
.nav-item > a, .nav-item > button{
	position:relative;padding:8px 0;font-weight:500;
	text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;
	color:var(--ms-ink);background:none;border:0;cursor:pointer;
	font-family:inherit;display:inline-flex;align-items:center;gap:5px;
}
.nav-item > a:hover, .nav-item > button:hover{color:var(--ms-accent)}
.nav-item .caret{font-size:9px;color:var(--ms-ink-soft);transition:transform .2s}
.nav-item:hover .caret{transform:rotate(180deg);color:var(--ms-accent)}
.nav-dropdown{
	position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);
	min-width:200px;background:#fff;border-radius:8px;
	box-shadow:0 14px 40px -12px rgba(5,4,40,.18), 0 2px 6px rgba(5,4,40,.06);
	padding:8px;opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease;
	z-index:60;
}
/* Invisible hit-area bridge across the 6px visual gap between the parent
   button and the dropdown — without this the cursor leaves `.nav-item`'s
   hover area mid-traverse and the dropdown closes before the user reaches
   the menu items. The pseudo-element is part of `.nav-dropdown` (a
   descendant of `.nav-item`), so hovering it keeps `:hover` on the parent. */
.nav-dropdown::before{
	content:'';position:absolute;
	top:-12px;left:0;right:0;height:12px;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
	opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
	display:block;padding:10px 14px;border-radius:5px;
	font-size:14px;font-weight:400;color:var(--ms-ink);
	text-transform:none;letter-spacing:0;line-height:1.35;
	transition:background .15s, color .15s;
}
.nav-dropdown a:hover{background:var(--ms-bg);color:var(--ms-accent)}
.nav-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.nav-right .nav-pill{margin-left:8px}
.icon-btn{
	width:38px;height:38px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	color:var(--ms-ink);position:relative;
}
.icon-btn:hover{background:var(--ms-bg)}
.cart-badge{
	position:absolute;top:4px;right:4px;
	min-width:16px;height:16px;border-radius:8px;
	background:var(--ms-accent);color:#fff;font-size:10px;font-weight:600;
	display:flex;align-items:center;justify-content:center;padding:0 4px;
	font-family:'Montserrat';
}
/* Hide the badge entirely when count is zero — replaces the previous
   hard-coded "0" pip that always showed even on an empty cart. */
.cart-badge[data-cart-count="0"]{display:none}
.ghost-link{font-size:13px;color:var(--ms-ink);font-weight:400}
.ghost-link:hover{color:var(--ms-accent)}
/* "Tapk nare" — primary header CTA. Brighter than the dark-blue original
   (per owner feedback: more prominent for the 40-60yo target audience). */
.nav-pill{
	height:40px;padding:0 22px;display:inline-flex;align-items:center;
	border-radius:999px;background:var(--ms-accent);color:#fff;
	font-size:14px;font-weight:600;letter-spacing:.04em;margin-left:8px;
	box-shadow:0 4px 14px rgba(139,73,140,.28);
	transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
	white-space:nowrap;
}
.nav-pill:hover{
	background:var(--ms-accent-warm);
	transform:translateY(-1px);
	box-shadow:0 6px 18px rgba(139,73,140,.38);
}

/* Account icon gets a small "PASKYRA" wordmark below the icon. The other
   icons (search, wishlist, cart) read as universal symbols; the user
   silhouette doesn't, especially for an older audience. */
.icon-btn-labelled{
	width:auto;height:auto;
	flex-direction:column;gap:2px;
	padding:5px 10px;border-radius:8px;
}
.icon-btn-labelled .ib-label{
	font-size:9.5px;font-weight:600;letter-spacing:.08em;
	text-transform:uppercase;color:var(--ms-ink-soft);
	line-height:1;
}
.icon-btn-labelled:hover{background:var(--ms-bg)}
.icon-btn-labelled:hover .ib-label{color:var(--ms-accent)}

.hamburger{display:none}

/* ---------- hero ---------- */
.hero{
	background:var(--ms-bg);
	padding:88px 0 96px;
}
.hero-grid{
	display:grid;grid-template-columns:60fr 40fr;gap:64px;align-items:center;
	max-width:1280px;margin:0 auto;padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	position:relative;
}
.hero-grid > div:first-child{position:relative}
.hero h1{
	font-size:64px;font-weight:600;line-height:1.05;letter-spacing:-.02em;
	margin:24px 0 20px;
}
/* "gražesnė" used to be Alex Brush + gradient. Owner feedback: the script
   word faded out and the eye read "Atsibusk kiekvieną rytą" (skipping the
   accent word). Reverted to plain Poppins so the headline reads naturally. */
.hero .lede{font-size:19px;line-height:1.6;color:var(--ms-ink-soft);max-width:520px;font-weight:400}
.hero .ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;align-items:center}
/* Trust strip — three social-proof phrases under the primary CTA. */
.hero-trust{
	list-style:none;margin:18px 0 0;padding:0;
	display:flex;flex-wrap:wrap;gap:8px 22px;
	font-size:13px;color:var(--ms-ink-soft);font-weight:500;
	letter-spacing:.01em;
}
.hero-trust li{display:inline-flex;align-items:center;gap:8px;line-height:1.4}
.hero-trust .check{
	display:inline-flex;align-items:center;justify-content:center;
	width:16px;height:16px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:10px;font-weight:700;line-height:1;flex:0 0 16px;
}
@media (max-width: 480px){
	.hero-trust{gap:8px 16px;font-size:12.5px;margin-top:14px}
}
.slider-controls{display:flex;align-items:center;gap:20px;margin-top:40px}
.dots{display:flex;gap:2px;align-items:center}
/* Each dot is a button (24x24 hit area) wrapping an `<i>` visual pip,
   per WCAG 2.2 target-size guidance. Visual pip is the 8px circle that
   widens to 24px when active. */
.dots button{
	background:transparent;border:0;padding:8px;
	display:inline-flex;align-items:center;justify-content:center;
	cursor:pointer;border-radius:50%;
}
.dots button:focus-visible{outline:2px solid var(--ms-accent);outline-offset:2px}
.dots button i{
	width:8px;height:8px;border-radius:50%;background:rgba(5,4,40,.18);
	display:block;transition:background .25s ease, width .25s ease;
}
.dots button.active i{background:var(--ms-accent);width:24px;border-radius:4px}
/* Backwards-compat for any remaining <i> dots in non-button containers. */
.dots > i{
	width:8px;height:8px;border-radius:50%;background:rgba(5,4,40,.18);
	cursor:pointer;transition:background .2s,width .2s;
}
.dots > i.active{background:var(--ms-accent);width:24px;border-radius:4px}

/* Hero slider — all slides occupy the same grid cell, only the active
   slide is visible. Crossfade is opacity-only (no movement) per the
   "static, mature" lens the owner set for motion. */
.hero-slider{
	position:relative;display:grid;grid-template-areas:'stack';
}
.hero-slide{
	grid-area:stack;
	opacity:0;pointer-events:none;
	transition:opacity .55s cubic-bezier(.2,.6,.2,1);
	visibility:hidden;
}
.hero-slide.is-active{
	opacity:1;pointer-events:auto;
	visibility:visible;
	position:relative;z-index:1;
}
@media (prefers-reduced-motion: reduce){
	.hero-slide{transition:none}
}
/* Slider arrows — bumped from 36px ghost circles to 48px filled with
   accent border (per owner feedback: hero arrows must be obvious for
   older readers). Used by the hero slider AND the course slider, so
   both gain the upgrade. */
.arrows{display:flex;gap:10px}
.arrows button{
	width:48px;height:48px;border-radius:50%;
	border:1.5px solid var(--ms-accent);
	color:var(--ms-accent);background:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	box-shadow:0 4px 12px rgba(139,73,140,.15);
	transition:.2s;cursor:pointer;
}
.arrows button svg{width:18px;height:18px}
.arrows button:hover{
	background:var(--ms-accent);color:#fff;border-color:var(--ms-accent);
	transform:translateY(-1px);
	box-shadow:0 8px 20px rgba(139,73,140,.32);
}
.hero-portrait{
	aspect-ratio:4/5;border-radius:4px;overflow:hidden;
	background:#e6d8d3;position:relative;
	box-shadow:0 30px 60px -20px rgba(85,41,107,.25);
}
.hero-portrait img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.hero-portrait:hover img{transform:scale(1.03)}
.hero-portrait .marker{
	position:absolute;left:24px;bottom:24px;color:#fff;
	font-family:'Alex Brush';font-size:34px;line-height:1;
	text-shadow:0 2px 12px rgba(0,0,0,.25);
}

/* ---------- stats ---------- */
.stats{
	background:var(--ms-bg);
	padding:0 0 96px;
	border-bottom:1px solid rgba(207,167,135,.3);
	position:relative;
}
.stats .stat-pill{
	position:absolute;right:32px;top:-14px;
	background:rgba(5,4,40,.06);color:var(--ms-ink-soft);
	font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
	padding:6px 12px;border-radius:999px;font-family:'Montserrat';
	white-space:nowrap;
}
.stats-row{
	display:grid;grid-template-columns:repeat(4,1fr);
	border-top:1px solid rgba(207,167,135,.5);
	border-bottom:1px solid rgba(207,167,135,.5);
	max-width:1280px;margin:0 auto;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	box-sizing:border-box;
}
.stat{
	padding:36px 28px;text-align:center;
	border-right:1px solid rgba(207,167,135,.4);
}
.stat:last-child{border-right:0}
.stat .num{font-size:48px;font-weight:500;color:var(--ms-ink-soft);letter-spacing:-.01em;line-height:1}
.stat .num .star{font-size:.7em;display:inline-block;vertical-align:.04em;margin-left:4px;color:var(--ms-accent-rose)}
.stat .label{margin-top:10px;font-size:13px;color:var(--ms-ink);letter-spacing:.06em;text-transform:uppercase;font-weight:500}

/* ---------- placeholder pill ---------- */
.ph-pill{
	display:inline-flex;align-items:center;gap:6px;
	background:rgba(5,4,40,.06);color:var(--ms-ink-soft);
	font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
	padding:5px 11px;border-radius:999px;font-family:'Montserrat';
	white-space:nowrap;
}
.ph-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ms-accent-warm);display:inline-block}
.ph-pill.on-dark{background:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.ph-anchor{position:relative}
.ph-anchor > .ph-pill{position:absolute;top:-12px;right:0;z-index:2}

/* ---------- portrait placeholder ---------- */
.portrait-ph{
	background:var(--ms-bg);
	border:1.5px dashed var(--ms-accent-rose);
	display:flex;align-items:center;justify-content:center;
	text-align:center;padding:32px;
}
.portrait-ph span{
	font-family:'Poppins',sans-serif;font-weight:300;font-size:13px;
	letter-spacing:.18em;text-transform:uppercase;color:var(--ms-ink-soft);
	line-height:1.6;
}
.portrait-ph .lg{display:block;font-size:15px;letter-spacing:.22em;margin-bottom:6px;color:var(--ms-ink)}

/* ---------- about ---------- */
.about{background:var(--ms-surface)}
.about-grid{
	display:grid;grid-template-columns:45fr 55fr;gap:80px;align-items:center;
}
.about-portrait-wrap{position:relative;width:100%;max-width:460px;margin:0 auto;padding-bottom:24px}
.about-portrait{
	aspect-ratio:1;width:100%;
	border-radius:50%;overflow:hidden;background:#e6d8d3;position:relative;
}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.about-portrait-wrap .sig{
	position:absolute;right:18px;bottom:0;
	font-family:'Alex Brush';font-size:42px;color:var(--ms-accent);
	background:#fff;padding:4px 22px 6px;border-radius:999px;
	box-shadow:var(--shadow-card);line-height:1;
}
.quote{
	font-family:'Poppins';font-style:italic;font-weight:300;
	font-size:30px;line-height:1.35;color:var(--ms-ink);
	letter-spacing:-.005em;
}
.accent-line{
	width:64px;height:1px;background:var(--ms-accent-rose);
	margin:36px 0 28px;
}
.about p{font-size:15.5px;line-height:1.75;color:var(--ms-ink-soft);margin-bottom:16px;max-width:560px}
.about p.quote{
	font-family:'Poppins';font-style:italic;font-weight:300;
	font-size:30px;line-height:1.35;color:var(--ms-ink);
	letter-spacing:-.005em;max-width:none;margin-bottom:0;
}
.about .ctas{margin-top:24px}

/* ---------- gga intro ---------- */
.gga-intro{padding:0;background:var(--ms-deep);color:#fff}
.gga-intro-grid{
	display:grid;grid-template-columns:1fr 1fr;min-height:560px;
}
.gga-img{position:relative;overflow:hidden}
.gga-img img{width:100%;height:100%;object-fit:cover;display:block}
.gga-copy{padding:96px 80px;display:flex;flex-direction:column;justify-content:center}
.gga-copy h2{color:#fff;margin:18px 0 24px;font-size:46px;font-weight:600;letter-spacing:-.015em}
.gga-copy p{color:rgba(255,255,255,.78);font-size:16px;line-height:1.7;max-width:480px}
.gga-copy .ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

/* ---------- tiers ---------- */
.tiers{background:var(--ms-bg)}
.section-head{text-align:center;max-width:680px;margin:0 auto 64px}
.section-head h2{margin-top:14px}
.section-head p{margin-top:14px;color:var(--ms-ink-soft);font-size:16px;line-height:1.6}
.tier-grid{
	display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
	max-width:880px;margin:0 auto;align-items:start;
}
.tier{
	background:#fff;border-radius:6px;padding:40px 32px 36px;
	box-shadow:var(--shadow-card);
	display:flex;flex-direction:column;gap:20px;
	position:relative;transition:transform .25s ease;
}
.tier:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05)}
.tier .name{
	font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--ms-ink-soft);
}
.tier .price{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.tier .price-sub{font-size:12px;color:var(--ms-ink-soft);margin-top:6px;font-family:'Montserrat'}

/* Marathon row — was tier 3 inside the pricing grid; now a horizontal card
   below it. Frames the monthly marathon as "what comes with PLATINUM" rather
   than "a third commitment to choose." Stacks vertically below 767px. */
.tier-marathon-row{
	max-width:1180px;margin:32px auto 0;
	background:#fff;border-radius:8px;border-left:4px solid var(--ms-accent-rose);
	box-shadow:var(--shadow-card);
	display:grid;grid-template-columns:1fr 2fr auto;gap:32px;align-items:center;
	padding:24px 28px;
}
.tier-marathon-row .tmr-eyebrow{
	display:block;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;color:var(--ms-accent);margin-bottom:6px;
}
.tier-marathon-row .tmr-theme{
	display:block;font-size:18px;font-weight:500;color:var(--ms-ink);line-height:1.3;
}
.tier-marathon-row .tmr-excerpt{
	margin:0 0 6px;font-size:14.5px;color:var(--ms-ink-soft);line-height:1.55;
}
.tier-marathon-row .tmr-included{
	font-family:'Montserrat',sans-serif;font-size:11.5px;letter-spacing:.04em;
	color:var(--ms-accent);font-weight:500;
}
.tier-marathon-row .tmr-action{
	display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap;
}
.tier-marathon-row .tmr-price{
	font-family:'Montserrat',sans-serif;font-size:18px;font-weight:600;color:var(--ms-deeper);
}
.tier-marathon-row--soon{opacity:.85}
.tier-marathon-row--soon .tmr-action{justify-content:center}
@media (max-width:767px){
	.tier-marathon-row{
		grid-template-columns:1fr;gap:16px;text-align:left;padding:20px;
	}
	.tier-marathon-row .tmr-action{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:14px}
}
/* Risk-reversal footnote on the PLATINUM (featured) tier. Subtle but
   present — sits between the features list and the CTA, defusing the
   higher price-point objection without dragging visual weight from the
   button below. */
.tier-reassure{
	margin:8px 0 4px;padding:12px 14px;
	background:rgba(207,167,135,.14);border-radius:6px;
	font-size:12.5px;line-height:1.5;color:var(--ms-ink-soft);
	font-family:'Montserrat',sans-serif;
}

/* Akademija page — process diagram, upcoming sessions, FAQ, permissive
   refund copy. All static, all opt-in via Theme Options. */
.akad-process{
	list-style:none;margin:0 0 24px;padding:0;
	display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
	background:var(--ms-bg);border:1px solid rgba(207,167,135,.30);
	border-radius:12px;padding:24px;
}
.akad-process__step{
	display:flex;flex-direction:column;align-items:flex-start;gap:6px;
	position:relative;padding-top:6px;
}
.akad-process__num{
	font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;
	letter-spacing:.14em;color:var(--ms-accent);text-transform:uppercase;
}
.akad-process__num::before{content:'0';opacity:.5}
.akad-process__icon{
	width:36px;height:36px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:#fff;color:var(--ms-accent);
	border:1px solid rgba(207,167,135,.45);
}
.akad-process__label{
	font-size:14.5px;font-weight:600;color:var(--ms-ink);line-height:1.35;
}
.akad-process__sub{font-size:13px;color:var(--ms-ink-soft);line-height:1.5}
@media (max-width: 767px){
	.akad-process{grid-template-columns:1fr;padding:20px;gap:14px}
	.akad-process__step{flex-direction:row;align-items:center;flex-wrap:wrap}
	.akad-process__num{order:0;flex:0 0 100%}
	.akad-process__icon{order:1;flex:0 0 36px}
	.akad-process__label{order:2;flex:1}
	.akad-process__sub{order:3;flex:0 0 100%;padding-left:48px}
}

.akad-sessions{text-align:center}
.akad-sessions-list{
	list-style:none;margin:32px 0 0;padding:0;
	display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
}
.akad-session{
	display:flex;align-items:center;gap:14px;
	background:var(--ms-surface);
	border:1px solid rgba(207,167,135,.35);border-radius:10px;
	padding:14px 18px;min-width:200px;text-align:left;
	transition:border-color .2s ease, transform .2s ease;
}
.akad-session:hover{border-color:rgba(207,167,135,.6);transform:translateY(-2px)}
.akad-session-date{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	flex:0 0 52px;height:52px;border-radius:8px;
	background:var(--ms-bg);color:var(--ms-accent);
	font-family:'Montserrat',sans-serif;
}
.akad-session-date .day{font-size:22px;font-weight:600;line-height:1}
.akad-session-date .month{font-size:9.5px;letter-spacing:.10em;text-transform:uppercase;margin-top:2px}
.akad-session-meta{display:flex;flex-direction:column;gap:2px;font-family:'Poppins',sans-serif}
.akad-session-meta .weekday{font-size:13px;color:var(--ms-ink-soft);text-transform:capitalize}
.akad-session-meta .label{font-size:14px;color:var(--ms-ink);font-weight:500}

.akad-faq{}

/* Roadmap variant of `.ms-form-reassure` — time chips on the left of each
   bullet. Replaces the original 4-checkmark layout with the time-stamped
   roadmap. Tiny shared `<ul>` element so the original `.ms-form-reassure`
   container keeps its 4px accent stripe. */
.ms-form-reassure__roadmap{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;gap:10px;
	font-size:13.5px;line-height:1.5;color:var(--ms-ink-soft);
}
.ms-form-reassure__roadmap li{display:flex;align-items:flex-start;gap:14px}
.ms-form-reassure__roadmap .time{
	flex:0 0 56px;
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
	letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-accent);padding-top:2px;
}

/* Permissive refund line — Alex-Brush-adjacent (italic Poppins, not script)
   so it reads as a personal aside, not legal copy. */
.ms-form-permissive{
	font-size:15px;color:var(--ms-ink);font-style:italic;
	line-height:1.5;text-align:center;
	margin:0 0 18px;padding:0 20px;
}

/* Breadcrumb (#27.1) — visual trail consuming the same data as the JSON-LD
   in ms_schema_breadcrumb(). Small Montserrat caps, accent-colored separator,
   last item plain text (current page). */
.ms-breadcrumb{margin:0 0 18px}
.ms-breadcrumb ol{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:2px 4px;
	font-family:'Montserrat',sans-serif;font-size:11px;
	letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-ink-soft);
}
.ms-breadcrumb a{color:var(--ms-ink-soft);text-decoration:none;transition:color .18s ease}
.ms-breadcrumb a:hover{color:var(--ms-accent)}
.ms-breadcrumb .sep{margin:0 8px;opacity:.6}
.ms-breadcrumb [aria-current]{color:var(--ms-ink);font-weight:600}

/* Numeric pagination (#27.2) — replaces bare `← Naujesni / Senesni →` with
   numbered pages + prev/next. WP's `paginate_links()` outputs anchors and
   spans; we style the container + items consistently. */
.ms-pagination{
	display:flex;align-items:center;justify-content:center;gap:6px;
	margin:56px 0 0;
	font-family:'Montserrat',sans-serif;font-size:13.5px;
}
.ms-pagination a,
.ms-pagination span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;padding:0 10px;border-radius:8px;
	color:var(--ms-ink);text-decoration:none;
	transition:background .18s ease, color .18s ease;
}
.ms-pagination a:hover{background:rgba(207,167,135,.18);color:var(--ms-accent)}
.ms-pagination .current{background:var(--ms-accent);color:#fff;font-weight:600}
.ms-pagination .dots{cursor:default;color:var(--ms-ink-soft)}
.ms-pagination .prev,
.ms-pagination .next{font-size:15px}

/* Search facets (#27.3) — small chip row above results, links into
   ?s=…&post_type= filters. Active facet shows accent border. */
.ms-search-facets{
	display:flex;flex-wrap:wrap;gap:8px;align-items:center;
	margin:0 0 36px;font-family:'Montserrat',sans-serif;
}
.ms-search-facets__count{
	font-size:12px;letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-ink-soft);margin-right:6px;
}
.ms-search-facets a{
	display:inline-flex;align-items:center;gap:4px;
	padding:6px 12px;border-radius:999px;
	border:1px solid rgba(5,4,40,.12);
	font-size:12.5px;letter-spacing:.04em;
	color:var(--ms-ink);text-decoration:none;
	transition:border-color .18s ease, background .18s ease;
}
.ms-search-facets a:hover{border-color:var(--ms-accent);color:var(--ms-accent)}
.ms-search-facets a.is-active{
	background:var(--ms-accent);color:#fff;border-color:var(--ms-accent);
}
.ms-search-facets a .count{font-size:11px;opacity:.7}

/* Sitewide hover/focus polish (#26) — every interactive surface should
   feel like the same hand made it. Static color/shadow shifts only, no
   transforms-as-decoration. */

/* Tag chips on single posts. */
.ms-single-post .tag,
.ms-single-post [href*="?tag="],
.ms-single-post a[href*="/tag/"]{
	transition:background .2s ease, color .2s ease;
}
.ms-single-post a[href*="/tag/"]:hover{
	background:rgba(207,167,135,.18);color:var(--ms-ink);
}

/* Related-posts cards (single.php tail) — match the shipped `#12`
   translateY(-3px) + shadow boost pattern used on tier/cat/prod cards. */
.ms-related-card{
	transition:transform .25s ease, box-shadow .25s ease;
}
.ms-related-card:hover{
	transform:translateY(-3px);
	box-shadow:0 14px 28px -14px rgba(85,41,107,.18);
}

/* Member dashboard tab nav — currently no hover/focus. */
.paskyra-tabs a{transition:background .18s ease, color .18s ease}
.paskyra-tabs a:hover{background:rgba(207,167,135,.18);color:var(--ms-accent)}
.paskyra-tabs a:focus-visible{outline:2px solid var(--ms-accent);outline-offset:2px;border-radius:4px}

/* Course-card image scale on hover — only motion in this section, and it's
   user-initiated (image responds inside the frame, not the card moving).
   Augustinus Bader / Tata Harper pattern. Respects reduced-motion. */
.course-card .ci{overflow:hidden}
.course-card .ci img{transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.course-card:hover .ci img{transform:scale(1.04)}
@media (prefers-reduced-motion: reduce){
	.course-card:hover .ci img{transform:none}
}

/* Footer origin line — small caps marker between the social row and copyright. */
.foot-origin{
	text-align:center;padding:20px clamp(20px, 4vw, 48px) 0;
	font-family:'Montserrat',sans-serif;font-size:11px;
	letter-spacing:.14em;text-transform:uppercase;
	color:rgba(255,255,255,.50);
	border-top:1px solid rgba(255,255,255,.08);margin-top:24px;
}

/* PLATINUM intake form: step legends + "kas vyks toliau" reassurance panel.
   Numbered chips make the otherwise single-page form feel like a guided
   flow — payment selection (1) then contact details (2). The reassurance
   panel sits between the last field and the submit button so the user
   reads it at exactly the moment they're weighing whether to send. */
.ms-step-legend{
	display:flex;align-items:center;gap:12px;
	font-weight:600;font-size:14.5px;color:var(--ms-ink);
	margin:0 0 16px;padding:0;letter-spacing:.01em;
}
.ms-step-num{
	display:inline-flex;align-items:center;justify-content:center;
	width:26px;height:26px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;
	flex:0 0 26px;
}
.ms-form-reassure{
	margin:18px 0 22px;padding:18px 20px;
	background:#fff;border:1px solid rgba(207,167,135,.45);border-radius:6px;
}
.ms-form-reassure__title{
	font-weight:600;font-size:13.5px;color:var(--ms-ink);
	margin-bottom:10px;letter-spacing:.01em;
}
.ms-form-reassure ul{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;gap:8px;
	font-size:13.5px;line-height:1.5;color:var(--ms-ink-soft);
}
.ms-form-reassure li{display:flex;align-items:flex-start;gap:10px}
.ms-form-reassure li span{
	display:inline-flex;align-items:center;justify-content:center;
	width:16px;height:16px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:9px;font-weight:700;line-height:1;flex:0 0 16px;margin-top:3px;
}
.tier .soon-label{
	font-family:'Poppins';font-size:26px;font-weight:500;color:var(--ms-ink-soft);
	letter-spacing:.01em;line-height:1;
}
.tier .price .num{font-size:42px;font-weight:500;color:var(--ms-ink);letter-spacing:-.01em;line-height:1;white-space:nowrap}
.tier .price .per{font-size:13px;color:var(--ms-ink-soft);font-weight:400}
.tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tier li{font-size:14.5px;color:var(--ms-ink);display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.tier li::before{
	content:"";flex:0 0 6px;width:6px;height:6px;margin-top:9px;
	border-radius:50%;background:var(--ms-accent-rose);
}
.tier .btn{width:100%;margin-top:8px}
.tier.featured{
	border:1.5px solid var(--ms-accent);
	transform:translateY(-12px);
	padding:48px 32px 40px;
	box-shadow:0 20px 50px -10px rgba(139,73,140,.25);
}
.tier.featured:hover{transform:translateY(-14px)}
.ribbon{
	position:absolute;top:-11px;left:50%;transform:translateX(-50%);
	background:var(--ms-accent);color:#fff;
	height:22px;padding:0 14px;
	display:inline-flex;align-items:center;
	border-radius:999px;
	font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
	white-space:nowrap;
	box-shadow:0 6px 14px rgba(139,73,140,.3);
}

/* ---------- press strip ----------
   Named publication logos between Stats and About. Greyscale logos, soft
   alignment. Augustinus Bader / Tata Harper press-strip pattern. Renders
   only when admin sets `press.enabled` + at least one logo. */
.press{background:var(--ms-surface);padding:56px 0;border-top:1px solid rgba(207,167,135,.30);border-bottom:1px solid rgba(207,167,135,.30)}
.press .container{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.press-eyebrow{color:var(--ms-ink-soft)}
.press-row{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
	gap:36px 56px;
}
.press-row li{display:flex;align-items:center}
.press-row img{
	max-height:32px;width:auto;display:block;
	filter:grayscale(1) brightness(0.7);
	opacity:.7;transition:opacity .25s ease, filter .25s ease;
}
.press-row li:hover img{opacity:1;filter:grayscale(1) brightness(1)}
@media (max-width: 599px){
	.press{padding:40px 0}
	.press-row{gap:24px 36px}
	.press-row img{max-height:26px}
}

/* Outcome stat — used when a Stats item has the `outcome` field set.
   Replaces the num + label split with a single italicized sentence. */
.stat--outcome{justify-content:center;align-items:center;text-align:center;padding:30px 16px}
.stat-outcome{
	font-size:17px;line-height:1.45;font-weight:500;color:var(--ms-ink);
	max-width:280px;font-style:italic;letter-spacing:.005em;
}
@media (max-width:599px){
	.stat-outcome{font-size:15.5px}
}

/* PLATINUM per-month flip — the `.price-sub--alt` style is a touch larger
   than the regular price-sub so the secondary annual line still reads
   confidently while the €54/mėn. headline does the heavy lifting. */
.tier.featured .price-sub--alt{font-size:13.5px;color:var(--ms-ink);font-weight:500;margin-top:2px}

/* ---------- testimonials ----------
   Sits between About and GGA on the homepage. 3-card grid at desktop,
   2-up at tablet, 1-up at mobile. Cards are quote-led; the attribution
   (small portrait + name + age) sits below to keep the quote visually
   dominant — that's the part doing the social-proof lifting. */
.testimonials{background:var(--ms-bg);padding:96px 0}
.testimonials .section-head{margin-bottom:48px;text-align:center}
.testi-grid{
	display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
	max-width:1180px;margin:0 auto;padding:0 clamp(20px, 4vw, 48px);
}
.testi-card{
	margin:0;padding:32px 28px 28px;
	background:var(--ms-surface);border-radius:6px;
	box-shadow:var(--shadow-card);
	display:flex;flex-direction:column;gap:24px;
	transition:transform .25s ease, box-shadow .25s ease;
}
.testi-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05)}
.testi-quote{
	margin:0;font-size:16.5px;line-height:1.65;
	color:var(--ms-ink);font-style:italic;font-weight:400;
	letter-spacing:.005em;
}
.testi-meta{display:flex;align-items:center;gap:14px;margin-top:auto}
.testi-photo{
	width:44px;height:44px;border-radius:50%;
	object-fit:cover;background:var(--ms-bg);
	display:inline-flex;align-items:center;justify-content:center;
	color:var(--ms-accent);font-family:'Montserrat',sans-serif;
	font-weight:600;font-size:16px;letter-spacing:.02em;
	border:1px solid rgba(207,167,135,.5);flex:0 0 44px;
}
.testi-photo--placeholder{background:var(--ms-bg-soft)}
.testi-attr{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.testi-attr strong{font-weight:600;font-size:14.5px;color:var(--ms-ink)}
.testi-age{font-size:12.5px;color:var(--ms-ink-soft);font-family:'Montserrat',sans-serif;letter-spacing:.02em}
@media (max-width: 899px){
	.testimonials{padding:72px 0}
	.testi-grid{grid-template-columns:1fr 1fr;gap:20px}
}
@media (max-width: 599px){
	.testi-grid{grid-template-columns:1fr;gap:18px}
	.testi-card{padding:26px 22px 22px}
	.testi-quote{font-size:15.5px}
}

/* ---------- categories ---------- */
.categories{background:var(--ms-surface)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1280px;margin:0 auto}
.cat{
	background:var(--ms-bg);border-radius:6px;padding:32px 28px;
	transition:transform .25s ease,background .25s ease;
	display:flex;flex-direction:column;gap:14px;min-height:230px;
}
.cat:hover{transform:translateY(-3px);background:#EDE6DF;box-shadow:0 14px 28px -14px rgba(85,41,107,.18)}
.cat .ico{
	width:42px;height:42px;border-radius:50%;
	background:#fff;color:var(--ms-accent);
	display:flex;align-items:center;justify-content:center;
	border:1px solid rgba(207,167,135,.5);
}
.cat h3{font-size:19px;font-weight:600}
.cat p{font-size:14px;color:var(--ms-ink-soft);line-height:1.55;flex:1}
.cat .arrow{font-size:14.5px;color:var(--ms-ink);font-weight:500;letter-spacing:.04em}
.cat .arrow:hover{color:var(--ms-accent)}

/* ---------- featured course ---------- */
.featured-course{background:var(--ms-bg)}
.fc-grid{
	display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center;
	max-width:1280px;margin:0 auto;
}
.fc-img{
	aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#d9c5b8;
	position:relative;box-shadow:0 30px 60px -20px rgba(85,41,107,.18);
}
.fc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.fc-img:hover img{transform:scale(1.04)}
.fc-img .ribbon-tl{
	background:#fff;color:var(--ms-accent);
	padding:6px 14px;border-radius:999px;
	font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
}
.fc-copy h2{font-size:30px;margin:14px 0 20px;letter-spacing:-.005em}
.fc-copy p{font-size:16px;line-height:1.7;color:var(--ms-ink-soft);max-width:520px}
.fc-priceblock{
	display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
	margin:28px 0 32px;font-family:'Montserrat';
}
.fc-priceblock .old{font-size:20px;color:var(--ms-ink-soft);text-decoration:line-through;font-weight:400}
.fc-priceblock .now{font-size:34px;font-weight:600;color:var(--ms-deeper);letter-spacing:-.01em;line-height:1}
.fc-priceblock .save-pill{
	background:var(--ms-accent-rose);color:#fff;font-size:11px;font-weight:600;
	letter-spacing:.06em;padding:6px 12px;border-radius:999px;
}
.fc-img .ribbon-stack{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.fc-img .ribbon-stack .ribbon-tl{position:static}
.fc-img .ribbon-tl.warm{background:var(--ms-accent-rose);color:#fff}
.fc-copy .ctas{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- course slider ---------- */
.courses{background:var(--ms-surface)}
.courses-head{
	display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
	max-width:1280px;margin:0 auto 48px;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
}
.courses-head h2{margin-top:8px}
.slider-wrap{
	max-width:1280px;margin:0 auto;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	overflow:hidden;
}
.slider-track{
	display:flex;gap:24px;
	transition:transform .5s cubic-bezier(.6,.05,.2,1);
}
.course-card{
	flex:0 0 calc((100% - 24px*2.5) / 3.5);
	background:transparent;display:flex;flex-direction:column;gap:12px;
	transition:transform .25s ease;
}
.course-card:hover{transform:translateY(-3px)}
.course-card:hover .ci{box-shadow:0 18px 36px -18px rgba(85,41,107,.28)}
.course-card .ci{
	aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#e6d8d3;position:relative;
}
.course-card .ci img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.course-card:hover .ci img{transform:scale(1.04)}
.course-card h4{font-size:17px;font-weight:500;line-height:1.35;color:var(--ms-ink);min-height:2.7em;margin:0}
.course-card .card-eyebrow{margin-bottom:-4px}
.course-card .card-outcome{margin-top:-4px}
.course-card .meta{font-size:13px;color:var(--ms-ink-soft);font-family:'Montserrat',sans-serif;margin-top:auto;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.course-card .meta .old{text-decoration:line-through;opacity:.65}
.course-card .meta .now{color:var(--ms-deeper);font-weight:600}
.slider-foot{
	display:flex;align-items:center;justify-content:center;gap:32px;
	margin-top:48px;
}

/* ---------- products ---------- */
.products{background:var(--ms-bg);position:relative}
.products .sub{
	margin-top:6px;font-size:13px;letter-spacing:.04em;
	color:var(--ms-accent);font-weight:400;
}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1280px;margin:0 auto}
.prod{
	background:#fff;border-radius:6px;padding:16px 16px 20px;
	display:flex;flex-direction:column;gap:10px;
	transition:transform .25s ease, box-shadow .25s ease;
	border:1px solid rgba(5,4,40,.06);
}
.prod:hover{transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05);border-color:rgba(207,167,135,.4)}
.prod .pi{aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:var(--ms-bg);position:relative;margin-bottom:4px}
.prod .pi img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.prod:hover .pi img{transform:scale(1.04)}
.prod h4{
	font-size:15px;font-weight:500;color:var(--ms-ink);line-height:1.35;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;text-overflow:ellipsis;min-height:2.7em;
	margin:0;
}
.prod .prices{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.prod .old{
	font-family:'Montserrat',sans-serif;font-size:13px;color:var(--ms-ink-soft);
	text-decoration:line-through;font-weight:400;
}
.prod .price{
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:18px;
	color:var(--ms-deeper);letter-spacing:-.005em;
}
.prod .prices-saving{
	font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:500;
	letter-spacing:.04em;color:var(--ms-accent);
	margin-left:auto;align-self:center;
}
.prod .btn{align-self:stretch;margin-top:6px}

/* Card eyebrow + outcome line — shared between .prod (offer) and .course-card.
   The eyebrow is the format/scale signal ("Programa · 21 d."); the outcome
   is one italic sentence under the title ("Lengvesnis veidas. 14 dienų.")
   that tells the buyer what they'll feel, not what they'll receive. */
.card-eyebrow{
	font-family:'Montserrat',sans-serif;
	font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
	color:var(--ms-accent-rose);
	margin:0;
}
.card-outcome{
	font-family:'Poppins',sans-serif;font-style:italic;
	font-size:14.5px;line-height:1.5;color:var(--ms-ink-soft);
	margin:0;
}

/* Highlight chip (top-left of card image) — editorial endorsement, not a
   retail flag. Three variants, mutually exclusive per card. */
.prod-highlight{
	position:absolute;top:12px;left:12px;z-index:2;
	font-family:'Montserrat',sans-serif;
	font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
	padding:6px 10px;border-radius:999px;
	white-space:nowrap;
}
.prod-highlight--marina{background:var(--ms-accent);color:#fff;box-shadow:0 4px 10px rgba(85,41,107,.22)}
.prod-highlight--bestseller{background:var(--ms-accent-rose);color:#fff;box-shadow:0 4px 10px rgba(207,167,135,.32)}
.prod-highlight--new{background:#fff;color:var(--ms-accent);border:1.5px solid var(--ms-accent)}

/* Savings badge (bottom-right of card image) — replaces the old "−60%"
   sale tag. Concrete savings beats percentages for the 40-60yo audience. */
.prod-savings{
	position:absolute;bottom:12px;right:12px;z-index:2;
	background:var(--ms-accent);color:#fff;
	font-family:'Montserrat',sans-serif;
	font-size:11px;font-weight:600;letter-spacing:.04em;
	padding:6px 10px;border-radius:999px;
	box-shadow:0 4px 10px rgba(85,41,107,.28);
}

/* Magazine-end section CTA — replaces the apologetic ghost pill at section
   transitions. Hairline rules either side of the link interrupt the section;
   on hover the underline grows in and the arrow slides 4px right. */
.section-end{
	display:flex;align-items:center;gap:18px;
	max-width:1180px;margin:56px auto 0;padding:0 clamp(20px,4vw,48px);
	color:var(--ms-ink);
}
.section-end::before,.section-end::after{
	content:'';flex:1;height:1px;background:rgba(207,167,135,.35);
}
.section-end a{
	font-family:'Poppins',sans-serif;font-size:16px;font-weight:500;letter-spacing:.02em;
	color:var(--ms-ink);text-decoration:none;
	display:inline-flex;align-items:center;gap:10px;
	padding:6px 4px 8px;
	background-image:linear-gradient(var(--ms-accent),var(--ms-accent));
	background-position:50% 100%;background-repeat:no-repeat;background-size:0% 1px;
	transition:background-size .35s ease, color .2s ease;
}
.section-end a:hover,.section-end a:focus-visible{background-size:calc(100% - 8px) 1px;color:var(--ms-accent);outline:none}
.section-end a:focus-visible{box-shadow:0 0 0 3px rgba(139,73,140,.18);border-radius:4px}
.section-end .arrow{display:inline-block;transition:transform .25s ease}
.section-end a:hover .arrow,.section-end a:focus-visible .arrow{transform:translateX(4px)}

/* ---------- lead magnet ---------- */
.lead{background:var(--ms-bg-soft);border-top:1px solid rgba(207,167,135,.3)}
.lead-grid{
	display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center;
	max-width:1180px;margin:0 auto;
}
.lead h2{font-size:40px;margin:14px 0 16px;max-width:520px}
.lead p{font-size:16px;line-height:1.7;color:var(--ms-ink-soft);max-width:520px}
.lead form{
	display:flex;gap:10px;margin-top:28px;max-width:520px;flex-wrap:wrap;
}
.lead input{
	flex:1;min-width:240px;height:48px;padding:0 18px;
	border:1px solid rgba(5,4,40,.18);background:#fff;border-radius:999px;
	font-family:inherit;font-size:14.5px;color:var(--ms-ink);outline:none;
	transition:border-color .2s;
}
.lead input:focus{border-color:var(--ms-accent)}
.lead .micro{display:block;margin-top:14px;font-size:12px;color:var(--ms-ink-soft)}
.lead-img{
	aspect-ratio:3/4;max-width:300px;margin-left:auto;border-radius:4px;overflow:hidden;
	background:#fff;box-shadow:0 30px 60px -20px rgba(85,41,107,.18);
}
.lead-img img{width:100%;height:100%;object-fit:cover}

/* ---------- footer (1:1 of live marinashpak.lt structure) ----------
   3-col flex on desktop: brand block · centred nav links · social icons.
   Bottom bar holds copyright + domain. Stacks vertically below 767px. */
footer{
	background:var(--ms-deeper);color:rgba(255,255,255,.5);
	padding:64px 0 24px;position:relative;
}
.footer-inner{
	display:grid;grid-template-columns:1.3fr 1fr auto;gap:48px;align-items:center;
	max-width:1280px;margin:0 auto;
	padding:0 clamp(20px, 4vw, 48px);
}
.foot-brand .wordmark{color:rgba(255,255,255,.7);margin-top:14px;display:block}
.foot-brand p{margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.4);max-width:340px;line-height:1.65}
.foot-nav ul{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:10px 28px;
	justify-content:center;
	font-size:14px;color:rgba(255,255,255,.7);
}
.foot-nav a{transition:color .2s}
.foot-nav a:hover{color:#fff}
.foot-social{display:flex;gap:12px;justify-content:flex-end}
.foot-social a{
	width:40px;height:40px;border-radius:50%;
	background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);
	display:inline-flex;align-items:center;justify-content:center;
	transition:background .2s ease, color .2s ease, transform .2s ease;
}
.foot-social a:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-1px)}
.foot-payments{
	max-width:1280px;margin:32px auto 0;padding:0 clamp(20px, 4vw, 48px);
	display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;
	font-family:'Montserrat',sans-serif;font-size:11.5px;letter-spacing:.04em;
	color:rgba(255,255,255,.45);
}
.foot-payments__label{
	text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:rgba(255,255,255,.55);
}
.foot-payments__list{display:inline-flex;flex-wrap:wrap;gap:6px 14px}
.foot-payments__list span{position:relative;padding-right:14px}
.foot-payments__list span::after{content:'·';position:absolute;right:0;top:0;color:rgba(255,255,255,.25)}
.foot-payments__list span:last-child{padding-right:0}
.foot-payments__list span:last-child::after{content:none}

.foot-bottom{
	margin-top:24px;padding:18px clamp(20px, 4vw, 48px) 0;border-top:1px solid rgba(255,255,255,.08);
	display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.35);
	max-width:1280px;margin-left:auto;margin-right:auto;
}

/* ---------- mobile sticky ---------- */
.mobile-cta{
	display:none;
	position:fixed;left:0;right:0;bottom:0;z-index:60;
	background:var(--ms-accent);color:#fff;
	height:64px;align-items:center;justify-content:center;
	font-size:15px;font-weight:500;letter-spacing:.02em;
	box-shadow:0 -8px 24px rgba(5,4,40,.12);
}

/* ---------- mobile nav panel — ADDED, not in design source ----------
   The design's HTML wires up #mobileNavPanel + #mobileNavBackdrop and the JS
   toggles a `.open` class, but the CSS for them did not ship in the export.
   These rules mirror the brand language (off-white panel, deep accent, soft
   shadow) and respect the breakpoint ladder: hamburger appears at <=767px. */
.mobile-nav-backdrop{
	position:fixed;inset:0;z-index:90;
	background:rgba(5,4,40,.45);backdrop-filter:blur(2px);
	opacity:0;pointer-events:none;
	transition:opacity .25s ease;
}
.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}
.mobile-nav-panel{
	position:fixed;top:0;right:0;bottom:0;z-index:100;
	width:min(86vw, 360px);
	background:#fff;color:var(--ms-ink);
	padding:80px 28px 32px;
	box-shadow:-12px 0 40px -12px rgba(5,4,40,.25);
	transform:translateX(100%);
	transition:transform .3s cubic-bezier(.6,.05,.2,1);
	display:flex;flex-direction:column;gap:6px;
	overflow-y:auto;
}
.mobile-nav-panel.open{transform:translateX(0)}
.mobile-nav-panel .close{
	position:absolute;top:18px;right:18px;
	width:36px;height:36px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--ms-bg);color:var(--ms-ink);
	transition:background .2s;
}
.mobile-nav-panel .close:hover{background:var(--ms-bg-soft)}
.mobile-nav-panel .mn-link{
	display:block;padding:14px 4px;
	font-size:17px;font-weight:500;color:var(--ms-ink);
	border-bottom:1px solid rgba(207,167,135,.3);
	letter-spacing:.01em;
}
.mobile-nav-panel .mn-link:hover{color:var(--ms-accent)}
.mobile-nav-panel .mn-secondary{
	padding-top:18px;margin-top:4px;
	display:flex;flex-direction:column;gap:14px;
	font-size:14.5px;color:var(--ms-ink-soft);
}
.mobile-nav-panel .mn-secondary a:hover{color:var(--ms-accent)}
.mobile-nav-panel .mn-utility{
	margin-top:auto;padding-top:24px;
	border-top:1px solid rgba(207,167,135,.3);
	display:flex;flex-direction:column;gap:14px;
	font-size:14px;color:var(--ms-ink-soft);
}
.mobile-nav-panel .mn-utility a:hover{color:var(--ms-accent)}

/* Hero/about/GGA/FC CTAs: ALWAYS side-by-side at >=480 (only stack at small mobile). */
.hero .ctas,.about .ctas,.gga-copy .ctas,.fc-copy .ctas{
	flex-direction:row;flex-wrap:wrap;align-items:center;
}

/* ============================================================
   Responsive — 4 breakpoints, lifted from the design source.
   1079 → tighten nav, swap GGA label to "Akademija"
    899 → hide wishlist+account icons, stack tiers, 2x2 cats/products
    767 → hamburger replaces nav, hero/about/gga/fc stack
    480 → drop wordmark, tighten everything for small phones
   ============================================================ */

/* small desktop / large tablet (900-1079): keep ALL nav links inline.
   Tighten gaps + nav-link letter-spacing so they fit. No hamburger yet. */
@media (max-width: 1079px){
	.nav-inner{gap:18px;padding:14px clamp(20px, 4vw, 48px)}
	.nav-links{gap:22px}
	.nav-item > a, .nav-item > button{font-size:11.5px;letter-spacing:.06em}
	.nav-right{gap:4px}
	.icon-btn{width:36px;height:36px}
	/* shorten the long GGA label */
	.nav-link-gga-full{display:none}
	.nav-link-gga-short{display:inline}
	/* hero image: no scale-up at sub-desktop widths (would overflow tight column) */
	.hero-portrait img{transform:none!important}
	.stat .num{white-space:nowrap}
}

/* tablet: 768-899 (keep 2-col layouts; hide wishlist + account; KEEP nav links inline) */
@media (max-width: 899px){
	section{padding:80px 0}
	h2{font-size:38px}
	.nav-inner{padding:12px clamp(20px, 4vw, 48px);gap:14px}
	.nav-links{gap:18px}
	.nav-item > a, .nav-item > button{font-size:11px;letter-spacing:.04em}
	.wordmark{display:inline-block;font-size:11px;letter-spacing:.16em}
	.brand{gap:10px}
	.ms-logo{width:36px;height:36px;flex:0 0 36px}
	/* hide wishlist + account icons; keep search + cart */
	.icon-btn[aria-label="Paskyra"]{display:none}
	.promo{padding:10px 18px;font-size:12.5px}
	/* stats: 4 -> 4 still fits at 768; force 2x2 only below 600 */
	.stats-row{grid-template-columns:repeat(4,1fr)}
	.stat{padding:30px 12px}
	.stat .num{font-size:34px}
	.stat .label{font-size:12px}
	/* hero: KEEP 2-col with tighter padding */
	.hero{padding:64px 0 80px}
	.hero-grid{grid-template-columns:55fr 45fr;gap:36px;align-items:center}
	.hero h1{font-size:48px}
	.hero .lede{font-size:16px;max-width:none}
	.hero-portrait{max-width:100%;width:100%;aspect-ratio:4/5}
	.hero-portrait img{transform:none!important;width:100%;height:100%;object-fit:cover;object-position:center 25%}
	/* about: KEEP 2-col */
	.about-grid{grid-template-columns:38fr 62fr;gap:40px;align-items:center}
	.about-portrait-wrap{max-width:300px;margin:0 auto}
	.about-portrait{max-width:100%;width:100%}
	.quote{font-size:26px}
	/* gga: KEEP 2-col, smaller padding */
	.gga-intro-grid{grid-template-columns:1fr 1fr;min-height:440px}
	.gga-img{min-height:0}
	.gga-img img{width:100%;height:100%;object-fit:cover}
	.gga-copy{padding:56px 32px}
	.gga-copy h2{font-size:34px}
	/* featured course: KEEP 2-col */
	.fc-grid{grid-template-columns:5fr 6fr;gap:36px;align-items:center}
	.fc-img{aspect-ratio:4/5;max-width:100%}
	.fc-img img{width:100%;height:100%;object-fit:cover}
	.fc-copy h2{font-size:30px}
	/* tiers stack to 1-col below 900 (3 cards too cramped at this width) */
	.tier-grid{grid-template-columns:1fr;gap:20px;max-width:520px}
	.tier.featured{transform:none;order:-1}
	.tier.featured:hover{transform:translateY(-2px)}
	/* categories: 2x2 */
	.cat-grid{grid-template-columns:1fr 1fr;gap:18px}
	.cat{padding:28px 24px;min-height:0}
	/* products: 2x2 */
	.prod-grid{grid-template-columns:1fr 1fr;gap:18px}
	/* lead magnet: KEEP 2-col */
	.lead-grid{grid-template-columns:1.4fr 1fr;gap:48px}
	.lead-img{max-width:240px;margin-left:auto}
	.lead h2{font-size:34px}
	/* footer: stack to a single column, social below nav */
	.footer-inner{grid-template-columns:1fr;gap:32px;text-align:center}
	.foot-brand p{margin-left:auto;margin-right:auto}
	.foot-nav ul{justify-content:center}
	.foot-social{justify-content:center}
	.foot-bottom{flex-direction:column;gap:12px;padding:24px clamp(20px, 4vw, 48px) 0;text-align:center;margin-top:32px}
	/* slider — uses clamp from base */
	.course-card{flex:0 0 calc(33.333% - 16px)}
	/* sticky bar appears at tablet */
	.mobile-cta{display:flex}
	body{padding-bottom:64px}
}

/* small tablet / large mobile: 480-767 (collapse nav into hamburger; STACK 2-col blocks; cap image heights) */
@media (max-width: 767px){
	section{padding:64px 0}
	h2{font-size:32px}
	/* HAMBURGER takes over here */
	.nav-links{display:none}
	.hamburger{
		display:inline-flex;align-items:center;justify-content:center;
		width:36px;height:36px;border-radius:50%;
	}
	.nav-inner{padding:11px clamp(16px, 4vw, 28px);gap:10px}
	.wordmark{display:inline-block;font-size:11px;letter-spacing:.16em}
	/* hide search too at this width; keep cart + pill + hamburger */
	.icon-btn[aria-label="Paieška"]{display:none}
	.promo{padding:9px 14px;font-size:11.5px;flex-wrap:wrap}
	.promo .left{flex:1;min-width:0}
	/* hero stacks, image capped */
	.hero{padding:40px 0 56px}
	.hero-grid{grid-template-columns:1fr;gap:28px}
	.hero-portrait{order:-1;max-width:100%;margin:0 auto;width:100%;max-height:380px;aspect-ratio:auto;height:380px}
	.hero-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 22%;transform:none!important}
	.hero h1{font-size:40px}
	.hero .lede{font-size:15px;max-width:none}
	/* stats 2x2 */
	.stats-row{grid-template-columns:repeat(2,1fr)}
	.stat{border-bottom:1px solid rgba(207,167,135,.4);padding:28px 16px}
	.stat:nth-child(2){border-right:0}
	.stat:nth-child(3),.stat:nth-child(4){border-bottom:0}
	.stat .num{font-size:36px}
	/* about stacks */
	.about-grid{grid-template-columns:1fr;gap:36px}
	.about-portrait{max-width:300px}
	.about-portrait-wrap{max-width:340px}
	.about p{margin-left:auto;margin-right:auto}
	.quote{font-size:24px}
	/* gga stacks, image capped */
	.gga-intro-grid{grid-template-columns:1fr;min-height:0}
	.gga-img{min-height:0;height:340px}
	.gga-img img{width:100%;height:100%;object-fit:cover;object-position:center}
	.gga-copy{padding:48px 24px}
	.gga-copy h2{font-size:32px}
	/* featured course stacks, image capped */
	.fc-grid{grid-template-columns:1fr;gap:28px}
	.fc-img{aspect-ratio:auto;height:360px}
	.fc-img img{width:100%;height:100%;object-fit:cover;object-position:center}
	.fc-copy h2{font-size:28px}
	/* tiers stack */
	.tier-grid{grid-template-columns:1fr;gap:18px;max-width:460px}
	.tier.featured{transform:none;order:-1}
	/* categories 2x2 stays */
	.cat-grid{grid-template-columns:1fr 1fr;gap:14px}
	.cat{padding:24px 22px;min-height:0}
	/* products 2x2 */
	.prod-grid{grid-template-columns:1fr 1fr;gap:14px}
	/* lead magnet stacks */
	.lead-grid{grid-template-columns:1fr;gap:32px}
	.lead-img{margin:0 auto;max-width:200px}
	.lead h2{font-size:30px}
	/* slider */
	.courses-head{flex-direction:column;align-items:flex-start;gap:8px}
	.course-card{flex:0 0 78%}
	/* footer already stacked from 899; nothing to override here */
	.mobile-cta{display:flex}
	body{padding-bottom:64px}
}

/* small mobile: <=480 (logo only, no wordmark; image height capped tighter) */
@media (max-width: 767px){
	/* Prevent iOS Safari from auto-zooming on focus — any focusable form
	   field below 16px triggers the zoom. Bumps inline-styled inputs from
	   14.5px (intake / contact forms) up to 16px on mobile only. */
	input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
	input[type="number"],input[type="search"],input[type="url"],textarea,select{
		font-size:16px!important;
	}
}

@media (max-width: 480px){
	.wordmark{display:none}
	.cat-grid{grid-template-columns:1fr}
	.prod-grid{grid-template-columns:1fr 1fr}
	.hero h1{font-size:36px}
	.hero .lede{font-size:14.5px}
	.hero-portrait{height:320px}
	.gga-img{height:280px}
	.fc-img{height:300px}
	.hero .ctas,.about .ctas,.gga-copy .ctas,.fc-copy .ctas{flex-direction:column;gap:10px;align-items:stretch}
	.hero .ctas .btn,.about .ctas .btn,.gga-copy .ctas .btn,.fc-copy .ctas .btn{width:100%;justify-content:center}
	.stats .stat-pill{position:static;display:block;margin:24px auto 0;width:fit-content;text-align:center;font-size:9px;letter-spacing:.12em}
	.stats{padding-bottom:48px}
	.stat{padding:24px 8px}
	.stat .num{font-size:30px;white-space:nowrap}
	.stat .label{font-size:10.5px;letter-spacing:.04em}
	.quote{font-size:22px!important}
	.gga-copy h2{font-size:28px}
	h2{font-size:30px}
	.fc-copy h2{font-size:26px}
	.lead h2{font-size:26px}
	.lead input{min-width:0;width:100%}
	.lead form{flex-direction:column}
	.lead form .btn{width:100%;justify-content:center}
	.foot-nav ul{flex-direction:column;gap:12px}
	.promo{font-size:11px;padding:8px 12px;flex-wrap:wrap}
	.promo .hide-narrow{display:none}
	.promo button{padding:6px 8px;font-size:13px}
	.eyebrow{letter-spacing:.16em;font-size:10.5px}
	.section-head{margin-bottom:40px}
	.nav-pill{padding:0 12px;font-size:11.5px;height:34px;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}
	.icon-btn{width:32px;height:32px}
	.icon-btn[data-hide-narrow]{display:none}
	.nav-right{gap:0}
	.promo{flex-wrap:wrap;justify-content:center}
	.promo>span:first-child{white-space:normal;text-align:center;flex:1 1 100%}
	.nav-inner{gap:6px}
	.courses-head{gap:8px}
	.slider-foot{gap:18px;margin-top:32px}
	.about-portrait-wrap{max-width:340px;padding-bottom:36px}
	.about-portrait-wrap .sig{right:0!important;bottom:-4px!important;font-size:34px}
	.fc-priceblock .now{font-size:30px}
	.fc-priceblock .old{font-size:18px}
	.tier{padding:28px 22px}
	.tier .price .num{font-size:36px}
}

/* ============================================================
   WooCommerce brand pass.
   We don't override Woo's PHP templates — just style its class names to
   match our tokens. Cart / checkout / shop / single-product all benefit.
   ============================================================ */

.woocommerce, .woocommerce-page { font-family: 'Poppins', sans-serif; color: var(--ms-ink); }

.woocommerce > h1:first-child,
.woocommerce-page > h1:first-child,
.woocommerce .page-title { font-family: 'Poppins', sans-serif; font-size: 36px; letter-spacing: -.015em; color: var(--ms-ink); margin: 0 0 28px; }

/* Buttons → match our .btn-solid */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt {
	display: inline-flex; align-items: center; justify-content: center;
	height: 46px; padding: 0 22px; border-radius: 999px;
	background: var(--ms-accent); color: #fff;
	font-family: 'Poppins', sans-serif; font-size: 14.5px; font-weight: 500; letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(139,73,140,.20);
	border: 0; cursor: pointer;
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover {
	background: var(--ms-accent-warm); transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(139,73,140,.30);
}
.woocommerce a.button.wc-backward,
.woocommerce a.button[name="update_cart"] {
	background: transparent; color: var(--ms-ink); border: 1px solid rgba(5,4,40,.18); box-shadow: none;
}
.woocommerce a.button.wc-backward:hover { border-color: var(--ms-ink); background: var(--ms-bg); }

/* Prices */
.woocommerce .price,
.woocommerce-Price-amount {
	font-family: 'Montserrat', sans-serif; font-weight: 600; color: var(--ms-deeper); letter-spacing: -.005em;
}
.woocommerce .price del .amount { font-weight: 400; color: var(--ms-ink-soft); }

/* Form fields — cart, checkout, login */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"] {
	height: 46px; padding: 0 16px;
	border: 1px solid rgba(5,4,40,.18); background: #fff; border-radius: 4px;
	font-family: 'Poppins', sans-serif; font-size: 14.5px; color: var(--ms-ink); outline: none;
	transition: border-color .2s ease;
}
.woocommerce form .form-row textarea { height: auto; padding: 14px 16px; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--ms-accent); }
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--ms-ink); margin-bottom: 6px; }

/* Cart & checkout tables */
.woocommerce table.shop_table,
.woocommerce table.cart {
	border: 0; border-collapse: separate; border-spacing: 0;
	background: transparent;
}
.woocommerce table.shop_table th,
.woocommerce table.cart th {
	font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase; color: var(--ms-ink-soft);
	padding: 14px 18px; background: transparent; border-bottom: 1px solid rgba(207,167,135,.4);
}
.woocommerce table.shop_table td,
.woocommerce table.cart td {
	padding: 18px; background: var(--ms-surface); border-bottom: 1px solid rgba(207,167,135,.25);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }

/* Order summary box */
.woocommerce-checkout-review-order { background: var(--ms-surface); padding: 24px 26px; border-radius: 6px; box-shadow: var(--shadow-card); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 6px; padding: 14px 22px; margin-bottom: 22px;
	font-size: 14.5px;
}
.woocommerce-message { background: rgba(139,73,140,.08); color: var(--ms-accent); border-left: 3px solid var(--ms-accent); }
.woocommerce-info    { background: rgba(85,41,107,.06); color: var(--ms-ink-soft); border-left: 3px solid var(--ms-ink-soft); }
.woocommerce-error   { background: rgba(193,74,58,.08); color: #c14a3a; border-left: 3px solid #c14a3a; }
.woocommerce-message a, .woocommerce-info a { color: inherit; font-weight: 500; }

/* Shop archive */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
	list-style: none; margin: 0; padding: 0;
}
.woocommerce ul.products li.product {
	background: #fff; border-radius: 6px; padding: 14px 14px 18px; margin: 0 !important;
	width: auto !important; float: none !important; clear: none !important;
	display: flex; flex-direction: column; gap: 12px;
	border: 1px solid rgba(5,4,40,.06);
	transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); border-color: rgba(207,167,135,.4); }
.woocommerce ul.products li.product img { border-radius: 4px; aspect-ratio: 1; object-fit: cover; width: 100%; height: auto; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px; font-weight: 500; color: var(--ms-ink); line-height: 1.4; margin: 0;
}
.woocommerce ul.products li.product .price { font-size: 17px; }
.woocommerce ul.products li.product a.button.add_to_cart_button {
	align-self: flex-start; height: 38px; padding: 0 16px; font-size: 12.5px;
	background: transparent; color: var(--ms-ink); border: 1px solid rgba(5,4,40,.16); box-shadow: none;
}
.woocommerce ul.products li.product a.button.add_to_cart_button:hover {
	background: var(--ms-deeper); border-color: var(--ms-deeper); color: #fff;
}

@media (max-width: 1079px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; } }

/* Single product */
.woocommerce div.product div.summary h1.product_title { font-size: 36px; letter-spacing: -.01em; margin: 0 0 18px; }
.woocommerce div.product .price { font-size: 28px; font-family: 'Montserrat', sans-serif; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 18px; }

/* Quantity input */
.woocommerce .quantity .qty {
	height: 46px; padding: 0 10px; min-width: 64px; border: 1px solid rgba(5,4,40,.18); border-radius: 4px;
	font-family: 'Montserrat', sans-serif; font-size: 14.5px; text-align: center;
}

/* My-account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: 12px 16px; border-radius: 4px; font-size: 14px; font-weight: 500;
	color: var(--ms-ink); text-decoration: none; transition: background .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ms-bg); color: var(--ms-accent); }

/* ============================================================
   Responsive grid utilities for page templates.
   Used by akademija / apie / kontaktai / kursai archive to keep
   their custom column ratios but collapse to 1-col on mobile.
   ============================================================ */
.ms-stack-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.ms-stack-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.ms-stack-sidebar{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.ms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
@media (max-width:899px){
	.ms-stack-3{grid-template-columns:1fr 1fr;gap:20px}
}
@media (max-width:767px){
	.ms-stack-2{grid-template-columns:1fr;gap:24px}
	.ms-stack-sidebar{grid-template-columns:1fr;gap:32px}
}
@media (max-width:599px){
	.ms-stack-3{grid-template-columns:1fr;gap:18px}
	.ms-form-row{grid-template-columns:1fr;gap:14px}
}

/* ============================================================
   Section / prose utility classes — replaces inline `padding:80px 0 96px`
   and per-template `font-size:42px` h1 inlines. Use these on every section.
   ============================================================ */
.section-pad-default{padding:var(--ms-section-pad-y) 0 var(--ms-section-pad-y-hero)}
.section-pad-tight  {padding:var(--ms-section-pad-y-tight) 0 var(--ms-section-pad-y) }
.section-pad-hero   {padding:var(--ms-section-pad-y-hero) 0 var(--ms-section-pad-y-tight)}
.ms-h1-detail {font-size:var(--ms-h1-detail);line-height:1.1;letter-spacing:-.015em}
.ms-h1-archive{font-size:var(--ms-h1-archive);line-height:1.1;letter-spacing:-.015em}
.ms-h1-utility{font-size:var(--ms-h1-utility);line-height:1.2}
@media (max-width: 767px){
	.ms-h1-detail {font-size:36px}
	.ms-h1-archive{font-size:32px}
	.ms-h1-utility{font-size:28px}
}

/* Long-form prose container — applied to single post body, course body,
   apie-mane biography. Per NN/g + PMC9376262 (40-60yo reader cohort):
   18px desktop / 17px mobile, line-height 1.65, max-width 65ch. */
.ms-prose{font-size:18px;line-height:1.7;max-width:var(--ms-prose-max-width);color:var(--ms-ink)}
@media (max-width: 767px){
	.ms-prose{font-size:17px;line-height:1.65}
}
.ms-prose p{margin:0 0 1.2em}
.ms-prose p:last-child{margin-bottom:0}
.ms-prose a{color:var(--ms-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ms-prose a:hover{color:var(--ms-ink-soft)}

/* ============================================================
   Form system — applied to all intake/contact/lead-magnet forms.
   Replaces the inline `style="height:46px;border:1px..."` template
   spaghetti with a single, premium, owner-editable surface.
   ============================================================ */

/* Form surface — white card with hairline + soft shadow, replacing the
   flat beige container that read template-y. */
.ms-form-surface{
	background:var(--ms-surface);
	border:1px solid rgba(207,167,135,.35);
	border-radius:12px;
	padding:40px;
	box-shadow:0 14px 36px -22px rgba(85,41,107,.18), 0 1px 2px rgba(5,4,40,.04);
	margin-top:32px;
}
@media (max-width: 599px){
	.ms-form-surface{padding:26px 22px;border-radius:10px}
}

/* BASIC intake page — recap card uses .ms-form-surface so radius + shadow
   match the form below it. These rules style the inner content (eyebrow,
   price block, feature list) consistently with the homepage tier card. */
.basic-recap{padding:28px 32px;margin-top:0}
.basic-recap__eyebrow{
	font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.18em;
	text-transform:uppercase;color:var(--ms-accent);font-weight:600;margin-bottom:8px;
}
.basic-recap__price{
	display:flex;align-items:baseline;gap:6px;margin-bottom:18px;
	font-family:'Montserrat',sans-serif;color:var(--ms-ink);
}
.basic-recap__price .num{font-size:24px;font-weight:600;letter-spacing:-.005em}
.basic-recap__price .per{font-size:13px;color:var(--ms-ink-soft);font-weight:400}
.basic-recap__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.basic-recap__list li{
	font-size:14.5px;color:var(--ms-ink);line-height:1.5;
	display:flex;gap:10px;align-items:flex-start;
}
.basic-recap__list li::before{
	content:'';flex:0 0 6px;width:6px;height:6px;margin-top:9px;
	border-radius:50%;background:var(--ms-accent-rose);
}
@media (max-width:599px){
	.basic-recap{padding:22px 20px}
}

/* Inputs / textarea / select — 52px tall (56 on mobile), 1.5px border,
   8px radius, focus ring 2px accent + soft purple glow.
   Applied via .ms-input class so we can scope away from default WP styles. */
.ms-input,
.ms-form-surface input[type="text"],
.ms-form-surface input[type="email"],
.ms-form-surface input[type="tel"],
.ms-form-surface input[type="search"],
.ms-form-surface input[type="number"],
.ms-form-surface input[type="url"],
.ms-form-surface input[type="password"],
.ms-form-surface textarea,
.ms-form-surface select{
	width:100%;height:52px;padding:0 18px;
	background:#fff;color:var(--ms-ink);
	border:1.5px solid rgba(5,4,40,.10);border-radius:8px;
	font-family:inherit;font-size:15.5px;line-height:1.4;
	transition:border-color .18s ease, box-shadow .18s ease;
}
.ms-form-surface textarea{
	height:auto;min-height:120px;padding:14px 18px;line-height:1.55;
	resize:vertical;
}
.ms-form-surface input:focus,
.ms-form-surface textarea:focus,
.ms-form-surface select:focus,
.ms-input:focus{
	outline:none;
	border-color:var(--ms-accent);
	box-shadow:0 0 0 4px rgba(139,73,140,.14);
}
.ms-form-surface input:focus-visible,
.ms-form-surface textarea:focus-visible,
.ms-form-surface select:focus-visible{outline:none}

/* Labels — sit above the field with a touch more tracking for an
   architectural feel without crossing into magazine pastiche. */
.ms-field-label{
	display:block;font-size:13px;font-weight:600;
	color:var(--ms-ink);margin-bottom:8px;
	letter-spacing:.02em;
}

/* Custom radio + checkbox — `appearance: none` on the native, render via
   ::before. Static, no transforms, brand-accent fill on selected. */
.ms-form-surface input[type="radio"],
.ms-form-surface input[type="checkbox"]{
	appearance:none;-webkit-appearance:none;
	flex:0 0 20px;width:20px;height:20px;margin:0;padding:0;
	background:#fff;border:2px solid rgba(5,4,40,.30);
	cursor:pointer;
	transition:border-color .18s ease, background .18s ease;
	display:inline-grid;place-content:center;
}
.ms-form-surface input[type="radio"]{border-radius:50%}
.ms-form-surface input[type="checkbox"]{border-radius:4px}
.ms-form-surface input[type="radio"]:hover,
.ms-form-surface input[type="checkbox"]:hover{border-color:rgba(5,4,40,.55)}
.ms-form-surface input[type="radio"]:focus-visible,
.ms-form-surface input[type="checkbox"]:focus-visible{
	outline:none;border-color:var(--ms-accent);
	box-shadow:0 0 0 3px rgba(139,73,140,.18);
}
.ms-form-surface input[type="radio"]::before{
	content:'';width:10px;height:10px;border-radius:50%;
	transform:scale(0);background:var(--ms-accent);
	transition:transform .18s ease;
}
.ms-form-surface input[type="radio"]:checked{border-color:var(--ms-accent)}
.ms-form-surface input[type="radio"]:checked::before{transform:scale(1)}
.ms-form-surface input[type="checkbox"]::before{
	content:'';width:12px;height:12px;
	transform:scale(0);
	background:var(--ms-accent);
	clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
	transition:transform .18s ease;
}
.ms-form-surface input[type="checkbox"]:checked{border-color:var(--ms-accent);background:#fff}
.ms-form-surface input[type="checkbox"]:checked::before{transform:scale(1)}

/* Plan option cards — beige bg, transparent border, becomes accent +
   warm tint on selection. `:has(input:checked)` lights up the parent. */
.ms-plan-card{
	display:flex;align-items:flex-start;gap:14px;
	padding:16px 18px;background:var(--ms-bg);
	border:1.5px solid rgba(5,4,40,.08);border-radius:8px;
	cursor:pointer;margin-bottom:10px;
	transition:border-color .18s ease, background .18s ease;
}
.ms-plan-card:hover{border-color:rgba(5,4,40,.22)}
.ms-plan-card:has(input:checked){
	border-color:var(--ms-accent);
	background:rgba(207,167,135,.14);
}
.ms-plan-card input[type="radio"]{margin-top:3px}
.ms-plan-card-title{
	display:block;font-size:15.5px;font-weight:600;
	color:var(--ms-ink);margin-bottom:4px;
}
.ms-plan-card-sub{
	font-size:13.5px;color:var(--ms-ink-soft);line-height:1.5;
}

/* Hairline divider between form fieldsets (payment block / contact block). */
.ms-form-divider{
	border:0;border-top:1px solid rgba(207,167,135,.35);
	margin:8px 0 24px;
}

/* Reassurance panel — re-style the existing `.ms-form-reassure` from #5
   with the 4px left accent stripe so it reads as a curated callout. */
.ms-form-reassure{
	position:relative;
	margin:18px 0 22px;padding:18px 20px 18px 24px;
	background:var(--ms-bg);
	border:1px solid rgba(207,167,135,.35);
	border-left:4px solid var(--ms-accent);
	border-radius:6px;
}

/* Submit button loading state — JS sets `aria-busy="true"` + `disabled`.
   CSS dims the button + swaps the cursor; no spinner gif. */
.btn[aria-busy="true"]{
	opacity:.7;cursor:wait;
}
.btn[aria-busy="true"]:hover{transform:none}

/* Lead-magnet modal field upgrade — visible label above input, matches
   form-surface focus ring. */
.ms-modal__field span{font-size:13px;font-weight:600;letter-spacing:.02em}
.ms-modal__field input{
	border:1.5px solid rgba(5,4,40,.10);border-radius:8px;
	transition:border-color .18s ease, box-shadow .18s ease;
}
.ms-modal__field input:focus{
	outline:none;
	border-color:var(--ms-accent);
	box-shadow:0 0 0 4px rgba(139,73,140,.14);
}

/* ============================================================
   Motion utilities — scroll fade-in. Add `.ms-reveal` to any
   element to opt in; theme.js applies `.is-visible` on first
   viewport entry. Honors prefers-reduced-motion (JS sets the
   final state immediately and bails out of the observer).
   ============================================================ */
.ms-reveal{
	opacity:0;transform:translateY(20px);
	transition:opacity .6s cubic-bezier(.2,.6,.2,1), transform .6s cubic-bezier(.2,.6,.2,1);
	will-change:opacity, transform;
}
.ms-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
	.ms-reveal{opacity:1;transform:none;transition:none}
}
/* Course archive: "Atvyksta netrukus" placeholder cards used to pad
   the 3-col grid when fewer than 3 courses are published. Signals
   "growing" rather than "empty" — important before the catalog fills out. */
.course-card--soon{
	background:var(--ms-bg-soft);border:1px dashed rgba(207,167,135,.55);
	border-radius:6px;padding:14px;
	display:flex;flex-direction:column;gap:14px;
	transition:none;
}
.course-card--soon .ci{
	aspect-ratio:4/5;border-radius:4px;background:transparent;
	display:flex;align-items:center;justify-content:center;
	color:var(--ms-accent-warm);
}
.course-card__soon-icon{display:inline-flex;align-items:center;justify-content:center;opacity:.6}
.course-card__soon-badge{
	align-self:flex-start;
	background:rgba(207,167,135,.25);color:var(--ms-ink-soft);
	font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;
	padding:5px 10px;border-radius:999px;
}

/* Lead-magnet "kas viduje" preview bullets + modal styles.
   Two-step lead-magnet: bullets sit inline above a single CTA button;
   clicking the button opens the modal with the email field. Both
   surfaces share the same bullet list so the value prop is visible
   before AND while the user types. */
.lead-bullets{
	list-style:none;margin:18px 0 22px;padding:0;
	display:flex;flex-direction:column;gap:10px;
	font-size:14.5px;line-height:1.5;color:var(--ms-ink);
}
.lead-bullets li{display:flex;align-items:flex-start;gap:10px}
.lead-bullets .check, .ms-modal__bullets .check{
	display:inline-flex;align-items:center;justify-content:center;
	width:18px;height:18px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:10px;font-weight:700;line-height:1;flex:0 0 18px;margin-top:2px;
}
.ms-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center}
.ms-modal[hidden]{display:none}
.ms-modal__backdrop{position:absolute;inset:0;background:rgba(5,4,40,.5);backdrop-filter:blur(2px)}
.ms-modal__panel{
	position:relative;z-index:1;
	background:var(--ms-surface);border-radius:8px;
	width:min(92vw, 460px);max-height:calc(100vh - 32px);overflow:auto;
	padding:36px 32px 32px;
	box-shadow:0 30px 70px -20px rgba(5,4,40,.4);
}
.ms-modal__close{
	position:absolute;top:14px;right:14px;
	width:36px;height:36px;border-radius:50%;
	background:var(--ms-bg);color:var(--ms-ink);
	display:inline-flex;align-items:center;justify-content:center;
	cursor:pointer;border:0;transition:background .2s;
}
.ms-modal__close:hover{background:var(--ms-bg-soft)}
.ms-modal__head h3{font-size:24px;line-height:1.2;margin:10px 0 16px;letter-spacing:-.01em}
.ms-modal__bullets{
	list-style:none;margin:0 0 22px;padding:0;
	display:flex;flex-direction:column;gap:9px;
	font-size:14px;line-height:1.5;color:var(--ms-ink);
}
.ms-modal__bullets li{display:flex;align-items:flex-start;gap:10px}
.ms-modal__form{display:flex;flex-direction:column;gap:14px}
.ms-modal__field span{display:block;font-size:13px;font-weight:600;color:var(--ms-ink);margin-bottom:6px}
.ms-modal__field input{
	width:100%;height:48px;padding:0 16px;
	border:1px solid rgba(5,4,40,.18);background:#fff;border-radius:4px;
	font-family:inherit;font-size:15px;color:var(--ms-ink);
}
.ms-modal__field input:focus{outline:none;border-color:var(--ms-accent);box-shadow:0 0 0 3px rgba(139,73,140,.12)}
.ms-modal__micro{margin:6px 0 0;font-size:12px;color:var(--ms-ink-soft);text-align:center}
.ms-modal__success{text-align:center;padding:12px 0}
.ms-modal__success-icon{
	width:54px;height:54px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:24px;font-weight:700;margin:0 auto 16px;
}
.ms-modal__success h3{font-size:22px;margin:0 0 10px}
.ms-modal__success p{font-size:14.5px;line-height:1.6;color:var(--ms-ink-soft);max-width:340px;margin:0 auto}

/* Hero parallax target — JS writes transform inline each rAF tick;
   we add will-change to keep it on the GPU and skip transition so
   the position tracks scroll exactly without lag. */
@media (min-width: 900px) and (hover: hover){
	.hero-portrait{will-change:transform}
}
