/* Group A (core + legal): plans, extra-minutes, about, why, customers, news, security, contact, 404, privacy, terms, refund-policy, acceptable-use.
   Builds on styles/factory/kit.css (.fk-* components). Page-only rules live here with an a- prefix. */

body.fk .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.fk .skip{background:var(--fg-hi);color:var(--bg);font:400 12px/1 var(--mono);text-transform:uppercase}
body.fk main.sk-main{display:block;background:none}
body.site-kit.fk{background:var(--bg)}
html:has(body.site-kit.fk){background:var(--bg)}
.fk-btn{box-sizing:border-box}

/* ---------- shared page frame ---------- */
.a-page{padding-top:40px;padding-bottom:0}
.a-head>.fk-rule{padding-top:16px}
.a-head__body{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);align-items:start;margin-top:32px}
.a-head__body>:first-child{grid-column:1/8}
.a-head__side{grid-column:8/-1;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-top:6px}
.a-block{margin-top:96px}
#tiers.a-block{margin-top:72px}
.a-block>.fk-rule{margin-bottom:32px}
.a-fine{max-width:760px;margin:16px 0 0;font:400 12px/1.5 var(--mono);letter-spacing:-.24px;color:var(--n-500)}
.a-fine a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--n-600);text-underline-offset:3px}
.a-fine a:hover{color:var(--accent)}
.a-tabs{display:flex;flex-wrap:wrap;gap:8px}
.a-tabs .fk-tag{height:24px;padding:0 8px;text-decoration:none}
.a-tabs .fk-tag:hover{border-color:var(--n-500)}
.a-tabs .fk-tag[aria-current]{background:var(--fg-hi);border-color:var(--fg-hi);color:var(--bg)}
.a-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font:400 14px/1.4 var(--mono);letter-spacing:-.02em;color:var(--n-300)}

/* ---------- pricing (T5) ---------- */
.a-toolbar{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:16px;align-items:center;margin-bottom:24px}
.a-toolbar>.a-toggle{grid-column:1/8}
.a-toolbar>.a-trial{grid-column:8/-1}
.a-toggle{border:0;padding:0}
.a-toggle .fk-term__tab{height:24px;padding:0 10px}
.a-toggle .fk-term__tab[aria-pressed="true"]{background:var(--fg-hi);border-color:var(--fg-hi);color:var(--bg)}
.a-toggle .fk-term__tab span{margin-left:6px;color:var(--accent)}
.a-toggle .fk-term__tab[aria-pressed="true"] span{color:var(--accent-3)}
.a-toggle .fk-term__tab:hover{color:var(--fg)}
.a-trial{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font:400 14px/1.4 var(--mono);letter-spacing:-.02em;color:var(--n-500)}
.a-prices{align-items:stretch}
.a-prices .fk-price__amount{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.a-prices .fk-price__amount b{font-weight:400}
.a-prices .fk-price__amount small{display:block;font:400 12px/1.3 var(--mono);letter-spacing:-.24px;text-transform:uppercase;color:var(--n-500)}
.a-prices .fk-price__amount span{display:flex;flex-direction:column;align-items:flex-end}
.a-prices .fk-price__amount span.price-period-annual,.a-prices[data-billing="annual"] .fk-price__amount span.price-period-monthly,
.a-prices .a-billing span.price-period-annual,.a-prices[data-billing="annual"] .a-billing span.price-period-monthly{display:none}
.a-prices[data-billing="annual"] .fk-price__amount span.price-period-annual,.a-prices[data-billing="annual"] .a-billing span.price-period-annual{display:flex}
.a-billing{margin:0;font:400 12px/1.5 var(--mono);letter-spacing:-.24px;text-transform:uppercase;color:var(--n-400)}
.a-founding{margin:0;font:400 14px/1.45 var(--mono);color:var(--fg)}
.a-founding s{color:var(--n-600)}
.a-founding b{font-weight:400;color:var(--accent)}
.a-calls{margin:0;font:400 14px/1.45 var(--mono);color:var(--n-400)}
.a-calls b{font-weight:400;color:var(--fg)}
.a-note{margin:0;font:400 12px/1.5 var(--mono);color:var(--n-500)}
.a-prices .fk-price>.fk-btn{margin-top:auto}
.a-prices .fk-price .a-note{margin-top:8px;margin-bottom:8px}
.a-prices .fk-price.fk-price--hi .fk-price__num{color:var(--accent)}

/* comparison table */
.a-table-wrap{position:relative;margin-top:32px;overflow-x:auto;border:1px solid var(--n-800);border-radius:var(--r-card);background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--n-700) transparent}
.a-table-wrap:focus-visible{outline:1px solid var(--fg-hi);outline-offset:3px}
.a-table{width:100%;min-width:640px;table-layout:fixed;border-collapse:collapse;font:400 14px/1.4 var(--font);color:var(--n-300)}
.a-table :is(th,td){padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--n-800)}
.a-table thead th{padding-block:20px;font:400 18px/1.2 var(--font);color:var(--fg-hi);border-bottom-color:var(--n-700)}
.a-table thead th>span{display:block}
.a-table thead th a{display:inline-flex;margin-top:10px;font:400 12px/12px var(--mono);letter-spacing:-.24px;text-transform:uppercase;color:var(--n-500);text-decoration:none;transition:color var(--t) var(--ease)}
.a-table thead th a:hover{color:var(--accent)}
.a-table tbody:last-of-type tr:last-child :is(th,td){border-bottom:0}
.a-table tr.mp-group th{padding-block:28px 12px;border-bottom:1px dashed var(--n-700);font:400 12px/12px var(--mono);letter-spacing:-.24px;text-transform:uppercase;color:var(--n-400)}
.a-table tr.mp-group th::before{content:'';display:inline-block;width:8px;height:8px;margin-right:12px;border-radius:50%;background:var(--accent-2)}
.a-table tbody th[scope="row"]{width:34%;font:400 15px/1.35 var(--font);color:var(--fg)}
.a-table .mp-help{display:block;margin-top:6px;font:400 12px/1.5 var(--mono);letter-spacing:-.02em;color:var(--n-500)}
.a-table td{font:400 14px/1.4 var(--mono);letter-spacing:-.02em;color:var(--fg)}
.a-table .mp-tick{width:16px;height:16px;color:var(--accent)}
.a-table .mp-dash{color:var(--n-600)}

