/* ── HEADER ───────────────────────────── */
.smp-header{position:sticky;top:0;z-index:800;background:var(--smp-header-bg);border-bottom:1px solid var(--smp-header-border);box-shadow:var(--smp-shadow-sm)}
.smp-header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:1rem;gap:var(--smp-gap-4);position:relative}
.smp-header__logo{display:flex;align-items:center;gap:.5rem;font-weight:var(--smp-weight-black);font-size:var(--smp-size-md);color:var(--smp-slate-900);letter-spacing:-.02em;flex-shrink:0}
.smp-header__logo span{color:var(--smp-accent)}
.smp-header__logo img{width:32px;height:32px;border-radius:var(--smp-r-sm)}
.smp-nav{display:flex;align-items:center;gap:var(--smp-gap-2)}
.smp-nav__link{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-semi);color:var(--smp-slate-600);padding:.35em .6em;border-radius:var(--smp-r-md);transition:color var(--smp-transition),background var(--smp-transition)}
.smp-nav__link:hover,.smp-nav__link[aria-current="page"]{color:var(--smp-accent);background:var(--smp-teal-50)}
.smp-nav__cta{margin-left:var(--smp-gap-2)}
.smp-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border-radius:var(--smp-r-md);padding:8px;transition:background var(--smp-transition)}
.smp-hamburger:hover{background:var(--smp-slate-100)}
.smp-hamburger__bar{width:100%;height:2px;background:var(--smp-slate-800);border-radius:2px;transition:transform var(--smp-transition),opacity var(--smp-transition)}
.smp-hamburger[aria-expanded="true"] .smp-hamburger__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.smp-hamburger[aria-expanded="true"] .smp-hamburger__bar:nth-child(2){opacity:0}
.smp-hamburger[aria-expanded="true"] .smp-hamburger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:820px){
.smp-hamburger{display:flex}
.smp-nav{display:none;position:absolute;top:100%;left:-clamp(1rem,4vw,2.5rem);right:-clamp(1rem,4vw,2.5rem);background:var(--smp-white);border-top:1px solid var(--smp-border);border-bottom:1px solid var(--smp-border);flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;box-shadow:var(--smp-shadow-md);z-index:900}
.smp-nav.is-open{display:flex}
.smp-nav__link{padding:.7em 1rem;border-radius:var(--smp-r-md);display:block;width:100%}
.smp-nav__cta{margin:0;margin-top:.5rem;text-align:center;justify-content:center}
}

/* ── FOOTER ───────────────────────────── */
.smp-footer{background:var(--smp-footer-bg);color:var(--smp-footer-text);padding-block:var(--smp-gap-7) var(--smp-gap-5)}
.smp-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--smp-gap-6);margin-bottom:var(--smp-gap-6)}
.smp-footer__brand{max-width:280px}
.smp-footer__logo{font-size:var(--smp-size-lg);font-weight:var(--smp-weight-black);color:var(--smp-white);letter-spacing:-.02em;margin-bottom:var(--smp-gap-3)}
.smp-footer__logo span{color:var(--smp-footer-accent)}
.smp-footer__desc{font-size:var(--smp-size-sm);color:var(--smp-footer-muted);line-height:var(--smp-lead-loose);max-width:26ch}
.smp-footer__col-title{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--smp-white);margin-bottom:var(--smp-gap-3)}
.smp-footer__links{display:flex;flex-direction:column;gap:.6rem}
.smp-footer__link{font-size:var(--smp-size-sm);color:var(--smp-footer-muted);transition:color var(--smp-transition)}
.smp-footer__link:hover{color:var(--smp-footer-accent)}
.smp-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--smp-gap-4);display:flex;flex-wrap:wrap;gap:var(--smp-gap-3);justify-content:space-between;align-items:center}
.smp-footer__copy{font-size:var(--smp-size-xs);color:var(--smp-footer-muted)}
.smp-footer__legal{display:flex;gap:var(--smp-gap-3);flex-wrap:wrap}
.smp-footer__legal-link{font-size:var(--smp-size-xs);color:var(--smp-footer-muted);transition:color var(--smp-transition)}
.smp-footer__legal-link:hover{color:var(--smp-footer-accent)}
@media(max-width:900px){.smp-footer__grid{grid-template-columns:1fr 1fr;gap:var(--smp-gap-5)}}
@media(max-width:540px){.smp-footer__grid{grid-template-columns:1fr}}

