/* AI Boss Builder component styles. Class prefix: abb-. Everything reads the semantic tokens, so it follows light/dark and .abb-bp surfaces. */
/* Wordmark */
.abb-wordmark{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--wm-size,20px);line-height:1;letter-spacing:var(--ls-wordmark);text-transform:uppercase;color:var(--text-1);display:inline-flex;align-items:baseline;gap:.3em;white-space:nowrap;text-decoration:none}
.abb-wordmark__accent{color:var(--accent)}
.abb-wordmark--stacked{flex-direction:column;align-items:flex-start;gap:.06em;line-height:.92}
.abb-wordmark--stacked .abb-wordmark__row2{letter-spacing:.235em}
.abb-wordmark--plate{display:inline-grid;grid-template-columns:auto auto;gap:0;border:var(--line-hair) solid var(--line-strong);border-radius:var(--radius);align-items:stretch}
.abb-wordmark--plate>span{padding:.32em .45em .28em}
.abb-wordmark--plate>span+span{border-left:var(--line-hair) solid var(--line-strong)}
/* Icon button + theme toggle */
.abb-iconbtn{width:40px;height:40px;display:inline-grid;place-items:center;background:transparent;color:var(--text-1);border:var(--line-hair) solid var(--line-soft);border-radius:var(--radius);cursor:pointer;padding:0;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.abb-iconbtn:hover{border-color:var(--accent);color:var(--accent)}
.abb-iconbtn svg{width:20px;height:20px}
/* Header */
.abb-header{container-type:inline-size;container-name:abbheader;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--gutter);min-height:64px;border-bottom:var(--line-hair) solid var(--line-soft);color:var(--text-1)}
.abb-header__nav{display:flex;align-items:center;gap:var(--space-4)}
.abb-header__links{display:flex;gap:var(--space-4)}
.abb-header__links a{color:var(--text-1);text-decoration:none;font-weight:var(--fw-semibold);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase}
.abb-header__links a:hover{color:var(--accent)}
@container abbheader (max-width:760px){.abb-header__links{display:none}}
/* Buttons */
.abb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:13px;line-height:1;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:var(--line-rule) solid transparent;border-radius:var(--radius);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);white-space:nowrap}
.abb-btn:active{transform:translateY(1px)}
.abb-btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.abb-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.abb-btn--secondary{background:transparent;color:var(--text-1);border-color:var(--line-strong)}
.abb-btn--secondary:hover{color:var(--accent);border-color:var(--accent)}
.abb-btn--text{background:transparent;color:var(--link);border-color:transparent;padding-left:0;padding-right:0}
.abb-btn--text:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:4px}
.abb-btn--sm{padding:10px 16px;font-size:12px}
.abb-btn--lg{padding:18px 28px;font-size:14px}
.abb-btn--block{display:flex;width:100%}
.abb-btn[disabled],.abb-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
/* Blueprint pieces */
.abb-titleblock{display:inline-grid;border:var(--line-hair) solid var(--line-soft);color:var(--text-2);font-weight:var(--fw-semibold);font-size:var(--fs-micro);letter-spacing:var(--ls-micro);text-transform:uppercase;line-height:1.5;min-width:180px;border-radius:var(--radius)}
.abb-titleblock__title{padding:5px 10px;color:var(--text-1);border-bottom:var(--line-hair) solid var(--line-soft)}
.abb-titleblock__row{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:4px 10px;border-bottom:var(--line-hair) solid var(--line-soft)}
.abb-titleblock__row:last-child{border-bottom:0}
.abb-titleblock__row b{font-weight:var(--fw-semibold);color:var(--text-1);text-align:right}
.abb-ticks{position:relative}
.abb-ticks>.abb-tick{position:absolute;width:var(--tick-size);height:var(--tick-size);border-color:var(--sketch);border-style:solid;border-width:0;pointer-events:none}
.abb-tick--tl{top:var(--tick-inset);left:var(--tick-inset);border-top-width:var(--line-hair)!important;border-left-width:var(--line-hair)!important}
.abb-tick--tr{top:var(--tick-inset);right:var(--tick-inset);border-top-width:var(--line-hair)!important;border-right-width:var(--line-hair)!important}
.abb-tick--bl{bottom:var(--tick-inset);left:var(--tick-inset);border-bottom-width:var(--line-hair)!important;border-left-width:var(--line-hair)!important}
.abb-tick--br{bottom:var(--tick-inset);right:var(--tick-inset);border-bottom-width:var(--line-hair)!important;border-right-width:var(--line-hair)!important}
.abb-dim{display:flex;align-items:center;gap:0;color:var(--sketch);width:100%}
.abb-dim__cap{width:var(--line-hair);height:12px;background:currentColor;flex:none}
.abb-dim__line{flex:1;height:var(--line-hair);background:currentColor;position:relative}
.abb-dim__line--l::before,.abb-dim__line--r::after{content:"";position:absolute;top:-3px;width:7px;height:7px;border:solid currentColor;border-width:0}
.abb-dim__line--l::before{left:0;border-left-width:1px;border-bottom-width:1px;transform:translate(1px,0) rotate(45deg)}
.abb-dim__line--r::after{right:0;border-right-width:1px;border-top-width:1px;transform:translate(-1px,0) rotate(45deg)}
.abb-dim__label{padding:0 10px;font-weight:var(--fw-semibold);font-size:var(--fs-micro);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.abb-dim--vertical{flex-direction:column;width:auto;height:100%}
.abb-dim--vertical .abb-dim__cap{width:12px;height:var(--line-hair)}
.abb-dim--vertical .abb-dim__line{width:var(--line-hair);height:auto}
.abb-dim--vertical .abb-dim__line::before,.abb-dim--vertical .abb-dim__line::after{display:none}
.abb-dim--vertical .abb-dim__label{writing-mode:vertical-rl;transform:rotate(180deg)}
.abb-sketch{color:var(--sketch);display:block;width:100%;height:auto}
.abb-sketch text{font-family:var(--font-body);font-weight:600}
/* Hero */
.abb-hero{position:relative;overflow:hidden;container-type:inline-size;container-name:abbhero}
.abb-hero__inner{position:relative;max-width:var(--content-max);margin:0 auto;padding:var(--space-7) var(--gutter) var(--space-8);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-5);align-items:end}
.abb-hero__kicker{color:var(--accent);margin-bottom:var(--space-3)}
.abb-hero__title{max-width:12ch}
.abb-hero__sub{margin-top:var(--space-3);max-width:34ch;color:var(--text-1)}
.abb-hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}
.abb-hero__meta{margin-top:var(--space-4);color:var(--text-2)}
.abb-hero__art{position:relative;align-self:end}
.abb-hero__art--tall{align-self:center;margin-top:0;max-width:440px;justify-self:end;width:100%}
.abb-hero__slides{display:grid}
.abb-hero__slide{grid-area:1/1;opacity:0;transition:opacity 700ms var(--ease)}
.abb-hero__slide[data-on="true"]{opacity:1}
.abb-hero__dots{display:flex;justify-content:center;gap:4px;margin-top:var(--space-2)}
.abb-hero__dot{width:24px;height:24px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer}
.abb-hero__dot::after{content:"";width:8px;height:8px;border-radius:50%;border:1px solid var(--sketch);transition:background-color var(--dur-fast) var(--ease)}
.abb-hero__dot[aria-current="true"]::after,.abb-hero__dot:hover::after{background:var(--sketch)}
.abb-hero__tb{position:absolute;top:var(--space-4);right:var(--gutter);z-index:1}
@container abbhero (max-width:820px){.abb-hero__inner{grid-template-columns:1fr}.abb-hero__tb{display:none}.abb-hero__art{max-width:420px}.abb-hero__art--tall{justify-self:start;margin-top:0;max-width:380px}}
.abb-hero--compact .abb-hero__inner{padding-top:var(--space-6);padding-bottom:var(--space-6)}
/* Section header */
.abb-sh{display:grid;gap:var(--space-2);margin-bottom:var(--space-5);max-width:var(--measure)}
.abb-sh__eyebrow{display:flex;align-items:center;gap:var(--space-2);color:var(--accent)}
.abb-sh__sheet{color:var(--text-2);padding:3px 6px;border:var(--line-hair) solid var(--line-soft);border-radius:var(--radius)}
.abb-sh__lede{color:var(--text-2)}
.abb-sh--center{margin-left:auto;margin-right:auto;text-align:center;justify-items:center}
.abb-sh__dim{margin-top:var(--space-1);max-width:var(--measure)}
/* Timeline */
.abb-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);list-style:none;margin:0;padding:0}
.abb-timeline__step{border-top:var(--line-heavy) solid var(--line-strong);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}
.abb-timeline__n{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:14px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}
.abb-timeline__title{font-size:22px}
.abb-timeline__out{margin-top:auto;padding-top:var(--space-2);border-top:var(--line-hair) solid var(--line-soft);font-size:var(--fs-small);color:var(--text-2)}
.abb-timeline__out b{color:var(--text-1);font-weight:var(--fw-semibold)}
.abb-timeline-dim{margin-bottom:var(--space-3)}
/* Pricing */
.abb-price{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4);background:var(--bg-surface);border:var(--line-rule) solid var(--line-strong);border-radius:var(--radius)}
.abb-price--vip{border:2px solid var(--accent)}
.abb-price__badge{position:absolute;top:-11px;left:var(--space-3);background:var(--accent);color:var(--on-accent);padding:5px 9px;border-radius:var(--radius)}
.abb-price__name{color:var(--text-2)}
.abb-price__amt{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-price);line-height:1;letter-spacing:.01em}
.abb-price__plan{font-size:var(--fs-small);color:var(--text-2);margin-top:-6px}
.abb-price__list{list-style:none;margin:0;padding:var(--space-3) 0 0;border-top:var(--line-hair) solid var(--line-soft);display:grid;gap:10px}
.abb-price__list li{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:baseline}
.abb-price__list li::before{content:"";width:7px;height:7px;background:var(--accent);transform:translateY(-1px)}
.abb-price__note{font-size:var(--fs-small);color:var(--text-2)}
.abb-price>.abb-btn{margin-top:auto}
.abb-price>.abb-price__note{margin-top:auto}
.abb-price>.abb-price__note+.abb-btn{margin-top:0}
.abb-ticks:has(>.abb-price){height:100%}
/* Founder */
.abb-founder{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:var(--space-5);align-items:start}
.abb-founder__photo{position:relative;aspect-ratio:4/5;padding:10px}
.abb-founder__photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius)}
.abb-founder__ph{overflow-wrap:anywhere;word-break:break-all;width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:var(--space-3);background:var(--bg-sunken);color:var(--text-2);border:var(--line-hair) dashed var(--line-soft);border-radius:var(--radius)}
.abb-founder__body{display:grid;gap:var(--space-2)}
.abb-founder__role{color:var(--accent)}
.abb-founder__claim{color:var(--text-1)}
.abb-founder__creds{margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--line-hair) solid var(--line-soft);font-size:var(--fs-small);color:var(--text-2)}
.abb-founder-c{container-type:inline-size}
@container (max-width:560px){.abb-founder{grid-template-columns:1fr}.abb-founder__photo{max-width:240px}}
/* FAQ */
.abb-faq{border-bottom:var(--line-hair) solid var(--line-soft)}
.abb-faq:first-child{border-top:var(--line-hair) solid var(--line-soft)}
.abb-faq__q{width:100%;display:grid;grid-template-columns:1fr 24px;gap:var(--space-3);align-items:center;text-align:left;padding:var(--space-3) 0;background:none;border:0;color:var(--text-1);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:17px;line-height:1.4;cursor:pointer}
.abb-faq__q:hover{color:var(--accent)}
.abb-faq__icon{position:relative;width:14px;height:14px;justify-self:end;color:var(--accent)}
.abb-faq__icon::before,.abb-faq__icon::after{content:"";position:absolute;background:currentColor;left:0;top:6.5px;width:14px;height:1.5px;transition:transform var(--dur-base) var(--ease)}
.abb-faq__icon::after{transform:rotate(90deg)}
.abb-faq[data-open="true"] .abb-faq__icon::after{transform:rotate(0)}
.abb-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease)}
.abb-faq[data-open="true"] .abb-faq__a{grid-template-rows:1fr}
.abb-faq__a>div{overflow:hidden}
.abb-faq__a p{margin:0 0 var(--space-3);color:var(--text-2);max-width:var(--measure)}
/* Footer */
.abb-footer{container-type:inline-size;container-name:abbfooter;padding:var(--space-6) 0 var(--space-4)}
.abb-footer__top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:var(--line-hair) solid var(--line-soft)}
.abb-footer__col{display:grid;gap:10px;align-content:start}
.abb-footer__col h4{color:var(--text-2);margin:0 0 4px}
.abb-footer__col a{color:var(--text-1);text-decoration:none;font-size:var(--fs-small)}
.abb-footer__col a:hover{color:var(--accent);text-decoration:underline}
.abb-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--space-3);padding-top:var(--space-4);font-size:13px;color:var(--text-2)}
@container abbfooter (max-width:640px){.abb-footer__top{grid-template-columns:1fr 1fr}.abb-footer__top>:first-child{grid-column:1/-1}}
/* Forms */
.abb-field{display:grid;gap:8px}
.abb-field__label{color:var(--text-1)}
.abb-field__hint{font-size:13px;color:var(--text-2)}
.abb-input,.abb-select{width:100%;height:48px;padding:0 14px;background:var(--bg-surface);color:var(--text-1);border:var(--line-hair) solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--fs-body);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.abb-input::placeholder{color:var(--text-2);opacity:1}
.abb-input:hover,.abb-select:hover{border-color:var(--accent)}
.abb-input:focus,.abb-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.abb-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.abb-field--error .abb-input,.abb-field--error .abb-select{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}
.abb-field__error{font-size:13px;color:var(--danger);font-weight:var(--fw-semibold)}
.abb-choices{display:grid;gap:8px}
.abb-choice{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;padding:12px 14px;border:var(--line-hair) solid var(--line-soft);border-radius:var(--radius);background:var(--bg-surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}
.abb-choice:hover{border-color:var(--accent)}
.abb-choice input{position:absolute;opacity:0;pointer-events:none}
.abb-choice__box{width:18px;height:18px;border:var(--line-rule) solid var(--line-strong);display:grid;place-items:center;margin-top:1px}
.abb-choice__box::after{content:"";width:8px;height:8px;background:var(--accent);transform:scale(0);transition:transform var(--dur-fast) var(--ease)}
.abb-choice[data-checked="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.abb-choice[data-checked="true"] .abb-choice__box{border-color:var(--accent)}
.abb-choice[data-checked="true"] .abb-choice__box::after{transform:scale(1)}
.abb-choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.abb-choice__t{font-size:15px;line-height:1.4}
.abb-choice__d{display:block;font-size:13px;color:var(--text-2)}
.abb-choice__other{margin-top:10px;height:40px;font-size:15px}
.abb-form{display:grid;gap:var(--space-4);padding:var(--space-5) var(--space-4);background:var(--bg-surface);border:var(--line-rule) solid var(--line-strong);border-radius:var(--radius)}
.abb-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}
.abb-form__fs{border:0;padding:0;margin:0;display:grid;gap:8px}
.abb-form__fs legend{padding:0;margin-bottom:8px}
.abb-form__fine{font-size:13px;color:var(--text-2);margin:0}
.abb-form__done{display:grid;gap:var(--space-2);justify-items:start}
