/* Precisão industrial: acabamento, movimento e interação. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--copper:#f77732;--hairline:rgba(255,255,255,.10)}
body{background:#0a0a0b;-webkit-font-smoothing:antialiased}
::selection{background:#f25c05;color:white}
h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}
.bg-mesh{background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px}
.fade-in{opacity:1;transform:none}
.motion-ready .fade-in{transition:opacity .85s var(--ease-out),transform .85s var(--ease-out)}
.motion-ready .fade-in:not(.visible){opacity:0;transform:translateY(26px)}
.motion-ready .fade-in:focus-within{opacity:1;transform:none}

/* A luz é o único cursor no desktop; o ponteiro padrão é o fallback. */
#laser-cursor{position:fixed;left:0;top:0;width:6px;height:6px;background:#fff8ed;border-radius:50%;pointer-events:none;z-index:10001;opacity:0;box-shadow:0 0 5px 2px #ffb075,0 0 15px 5px #f25c0599;transition:width .18s,height .18s,box-shadow .18s;will-change:transform}
#laser-cursor.laser-hover{width:9px;height:9px;box-shadow:0 0 5px 2px #fff1dd,0 0 22px 7px #f25c05aa}
#laser-cursor.laser-cutting{width:11px;height:11px;box-shadow:0 0 7px 3px #fff5e7,0 0 22px 8px #ff8a39cc,0 0 38px 13px #f25c0566}
@media(hover:hover) and (pointer:fine){html.laser-active,html.laser-active *{cursor:none!important}.laser-active #laser-cursor{opacity:1}}
@media(pointer:coarse),(hover:none){#laser-cursor{display:none}}
.laser-spark{position:fixed;z-index:10000;width:4px;height:4px;border-radius:50%;background:#fff1d6;box-shadow:0 0 5px 1px #ffae66,0 0 12px #f25c05;pointer-events:none;animation:laser-spark .6s ease-out forwards}
@keyframes laser-spark{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}65%{opacity:.8}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.1)}}