/* ── COOKIE BANNER ─────────────────────── */
.smp-cookie{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--smp-slate-900);color:var(--smp-slate-200);padding:var(--smp-gap-4);border-top:3px solid var(--smp-accent);transform:translateY(100%);transition:transform var(--smp-transition-slow);will-change:transform}
.smp-cookie.is-visible{transform:translateY(0)}
.smp-cookie__inner{display:flex;flex-wrap:wrap;gap:var(--smp-gap-4);align-items:center;justify-content:space-between;max-width:var(--smp-w-page);margin-inline:auto}
.smp-cookie__text{font-size:var(--smp-size-sm);line-height:var(--smp-lead-body);flex:1;min-width:240px}
.smp-cookie__text a{color:var(--smp-teal-300);text-decoration:underline}
.smp-cookie__actions{display:flex;gap:var(--smp-gap-2);flex-shrink:0;flex-wrap:wrap}

/* ── HOME HERO ─────────────────────────── */
.smp-hero{background:var(--smp-bg-band);color:var(--smp-white);padding-block:var(--smp-gap-8) var(--smp-gap-7);position:relative;overflow:hidden}
.smp-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(0,0,0,.12) 0%,transparent 70%);pointer-events:none}
.smp-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--smp-gap-7);align-items:center;position:relative;z-index:1}
.smp-hero__content{}
.smp-hero__eyebrow{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--smp-teal-100);margin-bottom:var(--smp-gap-3)}
.smp-hero__title{font-size:clamp(2.2rem,6vw,4rem);font-weight:var(--smp-weight-black);line-height:1.05;letter-spacing:-.03em;margin-bottom:var(--smp-gap-4)}
.smp-hero__title em{font-style:normal;color:var(--smp-accent-gold)}
.smp-hero__body{font-size:var(--smp-size-md);line-height:var(--smp-lead-loose);color:rgba(255,255,255,.85);margin-bottom:var(--smp-gap-5);max-width:46ch}
.smp-hero__actions{display:flex;flex-wrap:wrap;gap:var(--smp-gap-3)}
.smp-hero__visual{position:relative;border-radius:var(--smp-r-xl);overflow:hidden;aspect-ratio:4/3;background:var(--smp-teal-600)}
.smp-hero__visual img{width:100%;height:100%;object-fit:cover}
.smp-hero__badge{position:absolute;bottom:var(--smp-gap-3);left:var(--smp-gap-3);background:var(--smp-white);color:var(--smp-slate-800);border-radius:var(--smp-r-lg);padding:.6rem 1rem;font-size:var(--smp-size-sm);font-weight:var(--smp-weight-bold);box-shadow:var(--smp-shadow-lg);display:flex;align-items:center;gap:.5rem}
.smp-hero__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--smp-accent);animation:smp-pulse 1.5s ease-in-out infinite}
@keyframes smp-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
@media(max-width:820px){.smp-hero__grid{grid-template-columns:1fr}.smp-hero__visual{aspect-ratio:16/9}}

/* ── STAT RIBBON ────────────────────────── */
.smp-statstrip{padding-block:var(--smp-gap-5);background:var(--smp-white);border-bottom:1px solid var(--smp-border)}
.smp-statstrip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--smp-gap-4);text-align:center}
.smp-statstrip__item{}
.smp-statstrip__num{font-size:var(--smp-size-2xl);font-weight:var(--smp-weight-black);color:var(--smp-accent);line-height:1;letter-spacing:-.03em}
.smp-statstrip__label{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-mid);color:var(--smp-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.3em}
@media(max-width:600px){.smp-statstrip__grid{grid-template-columns:repeat(2,1fr)}}

