html{scroll-behavior:smooth}
.home{background:radial-gradient(1100px 520px at 12% -8%,#e6efd6 0,transparent 60%),var(--bg)}
.home svg{width:100%;height:100%;fill:currentColor}
.wrap{width:min(1200px,calc(100% - clamp(32px,8vw,96px)));margin-inline:auto}

/* Topo */
.home-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 10px}
.home-nav{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.home-nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;transition:background-color .15s}
.home-nav a:hover{background:var(--paper-2)}

/* Grade principal */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;padding-top:clamp(12px,3vw,36px)}
.bento>*{animation:rise .55s cubic-bezier(.2,.7,.2,1) backwards}
.bento>:nth-child(2){animation-delay:.05s}
.bento>:nth-child(3){animation-delay:.1s}
.bento>:nth-child(4){animation-delay:.15s}
.bento>:nth-child(n+5){animation-delay:.2s}

.hello{grid-column:span 8;align-self:end;padding:8px 4px 4px}
.hello-date{font-size:13px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.hello h1{font-size:clamp(50px,7.2vw,100px);letter-spacing:-.055em;line-height:.95;color:var(--green)}
.hello h1 span{display:block}
.hello h1 em{display:block;font-style:normal;font-size:clamp(20px,2.1vw,30px);letter-spacing:-.02em;font-weight:600;color:var(--muted);margin-top:16px}

.month{grid-column:span 4;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:24px}
.month .eyebrow{margin:0}
.month-days{display:flex;align-items:baseline;gap:10px;margin:0}
.month-days strong{font-family:var(--display);font-size:68px;font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--green)}
.month-days span{color:var(--muted);font-weight:600;font-size:15px}
.month-bar{position:relative;height:6px;border-radius:99px;background:var(--line);margin:8px 0 4px}
.month-bar span{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:var(--green);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.month-bar span::after{content:'';position:absolute;right:-8px;top:50%;width:16px;height:16px;transform:translateY(-50%);border-radius:50%;background:var(--paper);border:3px solid var(--green)}
.month-status{font-size:14px;color:var(--muted);margin:0}
.month.deco{--deco-color:var(--mint-2);--deco-op:1;--deco-size:190px;--deco-x:-70px;--deco-y:auto}
.month.deco::after{top:auto;bottom:-70px}
.month-status::first-letter{text-transform:uppercase}

/* Portas */
.door{grid-column:span 6;display:flex;flex-direction:column;gap:6px;min-height:320px;padding:28px;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.door:hover{transform:translateY(-4px);box-shadow:var(--lift)}
.door-gestao{color:#fff;border:1.5px solid var(--edge);box-shadow:var(--pop)}
.door-gestao:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--edge)}
.door-gestao:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--edge)}
.door-gestao.star-deco::after{width:300px;height:300px;right:-80px;top:-90px;bottom:auto;opacity:.07}
.door-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:auto;padding-bottom:32px}
.door-icon{width:56px;height:56px;padding:15px;border-radius:18px;background:var(--mint);color:var(--green)}
.door-gestao .door-icon{background:#ffffff17;color:var(--mint)}
.door-maitre .door-icon{background:var(--lilac);color:var(--lilac-ink)}
.door small{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--muted)}
.door-gestao small{color:#a9c3b0}
.door strong{font-family:var(--display);font-size:clamp(30px,2.8vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.door-text{color:var(--muted);font-size:15px;max-width:42ch}
.door-gestao .door-text{color:#cfe0d3}
.door-go{position:relative;z-index:1;margin-top:24px;display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px}
.door-gestao .door-go{background:var(--mint);color:var(--green)}
.door-maitre .door-go{background:var(--green);color:#fff}
.door-go b{font-size:20px;transition:transform .2s}
.door:hover .door-go b{transform:translateX(5px)}
.door-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--mint);color:var(--mint-ink)}
.door-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.door-gestao .door-badge{background:#ffffff1a;color:var(--mint)}
.door-maitre.deco{--deco-color:var(--lilac);--deco-op:.75;--deco-size:200px;--deco-x:-56px;--deco-y:-64px}
.door-maitre>*,.month>*{position:relative;z-index:1}

/* Atalhos */
.mini{grid-column:span 4;display:flex;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
a.mini:hover{transform:translateY(-2px);box-shadow:var(--lift)}
.mini-icon{width:46px;height:46px;padding:12px;border-radius:50%;background:var(--paper-2);color:var(--green);flex-shrink:0}
.tile-lilac .mini-icon{background:#ffffff8c;color:var(--lilac-ink)}
.mini strong{display:block;font-size:15px}
.mini span{display:block;font-size:13px;color:var(--muted)}
.tile-lilac span{color:#5d567c}
.mini.deco{--deco-color:#fff;--deco-op:.6;--deco-size:96px;--deco-x:-26px;--deco-y:-34px}
.mini.deco>*{position:relative;z-index:1}

/* Como usar */
.howto{padding-top:clamp(64px,8vw,104px);scroll-margin-top:20px}
.section-title{max-width:560px;margin-bottom:26px}
.section-title h2{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.04em;color:var(--green)}
.section-title p:last-child{color:var(--muted);margin:8px 0 0;font-size:16px}
.howto-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.guide{padding:30px;display:flex;flex-direction:column;gap:24px}
.guide header{display:flex;gap:14px;align-items:center}
.guide-icon{width:50px;height:50px;padding:13px;border-radius:15px;background:var(--mint);color:var(--green);flex-shrink:0}
.guide-icon-lilac{background:var(--lilac);color:var(--lilac-ink)}
.guide h3{font-size:22px;letter-spacing:-.02em}
.guide small{color:var(--muted);font-size:13px}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:18px;flex:1}
.steps li{counter-increment:s;position:relative;padding-left:54px;min-height:38px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-3px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);border:1.5px solid var(--line-2);font-family:var(--display);font-weight:800;color:var(--green)}
.steps strong{display:block;font-size:15px}
.steps span{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.guide .secondary{align-self:flex-start}

/* Onde estamos */
.visit{display:grid;grid-template-columns:5fr 7fr;gap:18px;padding-top:clamp(64px,8vw,104px);scroll-margin-top:20px}
.map{display:block;min-height:400px;padding:0;background:var(--mint);color:var(--green);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.map:hover{transform:translateY(-3px);box-shadow:var(--lift)}
.map-road{position:absolute;left:-20%;right:-20%;top:58%;height:22px;background:var(--paper);transform:rotate(-14deg);box-shadow:0 0 0 6px #ffffff4d}
.map-road-2{top:20%;height:14px;transform:rotate(62deg)}
.map-river{position:absolute;left:-10%;right:-10%;bottom:-40px;height:120px;border-radius:50%;border-top:16px solid #c7dbe0;transform:rotate(6deg)}
.map-pin{position:absolute;left:50%;top:44%;width:66px;height:66px;padding:16px;transform:translate(-50%,-50%);border-radius:50% 50% 50% 8px;rotate:-45deg;background:var(--green);color:var(--mint);border:1.5px solid var(--edge);box-shadow:var(--pop)}
.map-pin svg{rotate:45deg}
.map-label{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;padding:12px 16px;border-radius:16px;background:var(--paper);font-weight:700;font-size:14px;color:var(--ink);box-shadow:var(--soft)}
.map-label small{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.map-cta{position:absolute;right:18px;top:18px;padding:8px 14px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:700}
.visit-info{padding:32px}
.visit-info h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;color:var(--green)}
.visit-sub{color:var(--muted);margin:6px 0 22px}
.info-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.info-list li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.info-icon{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--paper-2);color:var(--green);flex-shrink:0}
.info-list strong,.info-strong{display:block;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}
.info-list span{display:block;color:var(--muted);font-size:14px}
.info-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.info-links a{font-size:13px;font-weight:700;text-decoration:none;padding:6px 12px;border-radius:999px;background:var(--mint);color:var(--green)}
.info-links a:hover{background:var(--mint-2)}
.hours{flex:1}
.hours span{display:flex;justify-content:space-between;gap:12px;max-width:340px;padding:3px 0}
.hours i{font-style:normal}
.hours b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

.home-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:48px 0 32px;font-size:12px;letter-spacing:.5px;color:var(--muted)}
.home-foot a{color:var(--muted)}

@keyframes rise{from{opacity:0;transform:translateY(12px)}}
@keyframes reveal{from{opacity:0;transform:translateY(28px) scale(.98)}}
@supports (animation-timeline:view()){
 .guide,.visit>.tile{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
}

@media(max-width:1000px){
 .hello{grid-column:span 12}
 .month{grid-column:span 12;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 24px}
 .month .eyebrow,.month-status{grid-column:2}
 .month-days{grid-column:1;grid-row:1/4}
 .month-bar{grid-column:2}
}
@media(max-width:760px){
 .home-top{padding:16px 0 4px}
 .home-nav a{padding:7px 12px;font-size:13px}
 .bento{gap:12px}
 .door,.mini{grid-column:span 12}
 .door{min-height:0;padding:22px}
 .door-top{padding-bottom:20px}
 .door-icon{width:48px;height:48px;padding:12px}
 .month{padding:20px}
 .month-days strong{font-size:52px}
 .howto-grid,.visit{grid-template-columns:1fr}
 .guide,.visit-info{padding:22px}
 .map{min-height:260px}
}
@media(max-width:420px){
 .home-nav{display:none}
 .month{grid-template-columns:1fr}
 .month .eyebrow,.month-status,.month-bar,.month-days{grid-column:1;grid-row:auto}
}
