@font-face{font-family:"IranSans";src:url("/assets/fonts/iransans-400.woff2") format("woff2"),url("/assets/52600a0c11b21cbfebf6a007819f23ca.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IranSans";src:url("/assets/fonts/iransans-700.woff2") format("woff2"),url("/assets/b986371510c6b545a01e955f232ec188.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth} }
body{margin:0}

.m-page{
  --m-gutter: var(--space-5);
  --m-header-h: 52px;
  --m-dock-h: calc(var(--control-height-lg) + var(--space-6));
  --m-max: 640px;
  --m-radio-border: var(--color-border-strong);
  position:relative;
  max-width:var(--m-max);
  margin-inline:auto;
  min-height:100vh;
  padding-bottom:calc(var(--m-dock-h) + env(safe-area-inset-bottom, 0px));
  background:var(--color-surface-subtle);
  color:var(--color-text);
  font-family:var(--font-sans);
  font-size:var(--text-base);
  line-height:var(--leading-normal);
  -webkit-tap-highlight-color:transparent;
}
.m-page *,.m-page *::before,.m-page *::after{box-sizing:border-box}
.m-page h1,.m-page h2,.m-page h3,.m-page p,.m-page ul,.m-page ol,.m-page figure,.m-page blockquote,.m-page fieldset{margin:0}
.m-page ul,.m-page ol{padding:0;list-style:none}
.m-page fieldset{padding:0;border:0;min-width:0}
.m-page [id]{scroll-margin-top:calc(var(--m-header-h) + var(--space-4))}
.m-page b{font-weight:var(--weight-bold)}
.m-page > svg[hidden]{display:none}
.m-page img{display:block;max-width:100%}
.m-page :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

.latin-nums{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;white-space:nowrap}
.m-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.m-skip{position:absolute;top:var(--space-2);inset-inline-start:var(--space-2);z-index:40;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-action);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform:translateY(-200%);}
.m-skip:focus{transform:none}

.m-i{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m-i--sm{width:16px;height:16px}
.m-i--xs{width:12px;height:12px}

/* --- Notes for the content team ------------------------------------------ */
.m-note{display:inline;padding:0 var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-normal);line-height:1.8;white-space:normal}
.m-note--block{display:block;padding:var(--space-1) var(--space-3)}
.m-note--draft{border-style:solid;border-color:var(--color-warning);color:var(--color-warning-text);background:var(--color-warning-bg)}

/* --- Buttons --------------------------------------------------------------- */
.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height-lg);padding:0 var(--space-6);border-radius:var(--radius-md);border:1px solid var(--color-action);font:inherit;font-size:var(--text-base);font-weight:var(--weight-bold);line-height:var(--leading-tight);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}
.m-btn:active{transform:scale(.985)}
.m-page .m-btn--primary{background:var(--color-action);color:var(--color-text-inverse)}
.m-page .m-btn--primary:hover{background:var(--color-action-hover)}
.m-page .m-btn--primary:active{background:var(--color-action-active)}
.m-page .m-btn--secondary{background:transparent;color:var(--color-action)}
.m-page .m-btn--secondary:hover{background:var(--color-action-subtle)}
.m-btn--block{width:100%;max-width:420px;margin-inline:auto}
.m-btn--sm{min-height:var(--control-height);padding:0 var(--space-4);font-size:var(--text-sm)}
.m-linkbtn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--control-height);align-self:center;color:var(--color-action);font-size:var(--text-sm);font-weight:var(--weight-bold)}
.m-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-lg);height:var(--control-height-lg);border-radius:var(--radius-md);color:var(--color-text-strong);cursor:pointer;list-style:none}
.m-iconbtn::-webkit-details-marker{display:none}
.m-iconbtn--outline{border:1px solid var(--color-action);color:var(--color-action);flex-shrink:0}
.m-iconbtn--outline:hover{background:var(--color-action-subtle)}