/* ── EDITORIAL BAND ─────────────────────── */
.smp-editorial{padding-block:var(--smp-gap-8)}
.smp-editorial__split{display:grid;grid-template-columns:5fr 7fr;gap:var(--smp-gap-7);align-items:start}
.smp-editorial__split--flip{grid-template-columns:7fr 5fr}
.smp-editorial__split--flip .smp-editorial__visual{order:-1}
.smp-editorial__text-zone{}
.smp-editorial__visual{border-radius:var(--smp-r-xl);overflow:hidden;aspect-ratio:4/3;background:var(--smp-slate-100)}
.smp-editorial__visual img{width:100%;height:100%;object-fit:cover;transition:transform var(--smp-transition-slow)}
.smp-editorial__visual:hover img{transform:scale(1.03)}
@media(max-width:820px){.smp-editorial__split,.smp-editorial__split--flip{grid-template-columns:1fr}.smp-editorial__split--flip .smp-editorial__visual{order:0}}

/* ── FEATURE CARDS ─────────────────────── */
.smp-features{padding-block:var(--smp-gap-7)}
.smp-features__header{max-width:600px;margin-bottom:var(--smp-gap-6)}
.smp-features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--smp-gap-4)}
.smp-card{background:var(--smp-white);border:1px solid var(--smp-border);border-radius:var(--smp-r-xl);padding:var(--smp-gap-5);transition:box-shadow var(--smp-transition),border-color var(--smp-transition),transform var(--smp-transition)}
.smp-card:hover{box-shadow:var(--smp-shadow-lg);border-color:var(--smp-border-accent);transform:translateY(-3px)}
.smp-card__icon{width:48px;height:48px;border-radius:var(--smp-r-lg);background:var(--smp-teal-50);display:flex;align-items:center;justify-content:center;margin-bottom:var(--smp-gap-3);font-size:1.5rem}
.smp-card__icon img{width:28px;height:28px;object-fit:contain}
.smp-card__num{font-size:var(--smp-size-3xl);font-weight:var(--smp-weight-black);color:var(--smp-teal-100);line-height:1;margin-bottom:.2em}
.smp-card__title{font-size:var(--smp-size-md);font-weight:var(--smp-weight-bold);margin-bottom:var(--smp-gap-2);color:var(--smp-text)}
.smp-card__body{font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-loose);max-width:100%}
.smp-card--accent{background:var(--smp-accent);border-color:var(--smp-accent);color:var(--smp-white)}
.smp-card--accent .smp-card__title{color:var(--smp-white)}
.smp-card--accent .smp-card__body{color:rgba(255,255,255,.8)}
.smp-card--accent .smp-card__num{color:rgba(255,255,255,.2)}
.smp-card--accent:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,184,138,.4)}
@media(max-width:900px){.smp-features__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.smp-features__grid{grid-template-columns:1fr}}

