/* Akira LP Cidades — front
   Conceito: desenho técnico de canteiro. Cotas, chapas cortadas e tipografia larga de sinalização. */

:root {
	--ak-red: #d7141a;
	--ak-red-deep: #a90f14;
	--ak-black: #000;
	--ak-white: #fff;
	--ak-concrete: #e7e7e4;
	--ak-paper: #f4f4f2;
	--ak-steel: #585c63;
	--ak-fog: #a8acb2;
	--ak-rule: rgba(0, 0, 0, .14);
	--ak-font: "Archivo AK", "Archivo", "Helvetica Neue", Arial, sans-serif;
	--ak-wrap: 1240px;
	--ak-gut: clamp(1.25rem, 4vw, 2.5rem);
	--ak-notch: 14px;
	--ak-top-h: 68px;
}

.akira-lp { margin: 0; background: var(--ak-white); color: var(--ak-black); font-family: var(--ak-font); font-size: 1.0625rem; line-height: 1.6; font-weight: 400; font-stretch: 100%; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.akira-lp *, .akira-lp *::before, .akira-lp *::after { box-sizing: border-box; }
html:has(body.akira-lp) { scroll-behavior: smooth; scroll-padding-top: calc(var(--ak-top-h) + 12px); }
.akira-lp img { max-width: 100%; height: auto; display: block; }
.akira-lp a { color: inherit; }
.akira-lp p { margin: 0 0 1em; }
.akira-lp ul, .akira-lp ol { margin: 0; padding: 0; list-style: none; }
.akira-lp figure { margin: 0; }
.akira-lp :focus-visible { outline: 3px solid var(--ak-red); outline-offset: 3px; }
.is-vermelho :focus-visible, .ak-top :focus-visible { outline-color: var(--ak-white); }

.ak-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ak-skip { position: absolute; left: 1rem; top: -4rem; z-index: 200; background: var(--ak-white); color: var(--ak-black); padding: .6rem 1rem; font-weight: 700; }
.ak-skip:focus { top: 1rem; }
.ak-wrap { width: 100%; max-width: var(--ak-wrap); margin: 0 auto; padding: 0 var(--ak-gut); }

/* ---------- Tipografia ---------- */
.ak-hero__title, .ak-h2, .ak-h3, .ak-panel__title, .ak-modal__title, .ak-logo__text, .ak-calc__result output { font-family: var(--ak-font); }
.ak-h2 { font-size: clamp(1.85rem, 3.3vw, 2.8rem); line-height: 1.04; font-weight: 780; font-stretch: 116%; letter-spacing: -.012em; margin: 0 0 1.25rem; text-wrap: balance; }
.ak-h2--xl { font-size: clamp(2.1rem, 4.6vw, 3.9rem); }
.ak-h3 { font-size: 1.2rem; line-height: 1.2; font-weight: 700; font-stretch: 108%; margin: 0 0 .45rem; }
.ak-head { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.ak-head__intro { font-size: 1.125rem; color: var(--ak-steel); max-width: 60ch; margin: 0; }
.ak-prose { max-width: 62ch; }
.ak-prose > :last-child { margin-bottom: 0; }
.ak-prose--lead p:first-child { font-size: 1.2rem; line-height: 1.55; }
.ak-prose a { color: var(--ak-red); text-underline-offset: 3px; }

/* ---------- Seções e fundos ---------- */
.ak-sec { padding: clamp(4rem, 9vw, 7.5rem) 0; position: relative; }
.is-branco { background: var(--ak-white); color: var(--ak-black); }
.is-concreto { background: var(--ak-concrete); color: var(--ak-black); }
.is-preto { background: var(--ak-black); color: var(--ak-white); }
.is-vermelho { background: var(--ak-red); color: var(--ak-white); }
.is-preto .ak-head__intro, .is-preto p { color: var(--ak-fog); }
.is-preto .ak-h2, .is-preto .ak-h3, .is-preto strong { color: var(--ak-white); }
.is-vermelho .ak-head__intro { color: rgba(255, 255, 255, .88); }
.has-bgimg { --ak-a: .74; background-image: linear-gradient(var(--ak-ov), var(--ak-ov)), var(--ak-bgimg); background-size: cover; background-position: center; }
.has-bgimg.is-pel-leve { --ak-a: .55; }
.has-bgimg.is-pel-forte { --ak-a: .9; }
.has-bgimg.is-branco { --ak-ov: rgba(255, 255, 255, calc(var(--ak-a) + .08)); }
.has-bgimg.is-concreto { --ak-ov: rgba(231, 231, 228, calc(var(--ak-a) + .08)); }
.has-bgimg.is-preto { --ak-ov: rgba(0, 0, 0, var(--ak-a)); }
.has-bgimg.is-vermelho { --ak-ov: rgba(200, 16, 22, var(--ak-a)); }
/* Banner com foto: cor forte do lado do título, foto mais visível à direita. */
.ak-sec--hero.has-bgimg.is-vermelho { background-image: linear-gradient(100deg, rgba(200, 16, 22, calc(var(--ak-a) + .12)) 0%, rgba(200, 16, 22, var(--ak-a)) 48%, rgba(0, 0, 0, calc(var(--ak-a) - .15)) 100%), var(--ak-bgimg); }
.ak-sec--hero.has-bgimg.is-preto { background-image: linear-gradient(100deg, rgba(0, 0, 0, calc(var(--ak-a) + .1)) 0%, rgba(0, 0, 0, calc(var(--ak-a) - .2)) 100%), var(--ak-bgimg); }
@media (max-width: 699px) { .ak-sec--hero.has-bgimg { --ak-a: .82; } }

.ak-split { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
@media (min-width: 900px) {
	.ak-split--head { grid-template-columns: 5fr 7fr; }
	.ak-split--head > .ak-h2 { position: sticky; top: calc(var(--ak-top-h) + 2rem); }
	.ak-split--media { grid-template-columns: 1fr 1fr; align-items: center; }
	.ak-split--rev > .ak-figure { order: 2; }
	.ak-split--calc { grid-template-columns: 6fr 5fr; align-items: center; }
	.ak-split--regions { grid-template-columns: 5fr 6fr; }
	.ak-split--cta { grid-template-columns: 7fr 5fr; align-items: center; }
}

/* ---------- Botões: chapa com canto cortado ---------- */
.ak-btn { --ak-bc: var(--ak-red); display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.2rem; padding: .85rem 1.5rem; border: 0; background: var(--ak-bc); color: var(--ak-white); font: inherit; font-weight: 700; font-stretch: 108%; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer; clip-path: polygon(0 0, calc(100% - var(--ak-notch)) 0, 100% var(--ak-notch), 100% 100%, 0 100%); transition: background-color .15s; }
.ak-btn svg { width: 1.25rem; height: 1.25rem; flex: none; }
.ak-btn:hover { --ak-bc: var(--ak-red-deep); }
.ak-btn--block { width: 100%; }
.ak-btn--ghost { --ak-bc: var(--ak-black); }
.ak-btn--ghost:hover { --ak-bc: var(--ak-red); }
.ak-btn--line { background: transparent; color: var(--ak-white); box-shadow: inset 0 0 0 2px var(--ak-white); clip-path: none; margin-top: 1.5rem; }
.ak-btn--line:hover { background: var(--ak-white); color: var(--ak-red); }
.ak-btn[aria-busy="true"] { opacity: .7; pointer-events: none; }
.ak-prose .ak-btn, .ak-card .ak-btn { margin-top: 1.5rem; }

/* ---------- Topo ---------- */
.ak-top { position: sticky; top: 0; z-index: 90; background: var(--ak-black); color: var(--ak-white); }
.admin-bar .ak-top { top: 32px; }
@media (max-width: 782px) { .admin-bar .ak-top { top: 0; } }
.ak-top__row { display: flex; align-items: center; gap: 1.5rem; height: var(--ak-top-h); }
.ak-logo { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; flex: none; }
.ak-logo__img { max-height: 44px; width: auto; }
.ak-logo__mark { width: 30px; height: 30px; background: var(--ak-red); clip-path: polygon(0 0, 62% 0, 100% 38%, 100% 100%, 0 100%); }
.ak-logo__text { font-size: 1.35rem; font-weight: 850; font-stretch: 125%; line-height: 1; letter-spacing: -.01em; display: flex; flex-direction: column; }
.ak-logo__text small { font-size: .68rem; font-weight: 500; font-stretch: 100%; letter-spacing: .02em; color: var(--ak-fog); margin-top: .2rem; }
.ak-nav { margin-left: auto; }
.ak-nav ul { display: flex; gap: .25rem; }
.ak-nav a { display: block; padding: .5rem .7rem; font-size: .95rem; font-weight: 500; text-decoration: none; color: rgba(255, 255, 255, .82); }
.ak-nav a:hover { color: var(--ak-white); box-shadow: inset 0 -2px 0 var(--ak-red); }
.ak-top__tel { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-stretch: 105%; text-decoration: none; white-space: nowrap; }
.ak-top__tel svg { width: 1.1rem; height: 1.1rem; color: var(--ak-red); }
.ak-top__cta { min-height: 2.6rem; padding: .55rem 1.1rem; font-size: .95rem; }
.ak-burger { display: none; margin-left: auto; background: none; border: 0; color: var(--ak-white); width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.ak-burger svg { width: 24px; height: 24px; }
@media (max-width: 1080px) {
	.ak-top__tel span { display: none; }
}
@media (max-width: 900px) {
	.ak-burger { display: block; }
	.ak-top__cta, .ak-top__tel { display: none; }
	.ak-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--ak-black); border-top: 1px solid rgba(255, 255, 255, .12); display: none; }
	.ak-nav.is-open { display: block; }
	.ak-nav ul { flex-direction: column; padding: .5rem var(--ak-gut) 1.25rem; }
	.ak-nav a { padding: .85rem 0; font-size: 1.1rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
}

/* ---------- Banner ---------- */
.ak-sec--hero { padding: clamp(2.75rem, 6vw, 5rem) 0 clamp(3rem, 6vw, 5rem); overflow: hidden; }
.ak-hero__title { font-size: clamp(2.35rem, 5.6vw, 5.2rem); line-height: .96; font-weight: 820; font-stretch: 125%; letter-spacing: -.02em; margin: 0 0 clamp(2rem, 4vw, 3.25rem); max-width: 17ch; text-wrap: balance; }
.ak-hero__grid { display: grid; gap: 2rem; align-items: end; }
.ak-hero__sub { font-size: 1.15rem; line-height: 1.55; margin-bottom: 1.5rem; }
.ak-hero__drawing { color: var(--ak-white); max-width: 320px; }
.ak-hero__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); }
@media (min-width: 700px) and (max-width: 1099px) {
	.ak-hero__grid { grid-template-columns: 1fr 1fr; }
	.ak-hero__drawing, .ak-hero__photo { display: none; }
}
@media (min-width: 1100px) {
	.ak-hero__grid { grid-template-columns: 3.4fr 3.6fr 4fr; gap: 3rem; }
	.ak-hero__drawing { max-width: none; }
}
@media (max-width: 699px) {
	.ak-hero__drawing { max-width: 180px; margin: -1rem 0 -1rem auto; order: 3; opacity: .9; }
	.ak-hero__photo { order: 3; }
}

.ak-checks li { display: flex; gap: .6rem; align-items: flex-start; padding: .3rem 0; }
.ak-checks svg { width: 1.15rem; height: 1.15rem; flex: none; margin-top: .25rem; color: var(--ak-red); }
.ak-checks--hero li { font-weight: 600; border-top: 1px solid rgba(255, 255, 255, .28); padding: .6rem 0; }
.ak-checks--hero svg { color: var(--ak-white); }
.is-preto .ak-checks li { color: var(--ak-white); }

/* ---------- Painel (formulários) ---------- */
.ak-panel { background: var(--ak-white); color: var(--ak-black); padding: clamp(1.4rem, 3vw, 2rem); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); }
.ak-panel__title { font-size: 1.35rem; font-weight: 780; font-stretch: 115%; line-height: 1.15; margin-bottom: .4rem; }
.ak-panel__text { color: var(--ak-steel); font-size: .98rem; }
.ak-form { display: grid; gap: .85rem; }
.ak-field { display: grid; gap: .3rem; }
.ak-field label, .ak-calc legend { font-size: .9rem; font-weight: 600; }
.ak-field input, .ak-field select { width: 100%; min-height: 3rem; padding: .6rem .8rem; font: inherit; font-size: 1rem; color: var(--ak-black); background: var(--ak-white); border: 1.5px solid var(--ak-black); border-radius: 0; appearance: none; }
.ak-field select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
.ak-field input:focus, .ak-field select:focus { border-color: var(--ak-red); outline: 2px solid var(--ak-red); outline-offset: 0; }
.ak-field input[aria-invalid="true"] { border-color: var(--ak-red); background: #fff4f4; }
.ak-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ak-consent { display: flex; gap: .5rem; font-size: .82rem; line-height: 1.45; color: var(--ak-steel); margin: 0; }
.ak-consent a { color: inherit; }
.ak-form__msg { min-height: 1.2em; margin: 0; font-size: .9rem; font-weight: 600; color: var(--ak-red); }
.ak-form__msg.is-ok { color: var(--ak-black); }

/* ---------- Faixa da unidade ---------- */
.ak-unit { background: var(--ak-black); color: var(--ak-white); }
.ak-unit__row { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2.25rem; padding-top: 1.1rem; padding-bottom: 1.1rem; }
.ak-unit__name { margin: 0; font-weight: 780; font-stretch: 115%; }
.ak-unit__link { display: inline-flex; align-items: center; gap: .5rem; margin: 0; color: rgba(255, 255, 255, .85); text-decoration: none; font-size: .98rem; }
.ak-unit__link svg { width: 1.1rem; height: 1.1rem; color: var(--ak-red); flex: none; }
a.ak-unit__link:hover { color: var(--ak-white); text-decoration: underline; }

/* ---------- Figuras e desenhos ---------- */
.ak-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ak-figure figcaption { font-size: .85rem; color: var(--ak-steel); margin-top: .6rem; padding-left: .8rem; border-left: 2px solid var(--ak-red); }
.ak-figure > .ak-drawing { color: var(--ak-red); background: var(--ak-paper); padding: 1.5rem 1.5rem .5rem; width: 100%; background-image: linear-gradient(rgba(0,0,0,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.05) 1px, transparent 1px); background-size: 18px 18px; }
.ak-figure--drawing > .ak-drawing, .is-preto .ak-figure > .ak-drawing { background-color: #111; color: var(--ak-white); background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); }
.ak-drawing { display: block; width: 100%; height: auto; overflow: visible; }
.ak-drawing .ak-d-line, .ak-drawing .ak-d-thin, .ak-drawing .ak-d-dim line, .ak-drawing .ak-d-ground { fill: none; stroke: currentColor; stroke-linecap: square; stroke-linejoin: miter; vector-effect: non-scaling-stroke; }
.ak-drawing .ak-d-line { stroke-width: 2; }
.ak-drawing .ak-d-thin { stroke-width: 1.2; opacity: .75; }
.ak-drawing .ak-d-dim line { stroke-width: 1; opacity: .6; }
.ak-drawing .ak-d-ground { stroke-width: 1; stroke-dasharray: 2 5; opacity: .6; }
.ak-local { margin-top: 1.5rem; padding: 1.25rem 1.4rem; background: var(--ak-paper); border-left: 3px solid var(--ak-red); }
.is-concreto .ak-local { background: var(--ak-white); }
.ak-local p:last-child { margin: 0; }

/* Momento único de animação: o desenho do banner é traçado ao carregar. */
@media (prefers-reduced-motion: no-preference) {
	.ak-hero__drawing .ak-d-line, .ak-hero__drawing .ak-d-thin { stroke-dasharray: 900; stroke-dashoffset: 900; animation: ak-draw 1.6s cubic-bezier(.6, 0, .2, 1) .15s forwards; }
	.ak-hero__drawing .ak-d-dim, .ak-hero__drawing .ak-d-ground { opacity: 0; animation: ak-fade .6s ease 1.4s forwards; }
}
@keyframes ak-draw { to { stroke-dashoffset: 0; } }
@keyframes ak-fade { to { opacity: 1; } }

/* ---------- Cards de modelos (fichas técnicas) ---------- */
.ak-cards { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.ak-card { display: flex; flex-direction: column; background: var(--ak-white); color: var(--ak-black); border: 1px solid var(--ak-rule); }
.is-branco .ak-card { background: var(--ak-paper); border-color: transparent; }
.is-preto .ak-card p { color: var(--ak-steel); }
.ak-card__fig { position: relative; color: var(--ak-red); background: var(--ak-paper); background-image: linear-gradient(rgba(0,0,0,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.055) 1px, transparent 1px); background-size: 16px 16px; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 1.25rem 1rem .25rem; border-bottom: 1px solid var(--ak-rule); }
.is-branco .ak-card__fig { background-color: var(--ak-white); }
.ak-card__fig .ak-drawing { width: auto; height: 100%; max-height: 210px; }
.ak-card__fig.has-photo { padding: 0; background: none; }
.ak-card__fig.has-photo img { width: 100%; height: 100%; object-fit: cover; }
.ak-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.4rem 1.4rem 1.5rem; }
.ak-card__dims { font-size: .85rem; font-weight: 600; color: var(--ak-red); margin: 0 0 .6rem; }
.ak-card__text { color: var(--ak-steel); margin-bottom: .9rem; }
.ak-card__items { border-top: 1px solid var(--ak-rule); padding-top: .7rem; font-size: .93rem; }
.ak-card__items summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.ak-card__items summary::-webkit-details-marker { display: none; }
.ak-card__items summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--ak-red); }
.ak-card__items[open] summary::after { content: "−"; }
.ak-card__items .ak-checks { margin-top: .5rem; }
.ak-card__items .ak-checks li { padding: .15rem 0; }
.ak-card .ak-btn { margin-top: auto; }
.ak-card__items + .ak-btn, .ak-card__text + .ak-btn { margin-top: 1.25rem; }
.ak-card .ak-card__body > .ak-btn { align-self: stretch; }
@media (max-width: 640px) {
	.ak-cards { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--ak-gut) * -1); padding: 0 var(--ak-gut) 1rem; scrollbar-width: thin; }
	.ak-card { scroll-snap-align: start; }
}