/* --- Header ---------------------------------------------------------------- */
.m-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-2);min-height:var(--m-header-h);padding-block:0;padding-inline:var(--m-gutter) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:transform var(--duration) var(--ease)}
.m-header.is-hidden{transform:translateY(-100%)}
.m-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-text-strong);margin-inline-end:auto}
.m-logo__mark{width:32px;height:32px;flex-shrink:0}
.m-logo__name{font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:1}
.m-header details{position:static}
.m-header summary{list-style:none}
.m-header summary::-webkit-details-marker{display:none}
.m-menu__panel{position:absolute;inset-inline:0;top:100%;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md)}
.m-menu:not([open]) .m-menu__panel,.m-chat:not([open]) .m-chat__panel{display:none}
.m-numbers{display:flex;flex-direction:column}
.m-numbers li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}
.m-numbers li:last-child{border-bottom:0}
.m-numbers a{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-action);text-decoration:none}
.m-menu__close{display:none}
.m-menu[open] .m-menu__open{display:none}
.m-menu[open] .m-menu__close{display:block}
.m-menu__panel{display:flex;flex-direction:column;padding:var(--space-2) var(--m-gutter) var(--space-4)}
.m-menu__panel a:not(.m-btn){display:flex;align-items:center;min-height:var(--control-height-lg);color:var(--color-text-strong);font-size:var(--text-base);font-weight:var(--weight-bold);text-decoration:none;border-bottom:1px solid var(--color-border)}
.m-menu__panel .m-btn{margin-top:var(--space-4)}

/* --- Sections -------------------------------------------------------------- */
.m-section{padding:var(--space-8) var(--m-gutter);display:flex;flex-direction:column;gap:var(--space-4)}
.m-section--surface{background:var(--color-surface)}
.m-section__head{display:flex;flex-direction:column;gap:var(--space-1)}
.m-section__head h2{font-size:var(--text-xl);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-section__head p{color:var(--color-text-muted);font-size:var(--text-sm)}
.m-section__head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}
.m-section__head--row > div{display:flex;flex-direction:column;gap:var(--space-1)}
.m-more{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-height);font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:nowrap;text-decoration:none;align-self:flex-start;color:var(--color-action)}
.m-fineprint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-loose)}

/* --- Stats band ------------------------------------------------------------ */
.m-section--stats{padding-block:var(--space-6);gap:var(--space-3)}
.m-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.m-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.m-stats li{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.m-stats__num{font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-action);font-variant-numeric:tabular-nums}
.m-stats li span{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-tight)}
.m-stats__note{text-align:center}
@media (min-width:560px){.m-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* --- Reveal on scroll ------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference){
  .m-reveal{opacity:0;transform:translateY(8px);transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}
  .m-reveal.is-in{opacity:1;transform:none}
}

/* --- Hero ------------------------------------------------------------------ */
.m-hero{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--m-gutter) var(--space-6);background:radial-gradient(circle at 85% -10%, color-mix(in srgb, var(--color-fill-brand) 22%, transparent), transparent 55%),var(--color-action-subtle)}
.m-hero h1{font-size:var(--text-3xl);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-hero__lede{font-size:var(--text-base)}
.m-hero__number{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-sep{display:inline-block;width:4px;height:4px;border-radius:var(--radius-pill);background:currentColor;opacity:.55;vertical-align:middle;margin-inline:var(--space-1)}
.m-hero__sep{color:var(--color-fill-brand);padding-inline:var(--space-1)}
.m-hero__text,.m-hero__proof{display:flex;flex-direction:column;gap:var(--space-4)}
.m-herocard{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.m-herocard__head{display:flex;flex-direction:column;gap:2px}
.m-herocard__head b{font-size:var(--text-lg);color:var(--color-text-strong);line-height:var(--leading-tight)}
.m-herocard__head span{font-size:var(--text-sm);color:var(--color-text-muted)}
.m-star{fill:var(--color-warning);stroke:none;vertical-align:-2px}
.m-proof{display:flex;align-items:center;gap:var(--space-3);align-self:flex-start;text-decoration:none;color:var(--color-text-strong);font-size:var(--text-sm);min-height:var(--control-height)}
.m-proof__stack{display:flex;flex-shrink:0}
.m-proof__stack img{width:32px;height:32px;border-radius:var(--radius-pill);border:2px solid var(--color-surface);object-fit:cover}
.m-proof__stack img + img{margin-inline-start:calc(-1 * var(--space-2))}
.m-proof > span:not(.m-proof__stack){min-width:0}
.m-proof .m-i{color:var(--color-action)}
.m-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.m-trust li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--text-sm);color:var(--color-text-strong);line-height:var(--leading-tight)}
.m-trust .m-i{color:var(--color-fill-brand);width:18px;height:18px}
.m-hero__time{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--color-fill-brand) 30%, transparent)}
.m-hero__time[hidden]{display:none}
.m-hero__time b{color:var(--color-text-strong)}
.m-hero__time .m-i{color:var(--color-fill-brand)}