/* ── TACTICAL BAND ─────────────────────── */
.smp-tactics{padding-block:var(--smp-gap-8)}
.smp-tactics__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--smp-gap-7);align-items:center}
.smp-tactics__checklist{display:flex;flex-direction:column;gap:var(--smp-gap-3)}
.smp-tactics__item{display:flex;gap:var(--smp-gap-3);align-items:flex-start;padding:var(--smp-gap-3) var(--smp-gap-4);background:rgba(255,255,255,.12);border-radius:var(--smp-r-lg);border:1px solid rgba(255,255,255,.15)}
.smp-tactics__item-mark{width:28px;height:28px;border-radius:50%;background:var(--smp-white);color:var(--smp-accent);font-weight:var(--smp-weight-black);font-size:var(--smp-size-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1em}
.smp-tactics__item-text{}
.smp-tactics__item-label{font-weight:var(--smp-weight-bold);font-size:var(--smp-size-sm);margin-bottom:.2em}
.smp-tactics__item-desc{font-size:var(--smp-size-xs);opacity:.8}
@media(max-width:820px){.smp-tactics__layout{grid-template-columns:1fr}}

/* ── GAME LIST / RANKED ─────────────────── */
.smp-ranklist{padding-block:var(--smp-gap-7)}
.smp-ranklist__table{display:flex;flex-direction:column;gap:.75rem;margin-top:var(--smp-gap-5)}
.smp-rankrow{display:grid;grid-template-columns:2.5rem 80px 1fr auto;gap:var(--smp-gap-3);align-items:center;background:var(--smp-white);border:1px solid var(--smp-border);border-radius:var(--smp-r-lg);padding:.75rem var(--smp-gap-4);transition:box-shadow var(--smp-transition),border-color var(--smp-transition)}
.smp-rankrow:hover{box-shadow:var(--smp-shadow-md);border-color:var(--smp-border-accent)}
.smp-rankrow__pos{font-size:var(--smp-size-md);font-weight:var(--smp-weight-black);color:var(--smp-teal-400);text-align:center}
.smp-rankrow__thumb{border-radius:var(--smp-r-md);overflow:hidden;aspect-ratio:4/3;background:var(--smp-slate-100)}
.smp-rankrow__thumb img{width:100%;height:100%;object-fit:cover}
.smp-rankrow__info{}
.smp-rankrow__name{font-weight:var(--smp-weight-bold);font-size:var(--smp-size-sm);color:var(--smp-text)}
.smp-rankrow__meta{font-size:var(--smp-size-xs);color:var(--smp-text-muted);margin-top:.2em}
.smp-rankrow__score{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-bold);color:var(--smp-accent);background:var(--smp-teal-50);padding:.3em .8em;border-radius:var(--smp-r-pill);white-space:nowrap}
@media(max-width:600px){.smp-rankrow{grid-template-columns:2rem 60px 1fr auto}}

/* ── TABS / ACCORDION ───────────────────── */
.smp-tabs__nav{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:2px solid var(--smp-border);padding-bottom:0;margin-bottom:var(--smp-gap-5)}
.smp-tab-btn{padding:.65em 1.3em;font-size:var(--smp-size-sm);font-weight:var(--smp-weight-semi);color:var(--smp-text-muted);border-radius:var(--smp-r-md) var(--smp-r-md) 0 0;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color var(--smp-transition),border-color var(--smp-transition),background var(--smp-transition)}
.smp-tab-btn:hover{color:var(--smp-accent);background:var(--smp-teal-50)}
.smp-tab-btn[aria-selected="true"]{color:var(--smp-accent);border-bottom-color:var(--smp-accent);background:transparent;font-weight:var(--smp-weight-bold)}
.smp-tab-panel{display:none}
.smp-tab-panel[aria-hidden="false"]{display:block}

