
:root{
 --ink:#121212;--ink2:#191919;--paper:#fbf8f2;--paper2:#f2ece2;--sand:#ded1bd;--sand2:#cbb99e;
 --gold:#d9aa43;--gold2:#f0c765;--gold3:#aa7b24;--text:#1b1b1b;--muted:#68645e;
 --line:#d8c8ae;--radius:20px;--container:1180px;--ease:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:"Segoe UI Variable","Aptos","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.032em}p{line-height:1.65}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{position:relative;padding:92px 0;overflow:hidden}
.section-head{max-width:760px;margin:0 auto 42px;text-align:center}.section-head h2{font-size:clamp(30px,3.5vw,48px);font-weight:650}.section-head p{font-size:17px;color:var(--muted);margin-top:14px}
.eyebrow{display:block;color:var(--gold3);font-size:12px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}
.btn-row{display:flex;justify-content:center;margin-top:38px}
.btn{min-width:320px;min-height:52px;padding:14px 30px;border-radius:999px;border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:550;letter-spacing:.02em;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#3e2d10;transition:.25s var(--ease);box-shadow:0 10px 24px rgba(165,119,34,.18)}
.btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#f4cf7e,#e0b152);border-color:var(--gold3);box-shadow:0 14px 30px rgba(106,80,28,.18)}.wa-icon{width:18px;height:18px;fill:currentColor}.hero .btn-row{justify-content:flex-start}.hero .btn{min-width:280px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}

/* header */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(251,248,242,.92);border-bottom:1px solid rgba(171,137,77,.14);backdrop-filter:blur(12px);transition:transform .38s var(--ease)}
.site-header.header-hidden{transform:translateY(-110%)}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:38px;width:auto}
.nav{display:flex;align-items:center;gap:26px}.nav a{font-size:13px;font-weight:550;color:#302f2d}.nav a:hover{color:#9a6e20}.nav .nav-cta{border:1px solid #d3ad61;border-radius:999px;padding:10px 17px;color:#4b3714;background:linear-gradient(135deg,var(--gold2),var(--gold));box-shadow:0 8px 20px rgba(165,119,34,.12)}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:none;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";width:22px;height:1.5px;background:#222;transition:.25s}.menu-toggle.open span{opacity:0}.menu-toggle.open::before{transform:translateY(6.5px) rotate(45deg)}.menu-toggle.open::after{transform:translateY(-6.5px) rotate(-45deg)}

/* hero - light, compact, horizontal */
.hero{padding:108px 0 52px;background:linear-gradient(135deg,#fcfaf6 0%,#f3ede3 100%)}
.hero::before,.hero::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(177,139,72,.28);border-radius:50%}
.hero::before{width:420px;height:420px;left:-300px;top:25px}.hero::after{width:300px;height:300px;right:-220px;bottom:-160px}
.hero-lines{position:absolute;inset:0;pointer-events:none;opacity:.55}
.hero-lines i{position:absolute;width:1px;height:320px;background:linear-gradient(transparent,rgba(171,126,47,.26),transparent);transform:rotate(28deg)}
.hero-lines i:nth-child(1){left:5%;top:-50px}.hero-lines i:nth-child(2){left:8%;top:-30px}.hero-lines i:nth-child(3){right:7%;bottom:-110px;transform:rotate(-32deg)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.78fr 1.22fr;gap:0;align-items:stretch}.hero-shell{background:linear-gradient(135deg,#f9f5ee 0%,#f3ece3 52%,#efe7dc 100%);border:1px solid rgba(177,139,72,.14);border-radius:22px;overflow:hidden;box-shadow:0 18px 40px rgba(88,67,37,.08)}.hero-copy{max-width:520px;padding:44px 40px 38px 40px;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(32px,3.65vw,46px);font-weight:650;max-width:430px}.hero-copy>p{font-size:15px;color:#5f5a53;margin-top:16px;max-width:430px}
.hero-photo{position:relative;overflow:hidden;min-height:100%}.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,236,227,.92) 0%,rgba(243,236,227,.38) 16%,rgba(243,236,227,0) 34%);z-index:1;pointer-events:none}.hero-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;color:#514b43;font-size:12.5px}.hero-trust span{display:flex;align-items:center;gap:7px}.hero-trust b{width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* problem */
.problem{background:#151515;color:#f4f0e8}.problem .section-head p{color:#c9c2b8}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.problem-card{padding:26px 20px;border:1px solid rgba(218,184,112,.22);border-radius:18px;text-align:center;background:#181818}.problem-icon{width:42px;height:42px;margin:0 auto 17px;color:#e3b959}.problem-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.problem-card h3{font-size:16px;font-weight:550}

/* products */
.products{background:#fffdf9}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #eee5d8;box-shadow:0 12px 30px rgba(57,44,25,.06);transition:.35s var(--ease)}.product-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(57,44,25,.10)}
.product-media{aspect-ratio:4/3.3;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.product-card:hover img{transform:scale(1.035)}.product-copy{padding:18px 18px 20px;text-align:center}.product-copy h3{font-size:18px;font-weight:600}.product-copy p{font-size:13px;color:var(--muted);margin-top:7px}

/* planned - ID background, no black/white */
.planned{background:linear-gradient(135deg,#e6dccd,#d4c3aa 56%,#e9dfd1)}.planned .section-head p{color:#665e54}.planned .section-head h2{font-weight:620}
.carousel-viewport{position:relative;overflow:hidden;padding-left:max(20px,calc((100vw - var(--container))/2));padding-right:20px}.carousel-track{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 0 12px}.carousel-track::-webkit-scrollbar{display:none}
.carousel-card{flex:0 0 min(360px,76vw);aspect-ratio:4/3;border-radius:18px;overflow:hidden;scroll-snap-align:start;border:1px solid rgba(126,91,31,.23);box-shadow:0 14px 34px rgba(86,65,33,.12);margin:0}.carousel-card img{width:100%;height:100%;object-fit:cover}.carousel-controls{position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:3}.carousel-controls .carousel-btn{width:46px;height:46px;border-radius:50%;border:1px solid #b68b42;background:rgba(255,255,255,.88);color:#7c5a21;font-size:22px;box-shadow:0 8px 18px rgba(90,66,29,.14)}.carousel-btn{width:46px;height:46px;border-radius:50%;border:1px solid #b68b42;background:rgba(255,255,255,.88);color:#7c5a21;font-size:22px;box-shadow:0 8px 18px rgba(90,66,29,.14)}

/* benefits - black but elegant, only warm ID tones */
.benefits{background:#111;color:#f7f3ea}.benefits .section-head p{color:#c6beb1}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.benefit-card{position:relative;padding:25px 22px;border-radius:18px;border:1px solid rgba(214,170,81,.28);background:#151515;overflow:hidden}
.benefit-card::after{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,#d9aa43,#f0d28a,#d9aa43,transparent);opacity:.48;animation:warmPulse 4.2s ease-in-out infinite}
@keyframes warmPulse{0%,100%{opacity:.25}50%{opacity:.78}}
.benefit-icon{width:38px;height:38px;color:#ddb65d;margin-bottom:18px}.benefit-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.benefit-card h3{font-size:18px;font-weight:550}.benefit-card p{color:#bbb3a8;font-size:13.5px;margin-top:7px}
.benefits .btn{min-width:390px}.benefits .btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#f4cf7e,#e0b152);border-color:var(--gold3);box-shadow:0 14px 30px rgba(106,80,28,.18)}

/* process - elegant line, not futuristic */
.process{background:#f7f1e8}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;padding-top:52px}.timeline-line{position:absolute;top:27px;left:0;right:0;height:1px;background:#c7a35a}
.timeline-line::after{content:"";position:absolute;left:-30%;top:-1px;height:4px;width:34%;background:linear-gradient(90deg,transparent,#f1c861,#f7dd8e,#f1c861,transparent);filter:drop-shadow(0 0 10px rgba(241,200,97,.5));animation:lineTravel 4.8s linear infinite}@keyframes lineTravel{from{left:-20%}to{left:100%}}
.step{position:relative;text-align:center}.step-num{position:absolute;top:-52px;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e1bb65;color:#493719;border:6px solid #f7f1e8;font-size:13px;font-weight:650;box-shadow:0 0 0 1px rgba(168,124,42,.25);animation:numSoft 3.5s ease-in-out infinite}
@keyframes numSoft{0%,100%{box-shadow:0 0 0 1px rgba(168,124,42,.25)}50%{box-shadow:0 0 0 7px rgba(218,176,86,.08)}}.step h3{font-size:17px;font-weight:600}.step p{font-size:13px;color:var(--muted);margin-top:6px}

/* projects */
.projects{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.project-card{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/4.2;border:1px solid #eee4d5}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}.project-card:hover img{transform:scale(1.04)}

/* comparator penultimate */
.compare-section{background:#f3ece1}.compare-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;align-items:center}.compare-single-grid{align-items:center}.compare-copy h2{font-size:clamp(30px,3.4vw,48px);font-weight:630}.compare-copy p{font-size:16px;color:#665f55;margin-top:14px}.compare-instruction{display:block;margin-top:14px;color:#9c742b;font-size:13px;font-weight:550}
.compare-frame{position:relative;aspect-ratio:16/8.5;border-radius:20px;overflow:hidden;background:#ddd;box-shadow:0 20px 45px rgba(80,58,25,.12);touch-action:none;cursor:ew-resize}.compare-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden}.compare-before .compare-img{width:200%;max-width:none}
.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#f1d082;transform:translateX(-50%);pointer-events:none}.compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #c79b45;color:#826021;pointer-events:none;font-size:18px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.compare-label{position:absolute;top:12px;z-index:4;border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.9);font-size:11px;font-weight:600;color:#5a4a2f}.compare-label.before{left:12px}.compare-label.after{right:12px}

/* final light taupe */
.final{background:linear-gradient(135deg,#d9ccb9,#cdbb9f);text-align:center}.final-lines{position:absolute;inset:0;pointer-events:none;overflow:hidden}.final-lines::before,.final-lines::after{content:"";position:absolute;border:1px solid rgba(151,111,42,.30);border-radius:50%;width:520px;height:520px}.final-lines::before{left:-360px;bottom:-310px}.final-lines::after{right:-390px;top:-330px}.final-inner{position:relative;z-index:2;max-width:800px}.final h2{font-size:clamp(32px,4vw,52px);font-weight:620}.final p{max-width:650px;margin:14px auto 0;color:#5e5549}.final .eyebrow{color:#76521d}

/* footer */
.footer{background:#0f0f0f;color:#c9c2b8;padding:46px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:34px;align-items:start}.footer-logo{width:170px;filter:brightness(0) invert(1);margin-bottom:13px}.footer p{font-size:13px;max-width:420px}.footer h3{color:#f1eee7;font-size:13px;font-weight:600;margin-bottom:12px}.footer-links{display:grid;gap:8px;font-size:13px}.contact-link{display:flex;align-items:center;gap:10px;font-size:13px;margin-bottom:10px;color:#e6dfd3}.contact-link .wa-icon{color:#cba553}.social-svg{width:19px;height:19px;fill:none;stroke:#cba553;stroke-width:1.6}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:18px;font-size:11.5px;color:#78746e}

/* mobile */
@media(max-width:980px){.hero-grid,.compare-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;align-items:center}.compare-single-grid{align-items:center}.hero-copy{max-width:720px;margin:auto;text-align:left}.hero-trust{justify-content:flex-start}.hero-photo{max-width:760px;margin:auto}.problem-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr);gap:70px 22px}.timeline-line{display:none}.project-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .container{width:min(calc(100% - 28px),var(--container))}.section{padding:70px 0}.header-inner{height:62px}.brand img{height:33px}.nav{display:none;position:fixed;top:66px;left:12px;right:12px;background:#faf7f1;border:1px solid #e2d7c6;border-radius:16px;padding:16px;box-shadow:0 20px 50px rgba(50,40,25,.13);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{text-align:center;padding:9px}.nav .nav-cta{border:1px solid #d3ad61;border-radius:999px;padding:10px 17px;color:#4b3714;background:linear-gradient(135deg,var(--gold2),var(--gold));box-shadow:0 8px 20px rgba(165,119,34,.12)}.menu-toggle{display:flex}
 .hero{padding:108px 0 52px;background:linear-gradient(135deg,#fcfaf6 0%,#f3ede3 100%)}.hero-grid{gap:26px}.hero h1{font-size:clamp(32px,9vw,44px)}.hero-photo img{height:240px}.hero-lines i{height:210px}.section-head{margin-bottom:30px}.section-head h2{font-size:clamp(28px,8vw,38px)}
 .problem-grid{grid-template-columns:1fr 1fr;gap:10px}.problem-card{padding:21px 10px}.problem-card h3{font-size:14px}.problem-icon{width:34px;height:34px}
 .product-grid{grid-template-columns:1fr 1fr;gap:10px}.product-copy{padding:14px 10px}.product-copy h3{font-size:15px}.product-copy p{font-size:11.5px}.carousel-card{flex-basis:82vw}
 .benefit-grid{grid-template-columns:1fr}.benefits .btn,.btn{min-width:320px;min-height:52px;padding:14px 30px;border-radius:999px;border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:550;letter-spacing:.02em;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#3e2d10;transition:.25s var(--ease);box-shadow:0 10px 24px rgba(165,119,34,.18)}
 .timeline{grid-template-columns:1fr;gap:62px;padding-top:52px}.project-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.project-card{flex:0 0 80vw;scroll-snap-align:center}.project-grid::-webkit-scrollbar{display:none}
 .compare-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;align-items:center}.compare-single-grid{align-items:center}.compare-copy{text-align:center}.compare-frame{aspect-ratio:16/8.2}.footer-grid{grid-template-columns:1fr}.footer{text-align:left}
}
@media(max-width:440px){.product-grid{grid-template-columns:1fr}.problem-grid{grid-template-columns:1fr 1fr}.hero-photo img{height:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

.compare-single{border-radius:20px;overflow:hidden;box-shadow:0 20px 45px rgba(80,58,25,.12);border:1px solid rgba(176,138,72,.16)}.compare-single img{width:100%;height:auto;display:block}

/* ===== Final hero refinements requested ===== */
.hero{padding:108px 0 52px;background:linear-gradient(135deg,#fcfaf6 0%,#f3ede3 100%)}
.hero-shell{position:relative}
.hero-photo img{object-position:center center}
.hero-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(243,236,227,.96) 0%,rgba(243,236,227,.66) 18%,rgba(243,236,227,.18) 34%,rgba(243,236,227,0) 52%);
  z-index:1;
  pointer-events:none;
}
.hero-copy{position:relative;z-index:2}
.hero .btn-row{justify-content:flex-start}
.hero .btn{
  background:linear-gradient(135deg,#efc24d,#d9aa43);
  color:#3e2d10;
}
@media (min-width: 761px){
  .hero-grid.hero-shell{
    min-height:340px;
  }
  .hero-copy{
    padding:40px 34px 36px 36px;
  }
  .hero h1{
    max-width:390px;
  }
  .hero-copy>p{
    max-width:360px;
  }
  .hero-photo img{
    height:100%;
    min-height:340px;
  }
}
@media (max-width: 760px){
  .hero{
    padding:92px 0 42px;
  }
  .hero-grid.hero-shell{
    display:block;
    position:relative;
    min-height:392px;
    overflow:hidden;
    border-radius:20px;
    background:linear-gradient(135deg,#faf6ef 0%,#f2ebdf 100%);
  }
  .hero-copy{
    position:relative;
    z-index:2;
    width:min(68%, 360px);
    max-width:68%;
    padding:28px 18px 24px 22px !important;
    text-align:left;
  }
  .hero h1{
    font-size:clamp(24px,8.6vw,40px);
    line-height:1.03;
    max-width:100%;
    margin-right:0;
  }
  .hero-copy>p{
    font-size:14px;
    max-width:100%;
  }
  .hero-trust{
    font-size:11px;
    gap:8px 12px;
  }
  .hero-photo{
    position:absolute;
    inset:0 0 0 auto;
    width:52%;
    height:100%;
    margin:0;
    border-radius:0;
    min-height:100%;
    overflow:hidden;
  }
  .hero-photo::before{
    background:linear-gradient(90deg,rgba(242,235,223,.94) 0%,rgba(242,235,223,.74) 14%,rgba(242,235,223,.30) 30%,rgba(242,235,223,0) 50%);
  }
  .hero-photo img{
    width:100%;
    height:100%;
    min-height:392px;
    object-fit:cover;
    object-position:center right;
  }
  .hero .btn{
    min-width:210px;
    width:auto;
    padding:12px 18px;
    font-size:13px;
  }
}
@media (max-width: 420px){
  .hero-grid.hero-shell{
    min-height:404px;
  }
  .hero-copy{
    width:70%;
    max-width:70%;
    padding:26px 16px 22px 18px !important;
  }
  .hero-photo{
    width:49%;
  }
  .hero-photo img{
    min-height:404px;
    object-position:60% center;
  }
  .hero-trust{
    font-size:10.5px;
  }
}


/* ===== Final mobile hero + centered carousel adjustments ===== */
.carousel-viewport{
  width:min(calc(100% - 40px), var(--container));
  margin:0 auto;
  padding:0;
}
.carousel-track{
  padding:4px 2px 12px;
}
.carousel-controls{
  display:none !important;
}
@media (min-width: 981px){
  .carousel-card{
    flex:0 0 calc((100% - 32px) / 3);
  }
}
@media (min-width: 761px) and (max-width: 980px){
  .carousel-card{
    flex:0 0 calc((100% - 16px) / 2);
  }
}
@media (max-width: 760px){
  .carousel-viewport{
    width:min(calc(100% - 28px), var(--container));
  }
  .carousel-track{
    gap:12px;
    padding:4px 0 12px;
  }
  .carousel-card{
    flex:0 0 86%;
    margin:0 auto;
  }

  /* hero mobile in two blocks: image on top, text below */
  .hero{
    padding:92px 0 42px;
  }
  .hero-grid.hero-shell{
    display:flex;
    flex-direction:column;
    min-height:auto;
    overflow:hidden;
    border-radius:20px;
    background:linear-gradient(135deg,#faf6ef 0%,#f2ebdf 100%);
  }
  .hero-photo{
    position:relative;
    width:100%;
    height:210px;
    order:1;
    margin:0;
    border-radius:0;
    overflow:hidden;
  }
  .hero-photo::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(243,236,227,0) 0%,rgba(243,236,227,.10) 48%,rgba(243,236,227,.68) 82%,rgba(243,236,227,.96) 100%);
    z-index:1;
    pointer-events:none;
  }
  .hero-photo img{
    width:100%;
    height:100%;
    min-height:210px;
    object-fit:cover;
    object-position:center center;
  }
  .hero-copy{
    order:2;
    position:relative;
    z-index:2;
    width:100%;
    max-width:100%;
    padding:22px 20px 24px !important;
    text-align:left;
    background:linear-gradient(180deg,#f6f1e8 0%,#f7f2ea 100%);
  }
  .hero h1{
    font-size:clamp(24px,8.5vw,40px);
    max-width:100%;
    line-height:1.03;
  }
  .hero-copy>p{
    font-size:14px;
    max-width:100%;
  }
  .hero-trust{
    justify-content:flex-start;
    font-size:11px;
    gap:8px 12px;
  }
  .hero .btn-row{
    justify-content:flex-start;
    margin-top:24px;
  }
  .hero .btn{
    min-width:210px;
    width:auto;
    font-size:13px;
    padding:12px 18px;
  }
}
@media (max-width: 420px){
  .hero-photo{
    height:198px;
  }
  .hero-photo img{
    min-height:198px;
  }
  .hero-copy{
    padding:20px 18px 22px !important;
  }
  .hero-trust{
    font-size:10.5px;
  }
}


/* ===== Carousel motion + drag refinements ===== */
.carousel-track{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  touch-action:pan-y;
  cursor:grab;
  user-select:none;
}
.carousel-track:active{cursor:grabbing}
.carousel-card{scroll-snap-align:center}

/* ===== Benefit-card elegant passing light ===== */
.benefit-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(214,170,81,.24);
}
.benefit-card::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:1px;
  background:rgba(222,182,93,.18);
  pointer-events:none;
}
.benefit-card::after{
  content:"";
  position:absolute;
  top:0;
  left:-28%;
  width:26%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,213,106,.45),#ffd36a,rgba(255,213,106,.45),transparent);
  box-shadow:0 0 7px rgba(255,201,76,.70),0 0 14px rgba(255,201,76,.32);
  animation:benefitLightSweep 3.8s linear infinite;
  pointer-events:none;
}
.benefit-card:nth-child(2)::after{animation-delay:.35s}
.benefit-card:nth-child(3)::after{animation-delay:.70s}
.benefit-card:nth-child(4)::after{animation-delay:1.05s}
.benefit-card:nth-child(5)::after{animation-delay:1.40s}
.benefit-card:nth-child(6)::after{animation-delay:1.75s}

@keyframes benefitLightSweep{
  from{left:-28%}
  to{left:102%}
}


/* ===== v7 fixes: process vertical line on mobile + compare section mobile responsiveness ===== */

/* Process section: horizontal on desktop, vertical and correctly spaced on mobile */
@media (max-width: 760px){
  .process .timeline{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
    padding:12px 0 12px 72px;
  }

  /* fixed vertical guide through the center of every number */
  .process .timeline::before{
    content:"";
    position:absolute;
    left:41px;
    top:10px;
    bottom:12px;
    width:1px;
    background:rgba(199,163,90,.40);
  }

  /* warm moving light travelling vertically */
  .process .timeline::after{
    content:"";
    position:absolute;
    left:40px;
    top:-12%;
    width:3px;
    height:22%;
    border-radius:999px;
    background:linear-gradient(
      180deg,
      transparent 0%,
      rgba(241,200,97,.25) 20%,
      #f1c861 48%,
      #f9dc8b 55%,
      rgba(241,200,97,.25) 80%,
      transparent 100%
    );
    box-shadow:0 0 6px rgba(241,200,97,.55),0 0 12px rgba(241,200,97,.22);
    animation:lineTravelVertical 4.8s linear infinite;
    pointer-events:none;
  }

  @keyframes lineTravelVertical{
    from{ top:-12%; }
    to{ top:94%; }
  }

  .process .step{
    position:relative;
    min-height:58px;
    padding:2px 0 0 0;
    text-align:left;
  }

  /* number sits outside the text column, so it never overlaps */
  .process .step-num{
    position:absolute;
    left:-54px;
    top:0;
    transform:none;
    width:46px;
    height:46px;
    border-width:5px;
    z-index:2;
  }

  .process .step h3{
    margin:0 0 5px 0;
    line-height:1.15;
  }

  .process .step p{
    margin:0;
    max-width:100%;
    line-height:1.45;
  }
}

/* Compare / image section mobile responsiveness */
.compare-section .compare-grid{
  align-items:center;
}
.compare-single{
  width:100%;
}
.compare-single img{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
}
@media (min-width: 761px){
  .compare-section .compare-grid{
    grid-template-columns:.9fr 1.1fr;
    gap:34px;
  }
}

@media (max-width: 760px){
  .compare-section{
    overflow:hidden;
  }
  .compare-section .compare-grid{
    display:flex;
    flex-direction:column;
    gap:20px;
    align-items:stretch;
  }
  .compare-section .compare-copy{
    width:100%;
    max-width:100%;
    text-align:left;
  }
  .compare-section .compare-copy h2{
    font-size:clamp(30px,8vw,42px);
    line-height:1.02;
    max-width:290px;
  }
  .compare-section .compare-copy p{
    font-size:14px;
    max-width:100%;
  }
  .compare-single{
    width:100%;
    border-radius:18px;
    overflow:hidden;
  }
  .compare-single img{
    width:100%;
    height:220px;
    object-fit:cover;
    object-position:center;
  }
}

@media (max-width: 420px){
  .compare-section .compare-copy h2{
    max-width:260px;
  }
  .compare-single img{
    height:190px;
  }
}


/* ===== SEO local content: natural, readable and visually integrated ===== */
.seo-local{
  background:linear-gradient(180deg,#f7f1e8 0%,#efe6d8 100%);
}
.seo-copy-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.seo-copy-card{
  padding:24px 24px 26px;
  border:1px solid rgba(171,126,47,.18);
  border-radius:18px;
  background:rgba(255,255,255,.48);
}
.seo-copy-card h3{
  font-size:19px;
  font-weight:600;
  color:#2b2925;
  margin-bottom:8px;
}
.seo-copy-card p{
  color:#686158;
  font-size:14px;
  line-height:1.72;
}
.seo-faq{
  max-width:900px;
  margin:38px auto 0;
}
.seo-faq>h3{
  text-align:center;
  font-size:22px;
  font-weight:600;
  margin-bottom:18px;
}
.seo-faq details{
  border-top:1px solid rgba(171,126,47,.22);
}
.seo-faq details:last-child{
  border-bottom:1px solid rgba(171,126,47,.22);
}
.seo-faq summary{
  cursor:pointer;
  list-style:none;
  position:relative;
  padding:17px 34px 17px 0;
  font-size:15px;
  font-weight:600;
  color:#302c27;
}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:14px;
  color:#9a6e20;
  font-size:22px;
  font-weight:400;
}
.seo-faq details[open] summary::after{content:"–"}
.seo-faq details p{
  padding:0 34px 18px 0;
  color:#686158;
  font-size:14px;
}
@media(max-width:760px){
  .seo-copy-grid{
    grid-template-columns:1fr;
  }
  .seo-copy-card{
    padding:20px 18px 22px;
  }
  .seo-faq{
    margin-top:30px;
  }
}


/* ===== v12: final CTA photo + Ag Engrenagem credit ===== */
.final{
  background:linear-gradient(135deg,#d9ccb9,#cdbb9f);
  text-align:left;
}
.final-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}
.final-media{
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(81,59,28,.15);
  border:1px solid rgba(151,111,42,.18);
}
.final-media img{
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center 42%;
}
.final-inner{
  max-width:620px;
  margin:0;
  text-align:left;
}
.final-inner .btn-row{
  justify-content:flex-start;
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.footer-credit{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#a9a39a;
  transition:color .2s ease;
}
.footer-credit:hover{
  color:#d2ad5c;
}
.footer-credit .social-svg{
  flex:0 0 auto;
}

@media(max-width:900px){
  .final-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .final-media{
    order:1;
  }
  .final-inner{
    order:2;
    max-width:720px;
  }
  .final-media img{
    height:360px;
  }
}

@media(max-width:760px){
  .final{
    padding:70px 0;
  }
  .final-layout{
    gap:22px;
  }
  .final-media{
    border-radius:18px;
  }
  .final-media img{
    height:250px;
    object-position:center 38%;
  }
  .final-inner{
    text-align:center;
  }
  .final-inner .btn-row{
    justify-content:center;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
}

@media(max-width:420px){
  .final-media img{
    height:220px;
  }
  .footer-credit{
    align-items:flex-start;
  }
}


/* ===== v13 PageSpeed / Lighthouse refinements ===== */
/* Hero acima da dobra precisa ser renderizado imediatamente; demais reveals continuam iguais. */
.hero-copy,.hero-photo{opacity:1!important;transform:none!important}
.hero-photo picture,.hero-photo picture img{display:block;width:100%;height:100%}

/* Contraste do rodapé: mesma identidade, maior legibilidade para WCAG/Lighthouse. */
.footer-bottom{color:#bdb7ae}
.footer-credit{color:#c5beb5}
.footer-credit:hover{color:#e0bd68}

/* Áreas de toque >= 44px no mobile sem alterar tipografia/cores. */
@media(max-width:760px){
  .nav a,.footer-links a,.contact-link,.footer-credit{
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .footer-links{gap:0}
  .footer-links a{padding:8px 0}
  .contact-link{margin-bottom:2px}
}

/* Isola pintura de seções profundas para reduzir trabalho inicial do navegador. */
.projects,.compare-section,.final,.seo-local{
  content-visibility:auto;
  contain-intrinsic-size:1px 850px;
}
