@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#14202e;--blue:#075ee9;--cyan:#00b9db;--paper:#f6f7f8;--line:#dce1e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #00a9dc;outline-offset:5px}img{display:block;max-width:100%}.skip{position:fixed;left:20px;top:-100px;padding:10px;background:white;z-index:50}.skip:focus{top:10px}.utility{padding:9px 4%;display:flex;justify-content:space-between;background:var(--paper);font-size:12px;border-bottom:1px solid var(--line)}header{position:sticky;top:0;z-index:20;background:#fffffff5;backdrop-filter:blur(12px);display:flex;align-items:center;gap:35px;padding:18px 4%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;line-height:1.15;font-weight:800;letter-spacing:-.5px}.brand img{width:45px;height:45px;border-radius:50%}.brand small{display:block;font-size:10px;letter-spacing:3.2px;margin-top:4px;font-weight:600}nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid var(--ink);border-radius:100px;padding:13px 24px;font-size:14px;font-weight:700;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:white}.white{background:white;color:var(--ink);border-color:white}.white:hover{background:#e5f3ff;color:var(--ink)}.header-cta{padding:10px 19px}.hero{margin:20px 20px 0;border-radius:22px;overflow:hidden;position:relative;min-height:650px;display:flex;align-items:center;background:#0a2639;color:white}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,23,38,.95),rgba(5,23,38,.7) 43%,rgba(5,23,38,.08))}.hero-content{position:relative;z-index:1;padding:65px 5% 100px;max-width:760px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;margin:0 0 24px}.hero h1{font-size:clamp(40px,4.6vw,70px);line-height:1.07;font-weight:500;letter-spacing:-3px;margin:0 0 25px}.hero-content>p:not(.eyebrow){max-width:480px;color:#e3e8ed;margin:0 0 30px}.hero-bottom{position:absolute;bottom:24px;left:5%;right:5%;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px;border-top:1px solid #ffffff40;padding-top:18px}.section{padding:95px 5.5%;scroll-margin-top:0}h2{font-size:clamp(32px,3.6vw,53px);line-height:1.12;letter-spacing:-2px;font-weight:500;margin:0}h3{font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.7px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-title>p{color:#58636e;margin:0;font-size:15px}.services .eyebrow{color:var(--blue)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}.service{background:var(--paper);border-radius:20px;padding:26px 24px;min-width:0;transition:background .2s}.service:hover{background:#edf3fa}.number{font-size:11px;font-weight:700;letter-spacing:1px;color:#637080}.service svg{width:80px;height:64px;fill:none;stroke:var(--blue);stroke-width:1.5;margin:34px 0}.service h3{min-height:58px;margin:0 0 18px}.service p{font-size:14px;color:#56616c;min-height:92px;margin:0 0 20px}.service details{border-top:1px solid #d5dce3;padding-top:18px;font-size:14px}.service summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-weight:700}.service summary::-webkit-details-marker{display:none}.service summary span{font-size:22px;line-height:1;transition:transform .2s}.service details[open] summary span{transform:rotate(45deg)}.service ul{padding-left:18px;color:#526173;font-size:14px}.service li+li{margin-top:8px}.service-note{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:30px;font-size:14px}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:6px}.business{background:#eef1f4;display:grid;grid-template-columns:.95fr 1.05fr;gap:50px}.business-copy{align-self:center}.business-copy>p:not(.eyebrow){max-width:440px;color:#596570;margin:25px 0 30px}.business-visual{border-radius:22px;overflow:hidden;position:relative;min-height:450px}.business-visual img{width:100%;height:100%;object-fit:cover;position:absolute}.business-visual span{position:absolute;bottom:0;padding:35px 25px 25px;width:100%;background:linear-gradient(transparent,#071b30b5);color:white;font-size:11px;letter-spacing:1.6px}.business-items{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid #ced5dc;padding-top:35px}.business-items article>span{font-size:12px;color:var(--blue)}.business-items h3{font-size:21px}.business-items p{font-size:14px;max-width:350px;color:#586570}.about{display:grid;grid-template-columns:1fr 2fr;gap:30px}.about>div>p{max-width:650px;color:#596570;margin:28px 0}.values{display:flex;flex-wrap:wrap;gap:10px}.values span{font-size:12px;padding:9px 15px;border-radius:30px;border:1px solid var(--line)}.contact{background:#075ee9;color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border-radius:24px;margin:0 20px;padding-top:65px;padding-bottom:65px}.contact h2{margin-bottom:32px}.contact-info{display:flex;flex-direction:column;justify-content:center}.contact-info a{padding:18px 0;border-bottom:1px solid #ffffff40;font-size:19px;overflow-wrap:anywhere}.contact-info span{display:block;font-size:10px;letter-spacing:1.7px;opacity:.8;margin-bottom:8px}footer{padding:40px 5.5% 25px;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer p{font-size:13px;color:#626e79}footer>a:last-of-type{margin-left:auto;font-size:13px}footer>small{width:100%;font-size:11px;color:#75818a;border-top:1px solid var(--line);padding-top:20px}
@media(min-width:1600px){.section{padding-left:max(5.5%,calc((100vw - 1440px)/2));padding-right:max(5.5%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.header-cta{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.service p{min-height:50px}.hero{min-height:600px}.business{gap:30px}.about{grid-template-columns:1fr}.business-visual{min-height:420px}}
@media(max-width:650px){html{scroll-padding-top:120px}.utility{font-size:10px}header{flex-wrap:wrap;gap:16px;padding:12px 5%}.brand img{width:36px;height:36px}.brand{font-size:15px}nav{margin:0;width:100%;justify-content:space-between;gap:10px;font-size:12px}.hero{margin:10px 10px 0;border-radius:16px;min-height:600px}.hero-content{padding:55px 7% 110px}.hero h1{letter-spacing:-1.8px;font-size:43px}.hero:after{background:linear-gradient(90deg,#061d30eb,#061d3066)}.hero-bottom{font-size:9px;letter-spacing:0;gap:15px}.eyebrow{font-size:10px}.section{padding:58px 6%}.section-title{display:block}.section-title>p{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:14px}.service{padding:24px}.service svg{margin:24px 0}.service h3,.service p{min-height:0}.service h3 br{display:none}.service-note{display:block}.business{grid-template-columns:1fr}.business-visual{min-height:280px}.business-items{grid-template-columns:1fr;gap:12px}.business-items article{border-bottom:1px solid #d6dde2;padding-bottom:15px}.business-items h3{margin:10px 0}.business-items p{max-width:none}.contact{grid-template-columns:1fr;margin:0 10px;gap:25px;border-radius:16px}.contact-info a{font-size:17px}footer{gap:18px}footer p{width:100%;margin:0}footer>a:last-of-type{margin:0}h2{letter-spacing:-1.2px}.hero-content>p:not(.eyebrow){font-size:15px}}
/* Slides share one grid cell so the tallest content reserves space without jumps. */
.hero-carousel{display:grid;align-items:stretch}
.hero-carousel:after{display:none}
.hero-slide{grid-area:1/1;position:relative;display:flex;align-items:center;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#051726f2,#051726b3 43%,#05172614)}
.hero-title{font-size:clamp(40px,4.6vw,70px);line-height:1.07;font-weight:500;letter-spacing:-3px;margin:0 0 25px}
.hero-carousel .hero-content{padding-bottom:120px}
.hero-caption{display:block;max-width:420px;font-size:11px;line-height:1.5;color:#c6d4e3;margin-top:18px}
.equipment-slide .hero-photo{object-position:75% center}
.slide-controls{display:flex;align-items:center;gap:12px}
.slide-controls button{border:1px solid #ffffff66;background:#061d3055;color:white;width:40px;height:40px;border-radius:50%;cursor:pointer;font:inherit;display:grid;place-items:center}
.slide-controls button:hover{background:#ffffff30}.slide-controls button:focus-visible{outline:3px solid #00b9db;outline-offset:3px}
.slide-dots{display:flex;gap:2px}.slide-dots button{width:28px;height:40px;border:0;background:none;border-radius:4px}
.slide-dots button:before{content:'';height:5px;width:16px;border-radius:5px;background:#ffffff66}
.slide-dots button[aria-current]:before{background:white}.slide-count{font-size:11px;white-space:nowrap}
@media(min-width:901px) and (max-height:760px){.hero-title{font-size:clamp(38px,4vw,58px)}}
@media(min-width:651px) and (max-width:900px){.hero-title{font-size:clamp(42px,6vw,56px)}}
@media(max-width:650px){
  .hero-title{font-size:clamp(32px,8.5vw,43px);letter-spacing:-1.2px}
  .hero-slide:after{background:linear-gradient(90deg,#061d30ef,#061d3088)}
  .hero-carousel .hero-content{padding-bottom:155px}
  .hero-carousel .hero-bottom{gap:12px;flex-direction:column;align-items:flex-start}
  .slide-controls{gap:10px}.hero-caption{font-size:10px}
}
/* Viewport sections remain free to grow with text and expanded services. */
:root{--header-height:82px;--utility-height:0px}
html{scroll-padding-top:var(--header-height)}
html.header-is-hidden{scroll-padding-top:0}
header>*{min-width:0}nav{flex-wrap:wrap}.brand{flex-shrink:0}
.section>*{min-width:0}.button{max-width:100%;text-align:center}
.service-grid{align-items:start}.service{display:flex;flex-direction:column;align-self:start}
.service details{margin-top:0}.service h3,.service p{min-height:0}
@media(min-width:651px){.service p{min-height:6.5em}}
.hero-content{min-width:0}.hero-bottom{flex-wrap:wrap}
@media(min-width:901px){
  .section{min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));padding-top:clamp(36px,6vh,85px);padding-bottom:clamp(36px,6vh,85px)}
  .hero{min-height:calc(100vh - var(--header-height) - var(--utility-height) - 20px);min-height:calc(100svh - var(--header-height) - var(--utility-height) - 20px)}
  .hero-content{padding-top:clamp(30px,5vh,65px);padding-bottom:100px}
  .services{display:flex;flex-direction:column;justify-content:center}
  .section-title{margin-bottom:clamp(24px,4vh,42px)}
  .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .service{padding:clamp(18px,1.8vw,26px)}
  .service h3{font-size:clamp(19px,1.7vw,25px)}
  .service svg{margin:clamp(16px,3vh,34px) 0;flex-shrink:0}
  .service-note{margin-top:20px}
  .business{align-content:center;gap:clamp(24px,4vh,50px)}
  .business-visual{min-height:clamp(280px,42vh,480px)}
  .business-items{padding-top:24px;gap:30px}
  .business-items h3{margin:12px 0}.business-items p{margin-bottom:0}
  .about{grid-template-columns:1fr 2fr;align-content:center}
  .contact{align-items:center}
}
@media(min-width:901px) and (max-height:760px){
  .hero h1{font-size:clamp(38px,4vw,58px)}
  .hero-content .eyebrow{margin-bottom:16px}
  .section h2{font-size:clamp(32px,3.1vw,45px)}
  .business-copy>p:not(.eyebrow){margin:18px 0 22px}
}
@media(min-width:651px) and (max-width:900px){
  header{gap:20px;padding-inline:4%}nav{gap:16px}
  .section{padding:60px 5%}.section-title{gap:24px;align-items:start}
  .business,.contact{grid-template-columns:1fr;gap:32px}
  .business-visual{min-height:340px}.business-items{gap:22px}
  .hero{min-height:560px}.hero h1{font-size:clamp(42px,6vw,56px)}
}
/* Compact services on short desktops without fixed heights or clipped details. */
@media(min-width:901px) and (max-height:800px){
  .services{padding-top:24px;padding-bottom:24px}
  .services .section-title{margin-bottom:20px;gap:24px}
  .services .eyebrow{margin-bottom:12px}
  .services h2{font-size:clamp(30px,2.6vw,38px)}
  .services .service{padding:20px}
  .services .service svg{width:60px;height:48px;margin:14px 0}
  .services .service h3{font-size:clamp(19px,1.5vw,22px);margin-bottom:12px}
  .services .service p{margin-bottom:14px;line-height:1.5}
  .services .service details{padding-top:12px}
  .services .service summary{min-height:32px;align-items:center}
  .services .service-note{margin-top:16px;flex-wrap:wrap;gap:8px 24px}
  .services .service-note p{margin:0}
}
@media(min-width:901px) and (max-width:1100px){
  .services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  :root{--header-height:102px}
  .hero{min-height:calc(100svh - var(--header-height) - var(--utility-height) - 10px)}
  .hero h1{font-size:clamp(32px,8.5vw,43px);letter-spacing:-1.2px}
  .hero-content{padding-bottom:115px}
  nav a{padding:6px 0}.service summary{min-height:32px;align-items:center}
  .section{min-height:0}.contact-info a{font-size:clamp(14px,4vw,17px)}
  .business-visual{min-height:0;aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.pickup-section{background:#f0f4f8;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(40px,7vw,110px);position:relative;overflow:hidden;min-height:0!important;margin:24px 20px 0;border-radius:24px;padding:clamp(42px,6vw,78px) clamp(5%,6vw,8%) clamp(30px,4vw,52px)}
.pickup-copy{max-width:650px}.pickup-copy .eyebrow{color:var(--blue)}.pickup-copy h2{margin-bottom:25px}.pickup-copy h2 em{font-style:normal;color:var(--blue)}.pickup-copy>p{max-width:590px;color:#596570;font-size:15px;margin:0 0 13px}.pickup-button{margin-top:20px;background:var(--blue);color:white;border-color:var(--blue)}.pickup-button:hover{background:var(--ink);border-color:var(--ink)}.pickup-copy small{display:block;color:#677481;font-size:12px;margin-top:13px}
.pickup-process{position:relative;background:white;border:1px solid #dbe4ec;border-radius:24px;padding:26px clamp(22px,3vw,42px);box-shadow:0 18px 45px #18324d0d}.pickup-process article{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;position:relative;padding:20px 0}.pickup-process article+article{border-top:1px solid #e3e8ed}.pickup-number{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e8f3ff;color:var(--blue);font-size:13px;font-weight:800}.pickup-process h3{font-size:12px;letter-spacing:1.2px;color:var(--blue);margin:3px 0 7px}.pickup-process p{color:#5b6875;font-size:14px;line-height:1.55;margin:0;max-width:380px}.pickup-route{position:absolute;left:48px;top:48px;bottom:48px;border-left:1px dashed #9bc8f3;pointer-events:none}.pickup-route span{display:block;width:7px;height:7px;border-radius:50%;background:#20b9db;margin-left:-4px;margin-top:65px}.pickup-route span+span{margin-top:91px}
.pickup-reveal{opacity:1;transform:none}
.pickup-visual{grid-column:1/-1;position:relative;margin:4px 0 0;border-radius:22px;overflow:hidden;height:clamp(210px,24vw,330px);background:#092d55}.pickup-visual img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.pickup-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061d30bb 0%,transparent 56%);pointer-events:none}.pickup-visual figcaption{position:absolute;z-index:1;left:28px;bottom:24px;color:white;font-size:14px;font-weight:600;letter-spacing:.1px}
@media(max-width:900px){.pickup-section{grid-template-columns:1fr;gap:38px}.pickup-copy{max-width:700px}.pickup-process{max-width:700px}.pickup-section{min-height:0}.pickup-visual{grid-column:auto}}
@media(max-width:650px){.pickup-section{gap:30px;margin:12px 10px 0;border-radius:18px;padding:38px 7% 24px}.pickup-copy h2{font-size:clamp(31px,8vw,42px)}.pickup-copy>p{font-size:14px}.pickup-process{padding:16px 20px;border-radius:18px}.pickup-process article{grid-template-columns:46px 1fr;gap:14px;padding:17px 0}.pickup-number{width:40px;height:40px;font-size:11px}.pickup-route{left:40px;top:38px;bottom:38px}.pickup-route span{margin-top:59px}.pickup-route span+span{margin-top:78px}.pickup-process h3{font-size:11px}.pickup-process p{font-size:13px}.pickup-visual{height:175px;border-radius:18px}.pickup-visual figcaption{left:18px;right:18px;bottom:17px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.pickup-reveal{opacity:1;transform:none;transition:none}}
.business-items{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px) and (min-width:651px){.business-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(40px,8vw,120px);align-items:center;background:#06172e;color:white;margin:0 20px;border-radius:24px;padding-top:clamp(60px,8vw,105px);padding-bottom:clamp(60px,8vw,105px);overflow:hidden;position:relative}.about:before{content:'';position:absolute;top:0;left:0;right:26%;height:2px;background:linear-gradient(90deg,#00b9db,transparent)}.about-mark{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.about-mark:before{content:'';position:absolute;width:min(260px,80%);height:260px;border:2px solid #00a9d366;transform:rotate(-5deg)}.about-mark span{font-size:clamp(210px,24vw,360px);line-height:.7;font-weight:300;color:transparent;-webkit-text-stroke:2px #00a9d399;position:relative}.about-mark strong{position:relative;background:#25c5e6;color:#06172e;padding:13px 18px;font-size:12px;line-height:1.25;letter-spacing:1px;transform:rotate(-4deg);margin-top:-20px}.about-content{position:relative}.about .eyebrow{color:#20c5e6}.about h2{font-size:clamp(34px,4.2vw,60px);letter-spacing:-2.5px}.about h2 em{font-style:normal;color:#20c5e6}.about-content>p:not(.eyebrow){max-width:620px;color:#b3c1d0;margin:28px 0}.about-values{border-top:1px solid #ffffff24}.about-values article{display:grid;grid-template-columns:minmax(150px,.65fr) 1fr;gap:25px;padding:17px 0;border-bottom:1px solid #ffffff24;font-size:13px}.about-values strong{color:white}.about-values span{color:#92a5b8}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:32px}.about-mark{min-height:220px}.about-mark span{font-size:220px}.about-mark:before{height:190px;width:190px}}
@media(max-width:650px){.about{margin:0 10px;border-radius:18px;padding:52px 7%}.about-mark{min-height:180px}.about-mark span{font-size:175px}.about-mark:before{height:150px;width:150px}.about-mark strong{font-size:10px;padding:10px 13px}.about h2{font-size:clamp(32px,8vw,43px);letter-spacing:-1.4px}.about-content>p:not(.eyebrow){font-size:14px;margin:22px 0}.about-values article{grid-template-columns:1fr;gap:4px;padding:14px 0}.about-values span{font-size:13px}}
header{transition:transform 280ms ease}header.header-hidden{transform:translateY(-110%)}
.about-logo{object-fit:cover;object-position:center;border-radius:50%}
@media(min-width:901px) and (max-height:800px){
  .about{padding-top:32px;padding-bottom:32px}
}
.contact .button{gap:12px}.whatsapp-button-icon{display:grid;place-items:center;width:22px;height:22px}.whatsapp-button-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.about-highlight{border-left:3px solid #20c5e6;padding:16px 0 16px 20px;color:#ffffff!important;font-size:clamp(16px,1.45vw,20px);font-weight:600;line-height:1.45;margin-top:30px!important;max-width:620px!important}
@media(max-width:650px){.about-highlight{padding-left:15px;font-size:16px;margin-top:24px!important}}
.contact-info a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:14px}.contact-info .contact-icon{display:grid;place-items:center;width:30px;height:30px;opacity:.95}.contact-info .contact-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.contact-info .contact-icon circle[fill]{fill:currentColor}.contact-info .contact-label{display:block;font-size:10px;letter-spacing:1.7px;opacity:.8;margin-bottom:8px;font-weight:500}.contact-info a>span:not(.contact-icon){min-width:0}
.about-mark:before,.about-mark>span,.about-mark>strong{display:none}.about-logo{width:min(310px,78%);height:auto;max-height:310px;object-fit:contain;border-radius:50%;position:relative;box-shadow:0 0 0 1px #00a9d344,0 20px 50px #0000002e}
@media(max-width:900px){.about-logo{width:min(250px,60vw);max-height:250px}}
@media(max-width:650px){.about-logo{width:min(190px,62vw);max-height:190px}}
.pickup-section{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;min-height:clamp(430px,52vw,620px)!important;margin:24px 20px 0;padding:clamp(42px,5vw,70px) clamp(5%,6vw,8%) 76px;border-radius:24px;isolation:isolate;color:white;background:#061d30}
.pickup-banner-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.pickup-section:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#041827ee 0%,#041827bd 40%,#0418272e 78%),linear-gradient(0deg,#041827b8 0%,transparent 32%);pointer-events:none}.pickup-copy{max-width:640px}.pickup-copy .eyebrow{color:white}.pickup-copy h2{margin-bottom:22px}.pickup-copy h2 em{color:#25c5e6}.pickup-copy>p{max-width:550px;color:#e1eaf1;font-size:15px;margin:0 0 10px}.pickup-button{margin-top:20px;background:white;color:var(--ink);border-color:white}.pickup-button:hover{background:#dff7ff;color:var(--ink)}.pickup-copy small{color:#d3e0e8}.pickup-bottom{position:absolute;bottom:23px;left:clamp(5%,6vw,8%);right:clamp(5%,6vw,8%);display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff59;padding-top:15px;color:#f2f7fb;font-size:10px;letter-spacing:1.2px}.pickup-visual{display:none}
@media(max-width:650px){.pickup-section{min-height:540px!important;margin:12px 10px 0;border-radius:18px;padding:38px 7% 90px}.pickup-copy h2{font-size:clamp(31px,8vw,42px)}.pickup-copy>p{font-size:14px}.pickup-bottom{left:7%;right:7%;bottom:20px;font-size:8px;letter-spacing:.7px;flex-wrap:wrap;gap:5px}}

/* Center each composition without fixing heights or restricting native scroll. */
:root{--section-viewport:100vh;--section-space:clamp(28px,5vh,72px);--page-gutter:max(clamp(22px,5.5vw,96px),calc((100vw - 1440px)/2));--section-frame-gap:20px}
@supports(height:100svh){:root{--section-viewport:100svh;--section-space:clamp(28px,5svh,72px)}}
.section.services,.section.business,.section.about,.section.contact{min-height:calc(var(--section-viewport) - var(--header-height));padding-block:var(--section-space)}
.section.services,.section.business{padding-inline:var(--page-gutter)}
.section.pickup-section,.section.about,.section.contact{padding-inline:max(12px,calc(var(--page-gutter) - var(--section-frame-gap)))}
.section.services{display:flex;flex-direction:column;justify-content:center}
.section.business,.section.about,.section.contact{align-content:center;align-items:center}
.section.business{gap:clamp(24px,4vw,48px)}
.business-items{align-items:start;column-gap:clamp(20px,3vw,40px)}
.business-items article{min-width:0}
.business-copy .button{gap:16px}
.section.about{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,5vw,80px)}
.about-mark{min-height:0}
.about .about-logo{width:min(380px,28vw,calc(var(--section-viewport)*.52));max-width:100%;max-height:none;height:auto;aspect-ratio:1;object-fit:cover}
.about .about-content>.eyebrow{margin:0 0 18px}
.about .about-content>h2{font-size:clamp(34px,min(4vw,7svh),56px);letter-spacing:-1.8px}
.about .about-content>p:not(.eyebrow){max-width:700px;font-size:16px;line-height:1.6;margin:20px 0 0}
.about .about-content>.about-highlight{font-size:clamp(16px,1.3vw,19px);line-height:1.5;padding:12px 0 12px 18px;margin-top:24px!important;max-width:700px!important}
.section.contact{gap:clamp(28px,5vw,70px)}
.contact-info a>span:not(.contact-icon){font-size:inherit;line-height:1.5;letter-spacing:normal;opacity:1;margin:0}
.hero-carousel{min-height:calc(var(--section-viewport) - var(--header-height) - 20px)}
.hero-carousel .hero-content{padding-top:clamp(28px,5vh,65px);padding-right:max(12px,calc(var(--page-gutter) - var(--section-frame-gap)));padding-bottom:110px;padding-left:max(12px,calc(var(--page-gutter) - var(--section-frame-gap)))}
.hero-carousel .hero-bottom{left:max(12px,calc(var(--page-gutter) - var(--section-frame-gap)));right:max(12px,calc(var(--page-gutter) - var(--section-frame-gap)))}
.section.pickup-section{min-height:calc(var(--section-viewport) - var(--header-height) - 24px)!important;padding-top:var(--section-space);padding-bottom:90px}
@media(min-width:901px){
  .section.services,.section.business,.section.about,.section.contact{min-height:var(--section-viewport)}
  .business-visual{min-height:clamp(260px,40svh,440px);align-self:stretch}
  .business-copy h2{font-size:clamp(32px,min(3.6vw,7svh),53px)}
}
@media(min-width:651px){
  html{scroll-snap-type:y proximity}
  main>section{scroll-snap-align:start;scroll-snap-stop:normal}
  .section.pickup-section{min-height:calc(var(--section-viewport) - 24px)!important}
}
@media(max-width:900px){
  .section.services,.section.business,.section.about,.section.contact{min-height:calc(var(--section-viewport) - var(--header-height));padding-block:clamp(40px,7vw,64px)}
  .section.business,.section.about,.section.contact{grid-template-columns:minmax(0,1fr);gap:32px}
  .section.services>*,.section.business>*,.section.about>*,.section.contact>*{width:100%;max-width:700px;margin-inline:auto}
  .about .about-logo{width:clamp(220px,34vw,300px)}
  .about .about-content>h2{font-size:clamp(34px,5.5vw,48px)}
  .business-visual{min-height:0;aspect-ratio:16/10}
  .business-items{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  :root{--section-frame-gap:10px}
  .hero-carousel{min-height:calc(var(--section-viewport) - var(--header-height) - 10px)}
  .hero-carousel .hero-content{padding-top:36px;padding-bottom:145px}
  .section.pickup-section{min-height:calc(var(--section-viewport) - var(--header-height) - 12px)!important;padding-top:40px;padding-bottom:96px}
  .section-title{margin-bottom:28px}
  .business-items{grid-template-columns:minmax(0,1fr);gap:12px}
  .section.about{gap:28px}
  .about .about-logo{width:clamp(210px,65vw,270px)}
  .about .about-content>h2{font-size:clamp(32px,8vw,42px);letter-spacing:-1.2px}
  .about .about-content>p:not(.eyebrow){font-size:16px}
  .contact-info a{font-size:clamp(15px,4vw,18px)}
}
/* Progressive reveal: elements fade in and rise gently as each section arrives. */
.section-reveal{opacity:0;transform:translateY(42px);transition:opacity 1100ms cubic-bezier(.22,1,.36,1),transform 1100ms cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.section-reveal.is-revealed{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.section-reveal,.section-reveal.is-revealed{opacity:1;transform:none;transition:none}}
@media(min-width:651px){.section.services,.section.business,.section.about,.section.contact{min-height:var(--section-viewport)}}
.closing-section{min-height:var(--section-viewport);display:flex;flex-direction:column;justify-content:space-between;background:white}.closing-section>.contact{flex:1;min-height:0!important;margin-bottom:0}.closing-section>footer{flex:0 0 auto}

.reviews{background:#f7f9fb;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,4vw,46px);overflow:hidden}.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.reviews-heading h2{margin:16px 0 12px}.reviews-heading p{margin:0;color:#586570;max-width:560px}.google-rating{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:white;color:#596570;font-size:12px;font-weight:700;letter-spacing:.2px;box-shadow:0 10px 30px #14202e0a}.google-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;border:1px solid #e5eaf0}.google-profile{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:16px;color:#66727f;font-size:13px}.google-profile strong{color:var(--ink);font-size:14px}.google-profile span{display:inline-flex;align-items:center;gap:8px}.google-profile span:before{content:"";width:6px;height:6px;border-radius:50%;background:#34a853}.stars{color:#f6b900;letter-spacing:1.5px;white-space:nowrap}.reviews-marquee{display:flex;width:max-content;max-width:none;gap:18px;animation:reviewsMarquee 58s linear infinite;will-change:transform}.reviews-marquee:hover{animation-play-state:paused}.reviews-track{display:flex;gap:18px;flex:0 0 auto}.review-card{width:clamp(300px,27vw,390px);min-height:245px;background:white;border:1px solid #e7ebef;border-radius:22px;padding:28px;box-shadow:0 18px 45px #14202e0d;position:relative}.review-card:before{content:"G";position:absolute;right:26px;bottom:24px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#4285f4;background:#f7f9fb;border:1px solid #e6ebf0;font-size:13px;font-weight:800}.review-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;color:#6d7782;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.review-card h3{font-size:clamp(22px,2vw,30px);line-height:1.15;margin:0 0 16px;letter-spacing:-.8px}.review-card p{color:#596570;margin:0 0 24px;max-width:620px}.review-card small{display:block;color:#7b8792;font-size:12px;padding-right:42px}.reviews-button{flex:0 0 auto;background:white}.reviews-button:hover{background:var(--ink);color:white}@keyframes reviewsMarquee{from{transform:translateX(calc(-50% - 9px))}to{transform:translateX(0)}}
@media(max-width:900px){.reviews-heading{display:block}.reviews-button{margin-top:26px}.review-card{width:clamp(280px,44vw,360px)}}
@media(max-width:650px){.reviews{gap:26px}.reviews-marquee{gap:14px;animation-duration:64s}.reviews-track{gap:14px}.review-card{width:82vw;min-height:235px;padding:24px;border-radius:18px}.review-top{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:24px}.google-rating{font-size:11px;gap:8px}.reviews-button{width:100%}}
@media(prefers-reduced-motion:reduce){.reviews-marquee{animation:none;overflow-x:auto;max-width:100%;padding-bottom:12px;scroll-snap-type:x proximity}.review-card{scroll-snap-align:start}}



/* Real photographs: a main portrait with two views of the everyday work. */
.section.about{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px)}
.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.about-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid #ffffff18}
.about-gallery .about-photo-main{grid-column:1/-1}
@media(max-width:900px){
  .section.about{grid-template-columns:minmax(0,1fr)}
  .about-content{grid-row:1}
  .about-gallery{grid-row:2}
}
@media(max-width:650px){
  .about-gallery{gap:8px}
  .about-gallery img{border-radius:10px}
}
/* Business offerings reuse the service cards without disclosure controls. */
.business-items.service-grid{border-top:0;padding-top:0;gap:18px;align-items:start}
.business-items .service{padding:20px}
.business-items .service>.number{font-size:11px;color:#637080}
.business-items .service svg{width:60px;height:48px;margin:14px 0}
.business-items .service h3{font-size:clamp(19px,1.5vw,22px);min-height:58px;margin:0 0 12px}
.business-items .service p{min-height:126px;line-height:1.5;margin:0 0 14px;max-width:none}
@media(max-width:1100px){.business-items .service p{min-height:84px}}
@media(max-width:650px){.business-items .service h3,.business-items .service p{min-height:0}}
/* Anniversary copy remains selectable and its Instagram invitation is a real link. */
.anniversary-slide:after{background:linear-gradient(90deg,#00133755,transparent 65%)}
.hero-carousel .anniversary-content{width:57%;max-width:800px;padding-right:20px}
.anniversary-content .eyebrow{margin-bottom:14px;color:#fff}
.hero .anniversary-age{display:flex;align-items:baseline;gap:16px;color:#f5cf68;font-weight:800;line-height:.95;margin:0 0 22px;letter-spacing:-3px;text-shadow:0 3px 20px #0004}
.anniversary-age strong{font-size:clamp(96px,11vw,164px);font-weight:800}
.anniversary-age span{font-size:clamp(48px,5vw,76px);text-transform:uppercase}
.anniversary-title{font-size:clamp(23px,2.4vw,36px);font-weight:700;letter-spacing:-1px;line-height:1.22;margin-bottom:18px}
.anniversary-title em{font-style:normal;color:#21d4ef}
.hero .anniversary-content>p:not(.eyebrow){font-size:16px;max-width:410px;margin-bottom:22px}
.anniversary-button{background:#f5cf68;border-color:#f5cf68;color:#071b38;gap:16px}
.anniversary-button:hover{background:#ffe7a1;border-color:#ffe7a1;color:#071b38}
.anniversary-handle{display:block;font-size:12px;color:#d9e9ff;margin-top:12px}
@media(max-width:900px){.hero-carousel .anniversary-content{width:65%}.anniversary-slide .hero-photo{object-position:65% center}.anniversary-slide:after{background:linear-gradient(90deg,#001337e8,#00133770 65%,transparent)}}
@media(max-width:650px){.hero-carousel .anniversary-content{width:100%;padding-top:255px}.anniversary-slide .hero-photo{height:320px;object-position:75% top}.anniversary-slide{background:#03143a}.anniversary-slide:after{background:linear-gradient(0deg,#03143a 45%,#03143a00 85%)}.anniversary-content .eyebrow{font-size:11px}.hero .anniversary-age{margin-bottom:16px}.anniversary-age strong{font-size:86px}.anniversary-age span{font-size:44px}.anniversary-title{font-size:25px}.anniversary-button{padding:13px 16px;font-size:13px}}
/* Preserve the exact approved artwork, with no crop or additional overlays. */
.hero-carousel:has(.anniversary-slide.is-active){min-height:0}
.hero-carousel:has(.anniversary-slide.is-active) .hero-slide:not(.is-active){display:none}
.hero-carousel .anniversary-slide{display:block;background:#03143a;padding-bottom:76px}
.hero-carousel .anniversary-slide .hero-photo{position:relative;inset:auto;width:100%;height:auto;max-width:none;aspect-ratio:1672/941;object-fit:contain}
.hero-carousel .anniversary-slide:after{display:none}
.hero-carousel .anniversary-accessible-copy{position:absolute;inset:0;width:100%;max-width:none;padding:0}
.anniversary-accessible-copy> :not(.anniversary-button){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.anniversary-accessible-copy .anniversary-button{position:absolute;left:8.5%;top:76%;width:35%;height:8%;padding:0;border:0;background:transparent;color:transparent;font-size:0;border-radius:999px}
.anniversary-accessible-copy .anniversary-button span{display:none}
.anniversary-accessible-copy .anniversary-button:hover{background:#ffffff12;box-shadow:0 0 0 2px #64d8ff}
.anniversary-accessible-copy .anniversary-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:650px){
 .hero-carousel .anniversary-slide{padding-bottom:165px}
 .anniversary-accessible-copy .anniversary-button{top:auto;bottom:110px;left:5%;width:90%;height:44px;background:#f5cf68;color:#071b38;font-size:13px}
 .anniversary-accessible-copy .anniversary-button:hover{background:#ffe7a1}
}@media(min-width:651px){.hero-carousel .anniversary-accessible-copy{bottom:76px}.anniversary-accessible-copy .anniversary-button{top:85.4%;height:8%}}
/* Keep every home slide inside the available viewport, without cropping anniversary art. */
.hero.hero-carousel{--hero-gap:12px;--hero-controls-space:70px;height:calc(100svh - var(--live-header-height,var(--header-height)) - var(--hero-gap) * 2);min-height:0;margin:var(--hero-gap) 20px;grid-template-rows:minmax(0,1fr)}
.hero-carousel .hero-slide{min-height:0;height:100%;overflow:hidden}
.hero-carousel .hero-slide:not(.is-active){display:none}
.hero-carousel .hero-slide.is-active{display:flex}
.hero-carousel .hero-content{max-height:calc(100% - var(--hero-controls-space));overflow-y:auto;align-self:flex-start;margin-block:auto var(--hero-controls-space);padding:clamp(16px,3vh,40px) 5%;width:100%}
.hero-carousel .hero-bottom{bottom:12px;left:4%;right:4%;padding-top:10px;gap:12px;min-height:44px}
.hero-carousel .slide-controls{gap:6px;max-width:100%}
.hero-carousel .slide-dots{gap:0}
.hero-carousel .slide-dots button{width:24px}
.hero-carousel .anniversary-slide.is-active{display:grid;grid-template-rows:minmax(0,1fr) 54px;padding:0 0 var(--hero-controls-space);align-items:stretch}
.hero-carousel .anniversary-slide .hero-photo{position:static;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}
.hero-carousel .anniversary-accessible-copy{position:static;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;height:54px;max-height:none;margin:0;padding:4px 12px;overflow:visible}
.anniversary-accessible-copy .anniversary-button{position:static;inset:auto;width:auto;max-width:100%;height:44px;padding:10px 22px;background:#f5cf68;color:#071b38;font-size:14px;line-height:1.2;border-radius:999px;text-align:center}
.anniversary-accessible-copy .anniversary-button:hover{background:#ffe7a1;color:#071b38}
.anniversary-accessible-copy .anniversary-button span{display:inline}
@media(max-width:650px){
 .hero.hero-carousel{--hero-gap:8px;--hero-controls-space:96px;margin:var(--hero-gap) 10px;border-radius:18px}
 .hero-carousel .hero-bottom{align-items:center;gap:6px}
 .hero-bottom>span{font-size:9px;letter-spacing:.7px}
 .hero-carousel .slide-controls{gap:4px}
 .hero-carousel .slide-controls>button{width:32px;height:36px}
 .hero-carousel .slide-dots button{width:22px;height:36px}
 .hero-carousel .hero-content:not(.anniversary-content){padding:18px 6%}
 .hero-carousel .hero-title{font-size:clamp(28px,7vw,40px)}
}
@media(max-height:500px){
 .hero.hero-carousel{--hero-gap:4px;--hero-controls-space:48px}
 .hero-carousel .hero-bottom{bottom:4px;min-height:36px;padding-top:3px;flex-direction:row;justify-content:center}
 .hero-carousel .hero-bottom>span{display:none}
 .hero-carousel .anniversary-slide.is-active{grid-template-rows:minmax(0,1fr) 42px}
 .hero-carousel .anniversary-accessible-copy{height:42px;padding:2px 8px}
 .anniversary-accessible-copy .anniversary-button{height:36px;font-size:12px;padding:8px 16px}
}
/* Approved anniversary artwork spans the full width at its natural ratio. */
.hero.hero-carousel:has(.anniversary-slide.is-active){height:auto;min-height:0;grid-template-rows:auto}
.hero-carousel .anniversary-slide.is-active{height:auto;overflow:visible;grid-template-rows:auto 54px}
.hero-carousel .anniversary-slide .hero-photo{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
@media(max-height:500px){.hero-carousel .anniversary-slide.is-active{grid-template-rows:auto 42px}}
/* The Instagram button is the artwork's button, with an accessible link over it. */
.hero-carousel .anniversary-slide.is-active{grid-template-rows:auto}
.hero-carousel .anniversary-accessible-copy{position:absolute;inset:0 0 var(--hero-controls-space);display:block;width:100%;height:auto;max-height:none;margin:0;padding:0;overflow:visible;pointer-events:none}
.hero-carousel .anniversary-accessible-copy .anniversary-button{position:absolute;left:8.5%;top:85.4%;right:auto;bottom:auto;width:35%;height:8%;max-width:none;margin:0;padding:0;border:0;background:transparent;color:transparent;font-size:0;line-height:0;box-shadow:none;pointer-events:auto;border-radius:999px}
.hero-carousel .anniversary-accessible-copy .anniversary-button span{display:none}
.hero-carousel .anniversary-accessible-copy .anniversary-button:hover{background:#ffffff0d;box-shadow:0 0 0 2px #64d8ff}
.hero-carousel .anniversary-accessible-copy .anniversary-button:focus-visible{outline:3px solid white;outline-offset:3px}
.hero-carousel .anniversary-accessible-copy{bottom:auto;aspect-ratio:1672/941;align-self:stretch}

/* All slides share one stable viewport-sized frame. */
.hero.hero-carousel:has(.anniversary-slide.is-active){height:calc(100svh - var(--live-header-height,var(--header-height)) - var(--hero-gap) * 2);min-height:0;grid-template-rows:minmax(0,1fr)}
.hero-carousel .anniversary-slide.is-active{height:100%;display:block;padding:0;overflow:hidden;isolation:isolate}
.hero-carousel .anniversary-slide:before{content:'';position:absolute;inset:-24px;background:linear-gradient(#03143a55,#03143a88),url('assets/aniversario-6-anos-aprovado.png') center/cover;filter:blur(18px);z-index:-1}
.hero-carousel .anniversary-slide .hero-photo{position:absolute;inset:0;width:100%;height:calc(100% - var(--hero-controls-space));aspect-ratio:auto;object-fit:contain;object-position:center}
.hero-carousel .anniversary-accessible-copy{position:absolute;inset:0 0 var(--hero-controls-space);width:100%;height:auto;aspect-ratio:auto;align-self:stretch}
.hero-carousel .anniversary-accessible-copy .anniversary-button{left:var(--ann-link-left,8.5%);top:var(--ann-link-top,85.4%);width:var(--ann-link-width,35%);height:var(--ann-link-height,8%)}
/* Anniversary uses the same full-bleed image frame as the other slides. */
.hero-carousel .anniversary-slide .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:auto}
.hero-carousel .anniversary-slide:before{display:none}
.hero-carousel .anniversary-accessible-copy{inset:0;width:100%;height:100%;aspect-ratio:auto}
/* All banners share the supplied artwork's ratio; its complete content stays visible. */
.hero.hero-carousel,.hero.hero-carousel:has(.anniversary-slide.is-active){height:auto;aspect-ratio:1825 / 862;min-height:0;grid-template-rows:minmax(0,1fr)}
.hero-carousel .anniversary-slide .hero-photo{width:100%;height:100%;object-fit:contain;object-position:center}
.hero-carousel .anniversary-accessible-copy .anniversary-button{inset:0;width:100%;height:100%;border-radius:0;background:transparent;box-shadow:none}
.hero-carousel .anniversary-accessible-copy .anniversary-button:hover{background:transparent;box-shadow:none}
.hero-carousel .anniversary-accessible-copy .anniversary-button:focus-visible{outline:3px solid #21d4ef;outline-offset:-5px}
.hero-carousel .hero-bottom{z-index:3;pointer-events:none}
.hero-carousel .hero-bottom .slide-controls{pointer-events:auto}
@media(max-width:650px){.hero.hero-carousel,.hero.hero-carousel:has(.anniversary-slide.is-active){aspect-ratio:auto;height:calc((100vw - 20px) * 862 / 1825 + var(--hero-controls-space))}.hero-carousel .anniversary-slide .hero-photo{height:calc(100% - var(--hero-controls-space))}.hero-carousel .anniversary-accessible-copy{height:calc(100% - var(--hero-controls-space))}}
/* A single visible Instagram button below the anniversary invitation. */
.hero-carousel .anniversary-accessible-copy .anniversary-button{inset:auto;left:14%;top:85%;width:auto;max-width:40%;height:auto;min-height:38px;padding:10px 20px;border:1px solid #45d9ff;border-radius:999px;background:#032c68;color:white;font-size:clamp(11px,1.05vw,16px);line-height:1.2;letter-spacing:0;box-shadow:0 0 15px #00b9db66;pointer-events:auto}
.hero-carousel .anniversary-accessible-copy .anniversary-button span{display:inline}
.hero-carousel .anniversary-accessible-copy .anniversary-button:hover{background:#075ee9;color:white;box-shadow:0 0 20px #00b9db88}
.hero-carousel .anniversary-accessible-copy .anniversary-button:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:650px){.hero-carousel .anniversary-accessible-copy .anniversary-button{left:7%;top:85%;max-width:47%;min-height:26px;padding:5px 9px;font-size:clamp(8px,2vw,12px);gap:6px}}
/* Minimal carousel navigation: centered indicators and a quiet pause control. */
.hero-carousel .hero-bottom{left:50%;right:auto;bottom:12px;transform:translateX(-50%);width:auto;min-height:0;margin:0;padding:0;border:0;display:flex;align-items:center;justify-content:center;gap:0;pointer-events:none}
.hero-carousel .hero-bottom .slide-controls{display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 9px;border:0;border-radius:999px;background:#03142855;backdrop-filter:blur(8px);pointer-events:auto}
.hero-carousel .slide-controls [data-prev],.hero-carousel .slide-controls [data-next],.hero-carousel .slide-count{display:none}
.hero-carousel .slide-dots{display:flex;gap:0}
.hero-carousel .slide-dots button{width:26px;height:32px;border:0;background:transparent;border-radius:50%}
.hero-carousel .slide-dots button:before{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:background .2s,transform .2s}
.hero-carousel .slide-dots button[aria-current]:before{background:white;transform:scale(1.3)}
.hero-carousel .slide-dots button:hover:before{background:white}
.hero-carousel .slide-controls [data-pause]{width:30px;height:32px;border:0;border-radius:50%;background:transparent;color:#ffffffbd;font-size:12px}
.hero-carousel .slide-controls [data-pause]:hover{background:#ffffff15;color:white}
@media(max-width:650px){.hero-carousel .hero-bottom{bottom:10px}.hero-carousel .slide-dots button{width:26px;height:32px}}
/* Local anniversary: brand and 6 anos in the art; promotional copy in HTML. */
.hero-carousel .anniversary-live-copy{position:absolute;inset:54% auto auto 5%;display:block;width:44%;height:auto;max-height:none;max-width:none;padding:0;margin:0;overflow:visible;pointer-events:auto;text-align:center}
.anniversary-live-copy>.eyebrow,.anniversary-live-copy>.anniversary-age,.anniversary-live-copy>.anniversary-handle{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;margin:0!important;padding:0!important}
.anniversary-live-copy .anniversary-title{font-size:clamp(18px,2.5vw,40px);line-height:1.15;font-weight:700;letter-spacing:-.8px;margin:0 0 12px}
.hero .anniversary-live-copy>p:not(.eyebrow){font-size:clamp(12px,1.4vw,22px);line-height:1.35;margin:0 auto 16px;max-width:90%;color:white}
.anniversary-live-copy .anniversary-button{position:static;display:inline-flex;width:auto;height:auto;max-width:100%;padding:10px 20px;background:#032c68;color:white;border:1px solid #45d9ff;border-radius:999px;font-size:clamp(11px,1.05vw,16px);line-height:1.2;box-shadow:0 0 15px #00b9db66;gap:16px}
.anniversary-live-copy .anniversary-button:hover{background:#075ee9;color:white}
@media(max-width:650px){
 .hero.hero-carousel:has(.anniversary-slide.is-active){height:auto;aspect-ratio:auto}
 .hero-carousel .anniversary-slide.is-active{display:flex;flex-direction:column;height:auto;padding:0 0 58px}
 .hero-carousel .anniversary-slide .hero-photo{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
 .hero-carousel .anniversary-live-copy{position:relative;inset:auto;align-self:stretch;width:100%;margin:0;padding:20px 20px 12px;background:#03143a}
 .anniversary-live-copy .anniversary-title{font-size:25px}
 .hero .anniversary-live-copy>p:not(.eyebrow){font-size:15px}
 .anniversary-live-copy .anniversary-button{font-size:14px;min-height:44px}
}
/* Unified responsive home: stable screen-height frame for every slide. */
.hero.hero-carousel,.hero.hero-carousel:has(.anniversary-slide.is-active){height:calc(100svh - var(--live-header-height,var(--header-height)) - var(--hero-gap) * 2);aspect-ratio:auto;min-height:0;grid-template-rows:minmax(0,1fr);--hero-controls-space:48px;container-type:size}
.hero-carousel .hero-slide.is-active{height:100%;min-height:0;overflow:hidden}
.hero-carousel .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero-carousel .hero-content:not(.anniversary-content){position:relative;align-self:center;width:58%;max-width:800px;max-height:calc(100% - 54px);margin:0 0 38px;padding:clamp(14px,3cqh,32px) 5%;overflow-y:auto}
.hero-carousel .hero-title{font-size:clamp(28px,min(4.5vw,9cqh),66px);line-height:1.06;letter-spacing:-1.8px;margin-bottom:clamp(12px,3cqh,24px)}
.hero-carousel .hero-content>.eyebrow{font-size:11px;margin-bottom:clamp(10px,3cqh,22px)}
.hero-carousel .hero-content>p:not(.eyebrow){font-size:clamp(13px,2.9cqh,16px);line-height:1.45;margin-bottom:clamp(12px,3cqh,24px)}
.hero-carousel .hero-content .button{font-size:clamp(12px,2.7cqh,14px);padding:11px 19px;gap:16px}
.hero-carousel .anniversary-slide.is-active{display:block;padding:0;background:#03143a}
.hero-carousel .anniversary-slide .hero-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}
.hero-carousel .anniversary-live-copy{position:absolute;inset:auto auto 54px 5%;width:45%;max-width:none;max-height:44%;height:auto;margin:0;padding:0;overflow-y:auto;background:transparent;text-align:center}
.hero-carousel .anniversary-live-copy .anniversary-title{font-size:clamp(20px,min(2.65vw,6.5cqh),38px);line-height:1.15;letter-spacing:-.6px;margin:0 0 12px}
.hero-carousel .anniversary-live-copy>p:not(.eyebrow){font-size:clamp(12px,2.8cqh,17px);line-height:1.35;margin:0 auto 14px;max-width:95%}
.hero-carousel .anniversary-live-copy .anniversary-button{min-height:38px;padding:9px 18px}
@media(max-width:650px){
 .hero.hero-carousel,.hero.hero-carousel:has(.anniversary-slide.is-active){height:calc(100svh - var(--live-header-height,var(--header-height)) - var(--hero-gap) * 2);aspect-ratio:auto}
 .hero-carousel .hero-slide.is-active{display:flex;align-items:flex-end;padding:0}
 .hero-carousel .hero-photo{height:53%;object-position:75% center}
 .hero-carousel .hero-slide{background:#04182b}
 .hero-carousel .hero-slide:after{background:linear-gradient(0deg,#04182b 44%,transparent 75%)}
 .hero-carousel .hero-content:not(.anniversary-content){align-self:flex-end;width:100%;max-width:none;max-height:65%;margin:0 0 50px;padding:16px 7%;z-index:1}
 .hero-carousel .hero-title{font-size:clamp(25px,min(7.5vw,7cqh),38px);letter-spacing:-1px}
 .hero-carousel .hero-title br{display:none}
 .hero-carousel .hero-title br:after{content:' '}
 .hero-carousel .anniversary-slide.is-active{display:block;height:100%;padding:0}
 .hero-carousel .anniversary-slide .hero-photo{position:absolute;inset:0;width:100%;height:55%;object-fit:contain;object-position:center top}
 .hero-carousel .anniversary-live-copy{inset:auto 7% 54px;position:absolute;width:86%;max-height:48%;height:auto;margin:0;padding:12px 0;background:#03143a}
 .hero-carousel .anniversary-live-copy .anniversary-title{font-size:clamp(21px,6vw,29px)}
 .hero-carousel .anniversary-live-copy>p:not(.eyebrow){font-size:14px}
 .hero-carousel .anniversary-live-copy .anniversary-button{min-height:40px;font-size:13px}
}
@media(max-height:450px) and (min-width:651px){
 .hero-carousel .hero-content:not(.anniversary-content){width:65%;padding-block:8px}
 .hero-carousel .hero-title{font-size:clamp(22px,8cqh,32px);margin-bottom:8px}
 .hero-carousel .hero-content>.eyebrow{margin-bottom:6px;font-size:9px}
 .hero-carousel .hero-content>p:not(.eyebrow){font-size:12px;margin-bottom:8px}
 .hero-carousel .anniversary-live-copy{bottom:42px;max-height:48%}
 .hero-carousel .anniversary-live-copy .anniversary-title{font-size:19px;margin-bottom:6px}
 .hero-carousel .anniversary-live-copy>p:not(.eyebrow){font-size:11px;margin-bottom:6px}
}
/* Anniversary content flows naturally instead of creating an inner scrollbar. */
.hero-carousel .anniversary-live-copy{max-height:none;overflow:visible}
.hero-carousel .anniversary-live-copy>.anniversary-title{font-size:clamp(18px,min(2.5vw,5.8cqh),36px);margin-bottom:clamp(6px,1.8cqh,12px)}
.hero-carousel .anniversary-live-copy>p:not(.eyebrow){margin-bottom:clamp(8px,2cqh,14px)}
@media(max-width:650px){.hero-carousel .anniversary-live-copy{max-height:none;overflow:visible}.hero-carousel .anniversary-live-copy>.anniversary-title{font-size:clamp(20px,min(6vw,5.5cqh),28px)}}
/* Independent anniversary layers: nothing important is baked into a cropped background. */
.hero-carousel .anniversary-layered.is-active{display:grid;grid-template-columns:52% 48%;grid-template-rows:minmax(0,1.1fr) minmax(0,1fr);padding:20px 5% 54px;gap:8px 0;background:radial-gradient(ellipse at 85% 35%,#145bc1 0,transparent 55%),linear-gradient(125deg,#031335,#062762 65%,#071b38);isolation:isolate}
.hero-carousel .anniversary-layered:after{display:none}
.anniversary-heading{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0;z-index:1}
.anniversary-brand{font-size:clamp(19px,min(3vw,6cqh),42px);font-weight:800;line-height:1.1;letter-spacing:1px;margin:0 0 8px;text-align:center;color:#fff}
.anniversary-brand span{display:block;font-size:.4em;letter-spacing:.35em;color:#10d9ef;margin-top:7px}
.hero .anniversary-heading h1{margin:0;width:85%;height:65%;min-height:0;line-height:1}
.anniversary-heading h1 img{width:100%;height:100%;object-fit:contain}
.anniversary-person{grid-column:2;grid-row:1/3;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom;align-self:end;z-index:0}
.anniversary-message{grid-column:1;grid-row:2;min-width:0;align-self:center;text-align:center;z-index:1}
.anniversary-message h2{font-size:clamp(20px,min(2.6vw,5.8cqh),37px);line-height:1.13;letter-spacing:-.6px;font-weight:700;margin:0 0 12px}
.anniversary-message h2 em{font-style:normal;color:#18d8ef}
.anniversary-message p{font-size:clamp(12px,2.7cqh,17px);line-height:1.4;margin:0 auto 14px;max-width:440px;color:#fff}
.anniversary-message .button{border:1px solid #36dbff;background:#04336b;color:#fff;font-size:clamp(11px,2.5cqh,14px);padding:10px 18px;gap:16px;min-height:38px;box-shadow:0 0 18px #00b9db33}
.anniversary-message .button:hover{background:#075ee9}
@media(min-width:651px) and (max-width:1000px){.hero-carousel .anniversary-layered.is-active{grid-template-columns:55% 45%;padding-inline:3%}.anniversary-message h2{font-size:clamp(21px,3vw,28px)}.anniversary-brand{font-size:28px}.anniversary-person{object-position:center center}}
@media(max-width:650px){
 .hero-carousel .anniversary-layered.is-active{display:grid;grid-template-columns:50% 50%;grid-template-rows:minmax(0,1fr) minmax(0,1fr);padding:12px 5% 52px;gap:8px 0}
 .anniversary-person{grid-column:2;grid-row:1;object-position:center bottom}
 .anniversary-heading{grid-column:1;grid-row:1}
 .anniversary-brand{font-size:clamp(15px,4.2vw,24px);letter-spacing:0}
 .hero .anniversary-heading h1{width:100%;height:55%}
 .anniversary-message{grid-column:1/3;grid-row:2}
 .anniversary-message h2{font-size:clamp(20px,min(6vw,5cqh),28px);margin-bottom:10px}
 .anniversary-message p{font-size:clamp(12px,2.5cqh,15px);margin-bottom:12px}
 .anniversary-message .button{font-size:13px;min-height:40px}
}
@media(max-height:450px){.hero-carousel .anniversary-layered.is-active{padding-top:8px;padding-bottom:42px;gap:2px}.anniversary-brand{font-size:18px;margin-bottom:3px}.anniversary-brand span{margin-top:3px}.anniversary-message h2{font-size:18px;margin-bottom:5px}.anniversary-message p{font-size:11px;margin-bottom:6px}.anniversary-message .button{font-size:11px;min-height:30px;padding:6px 12px}}
/* Store backdrop beneath the independent anniversary layers. */
.hero-carousel .anniversary-layered.is-active{background:linear-gradient(90deg,rgba(3,19,53,.94) 0%,rgba(3,19,53,.84) 40%,rgba(3,19,53,.3) 68%,rgba(3,19,53,.12) 100%),url('assets/aniversario-fundo-loja.png') center/cover no-repeat}
@media(max-width:650px){.hero-carousel .anniversary-layered.is-active{background:linear-gradient(0deg,rgba(3,19,53,.97) 0%,rgba(3,19,53,.88) 40%,rgba(3,19,53,.32) 100%),url('assets/aniversario-fundo-loja.png') 65% center/cover no-repeat}}
/* Original combined photo with separately responsive promotional copy. */
.hero-carousel .anniversary-photo-layout.is-active{display:block;background:#03143a;padding:0;position:relative;container-type:size}
.hero-carousel .anniversary-photo-layout:after{display:none}
.anniversary-original-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.anniversary-photo-message{position:absolute;left:5%;bottom:54px;width:45%;text-align:center;z-index:1}
.hero .anniversary-photo-message h1{font-size:clamp(20px,min(2.6vw,5.8cqh),37px);line-height:1.15;font-weight:700;letter-spacing:-.7px;margin:0 0 12px}
.anniversary-photo-message h1 em{font-style:normal;color:#18d8ef}
.anniversary-photo-message p{font-size:clamp(12px,2.7cqh,17px);line-height:1.4;margin:0 auto 14px;color:white}
.anniversary-photo-message .button{border:1px solid #36dbff;background:#04336b;color:white;font-size:clamp(11px,2.5cqh,14px);padding:10px 18px;min-height:38px;gap:14px;border-radius:999px}
.anniversary-photo-message .button:hover{background:#075ee9}
@media(max-aspect-ratio:17/10){
 .hero-carousel .anniversary-photo-layout.is-active{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0 0 52px;gap:8px}
 .anniversary-original-photo{position:static;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
 .anniversary-photo-message{position:static;width:auto;margin:0;padding:8px 6%;align-self:end}
 .hero .anniversary-photo-message h1{font-size:clamp(21px,min(4vw,5cqh),32px)}
 .anniversary-photo-message p{max-width:520px}
}
@media(max-width:650px){
 .hero-carousel .anniversary-photo-layout.is-active{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0 0 52px;gap:4px}
 .anniversary-original-photo{position:static;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
 .anniversary-photo-message{position:static;width:auto;padding:8px 6%;margin:0}
 .hero .anniversary-photo-message h1{font-size:clamp(20px,min(6vw,5cqh),28px);margin-bottom:10px}
 .anniversary-photo-message p{font-size:clamp(12px,2.6cqh,15px);margin-bottom:12px}
 .anniversary-photo-message .button{font-size:13px;min-height:40px}
}
@media(max-height:450px){.anniversary-photo-message{bottom:42px}.hero .anniversary-photo-message h1{font-size:18px;margin-bottom:5px}.anniversary-photo-message p{font-size:11px;margin-bottom:6px}.anniversary-photo-message .button{font-size:11px;min-height:30px;padding:6px 12px}}
.anniversary-photo-frame{display:contents}
/* Contact: store portrait, contact cards and the official interactive map. */
.contact-showcase{position:relative;isolation:isolate;margin:24px 20px 0;border:1px solid #c9e1fb;border-radius:26px;overflow:hidden;background:#eff6fe;scroll-margin-top:0}
.contact-scene{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.65fr) minmax(0,1.05fr);gap:24px;position:relative;isolation:isolate;padding:36px 30px 0;min-height:520px;align-items:center}
.contact-store-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;z-index:-3}
.contact-scene:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#032251f5 0%,#032251db 30%,#06418555 60%,#edf5fbe8 76%,#edf5fb 100%)}
.contact-scene:after{content:'';position:absolute;inset:auto 0 0;height:65px;background:linear-gradient(transparent,#eff6fe);z-index:-1;pointer-events:none}
.contact-welcome{color:white;z-index:2;padding:18px 0 48px;min-width:0}
.contact-welcome .eyebrow{color:#28d1ef;font-size:11px;letter-spacing:2.4px;margin:0 0 24px}
.contact-welcome h2{font-size:clamp(34px,3.45vw,54px);font-weight:700;line-height:1.13;letter-spacing:-1.8px}
.contact-welcome h2 em{font-style:normal;color:#23c9eb}
.contact-welcome>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:470px;color:#e0eafa;margin:24px 0}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.contact-showcase svg{display:block;width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-actions .button{gap:10px;padding:12px 18px;font-size:12px;white-space:nowrap;min-height:46px}
.contact-actions .contact-whatsapp{background:#00b86b;border-color:#00b86b;color:white}
.contact-actions .contact-whatsapp:hover{background:#009b59;border-color:#009b59}
.contact-actions .contact-directions{border-color:#ffffffc9;color:white;background:#06336966}
.contact-actions .contact-directions:hover{background:#ffffff20}
.contact-matheus{align-self:end;justify-self:center;position:relative;z-index:1;height:460px;width:350px;max-width:none;object-fit:contain;object-position:center bottom;pointer-events:none}
.contact-cards{display:grid;gap:12px;position:relative;z-index:2;padding-bottom:30px;min-width:0}
.contact-card{display:grid;grid-template-columns:48px minmax(0,1fr) 12px;align-items:center;gap:15px;min-height:90px;padding:18px;background:#ffffffec;border:1px solid #fff;border-radius:17px;color:#082853;box-shadow:0 6px 26px #1d5a9a08}
a.contact-card:hover{background:white;box-shadow:0 6px 26px #1d5a9a18}
.contact-card>span:nth-child(2){min-width:0}
.contact-card-icon{width:48px;height:48px;display:grid;place-items:center;background:#e8f2ff;color:#0765ee;border-radius:13px}
.contact-card-icon svg{width:27px;height:27px;stroke-width:2}
.contact-card small{display:block;font-size:10px;font-weight:700;letter-spacing:1px;color:#637eac;margin-bottom:6px}
.contact-card strong{display:block;font-size:clamp(16px,1.5vw,23px);line-height:1.4;letter-spacing:-.3px}
.contact-card>span>span{display:block;font-size:14px;line-height:1.65}
.contact-card .contact-instagram-name{font-size:clamp(11px,1.1vw,16px);letter-spacing:-.4px;overflow-wrap:anywhere}
.contact-card-arrow{color:#637eac;font-size:18px}
.contact-instagram-icon{background:linear-gradient(30deg,#ffbd50,#ef375d 40%,#ad27bd 75%,#5053db);color:white}
.contact-card-icon img{display:block;width:34px;height:34px;object-fit:contain}
.contact-whatsapp-icon{background:#e5f8ed}
.contact-googlemaps-icon{background:#edf5ff}
.contact-googlemaps-icon img{width:42px;height:42px}
.contact-clock-icon{background:#e8f2ff}
.contact-map-panel{position:relative;z-index:3;padding:10px;background:#ffffffd9;border:1px solid white;border-radius:20px;margin:0 22px 22px;box-shadow:0 15px 40px #19416c09}
.contact-map-panel iframe{display:block;width:100%;height:280px;border-radius:13px;background:#e2ebf4}
.contact-map-footer{display:flex;align-items:center;gap:18px;margin-top:10px;padding:16px 18px;background:#eff5fd;border-radius:13px;color:#082853}
.contact-map-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:#dfecfe;border-radius:50%;color:#0765ee}
.contact-map-footer h3{font-size:15px;letter-spacing:-.3px;margin:0 0 4px}
.contact-map-footer p{font-size:13px;line-height:1.6;color:#637eac;margin:0}
.contact-map-footer .button{margin-left:auto;flex-shrink:0;border-color:#0765ee;color:#0765ee;font-size:12px;gap:12px;padding:12px 18px}
.contact-map-footer .button:hover{background:#0765ee;color:white}
@media(min-width:1400px){.contact-scene{padding-inline:44px}.contact-matheus{height:510px;width:390px}.contact-card{min-height:105px;padding:22px}.contact-welcome>p:not(.eyebrow){font-size:17px}.contact-actions .button{font-size:13px}}
@media(max-width:1050px){.contact-scene{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:20px;padding:30px 28px 0}.contact-cards{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:24px}.contact-matheus{height:350px;width:260px}.contact-scene:before{background:linear-gradient(90deg,#032251ed,#032251b3 55%,#06418555)}.contact-welcome{padding-bottom:20px}.contact-card .contact-instagram-name{font-size:12px}.contact-map-footer{flex-wrap:wrap}.contact-map-footer .button{margin-left:66px}}
@media(max-width:650px){.contact-showcase{margin:12px 10px 0;border-radius:20px}.contact-scene{grid-template-columns:minmax(0,1fr);padding:28px 20px 0;gap:0}.contact-welcome{padding:0;grid-row:2;text-align:center}.contact-welcome .eyebrow{margin-bottom:16px;font-size:10px}.contact-welcome h2{font-size:34px;letter-spacing:-1.2px}.contact-welcome>p:not(.eyebrow){font-size:14px;margin:18px auto 22px}.contact-actions{justify-content:center}.contact-actions .button{font-size:11px;padding:11px 14px}.contact-matheus{grid-row:1;height:235px;width:210px;margin-bottom:22px}.contact-cards{grid-template-columns:minmax(0,1fr);margin-top:28px;padding-bottom:22px;gap:10px}.contact-card{min-height:82px;padding:16px;grid-template-columns:44px minmax(0,1fr) 12px;gap:14px}.contact-card-icon{width:44px;height:44px}.contact-card strong{font-size:20px}.contact-card>span>span{font-size:13px}.contact-card .contact-instagram-name{font-size:13px}.contact-scene:before{background:linear-gradient(0deg,#032251 5%,#032251f2 60%,#03225144)}.contact-map-panel{margin:0 10px 10px;padding:7px;border-radius:16px}.contact-map-panel iframe{height:260px}.contact-map-footer{gap:12px;padding:16px 12px}.contact-map-icon{width:38px;height:38px}.contact-map-footer>div{flex:1;min-width:0}.contact-map-footer h3{font-size:14px}.contact-map-footer p{font-size:12px}.contact-map-footer .button{width:100%;margin-left:0;font-size:12px}}
/* Frequently asked questions use native disclosure controls. */
.faq.section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:42px clamp(36px,6vw,90px);background:#f7f9fb;align-items:start;padding-block:clamp(56px,6vw,90px)}
.faq-intro .eyebrow{color:var(--blue);margin-bottom:20px}
.faq-intro h2{font-size:clamp(34px,3.5vw,50px);letter-spacing:-1.8px}
.faq-intro>p:last-child{max-width:360px;color:#586570;font-size:15px;line-height:1.75;margin:24px 0 0}
.faq-list{min-width:0;border-top:1px solid #d5dee8}
.faq-item{border-bottom:1px solid #d5dee8}
.faq-item summary{display:grid;grid-template-columns:26px 1fr 30px;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:22px 0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-number{font-size:11px;letter-spacing:1px;color:#6d8299;font-weight:500;align-self:start;padding-top:4px}
.faq-toggle{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #cbd9e8;font-size:22px;font-weight:400;line-height:1;color:var(--blue);transition:transform .2s,background .2s}
.faq-item[open] .faq-toggle{transform:rotate(45deg);background:#e2edfb}
.faq-item[open] summary,.faq-item summary:hover{color:var(--blue)}
.faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.faq-answer{padding:0 44px 24px 40px;color:#526173;font-size:14px;line-height:1.8}
.faq-answer p{margin:0}.faq-answer p+p{margin-top:14px}
.faq-help{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;background:#eaf1f9;border:1px solid #dce6f1;border-radius:18px}
.faq-help h3{font-size:22px;margin:0 0 10px}
.faq-help p{max-width:620px;font-size:14px;line-height:1.7;color:#526173;margin:0}
.faq-help .button{flex-shrink:0;border-color:var(--blue);background:var(--blue);color:white;font-size:13px;gap:20px}
.faq-help .button:hover{background:#064ab5}
@media(max-width:900px){.faq.section{grid-template-columns:minmax(0,1fr);gap:32px}.faq-intro>p:last-child{max-width:580px;margin-top:18px}.faq-help{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.faq.section{padding-block:48px}.faq-item summary{font-size:14px;grid-template-columns:22px 1fr 28px;gap:10px;padding-block:20px}.faq-answer{padding:0 4px 22px 32px}.faq-help{padding:24px;border-radius:16px}.faq-help .button{width:100%;font-size:12px;padding-inline:14px;gap:12px}}
@media(prefers-reduced-motion:reduce){.faq-toggle{transition:none}}
/* Evergreen invitation, using the existing separate store and portrait assets. */
.hero-carousel .welcome-slide{background:#06172e;isolation:isolate}
.welcome-store{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;filter:brightness(1.06) contrast(1.02) saturate(1.02);z-index:-3}
.hero-carousel .welcome-slide:after{z-index:-2;background:linear-gradient(90deg,#03152bf5 0%,#03152bea 35%,#03152b66 70%,#03152b33 100%)}
.welcome-person{position:absolute;right:1%;bottom:0;height:96%;width:53%;object-fit:contain;object-position:center bottom;z-index:-1}
.welcome-copy{width:57%;padding:30px 0 65px 5.5%;position:relative}
.welcome-copy .eyebrow{color:#23d3e8;font-size:11px;letter-spacing:1.8px;margin-bottom:24px}
.hero .welcome-copy h1{font-size:clamp(38px,5.3vw,74px);line-height:1.08;letter-spacing:-2px;margin:0 0 24px}
.welcome-copy h1 em{font-style:normal;color:#20c5e6}
.welcome-copy>p:not(.eyebrow){max-width:440px;font-size:17px;line-height:1.65;color:#d2e0ee;margin:0 0 28px}
.welcome-copy .button{gap:28px}
@media(max-width:800px){
 .hero-carousel .welcome-slide.is-active{align-items:flex-end}
 .welcome-person{top:0;bottom:auto;right:0;height:54%;width:100%;object-position:center bottom}
 .hero-carousel .welcome-slide:after{background:linear-gradient(0deg,#03152b 0%,#03152b 38%,#03152b66 70%,#03152b22 100%)}
 .welcome-copy{width:100%;padding:18px 6% 65px;text-align:center}
 .welcome-copy .eyebrow{font-size:9px;margin-bottom:12px;letter-spacing:1.4px}
 .hero .welcome-copy h1{font-size:clamp(30px,5.5vw,42px);letter-spacing:-1px;margin-bottom:12px}
 .welcome-copy>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0 auto 18px;max-width:400px}
 .welcome-copy .button{padding:10px 20px;font-size:13px}
}
@media(max-height:500px) and (min-width:801px){.hero .welcome-copy h1{font-size:38px;margin-bottom:14px}.welcome-copy .eyebrow{margin-bottom:12px}.welcome-copy>p:not(.eyebrow){font-size:14px;margin-bottom:16px}.welcome-copy{padding-bottom:45px}}
/* About: centered introduction followed by the store media carousel. */
.section.about.about-with-carousel{display:flex;flex-direction:column;gap:20px;min-height:0;padding-block:24px}
.about-with-carousel>.about-section-label{align-self:flex-start;width:100%;max-width:none;margin:0;text-align:left;flex-shrink:0}
.about-with-carousel .about-content{width:100%;max-width:1100px;margin-inline:auto;text-align:center;flex-shrink:0}
.about-with-carousel .about-content>h2{margin:0;font-size:clamp(32px,3.2vw,44px);line-height:1.12}
.about-with-carousel .about-content>p:not(.eyebrow){max-width:1000px;margin:16px auto 0;font-size:16px;line-height:1.55}
.about-with-carousel .about-content>.about-highlight{max-width:960px!important;border-left:0;border-top:1px solid #20c5e660;padding:12px 0 0;margin:14px auto 0!important;font-size:15px;line-height:1.4}
.about-with-carousel>.about-carousel{width:100%;max-width:none;margin:0;min-width:0;position:relative}
.about-media-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:16px;position:relative;scroll-padding:0}
.about-media-rail::-webkit-scrollbar{display:none}
.about-media-card{flex:0 0 calc((100% - 40px)/3);min-width:0;margin:0;position:relative;scroll-snap-align:start;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#10243b;border:1px solid #ffffff20}
.about-media-card img,.about-media-card video{width:100%;height:100%;display:block;object-fit:cover}
.about-media-card video{object-fit:contain;background:#020c18}
.about-media-card figcaption{position:absolute;left:14px;top:14px;pointer-events:none;background:#06172ed9;border:1px solid #ffffff30;border-radius:999px;padding:7px 12px;color:white;font-size:11px;letter-spacing:.3px}
.about-carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;color:#a4bed0;font-size:12px;letter-spacing:2px;font-variant-numeric:tabular-nums}
.about-carousel-controls>div{display:flex;gap:10px}
.about-carousel-controls button{width:44px;height:44px;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:white;font:inherit;font-size:18px;cursor:pointer;transition:background .2s,border-color .2s}
.about-carousel-controls button:hover{background:#123453;border-color:#20c5e6}
.about-carousel-controls button:focus-visible,.about-media-rail:focus-visible{outline:2px solid #20c5e6;outline-offset:4px}
@media(max-width:1000px){.about-media-card{flex-basis:calc((100% - 20px)/2)}}
@media(min-width:1001px) and (min-height:600px){
 .section.about.about-with-carousel{height:calc(100svh - 24px);gap:18px;padding-block:24px}
 .about-with-carousel .about-content>h2 br{display:block}
 .about-with-carousel>.about-carousel{flex:1;min-height:0;display:flex;flex-direction:column}
 .about-with-carousel .about-media-rail{flex:1;min-height:0}
 .about-with-carousel .about-media-card{height:100%;aspect-ratio:auto}
 .about-with-carousel .about-carousel-controls{flex-shrink:0;margin-top:12px}
}
@media(max-width:650px){.section.about.about-with-carousel{gap:20px}.about-media-rail{gap:12px}.about-media-card{flex-basis:86%;border-radius:12px}.about-with-carousel .about-content>p:not(.eyebrow){font-size:15px}.about-with-carousel .about-content>.about-highlight{font-size:15px}.about-carousel-controls{margin-top:14px}}
/* One typographic hierarchy across all four contact cards. */
.floating-whatsapp-widget{position:fixed;right:26px;bottom:26px;z-index:45}
.floating-whatsapp-widget[hidden]{display:none}
.floating-whatsapp{position:relative;display:flex;align-items:center;font-family:Manrope,Arial,sans-serif}
.floating-whatsapp-icon{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#20ca65;border:2px solid #fff;box-shadow:0 5px 18px #07994740,0 0 0 9px #25d36624;transition:transform .2s,background .2s}
.floating-whatsapp-icon img{display:block;width:30px;height:30px;filter:brightness(0) invert(1)}
.floating-whatsapp-label{position:absolute;right:calc(100% + 16px);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translateX(6px);transition:opacity .2s,transform .2s,visibility .2s;padding:10px 15px;border:1px solid #e5e9ed;border-radius:999px;background:white;color:#14202e;box-shadow:0 4px 18px #14202e18;font-size:12px;font-weight:500;line-height:1.4}
.floating-whatsapp:focus-visible .floating-whatsapp-label{opacity:1;visibility:visible;transform:translateX(0)}
@media(hover:hover){.floating-whatsapp:hover .floating-whatsapp-label{opacity:1;visibility:visible;transform:translateX(0)}}
.floating-whatsapp-close{position:absolute;right:-5px;top:-9px;display:grid;place-items:center;width:21px;height:21px;border:1px solid #dbe3df;border-radius:50%;background:#fffffff2;color:#66746d;box-shadow:0 2px 5px #14202e12;font:16px/1 Arial,sans-serif;cursor:pointer;padding:0;opacity:0;pointer-events:none;transition:opacity .2s}
@media(hover:hover){.floating-whatsapp-widget:hover .floating-whatsapp-close{opacity:1;pointer-events:auto}}
.floating-whatsapp-widget:focus-within .floating-whatsapp-close{opacity:1;pointer-events:auto}
.floating-whatsapp-close:hover{color:#14202e;background:white}
.floating-whatsapp-close:focus-visible{outline:2px solid #075ee9;outline-offset:3px}
.floating-whatsapp-icon:before{content:'';position:absolute;inset:-9px;border:2px solid #25d36699;border-radius:50%;pointer-events:none;animation:whatsappGentlePulse 6s ease-out infinite}
@keyframes whatsappGentlePulse{0%{transform:scale(.86);opacity:0}8%{opacity:.65}30%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
.floating-whatsapp:hover .floating-whatsapp-icon{background:#12b853;transform:translateY(-2px)}
.floating-whatsapp:focus-visible{outline:3px solid #075ee9;outline-offset:12px;border-radius:999px}
@media(max-width:650px){.floating-whatsapp-widget{right:20px;bottom:max(20px,env(safe-area-inset-bottom))}.floating-whatsapp-icon{width:56px;height:56px;box-shadow:0 4px 16px #07994740,0 0 0 7px #25d36624}.floating-whatsapp-label{font-size:11px;padding:9px 12px}}
@media(max-width:380px){.floating-whatsapp-label{max-width:155px;text-align:center}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp-icon,.floating-whatsapp-label{transition:none}.floating-whatsapp-icon:before{animation:none;display:none}}
@media(max-width:650px){
 .contact-showcase .contact-matheus{display:none}
 .contact-showcase .contact-welcome{grid-row:1}
}
.contact-cards .contact-card{font-family:Manrope,Arial,sans-serif}
.contact-cards .contact-card small{font-size:10px;font-weight:600;line-height:1.4;letter-spacing:1px;margin-bottom:7px}
.contact-cards .contact-card strong,
.contact-cards .contact-card>span>span,
.contact-cards .contact-card .contact-instagram-name{font-family:inherit;font-size:14px;font-weight:500;line-height:1.65;letter-spacing:0}
@media(max-width:650px){
 .contact-cards .contact-card strong,
 .contact-cards .contact-card>span>span,
 .contact-cards .contact-card .contact-instagram-name{font-size:13px}
}