.smp-accordion{}
.smp-accordion__item{border:1px solid var(--smp-border);border-radius:var(--smp-r-lg);overflow:hidden;margin-bottom:.5rem}
.smp-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--smp-gap-4) var(--smp-gap-5);background:var(--smp-white);font-weight:var(--smp-weight-semi);font-size:var(--smp-size-sm);text-align:left;gap:var(--smp-gap-3);transition:background var(--smp-transition)}
.smp-accordion__trigger:hover{background:var(--smp-teal-50)}
.smp-accordion__trigger[aria-expanded="true"]{background:var(--smp-teal-50);color:var(--smp-accent)}
.smp-accordion__arrow{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:2px solid var(--smp-border-strong);display:flex;align-items:center;justify-content:center;transition:transform var(--smp-transition),border-color var(--smp-transition)}
.smp-accordion__trigger[aria-expanded="true"] .smp-accordion__arrow{transform:rotate(180deg);border-color:var(--smp-accent)}
.smp-accordion__body{display:none;padding:0 var(--smp-gap-5) var(--smp-gap-4);background:var(--smp-white);font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
.smp-accordion__body.is-open{display:block}

/* ── QUOTE DECK ─────────────────────────── */
.smp-quotes{padding-block:var(--smp-gap-7);overflow:hidden}
.smp-quotes__deck{position:relative;min-height:180px}
.smp-quote{position:absolute;inset:0;opacity:0;transition:opacity var(--smp-transition-slow);pointer-events:none}
.smp-quote.is-active{opacity:1;pointer-events:auto;position:relative}
.smp-quote__text{font-size:var(--smp-size-xl);font-weight:var(--smp-weight-bold);line-height:var(--smp-lead-snug);letter-spacing:-.01em;color:var(--smp-text);margin-bottom:var(--smp-gap-4)}
.smp-quote__attr{display:flex;align-items:center;gap:.75rem;font-size:var(--smp-size-sm);color:var(--smp-text-muted);font-weight:var(--smp-weight-semi)}
.smp-quote__attr-dot{width:8px;height:8px;border-radius:50%;background:var(--smp-accent)}
.smp-quotes__controls{display:flex;gap:.5rem;margin-top:var(--smp-gap-5)}
.smp-quote-dot{width:28px;height:4px;border-radius:2px;background:var(--smp-border-strong);cursor:pointer;transition:background var(--smp-transition),width var(--smp-transition)}
.smp-quote-dot.is-active{background:var(--smp-accent);width:48px}

/* ── FORM ──────────────────────────────── */
.smp-form-zone{padding-block:var(--smp-gap-8)}
.smp-form-wrap{background:var(--smp-white);border-radius:var(--smp-r-xl);padding:var(--smp-gap-6);box-shadow:var(--smp-shadow-xl);max-width:580px}
.smp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--smp-gap-4)}
.smp-form-grid--full{grid-column:1/-1}
.smp-field{display:flex;flex-direction:column;gap:.4rem}
.smp-field__label{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);color:var(--smp-text);letter-spacing:.03em;text-transform:uppercase}
.smp-field__label span{color:var(--smp-accent-warm)}
.smp-field__input,.smp-field__textarea,.smp-field__select{width:100%;padding:.7em 1em;border:1.5px solid var(--smp-border-strong);border-radius:var(--smp-r-md);font-size:var(--smp-size-sm);color:var(--smp-text);background:var(--smp-slate-50);transition:border-color var(--smp-transition),box-shadow var(--smp-transition)}
.smp-field__input:focus,.smp-field__textarea:focus,.smp-field__select:focus{outline:none;border-color:var(--smp-accent);box-shadow:0 0 0 3px rgba(0,184,138,.15)}
.smp-field__input.has-error,.smp-field__textarea.has-error{border-color:var(--smp-accent-warm)}
.smp-field__error{font-size:var(--smp-size-xs);color:var(--smp-accent-warm);font-weight:var(--smp-weight-semi)}
.smp-field__textarea{min-height:120px;resize:vertical}
@media(max-width:540px){.smp-form-grid{grid-template-columns:1fr}}

/* ── ONBOARDING STRIP ────────────────────── */
.smp-onboard{padding-block:var(--smp-gap-7)}
.smp-onboard__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--smp-gap-4);margin-top:var(--smp-gap-6)}
.smp-step{position:relative;padding:var(--smp-gap-4);text-align:center}
.smp-step::after{content:'';position:absolute;top:2rem;left:calc(50% + 2rem);right:calc(-50% + 2rem);height:2px;background:var(--smp-border-accent)}
.smp-step:last-child::after{display:none}
.smp-step__num{width:40px;height:40px;border-radius:50%;background:var(--smp-accent);color:var(--smp-white);font-weight:var(--smp-weight-black);font-size:var(--smp-size-sm);display:flex;align-items:center;justify-content:center;margin:0 auto var(--smp-gap-3)}
.smp-step__title{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-bold);margin-bottom:.4em;color:var(--smp-text)}
.smp-step__desc{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
@media(max-width:820px){.smp-onboard__steps{grid-template-columns:repeat(2,1fr)}.smp-step::after{display:none}}
@media(max-width:440px){.smp-onboard__steps{grid-template-columns:1fr}}

/* ── COMPARISON MODULE ──────────────────── */
.smp-compare{padding-block:var(--smp-gap-7)}
.smp-compare__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--smp-gap-5);margin-top:var(--smp-gap-6)}
.smp-compare__col{border-radius:var(--smp-r-xl);padding:var(--smp-gap-5);border:2px solid var(--smp-border)}
.smp-compare__col--highlight{border-color:var(--smp-accent);background:var(--smp-teal-50)}
.smp-compare__col-label{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--smp-gap-4)}
.smp-compare__list{display:flex;flex-direction:column;gap:.75rem}
.smp-compare__row{display:flex;gap:.75rem;align-items:flex-start;font-size:var(--smp-size-sm)}
.smp-compare__check{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:var(--smp-weight-black);margin-top:.15em}
.smp-compare__check--yes{background:var(--smp-teal-100);color:var(--smp-teal-800)}
.smp-compare__check--no{background:var(--smp-slate-100);color:var(--smp-slate-400)}
@media(max-width:640px){.smp-compare__grid{grid-template-columns:1fr}}