/* --- Topics ---------------------------------------------------------------- */
.m-topics{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.m-topic{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}
.m-topic:hover{background:var(--color-surface-hover)}
.m-topic.is-selected{border-color:var(--color-action);background:var(--color-action-subtle)}

/* --- Key-value pillars ----------------------------------------------------- */
.m-pillars{display:grid;gap:var(--space-3)}
.m-pillar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-xl)}
.m-pillar__head{display:flex;gap:var(--space-3);align-items:flex-start}
.m-why__icon{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-action-subtle);color:var(--color-action);display:flex;align-items:center;justify-content:center}
.m-pillar h3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-pillar__head p{font-size:var(--text-sm);color:var(--color-text-muted)}
.m-pillar .m-checks{font-size:var(--text-sm);line-height:var(--leading-loose)}

/* --- Steps ----------------------------------------------------------------- */
.m-steps{display:flex;flex-direction:column}
.m-steps li{position:relative;display:flex;gap:var(--space-4);padding-bottom:var(--space-5)}
.m-steps li:last-child{padding-bottom:0}
.m-steps li::before{content:"";position:absolute;inset-inline-start:15px;top:32px;bottom:0;width:2px;background:var(--color-border)}
.m-steps li:last-child::before{display:none}
.m-steps__num{position:relative;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-surface);border:2px solid var(--color-fill-brand);color:var(--color-action);font-weight:var(--weight-bold);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center}
.m-steps h3{font-size:var(--text-base);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong);padding-top:var(--space-1)}
.m-steps p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}

/* --- Carousel -------------------------------------------------------------- */
.m-page .m-carousel{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m-gutter);margin:0 calc(-1 * var(--m-gutter));padding:var(--space-1) var(--m-gutter) var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.m-carousel::-webkit-scrollbar{display:none}
.m-carousel > li{flex:0 0 min(300px, 84%);scroll-snap-align:start;display:flex}
.m-carousel > li > *{width:100%}
.m-carousel::after{content:"";flex:0 0 calc(var(--m-gutter) - var(--space-3))}
.m-dots{display:flex;justify-content:center;gap:var(--space-1);margin-top:calc(-1 * var(--space-2))}
.m-dots span{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-border-strong);transition:width var(--duration) var(--ease),background var(--duration) var(--ease)}
.m-dots span.is-active{width:20px;background:var(--color-action)}

/* --- Counselor card -------------------------------------------------------- */
.m-counselor{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.m-counselor__head{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-4);background:var(--color-action-subtle)}
.m-portrait{position:relative;flex-shrink:0;width:80px;height:80px}
.m-portrait img{width:80px;height:80px;border-radius:var(--radius-lg);object-fit:cover;box-shadow:var(--shadow-sm)}
.m-portrait__tag{position:absolute;bottom:-6px;inset-inline-start:50%;transform:translateX(50%);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface);border:1px dashed var(--color-border-strong);color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.6;white-space:nowrap}
.m-counselor__id{display:flex;flex-direction:column;gap:2px;min-width:0}
.m-counselor__id h3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-counselor__role{font-size:var(--text-sm)}
.m-counselor__license{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}
.m-counselor__license .m-i{color:var(--color-fill-brand)}
.m-counselor__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);flex-grow:1}
.m-facts{display:flex;flex-direction:column;gap:var(--space-2)}
.m-facts li{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-strong)}
.m-facts .m-i{color:var(--color-fill-brand);margin-top:3px}
.m-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.m-tags span{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text)}
.m-tags .m-tags__hl{border-color:transparent;background:var(--color-action-subtle);color:var(--color-text-strong);font-weight:var(--weight-bold)}
.m-tags .m-tags__hl .m-i{color:var(--color-action)}
.m-counselor__foot{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.m-price-tag{display:flex;flex-direction:column;line-height:var(--leading-tight)}
.m-price-tag span{font-size:var(--text-xs);color:var(--color-text-muted)}
.m-price-tag b{font-size:var(--text-lg);color:var(--color-text-strong)}
.m-linkcard{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--color-text)}
.m-linkcard > .m-i{color:var(--color-fill-brand)}
.m-linkcard__text{display:flex;flex-direction:column;gap:2px;flex-grow:1}
.m-linkcard__text b{color:var(--color-text-strong);font-size:var(--text-sm)}
.m-linkcard__text span{font-size:var(--text-xs);color:var(--color-text-muted)}
.m-linkcard__arrow{color:var(--color-action)}

