:root{--ink:#242522;--muted:#706e66;--paper:#f7f4ed;--wood:#b8733f;--leaf:#78a167;--dark:#20221f;--line:#ded9cd}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;animation:pageIn .6s ease both}
a{color:inherit;text-decoration:none}
header{height:102px;padding:4px clamp(22px,8vw,130px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--dark);border-bottom:1px solid #474840;animation:dropIn .7s ease both}
.brand{display:flex;align-items:center}
.brand img{width:174px;height:92px;object-fit:contain;filter:drop-shadow(0 6px 10px #0006)}
nav{display:flex;gap:clamp(17px,2.4vw,34px);color:#f5f1e8;text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:700}
nav a{padding:12px 0}
nav a:before{content:'';display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;border:1px solid var(--leaf);transform:rotate(45deg)}
nav a:hover,.under:hover{color:#e1a36d}
.header-cta{color:#f7f3ea;border-bottom:1px solid #c38752;padding:8px 0;font-size:12px;font-weight:bold;transition:color .2s,transform .2s}
.header-cta:hover{color:#e1a36d;transform:translateX(3px)}
.hero{min-height:635px;padding:70px clamp(22px,8vw,130px);display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:40px;background:#eee9df}
.hero-copy{max-width:530px;animation:copyIn .85s .1s ease both}
.eyebrow{margin:0 0 22px;color:var(--leaf);font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:bold}
.hero h1,h2{margin:0;font:500 clamp(45px,5vw,76px)/.98 Georgia,serif;letter-spacing:-3px}
.hero em,h2 em{color:var(--wood);font-style:italic}
.lede{max-width:420px;color:#66645e;font-size:16px;line-height:1.7;margin:27px 0 30px}
.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.button{display:inline-block;padding:15px 21px;font-size:12px;font-weight:bold;transition:transform .22s,box-shadow .22s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #25252224}
.dark{background:var(--dark);color:#fff}
.light{background:#e2aa73}
.under{display:inline-block;border-bottom:1px solid;padding-bottom:4px;font-size:12px;font-weight:bold}
.proof{margin-top:65px;color:#63745a;font:italic 13px Georgia,serif}
.hero-visual{height:min(470px,50vw);min-height:340px;position:relative;overflow:hidden;animation:visualIn 1s .15s ease both}
.hero-visual>img{width:100%;height:100%;object-fit:cover;animation:photoFloat 7s ease-in-out infinite;transition:filter .3s}
.hero-symbol{position:absolute;right:22px;top:22px;width:196px;height:98px;z-index:2;border:1px solid var(--wood);background:#20221f url('assets/hilario-brand.png') no-repeat center top/228px auto;box-shadow:0 12px 26px #12131066;animation:symbolFloat 7s ease-in-out infinite}
.hero-symbol:after{content:'HILÁRIO';position:absolute;right:10px;bottom:7px;color:#e2a066;font:700 8px Arial,sans-serif;letter-spacing:2px}
.caption{position:absolute;bottom:10px;right:4%;color:#fff;text-shadow:0 1px 4px #000;font-size:10px;letter-spacing:1.5px}
.trust{padding:28px clamp(22px,8vw,130px);background:var(--dark);color:#f3f0e7;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.trust>div{display:flex;align-items:center;gap:13px;color:#cf9863;animation:riseIn .65s both}
.trust>div:nth-child(2){animation-delay:.08s}
.trust>div:nth-child(3){animation-delay:.16s}
.trust>div:nth-child(4){animation-delay:.24s}
.trust span{color:#fff}
.trust b,.trust small{display:block}
.trust b{font:500 14px Georgia,serif}
.trust small{color:#aaa99f;font-size:10px;margin-top:5px}
.section{padding:115px clamp(22px,8vw,130px);scroll-margin-top:102px}
.heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:58px}
.heading>p{max-width:315px;color:var(--muted);font-size:14px;line-height:1.75;margin:0 2% 4px 0}
.heading h2,h2{font-size:clamp(40px,4.5vw,64px)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards article{padding:25px 26px 28px;min-height:310px;background:#e8e2d5;animation:riseIn .7s both;transition:transform .25s,background .25s,box-shadow .25s}
.cards article:nth-child(2){animation-delay:.12s}
.cards article:nth-child(3){animation-delay:.24s}
.cards article:hover{transform:translateY(-7px);background:#ded6c6;box-shadow:0 14px 30px #25252212}
.card-art{height:90px;margin:-25px -26px 24px;padding:14px 16px;text-align:right;color:#fff;font:12px Georgia,serif}
.wood{background:#bd9b70}
.green{background:#7b9b70}
.gold{background:#c49b61}
.cards label,.contact-card label{color:var(--wood);text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:bold}
.cards h3{font:500 25px Georgia,serif;margin:13px 0 10px}
.cards p{color:var(--muted);line-height:1.6;font-size:13px;max-width:280px}
.cards a{margin-top:16px;display:inline-block;border-bottom:1px solid;padding-bottom:3px;font-size:11px;font-weight:bold}
.company{display:grid;grid-template-columns:1fr 1fr;min-height:590px;background:#e6e1d6;scroll-margin-top:102px}
.company-image{min-height:520px;background:linear-gradient(135deg,#6e4831aa,#b8844e66),url('assets/facility-wide.png') center/cover;position:relative;animation:visualIn .9s ease both}
.company-image>span{position:absolute;right:0;bottom:60px;background:var(--dark);color:#dfa972;padding:22px 30px;font:italic 43px Georgia,serif}
.company-image small{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;line-height:1.5;color:#f5f1e7}
.company-copy{padding:90px clamp(30px,7vw,110px);align-self:center;animation:copyIn .85s .15s ease both}
.company-copy>p:not(.eyebrow),.contact>div>p:not(.eyebrow){max-width:400px;color:#67655e;line-height:1.75;font-size:14px;margin:27px 0}
.company-copy ul{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:13px;font-size:12px;font-weight:bold}
.steps{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.steps>div{border-right:1px solid var(--line);padding:30px 35px 0 0;margin-right:35px;animation:riseIn .7s both}
.steps>div:nth-child(2){animation-delay:.12s}
.steps>div:nth-child(3){animation-delay:.24s}
.steps>div:last-child{border:0}
.steps i{color:var(--wood);font:italic 16px Georgia,serif}
.steps h3{font:500 28px Georgia,serif;margin:20px 0 10px}
.steps p{color:var(--muted);font-size:13px;line-height:1.65;max-width:250px}
.gallery{padding:100px clamp(22px,8vw,130px);background:#242622;color:#f5f1e7;display:grid;grid-template-columns:.72fr 1.28fr;grid-template-rows:330px 160px;gap:18px;scroll-margin-top:102px}
.gallery-intro{grid-row:1/span 2;align-self:center;padding-right:35px;animation:copyIn .8s ease both}
.gallery-intro h2{margin:0 0 24px}
.gallery-intro h2 em{color:#dfa972}
.gallery-intro p:last-child{max-width:290px;color:#aaa99f;font-size:13px;line-height:1.7}
.gallery>img,.gallery-small img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s}
.gallery>img:hover,.gallery-small img:hover{transform:scale(1.035);filter:saturate(1.1)}
.gallery-small{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact{background:var(--dark);color:#f5f2e9;padding:90px clamp(22px,8vw,130px);display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;scroll-margin-top:102px}
.contact .eyebrow{color:#b8c1ae}
.contact h2 em{color:#dfa972}
.contact>div>p:not(.eyebrow){color:#afb0a8}
.details{display:grid;gap:13px;color:#ddd9cf;font-size:12px}
.details a:hover{color:#dfa972}
.contact-card{background:#f5f1e8;color:var(--ink);padding:42px;max-width:390px;justify-self:end;width:100%;animation:cardPop .8s .15s ease both}
.contact-card h3{font:500 31px/1.05 Georgia,serif;margin:20px 0 27px}
.contact-card small{display:block;color:#76736b;margin-top:17px;font-size:10px}
footer{padding:20px clamp(22px,8vw,130px);background:#171815;color:#aaa99f;display:flex;align-items:center;justify-content:space-between;font-size:10px}
footer .brand img{height:76px;width:128px}
footer i{font:italic 14px Georgia,serif}
@keyframes pageIn{from{opacity:0}
to{opacity:1}
}
@keyframes dropIn{from{opacity:0;transform:translateY(-14px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes copyIn{from{opacity:0;transform:translateX(-20px)}
to{opacity:1;transform:translateX(0)}
}
@keyframes visualIn{from{opacity:0;transform:translateX(20px) scale(.98)}
to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes cardPop{from{opacity:0;transform:translateY(22px) scale(.98)}
to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes photoFloat{0%,100%{transform:scale(1)}
50%{transform:scale(1.012)}
}
@keyframes symbolFloat{0%,100%{transform:translateY(0)}
50%{transform:translateY(-5px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}
}
@media(max-width:850px){header{height:86px}
header nav,.header-cta{display:none}
.brand img{height:78px;width:145px}
.hero{grid-template-columns:1fr;padding-top:60px}
.hero-visual{height:320px;min-height:0;order:-1}
.hero-copy{margin-top:-20px}
.hero-symbol{width:164px;height:83px;right:16px;top:16px;background-size:192px auto}
.proof{margin-top:38px}
.trust{grid-template-columns:repeat(2,1fr)}
.heading{align-items:start;flex-direction:column}
.cards{grid-template-columns:1fr}
.cards article{min-height:0}
.company,.contact{grid-template-columns:1fr}
.company-image{min-height:360px}
.company-copy{padding:75px 24px}
.contact-card{justify-self:stretch;max-width:none}
.steps{grid-template-columns:1fr}
.steps>div{border-right:0;border-bottom:1px solid var(--line);padding:25px 0;margin:0}
.gallery{grid-template-columns:1fr;grid-template-rows:auto 280px 150px;padding:78px 24px}
.gallery-intro{grid-row:auto;padding:0}
footer{flex-wrap:wrap;gap:20px}
}
@media(max-width:480px){header{height:76px}
.brand img{height:68px;width:126px}
.hero h1{font-size:48px}
.hero{padding-left:20px;padding-right:20px}
.hero-visual{height:240px}
.hero-symbol{width:132px;height:69px;right:12px;top:12px;background-size:156px auto}
.hero-symbol:after{display:none}
.trust{padding:25px 20px;gap:20px}
.trust>div{font-size:12px}
.trust b{font-size:12px}
.trust small{font-size:9px}
.section{padding:78px 20px}
.contact{padding:75px 20px;gap:45px}
.contact-card{padding:28px}
footer i{width:100%;order:3}
}
.brand img{mix-blend-mode:screen}
.hero-symbol{width:230px;height:138px;right:18px;top:10px;border:0;background-color:transparent;background-size:260px auto;box-shadow:none;mix-blend-mode:screen}
.hero-symbol:after{display:none}
@media(max-width:850px){.hero-symbol{width:190px;height:115px;background-size:215px auto}}
@media(max-width:480px){.hero-symbol{width:150px;height:92px;background-size:172px auto}}

/* Direção natural: floresta, madeira e movimento de crescimento. */
:root{--forest:#193c31;--moss:#47754e;--leaf-light:#b9d39f;--sun:#e0a15e;--mist:#edf2e5}
body{background:var(--mist)}
header{background:rgba(19,48,39,.96);border-bottom-color:rgba(211,234,191,.22);backdrop-filter:blur(14px)}
nav a:before{border-color:var(--leaf-light)}
.header-cta{border-color:var(--leaf-light);color:#f8fff2}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 78% 12%,#d7ecb6 0 3%,transparent 24%),radial-gradient(circle at 14% 92%,#bed98e80 0 5%,transparent 30%),linear-gradient(125deg,#f6f4e9 10%,#e5eed9 52%,#d3e3bd 100%)}
.hero:before,.hero:after{content:'';position:absolute;z-index:-1;border-radius:999px;filter:blur(2px);pointer-events:none}
.hero:before{width:35rem;height:35rem;right:-15rem;bottom:-21rem;background:radial-gradient(circle,#6d9d63aa 0 28%,transparent 69%);animation:forestPulse 9s ease-in-out infinite}
.hero:after{width:16rem;height:16rem;left:36%;top:-9rem;border:1px solid #6e955f66;box-shadow:0 0 0 2.2rem #6e955f18,0 0 0 5rem #6e955f0d;animation:orbitLeaf 16s linear infinite}
.hero-copy{position:relative}.hero-copy .eyebrow{color:var(--moss)}
.hero h1{color:#183a2e}.hero h1 em{color:#9a5c2f}.lede{color:#465a4b}.proof{color:#315c3a}.dark{background:linear-gradient(135deg,#1d4937,#2c6846);border-radius:999px;box-shadow:0 12px 24px #1e54362b}.dark:hover{background:linear-gradient(135deg,#245b43,#397951);box-shadow:0 17px 30px #1e543642}.under{color:#285f42}.under:hover{color:#a2602f}
.hero-visual{border-radius:2.2rem 0 2.2rem 0;box-shadow:0 1.6rem 3.4rem #23402a3b}.hero-visual:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#173d2c42,transparent 42%,#cb8b4b2e);pointer-events:none}.caption{z-index:2}.hero-symbol{z-index:3;filter:drop-shadow(0 .75rem 1rem #13372562)}
.trust{background:linear-gradient(100deg,#173c2d,#315f3e 52%,#193c31);position:relative;overflow:hidden}.trust:after{content:'';position:absolute;width:28rem;height:28rem;right:-6rem;top:-22rem;border:1px solid #d6ebbd2e;border-radius:50%;box-shadow:0 0 0 3rem #d6ebbd0d,0 0 0 7rem #d6ebbd09}.trust>div{z-index:1}.trust>div{color:#cde4a9}.trust small{color:#d1e2c7}
.section{background:linear-gradient(180deg,#edf2e5,#f7f4ea)}.heading h2,.company-copy h2{color:#173b2c}.heading h2 em,.company-copy h2 em{color:#9b6131}
.cards article{border:1px solid #d2dfbf;background:linear-gradient(145deg,#f9f7ee,#e9f0df);border-radius:1.25rem 1.25rem 1.25rem .25rem;box-shadow:0 .8rem 2.3rem #31513912}.cards article:hover{transform:translateY(-.6rem) rotate(-.3deg);background:#fbfcf5;box-shadow:0 1.5rem 3rem #31513928}.card-art{border-radius:1rem 1rem 0 1rem}.wood{background:linear-gradient(135deg,#bb7a41,#e1ad6a)}.green{background:linear-gradient(135deg,#47774f,#82ab69)}.gold{background:linear-gradient(135deg,#7e5d39,#be955c)}.cards a{color:#276143}
.company{background:#e0ebd3}.company-image{clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.company-image>span{background:#1a4935;color:#e6b270;border-radius:0 1.2rem 0 0}.process{background:#f7f5ec}.steps>div{transition:transform .25s ease}.steps>div:hover{transform:translateY(-.35rem)}.steps i{color:#5c8e59}
.gallery{background:radial-gradient(circle at 10% 10%,#3b7049 0,transparent 24%),linear-gradient(135deg,#14372b,#1d4937 58%,#315e3e)}.gallery>img,.gallery-small{border-radius:1rem;box-shadow:0 1.2rem 2.4rem #051b132d}.gallery>img{position:relative}.gallery>img:before{content:'';position:absolute;inset:0;background:#000}
.contact{background:linear-gradient(135deg,#173e2d,#235a3a 57%,#163d2d)}.contact-card{border-radius:1.4rem 1.4rem 1.4rem .25rem;box-shadow:0 1.7rem 3.5rem #071e152e}.light{border-radius:999px;background:linear-gradient(135deg,#e1a05d,#f1c37e)}footer{background:#102d22}.brand img{filter:drop-shadow(0 .4rem .8rem #0006)}
@keyframes forestPulse{0%,100%{transform:scale(.94);opacity:.65}50%{transform:scale(1.08);opacity:1}}@keyframes orbitLeaf{to{transform:rotate(360deg)}}
@supports (animation-timeline:view()){.cards article,.steps>div,.gallery>img,.gallery-small{animation:revealUp linear both;animation-timeline:view();animation-range:entry 10% cover 32%}@keyframes revealUp{from{opacity:0;transform:translateY(2.3rem)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:850px){.hero-visual{border-radius:1.5rem 0 1.5rem 0}.company-image{clip-path:none}}
.hero-symbol{right:18px;top:10px;width:230px;height:138px;background-image:url('assets/hilario-emblem.png');background-size:contain;background-position:center;background-color:transparent;mix-blend-mode:normal;filter:drop-shadow(0 .75rem 1rem #13372552)}
.company-image>span{left:24px;right:auto;bottom:24px;max-width:calc(100% - 48px);border-radius:0 1.2rem 1.2rem 0}
@media(max-width:850px){.hero-symbol{width:190px;height:115px}.company-image>span{left:16px;bottom:16px;max-width:calc(100% - 32px)}}
@media(max-width:480px){.hero-symbol{width:150px;height:92px}.company-image>span{padding:16px 18px;font-size:32px}.company-image small{font-size:8px}}
.mobile-menu{display:none}
@media(max-width:850px){header{justify-content:space-between}.mobile-menu{display:block;position:relative;z-index:20}.mobile-menu summary{width:48px;height:48px;border:1px solid #b9d39f66;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;list-style:none;cursor:pointer;background:#ffffff0d}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:19px;height:2px;border-radius:3px;background:#e9f5dc;transition:transform .22s,opacity .22s}.mobile-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu[open] summary span:nth-child(2){opacity:0}.mobile-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu>div{position:absolute;right:0;top:58px;width:210px;padding:10px;background:#173c2df5;border:1px solid #b9d39f45;border-radius:16px 0 16px 16px;box-shadow:0 18px 38px #071d1475}.mobile-menu a{display:block;padding:14px 12px;border-bottom:1px solid #dbecc42b;color:#f6faef;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.mobile-menu a:last-child{border-bottom:0}.mobile-menu a:hover{color:#e9b171;background:#ffffff0d}header>nav,header>.header-cta{display:none}.brand img{width:145px;height:78px}}
@media(max-width:480px){.mobile-menu summary{width:44px;height:44px}.brand img{width:126px;height:68px}}
@media(max-width:850px){header{position:relative;z-index:100}.mobile-menu-toggle{width:48px;height:48px;border:1px solid #b9d39f66;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;background:#ffffff0d}.mobile-menu-toggle span{display:block;width:19px;height:2px;border-radius:3px;background:#e9f5dc;transition:transform .22s,opacity .22s}.mobile-menu.is-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu.is-open .mobile-menu-toggle span:nth-child(2){opacity:0}.mobile-menu.is-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-links{display:none!important;position:absolute!important;right:0;top:58px;z-index:200;width:210px;padding:10px;background:#173c2df5;border:1px solid #b9d39f45;border-radius:16px 0 16px 16px;box-shadow:0 18px 38px #071d1475}.mobile-menu.is-open .mobile-menu-links{display:block!important}.mobile-menu-links a{display:block;padding:14px 12px;border-bottom:1px solid #dbecc42b;color:#f6faef;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.mobile-menu-links a:last-child{border-bottom:0}.mobile-menu-links a:hover{color:#e9b171;background:#ffffff0d}}