/* team + faq blocks */
.a-team__grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);align-items:end;row-gap:32px}
.a-team__grid>h2{grid-column:1/7}
.a-team__copy{grid-column:8/-1;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.a-faq__grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:32px;align-items:start}
.a-faq__grid>h2{grid-column:1/5;position:sticky;top:96px}
.a-faq__grid>.fk-faq{grid-column:5/-1}
.fk-faq__item summary h3{margin:0;font:inherit;letter-spacing:inherit;color:inherit}
.fk-faq__a p{margin:0 0 12px}

/* closing card */
.fk-cta.a-cta{width:100%;margin:120px 0 0}
.a-cta .fk-cta__bottom{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--gutter);align-items:end;row-gap:20px;width:100%}
.a-cta .fk-cta__bottom .fk-h2{grid-column:1;grid-row:1/3;max-width:14ch}
.a-cta .a-cta__p{grid-column:2;grid-row:1;align-self:end;color:var(--n-400);max-width:44ch}
.a-cta .fk-cta__bottom .fk-btn{grid-column:2;grid-row:2;justify-self:start}

@media(max-width:1100px){
  .a-toolbar>.a-toggle,.a-toolbar>.a-trial{grid-column:1/-1}
  .a-head__body>:first-child,.a-head__side{grid-column:1/-1}
  .a-head__body{row-gap:32px}
  .a-team__grid>h2,.a-team__copy,.a-faq__grid>h2,.a-faq__grid>.fk-faq{grid-column:1/-1;position:static}
}
@media(max-width:760px){
  .a-page{padding-top:24px}
  .a-block{margin-top:72px}
  .a-toolbar>.a-toggle,.a-toolbar>.a-trial{grid-column:1/-1}
  .a-table :is(th,td){padding:12px 14px}
  .a-table tbody th[scope="row"]{width:auto;min-width:200px}
  .fk-cta.a-cta{margin-top:80px}
  .a-cta .fk-cta__bottom{grid-template-columns:1fr}
  .a-cta .fk-cta__bottom .fk-h2,.a-cta .a-cta__p,.a-cta .fk-cta__bottom .fk-btn{grid-column:1;grid-row:auto}
  .a-faq__grid>.fk-faq .fk-faq__a{padding-right:0}
}

/* ---------- extra minutes / chat packs ---------- */
.a-intro{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:20px;align-items:start;margin-bottom:32px}
.a-intro>h2{grid-column:1/6}
.a-intro__copy{grid-column:7/-1;display:flex;flex-direction:column;gap:16px}
.a-intro__p{margin:0}
.a-packs .fk-price__name{font-size:28px}
.a-packs .fk-price__amount{font-size:28px}
.a-packs .fk-price__top span:not(.fk-price__num){color:var(--accent)}
.a-packs .fk-price.fk-price--hi .fk-price__num{color:var(--accent)}
.a-packs .fk-btn[disabled]{opacity:.45;cursor:not-allowed}
.a-pack-fine{display:flex;flex-direction:column;gap:12px}
.a-pack-fine .a-fine{margin:0}
@media(max-width:1100px){.a-intro>h2,.a-intro__copy{grid-column:1/-1}}