/* Navegação: vidro escuro, indicação da seção e progresso discreto. */
#navbar{background:rgba(9,10,11,.68);border-bottom-color:rgba(255,255,255,.07);backdrop-filter:blur(18px);transition:background .35s,box-shadow .35s}
#navbar.nav-scrolled{background:rgba(10,10,11,.94);box-shadow:0 12px 36px #0003}
.original-desktop-nav>a{position:relative;font-size:13px;letter-spacing:.005em}
.original-desktop-nav>a:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#f77732;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.original-desktop-nav>a:is(:hover,:focus-visible,[aria-current])::after{transform:scaleX(1)}
.original-desktop-nav>a[aria-current]{color:#ff965d}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,#b43f05,#fa8a44);transform:scaleX(0);transform-origin:left;pointer-events:none}
.original-mobile-menu{background:rgba(15,15,17,.98);border-top:1px solid var(--hairline)}
.original-mobile-menu:not(.hidden){animation:menu-enter .25s var(--ease-out)}
.original-mobile-menu a{border-bottom:1px solid rgba(255,255,255,.05);padding-block:13px}
@keyframes menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Abertura: fotografia industrial, profundidade e uma única passada de corte. */
#inicio{min-height:max(720px,100svh);padding-block:150px 120px;isolation:isolate}
.hero-media{overflow:hidden;background:#0d0d0f}
.hero-image{opacity:.58;mix-blend-mode:luminosity;object-position:center 45%;transform:translate3d(0,var(--hero-drift,0px),0) scale(1.06);filter:contrast(1.06);will-change:transform}
.hero-shade{background:linear-gradient(180deg,#08090be0 0%,#08090b60 35%,#08090b77 67%,#0a0a0b 100%),radial-gradient(ellipse at 50% 43%,#0a0a0b40 10%,#0a0a0bd9 80%)}
.hero-media::after{content:"";position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#a0a0a0 25%);mask-image:linear-gradient(transparent,#0007,transparent);pointer-events:none}
.hero-guide{position:absolute;top:150px;bottom:100px;width:14px;z-index:1;opacity:.3;border-block:1px solid #c6c6c6;background:repeating-linear-gradient(180deg,transparent 0 39px,#969696 39px 40px);pointer-events:none}
.hero-guide-left{left:26px}.hero-guide-right{right:26px}
.hero-content{width:100%;max-width:1280px;padding-inline:64px}
#inicio .hero-eyebrow{border-radius:2px;background:rgba(21,15,12,.75);border-color:#f7773255;padding:8px 14px;margin-bottom:28px;font-size:11px;box-shadow:inset 0 1px #ffffff08}
.hero-eyebrow .animate-pulse{animation:none;box-shadow:0 0 12px #f25c0599;width:5px;height:5px}
.hero-eyebrow>span:last-child{font-size:10px;letter-spacing:.18em;color:#ff9a60}
#inicio .hero-title{font-size:clamp(46px,5.9vw,82px);line-height:1.08;letter-spacing:-.055em;margin-bottom:24px}
.hero-title-top,.hero-cut,.hero-cut-text{display:block}
.hero-title-top{color:#f1f0ed}
.hero-cut{position:relative;width:fit-content;max-width:100%;margin:8px auto 0}
.hero-cut-text{color:#f77932;background:linear-gradient(110deg,#fa9b52 2%,#f25c05 56%,#ffad6b);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.09em}
.hero-cut::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;opacity:0;background:linear-gradient(transparent,#fff3df 28%,#fff 55%,transparent);box-shadow:0 0 12px #ffb16c,0 0 30px #f25c05;pointer-events:none}
#inicio .hero-description{max-width:680px;font-size:18px;line-height:1.8;color:#c0beba;margin-inline:auto;font-weight:400}
.hero-actions{margin-top:36px}
.hero-actions a{min-height:56px;display:flex;align-items:center;justify-content:center;padding:16px 30px;font-size:13px;letter-spacing:.01em}
.intro-ready .hero-eyebrow{animation:enter-up .7s var(--ease-out) both}
.intro-ready .hero-title-top{animation:enter-up .85s .1s var(--ease-out) both}
.intro-ready .hero-cut-text{animation:cut-reveal 1s .28s var(--ease-out) both}
.intro-ready .hero-cut::after{animation:cut-pass 1s .28s var(--ease-out) both}
.intro-ready .hero-description{animation:enter-up .85s .35s var(--ease-out) both}
.intro-ready .hero-actions{animation:enter-up .85s .48s var(--ease-out) both}
@keyframes enter-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cut-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes cut-pass{0%{left:0;opacity:0}12%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
#inicio .scroll-cue{bottom:28px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#96918b}
.scroll-cue::before{content:"";width:1px;height:36px;background:linear-gradient(transparent,#f77732);transform-origin:top;animation:cue-enter 1.2s .7s var(--ease-out) both}
.scroll-cue svg{width:16px;height:16px;color:#aa9787}
@keyframes cue-enter{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* A superfície e os contornos respondem à aproximação do laser. */
.hero-actions a,.architecture-cta,.original-desktop-nav>a:last-child{position:relative;isolation:isolate;overflow:hidden;border-radius:2px;transition:transform .3s var(--ease-out),background .3s,box-shadow .3s,border-color .3s;box-shadow:0 5px 20px #0003}
.hero-actions a:first-child,.architecture-cta,.original-desktop-nav>a:last-child{background:linear-gradient(125deg,#f97930,#ed5507);border:1px solid #ffb17144;color:#fff}
.hero-actions a::before,.architecture-cta::before,.original-desktop-nav>a:last-child::before{content:"";position:absolute;inset:-50% -70%;background:linear-gradient(110deg,transparent 42%,#fff2 50%,transparent 58%);transform:translateX(-70%);transition:transform .65s var(--ease-out);pointer-events:none}
.hero-actions a:hover::before,.architecture-cta:hover::before,.original-desktop-nav>a:last-child:hover::before{transform:translateX(70%)}
.hero-actions a:is(:hover,:focus-visible),.architecture-cta:is(:hover,:focus-visible),.original-desktop-nav>a:last-child:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 25px #f25c0526;border-color:#ff9f6b88}
.hero-actions a:last-child{background:#101011a6;border:1px solid #a4a09a66;backdrop-filter:blur(6px)}
.hero-actions a:active,.architecture-cta:active{transform:translateY(0)}
.architecture-cta svg{transition:transform .25s}.architecture-cta:hover svg{transform:translateX(4px)}

/* Fotografia com moldura técnica; mantém a imagem industrial original. */
#sobre{padding-block:110px 120px}
#sobre h2,#servicos h2{font-size:11px;letter-spacing:.22em;color:#f89255}
#sobre h3{font-size:clamp(30px,3.1vw,44px);line-height:1.17;letter-spacing:-.04em;margin-top:16px}
#sobre .space-y-6{line-height:1.85;font-size:15px;color:#adadb2}
.industrial-photo-frame{position:relative;overflow:hidden;border:1px solid #5f4a3c;box-shadow:0 25px 70px #0005}
.industrial-photo-frame::after{content:"";position:absolute;inset:12px;border:1px solid #ffffff18;pointer-events:none;z-index:11}
.industrial-photo-frame img{aspect-ratio:1.4;object-fit:cover;border:0;filter:grayscale(.35) contrast(1.05);transition:transform 1.2s var(--ease-out),filter .8s}
.industrial-photo:is(:hover,:focus-within) img{transform:scale(1.035);filter:grayscale(0) contrast(1.05)}
.industrial-photo>.absolute:last-child{background:linear-gradient(135deg,#1c1a18,#101011);border-color:#4c3b2e;border-left:2px solid #f77732;box-shadow:0 14px 40px #0007}

/* Os quatro serviços continuam na mesma posição e com os mesmos destinos. */
#servicos{padding-block:105px 115px;background:radial-gradient(ellipse at 50% 70%,#bc51080c,transparent 65%),#0a0a0b}
#servicos>div:first-child{opacity:.23}
#servicos h3{font-size:clamp(32px,3.5vw,46px);letter-spacing:-.04em;line-height:1.15;margin-top:14px}
.service-choice{position:relative;width:100%;padding:0 10px 26px;outline-offset:6px;--service-order:0}
.service-choice:nth-child(2){--service-order:1}.service-choice:nth-child(3){--service-order:2}.service-choice:nth-child(4){--service-order:3}
.motion-ready .service-choice{transition-delay:calc(var(--service-order)*90ms)}
.service-index{font:10px/1.4 ui-monospace,monospace;letter-spacing:.14em;color:#716960;margin-bottom:20px;transition:color .3s}
.hex-border{position:relative;width:216px;height:244px;clip-path:none;background:none;padding:2px;transition:transform .5s var(--ease-out),filter .5s}
.hex-border::before{content:"";position:absolute;inset:0;background:#5c4331;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.hex-shape{position:relative;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:radial-gradient(ellipse at 50% 25%,#292522,#111112 75%);border:0}
.hex-shape>div{background:linear-gradient(0deg,#b9501220,transparent)}
.hex-shape>svg{color:#eb884f;width:38px;height:38px;margin:0;transition:color .3s,transform .5s var(--ease-out)}
.service-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.84) contrast(1.04);transform:scale(1.015);transition:transform .85s var(--ease-out),filter .55s}
.service-corte .service-photo{object-position:50% 60%}
.service-dobra .service-photo{object-position:48% 50%}
.service-solda .service-photo{object-position:50% 65%}
.has-photo .hex-shape::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d0b0910 25%,transparent 50%,#120d0750);pointer-events:none;transition:opacity .5s}
.service-choice:is(:hover,:focus-visible) .service-photo{filter:saturate(1) brightness(1.02) contrast(1.03);transform:scale(1.065)}
.service-choice:is(:hover,:focus-visible) .hex-shape::after{opacity:.45}
.hex-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hex-trace path{stroke:#ffab70;stroke-width:1.3;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .85s var(--ease-out);filter:drop-shadow(0 0 3px #fa8437)}
.service-choice h4{font-size:18px;letter-spacing:-.025em;margin-top:10px}
.service-choice-note{font-size:12px;color:#aaa29a;margin-top:9px;transition:color .3s}
.service-choice::after{content:"";position:absolute;width:32px;height:1px;background:#b06f48;bottom:0;left:calc(50% - 16px);transform:scaleX(.4);opacity:.5;transition:transform .35s,opacity .35s}
.service-choice:is(:hover,:focus-visible) .hex-border{transform:translateY(-7px);filter:drop-shadow(0 12px 20px #d55a091a)}
.service-choice:is(:hover,:focus-visible) .hex-trace path{stroke-dashoffset:0}
.service-choice:is(:hover,:focus-visible) .hex-shape>svg{color:#ffb584;transform:scale(1.08)}
.service-choice:is(:hover,:focus-visible) .service-index{color:#f89255}
.service-choice:is(:hover,:focus-visible)::after{transform:scaleX(1);opacity:1}

/* Leitura mais confortável e hierarquia coerente nas seções existentes. */
#estrutura{background:linear-gradient(145deg,#121314,#0e0e10);padding-block:110px}
#estrutura>.max-w-7xl>.grid>.fade-in{position:relative;background:linear-gradient(140deg,#19191a,#0d0d0f 70%);border-color:#ffffff16;box-shadow:0 15px 40px #0002}
#estrutura>.max-w-7xl>.grid>.fade-in::before{content:"";position:absolute;left:40px;right:40px;top:-1px;height:1px;background:linear-gradient(90deg,#f7773290,transparent 85%);transform:scaleX(.35);transform-origin:left;transition:transform .6s var(--ease-out)}
#estrutura>.max-w-7xl>.grid>.fade-in:hover::before{transform:scaleX(1)}
#estrutura h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}
#estrutura p,#estrutura li{line-height:1.85}
#estrutura .text-zinc-400{color:#b1b1b6}
#estrutura .grid-cols-2>.p-4{background:linear-gradient(135deg,#ffffff05,transparent);border-color:#ffffff0e;transition:border-color .3s,background .3s}
#estrutura .grid-cols-2>.p-4:hover{border-color:#f7773240;background:#f7773205}
footer#contato{border-top-width:1px;border-top-color:#a9572b;background:radial-gradient(ellipse at 20% 0,#f7773208,transparent 60%),#09090a}
footer .text-zinc-500{color:#96969c}footer a{transition:color .25s}footer a:hover{color:#ffab79}
.architecture-photo{position:relative}.architecture-photo img{border-color:#71513d;box-shadow:0 24px 60px #0004;transition:filter .7s}
.architecture-copy{transition-delay:100ms}.architecture-title{letter-spacing:-.045em}
.whatsapp-float{box-shadow:0 8px 30px #0005,inset 0 1px #ffffff40}
.whatsapp-float.context-quote-visible{opacity:0;visibility:hidden;pointer-events:none}

/* Divulgação progressiva: ícone, detalhe curto com foto e depois orçamento. */
.service-trigger .hex-border{width:160px;height:180px}
.service-trigger .service-choice-note{display:flex;align-items:center;justify-content:center;gap:9px}
.service-plus{font-size:19px;font-weight:300;line-height:1;transition:transform .3s var(--ease-out)}
.service-trigger[aria-expanded="true"] .service-plus{transform:rotate(45deg)}
.service-trigger[aria-expanded="true"] .hex-trace path{stroke-dashoffset:0}
.service-trigger[aria-expanded="true"] h4,.service-trigger[aria-expanded="true"] .service-choice-note{color:#ffab79}
.service-detail{margin-top:44px;border:1px solid #60422e;background:linear-gradient(135deg,#1b1917,#101011 75%);box-shadow:0 18px 50px #0003;scroll-margin-top:104px}
.service-detail[hidden]{display:none}
.service-detail.is-open{animation:detail-enter .45s var(--ease-out) both}
.service-detail-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px;border-bottom:1px solid #ffffff10}
.service-detail-bar>span{font:10px/1.5 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#bc9578}
.service-detail-close{display:none;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:80px;color:#bcb6b1;background:none;border:0;font-size:12px;transition:color .2s}
.service-disclosure-ready .service-detail-close{display:flex}
.service-detail-close:hover{color:#ffb080}.service-detail-close>span{font-size:23px;font-weight:300;line-height:1}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.service-detail-media{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;background:radial-gradient(ellipse at center,#292727,#131314);margin:0;min-width:0}
.service-detail-media img{display:block;width:100%;height:340px;object-fit:contain}
.service-detail-media figcaption{color:#99928b;font-size:11px;margin-top:12px;text-align:center;line-height:1.6}
.service-detail-arquitetura .service-detail-media img{object-fit:cover;object-position:70% 50%;height:300px}
.service-detail-copy{padding:36px 40px;align-self:center;border-left:1px solid #ffffff0b;min-width:0}
.service-detail-copy h4{font-family:Montserrat,Arial,sans-serif;font-size:clamp(28px,2.5vw,34px);line-height:1.18;font-weight:800;letter-spacing:-.04em;color:#f1f0ed;margin:0 0 18px}
.service-description{font-size:16px;line-height:1.8;color:#c1bcb7;margin:0;max-width:540px}
.service-specs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 0;padding-top:20px;border-top:1px solid #ffffff12}
.service-specs dt{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#a49b93;margin-bottom:7px}
.service-specs dd{font-size:14px;line-height:1.65;color:#f0d5c1;margin:0}
.service-quote{margin-top:26px;font-size:13px;min-height:50px;gap:20px}
.service-page-link{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;color:#c1a58f;font-size:12px;margin-top:10px}
.service-page-link:hover{color:#ffab79}.service-page-link svg{width:15px;height:15px}
@keyframes detail-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:850px){.service-detail-layout{grid-template-columns:1fr}.service-detail-copy{border-left:0;border-top:1px solid #ffffff0b;padding:28px}.service-detail-media{padding:20px}.service-detail-media img{height:270px}.service-detail-dobra .service-detail-media img{height:auto;max-height:270px}.service-detail-arquitetura .service-detail-media img{height:250px}.service-trigger .hex-border{width:144px;height:162px}.service-detail{margin-top:32px}}
@media(max-width:640px){.service-trigger .hex-border{width:min(128px,100%);height:auto;aspect-ratio:8/9}.service-detail-bar{padding:8px 16px}.service-detail-bar>span{font-size:9px}.service-detail-copy{padding:25px 22px}.service-description{font-size:16px;line-height:1.75}.service-detail-media img{height:245px}.service-detail-arquitetura .service-detail-media img{height:210px}.service-quote{width:100%;font-size:12px;padding-inline:15px}.service-specs{gap:16px}.service-specs dd{font-size:13px}.service-detail{scroll-margin-top:96px}}

@media(min-width:1500px){.hero-content{max-width:1440px}#inicio .hero-title{font-size:88px}}
@media(max-width:1099px){.hero-content{padding-inline:40px}.hero-guide-left{left:14px}.hero-guide-right{right:14px}.hex-border{width:184px;height:208px}}
@media(max-width:850px){#inicio{min-height:850px}.hero-content{padding-inline:28px}.hero-guide{display:none}.hero-image{will-change:auto}.hero-eyebrow>span:last-child{letter-spacing:.12em}.hero-actions{gap:12px}#sobre,#servicos,#estrutura{padding-block:80px}.industrial-photo-frame img{aspect-ratio:1.5}.architecture-copy{transition-delay:0ms}}
@media(max-width:640px){
  #inicio{min-height:max(740px,100svh);padding-top:138px;padding-bottom:110px}
  .hero-content{padding-inline:20px}
  #inicio .hero-title{font-size:clamp(32px,9.75vw,52px);line-height:1.13;letter-spacing:-.05em;margin-bottom:24px}
  .hero-title-top{white-space:nowrap}.hero-cut{margin-top:8px}
  #inicio .hero-description{font-size:18px;line-height:1.8;max-width:430px}
  #inicio .hero-eyebrow{margin-bottom:24px;padding:8px 10px;gap:8px}.hero-eyebrow>span:last-child{font-size:10.5px;letter-spacing:.08em}
  .hero-actions{margin-top:28px;max-width:360px;margin-inline:auto}.hero-actions a{font-size:14px;min-height:54px}
  .hero-image{object-position:60% center;opacity:.48}.hero-shade{background:linear-gradient(180deg,#08090bc9,#08090b85 40%,#08090b90 70%,#0a0a0b)}
  #inicio .scroll-cue{bottom:24px}.scroll-cue::before{height:22px}
  #sobre h3{font-size:32px}#sobre .space-y-6{font-size:16px}
  #servicos .mb-16{margin-bottom:40px}#servicos .grid{gap:40px 16px}
  .hex-border{width:min(136px,100%);height:auto;aspect-ratio:108/122}.service-choice{padding-inline:0;padding-bottom:20px}.service-index{margin-bottom:14px}
  .service-choice h4{font-size:18px}.service-choice-note{font-size:12px}.hex-shape>svg{width:32px;height:32px}
  #estrutura h3{font-size:22px}#estrutura>.max-w-7xl>.grid>.fade-in::before{left:26px;right:26px}
}
@media(hover:none){.hex-trace path{stroke-dashoffset:0;stroke:#ad6a40;stroke-width:.6}.service-choice:active .hex-border{transform:translateY(-3px)}.motion-ready .service-choice{transition-delay:0ms}}
@media(hover:none){.service-photo{filter:saturate(.85) brightness(.94) contrast(1.03)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}
  .motion-ready .fade-in:not(.visible){opacity:1;transform:none}.hero-cut-text{clip-path:none!important}.hero-cut::after{display:none}.hero-image{transform:none!important}.laser-spark{display:none}
}
