.calendar-page,.gallery-page{background:var(--paper)}.calendar-hero,.gallery-hero{color:#fff;background:linear-gradient(110deg,#081420f2,#2b4c7eb8),url(/assets/img/banner-interno-3.webp) 50%/cover;align-items:flex-end;min-height:330px;display:flex}.calendar-hero-content,.gallery-hero-content{padding-top:88px;padding-bottom:54px}.calendar-hero h1,.gallery-hero h1{max-width:100%;margin-top:10px;font-size:clamp(2.2rem,5vw,3.5rem)}.calendar-hero p,.gallery-hero p{color:#ffffffd1;max-width:650px;margin:0;font-size:1.08rem}.calendar-section,.gallery-section{padding-top:66px;padding-bottom:92px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.section-heading h2{max-width:100%;margin-top:8px;font-size:clamp(1.8rem,3vw,2.35rem)}.calendar-note{max-width:440px;color:var(--stone);margin:0;font-size:.92rem}.calendar-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.7fr);align-items:start;gap:22px;display:grid}.calendar-panel{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;min-width:0;padding:clamp(16px,2.5vw,28px);box-shadow:0 18px 38px -30px #0e203285}#school-calendar{min-height:620px}.fc{--fc-border-color:#0e20321a;--fc-button-bg-color:var(--ink);--fc-button-border-color:var(--ink);--fc-button-hover-bg-color:var(--cobalt);--fc-button-hover-border-color:var(--cobalt);--fc-today-bg-color:#e9a23b21;--fc-event-bg-color:var(--terracota);--fc-event-border-color:var(--terracota);--fc-page-bg-color:#fff}.fc .fc-toolbar-title{font-family:var(--font-display);color:var(--ink);font-size:clamp(1.2rem,2vw,1.65rem)}.fc .fc-button{border-radius:8px;font-size:.78rem;font-weight:700}.fc .fc-col-header-cell-cushion{color:var(--stone);text-transform:uppercase;padding:10px 4px;font-size:.72rem}.fc .fc-daygrid-day-number{color:var(--ink);padding:8px;font-size:.8rem}.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:var(--terracota);font-weight:800}.fc .fc-event{cursor:pointer;border-radius:5px;padding:2px 4px;font-size:.7rem}.calendar-details{background:var(--ink);color:#fff;border-radius:var(--r-md);min-height:300px;padding:28px;position:sticky;top:110px;box-shadow:0 20px 40px -28px #0e2032a6}.calendar-details .kicker{color:var(--amber)}.calendar-details h3{color:#fff;margin-top:10px;font-size:1.55rem}.calendar-details p{color:#ffffffb8;font-size:.9rem}.calendar-details-events{gap:10px;margin-top:22px;display:grid}.calendar-event-detail{border-left:3px solid var(--amber);background:#ffffff12;border-radius:0 10px 10px 0;padding:12px 14px}.calendar-event-detail strong{color:#fff;font-size:.9rem;line-height:1.4;display:block}.calendar-event-detail span{color:#ffffff9e;margin-top:3px;font-size:.76rem;display:block}@media (width<=980px){.calendar-layout{grid-template-columns:1fr}.calendar-details{position:static}}@media (width<=700px){.section-heading{display:block}.calendar-note{margin-top:12px}.calendar-hero-content,.gallery-hero-content{padding-top:68px;padding-bottom:42px}#school-calendar{min-height:560px}.fc .fc-toolbar{gap:12px;display:grid}.fc .fc-toolbar-chunk{justify-content:center;display:flex}}.gallery-hero{background-image:linear-gradient(110deg,#081420f2,#2b4c7eb8),url(/assets/img/banner-interno-4.webp)}.gallery-heading p{max-width:340px;color:var(--stone);margin:0;font-size:.92rem}.gallery-collage{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:180px;gap:14px;display:grid}.gallery-tile{border-radius:var(--r-md);background:var(--ink);cursor:zoom-in;min-width:0;display:block;position:relative;overflow:hidden;box-shadow:0 18px 34px -26px #0e203299}.gallery-tile:first-child,.gallery-tile:nth-child(6){grid-area:span 2/span 2}.gallery-tile:nth-child(4),.gallery-tile:nth-child(7){grid-row:span 2}.gallery-tile img{object-fit:cover;width:100%;height:100%;transition:transform .35s,filter .35s}.gallery-tile:hover img,.gallery-tile:focus-visible img{filter:brightness(.78);transform:scale(1.05)}.gallery-tile-overlay{color:#fff;opacity:0;justify-content:space-between;align-items:center;padding:7px 10px;font-size:.72rem;font-weight:700;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:12px;left:14px;right:14px;transform:translateY(5px)}.gallery-tile:hover .gallery-tile-overlay,.gallery-tile:focus-visible .gallery-tile-overlay{opacity:1;transform:translateY(0)}.gallery-tile-overlay b{color:var(--amber);font-size:1rem}.graduates-list{gap:28px;margin-top:42px;display:grid}.graduate-feature{border:1px solid var(--line);border-radius:var(--r-lg);min-height:330px;box-shadow:var(--shadow);background:#fff;grid-template-columns:minmax(0,1.55fr) minmax(240px,.75fr);display:grid;overflow:hidden}.graduate-feature--reverse{grid-template-columns:minmax(240px,.75fr) minmax(0,1.55fr)}.graduate-feature--reverse .graduate-feature-media{order:2}.graduate-feature-media{background:var(--porcelain);min-height:330px;box-shadow:none;border-radius:0}.graduate-feature-media img{object-fit:contain;width:100%;height:100%;transition:transform .35s,filter .35s;display:block}.graduate-feature-copy{flex-direction:column;justify-content:center;padding:34px 38px;display:flex;position:relative}.graduate-feature-copy .kicker{margin-bottom:18px}.graduate-feature-copy h3{max-width:none;color:var(--ink);font-family:var(--font-display);margin:0 0 14px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05}.graduate-feature-copy p{max-width:28ch;color:var(--stone);margin:0;font-size:.92rem;line-height:1.55}.graduate-feature-number{color:var(--line-strong,#d5d9de);font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1;position:absolute;top:28px;right:34px}.graduate-feature-action{color:var(--terracota);align-items:center;gap:9px;margin-top:28px;font-size:.76rem;font-weight:800;display:inline-flex}.graduate-feature-action b{color:var(--amber);font-size:1rem}@media (width<=800px){.gallery-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.gallery-tile:first-child,.gallery-tile:nth-child(6){grid-area:span 2/span 2}.gallery-tile:nth-child(4),.gallery-tile:nth-child(7){grid-row:span 1}}@media (width<=720px){.graduate-feature,.graduate-feature--reverse{grid-template-columns:1fr;min-height:0}.graduate-feature--reverse .graduate-feature-media{order:0}.graduate-feature-media{aspect-ratio:3/2;min-height:0}.graduate-feature-media img{height:100%}.graduate-feature-copy{min-height:230px;padding:30px 26px}.graduate-feature-number{font-size:2.8rem;top:24px;right:26px}}
