/* JD CONSTRUTORA / HOME PROTÓTIPO V2
   Paleta de trabalho derivada visualmente do PDF oficial; HEX e fontes NÃO são tokens oficiais.
   Substituir assets sem alterar o logotipo original. */
:root {
  --pine: #071F13;
  --pine-deep: #071A11;
  --pine-soft: #0d2e1c;
  --gold: #EDE9CC;
  --gold-deep: #071F13;
  --cream: #FFFFFF;
  --paper: #FFFFFF;
  --sand: #EDE9CC;
  --stone: #EDE9CC;
  --charcoal: #071F13;
  --muted: #63675d;
  --white: #EDE9CC;
  --line: #d8d5cb;
  --content: 1320px;
  --side: clamp(22px, 5.3vw, 84px);
  --serif: 'Iowan Old Style', 'Baskerville', 'Palatino Linotype', Georgia, serif;
  --sans: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--charcoal); font-family: var(--sans); line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration-thickness: 1px; }
button, summary { font: inherit; }
summary { cursor: pointer; }
summary::marker { content: ''; }
summary::-webkit-details-marker { display: none; }
:focus-visible { outline: 3px solid #071F13; outline-offset: 4px; box-shadow: 0 0 0 7px #FFFFFF; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 12px 18px; transform: translateY(-150%); background: var(--white); color: var(--pine); font-weight: 700; }
.skip-link:focus { transform: none; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { display: inline-block; flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(calc(100% - var(--side)*2), var(--content)); margin-inline: auto; }
.section-pad { padding-block: clamp(78px, 9vw, 140px); }
.eyebrow { margin: 0; color: var(--gold-deep); font-size: .75rem; font-weight: 700; letter-spacing: .22em; line-height: 1.5; }
.eyebrow--gold { color: var(--gold); }
.eyebrow--gold-dark { color: #071F13; }
.eyebrow--light { color: #EDE9CC; }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2, .section-heading__title, .statement__phrase { font-family: var(--serif); font-weight: 400; letter-spacing: -.038em; }
em { font-family: var(--serif); font-weight: 400; }

/* TOPO / HEADER */
.topbar { background: var(--pine-deep); color: #fff; border-bottom: 1px solid rgb(255 255 255 / .10); }
.topbar__inner { display: flex; gap: 25px; justify-content: space-between; align-items: center; min-height: 40px; font-size: .75rem; letter-spacing: .03em; }
.topbar__location { display: flex; gap: 8px; align-items: center; margin: 0; color: #fff; }
.topbar__location .icon { width: 14px; height: 14px; color: #fff; }
.topbar__location strong { font-weight: 600; margin-right: 7px; color: #fff; }
.topbar__contact { display: flex; gap: 8px; align-items: center; min-height: 40px; }
.topbar__contact:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.topbar__contact .icon { width: 15px; height: 15px; color: #fff; }
.topbar__number { font-weight: 600; }
.site-header { position: relative; z-index: 20; background: var(--cream); border-bottom: 1px solid #EDE9CC; }
.header__inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(10px, 2vw, 32px); min-height: 102px; }
.brand { display: flex; align-items: center; min-width: 0; width: clamp(190px, 20vw, 250px); flex: none; }
.brand img { width: 100%; height: auto; }
.desktop-nav { align-self: stretch; margin-left: auto; }
.nav-list { display: flex; gap: clamp(8px, 1.7vw, 30px); align-items: stretch; padding: 0; margin: 0; height: 100%; list-style: none; }
.nav-list > li { display: flex; align-items: center; }
.nav-link { position: relative; display: inline-flex; align-items: center; gap: 5px; min-height: 48px; padding: 10px 8px; color: #36433b; font-size: .95rem; font-weight: 600; letter-spacing: .018em; white-space: nowrap; }
.nav-link:hover { color: var(--gold-deep); }
.nav-link.is-active::after { content: ''; position: absolute; bottom: 6px; left: 8px; width: calc(100% - 16px); height: 2px; background: var(--gold-deep); }
.nav-toggle .icon { width: 14px; height: 14px; transition: transform .2s ease; }
.solutions-disclosure[open] > summary .chevron { transform: rotate(180deg); }
.nav-solutions { position: static; }
.desktop-nav { position: relative; }
.mega-panel { position: absolute; top: calc(100% - 2px); left: 50%; transform: translateX(-50%); z-index: 50; width: min(820px, 94vw); padding: 29px 32px 34px; background: var(--cream); border: 1px solid #d7d3c6; border-top: 3px solid var(--gold-deep); box-shadow: 0 24px 40px rgb(13 28 22 / .14); }
.mega-panel__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 23px; border-bottom: 1px solid #d4d2c8; }
.mega-panel__intro p { margin: 0; color: var(--muted); font-size: .78rem; }
.mega-panel__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; padding-top: 24px; }
.mega-group + .mega-group { padding-left: 32px; border-left: 1px solid #d8d5cb; }
.mega-group h2 { font-family: var(--serif); font-size: 1.54rem; margin: 0 0 14px; }
.mega-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .92rem; font-weight: 650; border-top: 1px solid #d9d7cf; border-bottom: 1px solid #d9d7cf; padding-block: 14px; }
.mega-link .icon { width: 16px; height: 16px; color: var(--gold-deep); }
.mega-link:hover, .mega-sublist a:hover { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 4px; }
.mega-description { margin: 14px 0 0; font-size: .8rem; color: var(--muted); line-height: 1.7; max-width: 250px; }
.mega-sublist { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; }
.mega-sublist a { display: block; padding: 8px 0; font-size: .79rem; color: #485047; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 54px; padding: 15px 22px; border: 1px solid transparent; font-size: .9rem; font-weight: 700; letter-spacing: .025em; line-height: 1.35; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.button .icon { width: 17px; height: 17px; transition: transform .2s ease; }
.button:hover .icon, .text-link:hover .icon { transform: translate(3px,-3px); }
.button--header { background: var(--pine); color: var(--white); white-space: nowrap; min-height: 46px; padding-inline: 18px; }
.button--header:hover, .button--dark:hover { background: #071F13; }
.mobile-menu { display: none; }


/* HOME V2 / direção editorial fotográfica — fontes com terminais retos, sem serifa.
 * Fotografias são REFERÊNCIAS EXTERNAS E ILUSTRATIVAS, nunca obras da JD.
 * Tokens são de trabalho, ainda não constituem o design system oficial.
 */
:root {
 --pine:#071F13; --pine-deep:#071A11; --pine-soft:#0d2e1c;
 --gold:#EDE9CC; --gold-deep:#071F13;
 --cream:#FFFFFF; --paper:#FFFFFF; --sand:#EDE9CC;
 --charcoal:#071F13; --muted:#555d55; --white:#fff;
 --line:#d5d5cd; --content:1340px;
 --side:clamp(22px,5.5vw,80px);
 --sans:'Open Sans','Segoe UI',Arial,sans-serif;
 --serif:var(--sans);
}
html { scroll-padding-top:30px; }
body { background:var(--paper); font-family:var(--sans); font-weight:400; line-height:1.65; }
h1,h2,h3,em,.section-heading__title,.mega-group h2,.statement__phrase {
 font-family:var(--sans); font-style:normal; font-weight:700; letter-spacing:-.037em;
}
:focus-visible {outline:3px solid #071F13; outline-offset:3px; box-shadow:0 0 0 6px #FFFFFF;}
.section-space {padding-block:clamp(80px,9vw,130px);}
.section-kicker {margin:0; font-size:.75rem; letter-spacing:.14em; line-height:1.5; font-weight:800; color:#071F13;}
.section-kicker--on-dark {color:#EDE9CC;}
.heading-row {display:flex;align-items:end;justify-content:space-between;gap:52px;margin-bottom:42px;}
.heading-row h2 {margin:13px 0 0;font-size:clamp(2rem,3.45vw,3.45rem);line-height:1.16;color:var(--charcoal);max-width:790px;}
.heading-row__note {max-width:330px;margin:0 0 5px;color:var(--muted);font-size:.92rem;line-height:1.83;}
.heading-row--light h2{color:#fff;}
.heading-row--light .heading-row__note{color:#d4ddd5;}
.cta {display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 23px;min-height:53px;border-radius:3px;border:1px solid transparent;font-size:.94rem;font-weight:800;line-height:1.4;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.cta .icon{width:17px;height:17px;stroke-width:2;transition:transform .2s ease;}
.cta:hover .icon{transform:translateX(3px);}
.cta--gold{background:var(--gold);color:#071F13;}
.cta--gold:hover{background:#EDE9CC;}
.cta--glass{background:rgb(255 255 255 / .06);border-color:#e0e6de;color:#fff;}
.cta--glass:hover{background:rgb(255 255 255 / .18);}
.cta--ink{background:var(--pine);color:#fff;}
.cta--ink:hover{background:#0d2e1c;}
.cta--outline-dark{color:#fff;border-color:#9eac9b;}
.cta--outline-dark:hover{background:rgb(255 255 255 / .12);}

/* Hero: uma fotografia imersiva e conteúdo alinhado ao grid. */
.hero-v2 {position:relative;isolation:isolate;display:flex;min-height:690px;min-height:clamp(690px,80svh,940px);color:#fff;background:#071F13;overflow:hidden;}
.hero-v2__photo {position:absolute;inset:0;z-index:-2;}
.hero-v2__photo img {width:100%;height:100%;object-fit:cover;object-position:center 58%;}
.hero-v2::after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg, rgb(7 26 17 / .88) 0%,rgb(7 26 17 / .71) 41%,rgb(13 25 20 / .17) 91%),linear-gradient(0deg,rgb(7 26 17 / .43),transparent 28%);}
.hero-v2__inner{width:min(calc(100% - var(--side)*2),var(--content));display:flex;flex-direction:column;justify-content:space-between;padding-block:clamp(44px,4.4vw,64px) clamp(40px,4.2vw,60px);}
.hero-v2__content{max-width:780px;}
.hero-v2 h1{max-width:800px;font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.08;letter-spacing:-.055em;font-weight:800;margin:19px 0 22px;text-wrap:pretty;}
.hero-v2__dot{color:var(--gold);}
.hero-v2__lead{font-size:clamp(.99rem,1.35vw,1.17rem);line-height:1.79;color:#eef2ed;max-width:625px;margin:0 0 33px;}
.hero-v2__actions{display:flex;gap:13px;flex-wrap:wrap;}
.hero-v2__foot{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px;border-top:1px solid rgb(255 255 255 / .4);font-size:.75rem;font-weight:750;letter-spacing:.12em;color:#EDE9CC;}
.hero-v2__foot span:last-child{color:#e2e7e0;text-align:right;}

/* Curta assinatura: não inventar diferenciais ou etapas de trabalho. */
.intro-v2{background:#fff;border-bottom:1px solid #e7e6dd;padding-block:50px;}
.intro-v2__layout{display:grid;grid-template-columns:.6fr 1.2fr 1fr;gap:clamp(25px,4vw,70px);align-items:center;}
.intro-v2 h2{margin:0;color:var(--pine);font-size:clamp(1.65rem,2.8vw,2.7rem);line-height:1.2;}
.intro-v2 h2 strong{color:#071F13;font-weight:800;}
.intro-v2 p:last-child{font-size:.88rem;line-height:1.83;margin:0;color:#616760;}

/* Duas jornadas comerciais com igual hierarquia e com imagens visuais de referência. */
.choices{background:var(--paper);}
.choices__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.choice{display:flex;flex-direction:column;min-width:0;background:#FFFFFF;border:1px solid #e2e2da;scroll-margin-top:30px;}
.choice__image{position:relative;aspect-ratio:1.62;overflow:hidden;background:#5d7062;}
.choice__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.choice:hover .choice__image img{transform:scale(1.035);}
.image-disclaimer{position:absolute;right:16px;bottom:14px;display:block;background:rgb(18 38 28 / .87);padding:7px 9px;font-weight:750;color:#fff;font-size:.75rem;letter-spacing:.12em;}
.choice__body{display:flex;flex:1;align-items:flex-start;flex-direction:column;padding:clamp(25px,3.6vw,46px);}
.choice__number{display:block;margin-bottom:15px;color:#071F13;font-size:.75rem;font-weight:800;letter-spacing:.12em;}
.choice h3{margin:0 0 15px;font-size:clamp(1.4rem,2.15vw,2.2rem);line-height:1.22;color:var(--pine);}
.choice p{margin:0 0 24px;color:#555e55;font-size:.9rem;line-height:1.82;max-width:530px;}
.choice .cta{margin-top:auto;}

/* Modalidades: não são etapas inventadas de um processo construtivo. */
.services-v2{background:#071F13;color:#fff;}
.modalities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.modality{padding:22px 22px 24px;min-width:0;scroll-margin-top:30px;background:linear-gradient(180deg,rgb(255 255 255 / .05),rgb(255 255 255 / .03));border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgb(0 0 0 / .10);}
.modality:first-child,.modality:last-child{padding-inline:22px;}
.modality+.modality{border-left:0;}
.modality__number{font-size:2.25rem;font-weight:800;letter-spacing:-.08em;color:#EDE9CC;line-height:1.1;margin-bottom:16px;}
.modality__media{position:relative;margin:0 0 18px;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#071F13;}
.modality__media img{width:100%;height:100%;object-fit:cover;display:block;}
.modality__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(7 26 17 / .02),rgb(7 26 17 / .24));}
.modality__media .image-disclaimer{position:absolute;left:12px;bottom:12px;z-index:1;}
.modality h3{font-size:1.21rem;line-height:1.32;font-weight:750;color:#fff;margin:0 0 13px;}
.modality p{font-size:.86rem;line-height:1.87;color:#d7dfd7;margin:0;}
.services-v2__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:27px;}
.services-v2__foot p{margin:0;font-size:.91rem;color:#dde5dc;}

/* Parallax CSS discreto. Em mobile e reduced-motion vira imagem estática. */
.parallax{position:relative;isolation:isolate;min-height:clamp(390px,45vw,610px);display:flex;align-items:center;color:#fff;background:#071F13;overflow:hidden;}
.parallax__picture{position:absolute;z-index:-2;inset:0;background-image:url('../img/sala-estar-1200.webp');background-size:cover;background-position:center 52%;background-attachment:fixed;}
.parallax::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgb(7 26 17 / .85),rgb(7 26 17 / .25) 100%);}
.parallax__inside{padding-block:75px;position:relative;}
.parallax h2{margin:20px 0;font-size:clamp(2.1rem,4.1vw,4.3rem);line-height:1.19;max-width:800px;color:#fff;}
.parallax p:not(.section-kicker){margin:0;font-size:1.04rem;color:#EDE9CC;}
.parallax__disclaimer{display:block;margin-top:50px;font-size:.75rem;letter-spacing:.11em;font-weight:750;color:#e6e6e1;}

/* Documentário vertical 9:16: o vídeo real é inserido aqui futuramente. */
.film{background:#fff;}
.film__layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,9vw,150px);}
.film__text{max-width:630px;}
.film__text h2{margin:17px 0 21px;color:var(--pine);font-size:clamp(2.1rem,3.65vw,3.8rem);line-height:1.14;}
.film__text p:not(.section-kicker){color:#565f56;font-size:.96rem;line-height:1.85;margin:0 0 16px;}
.film__text .cta{margin-top:21px;}
.film__visual{min-height:570px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;background:linear-gradient(130deg,#d9d8cd,#b8c2b1);overflow:hidden;padding:48px;}
.film__rule{position:absolute;z-index:-1;border:1px solid rgb(24 58 47 / .21);transform:rotate(19deg);}
.film__rule--first{width:68%;height:110%;}
.film__rule--second{width:115%;height:72%;transform:rotate(-22deg);}
.film__frame{position:relative;flex:none;width:min(250px,100%);aspect-ratio:9/16;background:#071F13;border:6px solid #f8f9f2;border-radius:16px;box-shadow:0 12px 35px rgb(19 33 23 / .13);overflow:hidden;}
.film__screen{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;width:100%;height:100%;text-align:center;padding:20px;color:#EDE9CC;background:linear-gradient(150deg,#071F13,#0d2e1c);}
.film__screen .icon{width:31px;height:31px;stroke:#EDE9CC;}
.film__number{font-size:2.2rem;line-height:1;letter-spacing:-.05em;font-weight:800;color:#EDE9CC;}
.film__screen strong{font-size:1.1rem;}
.film__screen span:not(.film__number){font-size:.77rem;max-width:160px;line-height:1.65;}
.film__screen small{font-size:.75rem;letter-spacing:.16em;color:#d2d5ca;}
.film__frame video{display:block;width:100%;height:100%;object-fit:contain;background:#071A11;}
.film__vertical-note{position:absolute;right:18px;bottom:15px;font-size:.75rem;font-weight:700;letter-spacing:.12em;color:#0d2e1c;margin:0;}

/* Portfólio: espaço com capa grande, porém sem afirmar obra não liberada. */
.work{background:#fff;}
.work__feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);min-height:510px;background:#071F13;}
.work__cover{position:relative;min-height:510px;background:#0d2e1c;overflow:hidden;}
.work__cover img{width:100%;height:100%;object-fit:cover;}
.work__demo{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:rgb(13 32 20 / .91);font-size:.75rem;font-weight:800;letter-spacing:.1em;color:#fff;}
.work__info{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(30px,4vw,75px);}
.work__info h3{margin:18px 0 18px;color:#fff;font-size:clamp(1.85rem,2.5vw,2.85rem);line-height:1.23;}
.work__info p{margin:0 0 24px;color:#d5dfd6;font-size:.94rem;line-height:1.89;}

/* Marca: fotografia de referência em colagem sóbria, sem fotos de equipe fictícias. */
.about-v2{background:#fff;}
.about-v2__layout{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:clamp(46px,7vw,120px);}
.about-v2__collage{position:relative;padding:0 48px 46px 0;}
.about-v2__photo{margin:0;position:relative;height:520px;background:#b2ad9d;overflow:hidden;}
.about-v2__photo img{width:100%;height:100%;object-fit:cover;}
.about-v2__photo figcaption{position:absolute;top:18px;left:18px;background:rgb(16 37 28 / .84);font-size:.75rem;letter-spacing:.1em;font-weight:800;color:#fff;padding:8px 10px;}
.about-v2__accent{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--pine);padding:28px 32px;width:clamp(210px,19vw,260px);}


.about-v2__text h2{margin:17px 0 22px;font-size:clamp(2.05rem,3.7vw,3.65rem);color:var(--pine);line-height:1.17;}
.about-v2__text p:not(.section-kicker){margin:0 0 16px;font-size:.93rem;line-height:1.87;color:#535c52;}
.about-v2__text .cta{margin-top:18px;}

.final-cta{background:var(--pine-deep);color:#fff;padding-block:clamp(80px,9vw,120px);}
.final-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px;}
.final-cta h2{font-size:clamp(2.1rem,3.6vw,3.8rem);line-height:1.2;margin:17px 0 19px;color:#fff;max-width:740px;}
.final-cta p:not(.section-kicker){margin:0;color:#d8e3d9;line-height:1.8;max-width:620px;}
.final-cta__buttons{display:grid;gap:13px;min-width:300px;}

/* Header existente preservado dos arquivos 05/06, mas com direção tipográfica nova. */
.site-header{background:#FFFFFF;}
.header__inner{min-height:94px;}
.brand{width:clamp(180px,18vw,235px);}
.nav-link{font-weight:700;font-size:.95rem;}
.button{border-radius:3px;font-family:var(--sans);}
.button--header{font-weight:800;}
.mega-group h2{font-size:1.13rem;letter-spacing:-.015em;}
.mega-panel{border-top:3px solid var(--gold);}

/* RODAPÉ INSTITUCIONAL */
.footer { background: #071A11; color: #fff; }
.footer__main { padding-block: 85px 75px; display: grid; grid-template-columns: 1.25fr .72fr 1fr; gap: clamp(40px,7vw,120px); }
.footer__identity a { display: block; width: min(285px, 100%); }
.footer__identity img { height: auto; width: 100%; }
.footer__identity p { margin: 20px 0 0; max-width: 250px; color: #fff; font-size: .89rem; line-height: 1.8; }
.footer h2 { margin: 0 0 21px; font-family: var(--sans); font-size: .75rem; letter-spacing: .18em; font-weight: 700; color: #fff; text-transform: uppercase; }
.footer__nav a { display: block; width: fit-content; padding-block: 2px; margin-bottom: 9px; color: #fff; font-size: .86rem; }
.footer__contact a, .footer__contact p { display: flex; align-items: start; gap: 12px; margin: 0 0 17px; font-size: .86rem; line-height: 1.75; color: #fff; }
.footer__contact .icon { width: 17px; height: 17px; margin-top: 2px; color: #fff; }
.footer__contact strong { color: #fff; font-size: .75rem; }
.footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer__bottom { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding-block: 23px 28px; border-top: 1px solid rgb(255 255 255 / .13); color: #fff; font-size: .75rem; letter-spacing: .025em; }



@media (max-width:1160px){
 .header__inner{flex-wrap:wrap;min-height:85px;}
 .brand{width:205px;}
 .desktop-nav,.header__cta{display:none;}
 .mobile-menu{display:block;margin-left:auto;}
 .mobile-menu__toggle{display:flex;align-items:center;gap:11px;justify-content:end;min-height:48px;padding:9px 5px 9px 15px;font-size:.83rem;font-weight:800;color:var(--pine);}
 .mobile-menu__toggle .icon{width:22px;height:22px;}
 .mobile-menu__label-close,.mobile-menu[open] .mobile-menu__label-open{display:none;}
 .mobile-menu[open] .mobile-menu__label-close{display:inline;}
 .icon--close,.mobile-menu[open] .icon--menu{display:none;}
 .mobile-menu[open] .icon--close{display:block;}
 .mobile-menu[open]{flex:1 0 100%;order:3;margin-left:0;}
 .mobile-menu[open]>summary{position:absolute;top:16px;right:var(--side);z-index:3;}
 .mobile-panel{display:flex;flex-direction:column;align-items:stretch;padding:13px 0 28px;border-top:1px solid #d8d4c9;}
 .mobile-panel>a:not(.button),.mobile-solutions>summary{display:flex;justify-content:space-between;align-items:center;min-height:51px;padding:12px 5px;border-bottom:1px solid #dedbd2;font-size:.94rem;font-weight:700;}
 .mobile-panel>a[aria-current]{text-decoration:underline;text-underline-offset:5px;}
 .mobile-solutions>summary .icon{transition:transform .2s ease;}
 .mobile-solutions[open]>summary .icon{transform:rotate(180deg);}
 .mobile-solutions__links{display:flex;flex-direction:column;padding:5px 12px 20px;background:#FFFFFF;border-bottom:1px solid #d6d2c6;}
 .mobile-solutions__links p{margin:19px 0 6px;color:#071F13;font-size:.75rem;letter-spacing:.1em;font-weight:800;text-transform:uppercase;}
 .mobile-solutions__links a{display:flex;align-items:center;min-height:45px;padding:9px 5px;font-size:.87rem;}
 .mobile-panel__cta{margin-top:19px;width:fit-content;}
}
@media (max-width:1024px){
 .modalities{grid-template-columns:repeat(2,minmax(0,1fr));}
 .modality{padding:22px!important;border-bottom:0;}
 .modality:nth-child(odd){border-left:0;}
 .intro-v2__layout{grid-template-columns:1fr 1fr;}
 .intro-v2__layout>p:last-child{grid-column:2;}
 .film__layout,.about-v2__layout{gap:50px;}
 .work__feature{grid-template-columns:1.1fr 1fr;}
 .footer__main{gap:40px;}
}
@media (max-width:800px){
 .heading-row{display:block;}
 .heading-row__note{max-width:650px;margin-top:19px;}
 .hero-v2{min-height:680px;}
 .hero-v2 h1{font-size:clamp(2.4rem,6.3vw,4rem);}
 .hero-v2__inner{padding-top:60px;}
 .intro-v2__layout{grid-template-columns:1fr;gap:16px;}
 .intro-v2__layout>p:last-child{grid-column:auto;}
 .choices__grid{grid-template-columns:1fr;}
 .choice__image{aspect-ratio:1.85;}
 .film__layout,.about-v2__layout{grid-template-columns:1fr;}
 .film__text{max-width:710px;}
 .film__visual{min-height:540px;}
 .work__feature{grid-template-columns:1fr;}
 .work__cover{min-height:430px;}
 .work__info{padding:44px;}
 .about-v2__collage{max-width:700px;}
 .final-cta__inner{grid-template-columns:1fr;gap:30px;}
 .final-cta__buttons{min-width:0;width:min(100%,430px);}
 .footer__main{grid-template-columns:1fr 1fr;}
 .footer__identity{grid-column:1/-1;}
 .parallax__picture{background-attachment:scroll;}
}
@media (max-width:600px){
 :root{--side:22px;}
 .topbar__inner{justify-content:space-between;gap:8px;}
 .topbar__location{font-size:.75rem;}
 .topbar__location strong{display:none;}
 .topbar__contact{display:flex;font-size:.75rem;}
 .topbar__number{display:none;}
 .header__inner{min-height:76px;}
 .brand{width:175px;}
 .mobile-menu[open]>summary{top:12px;}
 .section-space{padding-block:75px;}
 .hero-v2{min-height:690px;}
 .hero-v2__inner{padding-block:48px 38px;}
 .hero-v2__photo img{object-position:66% 50%;}
 .hero-v2::after{background:linear-gradient(90deg,rgb(7 26 17 / .90),rgb(7 26 17 / .57)),linear-gradient(0deg,rgb(7 26 17 / .47),transparent 31%);}
 .hero-v2 h1{font-size:clamp(2.15rem,8.4vw,3.1rem);letter-spacing:-.055em;line-height:1.13;}
 .hero-v2__lead{font-size:.96rem;}
 .hero-v2__actions{display:grid;gap:10px;}
 .hero-v2__actions .cta{width:100%;}
 .hero-v2__foot{flex-direction:column;align-items:flex-start;gap:6px;font-size:.75rem;}
 .hero-v2__foot span:last-child{text-align:left;}
 .heading-row h2{font-size:2rem;}
 .choice__image{aspect-ratio:1.3;}
 .choice__body{padding:25px;}
 .choice__body .cta{width:100%;font-size:.84rem;padding-inline:13px;gap:9px;}
 .modalities{grid-template-columns:1fr;}
 .modality,.modality:first-child,.modality:last-child{padding:20px!important;border-left:0;border-bottom:0;}
 .modality__number{font-size:1.75rem;}
 .modality__media{margin-bottom:16px;}
 .services-v2__foot{align-items:stretch;flex-direction:column;}
 .services-v2__foot .cta{width:100%;}
 .parallax{min-height:420px;}
 .parallax h2{font-size:2.2rem;}
 .film__visual{min-height:505px;padding:30px 18px 45px;}
 .film__frame{width:min(215px,80%);}
 .film__vertical-note{right:14px;bottom:12px;font-size:.75rem;}
 .work__cover{min-height:300px;}
 .work__info{padding:30px 24px;}
 .work__info h3{font-size:1.85rem;}
 .about-v2__collage{padding-right:30px;padding-bottom:30px;}
 .about-v2__photo{height:360px;}
 .about-v2__accent{width:170px;padding:20px 22px;}

 .final-cta__buttons .cta{width:100%;}
 .footer__main{padding-block:65px 45px;grid-template-columns:1fr;gap:38px;}
 .footer__identity{grid-column:auto;}
 .footer__bottom{align-items:flex-start;flex-direction:column;}
}
@media (max-width:370px){.brand{width:156px}.topbar__inner{font-size:.75rem}.hero-v2 h1{font-size:2rem}.cta{font-size:.84rem;padding-inline:13px}}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto;}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
 .parallax__picture{background-attachment:scroll;}
}

/* Galeria de projetos */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:16px;}
.gallery__item{margin:0;overflow:hidden;aspect-ratio:16/10;background:#EDE9CC;grid-column:span 2;}
.gallery__item:nth-child(-n+2){grid-column:span 3;aspect-ratio:16/9;}
.gallery__item img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:700px){.gallery{grid-template-columns:1fr;}.gallery__item,.gallery__item:nth-child(-n+2){grid-column:auto;aspect-ratio:16/10;}}

/* WhatsApp: verde oficial #25D366 */
.icon--wa{fill:currentColor;stroke:none;width:19px;height:19px;}
.cta.is-wa .icon--wa,.button.is-wa .icon--wa{width:20px;height:20px;}
.cta.is-wa:hover .icon--wa,.button.is-wa:hover .icon--wa{transform:none;}
.cta.is-wa,.button.is-wa{background:#127A6B;border-color:#127A6B;color:#fff;justify-content:flex-start;gap:12px;}
.cta.is-wa:hover,.button.is-wa:hover{background:#0E6559;border-color:#0E6559;}
.cta.is-wa .icon:not(.icon--wa),.button.is-wa .icon:not(.icon--wa){margin-left:auto;}
.topbar__contact .icon--wa,.footer__contact .icon--wa{color:#25D366;}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#127A6B;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgb(0 0 0 / .28);transition:transform .2s ease,background-color .2s ease;}
.wa-float .icon--wa{width:34px;height:34px;}
.wa-float:hover{background:#0E6559;transform:scale(1.07);}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #128c7e;}
@media (max-width:600px){.wa-float{right:14px;bottom:14px;width:56px;height:56px;}}

/* Dois vídeos verticais lado a lado */
.film__pair{display:flex;gap:18px;justify-content:center;align-items:center;width:100%;}
.film__pair .film__frame{width:min(220px,46%);}
@media (max-width:600px){.film__pair{gap:12px;}.film__pair .film__frame{width:46%;border-width:4px;}}

/* Voltar ao topo: só ícone, centralizado, com degradê suave que não cobre o conteúdo */
.to-top-wrap{position:fixed;left:0;right:0;bottom:0;height:96px;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;pointer-events:none;background:linear-gradient(0deg,rgb(7 26 17 / .35),rgb(7 26 17 / 0));opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;}
.to-top-wrap.is-visible{opacity:1;visibility:visible;}
.to-top{pointer-events:auto;width:48px;height:48px;border-radius:50%;border:1px solid rgb(255 255 255 / .35);background:rgb(7 31 19 / .55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:rgb(255 255 255 / .9);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgb(0 0 0 / .18);transition:transform .2s ease,background-color .2s ease;}
.to-top .icon{width:22px;height:22px;stroke-width:2;}
.to-top:hover{background:rgb(13 46 28 / .85);transform:translateY(-3px);}
.to-top:focus-visible{outline:3px solid #EDE9CC;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.to-top-wrap,.to-top{transition:none;}}

/* Marquee de palavras-chave */
.marquee{background:var(--pine,#071F13);color:#EDE9CC;overflow:hidden;border-bottom:1px solid rgb(255 255 255 / .12);}
.marquee__track{display:flex;width:max-content;animation:marquee-scroll 55s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__list{display:flex;flex:none;align-items:center;margin:0;padding:0;list-style:none;}
.marquee__list li{display:flex;align-items:center;white-space:nowrap;padding-block:22px;font-size:.95rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.marquee__list li::after{content:'';width:20px;height:20px;margin-inline:clamp(24px,3vw,44px);background:url('../img/simbolo-jd-branco.png') center/contain no-repeat;flex:none;}
@keyframes marquee-scroll{to{transform:translateX(-50%);}}
@media (max-width:600px){.marquee__list li{font-size:.8rem;padding-block:18px;}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none;width:auto;flex-wrap:wrap;}.marquee__list[aria-hidden="true"]{display:none;}.marquee__list{flex-wrap:wrap;justify-content:center;padding:6px 20px;}}

/* Destaque suave de palavras-chave nos textos */
p strong{font-weight:700;color:inherit;}
.hero-v2__lead strong,.final-cta p strong{color:#fff;}

/* Menu centralizado no cabeçalho (desktop): logo à esquerda, menu no centro, botão à direita */
@media (min-width:1161px){
  .header__inner{display:grid;grid-template-columns:1fr auto 1fr;}
  .header__inner .brand{justify-self:start;}
  .header__inner .desktop-nav{margin-left:0;justify-self:center;}
  .header__inner .header__cta{justify-self:end;}
}

.about-v2__accent img{width:100%;height:auto;display:block;}
/* CTA final: retângulo verde menor sobre fundo branco */
.final-cta{background:#fff;padding-block:clamp(48px,6vw,80px);}
.final-cta__inner{background:var(--pine-deep);padding:clamp(32px,4.5vw,60px);gap:clamp(28px,4vw,48px);border-radius:3px;}
.final-cta h2{font-size:clamp(1.7rem,2.8vw,2.7rem);margin:14px 0 14px;}
.final-cta__buttons{min-width:280px;}
@media (max-width:600px){.final-cta__inner{padding:30px 22px;}}

/* CTA final: imagem de fundo dentro do retângulo verde */
.final-cta__inner{background:linear-gradient(90deg,rgb(7 26 17 / .92),rgb(7 26 17 / .7)),url('../img/fachada-geminada-ceu-1200.webp') center 60%/cover no-repeat;background-color:var(--pine-deep);}

/* Menu fixo no topo: ao rolar, continua visível em versão compacta */
html{scroll-padding-top:90px;}
.site-header{position:sticky;top:0;z-index:100;transition:box-shadow .25s ease;}
.site-header .header__inner{transition:min-height .25s ease;}
.site-header .brand{transition:width .25s ease;}
.site-header.is-compact{box-shadow:0 4px 18px rgb(7 26 17 / .12);}
.site-header.is-compact .header__inner{min-height:64px;}
.site-header.is-compact .brand{width:clamp(130px,12vw,165px);}
@media (max-width:1160px){.site-header.is-compact .header__inner{min-height:58px;}.site-header.is-compact .brand{width:135px;}}
@media (prefers-reduced-motion:reduce){.site-header,.site-header .header__inner,.site-header .brand{transition:none;}}

/* Selo do projeto em destaque */
.project-pill{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px;padding:9px 16px;border:1px solid rgb(255 255 255 / .45);border-radius:3px;background:rgb(255 255 255 / .08);color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;}
.project-pill .icon{width:16px;height:16px;color:#fff;}
.project-pill strong{font-weight:800;}
.project-pill i{font-style:normal;opacity:.7;margin-inline:2px;}
.footer__project{margin:16px 0 0;color:#fff;font-size:.86rem;line-height:1.7;}
.footer__project strong{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;}
@media (max-width:600px){.project-pill{font-size:.75rem;padding:8px 12px;}}

/* Mega menu Soluções: imagens e acessibilidade (textos maiores, contraste e alvos de toque) */
.mega-panel{width:min(900px,94vw);padding:28px 32px 32px;background:#fff;border:1px solid #c9c8be;border-top:3px solid #071F13;}
.mega-panel__intro p{font-size:.9rem;color:#3d463f;}
.mega-panel__columns{gap:32px;}
.mega-group+.mega-group{padding-left:32px;border-left:1px solid #c9c8be;}
.mega-group__title{margin:0 0 10px;font-size:1.2rem;font-weight:800;letter-spacing:-.015em;line-height:1.3;color:#071F13;}
.mega-link{min-height:48px;font-size:1rem;font-weight:700;color:#071F13;border-color:#c9c8be;}
.mega-link .icon{color:#071F13;}
.mega-link:hover,.mega-sublist a:hover{color:#071F13;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}
.mega-description{max-width:none;font-size:.92rem;line-height:1.65;color:#2f3832;}
.mega-description strong{color:#071F13;}
.mega-sublist a{padding:10px 0;font-size:.95rem;color:#2f3832;}
.mega-panel a:focus-visible,.nav-toggle:focus-visible{outline:3px solid #071F13;outline-offset:3px;box-shadow:0 0 0 6px #fff;}
.nav-link:hover{color:#071F13;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}
.mega-panel__intro .eyebrow{color:#071F13;font-size:.78rem;font-weight:800;letter-spacing:.16em;}

/* Link discreto (substitui botões secundários) */
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:18px;border-bottom:2px solid #071F13;font-size:.94rem;font-weight:800;color:#071F13;}
.link-arrow .icon{width:16px;height:16px;transition:transform .2s ease;}
.link-arrow:hover .icon{transform:translate(3px,-3px);}
.link-arrow--light{color:#fff;border-bottom-color:#EDE9CC;}
.film__text .link-arrow{margin-top:20px;}

/* Projeto em destaque: rótulo de texto (não parece botão) */
.project-pill{display:flex;align-items:center;gap:10px;padding:0;border:0;border-radius:0;background:none;margin:0 0 26px;font-size:.8rem;font-weight:600;letter-spacing:.1em;color:rgb(255 255 255 / .92);}
.project-pill .icon{width:17px;height:17px;}
.project-pill strong{font-weight:800;color:#fff;}

/* Página atual no menu: destaque claro (fundo verde, texto branco), mesmo ao passar o mouse */
.nav-link{border-radius:3px;transition:background-color .2s ease,color .2s ease;}
.nav-link.is-active,.nav-link[aria-current="page"]{background:#071F13;color:#fff;font-weight:800;padding-inline:14px;}
.nav-link.is-active::after{display:none;}
.nav-link.is-active:hover,.nav-link[aria-current="page"]:hover{background:#0d2e1c;color:#fff;text-decoration:none;}
.mobile-panel>a[aria-current="page"]{background:#071F13;color:#fff;padding-inline:14px;border-radius:3px;text-decoration:none;}

/* Página atual dentro do painel Soluções (não depende só da cor) */
.mega-link[aria-current="page"],.mobile-solutions__links a[aria-current="page"]{background:#F6F4E6;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;}

/* WhatsApp: botões e flutuante em #127A6B (texto/ícone branco, 5,22:1). #25D366 permanece só como ícone sobre fundo escuro. */
.wa-float{border:2px solid #fff;}

/* Áreas de toque do rodapé: mínimo 24 px (WCAG 2.2 AA) no desktop e 44 px no celular */
@media (max-width:600px){
  .footer__nav a{display:flex;align-items:center;min-height:44px;margin-bottom:0;padding-block:0;}
  .footer__contact a{min-height:44px;align-items:center;margin-bottom:4px;}
}

/* Rótulos de coluna do rodapé (p em vez de h2): mesma aparência anterior, mínimo 12 px */
.footer__section-label{margin:0 0 21px;font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;font-weight:700;color:#fff;text-transform:uppercase;}

/* Mega menu Soluções simplificado: dois cartões com imagem, cada um é um único link */
.mega-panel{width:min(660px,94vw);padding:14px;}
.mega-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.mega-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d9d7cf;color:#071F13;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
.mega-card:hover{border-color:#071F13;box-shadow:0 8px 20px rgb(7 31 19 / .14);text-decoration:none;}
.mega-card:focus-visible{outline:3px solid #071F13;outline-offset:3px;box-shadow:0 0 0 6px #fff;}
.mega-card[aria-current="page"]{border:2px solid #071F13;}
.mega-card__media{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background:#0d2e1c;}
.mega-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.mega-card:hover .mega-card__media img{transform:scale(1.04);}
.mega-card__media figcaption{position:absolute;left:8px;bottom:8px;padding:4px 8px;background:rgb(7 26 17 / .88);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;line-height:1.2;}
.mega-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;}
.mega-card__title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.08rem;font-weight:800;line-height:1.25;color:#071F13;}
.mega-card__title .icon{width:17px;height:17px;flex:none;}
.mega-card:hover .mega-card__title .icon{transform:translate(2px,-2px);}
.mega-card__text{font-size:.9rem;line-height:1.5;color:#2f3832;}
@media (prefers-reduced-motion:reduce){.mega-card,.mega-card__media img{transition:none;}.mega-card:hover .mega-card__media img{transform:none;}}
/* Menu mobile: dois links com miniatura */
.mobile-solutions__links .msol{display:flex;align-items:center;gap:12px;min-height:72px;padding:8px 5px;border-bottom:1px solid rgb(7 31 19 / .12);color:#071F13;font-size:inherit;}
.mobile-solutions__links .msol:last-child{border-bottom:0;}
.mobile-solutions__links .msol img{width:64px;height:64px;object-fit:cover;flex:none;}
.mobile-solutions__links .msol strong{display:block;font-size:.98rem;line-height:1.3;}
.mobile-solutions__links .msol small{display:block;margin-top:2px;font-size:.85rem;line-height:1.4;color:#2f3832;}
.mobile-solutions__links .msol[aria-current="page"]{background:#F6F4E6;}

/* Botão do cabeçalho e botão flutuante: verde padrão do WhatsApp (#25D366), a pedido do cliente.
   Os demais botões de WhatsApp continuam em #127A6B. */
.header__cta.is-wa,.mobile-panel__cta.is-wa{background:#25D366;border-color:#25D366;}
.header__cta.is-wa:hover,.mobile-panel__cta.is-wa:hover{background:#1ebe5b;border-color:#1ebe5b;}
.wa-float{background:#25D366;}
.wa-float:hover{background:#1ebe5b;}

/* Mega menu: maior e mais elegante (sem etiqueta sobre a imagem) */
.mega-panel{width:min(840px,94vw);padding:22px;border-top:3px solid #071F13;box-shadow:0 28px 60px rgb(7 31 19 / .18);}
.solutions-disclosure[open] .mega-panel{animation:megaIn .22s ease both;}
@keyframes megaIn{from{opacity:0;transform:translate(-50%,6px);}to{opacity:1;transform:translate(-50%,0);}}
.mega-cards{gap:22px;}
.mega-card{border:0;box-shadow:0 1px 0 rgb(7 31 19 / .10),0 0 0 1px rgb(7 31 19 / .10);background:#fff;}
.mega-card:hover{box-shadow:0 0 0 2px #071F13,0 16px 32px rgb(7 31 19 / .16);transform:translateY(-3px);}
.mega-card[aria-current="page"]{box-shadow:0 0 0 2px #071F13;border:0;}
.mega-card{transition:box-shadow .25s ease,transform .25s ease;}
.mega-card__media{aspect-ratio:3/2;}
.mega-card__body{gap:8px;padding:20px 22px 24px;}
.mega-card__title{font-size:1.3rem;letter-spacing:-.015em;}
.mega-card__title .icon{width:34px;height:34px;padding:9px;border:1.5px solid #071F13;border-radius:50%;transition:background-color .2s ease,color .2s ease;}
.mega-card:hover .mega-card__title .icon{background:#071F13;color:#fff;transform:none;}
.mega-card__text{font-size:1rem;line-height:1.55;}
.mega-panel__note{margin:16px 2px 0;font-size:.75rem;letter-spacing:.04em;color:#4b584c;}
@media (prefers-reduced-motion:reduce){.solutions-disclosure[open] .mega-panel{animation:none;}.mega-card{transition:none;}.mega-card:hover{transform:none;}}

.mega-card__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#4b584c;line-height:1.3;}

/* Home · modalidades: cards brancos, foto maior no topo, sem numeração nem texto sobre a imagem */
.modality,.modality:first-child,.modality:last-child{padding:0!important;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgb(0 0 0 / .22);display:flex;flex-direction:column;}
.modality__media{margin:0;border-radius:0;aspect-ratio:5/4;}
.modality__media::after{display:none;}
.modality h3{margin:0;padding:24px 26px 0;font-size:1.3rem;line-height:1.28;color:#071F13;}
.modality p{padding:12px 26px 28px;font-size:.95rem;line-height:1.7;color:#2f3832;}
.modality p strong{color:#071F13;font-weight:800;}
.modalities__note{margin:18px 0 0;font-size:.75rem;letter-spacing:.04em;color:#d7dfd7;}

/* Links com seta: sem sublinhado (a seta e o peso do texto sinalizam o clique) */
.link-arrow,.link-arrow--light{border-bottom:0;}

/* Sem sublinhado em botões e links de navegação (menu, topo, rodapé, mega menu). Feedback ao passar o mouse por cor/fundo. */
.topbar__contact:hover,.footer a:hover,.nav-link:hover,.mega-link:hover,.mega-sublist a:hover{text-decoration:none;}
.footer a:hover{opacity:.78;}
.nav-link:hover{background:#F6F4E6;}
.mobile-panel>a[aria-current],.mega-link[aria-current="page"],.mobile-solutions__links a[aria-current="page"]{text-decoration:none;}

/* Rodapé: nome da empresa em primeiro lugar na coluna de contatos (NAP; endereço ainda não informado) */
.footer__nap{margin:0 0 17px;font-size:1.05rem;line-height:1.5;color:#fff;}
.footer__nap strong{font-weight:800;}

/* Botão de WhatsApp do CTA final (todas as páginas): verde padrão do WhatsApp (#25D366) */
.final-cta__buttons .is-wa{background:#25D366;border-color:#25D366;}
.final-cta__buttons .is-wa:hover{background:#1ebe5b;border-color:#1ebe5b;}

/* Botão de ícone do Instagram no rodapé */
.footer__social{margin:18px 0 0;}
.footer__ig{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1.5px solid rgb(255 255 255 / .7);border-radius:50%;color:#fff;transition:background .2s ease,color .2s ease;text-decoration:none;}
.footer__ig .icon{width:22px;height:22px;}
.footer__ig:hover{background:#fff;color:#071F13;}
.footer__ig:focus-visible{outline:3px solid #fff;outline-offset:3px;}

/* CTAs finais: mais curvatura no cartão e nos botões */
.final-cta__inner{border-radius:22px;overflow:hidden;}
.final-cta .cta,.final-cta__buttons .cta{border-radius:12px;}
.footer .footer__ig{width:48px;height:48px;min-height:48px;padding:0;margin:0;flex:none;}
.footer .footer__ig .icon{width:22px;height:22px;}
.footer__identity .footer__social{margin:18px 0 0;}
.footer__identity .footer__ig{display:inline-flex;width:48px;}

/* Cards da Home: título em uma única linha, proporcional à largura do card */
.choice{container-type:inline-size;}
.choice h3{white-space:nowrap;font-size:clamp(.95rem,4.5cqi,2rem);letter-spacing:-.02em;}

/* Heroes: degradê mais leve e neutro, para a casa aparecer ao fundo (desktop e celular) */
body .hero-v2::after,body .entity-hero::before,body .contact-hero::before{background:linear-gradient(90deg,rgb(9 17 13 / .74) 0%,rgb(9 17 13 / .56) 42%,rgb(9 17 13 / .10) 88%),linear-gradient(0deg,rgb(9 17 13 / .36),transparent 28%);}
body .casas-hero__bg{background:linear-gradient(90deg,rgb(9 17 13 / .80) 0%,rgb(9 17 13 / .62) 45%,rgb(9 17 13 / .22) 100%),url('../img/fachada-geminada-ceu-1200.webp') center 62%/cover no-repeat;}
body .hero-v2 :is(h1,p),.entity-hero :is(h1,p),.contact-hero :is(h1,p),.casas-hero :is(h1,p){text-shadow:0 1px 12px rgb(0 0 0 / .45);}
@media (max-width:700px){
  body .hero-v2::after,body .entity-hero::before,body .contact-hero::before{background:linear-gradient(180deg,rgb(9 17 13 / .66) 0%,rgb(9 17 13 / .52) 45%,rgb(9 17 13 / .30) 78%,rgb(9 17 13 / .40) 100%);}
  body .contact-hero__image{background-position:22% 53%;}
  body .casas-hero__bg{background:linear-gradient(180deg,rgb(9 17 13 / .70) 0%,rgb(9 17 13 / .55) 50%,rgb(9 17 13 / .35) 100%),url('../img/fachada-geminada-ceu-1200.webp') center 62%/cover no-repeat;}
}

/* Heroes e marquee: textos em branco; rodapé do hero mais próximo do botão no celular; sem película escura no rodapé da tela */
body :is(.hero-v2,.entity-hero,.contact-hero,.casas-hero) :is(p,span,li,i,.hero-v2__dot){color:#fff;}
.marquee{color:#fff;}
.to-top-wrap{background:none;}
@media (max-width:600px){
  body .hero-v2{min-height:0;}
  body .hero-v2__inner{justify-content:flex-start;gap:34px;}
}

/* Parallax (Conceito da marca): degradê mais leve e neutro; textos em branco */
body .parallax::after{background:linear-gradient(90deg,rgb(9 17 13 / .62),rgb(9 17 13 / .10) 100%);}
body .parallax :is(h2,p,span,.parallax__disclaimer){color:#fff;}
body .parallax :is(h2,p){text-shadow:0 1px 12px rgb(0 0 0 / .45);}
@media (max-width:700px){body .parallax::after{background:linear-gradient(180deg,rgb(9 17 13 / .58),rgb(9 17 13 / .34));}}

/* Vídeos no celular: um embaixo do outro, em tamanho maior */
@media (max-width:600px){
  body .film__visual{min-height:0;padding:30px 18px 54px;}
  body .film__pair{flex-direction:column;gap:26px;}
  body .film__pair .film__frame{width:min(300px,100%);border-width:5px;}
}

/* Seção de vídeos: chamada para dar play, abaixo dos vídeos */
body .film__visual{flex-direction:column;gap:22px;}
.film__hint{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;font-size:.92rem;font-weight:600;letter-spacing:.03em;color:#0d2e1c;text-align:center;}
.film__hint .icon{width:18px;height:18px;flex:none;fill:currentColor;stroke:currentColor;}

/* Contorno dourado deslocado (como no "Conceito da marca") em imagens fora de cards */
.about-v2__photo,.gallery,.casas-mosaic{position:relative;isolation:isolate;}
.about-v2__photo{overflow:visible;}
.about-v2__photo::before,.gallery::before,.casas-mosaic::before{content:'';position:absolute;inset:-14px 14px 14px -14px;border:1px solid rgb(183 155 100 / .8);z-index:-1;pointer-events:none;}
.gallery::before,.casas-mosaic::before{border-right:0;border-bottom:0;}

/* Imagens dentro de cards: retângulo interno em linha bem fina */
.choice__image,.modality__media,.entity-offers__photo,.contact-interest__photo,.build-mode__photo,.casas-card figure,.mega-card__media{position:relative;}
.choice__image::after,.modality__media::after,.entity-offers__photo::after,.contact-interest__photo::after,.build-mode__photo::after,.casas-card figure::after{content:'';position:absolute;inset:12px;border:1px solid rgb(214 190 130 / .95);z-index:1;pointer-events:none;}
.mega-card__media::after{content:'';position:absolute;inset:7px;border:1px solid rgb(214 190 130 / .95);z-index:1;pointer-events:none;}
:is(.choice__image,.modality__media,.entity-offers__photo,.contact-interest__photo,.build-mode__photo,.casas-card figure,.mega-card__media) :is(figcaption,span){z-index:2;}