/* --- Quotes ---------------------------------------------------------------- */
.m-quote{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.m-section--surface .m-quote{background:var(--color-surface-subtle)}
.m-quote blockquote{font-size:var(--text-sm);line-height:var(--leading-loose);flex-grow:1}
.m-quote--featured blockquote{font-size:var(--text-base);color:var(--color-text-strong)}
.m-quote__mark{width:28px;height:28px;color:var(--color-fill-brand)}
.m-quote figcaption{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}
.m-quote figcaption > span:last-child{display:flex;flex-direction:column;line-height:var(--leading-tight)}
.m-quote figcaption b{color:var(--color-text-strong);font-size:var(--text-sm)}
.m-quote figcaption span span{font-size:var(--text-xs);color:var(--color-text-muted)}
.m-avatar{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-action-subtle);color:var(--color-text-strong);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-sm)}

/* --- Pricing --------------------------------------------------------------- */
.m-freebar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-action-subtle);border:1px dashed var(--color-action);text-decoration:none;color:var(--color-text)}
.m-freebar__icon{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-action);display:flex;align-items:center;justify-content:center}
.m-freebar__text{display:flex;flex-direction:column;gap:2px;flex-grow:1;font-size:var(--text-sm)}
.m-freebar__text b{color:var(--color-text-strong);font-size:var(--text-base)}
.m-freebar__price{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-action);white-space:nowrap}
.m-plans{display:grid;gap:var(--space-4)}
.m-plan{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}
.m-plan h3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-plan__for{font-size:var(--text-sm);color:var(--color-text-muted)}
.m-plan__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}
.m-plan__price > .latin-nums:first-child{font-size:var(--text-4xl);line-height:1;font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-plan__price s{color:var(--color-text-muted);font-size:var(--text-base)}
.m-plan__save{align-self:flex-start;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-success-bg);color:var(--color-success-text);font-size:var(--text-sm)}
.m-plan .m-checks{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm)}
.m-plan--hot{border:2px solid var(--color-action);box-shadow:var(--shadow-md);background:linear-gradient(180deg,var(--color-surface-brand),var(--color-surface) 45%)}
.m-plan__ribbon{position:absolute;top:0;inset-inline-end:var(--space-5);transform:translateY(-50%);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-bold)}
.m-pricing__side{display:flex;flex-direction:column;gap:var(--space-4)}
.m-chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-action-subtle);color:var(--color-text-strong);font-size:var(--text-xs);font-weight:var(--weight-bold);vertical-align:middle}
.m-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-neutral-bg);color:var(--color-neutral-text);font-size:var(--text-xs);font-weight:var(--weight-bold)}
.m-guarantees{display:flex;flex-direction:column;gap:var(--space-3)}
.m-guarantees li{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);line-height:var(--leading-loose)}
.m-guarantees b{color:var(--color-text-strong)}
.m-guarantees .m-i{color:var(--color-fill-brand);margin-top:6px}
.m-pay{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}

