/* ==========================================================================
   Amie Builder - front-end layout + module styles (loaded for everyone).
   Sections > rows > columns > modules. Reuses the theme tokens (--afx-*).
   ========================================================================== */

/* ---- Sections ---- */
.afx-b-sec{position:relative}
.afx-b-sec--light{background:var(--afx-paper)}
.afx-b-sec--alt{background:var(--afx-paper-2)}
.afx-b-sec--dark{background:var(--afx-navy);color:#fff}
.afx-b-sec--gold{background:var(--afx-gold);color:var(--afx-navy)}
.afx-b-sec--dark h1,.afx-b-sec--dark h2,.afx-b-sec--dark h3,.afx-b-sec--dark h4,.afx-b-sec--dark .afx-b-h{color:#fff}
.afx-b-sec--dark .afx-b-text,.afx-b-sec--dark .afx-b-text--lead,.afx-b-sec--dark .afx-b-text--intro,.afx-b-sec--dark .afx-section__intro{color:rgba(255,255,255,.82)}
.afx-b-sec--dark .afx-value p,.afx-b-sec--dark .afx-b-faq__a{color:rgba(255,255,255,.8)}
.afx-b-sec--dark .afx-value h3,.afx-b-sec--dark summary{color:#fff}
.afx-b-sec--dark .afx-btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.afx-b-sec--dark .afx-btn--ghost:hover{background:#fff;color:var(--afx-navy)}
.afx-b-sec--pad-none{padding:0}
.afx-b-sec--pad-sm{padding:clamp(28px,4vw,48px) 0}
.afx-b-sec--pad-md{padding:clamp(48px,6vw,84px) 0}
.afx-b-sec--pad-lg{padding:clamp(64px,9vw,128px) 0}
.afx-b-sec--pad-hero{padding:0}
.afx-b-sec--pad-pagehero{padding:clamp(120px,14vw,170px) 0 clamp(48px,6vw,72px)}
.afx-b-sec__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.afx-b-sec__scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(9,19,32,.92) 0%,rgba(13,27,42,.7) 50%,rgba(13,27,42,.45) 100%);z-index:0}
.afx-b-sec__in{position:relative;z-index:1}
.afx-b-sec--w-full .afx-b-sec__in{width:100%}
.afx-b-narrow{max-width:820px}
.afx-b-sec.afx-hero .afx-b-sec__in{width:min(var(--afx-site-width),93vw)}
/* Theme sections that carry their own background (contact / credentials / pricing) */
.afx-b-sec.afx-pricing,.afx-b-sec.afx-contact,.afx-b-sec.afx-credentials{padding-inline:0}
.afx-b-sec.afx-contact .afx-b-sec__in,.afx-b-sec.afx-pricing .afx-b-sec__in{width:min(var(--afx-site-width),93vw);margin-inline:auto}
.afx-b-sec.afx-contact .afx-contact__grid{margin-top:0}
.afx-b-sec.afx-pagehero .afx-pagehero__title{margin-top:0}

/* ---- Rows / columns ---- */
.afx-b-row{display:grid;grid-template-columns:1fr;align-items:stretch}
.afx-b-row--g-none{gap:0}.afx-b-row--g-sm{gap:16px}.afx-b-row--g-md{gap:28px}.afx-b-row--g-lg{gap:clamp(32px,5vw,72px)}
.afx-b-row--v-start{align-items:start}.afx-b-row--v-center{align-items:center}.afx-b-row--v-end{align-items:end}
.afx-b-row--c-1-1{grid-template-columns:1fr 1fr}
.afx-b-row--c-1-1-1{grid-template-columns:1fr 1fr 1fr}
.afx-b-row--c-1-1-1-1{grid-template-columns:repeat(4,1fr)}
.afx-b-row--c-2-1{grid-template-columns:2fr 1fr}
.afx-b-row--c-1-2{grid-template-columns:1fr 2fr}
.afx-b-row--c-3-2{grid-template-columns:3fr 2fr}
.afx-b-row--c-2-3{grid-template-columns:2fr 3fr}
.afx-b-row--c-1-1-2{grid-template-columns:1fr 1fr 2fr}
.afx-b-row--c-2-1-1{grid-template-columns:2fr 1fr 1fr}
.afx-b-row+.afx-b-row{margin-top:clamp(32px,4vw,56px)}
.afx-b-row.afx-pricing__head{margin-bottom:0}
.afx-b-row.afx-pricing__head+.afx-b-row{margin-top:clamp(28px,4vw,44px)}
.afx-b-col{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.afx-b-col--center{align-items:center;text-align:center}
.afx-b-col--end{align-items:flex-end}
.afx-b-col>.afx-b-mod{width:100%}
.afx-b-col--center>.afx-b-mod{display:flex;flex-direction:column;align-items:center}
.afx-b-col--center .afx-b-btns{justify-content:center}
.afx-b-col--end>.afx-b-mod{display:flex;flex-direction:column;align-items:flex-end}

/* ---- Module wrapper + spacing rhythm ---- */
.afx-b-mod{position:relative;min-width:0}
.afx-b-mod+.afx-b-mod{margin-top:18px}
.afx-b-mod--eyebrow+.afx-b-mod--heading{margin-top:18px}
.afx-b-mod--heading+.afx-b-mod--text{margin-top:18px}
.afx-b-mod--text+.afx-b-mod--buttons{margin-top:34px}
.afx-b-mod--buttons+.afx-b-mod--stats{margin-top:0}
.afx-b-mod--text+.afx-b-mod--values{margin-top:34px}
.afx-b-mod--services+.afx-b-mod--alsobar{margin-top:40px}
.afx-b-mod--pricing+.afx-b-mod--corpbar{margin-top:40px}
.afx-b-mod--marquee+.afx-b-mod--credentials{margin-top:0}
.afx-b-mod--text+.afx-b-mod--contactMethods{margin-top:34px}
.afx-b-mod--heading .afx-hero__title{margin:0}
.afx-b-mod--eyebrow+.afx-b-mod--heading .afx-hero__title{margin-top:8px}
.afx-b-ac{text-align:center}.afx-b-ar{text-align:right}
.afx-b-ac .afx-b-btns{justify-content:center}.afx-b-ar .afx-b-btns{justify-content:flex-end}
.afx-b-ac .afx-b-text,.afx-b-ac .afx-section__title{margin-inline:auto}
.afx-b-ac .afx-b-img{margin-inline:auto}

/* ---- Heading sizes ---- */
.afx-b-h{font-family:var(--afx-font-head);font-weight:400;line-height:1.08;margin:0;color:var(--afx-navy);letter-spacing:var(--afx-head-track)}
.afx-b-h--lg{font-size:clamp(28px,3.4vw,44px)}
.afx-b-h--md{font-size:clamp(22px,2.4vw,30px)}
.afx-b-h--sm{font-size:clamp(18px,1.8vw,22px)}

/* ---- Text ---- */
.afx-b-text{color:var(--afx-ink);line-height:1.65;margin:0;text-wrap:pretty}
.afx-b-text p{margin:0 0 1em}.afx-b-text p:last-child{margin-bottom:0}
.afx-b-text a{color:var(--afx-gold-d);text-decoration:underline}
.afx-b-text--lead{font-size:clamp(17px,1.3vw,20px);color:var(--afx-slate);max-width:38em}
.afx-b-text--small{font-size:14px;color:var(--afx-slate)}
.afx-b-text--intro{font-size:16.5px;color:var(--afx-slate);max-width:32em}
.afx-hero .afx-b-text--lead{color:rgba(255,255,255,.82);margin:0}
.afx-b-sec--dark .afx-b-text--lead{color:rgba(255,255,255,.82)}

/* ---- Buttons ---- */
.afx-b-btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.afx-b-btns--sm .afx-btn{font-size:13.5px;padding:11px 18px}
.afx-b-btns--lg .afx-btn{font-size:16px;padding:17px 30px}
.afx-b-btns .afx-btn{text-decoration:none}

/* ---- Image ---- */
.afx-b-img{margin:0;overflow:hidden;width:100%}
.afx-b-img img{display:block;width:100%;height:100%;object-fit:cover}
.afx-b-img--r16-9{aspect-ratio:16/9}.afx-b-img--r4-3{aspect-ratio:4/3}.afx-b-img--r1-1{aspect-ratio:1}.afx-b-img--r3-4{aspect-ratio:3/4}
.afx-b-img--rauto img{height:auto}
.afx-b-img figcaption{font-size:13px;color:var(--afx-slate);padding:10px 2px 0}
.afx-b-img--rauto{aspect-ratio:auto}

/* ---- Testimonials ---- */
.afx-b-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;width:100%;text-align:left}
.afx-b-quote{margin:0;background:var(--afx-paper);border:1px solid var(--afx-line);border-radius:14px;padding:30px 28px 26px;position:relative;display:flex;flex-direction:column;gap:18px}
.afx-b-quote__mark{font-family:var(--afx-font-head);font-size:56px;line-height:.6;color:var(--afx-gold);display:block}
.afx-b-quote p{margin:0;font-size:16.5px;line-height:1.6;color:var(--afx-ink);flex:1}
.afx-b-quote footer{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--afx-line);padding-top:14px}
.afx-b-quote footer b{font-size:14px;color:var(--afx-navy)}
.afx-b-quote footer span{font-size:12.5px;color:var(--afx-slate);letter-spacing:.03em}
.afx-b-sec--dark .afx-b-quote{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.afx-b-sec--dark .afx-b-quote p,.afx-b-sec--dark .afx-b-quote footer b{color:#fff}

/* ---- FAQ ---- */
.afx-b-faq{width:100%;border-top:1px solid var(--afx-line)}
.afx-b-faq__item{border-bottom:1px solid var(--afx-line)}
.afx-b-faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 2px;font-family:var(--afx-font-head);font-size:clamp(19px,1.7vw,23px);color:var(--afx-navy)}
.afx-b-faq__item summary::-webkit-details-marker{display:none}
.afx-b-faq__item summary i{width:30px;height:30px;flex:none;border:1px solid var(--afx-line);border-radius:50%;position:relative}
.afx-b-faq__item summary i::before,.afx-b-faq__item summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--afx-gold-d);transform:translate(-50%,-50%)}
.afx-b-faq__item summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.afx-b-faq__item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.afx-b-faq__a{padding:0 44px 22px 2px;color:var(--afx-slate);line-height:1.65;font-size:16px;max-width:60em}

