/*
 * LOUSACAPOTAS EVOLUTION — PREMIUM DESIGN v0.9
 * Camada editorial-industrial, progressiva e autónoma.
 * Mantém o MWA v1.21 RC3, todas as páginas, JS e rotas da v0.7.
 * Sem fontes, scripts externos ou dependências adicionais.
 */
:root {
  --ink: #13232d;
  --muted: #526574;
  --color-brand: #0b688f;
  --color-brand-surface: #07577c;
  --color-brand-surface-hover: #063f5b;
  --accent: #ef7c22;
  --accent-dark: #c45c0c;
  --mist: #f2f5f6;
  --night: #071d2a;
  --night-2: #0f3448;
  --line: #dce5e8;
  --shadow: 0 22px 65px rgba(5,30,45,.13);
  --radius: 16px;
  --container: min(1240px, calc(100% - 72px));
  --header-h: 88px;
}
html { scroll-padding-top: calc(var(--header-h) + 18px); }
body { font-family: Aptos, "Segoe UI", system-ui, sans-serif; font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
::selection { background: #ffce9d; color: #122b3b; }
h1,h2,h3 { font-family: "Segoe UI Variable Display", Aptos, "Segoe UI", system-ui, sans-serif; text-wrap: balance; }
p { text-wrap: pretty; }

/* Brand and navigation: controlled blue instead of broad synthetic gradient */
.site-header,.site-header.is-solid,.inner-page .site-header {
  background: rgba(7,32,47,.97);
  border-bottom: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 12px 45px rgba(2,14,23,.18);
  backdrop-filter: blur(12px);
}
.header-row { gap: clamp(18px,2vw,35px); }
.brand { height: var(--header-h); flex: 0 0 216px; overflow: visible; }
.brand img { position: relative; left: auto; width: 213px; height: 76px; object-fit: contain; object-position: left center; }
.nav-list { gap: clamp(14px,1.7vw,26px); }
.nav-list a { font-weight: 700; font-size: .865rem; letter-spacing: .007em; color: rgba(255,255,255,.90); }
.nav-list a:hover,.nav-list a[aria-current="page"] { color: #fff; }
.nav-list a::after { bottom: 7px; height: 2px; }
.header-cta { min-height: 44px; background: #f18429; color: #071d2a; box-shadow: none; border-radius: 10px; font-size: .84rem; white-space: nowrap; padding-inline: 19px; }
.header-cta:hover { background: #ffa14f; }

/* Buttons: purposeful, consistent interaction */
.btn { border-radius: 10px; padding-inline: 26px; letter-spacing: .005em; min-height: 54px; font-weight: 750; }
.btn-primary { color: #0f2230; background: #f18429; }
.btn-primary:hover { background: #ffa14f; }
.btn-dark { background: #0b536f; }
.btn-dark:hover { background: #073c56; }
.btn-outline { border-color: rgba(255,255,255,.8); }
.btn:focus-visible,.header-cta:focus-visible { outline: 3px solid #ffd29e; outline-offset: 4px; }

/* Homepage masthead */
.hero { height: clamp(620px,81svh,840px); min-height: 620px; }
.hero-slide img { filter: saturate(.90) contrast(1.04); }
.hero-shade {
  background:
    linear-gradient(90deg,rgba(3,18,28,.90) 0%,rgba(3,18,28,.78) 34%,rgba(3,18,28,.26) 70%,rgba(3,18,28,.10) 100%),
    linear-gradient(0deg,rgba(2,15,24,.35),transparent 54%);
}
.hero-content { align-items: center; }
.hero-copy { width: min(740px,68%); padding-bottom: 25px; }
.hero .eyebrow { font-size: .76rem; letter-spacing: .22em; color: #ffb67b; }
.hero h1,.hero-title { font-size: clamp(3.35rem,5.5vw,5.45rem); max-width: 730px; font-weight: 780; line-height: 1.025; letter-spacing: -.05em; }
.hero p { max-width: 590px; font-size: clamp(1.05rem,1.35vw,1.2rem); line-height: 1.7; margin-top: 24px; margin-bottom: 32px; }
.hero-dots { bottom: 47px; }
.hero-dot { width: 50px; }
.hero-dot::after { height: 3px; }
.scroll-cue { bottom: 16px; }

/* Value proof immediately after hero: calm, factual and non-promotional */
.premium-proof { background: #082738; color: #fff; border-top: 1px solid rgba(255,255,255,.1); }
.premium-proof__grid { display: grid; grid-template-columns: 1.14fr repeat(3,1fr); gap: 0; padding-block: 31px; }
.premium-proof__lead { display: flex; align-items: center; gap: 17px; padding-right: 29px; font-size: 1.04rem; font-weight: 740; line-height: 1.4; }
.premium-proof__accent { display: block; width: 5px; height: 52px; background: var(--accent); flex: 0 0 5px; }
.premium-proof__item { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 3px; align-content: center; border-left: 1px solid rgba(255,255,255,.15); padding-inline: 22px; }
.premium-proof__index { grid-row: span 2; font-size: .74rem; font-weight: 800; letter-spacing: .1em; color: #f6a362; padding-top: 2px; }
.premium-proof__item strong { display: block; font-size: .9rem; font-weight: 750; line-height: 1.4; }
.premium-proof__item > span:last-child { color: #bdcbd3; font-size: .78rem; line-height: 1.5; }

/* Editorial rhythm */
.section { padding-block: 105px; }
.section-sm { padding-block: 75px; }
.section-mist { background: var(--mist); }
.section-night { background: #071c2a; }
.kicker { display: inline-flex; align-items: center; gap: 11px; color: #07577c; font-size: .77rem; letter-spacing: .18em; font-weight: 850; }
.kicker::before { content: ''; width: 17px; height: 3px; background: var(--accent); }
.section-night .kicker { color: #9cdaef; }
.section-heading { max-width: 860px; margin-bottom: 43px; }
.section-heading h2 { font-size: clamp(2.4rem,3.9vw,3.9rem); line-height: 1.05; letter-spacing: -.048em; font-weight: 740; }
.section-heading p { max-width: 660px; line-height: 1.7; font-size: 1.08rem; }
.section-heading.center p { margin-inline: auto; }
/* v0.9 — composição editorial interior (MWA-VISUAL-COPYFIT-001):
 * A secção usa toda a largura do contentor; linhas de leitura equilibradas
 * para títulos e introduções sem max-width genérico de 860 px.
 * Aplicado somente a Serviços, Portefólio e Viaturas. */
.page-wide-heading .section-heading { width: 100%; max-width: none; }
.page-wide-heading .section-heading h2 { max-width: min(100%, 1180px); }
.page-wide-heading .section-heading p { max-width: min(100%, 1080px); }

.intro-grid { gap: clamp(50px,7vw,100px); }
.intro-copy h2 { font-size: clamp(2.5rem,4.15vw,4.25rem); line-height: 1.04; font-weight: 750; }
.intro-copy p { font-size: 1.055rem; line-height: 1.82; max-width: 640px; }
.intro-copy .btn { margin-top: 12px; }
.stats { gap: 14px; }
.stat { border-radius: 12px; min-height: 180px; box-shadow: none; background: #eaf0f3; color: #0d3043; padding: 29px; border: 1px solid #dae6ec; }
.stat:first-child { background: #093449; color: #fff; border-color: #093449; }
.stat strong { font-size: 2.1rem; font-weight: 780; letter-spacing: -.03em; color: #0b536f; }
.stat:first-child strong { color: #ffb274; }
.stat span { color: #566d79; font-size: .91rem; font-weight: 650; }
.stat:first-child span { color: #c7d7e0; }

/* Visual service cards with distinct hierarchy and readable titles */
.service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; counter-reset: service; }
.service-card { display: block; position: relative; height: 360px; min-height: 0; background: #102837; border-radius: 12px; box-shadow: 0 16px 36px rgba(5,33,49,.10); isolation: isolate; text-decoration: none; }
.service-card:first-child { grid-column: span 2; }
.service-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.service-card::after { background: linear-gradient(0deg,rgba(2,18,26,.94) 0%,rgba(2,18,26,.52) 43%,rgba(2,18,26,.09) 100%); }
.service-card:hover::after { background: linear-gradient(0deg,rgba(2,18,26,.96) 0%,rgba(2,18,26,.58) 50%,rgba(2,18,26,.10) 100%); }
.service-card-content { inset: auto 0 0; height: auto; align-items: flex-start; text-align: left; justify-content: flex-end; padding: 33px; }
.service-card-content::before { content: 'ÁREA / ' counter(service,decimal-leading-zero); counter-increment: service; display: block; position: relative; z-index: 3; margin-bottom: 13px; font-size: .71rem; font-weight: 780; letter-spacing: .17em; color: #ffb878; }
.service-card h3 { font-size: clamp(1.35rem,2vw,1.75rem); line-height: 1.2; margin-bottom: 8px; letter-spacing: -.025em; }
.service-card p { max-width: 470px; color: #d4e1e7; line-height: 1.55; }
.service-card-content::after { content: '↗'; position: absolute; right: 29px; bottom: 35px; font-size: 1.6rem; line-height: 1; color: #ffb16f; }
.service-card-content { padding-right: 72px; }
.service-card:first-child h3 { font-size: 2rem; }

/* Signature editorial split panel */
.premium-editorial { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 480px; background: #0d3043; color: #fff; }
.premium-editorial__media { position: relative; min-height: 480px; overflow: hidden; }
.premium-editorial__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; filter: saturate(.85) contrast(1.03); }
.premium-editorial__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 35%,rgba(8,29,42,.25)); }
.premium-editorial__body { display: flex; align-items: center; padding: clamp(50px,7vw,110px); background: radial-gradient(circle at 90% 20%,rgba(29,110,145,.3),transparent 48%), #0b2c40; }
.premium-editorial__inner { max-width: 530px; }
.premium-editorial .kicker { color: #9bd4ee; }
.premium-editorial h2 { font-size: clamp(2.3rem,3.4vw,4rem); line-height: 1.08; letter-spacing: -.043em; margin: 16px 0 22px; }
.premium-editorial p { color: #c6d5df; max-width: 460px; line-height: 1.75; }
.premium-editorial__link { display: inline-flex; align-items: center; gap: 18px; color: #fff; font-weight: 770; text-decoration: none; border-bottom: 2px solid #f18a3e; padding-bottom: 7px; margin-top: 22px; }
.premium-editorial__link span { color: #f7aa70; font-size: 1.4rem; }
.premium-editorial__link:hover { color: #ffceaa; }

/* Portfolio as curated work, not a uniform image grid */
.section-night .portfolio-grid { gap: 16px; }
.gallery-trigger { box-shadow: none; border-radius: 12px; background: #143548; border: 1px solid rgba(255,255,255,.16); }
.gallery-trigger img { aspect-ratio: 1.25; }
.gallery-trigger::after { content: '↗'; position: absolute; top: 12px; right: 13px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #fff; background: rgba(7,30,43,.7); font-size: 1.06rem; }
.gallery-trigger span { border-radius: 6px; bottom: 12px; left: 12px; right: auto; background: #092c3e; letter-spacing: .04em; }

/* Vehicle feature : horizontal frame rather than oversized portrait */
.vehicle-home-teaser { background: #e9f0f3; }
.vehicle-home-teaser .intro-grid { grid-template-columns: .9fr 1.1fr; gap: 65px; }
.vehicle-home-teaser .intro-copy h2 { max-width: 520px; }
.vehicle-home-visual { border-radius: 13px; background: #092c3e; box-shadow: 0 23px 55px rgba(11,39,56,.2); overflow: hidden; }
.vehicle-home-visual img { width: 100%; height: clamp(260px,28vw,390px); object-fit: cover; object-position: center 46%; }
.vehicle-home-visual small { background: #082b3e; color: #d7e8f0; padding: 12px 18px; font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.vehicle-grid { gap: 25px; }
/* Cartão de destaque: com uma única viatura, não deixar duas colunas vazias.
   A classe pode ser retirada quando se acrescentarem mais veículos à grelha. */
.vehicle-grid--featured { grid-template-columns: 1fr; }
.vehicle-grid--featured .vehicle-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; }
.vehicle-grid--featured .vehicle-card__image { aspect-ratio: auto; height: 100%; min-height: 335px; }
.vehicle-grid--featured .vehicle-card__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(32px,5vw,64px); }
.vehicle-grid--featured .vehicle-card h3 { font-size: clamp(1.65rem,2.8vw,2.6rem); margin: 15px 0; }
.vehicle-grid--featured .vehicle-card p { font-size: 1.09rem; line-height: 1.75; max-width: 440px; }
@media (max-width: 768px) {
  .vehicle-grid--featured .vehicle-card { grid-template-columns: 1fr; }
  .vehicle-grid--featured .vehicle-card__image { aspect-ratio: 16/10; min-height: 0; height: auto; }
  .vehicle-grid--featured .vehicle-card__copy { padding: 30px; }
}

.vehicle-card { border-radius: 13px; box-shadow: 0 16px 45px rgba(5,34,50,.11); }
.vehicle-card__copy { padding: 32px; }
.vehicle-card__image { aspect-ratio: 16/10; }
.vehicle-label { border-radius: 6px; background: #e5eff3; }
.vehicle-more { display: inline-flex; align-items: center; gap: 8px; }
.vehicle-photo-main,.vehicle-thumb,.vehicle-sidebar { border-radius: 12px; }
.vehicle-photo-main { aspect-ratio: 16/10; }
.vehicle-photo-main img { object-fit: contain; background: #e7ebed; }
.vehicle-thumb { aspect-ratio: 1.2; }
.vehicle-sidebar { background: #eef3f5; padding: 32px; }
.vehicle-specs dt { color: #153040; }
.vehicle-description { border-top: 1px solid #dde7ec; padding-top: 38px; }
.vehicle-dialog,.gallery-dialog { border-radius: 14px; margin: auto; }
.vehicle-dialog__image img { max-height: 68svh; }

/* Inner pages: shorter masthead and crisp content cards */
.inner-hero { min-height: 400px; }
.inner-hero--vehicle { min-height: 390px; }
.inner-hero::after { background: linear-gradient(90deg,rgba(3,19,29,.93) 0%,rgba(3,19,29,.67) 43%,rgba(3,19,29,.17)); }
.inner-hero .container { padding-bottom: 53px; }
.inner-hero h1 { max-width: 800px; font-size: clamp(2.9rem,4.7vw,4.9rem); letter-spacing: -.05em; }
.inner-hero p { max-width: 670px; font-size: 1.11rem; line-height: 1.6; }
.prose h2 { letter-spacing: -.035em; }
.side-card,.contact-panel,.download-panel { border-radius: 13px; }
.value-card,.catalog-card { border-radius: 11px; transition: border-color .2s,transform .2s,box-shadow .2s; }
.value-card { border-top: 3px solid #e88336; }
.catalog-card { min-height: 205px; padding: 32px; border-top: 3px solid #0b678d; }
.catalog-card h2 { font-size: 1.38rem; letter-spacing: -.02em; }
.contact-layout { gap: 48px; }
.contact-panel { background: #0b3044; padding: 42px; }
.field input,.field select,.field textarea { border-radius: 8px; border-color: #b6c8d1; }
.field input:focus,.field select:focus,.field textarea:focus { outline: 2px solid #1b81a9; outline-offset: 1px; }

/* CTA / footer with hierarchy */
/* CTA: parallax visual em desktop; sem fixed em ecrãs táteis/reduced motion.
   A imagem original fica intacta; overlay mais suave para leitura da fotografia. */
.cta-band { min-height: 500px; background-attachment: scroll; background-position: center 49%; }
.cta-band::before { background: linear-gradient(90deg,rgba(3,20,30,.79),rgba(3,20,30,.48)); }
@media (min-width: 1051px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .cta-band { background-attachment: fixed; }
}
.cta-content { padding-block: 90px; }
.cta-content h2 { font-size: clamp(2.5rem,4.2vw,4.25rem); }
.site-footer { background: #061925; padding-top: 80px; }
.footer-grid { grid-template-columns: 1.3fr .75fr 1.1fr .95fr; }
.footer-col { padding-inline: 25px; }
.footer-heading { font-size: .83rem; color: #e5f0f3; }
.footer-nav ul,.footer-legal ul { gap: 12px; }
.footer-contact-item { gap: 10px; }
.footer-bottom { margin-top: 67px; }
.copyright { font-size: .79rem; }
.cookie-notice { border-radius: 12px; }
.cookie-notice__actions button { border-radius: 7px; }

/* Tablet */
@media (max-width: 1150px) {
  :root { --container: min(100% - 54px,1240px); }
  .brand { flex-basis: 195px; }
  .brand img { width: 192px; height: 72px; }
  .nav-list { gap: 15px; }
  .nav-list a { font-size: .82rem; }
  .premium-proof__grid { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 16px; }
  .premium-proof__lead { grid-column: 1 / -1; padding-bottom: 9px; }
  .premium-proof__item:first-of-type { border-left: 0; }
  .premium-proof__item { padding-inline: 18px; }
  .premium-editorial__body { padding: 55px; }
}
@media (max-width:1050px) {
  :root { --header-h: 80px; }
  .primary-nav { background: #092f43; }
  .nav-list { width: var(--container); }
  .nav-list a { font-size: 1rem; color: #fff; }
  .premium-proof__lead { font-size: 1rem; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card:first-child { grid-column: span 2; }
  .intro-grid { gap: 45px; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:768px) {
  :root { --container: min(100% - 32px,1240px); --header-h: 76px; }
  .brand { flex: 0 0 188px; height: var(--header-h); }
  .brand img { width: 183px; height: 67px; }
  .hero { height: min(780px,95svh); min-height: 640px; }
  .hero-shade { background: linear-gradient(180deg,rgba(3,18,28,.20) 0%,rgba(3,18,28,.85) 55%,rgba(3,18,28,.96) 100%); }
  .hero-content { padding-bottom: 100px; }
  .hero-copy { width: 100%; padding-bottom: 0; }
  .hero h1,.hero-title { font-size: clamp(2.7rem,10.7vw,4.3rem); letter-spacing: -.047em; }
  .hero p { font-size: .99rem; line-height: 1.6; }
  .hero-dots { bottom: 65px; }
  .scroll-cue { display: none; }
  .premium-proof__grid { grid-template-columns: 1fr; padding-block: 24px; row-gap: 0; }
  .premium-proof__lead { grid-column: 1; padding: 0 0 22px; }
  .premium-proof__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); padding: 14px 0; }
  .premium-proof__item > span:last-child { font-size: .84rem; }
  .section { padding-block: 75px; }
  .section-sm { padding-block: 60px; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2 { font-size: clamp(2.15rem,8vw,3rem); }
  .intro-grid,.vehicle-home-teaser .intro-grid,.contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .stat { min-height: 143px; padding: 18px; }
  .stat strong { font-size: 1.6rem; }
  .stat span { font-size: .8rem; }
  .service-grid { grid-template-columns: 1fr; gap: 15px; }
  .service-card,.service-card:first-child { grid-column: 1; height: 330px; }
  .service-card-content { padding: 26px 68px 28px 26px; }
  .service-card:first-child h3 { font-size: 1.65rem; }
  .premium-editorial { grid-template-columns: 1fr; }
  .premium-editorial__media { min-height: 280px; }
  .premium-editorial__body { padding: 52px 25px 57px; }
  .premium-editorial h2 { font-size: clamp(2.4rem,9vw,3.2rem); }
  .section-night .portfolio-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .vehicle-home-visual img { height: clamp(210px,56vw,360px); }
  .inner-hero,.inner-hero--vehicle { min-height: 345px; }
  .inner-hero .container { padding-bottom: 41px; }
  .inner-hero h1 { font-size: clamp(2.55rem,10vw,4rem); }
  .vehicle-detail-grid { grid-template-columns: 1fr; }
  .vehicle-sidebar { padding: 27px; }
  .catalog-card { min-height: 0; padding: 26px; }
  .contact-panel { padding: 28px; }
  .site-footer { padding-top: 60px; }
  .footer-grid { row-gap: 33px; }
  .footer-col { padding-inline: 18px; }
  .footer-col:nth-child(odd) { padding-left: 0; border-left: 0; }
  .cta-band { min-height: 430px; }
}
@media (max-width:460px) {
  .hero { min-height: 630px; }
  .hero h1,.hero-title { font-size: clamp(2.5rem,11vw,3.35rem); }
  .hero .eyebrow { font-size: .68rem; }
  .hero-dots { bottom: 48px; }
  .hero p { margin-block: 18px 25px; }
  .hero .button-row { flex-direction: column; align-items: stretch; }
  .hero .btn { width: 100%; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portfolio-grid,.section-night .portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gallery-trigger span { font-size: .67rem; padding: 6px 8px; }
  .vehicle-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-col,.footer-col:nth-child(odd) { border-left: 0; padding: 0; }
  .footer-col + .footer-col { border-top: 1px solid rgba(255,255,255,.13); padding-top: 24px; }
  .vehicle-specs div { align-items: flex-start; }
  .vehicle-specs dd { max-width: 56%; }
  .vehicle-dialog__bottom button { font-size: .84rem; }
  .contact-form { grid-template-columns: 1fr; }
  .field { grid-column: 1/-1; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card img,.gallery-trigger img,.btn,.service-card::after,.header-cta { transition: none !important; }
  .hero-slide.is-active .kb-a,.hero-slide.is-active .kb-b,.hero-slide.is-active .kb-c { animation: none !important; }
}


/* Premium v1.0 — copy-fit editorial para Catálogo e Portefólio da home.
 * Corrige a largura de 860px herdada sem alterar a malha do catálogo
 * nem o dimensionamento do portefólio. */
.catalog-intro-wide .section-heading,
.home-portfolio-wide .section-heading { width: 100%; max-width: none; }
.catalog-intro-wide .section-heading h2,
.home-portfolio-wide .section-heading h2 { max-width: 100%; }
.catalog-intro-wide .section-heading p,
.home-portfolio-wide .section-heading p { max-width: min(100%, 1050px); }
@media (min-width: 1151px) {
  .home-portfolio-wide .section-heading h2 {
    font-size: clamp(2.7rem, 3.7vw, 3.7rem);
  }
}
@media (max-width: 768px) {
  .catalog-intro-wide .section-heading,
  .home-portfolio-wide .section-heading { max-width: 100%; }
  .catalog-intro-wide .section-heading h2,
  .home-portfolio-wide .section-heading h2 { overflow-wrap: normal; }
}

/* Premium v1.1 — link institucional claramente identificavel por sublinhado. */
.site-footer .copyright-partner a {
  color: #f2f7fa;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
.site-footer .copyright-partner a:hover { color: #fff; text-decoration-thickness: 2px; }
.site-footer .copyright-partner a:focus-visible { outline: 2px solid #f7a35c; outline-offset: 3px; }

/* Premium v1.1 — formulario de contactos sem largura intrinseca excedente. */
@media (max-width: 768px) {
  .contact-layout, .contact-panel, .contact-form, .contact-form .field { min-width: 0; }
  .contact-form { grid-template-columns: minmax(0, 1fr); }
  .contact-form .field input,
  .contact-form .field select,
  .contact-form .field textarea { min-width: 0; max-width: 100%; box-sizing: border-box; }
}