/* --- Form ------------------------------------------------------------------ */
.m-section--form{background:var(--color-surface-brand)}
.m-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.m-form[hidden]{display:none}
.m-progress{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted)}
.m-progress li{display:flex;align-items:center;gap:var(--space-2)}
.m-progress li span{width:24px;height:24px;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold)}
.m-progress li.is-current{color:var(--color-text-strong);font-weight:var(--weight-bold)}
.m-progress li.is-current span{background:var(--color-action);border-color:var(--color-action);color:var(--color-text-inverse)}
.m-progress li.is-done span{background:var(--color-action-subtle);border-color:var(--color-action);color:var(--color-action)}
.m-step{display:flex;flex-direction:column;gap:var(--space-4)}
.m-step[hidden]{display:none}
.m-field{display:flex;flex-direction:column;gap:var(--space-2)}
.m-field label,.m-field__label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-field__why{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-1))}
.m-field input:not([type=checkbox]):not([type=radio]),.m-field select{width:100%;min-height:var(--control-height-lg);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base);text-align:start;appearance:none;-webkit-appearance:none}
.m-select{position:relative}
.m-select select{padding-inline-end:var(--space-10)}
.m-select .m-i{position:absolute;inset-inline-end:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}
.m-field input::placeholder{color:var(--color-text-muted)}
.m-field input:focus,.m-field select:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px var(--color-focus-ring)}
.m-field__error{display:none;font-size:var(--text-xs);color:var(--color-danger-text)}
.m-field.has-error input,.m-field.has-error select{border-color:var(--color-danger)}
.m-field.has-error .m-radio{border-color:var(--color-danger)}
.m-field.has-error .m-field__error{display:block}
.m-radios{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.m-radio{position:relative;display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--m-radio-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-normal);cursor:pointer;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}
.m-radios--row .m-radio{flex:1 1 0;justify-content:center}
.m-radio input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.m-radio:has(input:checked){border-color:var(--color-action);background:var(--color-action-subtle);color:var(--color-text-strong);font-weight:var(--weight-bold)}
.m-radio:has(input:focus-visible){outline:2px solid var(--color-action);outline-offset:2px}
.m-field--check label{display:flex;gap:var(--space-3);align-items:flex-start;min-height:var(--control-height);font-weight:var(--weight-normal);color:var(--color-text);font-size:var(--text-sm)}
.m-field--check input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:var(--color-action)}
.m-hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;opacity:0}
.m-form__help{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-xs);color:var(--color-text-muted)}
.m-form__help .m-i{color:var(--color-fill-brand);margin-top:2px}
.m-form__alt{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}
.m-form__busy{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:120px;padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-strong);font-weight:var(--weight-bold)}
.m-form__busy[hidden]{display:none}
.m-spinner{width:24px;height:24px;border-radius:var(--radius-pill);border:3px solid var(--color-action-subtle);border-top-color:var(--color-action);animation:m-spin var(--duration-spin) linear infinite}
@keyframes m-spin{to{transform:rotate(360deg)}}
.m-form__done{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-5);background:var(--color-success-bg);border-radius:var(--radius-lg);color:var(--color-success-text);outline:none}
.m-form__done[hidden]{display:none}
.m-form__done b{display:block;margin-bottom:var(--space-1)}
.m-form__done p{font-size:var(--text-sm);color:var(--color-text)}
.m-form__crisis{text-align:center}

/* --- Situations ------------------------------------------------------------ */
.m-situations{display:flex;flex-direction:column;gap:var(--space-3)}
.m-situations li{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.m-situations > li > .m-i{color:var(--color-fill-brand);margin-top:2px}
.m-situations h3{font-size:var(--text-base);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-situations p{font-size:var(--text-sm);line-height:var(--leading-loose);margin-top:var(--space-1)}

/* --- Accordions ------------------------------------------------------------ */
.m-acc{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.m-acc details{border-bottom:1px solid var(--color-border)}
.m-acc details:last-child{border-bottom:0}
.m-acc summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height-lg);padding:var(--space-2) var(--space-5);list-style:none;cursor:pointer;color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight)}
.m-acc summary::-webkit-details-marker{display:none}
.m-acc summary .m-i{color:var(--color-text-muted);transition:transform var(--duration) var(--ease)}
.m-acc details[open] summary .m-i{transform:rotate(180deg)}
.m-acc__body{padding:0 var(--space-5) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-loose)}
.m-acc--plain{background:transparent;box-shadow:none;border-radius:0}
.m-acc--plain summary{padding-inline:0;padding-block:var(--space-3)}
.m-acc--plain .m-acc__body{padding-inline:0}
.m-acc__title{flex-grow:1}
.m-prose{display:flex;flex-direction:column;gap:var(--space-3);line-height:var(--leading-loose);max-width:68ch;overflow-wrap:anywhere}
.m-prose__muted{color:var(--color-text-muted)}
.m-checks{display:flex;flex-direction:column;gap:var(--space-2)}
.m-checks li{display:flex;gap:var(--space-2);align-items:flex-start}
.m-checks .m-i{color:var(--color-action);margin-top:7px}
.m-callout{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-action-subtle);font-size:var(--text-sm);line-height:var(--leading-loose);color:var(--color-text-strong)}

/* --- Crisis ---------------------------------------------------------------- */
.m-section--crisis{padding-top:0}
.m-crisis{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-danger-bg);border-radius:var(--radius-lg)}
.m-crisis__head{display:flex;align-items:center;gap:var(--space-2);color:var(--color-danger-text)}
.m-crisis h2{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-strong);line-height:var(--leading-tight)}
.m-crisis > p{font-size:var(--text-sm);color:var(--color-text)}
.m-crisis .m-numbers li{border-bottom-color:color-mix(in srgb, var(--color-danger) 25%, transparent)}

