:root{--cream:#fbfae9;--dark:#142d1e;--green:#234b34;--orange:#bd5319;--green-hover:#244e30;--text:#233a2c;--max:1170px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Montserrat,"Century Gothic",Arial,sans-serif}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}.skip-link{position:absolute;z-index:30;top:-60px;left:12px;padding:10px;background:#fff}.skip-link:focus{top:10px}
.topbar{height:38px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--orange);color:#fff;font-size:13px;letter-spacing:.22em}.topbar a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:20;height:105px;display:flex;align-items:stretch;background:#fffef2}.logo{flex:0 0 250px;display:flex;align-items:center;justify-content:center;white-space:nowrap;background:#102b1e;color:#fff;font-size:16px;font-weight:800}.logo strong{color:#bd6121;font-size:15px}.site-nav{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:32px;padding:0 40px;font-size:14px}.site-nav>a:not(.nav-quote):hover,.site-nav>a[aria-current]{color:var(--orange)}.nav-quote,.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;background:var(--orange);color:#fff!important;font-size:14px}.nav-quote{margin-left:38px}.nav-quote:hover,.button:hover,.contact-form-section button:hover{background:#9d4713}.menu-toggle{display:none}
.section-wrap{width:min(calc(100% - 80px),var(--max));margin-inline:auto}.section-title{text-align:center;font-size:36px;font-weight:800;letter-spacing:-.02em}.home-hero{position:relative;min-height:600px;overflow:hidden}.hero-cream{position:absolute;inset:0 auto 0 0;width:20%;background:#fffef2}.hero-video{position:absolute;inset:0 0 0 20%;width:80%;height:100%;object-fit:cover}.hero-text{position:relative;z-index:1;padding:115px 6.8% 70px}.hero-text h1{margin:0 0 20px;font-size:clamp(48px,5.6vw,78px);line-height:1.1;letter-spacing:.005em;font-weight:800}.hero-text h1 span{background:#fffef2;box-shadow:8px 0 #fffef2,-8px 0 #fffef2;box-decoration-break:clone}.hero-text p{max-width:210px;padding:0 10px 0 0;background:#fffef2;font-size:20px;font-weight:700;line-height:1.2}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;padding-block:70px}.intro-image{height:470px}.intro-image img{width:100%;height:100%;object-fit:cover}.intro-card{position:relative;margin-left:-35px;padding:48px;background:#fffef3;box-shadow:0 8px 30px #15271d12}.intro-card h2{font-size:29px}.intro-card p{line-height:1.8}.intro-card .button{margin-top:12px}.home-services{padding-block:35px 100px}.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:50px 0 36px}.service-tile{position:relative;height:260px;overflow:hidden;background:#294936;color:white}.service-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.service-tile:hover img{transform:scale(1.05)}.service-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#132c1eb8)}.service-tile span{position:absolute;z-index:1;bottom:20px;left:20px;font-size:23px;font-weight:700}.button-center{display:flex;width:max-content;margin-inline:auto}.testimonial{display:grid;grid-template-columns:1fr 1fr;background:#fffef2}.testimonial-image{min-height:440px}.testimonial-image img{width:100%;height:100%;object-fit:cover}.testimonial-copy{align-self:center;padding:60px clamp(35px,7vw,120px)}.testimonial h2{font-size:34px}.section-subtitle{font-size:18px}.testimonial blockquote{margin:40px 0 24px;font-size:21px;line-height:1.6}.testimonial-credit{font-size:13px;font-weight:700;letter-spacing:.1em}.home-work{padding-block:100px}.work-preview{display:block;margin:42px 0 30px;height:520px}.work-preview img{width:100%;height:100%;object-fit:cover}
.inner-intro{text-align:center;padding-top:90px;padding-bottom:35px}.inner-intro h1{margin:0 auto 42px;font-size:clamp(42px,6vw,70px);line-height:1.2;font-weight:800;letter-spacing:.01em}.inner-intro p{max-width:550px;margin:0 auto 26px;font-size:17px;line-height:1.5}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 40px;padding-bottom:90px}.detail-card{min-height:440px;display:flex;flex-direction:column;background:#fffef2}.detail-card:nth-child(even){flex-direction:column-reverse}.detail-copy{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 65px;text-align:center}.detail-copy h2{font-size:25px}.detail-copy p{max-width:310px;margin-bottom:0;font-size:16px;line-height:1.7}.detail-card img,.detail-card video{width:100%;height:270px;object-fit:cover}.about-intro{padding-bottom:30px}.about-rows{padding-bottom:100px}.about-row{display:grid;grid-template-columns:1fr 1fr;min-height:550px;margin-bottom:40px;background:#fffef2}.about-row.reverse .about-copy{order:2}.about-row img{width:100%;height:100%;max-height:610px;object-fit:cover}.about-copy{align-self:center;padding:55px 10%}.about-copy h2{font-size:32px}.about-copy h3{margin-top:35px;font-size:22px}.about-copy p{font-size:16px;line-height:1.7}.about-copy a{text-decoration:underline}.gallery-intro{padding-bottom:120px}.gallery-intro h1{margin-bottom:15px}.gallery-intro p{font-size:23px}.gallery{display:grid;gap:42px;padding-bottom:40px}.gallery img{width:100%;max-height:760px;object-fit:cover}
.contact-form-section{padding:92px 24px 50px;background:var(--dark);color:white;text-align:center}.contact-form-section h2{font-size:38px}.contact-form-section p{max-width:800px;margin:0 auto 14px;line-height:1.5}.contact-form-section form{max-width:700px;margin:50px auto 0;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.form-grid label{font-size:13px;font-weight:700}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;display:block;margin-top:7px;padding:12px;border:0;border-bottom:2px solid var(--orange);border-radius:0;outline:0;background:#fffef2;color:var(--dark)}.form-grid input{height:49px}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus{outline:2px solid #db9b72}.contact-form-section button{width:100%;height:50px;margin-top:30px;border:0;background:var(--orange);color:#fff;cursor:pointer}.contact-details{min-height:170px;display:grid;grid-template-columns:1fr 1.3fr 1.4fr 1fr;align-items:center;gap:25px;padding:35px 6%;background:#224a33;color:#fff;text-align:center;line-height:1.4}.contact-details address{font-style:normal}.contact-details .instagram{font-size:39px}.contact-details a:hover{text-decoration:underline}.copyright{padding:20px;background:var(--orange);color:white;text-align:center;font-size:14px}.copyright a{text-decoration:underline}
@media(max-width:1000px){.logo{flex-basis:210px}.site-nav{gap:20px;padding:0 25px}.nav-quote{margin-left:0}.hero-text{padding-left:6%}.detail-copy{padding-inline:35px}}
@media(max-width:760px){.topbar{font-size:11px;letter-spacing:.08em}.site-header{height:72px;justify-content:space-between}.logo{flex-basis:210px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:72px;padding:0 22px;border:0;background:none}.menu-toggle span{height:2px;background:var(--dark)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;align-items:stretch;flex-direction:column;gap:0;padding:14px 25px 25px;background:#fffef2;box-shadow:0 15px 25px #0002}.site-nav.open{display:flex}.site-nav a{padding:11px 0}.site-nav .nav-quote{margin-top:10px}.section-wrap{width:min(calc(100% - 36px),var(--max))}.home-hero{min-height:490px}.hero-cream{width:15%}.hero-video{left:15%;width:85%}.hero-text{padding:95px 6%}.hero-text h1{font-size:clamp(38px,8vw,60px)}.hero-text p{font-size:17px}.home-intro,.testimonial,.about-row{grid-template-columns:1fr}.intro-image{height:310px}.intro-card{margin:-35px 15px 0;padding:30px}.service-tiles{grid-template-columns:1fr 1fr;gap:14px}.service-tile{height:220px}.testimonial-image{min-height:300px}.testimonial-copy{padding:45px 25px}.work-preview{height:320px}.detail-grid{gap:20px}.detail-card{min-height:0}.detail-copy{padding:30px 18px}.detail-card img,.detail-card video{height:220px}.about-row.reverse .about-copy{order:0}.about-row img{height:380px}.gallery-intro{padding-bottom:70px}.gallery{gap:20px}.contact-details{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.logo{flex-basis:190px;font-size:14px}.logo strong{font-size:13px}.home-hero{min-height:430px}.hero-text{padding-top:85px}.hero-text h1{font-size:36px}.hero-text p{font-size:15px;max-width:180px}.section-title{font-size:29px}.service-tiles,.detail-grid{grid-template-columns:1fr}.service-tile{height:240px}.inner-intro{padding-top:65px}.inner-intro h1{font-size:43px;margin-bottom:30px}.inner-intro p{font-size:16px}.detail-card:nth-child(even){flex-direction:column}.detail-card img,.detail-card video{height:250px}.about-copy{padding:40px 25px}.contact-form-section{padding-top:65px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.contact-details{grid-template-columns:1fr}.copyright{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-tile img{transition:none}}

/* O topo inteiro acompanha a rolagem, como no site original. */
#site-header{position:sticky;top:0;z-index:20}
.site-header{position:relative;top:auto}
#contato{scroll-margin-top:143px}

/* Galeria horizontal da página inicial. */
.home-work{padding-block:120px 90px}
.home-work .section-title{margin-bottom:100px}
.work-carousel{position:relative}
.work-carousel-slides{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:32px;height:clamp(280px,31vw,390px);overflow:hidden}
.work-carousel-slides>img,.work-carousel-slides>a{min-width:0;width:100%;height:100%}
.work-carousel-slides img{width:100%;height:100%;object-fit:cover}
.work-carousel-slides>a{display:block}
.carousel-control{position:absolute;top:50%;display:grid;place-items:center;width:48px;height:68px;padding:0;border:0;background:#fffef2c9;color:var(--dark);font-size:48px;line-height:1;transform:translateY(-50%);cursor:pointer}
.carousel-control:hover,.carousel-control:focus-visible{background:#fffef2}
.carousel-previous{left:0}.carousel-next{right:0}
.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}
@media(max-width:760px){
  #contato{scroll-margin-top:110px}
  .home-work{padding-block:75px 65px}
  .home-work .section-title{margin-bottom:45px}
  .work-carousel-slides{grid-template-columns:1fr;height:clamp(260px,65vw,390px)}
  .work-carousel-slides>img{display:none}
  .carousel-control{width:42px;height:60px}
}

/* Serviços: cada bloco ocupa uma linha, alternando texto e mídia. */
[data-page="servicos"] .detail-grid{grid-template-columns:1fr;gap:34px}
[data-page="servicos"] .detail-card{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;min-height:370px;background:transparent}
[data-page="servicos"] .detail-card:nth-child(even) .detail-copy{order:2}
[data-page="servicos"] .detail-card:nth-child(even) img,
[data-page="servicos"] .detail-card:nth-child(even) video{order:1}
[data-page="servicos"] .detail-copy{background:#fffef9}
[data-page="servicos"] .detail-card img,
[data-page="servicos"] .detail-card video{height:100%;min-height:370px;object-fit:cover}
@media(max-width:760px){
  [data-page="servicos"] .detail-card,
  [data-page="servicos"] .detail-card:nth-child(even){display:flex;flex-direction:column;min-height:0}
  [data-page="servicos"] .detail-card:nth-child(even) .detail-copy,
  [data-page="servicos"] .detail-card:nth-child(even) img,
  [data-page="servicos"] .detail-card:nth-child(even) video{order:initial}
  [data-page="servicos"] .detail-card img,
  [data-page="servicos"] .detail-card video{height:260px;min-height:0}
}

/* Sobre: quadros claros separados das fotos pelo fundo da página. */
[data-page="sobre"] .about-row{column-gap:34px;min-height:630px;background:transparent}
[data-page="sobre"] .about-copy{display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding:50px 12%;background:#fffef9;text-align:center}
[data-page="sobre"] .about-copy p{max-width:390px;margin-inline:auto}
[data-page="sobre"] .about-row img{height:100%;max-height:none;min-height:630px}
@media(max-width:760px){
  [data-page="sobre"] .about-row{gap:16px;min-height:0}
  [data-page="sobre"] .about-copy{padding:40px 25px}
  [data-page="sobre"] .about-row img{height:380px;min-height:0}
}

/* Galeria: fotos panorâmicas em largura total e demais fotos lado a lado. */
.gallery{grid-template-columns:repeat(10,minmax(0,1fr));gap:36px}
.gallery img{grid-column:span 5;width:100%;height:clamp(280px,36vw,440px);max-height:none;object-fit:cover}
.gallery img.gallery-wide{grid-column:1/-1;height:clamp(320px,40vw,480px)}
.gallery img.gallery-small{grid-column:span 3}
.gallery img.gallery-large{grid-column:span 7}
@media(max-width:760px){
  .gallery{grid-template-columns:1fr;gap:22px}
  .gallery img,.gallery img.gallery-wide,.gallery img.gallery-small,.gallery img.gallery-large{grid-column:1;height:auto;max-height:none;object-fit:contain}
}

/* Textura original do bloco da marca, sobre o fundo verde. */
.logo{gap:3px;background-color:#102b1e;background-image:url("assets/logo.png");background-position:center;background-size:cover;background-repeat:no-repeat;font-size:20px}
.logo strong{font-size:19px}
@media(max-width:760px){.logo{font-size:16px}.logo strong{font-size:15px}}
@media(max-width:560px){.logo{font-size:15px}.logo strong{font-size:14px}}

/* Etiquetas verdes dos serviços na Home. */
.home-services .service-tile{height:clamp(300px,34vw,410px)}
.home-services .service-tile:after{display:none}
.home-services .service-tile span{left:9%;right:9%;bottom:0;display:grid;place-items:center;min-height:72px;padding:12px;background:#12301e;color:#fff;font-size:18px;font-weight:400;text-align:center}
@media(max-width:760px){.home-services .service-tile{height:320px}}
@media(max-width:560px){.home-services .service-tile{height:300px}.home-services .service-tile span{min-height:66px}}

/* Cor da referência e interação dos botões terrosos. */
.logo strong{color:var(--orange)}
.nav-quote:hover,.nav-quote:focus-visible,
.button:hover,.button:focus-visible,
.contact-form-section button:hover,.contact-form-section button:focus-visible{background:var(--green-hover)}
.home-services .button-center{width:min(528px,100%);min-height:75px;font-size:22px}
@media(max-width:560px){.home-services .button-center{width:90%;min-height:65px;font-size:18px}}

/* Depoimentos com navegação lateral e espaço estável entre as trocas. */
.testimonial-copy{padding:55px clamp(26px,3vw,56px)}
.testimonial-carousel{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px;margin-top:34px}
.testimonial-slide{min-height:280px;display:flex;flex-direction:column;justify-content:center}
.testimonial-slide blockquote{margin:0 0 55px;font-size:clamp(19px,1.7vw,23px);line-height:1.6}
.testimonial-slide .testimonial-credit{margin:0;font-size:18px;letter-spacing:0;line-height:1.4}
.testimonial-arrow{display:grid;place-items:center;width:38px;height:56px;padding:0;border:0;background:transparent;color:var(--dark);cursor:pointer}
.testimonial-arrow::before{content:"";display:block;width:22px;height:22px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.testimonial-previous::before{transform:rotate(-135deg)}
.testimonial-next::before{transform:rotate(45deg)}
.testimonial-arrow:hover,.testimonial-arrow:focus-visible{color:var(--orange)}
.testimonial-arrow:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:760px){
  .testimonial-copy{padding:45px 20px}
  .testimonial-carousel{grid-template-columns:30px minmax(0,1fr) 30px;gap:8px;margin-top:25px}
  .testimonial-slide{min-height:340px}
  .testimonial-slide blockquote{margin-bottom:34px;font-size:18px}
  .testimonial-slide .testimonial-credit{font-size:15px}
  .testimonial-arrow{width:30px}
  .testimonial-arrow::before{width:17px;height:17px}
}

/* Rodapé e atalhos sociais. */
.contact-details{background:#244e30}
.contact-details>div:first-child{text-align:left}
.contact-details .instagram{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-inline:auto;color:#fff}
.contact-details .instagram svg{display:block;width:26px;height:26px}
.contact-details .instagram:hover,.contact-details .instagram:focus-visible{opacity:.75}
.whatsapp-float{position:fixed;z-index:25;right:24px;bottom:24px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 4px 16px #0004;transition:background .2s,transform .2s}
.whatsapp-float svg{width:34px;height:34px}
.whatsapp-float:hover,.whatsapp-float:focus-visible{background:#1ca851;transform:translateY(-3px)}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:560px){
  .contact-details>div:first-child{text-align:center}
  .copyright{padding:20px 90px 20px 16px}
  .whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:54px;height:54px}
}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Links do menu superior com leitura um pouco mais firme. */
.site-nav{font-weight:500}

/* Hierarquia de textos do formulário de contato. */
.contact-form-section h2{margin-bottom:16px}
.contact-form-section .contact-lead{max-width:690px;margin:0 auto;color:#c8cec2;font-size:22px;line-height:1.3}
.contact-divider{display:block;width:46px;height:2px;margin:34px auto 30px;background:#d8ddc5}
.contact-form-section .contact-note{max-width:700px;margin:0 auto;font-size:14px;line-height:1.6}
.contact-form-section form{margin-top:62px}
@media(max-width:560px){
  .contact-form-section .contact-lead{font-size:19px}
  .contact-divider{margin:27px auto 25px}
  .contact-form-section form{margin-top:42px}
}

.contact-form-section .form-feedback{max-width:700px;margin:30px auto 0;padding:14px 18px;border-left:4px solid #b8d9b9;background:#244e30;color:#fff;text-align:left}
.contact-form-section .form-feedback-erro,.contact-form-section .form-feedback-invalido{border-color:#f1b083;background:#563222}
.contact-form-section .form-feedback:not([hidden])+form{margin-top:24px}
