/* Experiência ampla: sem coluna estreita central no desktop. */
.wrap{width:calc(100% - clamp(36px,7vw,144px));max-width:none}.header{width:100%;max-width:none;padding:16px clamp(18px,3.5vw,72px);min-height:116px}.header img{width:94px;height:94px}.header nav{font-size:17px;gap:32px}.button{font-size:17px;padding:19px 27px;border-radius:14px}.button.small{font-size:15px;padding:16px 22px}.text-link{font-size:16px}.hero{min-height:calc(100svh - 116px);padding:64px 0 80px;gap:6vw;grid-template-columns:1.05fr 1fr}.hero h1{font-size:clamp(64px,5.5vw,112px);max-width:900px}.lead{font-size:clamp(20px,1.45vw,27px);max-width:680px;line-height:1.55}.hero-art{min-height:clamp(520px,34vw,760px)}.eyebrow{font-size:13px;letter-spacing:.12em}.hero-note{font-size:16px}.prompt{font-size:clamp(30px,2.7vw,51px)}.prompt-label,.window-bar{font-size:13px}.result-top{font-size:19px}.result-row{font-size:17px;padding:16px 0}.result-row small,.result-row>span{font-size:14px}.window-foot{font-size:10px}.floating-label{font-size:12px;padding:14px 18px}.pill{font-size:11px}.ribbon{font-size:17px;gap:4vw;padding:25px}.section{padding-top:110px;padding-bottom:110px}h2{font-size:clamp(42px,4vw,76px)}h3{font-size:29px}.section-head p,.path-body p,.community-grid p,.start-copy p,.plan-grid>div>p{font-size:19px;line-height:1.65}.section-head p{max-width:460px}.path-body{padding:32px}.path-body h3{font-size:30px}.path-body p{min-height:100px}.card-index{font-size:13px}.status{font-size:14px}.card-visual{height:300px}.visual-sticker{font-size:11px}.community-grid{gap:7vw}.community-grid h2{font-size:clamp(42px,4vw,76px)}.community-grid p{max-width:650px}.community-board{padding:36px}.board-header{font-size:13px}.board-header>span:last-child{font-size:11px}.board-title{font-size:36px}.board-item{font-size:19px}.board-item p{font-size:16px}.board-caption{font-size:12px}.start-copy .muted{font-size:17px}.plan-card{padding:42px}.plan-top{font-size:12px}.plan-card h3{font-size:34px}.price{font-size:100px}.plan-card p,.plan-card ul{font-size:19px}.plan-note{font-size:14px}.faq summary{font-size:23px}.faq details p{font-size:18px;max-width:none}.closing h2{font-size:clamp(52px,6vw,110px)}.footer p,.footer>div{font-size:16px}.footer small{font-size:13px}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.path-card,.course,.quick-card,.space-card{transition:transform .25s,box-shadow .25s,border-color .25s}.path-card:hover,.course:hover,.quick-card:hover,.space-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #3c205414;border-color:#bda3e3}.subpage{min-height:65vh;padding:80px 0}.subpage h1{font-size:clamp(48px,6vw,100px);max-width:1100px}.subpage .lead{max-width:850px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}.info-card{padding:32px;background:white;border:1px solid var(--line);border-radius:18px}.info-card .icon{color:var(--purple);width:36px;height:36px;margin-bottom:22px}.info-card p{font-size:18px;color:var(--muted);margin-top:15px}.info-card .button{margin-top:24px}.note-strip{padding:24px 28px;border-radius:14px;background:#ede5fc;margin-top:40px;font-size:18px}.public-footer{display:flex;gap:25px;flex-wrap:wrap;padding:30px clamp(18px,3.5vw,72px);border-top:1px solid var(--line);font-size:16px}.public-footer span{margin-right:auto}.public-extra-links{display:flex;justify-content:center;gap:30px;padding:25px;font-size:16px;border-top:1px solid var(--line)}
@media(prefers-reduced-motion:no-preference){.hero-copy,.member-hero,.page-intro{animation:arrive .75s both}.hero-art{animation:float-in 1.2s both}.project-window{animation:card-settle 3s ease-out both}.floating-label{animation:label-settle 2s ease-out both}.cursor{animation:cursor-pulse 1s 4}.member-hero-mark{animation:mark-turn 3s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes float-in{from{opacity:0;transform:translateY(35px) rotate(4deg)}to{opacity:1;transform:rotate(1deg)}}@keyframes card-settle{from{transform:rotate(-8deg) translateY(20px)}to{transform:rotate(-3deg)}}@keyframes label-settle{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes cursor-pulse{50%{opacity:0}}@keyframes mark-turn{from{transform:rotate(-40deg) scale(.8)}to{transform:rotate(-12deg) scale(1)}}}
@media(min-width:2000px){.hero h1{font-size:clamp(112px,5.7vw,154px)}.lead{font-size:29px}.hero-art{min-height:800px}.project-window{max-width:1000px}}
@media(max-width:1100px){.header nav{font-size:14px;gap:18px}.header .button{max-width:205px}.hero{gap:35px}.hero h1{font-size:64px}.hero-art{min-height:500px}.result-row{font-size:14px}.result-row small{font-size:12px}.info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header{padding:12px 18px;min-height:90px}.header img{width:66px;height:66px}.header .button{font-size:12px;padding:13px 15px;max-width:210px}.hero{grid-template-columns:1fr;min-height:auto;padding:50px 0 60px;gap:42px}.hero h1{font-size:clamp(48px,10vw,68px)}.lead{font-size:19px}.eyebrow{font-size:10px}.hero-art{min-height:460px}.prompt{font-size:32px}.result-top{font-size:16px}.result-row{font-size:14px}.result-row small{font-size:12px}.floating-label{font-size:9px;padding:10px}.window-foot{font-size:8px}.hero-note{font-size:14px}.ribbon{font-size:12px;gap:25px}.section{padding:65px 0}h2,.community-grid h2{font-size:40px}.section-head p,.path-body p,.community-grid p,.start-copy p,.plan-grid>div>p{font-size:17px}.path-body p{min-height:0}.path-body h3{font-size:27px}.community-board{padding:24px}.board-title{font-size:29px}.board-item{font-size:17px}.board-item p{font-size:14px}.board-header{font-size:10px}.plan-card{padding:26px}.plan-top{font-size:9px}.plan-card p,.plan-card ul{font-size:17px}.price{font-size:80px}.plan-note{font-size:13px}.faq summary{font-size:20px}.faq details p{font-size:17px}.info-grid{grid-template-columns:1fr}.subpage{padding:50px 0}.info-card{padding:26px}.public-extra-links{font-size:14px;gap:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.catalog-start{margin-top:45px}

/* Faixa em carrossel com pausa e movimento reduzido. */
.ribbon-carousel{position:relative;background:var(--purple);color:white;padding-bottom:36px;overflow:hidden}
.ribbon-carousel .ribbon{display:block;padding:25px 0;overflow:hidden}
.ribbon-track{display:flex;width:max-content}
.ribbon-group{display:flex;align-items:center;gap:clamp(25px,4vw,80px);padding-right:clamp(25px,4vw,80px);flex-shrink:0}
.ribbon-group span{white-space:nowrap}.ribbon-group b{color:var(--coral)}
.ribbon-control{position:absolute;bottom:8px;right:24px;cursor:pointer;font-size:12px;border:1px solid #ffffff80;border-radius:20px;padding:3px 12px;z-index:1}
.ribbon-toggle{position:absolute;width:1px;height:1px;opacity:0}.resume-label{display:none}
.ribbon-toggle:checked~.ribbon-control .pause-label{display:none}.ribbon-toggle:checked~.ribbon-control .resume-label{display:inline}
.ribbon-toggle:focus-visible~.ribbon-control{outline:3px solid var(--coral);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.ribbon-track{animation:ribbon-scroll 36s linear infinite}.ribbon-carousel:hover .ribbon-track,.ribbon-toggle:checked~.ribbon .ribbon-track{animation-play-state:paused}@keyframes ribbon-scroll{to{transform:translateX(-50%)}}}
@media(prefers-reduced-motion:reduce){.ribbon-carousel{padding-bottom:0}.ribbon-control,.ribbon-toggle,.ribbon-group[aria-hidden]{display:none}.ribbon-track{width:100%}.ribbon-group{flex-wrap:wrap;justify-content:center;width:100%;padding:0 18px}}

/* Movimento discreto das ilustrações dos três temas. */
.ribbon-carousel{padding-bottom:0}.ribbon-carousel .ribbon{padding:25px 40px 25px 0}.ribbon-control{bottom:50%;translate:0 50%;right:8px;padding:2px 7px;font-size:14px;border-color:#ffffff40;background:var(--purple);line-height:1.5}
@media(prefers-reduced-motion:no-preference){
.visual-type{animation:type-sway 6s ease-in-out infinite}
.visual-lines{animation:lines-drift 6s ease-in-out infinite}
.flow{animation:flow-sway 7s ease-in-out infinite}
.flow span:nth-of-type(2){animation:flow-card 7s ease-in-out 1s infinite}
.flow span:nth-of-type(3){animation:flow-card 7s ease-in-out 2s infinite}
.project-symbol{animation:code-sway 7s ease-in-out infinite}
.visual-orbit{animation:orbit-sway 9s ease-in-out infinite}
@keyframes type-sway{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -7px;rotate:2deg}}
@keyframes lines-drift{0%,100%{translate:0 0}50%{translate:3px -5px}}
@keyframes flow-sway{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes flow-card{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes code-sway{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes orbit-sway{0%,100%{rotate:0deg}50%{rotate:12deg}}
}

.ribbon-carousel .ribbon{padding:25px 0}