/* --- Footer ---------------------------------------------------------------- */
.m-footer{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8) var(--m-gutter);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--text-xs);line-height:var(--leading-loose);color:var(--color-text-muted)}
.m-footer__nav{display:flex;flex-wrap:wrap;gap:0 var(--space-4);font-size:var(--text-sm)}
.m-footer__nav a{display:inline-flex;align-items:center;min-height:var(--control-height)}
.m-footer__legal{text-align:end}

/* --- Dock ------------------------------------------------------------------ */
.m-dock{position:fixed;bottom:0;inset-inline:0;z-index:30;max-width:var(--m-max);margin-inline:auto;display:flex;gap:var(--space-3);padding:var(--space-3) var(--m-gutter) calc(var(--space-3) + env(safe-area-inset-bottom, 0px));background:var(--color-surface);border-top:1px solid var(--color-border);transition:transform var(--duration) var(--ease),visibility var(--duration)}
.m-dock .m-btn--block{max-width:none}
.m-dock.is-hidden{transform:translateY(calc(100% + 1px));visibility:hidden}
.m-chat{position:relative}
.m-chat__panel{position:absolute;inset-inline-end:0;bottom:calc(100% + var(--space-2));min-width:220px;display:flex;flex-direction:column;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.m-chat__panel a{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-height-lg);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);text-decoration:none;white-space:nowrap}
.m-chat__panel a:hover{background:var(--color-surface-hover)}
.m-chat__panel .m-i{color:var(--color-action)}

/* --- Phone form ------------------------------------------------------------ */
.m-phone{display:flex;flex-direction:column;gap:var(--space-3)}
.m-phone .m-field input[type=tel]{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--text-lg);letter-spacing:.02em;text-align:left}
.m-phone .m-btn--block{max-width:none}
.m-phone__assure{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text)}
.m-phone__assure li{display:flex;gap:var(--space-2);align-items:flex-start}
.m-phone__assure .m-i{color:var(--color-fill-brand);margin-top:4px}
.m-spinner--sm{display:none;width:16px;height:16px;border-width:2px;border-color:color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor}
.m-btn.is-busy{pointer-events:none}
.m-btn.is-busy .m-spinner--sm{display:block}
.m-formwrap{display:grid;gap:var(--space-4)}
.m-formwrap__points{margin-top:var(--space-3);font-size:var(--text-sm)}
.m-field--check__row{display:flex;gap:var(--space-3);align-items:center;min-height:var(--control-height);font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--color-text)}
.m-field--check__row input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:var(--color-action)}

/* --- Rating on counselor card ---------------------------------------------- */
.m-rating{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-subtle);font-size:var(--text-sm);color:var(--color-text-muted)}
.m-rating > span{display:inline-flex;align-items:center;gap:var(--space-1)}
.m-rating b{color:var(--color-text-strong)}
.m-rating__score b{font-size:var(--text-base)}
.m-rating__happy .m-i{color:var(--color-danger)}

/* --- Article cards --------------------------------------------------------- */
.m-article{display:flex;flex-direction:column;height:100%;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--color-text);transition:box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}
.m-article:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.m-article__cover{display:flex;align-items:center;justify-content:center;height:96px;background:radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--color-fill-brand) 35%, transparent), transparent 60%),var(--color-action-subtle);color:var(--color-action)}
.m-article__cover .m-i{width:32px;height:32px}
.m-article__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex-grow:1}
.m-article__cat{align-self:flex-start;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-action-subtle);color:var(--color-text-strong);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.8}
.m-article b{color:var(--color-text-strong);line-height:var(--leading-normal)}
.m-article__excerpt{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-loose)}
.m-article__meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--color-action);font-weight:var(--weight-bold)}
.m-carousel--articles > li{flex-basis:min(280px, 80%)}

