@font-face{font-family:Montserrat;src:url('assets/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#181a1d;--surface:#24272c;--deep:#111315;--text:#f4f4f2;--muted:#b9bec7;--line:#383d44;--red:#cf2036;--bright:#ff8e9a;--page-gutter:clamp(16px,2.5vw,48px);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body.grafito{margin:0;background:var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.6}body.grafito:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.17;letter-spacing:-.035em}h1,h2{font-weight:800}h3{font-weight:750}p{margin-bottom:1.1em}h1 em,h2 em{font-style:normal;color:inherit}[hidden]{display:none!important}::selection{background:var(--red);color:#fff}:focus-visible{outline:3px solid var(--bright);outline-offset:5px}.wrap{width:min(var(--max),calc(100% - var(--page-gutter) - var(--page-gutter)));margin-inline:auto}.section{padding-block:64px}.eyebrow{font-size:.69rem;line-height:1.6;letter-spacing:.16em;font-weight:650;margin:0 0 18px;color:var(--muted)}.eyebrow:before{content:'';display:inline-block;width:22px;height:3px;background:var(--red);vertical-align:middle;margin-right:10px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:7px;background:var(--red);color:#fff;font-size:.85rem;font-weight:700;line-height:1.4;text-align:center;transition:background .15s,border-color .15s}.button:hover{background:#b7192e;transform:none}.button span{font-size:1.3em}.button-outline{background:transparent;border-color:#687079;color:var(--text)}.button-outline:hover{background:#ffffff0b;border-color:#a5abb4}.button-small{min-height:42px;padding:10px 16px;font-size:.75rem}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-weight:600;font-size:.8rem;line-height:1.5;text-underline-offset:5px}.text-link:hover{text-decoration:underline;color:var(--text)}.text-link span{font-size:1.3em}.muted{color:var(--muted)}.small{font-size:.8rem}.notice{color:var(--muted);font-size:.875rem;line-height:1.7}.notice a{text-decoration:underline}.notice.error{padding:18px;border:1px solid #98525a;border-radius:8px;background:#301d23}.quiet-button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--red);padding:12px 18px}.skip-link:focus{top:12px}
.grafito .site-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(var(--max),calc(100% - var(--page-gutter) - var(--page-gutter)));margin:22px auto 0;min-height:78px;padding:16px 26px;background:var(--deep);border:1px solid var(--line);border-radius:8px 8px 0 0}.grafito .brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.grafito .brand img{width:43px;height:49px;object-fit:contain}.grafito .brand>span{font-size:.97rem;font-weight:850;letter-spacing:.02em;line-height:1.25}.grafito .brand small{display:none}.grafito nav{display:flex;align-items:center;gap:30px}.grafito nav>a:not(.button){position:relative;min-height:44px;display:flex;align-items:center;font-size:.8rem;padding:8px 0;font-weight:500}.grafito nav>a:not(.button):hover{color:#fff}.grafito nav [aria-current=page]:after{content:'';position:absolute;height:3px;left:0;right:0;bottom:0;background:var(--red)}.grafito .member-access{margin-left:34px;color:#d8dce0;background:#ffffff04;border-color:var(--line);font-weight:500}.menu-toggle{display:none}.menu-lines{display:block;width:19px;height:12px;border-block:2px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;height:2px;left:0;right:0;top:3px;background:currentColor}.menu-label{font-size:.75rem}
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,26vw,380px);border:1px solid var(--line);border-top:0;overflow:hidden;background:var(--deep)}.home-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:548px;overflow:hidden}.home-hero picture{position:absolute;inset:0;z-index:-2}.home-hero-image{width:100%;height:100%;object-fit:cover;object-position:68% center}.home-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d1116e3,#0d111688 56%,#0d111622),linear-gradient(0deg,#0d1116e0,transparent 70%)}.home-hero-copy{padding:45px 36px;max-width:730px}.home-hero .eyebrow{color:#e1e4e8}.home-hero h1{font-size:clamp(2.45rem,4.3vw,4.2rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 23px;font-weight:850}.hero-lead{font-size:1rem;color:#e0e1e4;line-height:1.7;max-width:470px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-actions .text-link{color:#e1e4e8}.featured-panel{padding:22px;background:#1d2024;display:flex;align-items:stretch;min-width:0}
.featured-card,.featured-placeholder{padding:22px;background:linear-gradient(130deg,#282c31,#23272c);border:1px solid #363b42;border-radius:9px;width:100%;display:flex;flex-direction:column;align-items:flex-start}.featured-placeholder{justify-content:center}.placeholder-title{font-size:1.55rem;font-weight:750;line-height:1.3}.featured-placeholder>p:not(.eyebrow):not(.placeholder-title){font-size:.875rem;color:var(--muted)}.event-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.event-badges>span,.event-badge,.status-pill{display:inline-flex;border-radius:4px;padding:5px 8px;line-height:1.3;font-size:.57rem;letter-spacing:.02em;font-weight:700;text-transform:uppercase;background:#32383f;border:1px solid #444a52;color:#f1f2f3}.event-badges>.badge-club,.event-badges>.badge-open,.event-badges>.is-open,.event-badge.is-open{background:#ad1f31;border-color:#c93446}.featured-card .date-tile{margin-bottom:16px}.date-tile{display:flex;flex-direction:column;flex-shrink:0;line-height:1;min-width:52px}.date-day{font-size:2.65rem;font-weight:800;letter-spacing:-.05em;line-height:.97}.date-month{font-size:1.05rem;font-weight:600;margin-top:5px;text-transform:uppercase}.date-year{font-size:.65rem;font-weight:450;color:var(--muted);margin-top:7px}.featured-card .date-day{font-size:5.1rem}.featured-card .date-month{font-size:1.65rem}.featured-card h2{font-size:1.4rem;line-height:1.23;margin:0 0 18px;overflow-wrap:anywhere}.featured-card .event-meta,.featured-card .organizer{color:#d1d5da;font-size:.78rem;line-height:1.6;margin:0 0 10px}.featured-card .event-summary{border-top:1px solid #434951;margin:8px 0 18px;padding-top:16px;color:#ced2d8;font-size:.8rem;line-height:1.6}.featured-card .button{width:100%;margin-top:auto}.featured-card .date-year{display:none}
.home-agenda{padding:30px 26px 24px;border:1px solid var(--line);border-top:0;background:#171a1d}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:20px}.section-heading h2{font-size:1.6rem;margin:0;line-height:1.2;position:relative}.section-heading h2:before{content:'';display:block;width:24px;height:3px;background:var(--red);margin-bottom:12px}.section-heading .text-link{font-size:.77rem;flex-shrink:0}.home-event-row{display:grid;grid-template-columns:64px 160px minmax(0,1fr) auto;align-items:center;gap:22px;border:1px solid var(--line);border-radius:8px;background:#202429;padding:20px;margin-top:12px}.home-event-photo{width:160px;height:88px;object-fit:cover;border-radius:5px}.home-event-info{min-width:0}.home-event-info h3{font-size:1rem;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.home-event-info .event-meta,.home-event-info .organizer{font-size:.76rem;color:var(--muted);margin:4px 0}.home-event-row>.text-link{font-size:.77rem;white-space:nowrap}
.club-banner{position:relative;isolation:isolate;min-height:240px;overflow:hidden;border:1px solid var(--line);border-top:0}.club-banner picture{position:absolute;inset:0;z-index:-2}.club-banner img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.club-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c1016d9,#0c101666),linear-gradient(0deg,#0c101688,transparent)}.club-banner-content{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:46px 32px;min-height:240px}.club-banner h2{font-size:2rem;margin:0}.club-banner .eyebrow{margin-bottom:12px;color:#e0e3e6}.club-banner .button{background:#10131870;flex-shrink:0;border-color:#9299a0}.club-story{display:grid;grid-template-columns:1fr 1fr;gap:72px}.club-story h2{font-size:2.25rem;margin-bottom:24px}.club-story>div>p:not(.eyebrow){font-size:.94rem;max-width:500px;color:var(--muted)}.club-values>div{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.club-values>div:first-child{padding-top:0}.club-values h3{font-size:1.05rem;margin:0 0 7px}.club-values p{font-size:.86rem;color:var(--muted);margin:0}.value-number{color:var(--bright);font-size:.7rem;font-weight:600;padding-top:5px}
.home-bottom{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.member-card,.partner-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#202429}.member-card{padding:36px}.member-card h2,.partner-card h2{font-size:1.8rem;line-height:1.2;margin:0 0 20px}.member-card>p:not(.eyebrow){font-size:.86rem;color:var(--muted);max-width:400px}.member-card .button{margin-top:8px}.member-card .join-note{font-size:.73rem!important;margin-top:18px;margin-bottom:0}.join-note a{text-decoration:underline;text-underline-offset:3px}.partner-card{display:grid;grid-template-columns:42% 1fr}.partner-photo{display:block;min-height:340px}.partner-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%}.partner-text{padding:32px 25px}.partner-text .eyebrow{font-size:.59rem;letter-spacing:.09em}.partner-text p:not(.eyebrow){font-size:.86rem;color:var(--muted)}.contact-block{display:flex;justify-content:space-between;align-items:center;gap:42px}.contact-block h2{font-size:1.9rem;margin:0 0 14px}.contact-block p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin:0}.contact-actions{flex-shrink:0}.social-links{display:flex;gap:26px;justify-content:center;margin-top:17px}.social-links a{font-size:.75rem;color:var(--muted);padding:8px 0}.social-links a:hover{color:#fff}.grafito .site-footer{padding:26px 0 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.75rem;color:var(--muted)}.grafito .site-footer .brand img{width:30px;height:34px}.grafito .site-footer .brand>span{font-size:.8rem;color:var(--text)}.site-footer>div{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.site-footer a:not(.brand){padding:10px 0}.site-footer a:hover{color:#fff}
/* The collaborator retains its content and follows the public design system. */
.grafito.geminis-page .school-hero{min-height:650px}.grafito.geminis-page .school-hero h1{font-size:clamp(2.7rem,4.5vw,4.2rem)}.grafito.geminis-page .permit-featured{background:#292d33;border-color:#8d3644}.grafito.geminis-page .school-contact,.grafito.geminis-page .school-permits,.grafito.geminis-page .school-locations{background:var(--bg)}.grafito.geminis-page .school-partner-name img{background:#24272c}.school-subnav{display:flex;gap:28px;padding-block:14px;border-bottom:1px solid var(--line);font-size:.8rem}.school-subnav a{padding:8px 0}.school-subnav a:hover{color:var(--bright)}
/* Centered composition stays proportionate on large monitors. */
@media(min-width:1500px){
 .home-intro{grid-template-columns:minmax(0,1fr) 380px}
 .home-hero-copy{padding-inline:45px}
 .home-hero{min-height:590px}
 .featured-card,.featured-placeholder{padding:24px}
 .featured-card h2{font-size:1.4rem;max-width:26ch}
 .featured-card .event-meta,.featured-card .organizer,.featured-card .event-summary{font-size:.85rem}
 .home-event-row{grid-template-columns:64px 180px minmax(0,1fr) auto;gap:24px}
 .home-event-photo{width:100%;height:100px}
 .grafito.geminis-page .school-hero{min-height:650px}
}
@media(max-width:1100px){.home-intro{grid-template-columns:minmax(0,1fr) 310px}.home-hero-copy{padding:35px 26px}.home-hero h1{font-size:3rem}.hero-actions{gap:12px}.featured-panel{padding:16px}.featured-card{padding:18px}.grafito nav{gap:22px}.grafito .member-access{margin-left:10px}.home-event-row{grid-template-columns:55px 110px minmax(0,1fr) auto;gap:16px}.home-event-photo{width:110px;height:85px}.club-story{gap:40px}.home-bottom{grid-template-columns:1fr 1fr}.partner-card{display:flex;flex-direction:column}.partner-photo{height:180px;min-height:0}.partner-text{padding:28px}.contact-block{align-items:flex-start}.contact-block h2{font-size:1.6rem}}
@media(max-width:900px){.wrap{width:min(var(--max),calc(100% - var(--page-gutter) - var(--page-gutter)))}.grafito .site-header{width:min(var(--max),calc(100% - var(--page-gutter) - var(--page-gutter)));padding:13px 20px;min-height:72px;gap:16px;flex-wrap:wrap}.grafito .brand img{width:34px;height:39px}.grafito .brand>span{font-size:.85rem}.grafito nav{width:100%;display:flex;flex-wrap:wrap;gap:12px}.grafito .member-access{margin-left:auto}.menu-ready .menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;color:var(--text);min-height:44px;border:1px solid var(--line);border-radius:5px;padding:11px}.menu-ready .grafito nav{display:none;position:absolute;top:100%;left:-1px;right:-1px;width:auto;background:var(--deep);padding:20px;border:1px solid var(--line);border-top:0}.menu-ready .grafito nav.is-open{display:flex;flex-direction:column;align-items:stretch}.menu-ready .grafito nav>a{padding:12px;justify-content:flex-start}.menu-ready .grafito nav .member-access{margin:8px 0 0;justify-content:center}.home-intro{grid-template-columns:minmax(0,1fr) 295px}.home-hero h1{font-size:2.45rem}.home-hero-copy{padding:26px 22px}.hero-lead{font-size:.91rem}.hero-actions{flex-direction:column;align-items:flex-start}.featured-card .date-day{font-size:4rem}.featured-card h2{font-size:1.2rem}.home-event-row{grid-template-columns:50px 100px minmax(0,1fr);gap:16px}.home-event-row>.text-link{grid-column:3}.home-event-photo{width:100px}.club-story{grid-template-columns:1fr;gap:30px}.club-story>div>p:not(.eyebrow){max-width:none}.club-banner h2{font-size:1.65rem}.club-banner-content{padding:32px 25px;min-height:220px}.home-bottom{grid-template-columns:1fr 1fr}.member-card{padding:28px}.contact-block{flex-direction:column;gap:26px}.grafito .site-footer{flex-wrap:wrap}.site-footer>div{gap:22px}}
@media(max-width:700px){.wrap{width:min(var(--max),calc(100% - var(--page-gutter) - var(--page-gutter)))}.grafito .site-header{width:100%;margin:0;border-inline:0;border-radius:0;padding:12px 16px}.home-intro{width:100%;grid-template-columns:1fr;border-inline:0}.home-hero{min-height:355px;align-items:flex-end}.home-hero-image{object-position:72% center}.home-hero:after{background:linear-gradient(0deg,#10151af5 0%,#10151a90 57%,#10151a25)}.home-hero-copy{padding:100px 22px 28px;width:100%}.home-hero .eyebrow{font-size:.61rem;margin-bottom:13px;letter-spacing:.12em}.home-hero h1{font-size:clamp(2rem,8.9vw,3rem);margin-bottom:14px}.hero-lead{font-size:.9rem;line-height:1.65;margin-bottom:22px}.hero-actions{gap:9px;align-items:stretch;max-width:none}.hero-actions .button{min-height:48px}.hero-actions .text-link{align-self:flex-start;font-size:.75rem;min-height:38px}.featured-panel{padding:6px 16px 20px;background:var(--bg)}.featured-card{padding:22px;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:17px;align-content:start}.featured-card .event-badges{grid-column:1/-1;margin-bottom:18px}.featured-card .date-tile{grid-column:1;grid-row:2 / 5;margin:0}.featured-card .date-day{font-size:3.3rem}.featured-card .date-month{font-size:1.15rem}.featured-card h2{grid-column:2;font-size:1.2rem;margin-bottom:10px}.featured-card .event-meta,.featured-card .organizer{grid-column:2;font-size:.73rem;margin-bottom:6px}.featured-card .event-summary{grid-column:1/-1;font-size:.8rem;margin:15px 0 16px;padding-top:14px}.featured-card>.button{grid-column:1/-1;min-height:48px}.home-agenda{padding:24px 0 28px;background:transparent;border:0}.section-heading{gap:16px;align-items:flex-end;margin-bottom:20px}.section-heading h2{font-size:1.2rem}.section-heading>.text-link{font-size:.67rem;gap:6px;max-width:122px;line-height:1.5}.home-event-row{grid-template-columns:44px minmax(0,1fr);column-gap:15px;row-gap:8px;padding:18px}.home-event-photo{display:none}.home-event-row .date-day{font-size:2rem}.home-event-row .date-month{font-size:.83rem}.home-event-info h3{font-size:.9rem}.home-event-info .event-meta,.home-event-info .organizer{font-size:.73rem}.home-event-row>.text-link{grid-column:2;font-size:.75rem;min-height:44px;justify-self:start}.club-banner{width:100%;border-inline:0;min-height:265px}.club-banner-content{min-height:265px;align-items:flex-start;flex-direction:column;justify-content:center;gap:23px;padding:32px 22px}.club-banner h2{font-size:1.8rem}.club-banner .eyebrow{font-size:.62rem}.club-banner img{object-position:65% center}.club-banner .button{font-size:.8rem}.club-story{padding-block:42px;gap:24px}.club-story h2{font-size:1.85rem;margin-bottom:19px}.club-story .eyebrow{font-size:.6rem}.club-story>div>p:not(.eyebrow){font-size:.91rem}.club-values>div{gap:16px}.club-values h3{font-size:.96rem}.club-values p{font-size:.82rem}.home-bottom{grid-template-columns:1fr;gap:20px}.member-card{padding:28px 24px}.member-card h2,.partner-card h2{font-size:1.7rem}.member-card .button{width:100%}.partner-card{display:grid;grid-template-columns:38% minmax(0,1fr)}.partner-photo{height:auto;min-height:250px}.partner-text{padding:25px 20px}.partner-card h2{font-size:1.4rem}.partner-text .eyebrow{font-size:.56rem;letter-spacing:.03em}.partner-text .eyebrow:before{display:none}.partner-text p:not(.eyebrow){font-size:.78rem}.partner-text .text-link{font-size:.74rem;gap:8px}.contact-block{padding-block:45px;gap:22px}.contact-block h2{font-size:1.55rem}.contact-block .eyebrow{font-size:.6rem}.contact-actions{width:100%;flex-shrink:1}.contact-actions>.button{width:100%;font-size:.78rem}.grafito .site-footer{padding:24px 0;gap:16px}.site-footer>div{gap:10px 22px;font-size:.67rem}.site-footer>div>a{min-height:44px;display:inline-flex;align-items:center}.section{padding-block:44px}.grafito.geminis-page .school-hero{min-height:760px}.school-subnav{gap:20px;font-size:.75rem;flex-wrap:wrap}}
@media(max-width:360px){.grafito .brand>span{font-size:.8rem}.menu-label{display:none}.home-hero-copy{padding-inline:18px}.featured-card{padding:19px;grid-template-columns:54px minmax(0,1fr);column-gap:12px}.featured-card h2{font-size:1.07rem}.featured-card .date-day{font-size:2.8rem}.featured-card .event-meta,.featured-card .organizer{font-size:.7rem}.event-badges>span{font-size:.53rem;padding:5px 7px}.home-event-row{padding:16px}.partner-text{padding:22px 16px}.partner-card h2{font-size:1.25rem}}
.event-badges>.open-badge{background:#ad1f31;border-color:#c93446}.organizer-badge{font-size:.58rem;text-transform:uppercase;letter-spacing:.04em;color:#c5cbd2;display:inline-block;margin-bottom:7px}.featured-card>.eyebrow{font-size:.62rem;letter-spacing:.08em;margin-bottom:16px}
@media(max-width:700px){.featured-card>.eyebrow{grid-column:1/-1;grid-row:1;margin-bottom:12px}.featured-card>.event-badges{grid-row:2}.featured-card>.date-tile{grid-row:3/6}.featured-card>h2{grid-row:3}.featured-card>.event-meta{grid-row:4}.featured-card>.organizer{grid-row:5}.featured-card>.event-summary{grid-row:6}.featured-card>.button{grid-row:7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* A fluid page does not require full-width paragraphs or oversized content photos. */
.home-event-info h3,.home-event-info p,.club-story>div>p:not(.eyebrow),.club-values p,.partner-text p:not(.eyebrow),.contact-block p:not(.eyebrow){max-width:65ch}
.grafito.geminis-page .school-partnership>p,.grafito.geminis-page .other-permits>p,.grafito.geminis-page .school-contact p:not(.eyebrow){max-width:65ch}
.grafito.geminis-page .school-fleet{width:100%;max-width:720px;justify-self:center}
.grafito.geminis-page .school-contact-inner>img{max-width:760px;justify-self:center}

/* Original club emblem as a quiet, decorative background layer. */
body.grafito{position:relative;isolation:isolate}
body.grafito::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;user-select:none;background:url('assets/logo.webp') center 48%/clamp(860px,110vw,1800px) auto no-repeat;opacity:.045;mix-blend-mode:screen}
@media(max-width:700px){body.grafito::before{background-size:128vw auto;opacity:.03}}