/* ---------- hub / image-card pages (why, about, customers, news) ---------- */
.a-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.a-hero-img{margin:72px 0 0;background:var(--bg-2)}
.a-hero-img__img{display:block;width:100%;height:auto}
.a-block__title{margin:0 0 40px}
.a-cards{row-gap:56px}
.a-card{gap:12px}
.a-card__media{width:100%;aspect-ratio:3/2;margin-bottom:12px}
.a-card__media>img{width:100%;height:100%;object-fit:cover}
.a-cta--solo{justify-content:flex-end}
.a-cta--solo .fk-cta__bottom{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media(max-width:760px){.a-hero-img{margin-top:48px}}

/* split sections + link lists (about) */
.a-split__grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:32px;align-items:center;margin-top:8px}
.a-split__copy{grid-column:1/7;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.a-split__copy>h2{margin:0}
.a-split__copy>.fk-lead{margin:0}
.a-split__media{grid-column:8/-1;margin:0}
.a-split__media>img{display:block;width:100%;height:auto}
.a-split--rev .a-split__copy{grid-column:7/-1;grid-row:1}
.a-split--rev .a-split__media{grid-column:1/6;grid-row:1}
.a-statement__h{max-width:22ch;margin:0 0 48px;font-size:clamp(28px,4vw,48px);line-height:1.1}
.a-statement .a-hero-img{margin-top:0}
.a-card__chip{margin-top:4px}
.a-linklist{display:flex;flex-wrap:wrap;gap:12px 32px;margin:56px 0 0;padding:20px 0 0;border-top:1px dashed var(--n-700);list-style:none}
@media(max-width:1100px){
  .a-split__copy,.a-split__media,.a-split--rev .a-split__copy,.a-split--rev .a-split__media{grid-column:1/-1;grid-row:auto}
}
.a-statement .a-hero-img__img,.a-statement .a-hero-img img{aspect-ratio:16/9;object-fit:cover}

/* news hub */
.a-art{display:block;width:100%;height:100%;background-size:cover;background-position:center}
.a-featured__grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:32px;margin-top:32px;align-items:start}
.a-feature{grid-column:1/8;display:flex;flex-direction:column;gap:20px;color:inherit;text-decoration:none}
.a-feature__media{aspect-ratio:16/10}
.a-feature__body{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.a-feature__title{margin:0;transition:color var(--t-card) var(--ease)}
.a-feature:hover .a-feature__title{color:var(--accent)}
.a-featured__side{grid-column:9/-1;display:flex;flex-direction:column}
.a-newsrow{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-top:1px dashed var(--n-700);color:inherit;text-decoration:none}
.a-newsrow:first-child{border-top:0;padding-top:0}
.a-newsrow__media{aspect-ratio:4/3}
.a-newsrow__body{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.a-newsrow__title{font:400 18px/1.2 var(--font);color:var(--fg);transition:color var(--t-card) var(--ease)}
.a-newsrow:hover .a-newsrow__title{color:var(--accent)}
.a-cards--3>.fk-card{grid-column:span 4}
.a-cards .a-fine{grid-column:1/-1}
.a-block>.a-fine{margin-top:48px}
@media(max-width:1100px){
  .a-feature,.a-featured__side{grid-column:1/-1}
  .a-cards--3>.fk-card{grid-column:span 6}
}
@media(max-width:760px){.a-cards--3>.fk-card{grid-column:1/-1}}

/* customers archive */
.a-search{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:32px 0 48px}
.a-search .fk-input{width:min(420px,100%);font:400 14px/1 var(--mono)}
.a-search__status{margin:0;font:400 12px/1.4 var(--mono);text-transform:uppercase;color:var(--n-400)}
.a-archive .a-cards>.fk-card{grid-column:span 3}
@media(max-width:1100px){.a-archive .a-cards>.fk-card{grid-column:span 6}}
@media(max-width:760px){.a-archive .a-cards>.fk-card{grid-column:1/-1}}
.a-card__media+.fk-card__title{margin-top:36px}

/* ---------- legal / simple content (T6): privacy, terms, refund-policy, acceptable-use, security ---------- */
.a-legal-head{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:56px}
.a-legal-head>.fk-rule{align-self:stretch}
.a-legal-h1{max-width:18ch;font-size:clamp(36px,5vw,48px);line-height:1.05}
.a-legal-h1 em,.a-sec h2 em{font-style:normal;background:none;color:inherit}
.a-legal-lede{max-width:62ch;margin:0}
.a-legal.fk-article{border-top:1px solid var(--n-800);padding-top:40px}
.a-legal .fk-toc{max-height:calc(100vh - 140px);overflow:auto}
.a-sec{padding:0 0 56px;margin:0 0 56px;border-bottom:1px dashed var(--n-700);scroll-margin-top:96px}
.a-sec:last-child{border-bottom:0;margin-bottom:0}
.a-sec__label{display:flex;align-items:center;gap:12px;margin:0 0 20px;font:400 12px/12px var(--mono);letter-spacing:-.24px;text-transform:uppercase;color:var(--n-500)}
.a-sec__label::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.a-sec__split{display:block}
.a-sec__split>h2,.fk-prose .a-sec h2{margin:0 0 24px;font-size:clamp(28px,3.4vw,36px)}
.fk-prose .a-sec h2::before{display:none}
.a-sec__split>div>*{margin:0 0 20px}
.a-sec__split>div>*:last-child{margin-bottom:0}
.a-lead{font:400 18px/1.45 var(--font);color:var(--fg)}
.a-callout{padding:16px;border:1px dashed var(--n-600);border-radius:var(--r-box);font:400 14px/1.5 var(--mono);color:var(--fg)}
.a-facts{margin:0;padding:0!important;list-style:none}
.a-facts li{display:flex;flex-direction:column;gap:4px;margin:0;padding:16px 0;border-top:1px dashed var(--n-700)}
.a-facts li:first-child{border-top:0;padding-top:0}
.a-facts li strong{font-weight:400;color:var(--fg)}
.a-facts li span{font:400 14px/1.5 var(--mono);letter-spacing:-.02em;color:var(--n-400)}
.a-facts li::marker{content:''}
.a-card-box p{margin:0 0 12px}
.a-card-box p:last-child{margin-bottom:0}
.a-card-box{font:400 14px/1.5 var(--mono);letter-spacing:-.02em;color:var(--n-300)}
.a-form form{display:flex;flex-direction:column;gap:16px;margin-top:20px;padding:24px;background:var(--bg-2);border:1px solid var(--n-800);border-radius:var(--r-box)}
.a-form form[hidden]{display:none}
.a-form form p{margin:0;font:400 14px/1.5 var(--mono);color:var(--n-300)}
.a-field{text-transform:none;font:400 14px/1.3 var(--font);color:var(--fg)}
.a-field .fk-input{font:400 14px/1 var(--font);width:100%;box-sizing:border-box}
.a-hint{color:var(--n-500)}
.a-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.a-status{min-height:1em;color:var(--fg)}
.a-form button[hidden]{display:none}
@media(max-width:1100px){.a-legal .fk-toc{max-height:none}.a-legal .fk-toc ol{display:grid}}
body.fk .a-legal-h1 :is(em,.p-highlight),body.fk .a-sec h2 :is(em,.p-highlight){background:none!important;color:inherit;padding:0;border-radius:0;box-shadow:none}
@media(max-width:760px){.a-legal .fk-toc ol{grid-template-columns:1fr 1fr;column-gap:12px}}
.a-form form .fk-btn{align-self:flex-start}
.a-form>.fk-btn{margin-top:4px}

/* ---- contact (T8) ---- */
.a-contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}
.a-contact>.a-sec{margin:0;padding:32px;border:1px solid var(--n-800);border-radius:var(--r-box);background:var(--bg-2)}
.a-contact__side{display:flex;flex-direction:column;gap:0}
.a-contact__side>.a-sec{margin:0;padding:32px 0;border-bottom:1px dashed var(--n-700)}
.a-contact__side>.a-sec:first-child{padding-top:8px}
.a-contact__side>.a-sec:last-child{border-bottom:0}
.a-contact .a-sec__split>h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:20px}
.a-cform{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.a-cform .fk-input{background:var(--bg);font:400 14px/1.4 var(--font)}
.a-cform textarea.fk-input{min-height:140px;resize:vertical}
.a-cform .fk-btn{align-self:flex-start}
#report-status{margin:0;min-height:1em;font:400 14px/1.5 var(--mono);color:var(--n-300)}
#report-status.ok{color:var(--fg-hi)}
#report-status.bad{color:var(--accent)}
.a-tabs a.fk-tag{text-transform:uppercase}

/* ---- 404 (T9) ---- */
.a-404{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:32px;padding-top:96px;padding-bottom:96px}
.a-404__h1{font-size:clamp(44px,8vw,60px);line-height:1.02;margin:0}
.a-404__panel{align-self:flex-start;padding:24px;border:1px dashed var(--n-700);border-radius:var(--r-box)}
@media (max-width:1100px){.a-contact{grid-template-columns:1fr;gap:32px}}
@media (max-width:760px){.a-contact>.a-sec{padding:20px}.a-404{padding-top:56px;padding-bottom:56px}}
.a-legal-lede a{color:var(--fg-hi);text-decoration-color:var(--n-500);text-underline-offset:3px}

/* ---- balance: the contact side column fills the form's height; its last block is a full-width box at the bottom ---- */
@media (min-width:1101px){.a-contact{align-items:stretch}.a-contact__side>.a-sec:last-child{margin-top:auto;padding:32px;border:1px dashed var(--n-700);border-radius:var(--r-box)}}
