:root{--navy:#091735;--yellow:#ffb600;--ink:#14213e;--muted:#596171}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cf7d00;outline-offset:5px}header{height:98px;padding:18px 5.5%;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;position:sticky;top:0;z-index:10;border-bottom:1px solid #e7eaf0;backdrop-filter:blur(18px)}header img,footer img{object-fit:contain}nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav a:hover{color:#a76b00}.button{background:var(--yellow);padding:20px 25px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:16px;font-weight:700;transition:transform .25s,box-shadow .25s;color:var(--navy)}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #ffb60030}.button span{font-size:23px}.button.small{padding:13px 18px;font-size:14px}.hero{background:var(--navy);color:white;position:relative;overflow:hidden;padding:75px 6% 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.eyebrow{font-size:13px;letter-spacing:2.3px;font-weight:700;margin:0 0 24px}.hero .eyebrow,.contact .eyebrow{color:var(--yellow)}h1{font-size:clamp(48px,5.5vw,82px);font-weight:700;line-height:1.05;letter-spacing:-3px;margin:0 0 26px}em{font-style:normal;color:#b97400}.hero em,.contact em{color:var(--yellow)}.intro{font-size:19px;line-height:1.7;color:#c6cdda;margin-bottom:30px}.text-link{display:block;margin:26px 0;font-size:14px;color:#c6cdda}.text-link span{padding-left:15px}.hero-art{position:relative;align-self:center;min-width:0}.hero-art>img{width:100%;height:auto;position:relative;border-radius:28px;mix-blend-mode:lighten;z-index:1}.outline-circle{position:absolute;border:1px solid #ffb60055;border-radius:50%;width:95%;aspect-ratio:1;top:-10%;left:3%;animation:float 7s ease-in-out infinite}.photo-tag{position:relative;z-index:2;margin:-15px 30px 0 auto;background:white;color:var(--navy);padding:20px 24px;max-width:290px;border-radius:12px;transform:rotate(-4deg);box-shadow:0 15px 50px #0003;font-size:16px;line-height:1.6}.photo-tag strong{display:block}.vertical-label{display:block;color:#7e8ba7;font-size:12px;letter-spacing:3px;text-align:right;margin-top:30px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff20;margin-top:30px;padding:22px 0;color:#a8b4cb;font-size:13px}.ribbon{overflow:hidden;background:var(--yellow);padding:23px 0;color:var(--navy);font-size:17px;font-weight:bold;letter-spacing:2px}.ribbon>div{white-space:nowrap;width:max-content;animation:marquee 35s linear infinite}.ribbon b{margin:0 40px;font-size:24px}.section{padding:100px 6%}h2{font-size:clamp(34px,3.6vw,52px);line-height:1.14;letter-spacing:-1.5px;margin:0 0 27px}p{line-height:1.7}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.about-photo{position:relative}.about-photo img{width:100%;border-radius:18px 100px 18px 18px;display:block}.caption{position:absolute;bottom:22px;left:22px;right:22px;padding:18px;background:#091735e8;color:#fff;font-size:14px;border-radius:8px}.about p:not(.eyebrow){color:var(--muted)}.principles{display:flex;gap:20px;border-top:1px solid #ddd;margin-top:30px;padding-top:24px}.principles>div{flex:1}.principles span{font-size:12px;color:#987024;display:block;margin-bottom:12px}.principles strong{font-size:14px}.principles p{font-size:14px;line-height:1.5}.cycles{background:#f2f5fa}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:27px}.cycle-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:25px}.cycle{grid-column:span 2;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 25px #14213e08;transition:transform .3s}.cycle:hover{transform:translateY(-7px)}.cycle.wide{grid-column:span 3}.cycle>img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .6s}.cycle:hover>img{transform:scale(1.035)}.cycle>div{padding:25px;position:relative;background:white}.cycle span{font-size:12px;letter-spacing:1.4px;color:#626b7a}h3{font-size:25px;letter-spacing:-.6px;margin:12px 0 20px}summary{font-size:14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8ebf0;padding-top:16px;list-style:none}summary::-webkit-details-marker{display:none}summary b{display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:50%;width:32px;height:32px;font-size:22px}details[open] summary b{transform:rotate(45deg)}details p{font-size:16px;color:var(--muted)}details a{font-size:14px;font-weight:bold;color:#8c5800}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:14px}.gallery figcaption{font-size:15px;margin-top:20px}.gallery span{margin-right:10px;color:#987024}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact h2{font-size:clamp(40px,4vw,60px)}.contact>div>p:not(.eyebrow){color:#bdc8dc;max-width:400px}.contact-sign{font-size:17px;line-height:1.8;margin-top:65px;color:#bac6de}.contact-sign strong{color:var(--yellow)}form{background:#fff;color:var(--ink);padding:35px;border-radius:20px}form h3{margin-top:0}form>p{font-size:14px;color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin-top:18px}input:not([type=checkbox]),select{display:block;width:100%;min-width:0;border:1px solid #d5dbe5;border-radius:7px;padding:13px 12px;margin-top:8px;background:#fafbfd;color:var(--ink);font-size:16px;outline-color:#b57b00}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;gap:10px;font-weight:400;line-height:1.5}.check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy)}form .button{width:100%;margin-top:22px;justify-content:center}button:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.form-note{font-size:13px;line-height:1.5;margin-bottom:0}footer{padding:32px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer a{font-size:14px;color:var(--muted)}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes float{50%{transform:translateY(18px)}}@media(min-width:1600px){.section,.hero{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:900px){nav{gap:15px}header{padding:15px 5%}header img{width:145px;height:auto}.hero{padding-top:55px}h1{letter-spacing:-2px}.section{padding:70px 5%}.about{gap:5%}.principles{flex-wrap:wrap}.principles>div{min-width:80px}.cycle>img{height:175px}.cycle>div{padding:19px}.cycle h3{font-size:22px}.contact{gap:5%}form{padding:25px}.form-row{grid-template-columns:1fr}footer p{display:none}}@media(max-width:650px){header{height:80px}header nav{display:none}header .small{font-size:12px;gap:10px;padding:12px}.hero{grid-template-columns:1fr;padding:45px 6% 0;gap:18px}h1{font-size:55px}.hero-art{margin:15px 0 20px}.hero-art>img{max-height:390px;object-fit:contain}.hero-copy .intro{font-size:17px}.hero-bottom{margin-top:10px;font-size:12px;gap:20px}.hero-bottom span{max-width:145px}.outline-circle{width:85%;left:8%;top:-5%}.photo-tag{font-size:14px;max-width:260px;margin-right:10px;padding:14px 20px}.vertical-label{display:none}.section{padding:60px 6%}.about,.contact{grid-template-columns:1fr;gap:35px}.about-photo{order:2}.about-photo img{max-height:400px;object-fit:cover}.principles{gap:14px}h2{font-size:36px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.cycle-grid{grid-template-columns:1fr;gap:20px}.cycle,.cycle.wide{grid-column:auto}.cycle>img{height:auto;aspect-ratio:1.75}.cycle>div{padding:24px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:20px}.gallery figure{min-width:87%;scroll-snap-align:start}.contact-sign{margin-top:30px}.contact h2{font-size:42px}form{padding:24px}footer{flex-wrap:wrap}footer img{width:150px;height:auto}footer a{font-size:13px}.ribbon{padding:15px 0;font-size:14px}.eyebrow{font-size:12px;letter-spacing:1.7px}}@media(min-width:901px) and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* Faixa contínua: dois grupos idênticos, sem espaços externos no percurso. */
.ribbon{padding:22px 0}
.ribbon>.ribbon-track{display:flex;width:max-content;animation:marquee 28s linear infinite;will-change:transform}
.ribbon-group{display:flex;flex:none;align-items:center;justify-content:space-around;min-width:100vw;gap:40px;padding:0 20px}
.ribbon-group span{white-space:nowrap}
.ribbon .ribbon-group b{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text;font-size:29px;line-height:1;margin:0;font-weight:400;display:block;transform:translateY(5px)}
.hero-copy{animation:heroEnter 1s cubic-bezier(.16,1,.3,1) both}
.hero-art{animation:heroEnter 1.2s .15s cubic-bezier(.16,1,.3,1) both}
.hero-art>img{animation:photoFloat 7s ease-in-out infinite}
.photo-tag{animation:tagFloat 6s ease-in-out infinite}
.js .reveal{transform:translateY(45px) scale(.98);transition:opacity .85s ease var(--delay,0ms),transform .95s cubic-bezier(.16,1,.3,1) var(--delay,0ms)}
.js .reveal.visible{transform:translateY(0) scale(1)}
.about-photo img,.gallery img{transform:translateY(var(--image-shift,0px));transition:transform .6s ease,box-shadow .4s ease}
.about-photo:hover img,.gallery figure:hover img{transform:translateY(var(--image-shift,0px)) scale(1.025);box-shadow:0 20px 38px #09173520}
.cycle:hover>img{transform:scale(1.06)}
.contact{align-items:stretch}
.contact>div{display:flex;flex-direction:column}
.interest-copy{max-width:480px;margin-top:24px}
.interest-copy h3{font-size:25px;line-height:1.35;color:#fff;max-width:380px}
.interest-copy p,.interest-copy li{font-size:16px;line-height:1.8;color:#bdc8dc}
.interest-copy ul{list-style:none;padding:0;margin:26px 0}
.interest-copy li{padding:13px 0 13px 23px;border-top:1px solid #ffffff20;position:relative}
.interest-copy li::before{content:'*';position:absolute;left:0;top:14px;color:var(--yellow);font-family:Arial,sans-serif;font-size:22px}
.contact-sign{margin-top:auto;padding-top:30px}
.contact form{align-self:start}
@keyframes heroEnter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes photoFloat{50%{transform:translateY(-10px)}}
@keyframes tagFloat{50%{transform:translateY(-7px) rotate(-2deg)}}
@media(max-width:650px){.ribbon-group{min-width:800px;gap:24px;padding:0 12px}.ribbon{padding:16px 0}.interest-copy{margin-top:10px}.interest-copy h3{font-size:23px}.contact-sign{margin-top:10px}.hero-art>img{animation:photoFloat 7s ease-in-out infinite}}
@media(min-width:901px) and (prefers-reduced-motion:reduce){.hero-copy,.hero-art,.hero-art>img,.photo-tag{animation:none!important}.js .reveal{opacity:1;transform:none}.about-photo img,.gallery img{transform:none!important}.ribbon>.ribbon-track{animation:none!important}}

/* Cada metade contém a sequência completa e ocupa ao menos toda a tela. */
.ribbon>.ribbon-track{display:flex;gap:0;width:max-content;animation:wordsLoop 28s linear infinite}
.ribbon .ribbon-group{flex:0 0 auto;min-width:100vw;box-sizing:border-box;justify-content:space-around;gap:40px;padding:0 20px}
@keyframes wordsLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:650px){.ribbon .ribbon-group{min-width:max(100vw,800px)}}
@media(min-width:901px) and (prefers-reduced-motion:reduce){.ribbon>.ribbon-track{animation:none!important}}

/* Efeitos móveis independentes de hover e da preferência de movimento reduzido. */
@media(max-width:900px){
 .ribbon>.ribbon-track{animation:wordsLoop 28s linear infinite!important;animation-play-state:running!important;backface-visibility:hidden}
 .hero-copy{animation:heroEnter .85s cubic-bezier(.16,1,.3,1) both!important}
 .hero-art{animation:heroEnter 1s .1s cubic-bezier(.16,1,.3,1) both!important}
 .hero-art>img{animation:photoFloat 6s ease-in-out infinite!important;backface-visibility:hidden}
 .photo-tag{animation:tagFloat 5s ease-in-out infinite!important}
 .outline-circle{animation:float 7s ease-in-out infinite!important}
 .js .reveal{transition:opacity .7s ease var(--delay,0ms),transform .85s cubic-bezier(.16,1,.3,1) var(--delay,0ms)!important}
 .cycle.visible>img{animation:mobilePhoto 8s ease-in-out infinite;transform-origin:center}
 .cycle:nth-child(even).visible>img{animation-delay:-4s}
}
@keyframes mobilePhoto{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