/* --- Reserve page ---------------------------------------------------------- */
.m-reserve .m-section{max-width:640px;margin-inline:auto;width:100%}
.m-reserve__need,.m-reserve__ok{display:flex;flex-direction:column;gap:var(--space-5)}
.m-reserve__need[hidden],.m-reserve__ok[hidden]{display:none}
.m-reserve h1{font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-reserve__hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);text-align:center;background:var(--color-success-bg);border-radius:var(--radius-xl);outline:none}
.m-reserve__check{width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-success);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center}
.m-next{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.m-next h2{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-header--plain .m-logo{margin-inline-end:auto}

/* --- Header pieces that only show on wide screens -------------------------- */
.m-nav,.m-page .m-header__cta{display:none}

/* === Desktop ================================================================ */
@media (min-width:1024px){
  .m-page{--m-gutter:max(var(--space-10), calc(50% - 560px));--m-header-h:72px;max-width:none;padding-bottom:0}
  .m-header{gap:var(--space-4)}
  .m-header.is-hidden{transform:none}
  .m-header .m-menu{display:none}
  .m-logo{margin-inline-end:var(--space-8)}
  .m-nav{display:flex;gap:var(--space-6);margin-inline-end:auto}
  .m-nav a{display:inline-flex;align-items:center;min-height:var(--control-height);color:var(--color-text-strong);font-size:var(--text-sm);font-weight:var(--weight-bold);text-decoration:none}
  .m-nav a:hover{color:var(--color-action)}
  .m-page .m-header__cta{display:inline-flex}
  .m-header{padding-inline:var(--m-gutter)}

  .m-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"text card" "proof card";column-gap:var(--space-16);row-gap:var(--space-6);align-items:start;padding-block:var(--space-16)}
  .m-hero__text{grid-area:text;gap:var(--space-5)}
  .m-hero__proof{grid-area:proof}
  .m-herocard{grid-area:card;padding:var(--space-8);align-self:center}
  .m-hero h1{font-size:var(--text-4xl)}
  .m-hero__lede,.m-hero__number{font-size:var(--text-lg)}

  .m-section{padding-block:var(--space-16);gap:var(--space-8)}
  .m-section--stats{padding-block:var(--space-10)}
  .m-section__head h2{font-size:var(--text-3xl)}
  .m-section__head p{font-size:var(--text-base)}
  .m-pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
  .m-pillar{padding:var(--space-6)}
  .m-steps{flex-direction:row;gap:var(--space-6)}
  .m-steps li{flex:1 1 0;flex-direction:column;gap:var(--space-3);padding-bottom:0}
  .m-steps li::before{inset-inline-start:40px;inset-inline-end:calc(-1 * var(--space-6));top:15px;bottom:auto;width:auto;height:2px}
  .m-page .m-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);overflow:visible;margin:0;padding:0}
  .m-page .m-carousel--articles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .m-carousel::after,.m-dots{display:none}
  .m-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
  .m-page .m-quotes .m-carousel{display:contents}
  .m-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);align-items:stretch}
  .m-plan{padding:var(--space-6)}
  .m-guarantees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
  .m-pay{justify-content:center}
  .m-situations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
  .m-formwrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-16);align-items:center}
  .m-formwrap .m-form{padding:var(--space-8)}
  #faq .m-acc,.m-acc--plain{max-width:800px}
  #faq .m-acc{margin-inline:auto;width:100%}
  #faq .m-section__head{text-align:center}
  .m-next .m-steps{flex-direction:column;gap:0}
  .m-next .m-steps li{flex-direction:row;padding-bottom:var(--space-5)}
  .m-next .m-steps li::before{inset-inline-start:15px;inset-inline-end:auto;top:32px;bottom:0;width:2px;height:auto}
  .m-footer{padding-inline:var(--m-gutter)}

  .m-dock{inset-inline:auto;inset-inline-end:var(--space-6);bottom:var(--space-6);max-width:none;margin:0;padding:0;background:none;border:0}
  .m-dock.is-hidden{transform:none;visibility:visible}
  .m-dock__cta{display:none}
  .m-dock .m-iconbtn--outline{width:56px;height:56px;border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}
}

/* --- Design-review annotator ------------------------------------------------ */
.m-annot-ui{position:relative;z-index:500}
.m-page.is-annotating,.m-page.is-annotating *{cursor:crosshair}
.m-page.is-annotating .m-annot-ui,.m-page.is-annotating .m-annot-ui *{cursor:auto}
.m-page.is-annotating .m-annot-fab,.m-page.is-annotating .m-annot-list-btn,.m-page.is-annotating [data-annot-close],.m-page.is-annotating .m-btn{cursor:pointer}

.m-annot-fab{position:fixed;z-index:60;inset-inline-start:var(--space-4);bottom:calc(var(--m-dock-h) + env(safe-area-inset-bottom,0px) + var(--space-3));width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-strong);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);padding:0}
.m-annot-fab.is-active{background:var(--color-action);border-color:var(--color-action);color:var(--color-text-inverse)}
.m-annot-fab__badge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;line-height:1}

