
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#0a0a0a;background:#fff}a{color:inherit;text-decoration:none}
.topbar{height:74px;background:#050505;color:#fff;display:flex;align-items:center;padding:0 3vw;gap:28px;position:sticky;top:0;z-index:10}.brand{font-weight:900;font-size:24px;border:2px solid #fff;padding:6px 8px}.topbar nav{display:flex;gap:24px;align-items:center;flex:1}.topbar nav a{text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:.06em}.topbar nav a.active{border-bottom:2px solid #fff;padding-bottom:5px}.icons{display:flex;gap:16px;font-size:12px;text-transform:uppercase}
.hero{background:#000}.hero img{display:block;width:100%;height:auto;max-height:660px;object-fit:cover}.wrap{width:min(1180px,92vw);margin:auto}.intro{padding:72px 0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;margin:0 0 16px}.eyebrow.light{color:#bdbdbd}.intro h1,.registration h2{font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.05em;margin:0 0 28px;text-transform:uppercase}.lead{font-size:24px;max-width:760px;font-weight:700}.visits{font-size:16px;line-height:1.75;color:#444;max-width:1050px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px;background:#111}.facts article{background:#fff;padding:28px}.facts span,.facts small{display:block;color:#666}.facts strong{display:block;font-size:24px;margin:7px 0}.age-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.age-links>*{border:2px solid #111;padding:22px;display:flex;justify-content:space-between;gap:10px}.age-links .selected{background:#111;color:#fff}
.registration{background:#090909;color:#fff;padding:76px 0 90px}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.date-card{background:#fff;color:#000;min-height:190px;padding:26px;display:flex;flex-direction:column;transition:.18s transform}.date-card:hover{transform:translateY(-4px)}.date-card span{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em}.date-card strong{font-size:32px;line-height:1;margin:auto 0}.date-card em{font-style:normal;font-weight:800}.registration h3{font-size:28px;margin:55px 0 18px}.muted .date-card{background:#222;color:#888}.muted .date-card:hover{transform:none}
footer{background:#efefef;padding:55px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid strong{font-size:28px}.footer-grid b{text-transform:uppercase;font-size:12px;letter-spacing:.12em}
@media(max-width:850px){.topbar nav{display:none}.icons{margin-left:auto}.facts,.date-grid,.age-links,.footer-grid{grid-template-columns:1fr}.intro{padding:48px 0}.registration{padding:55px 0}.hero img{min-height:220px;object-fit:cover}.date-card{min-height:150px}}

.footer-brand{min-height:150px;display:flex;align-items:center}
.footer-mascot{display:block;width:min(210px,100%);height:auto;object-fit:contain}

.bodycopy,.story p{font-size:17px;line-height:1.75;color:#444;max-width:950px}
.school-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.school-card{background:#fff;color:#000;padding:26px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.school-card strong{font-size:27px}.school-card span{font-weight:800}.school-card.wide{grid-column:1/-1}.contact-note{margin-top:28px;color:#ccc}.contact-note a{text-decoration:underline;color:#fff}
.story{padding:70px 0}.story h2{font-size:42px;margin:0 0 25px}
.home-hero{background:#000}.home-hero img{display:block;width:100%;height:auto}
.home-programs{padding:70px 0}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.program-card{border:2px solid #111;padding:36px;min-height:240px;display:flex;flex-direction:column}.program-card h2{font-size:36px;margin:0 0 15px}.program-card p{line-height:1.6;color:#555}.program-card span{margin-top:auto;font-weight:900}
@media(max-width:850px){.school-grid,.program-grid{grid-template-columns:1fr}.school-card.wide{grid-column:auto}}

/* Exact supplied hero artwork: never crop. */
.hero{width:100%;background:#fff;overflow:visible}
.hero img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center center}

/* Restored AU homepage/header/footer */
.au-header{background:#050505;color:#fff;min-height:76px;display:flex;align-items:center;padding:0 3.2vw;gap:32px}
.au-header nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}
.au-header nav a{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.065em;color:#fff}
.au-header .header-actions{display:flex;gap:18px;font-size:12px;font-weight:800;text-transform:uppercase}
.home-hero img{width:100%;height:auto;display:block;object-fit:contain}
.home-programs{position:relative;background:#fff}
.home-programs:before{content:"";position:absolute;inset:0;background:url("assets/au-doodle.jpg") center/620px auto repeat;opacity:.035;pointer-events:none}
.program-grid{position:relative}
.au-footer{background:#efefef;padding:52px 0}
.au-footer .footer-grid{align-items:start}
.au-footer .footer-mascot{width:190px;height:auto;display:block}
@media(max-width:850px){.au-header nav{display:none}.au-header .header-actions{margin-left:auto}}

.hero img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;}

/* Camp dates appear directly after the short program introduction. */
.camp-intro{padding-bottom:38px}
.camp-intro .lead{margin-bottom:0}
.camp-details h2{font-size:clamp(28px,4vw,48px);line-height:1.05;text-transform:uppercase;letter-spacing:-.035em;margin:0 0 24px}
@media(max-width:850px){.camp-intro{padding-bottom:28px}}