/* ---------- Vantagens ---------- */
.ak-feats { display: grid; gap: 2rem 2.5rem; }
@media (min-width: 640px) { .ak-feats { grid-template-columns: 1fr 1fr; } }
.ak-feat { border-left: 3px solid var(--ak-red); padding-left: 1.1rem; }
.ak-feat p { margin: 0; }

/* ---------- Como funciona (sequência real, por isso numerada) ---------- */
.ak-steps { counter-reset: ak-step; display: grid; gap: 2rem; }
@media (min-width: 800px) { .ak-steps { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 0; } }
.ak-step { counter-increment: ak-step; position: relative; padding-top: 4.2rem; }
@media (min-width: 800px) { .ak-step { padding-right: 2rem; } }
.ak-step::before { content: counter(ak-step); position: absolute; top: 0; left: 0; font-size: 3.4rem; line-height: 1; font-weight: 850; font-stretch: 125%; color: transparent; -webkit-text-stroke: 1.5px var(--ak-red); }
.ak-step::after { content: ""; position: absolute; top: 1.7rem; left: 4.2rem; right: 1rem; border-top: 1px dashed var(--ak-rule); }
.ak-step:last-child::after { display: none; }
.ak-step p { color: var(--ak-steel); margin: 0; }
.is-preto .ak-step p { color: var(--ak-fog); }
.is-preto .ak-step::after { border-color: rgba(255,255,255,.25); }