.m-annot-list-btn{position:fixed;z-index:60;inset-inline-start:var(--space-4);bottom:calc(var(--m-dock-h) + env(safe-area-inset-bottom,0px) + var(--space-3) + 56px);min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-strong);font-size:var(--text-xs);font-weight:var(--weight-bold);box-shadow:var(--shadow-sm)}

.m-annot-hint{position:fixed;z-index:19;top:calc(var(--m-header-h) + var(--space-2));inset-inline:var(--space-3);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-text-strong);color:var(--color-surface);font-size:var(--text-xs);box-shadow:var(--shadow-md);text-align:center}
.m-annot-hint[hidden]{display:none}
.m-annot-hint .m-linkbtn{color:var(--color-surface);text-decoration:underline;font-size:var(--text-xs)}

.m-annot-highlight{position:fixed;z-index:55;pointer-events:none;border:2px solid var(--color-action);background:color-mix(in srgb, var(--color-action) 12%, transparent);border-radius:var(--radius-sm);transition:top var(--duration-fast) linear,left var(--duration-fast) linear,width var(--duration-fast) linear,height var(--duration-fast) linear}

.m-annot-pin{position:absolute;z-index:56;min-width:20px;height:20px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:11px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);pointer-events:none}

.m-annot-changes{position:fixed;z-index:60;inset-inline-start:calc(var(--space-4) + 56px);bottom:calc(var(--m-dock-h) + env(safe-area-inset-bottom,0px) + var(--space-3));width:48px;height:48px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-strong);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);padding:0;cursor:pointer}
.m-annot-changes[hidden],.m-annot-changes__dot[hidden]{display:none}
.m-annot-changes__dot{position:absolute;top:0;inset-inline-end:0;width:12px;height:12px;border-radius:var(--radius-pill);background:var(--color-action);border:2px solid var(--color-surface)}
.m-changelog{display:flex;flex-direction:column;gap:var(--space-5)}
.m-changelog section{display:flex;flex-direction:column;gap:var(--space-2)}
.m-changelog h3{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-strong);line-height:var(--leading-tight)}
.m-changelog time{font-size:var(--text-xs);color:var(--color-text-muted)}
.m-changelog ul{display:flex;flex-direction:column;gap:var(--space-1);padding-inline-start:var(--space-5);list-style:disc;font-size:var(--text-sm);line-height:var(--leading-loose);color:var(--color-text)}
.m-changelog p{font-size:var(--text-sm);color:var(--color-text-muted)}

.m-annot-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}
.m-annot-modal[hidden]{display:none}
.m-annot-fab__badge[hidden]{display:none}
.m-annot-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.m-annot-modal__card{position:relative;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);overflow:hidden}
.m-annot-modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}
.m-annot-modal__head b{font-size:var(--text-base);color:var(--color-text-strong)}
.m-annot-modal__close{width:32px;height:32px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}
.m-annot-modal__close:hover{background:var(--color-surface-hover)}
.m-annot-modal__body{padding:var(--space-5);overflow-y:auto;flex-grow:1}
.m-annot-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}
.m-annot-field label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-strong)}
.m-annot-input{width:100%;min-height:var(--control-height-lg);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base)}
.m-annot-input:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px var(--color-focus-ring)}
.m-annot-field.has-error .m-annot-input{border-color:var(--color-danger)}
.m-annot-target{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);line-height:var(--leading-loose)}
.m-annot-textarea{width:100%;min-height:110px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base);resize:vertical}
.m-annot-textarea:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px var(--color-focus-ring)}
.m-annot-log{white-space:pre-wrap;font-family:inherit;font-size:var(--text-sm);line-height:var(--leading-loose);color:var(--color-text);margin:0}
.m-annot-clear{display:block;margin-top:var(--space-4);color:var(--color-danger-text)}
.m-annot-modal__foot{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}
.m-annot-modal__foot .m-btn{flex:1 1 0}

.m-annot-toast{position:fixed;z-index:80;bottom:calc(var(--m-dock-h) + env(safe-area-inset-bottom,0px) + var(--space-3));left:50%;transform:translateX(-50%);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-text-strong);color:var(--color-surface);font-size:var(--text-sm);box-shadow:var(--shadow-md);white-space:nowrap}

@media (min-width:1024px){
  .m-annot-fab,.m-annot-changes{bottom:var(--space-6)}
  .m-annot-list-btn{bottom:calc(var(--space-6) + 56px)}
  .m-annot-modal{align-items:center}
  .m-annot-modal__card{border-radius:var(--radius-xl);max-width:520px}
}
