
:root{--red:#b5121b;--dark:#111820;--soft:#f5f5f6;--muted:#66707a;--line:#e5e7ea;--shadow:0 18px 50px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--dark);background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:100;border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.logo img{width:245px;max-height:62px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:600}.nav nav a:hover{color:var(--red)}.menu{display:none;border:0;background:none;font-size:26px}.red-btn,.dark-btn,.outline-btn,.white-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:10px;font-weight:700}.red-btn{background:var(--red);color:#fff}.dark-btn{background:var(--dark);color:#fff}.outline-btn{border:1px solid #fff;color:#fff}.white-btn{background:#fff;color:var(--red)}
.hero{min-height:500px;position:relative;background:url("assets/fachada-hero-real.webp") center/cover no-repeat;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,22,.68) 0%,rgba(8,15,22,.43) 36%,rgba(8,15,22,.06) 68%,rgba(255,255,255,.04) 100%)}.hero-inner{position:relative;color:#fff;max-width:620px;margin-left:max(4%,calc((100vw - 1180px)/2));margin-right:auto}.pill{display:inline-block;background:var(--red);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(42px,6vw,68px);line-height:1.03;margin:20px 0}.hero p{font-size:19px;max-width:520px}.hero-actions{display:flex;gap:12px;margin-top:28px}
.activities-bar{position:relative;margin-top:-38px;z-index:5}.activity-grid{background:#fff;border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(9,1fr);overflow:hidden}.activity-grid div{padding:20px 8px;text-align:center;border-right:1px solid var(--line)}.activity-grid div:last-child{border:0}.activity-grid span{display:block;font-size:30px;margin-bottom:7px}.activity-grid b{font-size:13px}
.section{padding:58px 0}.history-card{display:grid;grid-template-columns:.95fr 1.25fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 34px rgba(0,0,0,.08)}.history-card>img{width:100%;height:100%;min-height:440px;object-fit:cover}.history-copy{padding:44px}.eyebrow{color:var(--red);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.eyebrow.light{color:#fff}.history-copy h2,.family-card h2,.calendar-card h2,.section-heading h2,.contact h2{font-family:"Playfair Display",serif;font-size:36px;margin:10px 0 20px}.history-copy p{line-height:1.65;color:#4c555d}
.compact-grid-section{background:var(--soft)}.compact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.calendar-card,.family-card{background:#fff;border-radius:22px;padding:27px;border:1px solid var(--line);box-shadow:0 8px 28px rgba(0,0,0,.06)}.card-title{display:flex;justify-content:space-between;align-items:center}.card-title img{width:82px;height:82px;object-fit:contain}.calendar-controls{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;margin:8px 0 12px;background:var(--soft);border-radius:12px;padding:6px}.calendar-controls button{border:0;background:#fff;border-radius:9px;font-size:26px;color:var(--red);cursor:pointer}.calendar-controls strong{text-align:center;text-transform:capitalize}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;font-size:10px;font-weight:800;color:var(--muted);padding:5px}.day{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:45px;padding:6px;text-align:left;font-weight:600}.day.other{opacity:.3}.day.event{background:#fff0f1;border-color:#f1aeb2;position:relative}.day.event:after{content:"";position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;bottom:5px;left:5px}.events-box{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.events-box h3{margin:0 0 10px}.event-item{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:10px;background:var(--soft);border-radius:10px;margin-top:7px}.event-item strong{color:var(--red);font-size:12px}.event-item span{font-size:13px}.empty{padding:18px;background:var(--soft);border-radius:10px;color:var(--muted);text-align:center}
.family-card>p{color:var(--muted)}.family-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.family-links a{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:15px;transition:.2s}.family-links a:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.family-links span{font-size:25px}.family-links div{display:flex;flex-direction:column}.family-links small{color:var(--muted);margin-top:3px}
.partners{padding-top:35px}.section-heading{text-align:center;margin-bottom:25px}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.partner-grid div{border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;min-height:95px;display:flex;flex-direction:column;justify-content:center}.partner-grid b{font-size:17px}.partner-grid small{color:var(--muted);margin-top:6px}
.contact{background:var(--red);color:#fff;padding:50px 0}.contact-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:40px;margin-bottom:12px}.contact p{margin:4px 0}
.help-widget{position:fixed;right:20px;bottom:18px;z-index:150}.help-toggle{border:0;background:#fff;border-radius:999px;padding:7px 14px 7px 7px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow);font-weight:700;cursor:pointer}.help-toggle img{width:52px;height:52px;object-fit:contain}.help-panel{position:absolute;right:0;bottom:74px;background:#fff;width:300px;padding:18px;border-radius:20px;box-shadow:var(--shadow);display:none}.help-panel.open{display:block}.help-close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:22px;cursor:pointer}.help-head{display:flex;align-items:center;gap:10px}.help-head img{width:62px;height:70px;object-fit:contain}.help-head div{display:flex;flex-direction:column}.help-head small{color:var(--muted)}.help-panel>a{display:block;background:var(--soft);padding:12px;border-radius:10px;margin-top:8px;font-weight:700}
.enrollment-popup{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:20px}.enrollment-popup.open{display:grid}.popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.popup-card{position:relative;background:#fff;padding:35px;border-radius:24px;width:min(500px,100%);box-shadow:0 28px 80px rgba(0,0,0,.32)}.popup-card h2{font-family:"Playfair Display",serif;font-size:38px;margin:18px 0 10px}.popup-card p{color:var(--muted);line-height:1.55}.popup-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
footer{background:#081725;color:#fff;padding:22px 0}.footer-content{display:flex;justify-content:space-between;font-size:13px}
@media(max-width:980px){.nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.menu{display:block}.activity-grid{grid-template-columns:repeat(3,1fr)}.history-card,.compact-grid{grid-template-columns:1fr}.partner-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.logo img{width:190px}.hero{min-height:540px}.hero-inner{margin:auto}.hero h1{font-size:44px}.hero-actions{flex-direction:column;align-items:flex-start}.activity-grid{grid-template-columns:repeat(3,1fr)}.activity-grid div{padding:15px 5px}.history-copy{padding:28px 22px}.history-card>img{min-height:300px}.family-links{grid-template-columns:1fr}.contact-grid{flex-direction:column;align-items:flex-start}.partner-grid{grid-template-columns:1fr 1fr}.help-toggle span{display:none}.footer-content{flex-direction:column;gap:7px}.calendar-card{padding:18px 12px}.day{min-height:39px;font-size:12px}}

/* Apresentação do Tito */
.tito-intro{padding:48px 0 6px;background:#fff}
.tito-intro-card{
  display:grid;grid-template-columns:150px 1fr;align-items:center;gap:26px;
  padding:22px 30px;border-radius:22px;
  background:linear-gradient(135deg,#fff7f7,#fff);
  border:1px solid #f0d7d9
}
.tito-intro-card img{
  width:138px;height:176px;object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.14))
}
.tito-intro-card h2{
  font-family:"Playfair Display",serif;font-size:34px;margin:7px 0 9px
}
.tito-intro-card p{margin:0;color:var(--muted);line-height:1.6;max-width:820px}

/* Gatinho acompanhando o mouse */
.tito-cursor{
  position:fixed;left:0;top:0;width:48px;height:48px;z-index:9999;
  pointer-events:none;opacity:0;transform:translate(-5px,-6px);
  transition:opacity .18s ease
}
.tito-cursor.visible{opacity:1}
.tito-cursor img{width:100%;height:100%;display:block}
body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:none}

@media(max-width:760px){
  .tito-intro-card{grid-template-columns:1fr;text-align:center;padding:22px}
  .tito-intro-card img{margin:auto}
  .tito-cursor{display:none}
  body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:auto}
}

/* Galeria compacta de momentos dos alunos */
.school-gallery{padding-top:24px;background:#fff}
.gallery-heading{
  display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:22px
}
.gallery-heading h2{
  font-family:"Playfair Display",serif;font-size:36px;margin:8px 0 0
}
.gallery-heading p{max-width:470px;color:var(--muted);line-height:1.55;margin:0}
.gallery-grid{
  display:grid;grid-template-columns:1.35fr .82fr .82fr;
  grid-template-rows:190px 190px;gap:12px
}
.gallery-grid figure{
  position:relative;margin:0;border-radius:18px;overflow:hidden;
  background:#eee;box-shadow:0 8px 24px rgba(0,0,0,.08)
}
.gallery-grid .gallery-main{grid-row:span 2}
.gallery-grid img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease
}
.gallery-grid figure:hover img{transform:scale(1.035)}
.gallery-grid figure::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)
}
.gallery-grid figcaption{
  position:absolute;z-index:2;left:16px;bottom:13px;color:#fff;
  font-weight:700;font-size:14px
}

@media(max-width:850px){
  .gallery-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 170px 170px}
  .gallery-grid .gallery-main{grid-column:span 2;grid-row:auto}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:240px repeat(4,180px)}
  .gallery-grid .gallery-main{grid-column:auto}
}