/* ---------- Fases da obra (sequência real do cronograma) ---------- */
.ak-phases { counter-reset: ak-phase; display: grid; gap: 0; margin-bottom: 2.5rem; }
@media (min-width: 900px) { .ak-phases { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ak-phase { counter-increment: ak-phase; position: relative; padding: 1.4rem 1.25rem 1.5rem 0; border-top: 3px solid rgba(255, 255, 255, .2); }
.ak-phase::before { content: ""; position: absolute; top: -9px; left: 0; width: 15px; height: 15px; background: var(--ak-red); clip-path: polygon(0 0, 60% 0, 100% 40%, 100% 100%, 0 100%); }
.ak-phase .ak-h3::before { content: "Fase " counter(ak-phase); display: block; font-size: .8rem; font-weight: 600; font-stretch: 100%; color: var(--ak-red); margin-bottom: .45rem; }
.ak-phase p { margin: 0; font-size: .96rem; }
.is-branco .ak-phase, .is-concreto .ak-phase { border-top-color: var(--ak-rule); }
.is-branco .ak-phase p, .is-concreto .ak-phase p { color: var(--ak-steel); }
@media (max-width: 899px) { .ak-phase { padding-right: 0; } }

/* ---------- Calculadora ---------- */
.ak-calc { display: grid; gap: 1rem; }
.is-branco .ak-calc { background: var(--ak-paper); }
.ak-calc__title { font-size: 1.25rem; font-weight: 780; font-stretch: 115%; margin: 0; }
.ak-calc__row { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; align-items: end; }
@media (max-width: 420px) { .ak-calc__row { grid-template-columns: 1fr; } }
.ak-calc__opt { display: flex; gap: .55rem; align-items: center; font-size: .95rem; cursor: pointer; }
.ak-calc__opt input { width: 1.15rem; height: 1.15rem; accent-color: var(--ak-red); }
.ak-calc__result { display: flex; align-items: baseline; gap: .7rem; margin: .5rem 0 0; font-weight: 600; }
.ak-calc__result output { font-size: clamp(3.2rem, 7vw, 4.6rem); line-height: 1; font-weight: 850; font-stretch: 125%; color: var(--ak-red); }
.ak-calc__hint { margin: 0; font-size: .92rem; color: var(--ak-steel); }
.ak-calc__note { margin: 0; font-size: .8rem; color: var(--ak-steel); }
.ak-calc .ak-btn { margin-top: .25rem; }

/* ---------- Onde utilizar ---------- */
.ak-uses { display: grid; gap: 0 2.5rem; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.ak-use { border-top: 1.5px solid var(--ak-black); padding: 1.1rem 0 1.75rem; }
.ak-use p { color: var(--ak-steel); margin: 0; }
.is-preto .ak-use { border-color: rgba(255,255,255,.4); }

/* ---------- Regiões ---------- */
.ak-regions { display: flex; flex-wrap: wrap; gap: .5rem; align-content: flex-start; }
.ak-regions li { border: 1.5px solid currentColor; padding: .45rem .85rem; font-weight: 600; font-size: .95rem; }
.ak-regions li.is-main { background: var(--ak-red); border-color: var(--ak-red); color: var(--ak-white); }
.ak-regions a { text-decoration: underline; text-decoration-color: var(--ak-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ak-regions a:hover { color: var(--ak-red); }
.ak-contact { font-style: normal; margin-top: 2rem; padding: 1.4rem; background: var(--ak-black); color: var(--ak-white); clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%); }
.ak-contact p { color: rgba(255,255,255,.85); margin-bottom: .6rem; }
.ak-contact p:last-child { margin: 0; }
.ak-contact__title { font-weight: 780; font-stretch: 112%; color: var(--ak-white) !important; }
.ak-contact__tel { display: inline-flex; gap: .5rem; align-items: center; font-weight: 700; font-size: 1.15rem; text-decoration: none; color: var(--ak-white); }
.ak-contact__tel svg { width: 1.1rem; height: 1.1rem; color: var(--ak-red); }

/* ---------- Por que ---------- */
.ak-reasons { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.ak-reason { padding-top: 1.1rem; border-top: 3px solid var(--ak-red); }
.ak-reason p { margin: 0; }
.ak-licenses__title { margin-top: 3.5rem; }
.ak-licenses { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); margin-top: 1rem; }
.ak-licenses a { display: block; background: var(--ak-white); padding: .5rem; }
.ak-licenses img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.ak-licenses span { display: block; font-size: .8rem; margin-top: .4rem; }

/* ---------- Depoimentos ---------- */
.ak-quotes { display: grid; gap: 2rem; }
@media (min-width: 800px) { .ak-quotes { grid-template-columns: 1fr 1fr; } }
.ak-quote blockquote { margin: 0 0 1rem; padding-left: 1.25rem; border-left: 3px solid var(--ak-red); }
.ak-quote blockquote p { font-size: 1.3rem; line-height: 1.45; font-weight: 500; margin: 0; }
.ak-quote figcaption { padding-left: 1.25rem; display: flex; flex-direction: column; }
.ak-quote figcaption span { color: var(--ak-steel); font-size: .92rem; }

/* ---------- FAQ ---------- */
.ak-faq { border-top: 1.5px solid currentColor; }
.ak-faq__item { border-bottom: 1px solid var(--ak-rule); }
.is-preto .ak-faq__item { border-color: rgba(255,255,255,.2); }
.ak-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.2rem 0; }
.ak-faq__item summary::-webkit-details-marker { display: none; }
.ak-faq__item summary .ak-h3 { margin: 0; font-size: 1.12rem; }
.ak-faq__item summary::after { content: ""; flex: none; width: 14px; height: 14px; background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat; color: var(--ak-red); transition: transform .2s; }
.ak-faq__item[open] summary::after { transform: rotate(45deg); }
.ak-faq__a { padding: 0 2.5rem 1.2rem 0; color: var(--ak-steel); }
.ak-faq__a p:last-child { margin: 0; }

/* ---------- Orçamento ---------- */
.ak-sec--orcamento .ak-panel { box-shadow: none; }

/* ---------- Rodapé ---------- */
.ak-foot { background: var(--ak-black); color: rgba(255,255,255,.78); padding: 4rem 0 6rem; font-size: .95rem; }
.ak-foot__grid { display: grid; gap: 2.5rem; }
@media (min-width: 800px) { .ak-foot__grid { grid-template-columns: 4fr 3fr 5fr; } .ak-foot { padding-bottom: 2.5rem; } }
.ak-foot__text { margin-top: 1.1rem; max-width: 36ch; }
.ak-foot__title { color: var(--ak-white); font-weight: 780; font-stretch: 112%; margin-bottom: .7rem; }
.ak-foot__link { display: inline-flex; gap: .45rem; align-items: center; color: var(--ak-white); text-decoration: none; font-weight: 700; }
.ak-foot__link svg { width: 1rem; height: 1rem; color: var(--ak-red); }
.ak-foot__cities ul { columns: 2; column-gap: 1.5rem; }
.ak-foot__cities li { padding: .2rem 0; break-inside: avoid; }
.ak-foot__cities a { text-decoration: none; }
.ak-foot__cities a:hover { color: var(--ak-white); text-decoration: underline; }
.ak-foot__cities span[aria-current] { color: var(--ak-white); font-weight: 700; }
.ak-foot__bottom { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .85rem; }
.ak-foot__bottom p { margin: 0; margin-right: auto; }
.ak-foot__bottom a { text-decoration: none; }
.ak-foot__bottom a:hover { color: var(--ak-white); }

/* ---------- Barra fixa / botão flutuante ---------- */
.ak-dock { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1.6fr; background: var(--ak-black); padding-bottom: env(safe-area-inset-bottom); }
.ak-dock a { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3.5rem; font-weight: 700; text-decoration: none; color: var(--ak-white); }
.ak-dock svg { width: 1.25rem; height: 1.25rem; }
.ak-dock__tel svg { color: var(--ak-red); }
.ak-dock .ak-dock__wa { clip-path: none; margin: 0; min-height: 3.5rem; }
@media (min-width: 901px) {
	.ak-dock { left: auto; right: 1.5rem; bottom: 1.5rem; display: block; background: none; }
	.ak-dock__tel { display: none !important; }
	.ak-dock .ak-dock__wa { width: 3.8rem; height: 3.8rem; min-height: 0; padding: 0; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }
	.ak-dock .ak-dock__wa span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ak-dock .ak-dock__wa svg { width: 1.7rem; height: 1.7rem; }
}

/* ---------- Modal ---------- */
.ak-modal { border: 0; padding: 0; background: transparent; width: min(440px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: visible; }
.ak-modal::backdrop { background: rgba(0, 0, 0, .7); }
.ak-modal__box { position: relative; background: var(--ak-white); color: var(--ak-black); padding: 2rem 1.6rem 1.6rem; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); border-top: 6px solid var(--ak-red); }
.ak-modal__close { position: absolute; top: .6rem; right: 1.6rem; width: 40px; height: 40px; background: none; border: 0; cursor: pointer; padding: 8px; color: var(--ak-black); }
.ak-modal__close svg { width: 22px; height: 22px; }
.ak-modal__title { font-size: 1.4rem; font-weight: 780; font-stretch: 115%; line-height: 1.15; margin: 0 2.5rem .35rem 0; }
.ak-modal__service { color: var(--ak-steel); font-size: .95rem; }
.ak-modal__service:empty { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.ak-modal[open] .ak-modal__box { animation: ak-rise .22s ease-out; }
}
@keyframes ak-rise { from { transform: translateY(12px); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
	html:has(body.akira-lp) { scroll-behavior: auto; }
	.akira-lp * { transition: none !important; }
}