/* ── GLOSSARY ──────────────────────────── */
.smp-glossary{padding-block:var(--smp-gap-7)}
.smp-glossary__entries{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--smp-gap-4);margin-top:var(--smp-gap-6)}
.smp-glossary__entry{border-left:3px solid var(--smp-accent);padding-left:var(--smp-gap-3)}
.smp-glossary__term{font-weight:var(--smp-weight-bold);font-size:var(--smp-size-sm);color:var(--smp-text);margin-bottom:.3em}
.smp-glossary__def{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
@media(max-width:820px){.smp-glossary__entries{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.smp-glossary__entries{grid-template-columns:1fr}}

/* ── PRINCIPLES MANIFESTO ───────────────── */
.smp-manifesto{padding-block:var(--smp-gap-8)}
.smp-manifesto__layout{display:grid;grid-template-columns:5fr 7fr;gap:var(--smp-gap-7);align-items:start}
.smp-manifesto__principles{display:flex;flex-direction:column;gap:var(--smp-gap-3)}
.smp-principle{background:var(--smp-white);border-radius:var(--smp-r-lg);padding:var(--smp-gap-4);display:flex;gap:var(--smp-gap-3);align-items:flex-start;box-shadow:var(--smp-shadow-sm);border:1px solid var(--smp-border)}
.smp-principle__mark{font-size:var(--smp-size-xl);font-weight:var(--smp-weight-black);color:var(--smp-teal-100);line-height:1;flex-shrink:0;width:2.5rem;text-align:center}
.smp-principle__body{}
.smp-principle__title{font-weight:var(--smp-weight-bold);font-size:var(--smp-size-sm);color:var(--smp-text);margin-bottom:.3em}
.smp-principle__text{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
@media(max-width:820px){.smp-manifesto__layout{grid-template-columns:1fr}}

/* ── LEGAL PAGES ────────────────────────── */
.smp-legal{padding-block:var(--smp-gap-8)}
.smp-legal__content{max-width:var(--smp-w-wide);margin-inline:auto}
.smp-legal__content h2{font-size:var(--smp-size-lg);font-weight:var(--smp-weight-bold);color:var(--smp-text);margin-top:var(--smp-gap-6);margin-bottom:var(--smp-gap-3);padding-bottom:.5em;border-bottom:1px solid var(--smp-border)}
.smp-legal__content h3{font-size:var(--smp-size-md);font-weight:var(--smp-weight-bold);margin-top:var(--smp-gap-5);margin-bottom:var(--smp-gap-2)}
.smp-legal__content p{font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-loose);max-width:var(--smp-w-wide)}
.smp-legal__content ul{list-style:disc;padding-left:1.5em;display:flex;flex-direction:column;gap:.4em;margin-top:.5em}
.smp-legal__content li{font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-body)}
.smp-legal__content a{color:var(--smp-accent);text-decoration:underline}
.smp-legal__meta{font-size:var(--smp-size-xs);color:var(--smp-text-light);border-top:1px solid var(--smp-border);padding-top:var(--smp-gap-4);margin-top:var(--smp-gap-6)}

/* ── SUCCESS PAGE ────────────────────────── */
.smp-success-zone{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--smp-gap-8)}
.smp-success-icon{width:72px;height:72px;border-radius:50%;background:var(--smp-teal-100);color:var(--smp-teal-700);font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto var(--smp-gap-4)}

