@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{
  --ink:#151515;
  --muted:#69665f;
  --paper:#f5f2ec;
  --cream:#e9e3d8;
  --accent:#8e2e24;
  --line:rgba(21,21,21,.14);
  --white:#fff;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff}
.nav-wrap{max-width:var(--max);margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;object-fit:contain}
.brand span{display:flex;flex-direction:column;font-size:10px;letter-spacing:.08em;text-transform:uppercase;line-height:1.25}
.brand strong{font-size:20px;letter-spacing:.16em}.brand small{opacity:.78;font-size:8px;max-width:180px}
.main-nav{display:flex;align-items:center;gap:25px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.main-nav a{opacity:.9}.main-nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:10px 16px}
.hero{min-height:780px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#222;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.24) 65%,rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}
.hero-content{position:relative;z-index:2;width:min(var(--max),100%);margin:auto;padding:150px 32px 105px}
.eyebrow,.section-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}
.hero h1{font-size:clamp(54px,7vw,98px);line-height:.94;letter-spacing:-.045em;margin:18px 0 22px;max-width:800px}
em,h1 em,h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:500}
.hero-text{font-size:17px;max-width:520px;color:rgba(255,255,255,.84)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-block;padding:14px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.button-light{background:#fff;color:#111}.button-dark{background:var(--ink);color:#fff}.text-link{font-size:12px;font-weight:600}.text-link span,.under-link span{margin-left:7px;font-size:17px}
.hero-caption{position:absolute;z-index:2;right:32px;bottom:28px;font-size:9px;text-transform:uppercase;letter-spacing:.16em;opacity:.7}

.intro,.agenda,.gallery,.history{max-width:var(--max);margin:auto;padding:115px 32px}
.section-kicker{color:var(--accent);margin-bottom:30px}
.intro-grid,.history-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;align-items:start}
h2{font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-.045em;margin:0}
.intro-copy{padding-top:6px;max-width:610px}.lead{font-size:22px;line-height:1.45;margin-top:0}.intro-copy p:not(.lead){color:var(--muted);max-width:580px}
.under-link{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink);padding-bottom:7px}

.feature-band{display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream)}
.feature-image{min-height:680px}.feature-image img{width:100%;height:100%;object-fit:cover}
.feature-copy{padding:100px clamp(40px,7vw,105px);display:flex;flex-direction:column;justify-content:center}
.feature-copy .section-kicker{color:var(--accent)}.feature-copy p{color:var(--muted);max-width:480px;margin:32px 0 42px}
.stat-row{display:flex;border-top:1px solid var(--line);padding-top:24px;gap:38px}.stat-row div{display:flex;flex-direction:column}.stat-row strong{font-size:30px;line-height:1}.stat-row span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:7px}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}.section-head .under-link{margin-bottom:7px}
.events{border-top:1px solid var(--line)}
.event{display:grid;grid-template-columns:120px 1fr 40px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.event-date{width:70px;height:70px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date strong{font-size:28px;line-height:1}.event-date span{font-size:9px;letter-spacing:.1em;font-weight:700}
.event-type{font-size:9px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-weight:700}.event h3{font-size:22px;margin:5px 0 1px}.event p{font-size:13px;color:var(--muted);margin:0}.event-arrow{font-size:24px}.agenda-note{font-size:10px;color:#8a867d;margin-top:22px}

.school{display:grid;grid-template-columns:.9fr 1.1fr;background:#ddd5c9}.school-image{min-height:580px}.school-image img{width:100%;height:100%;object-fit:cover}.school-copy{padding:80px clamp(40px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.school-copy p{max-width:510px;color:var(--muted);margin:30px 0}.school-copy .button{align-self:flex-start}

.gallery{padding-bottom:135px}.gallery-head p{max-width:300px;color:var(--muted);font-size:13px;margin:0 0 6px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:260px 260px;gap:14px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-grid img:first-child{grid-row:1 / span 2}.gallery-grid img.tall{grid-row:1 / span 2}.gallery-grid img:last-child{grid-column:3}

.history{border-top:1px solid var(--line)}.history-grid h2{font-size:clamp(42px,4.5vw,62px)}.history-grid p{color:var(--muted);margin-top:0;margin-bottom:20px}

.contact{background:var(--accent);color:#fff;display:grid;grid-template-columns:1fr 1fr;padding:100px max(32px,calc((100% - var(--max))/2 + 32px));gap:10%}.contact .section-kicker{color:rgba(255,255,255,.65)}.contact-info{padding-top:50px}.contact-info p{margin:4px 0}.contact-info a{text-decoration:underline;text-underline-offset:4px}.contact-links{display:flex;gap:25px;margin-top:30px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
footer{background:#111;color:#aaa;padding:26px max(32px,calc((100% - var(--max))/2 + 32px));display:flex;justify-content:space-between;gap:20px;font-size:10px}footer div{display:flex;gap:14px;align-items:center}footer strong{color:#fff;letter-spacing:.15em}footer p{margin:0}

@media(max-width:900px){
  .main-nav{display:none}.nav-wrap{padding:18px 20px}.brand img{width:42px;height:42px}
  .hero{min-height:720px}.hero-content{padding:130px 22px 80px}.hero-caption{display:none}
  .intro,.agenda,.gallery,.history{padding:80px 22px}.intro-grid,.history-grid,.feature-band,.school,.contact{grid-template-columns:1fr;gap:0}
  .intro-copy{padding-top:30px}.feature-image,.school-image{min-height:430px}.feature-copy,.school-copy{padding:65px 30px}
  .event{grid-template-columns:78px 1fr 25px}.event-date{width:64px;height:64px}
  .section-head{align-items:flex-start;flex-direction:column;margin-bottom:38px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.gallery-grid img:first-child{grid-row:1 / span 2}.gallery-grid img.tall{grid-row:2 / span 2}.gallery-grid img:last-child{grid-column:1 / span 2}
  .contact{padding:75px 22px}.contact-info{padding-top:35px}footer{padding:22px;display:block}footer p{margin-top:10px}
}
@media(max-width:520px){
  .hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-text{font-size:15px}
  .stat-row{gap:16px;flex-wrap:wrap}.stat-row strong{font-size:25px}.stat-row span{font-size:8px}
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:240px 240px 240px 240px}.gallery-grid img:first-child,.gallery-grid img.tall,.gallery-grid img:last-child{grid-column:auto;grid-row:auto}
  .event{grid-template-columns:65px 1fr}.event-arrow{display:none}.event h3{font-size:18px}
}
.botao-download {
    display: inline-block;
    padding: 5px 10px;
    background-color: #003366;
    color: white;
    text-decoration: none;
    border-radius: 3px;
    font-family: Arial, sans-serif;
}

.botao-download:hover {
    background-color: #003366;
}

.contact-links {
    display: flex;
    gap: 12px;
}

.social {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    font-size: 20px;
    transition: 0.3s;
}

.facebook {
    background-color: #1877F2;
}

.instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.social:hover {
    transform: translateY(-3px);
    opacity: 0.85;
}