/* The 38 is a photographic window. The copy and links remain ordinary HTML. */
.r-home{max-width:none;overflow:clip}
.r-home-hero{display:block;position:relative;min-height:145svh;padding:0;margin-top:-82px;background:#111d2c;color:#fff;isolation:isolate}
.r-hero-stage{height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden;display:flex;align-items:end;padding:150px clamp(24px,5vw,86px) clamp(40px,7vh,72px)}
.r-hero-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 42%,#304963 0%,transparent 52%),linear-gradient(100deg,#101b2b 4%,#19283b 70%,#101b2b);z-index:-2}
.r-hero-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#111d2cef 0%,#111d2c8c 40%,transparent 74%),linear-gradient(0deg,#101b2bdd 0%,transparent 28%);opacity:.9}
.r-hero-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(var(--hero-scale,1));transform-origin:70% 48%;will-change:transform}
.r-hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .35s;pointer-events:none}
.r-hero-art.webgl-ready .r-hero-canvas{opacity:1}
.r-hero-art.webgl-ready .r-hero-number{opacity:0!important}
.r-hero-number,.r-hero-number-outline{position:absolute;top:45%;left:58%;transform:translate(-50%,-50%);display:block;width:max-content;font-family:Inter,Arial,sans-serif;font-size:min(82vw,1120px);font-weight:900;line-height:.82;letter-spacing:-.135em;padding-right:.14em;white-space:nowrap}
.r-hero-number{color:transparent;background-size:cover;background-repeat:no-repeat;background-position:var(--photo-position,center);-webkit-background-clip:text;background-clip:text;filter:saturate(.9) contrast(1.11)}
.r-hero-number--one{background-image:linear-gradient(30deg,#0818273d,#d3e2f021),url('/assets/photos/lyceum-corridor-2022.webp')}
.r-hero-number--two{background-image:linear-gradient(30deg,#0818273d,#d3e2f021),url('/assets/photos/lyceum-autumn-2021.webp');opacity:var(--photo-two,0)}
.r-hero-number-outline{color:transparent;-webkit-text-stroke:1px #d7ecff54;transform:translate(calc(-50% + 8px),calc(-50% + 5px))}
.r-hero-index{position:absolute;top:18%;right:5%;font-size:13px;letter-spacing:.22em;color:#ffffffaa}
.r-hero-copy{position:relative;z-index:2;max-width:900px;transform:translate3d(0,var(--copy-y,0px),0);opacity:var(--copy-opacity,1)}
.r-hero-copy .eyebrow{color:#d6f174;font-size:13px;letter-spacing:.16em}
.r-hero-copy h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(54px,6.6vw,112px);line-height:.99;letter-spacing:-.06em;margin:20px 0 22px;text-wrap:balance;text-shadow:0 3px 20px #07122177}
.r-hero-copy h1 span{color:#dff36d}
.r-hero-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:#f2f5f5;max-width:560px;margin:0 0 26px;text-shadow:0 2px 8px #0c192b}
.r-hero-copy .button-row{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center}
.r-hero-copy .button{background:#dff36d;color:#14222b;border-color:#dff36d;font-weight:750}
.r-hero-copy .button:hover{background:#f0ff9a;border-color:#f0ff9a}
.r-hero-copy .text-link{color:white}
.r-hero-rail{position:absolute;right:clamp(24px,5vw,86px);bottom:clamp(40px,7vh,72px);z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;font-size:12px;letter-spacing:.08em;color:#e5eaf0}
.r-hero-rail-line{display:block;height:2px;width:92px;background:linear-gradient(90deg,#dff36d 33%,#ffffff72 33%)}
body:has(.r-home) .site-header{background:transparent;color:#fff;border-color:transparent;transition:background .3s,color .3s,border-color .3s;backdrop-filter:none}
body:has(.r-home) .site-header .brand-number,body:has(.r-home) .site-header .brand,body:has(.r-home) .site-header a,body:has(.r-home) .site-header button{color:inherit}
body:has(.r-home) .site-header .nav-top-link:hover,body:has(.r-home) .site-header .nav-top-link:focus-visible{color:#182b35}
body:has(.r-home) .site-header .mega-menu,body:has(.r-home) .site-header .mega-menu a{color:#182b35}
body:has(.r-home) .site-header.is-past-hero{background:#ffffffed;color:#182b35;border-color:var(--line);backdrop-filter:blur(16px)}
body:has(.r-home) .site-header:not(.is-past-hero){background:#101b2bbd;backdrop-filter:blur(12px)}
body:has(.r-home) .site-header:not(.is-past-hero) [data-search-open]{background:#ffffff16;border-color:#ffffff6b;color:#fff}
body:has(.r-home) .site-header.is-past-hero [data-search-open]{color:#182b35}
.r-home .r-find{position:relative;z-index:2;max-width:none;padding:clamp(50px,8vw,110px) max(calc((100vw - 1440px)/2 + 64px),clamp(20px,4vw,64px));background:#eaf1f3}
.r-home .r-find h2{font-size:clamp(36px,4.4vw,64px);letter-spacing:-.045em}
.r-home .r-top-tasks a{transition:background .25s,transform .25s}
.r-home .r-top-tasks a:hover{transform:translateY(-4px)}
.r-home .r-section,.r-home .r-today,.r-home .r-home-story,.r-home .r-parent-feature,.r-home .r-two-paths{max-width:1440px;margin-inline:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) .r-hero-number--two{transition:opacity 1.2s ease}}
@media(max-width:900px){
 .r-home-hero{margin-top:-70px;min-height:120svh}
 .r-hero-stage{min-height:620px;padding:120px 24px 64px}
 .r-hero-art{transform-origin:54% 36%}
 .r-hero-number,.r-hero-number-outline{font-size:110vw;left:53%;top:34%}
 .r-hero-stage::after{background:linear-gradient(0deg,#101b2c 4%,#101b2cc4 35%,#101b2c30 75%)}
 .r-hero-copy{max-width:700px}
 .r-hero-copy h1{font-size:clamp(48px,9vw,80px)}
 .r-hero-rail{top:150px;bottom:auto;right:24px;font-size:11px}
 .r-hero-rail span:not(:first-child){display:none}
}
@media(max-width:600px){
 .r-home-hero{min-height:112svh}
 .r-hero-stage{min-height:620px;padding:100px 20px max(38px,env(safe-area-inset-bottom))}
 .r-hero-number,.r-hero-number-outline{font-size:122vw;top:32%;left:54%;letter-spacing:-.14em}
 .r-hero-index{top:105px;right:20px;font-size:11px}
 .r-hero-rail{top:128px;right:20px}
 .r-hero-copy h1{font-size:clamp(43px,11vw,68px);margin:13px 0 16px}
 .r-hero-copy p{font-size:16px;line-height:1.5;margin-bottom:18px}
 .r-hero-copy .button-row{flex-direction:column;align-items:flex-start;gap:8px}
 .r-hero-copy .button{min-height:48px}
 .r-home .r-find{padding:44px 20px}
 .r-home .r-top-tasks a:hover{transform:none}
}
@media(max-height:680px){
 .r-hero-stage{min-height:0;padding-bottom:22px}
 .r-hero-copy h1{font-size:clamp(42px,6vw,76px)}
 .r-hero-copy p{margin-bottom:14px}
 .r-hero-number,.r-hero-number-outline{top:38%}
}
@media(prefers-reduced-motion:reduce){
 .r-home-hero{min-height:0;height:auto;margin-top:0}
 .r-hero-stage{position:relative;height:auto;min-height:680px}
 .r-hero-art,.r-hero-copy{transform:none!important;opacity:1!important}
 .r-hero-number--two{opacity:0!important}
}
html[data-motion=reduce] .r-home-hero{min-height:0;height:auto;margin-top:0}
html[data-motion=reduce] .r-hero-stage{position:relative;height:auto;min-height:680px}
html[data-motion=reduce] .r-hero-art,html[data-motion=reduce] .r-hero-copy{transform:none!important;opacity:1!important}

/* Keep the homepage search controls together and preserve mobile insets. */
.r-home .r-home-search{display:block;min-width:0;margin:20px 0}
.r-home .r-home-search__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;min-width:0}
.r-home .r-home-search__controls input{box-sizing:border-box;width:100%;min-width:0;flex:none}
.r-home .r-home-search__controls .button{min-width:max-content;white-space:nowrap;align-self:stretch}
.r-home .r-search-examples{width:100%;box-sizing:border-box}
.r-home-story .text-link{display:flex;width:fit-content;min-width:min(100%,270px);max-width:100%;min-height:48px;box-sizing:border-box;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 0;padding:11px 14px;border:1px solid #c6d0d5;border-radius:10px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.r-home-story .text-link:hover,.r-home-story .text-link:focus-visible{transform:translateY(-2px);border-color:var(--section);background:var(--section-soft)}
.r-home .r-today{box-sizing:border-box;margin:32px clamp(20px,4vw,64px);padding:32px clamp(16px,2vw,32px)}
@media(max-width:767px){
 .r-home .r-home-search{width:100%}
 .r-home .r-home-search__controls{grid-template-columns:minmax(0,1fr) auto}
 .r-home .r-home-search__controls .button{padding-inline:14px}
 .r-home .r-today{box-sizing:border-box;margin:24px 20px;padding:20px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
 .r-home .r-today>div:first-child{grid-column:1/-1}
 .r-home .r-home-story .text-link{width:100%;min-width:0}
}
@media(max-width:390px){
 .r-home .r-home-search__controls{grid-template-columns:minmax(0,1fr) 100px;gap:8px}
 .r-home .r-home-search__controls .button{padding-inline:8px;font-size:14px}
}
@media print{.r-home-hero{min-height:0;margin:0;color:#111;background:white}.r-hero-stage{height:auto;min-height:0;position:static;padding:20px}.r-hero-art,.r-hero-rail{display:none}.r-hero-copy h1 span{color:#111}.r-hero-copy p{color:#111}}