/* ── PAGE HERO (inner) ───────────────────── */
.smp-page-hero{background:var(--smp-bg-band);color:var(--smp-white);padding-block:var(--smp-gap-7) var(--smp-gap-6); padding-top: 12rem;}
.smp-page-hero--light{background:var(--smp-bg-alt);color:var(--smp-text)}
.smp-page-hero__breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:var(--smp-size-xs);opacity:.7;margin-bottom:var(--smp-gap-3)}
.smp-page-hero__breadcrumb a:hover{opacity:1;text-decoration:underline}
.smp-page-hero__title{font-size:var(--smp-size-2xl);font-weight:var(--smp-weight-black);letter-spacing:-.02em;margin-bottom:var(--smp-gap-3)}
.smp-page-hero__subtitle{font-size:var(--smp-size-md);opacity:.85;max-width:55ch;line-height:var(--smp-lead-loose)}

/* ── SESSION TABLE ───────────────────────── */
.smp-session-table{width:100%;border-collapse:collapse;margin-top:var(--smp-gap-5)}
.smp-session-table th{background:var(--smp-accent);color:var(--smp-white);font-size:var(--smp-size-xs);text-transform:uppercase;letter-spacing:.06em;padding:.8em 1.2em;text-align:left}
.smp-session-table td{padding:.8em 1.2em;font-size:var(--smp-size-sm);border-bottom:1px solid var(--smp-border);vertical-align:top}
.smp-session-table tr:last-child td{border-bottom:none}
.smp-session-table tr:nth-child(even) td{background:var(--smp-slate-50)}
.smp-session-table-wrap{overflow-x:auto;border:1px solid var(--smp-border);border-radius:var(--smp-r-lg)}

/* ── FILTER TABS ──────────────────────────── */
.smp-filter-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--smp-gap-5)}
.smp-filter-btn{padding:.5em 1.2em;border-radius:var(--smp-r-pill);font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);border:2px solid var(--smp-border-strong);color:var(--smp-text-muted);transition:all var(--smp-transition)}
.smp-filter-btn:hover{border-color:var(--smp-accent);color:var(--smp-accent)}
.smp-filter-btn.is-active{background:var(--smp-accent);border-color:var(--smp-accent);color:var(--smp-white)}

/* ── JOURNAL / UPDATE ───────────────────── */
.smp-journal{padding-block:var(--smp-gap-7)}
.smp-journal__feed{display:flex;flex-direction:column;gap:var(--smp-gap-5);margin-top:var(--smp-gap-5)}
.smp-journal__entry{display:grid;grid-template-columns:120px 1fr;gap:var(--smp-gap-5);align-items:start;padding:var(--smp-gap-5);background:var(--smp-white);border:1px solid var(--smp-border);border-radius:var(--smp-r-xl)}
.smp-journal__date{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);color:var(--smp-text-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:.3em}
.smp-journal__title{font-weight:var(--smp-weight-bold);font-size:var(--smp-size-md);margin-bottom:var(--smp-gap-2);color:var(--smp-text)}
.smp-journal__body{font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
@media(max-width:600px){.smp-journal__entry{grid-template-columns:1fr}}

/* ── MICRO BLOCKS ────────────────────────── */
.smp-microblocks{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--smp-gap-4);margin-top:var(--smp-gap-6);counter-reset:microblock}
.smp-micro{background:var(--smp-white);border:1px solid var(--smp-border);border-radius:var(--smp-r-lg);padding:var(--smp-gap-4);position:relative;counter-increment:microblock}
.smp-micro::before{content:counter(microblock,decimal-leading-zero);position:absolute;top:var(--smp-gap-3);right:var(--smp-gap-3);font-size:var(--smp-size-2xl);font-weight:var(--smp-weight-black);color:var(--smp-teal-100);line-height:1}
.smp-micro__label{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);text-transform:uppercase;letter-spacing:.07em;color:var(--smp-accent);margin-bottom:.4em}
.smp-micro__title{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-bold);margin-bottom:.4em;color:var(--smp-text)}
.smp-micro__body{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}
@media(max-width:900px){.smp-microblocks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.smp-microblocks{grid-template-columns:1fr}}