/* ---- CTA band ---- */
.afx-b-cta{width:100%;background:var(--afx-navy);color:#fff;border-radius:18px;padding:clamp(32px,4vw,56px);display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:center;text-align:left}
.afx-b-cta h2{font-family:var(--afx-font-head);font-weight:400;font-size:clamp(28px,3.6vw,44px);line-height:1.05;color:#fff;margin:0 0 12px}
.afx-b-cta p{font-size:16px;color:rgba(255,255,255,.78);margin:0;max-width:34em}
.afx-b-cta .afx-btn{justify-self:end;white-space:nowrap;text-decoration:none}
.afx-b-sec--dark .afx-b-cta{background:var(--afx-gold);color:var(--afx-navy)}
.afx-b-sec--dark .afx-b-cta h2{color:var(--afx-navy)}.afx-b-sec--dark .afx-b-cta p{color:rgba(13,27,42,.8)}
.afx-b-sec--dark .afx-b-cta .afx-btn{background:var(--afx-navy);color:#fff}

/* ---- Divider / spacer ---- */
.afx-b-divider{border:none;height:1px;background:var(--afx-line);margin:6px 0}
.afx-b-divider--gold{height:2px;background:var(--afx-gold);max-width:120px}
.afx-b-divider--dots{height:auto;background:none;text-align:center;letter-spacing:.6em;color:var(--afx-gold)}
.afx-b-divider--dots::before{content:"\2726 \2726 \2726"}
.afx-b-sec--dark .afx-b-divider{background:rgba(255,255,255,.2)}
.afx-b-spacer{width:100%}

/* ---- Video / map / html ---- */
.afx-b-video{width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;display:grid;place-items:center}
.afx-b-video iframe{width:100%;height:100%;border:0;display:block}
.afx-b-map{width:100%;border-radius:14px;overflow:hidden;background:var(--afx-paper-2)}
.afx-b-map iframe{width:100%;height:100%;border:0;display:block}
.afx-b-html{width:100%}
.afx-b-live{width:100%}

/* ---- Dynamic placeholder (only ever shown inside the builder) ---- */
.afx-b-dyn{width:100%;border:1.5px dashed rgba(139,47,230,.45);border-radius:14px;background:rgba(139,47,230,.05);padding:34px 24px;color:var(--afx-ink)}
.afx-b-dyn__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-family:var(--afx-font-body)}
.afx-b-dyn__ico{font-size:26px;color:#8b2fe6;line-height:1}
.afx-b-dyn__in b{font-size:15px;color:var(--afx-navy)}
.afx-b-dyn__in span:last-child{font-size:13px;color:var(--afx-slate);max-width:40em}
.afx-b-sec--dark .afx-b-dyn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35)}
.afx-b-sec--dark .afx-b-dyn__in b{color:#fff}.afx-b-sec--dark .afx-b-dyn__in span:last-child{color:rgba(255,255,255,.7)}

/* ---- Empty-state add buttons (hidden for visitors) ---- */
.afx-b-empty{display:none}

/* ---- Responsive ---- */
@media (max-width:1024px){
	.afx-b-row--c-1-1-1,.afx-b-row--c-1-1-1-1,.afx-b-row--c-1-1-2,.afx-b-row--c-2-1-1{grid-template-columns:1fr 1fr}
	.afx-b-cta{grid-template-columns:1fr}.afx-b-cta .afx-btn{justify-self:start}
}
@media (max-width:640px){
	.afx-b-row{grid-template-columns:1fr!important}
	.afx-b-row--rev{direction:rtl}.afx-b-row--rev>*{direction:ltr}
	.afx-b-col--end{align-items:flex-start}
	.afx-b-sec--pad-lg{padding:56px 0}
}
/* Builder device preview mirrors the media queries via body classes */
body.afx-b-tablet .afx-b-row--c-1-1-1,body.afx-b-tablet .afx-b-row--c-1-1-1-1,body.afx-b-tablet .afx-b-row--c-1-1-2,body.afx-b-tablet .afx-b-row--c-2-1-1{grid-template-columns:1fr 1fr}
body.afx-b-tablet .afx-b-cta{grid-template-columns:1fr}
body.afx-b-phone .afx-b-row{grid-template-columns:1fr!important}
body.afx-b-phone .afx-b-row--rev{direction:rtl}body.afx-b-phone .afx-b-row--rev>*{direction:ltr}
body.afx-b-phone .afx-b-col--end{align-items:flex-start}
body.afx-b-phone .afx-b-sec--pad-lg{padding:56px 0}
body.afx-b-phone .afx-b-cta{grid-template-columns:1fr}
