html{scroll-padding-top:118px}
.glass-menu{position:fixed;z-index:100;top:18px;left:24px;right:24px;max-width:1160px;margin:0 auto;min-height:74px;padding:12px 20px;display:flex;align-items:center;gap:18px;border:1px solid #b9e4ee38;border-radius:28px;background:#102d36c4;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%);box-shadow:0 12px 38px #071d2925,inset 0 1px 0 #ffffff10;color:#f2f7f8;transition:background .3s,box-shadow .3s}
.glass-menu.is-scrolled{background:#102d36e3;box-shadow:0 12px 38px #071d2936}
.glass-menu-brand{display:block;flex-shrink:0;width:195px;height:38px;overflow:hidden}
.glass-menu-brand img{display:block;width:210px;height:70px;max-width:none;object-fit:contain;margin-top:-16px;margin-left:-8px;filter:brightness(0) invert(1)}
.glass-menu-links{display:flex;justify-content:center;align-items:center;gap:4px;flex:1}
.glass-menu-links a{font:400 15px/1.3 Outfit,Arial,sans-serif;white-space:nowrap;padding:11px 12px;border-radius:999px;color:#e5f0f3;transition:background .2s,color .2s}
.glass-menu-links a:hover,.glass-menu-links a[aria-current=location]{background:#b9e4ee1f;color:#fff}
.glass-menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:44px;padding:10px 19px;border:1px solid #d5edf4;border-radius:999px;background:linear-gradient(115deg,#eff9fb,#a8d5e1);color:#102d36;font:600 14px/1.3 Outfit,Arial,sans-serif;transition:transform .2s,box-shadow .2s}
.glass-menu-cta:hover{transform:translateY(-2px);box-shadow:0 5px 20px #b9e4ee2b}
.glass-menu-toggle{display:none}
.hero{padding-top:88px}
.project-ribbon .ribbon-viewport{padding:90px 0 96px;overflow:hidden;perspective:1200px}
.project-ribbon .ribbon-group{position:relative}
.project-ribbon .ribbon-project{transform:translate3d(0,var(--arc-y,0px),0) rotate(var(--arc-angle,0deg));transform-origin:center center;will-change:transform;box-shadow:0 18px 34px #102d3617}
.project-ribbon .ribbon-project:focus-visible{outline:3px solid #086a7a;outline-offset:6px}
@media(max-width:1000px){.glass-menu{padding:11px 16px;gap:10px}.glass-menu-brand{width:166px}.glass-menu-brand img{width:185px;margin-left:-10px}.glass-menu-links a{padding:11px 8px;font-size:14px}.glass-menu-cta{padding:10px 13px}}
@media(max-width:820px){html{scroll-padding-top:104px}.glass-menu{top:12px;left:16px;right:16px;min-height:66px;border-radius:24px;padding:10px 16px}.glass-menu-brand{margin-right:auto}.glass-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;order:3;border:1px solid #b9e4ee42;border-radius:50%;background:#ffffff0d;color:#fff}.glass-menu-toggle span{display:block;width:19px;height:2px;background:currentColor;transition:transform .2s}.glass-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.glass-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.glass-menu-links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;align-items:stretch;gap:5px;padding:14px;background:#102d36f5;border:1px solid #b9e4ee38;border-radius:24px;box-shadow:0 18px 35px #071d292e;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.glass-menu.menu-open .glass-menu-links{display:flex}.glass-menu-links a{font-size:17px;padding:14px 18px}.hero{padding-top:90px}.project-ribbon .ribbon-viewport{padding:65px 0 75px}}
@media(max-width:560px){.glass-menu-cta{display:none}.glass-menu-brand{width:180px}.glass-menu-brand img{width:200px}.glass-menu{gap:8px}.project-ribbon .ribbon-viewport{padding:55px 0 65px}}
@media(prefers-reduced-motion:reduce){.glass-menu,.glass-menu-toggle span,.glass-menu-cta,.glass-menu-links a{transition:none}.project-ribbon .ribbon-project{transform:none!important;will-change:auto}.project-ribbon .ribbon-viewport{padding:20px 0 30px;overflow-x:auto}}
/* O cartão se eleva sem interromper o arco calculado do carrossel. */
.project-ribbon .ribbon-project{translate:0 0;scale:1;transition:translate .45s cubic-bezier(.2,.8,.2,1),scale .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
@media(hover:hover) and (pointer:fine){.project-ribbon .ribbon-project:hover{translate:0 -38px;scale:1.035;z-index:3;box-shadow:0 32px 52px #102d3636,0 8px 18px #102d3620}}
.project-ribbon .ribbon-project:focus-visible{translate:0 -38px;scale:1.035;z-index:3;box-shadow:0 32px 52px #102d3636,0 8px 18px #102d3620}
@media(prefers-reduced-motion:reduce){.project-ribbon .ribbon-project,.project-ribbon .ribbon-project:hover,.project-ribbon .ribbon-project:focus-visible{translate:none;scale:1;transition:none}}