/* ── CONTACT PAGE ───────────────────────── */
.smp-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--smp-gap-7);align-items:start}
.smp-contact-info{display:flex;flex-direction:column;gap:var(--smp-gap-4)}
.smp-contact-card{background:var(--smp-white);border:1px solid var(--smp-border);border-radius:var(--smp-r-lg);padding:var(--smp-gap-4)}
.smp-contact-card__icon{width:40px;height:40px;border-radius:var(--smp-r-md);background:var(--smp-teal-50);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;font-size:1.2rem}
.smp-contact-card__label{font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--smp-text-muted);margin-bottom:.3em}
.smp-contact-card__value{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-semi);color:var(--smp-text)}
@media(max-width:820px){.smp-contact-layout{grid-template-columns:1fr}}

/* ── UTILITY ────────────────────────────── */
.mt-auto{margin-top:auto}
.text-center{text-align:center}
.mx-auto{margin-inline:auto}
.w-full{width:100%}
.smp-divider{height:1px;background:var(--smp-border);border:none;margin:var(--smp-gap-6) 0}
.smp-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25em .7em;border-radius:var(--smp-r-pill);font-size:var(--smp-size-xs);font-weight:var(--smp-weight-bold);background:var(--smp-teal-100);color:var(--smp-teal-800)}
.smp-badge--warm{background:rgba(255,112,67,.12);color:var(--smp-accent-warm)}
.smp-badge--dark{background:var(--smp-slate-800);color:var(--smp-white)}

/* ── MISSING / ALIAS CLASSES ─────────────── */

/* Alias: guida uses .smp-glos__def; CSS defines .smp-glossary__def */
.smp-glos__def{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}

/* .smp-manifesto used as inner wrapper in guida – strip padding so it doesn't double up */
section .smp-manifesto{padding-block:0}

/* .smp-editorial__text-zone – empty rule that just marks content zone; ensure block display */
.smp-editorial__text-zone{display:block}

/* .smp-tactics__item-text / .smp-principle__body – empty rules, ensure block flow */
.smp-tactics__item-text,.smp-principle__body{display:block}

/* .smp-card__title used as div in sessioni: keep styles regardless of element */
div.smp-card__title{font-size:var(--smp-size-md);font-weight:var(--smp-weight-bold);margin-bottom:var(--smp-gap-2);color:var(--smp-text)}

/* .smp-card__body used as div in sessioni */
div.smp-card__body{font-size:var(--smp-size-sm);color:var(--smp-text-muted);line-height:var(--smp-lead-loose);max-width:100%}

/* Ensure .smp-step__title and .smp-step__desc work on div elements (sessioni) */
div.smp-step__title{font-size:var(--smp-size-sm);font-weight:var(--smp-weight-bold);margin-bottom:.4em;color:var(--smp-text)}
div.smp-step__desc{font-size:var(--smp-size-xs);color:var(--smp-text-muted);line-height:var(--smp-lead-loose)}

/* .smp-onboard used as wrapper div in sessioni (not section) – remove inherited section padding */
div.smp-onboard{padding-block:0}

/* .smp-statstrip__item – empty rule, ensure inline-block display for grid children */
.smp-statstrip__item{display:block}

/* .smp-rankrow__info – empty rule; ensure flex column layout */
.smp-rankrow__info{display:flex;flex-direction:column;justify-content:center;min-width:0}

/* .smp-hero__content – empty rule */
.smp-hero__content{display:flex;flex-direction:column}

/* .smp-accordion – wrapper: ensure clean layout */
.smp-accordion{display:flex;flex-direction:column;gap:.5rem}

/* ── MOBILE LAYOUT FIXES ─────────────────── */

/* Prevent body overflow on mobile when nav is open */
body.nav-open{overflow:hidden}

/* Ensure hamburger bar gap is consistent at all sizes */
@media(max-width:820px){
  /* Give the header__inner extra bottom padding so the dropdown clears the logo area */
  .smp-header__inner{padding-bottom:1rem}
  /* Prevent horizontal scroll from absolute nav */
  .smp-header{overflow:visible}
  /* Stack the hero newsletter grid on mobile */
  .smp-form-zone .smp-wrap > div[style*="grid-template-columns"]{
    display:flex;flex-direction:column;gap:var(--smp-gap-5)
  }
}
