@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;600;700;800;900&display=swap');
.reference-home{--cream:#fffbee;--yellow:#ffe18e;--gold:#ca9700;--ink:#66572e;background:var(--cream);font-family:'Roboto Condensed',sans-serif}
.reference-home h1,.reference-home h2,.reference-home h3{font-family:'Roboto Condensed',sans-serif;font-weight:700}
.reference-home .announcement{font-size:12px;padding:12px 20px 20px}
.reference-home .header{height:130px;padding:0 3.5%}
.reference-home .hero{height:49vw;max-height:850px;min-height:540px}
.reference-home .hero-content{padding:14vw 20px 30px}
.reference-home h1{font-size:clamp(40px,3.9vw,72px);letter-spacing:0;margin:20px 0}
.reference-home .hero-shade{background:linear-gradient(0deg,#463b14e6,#5a4a2680 80%)}
.reference-home .hero-values{bottom:5vw;left:11%;right:11%}
.reference-home .hero-values h3{font-size:18px;margin:16px 0 8px}
.reference-home .hero-values p{font-size:15px}
.reference-home .hero-values span{font-size:22px;color:white}
.reference-home .features{background:#fff5da}
.reference-home .features h2{font-family:'Roboto Condensed',sans-serif;font-weight:800}
.reference-home .eyebrow{font-size:13px;letter-spacing:0;font-weight:700}
.reference-home .about{padding:65px 0 5px;min-height:68vw;background:var(--yellow);position:relative}
.reference-home .about .eyebrow{color:#674c07}
.reference-home .about-copy{max-width:900px;width:74%;margin:130px auto 50px;position:relative;z-index:1;font-size:clamp(17px,2vw,28px);font-weight:600;line-height:1.4}
.reference-home .about-copy p{margin:30px 0}
.reference-home .text-link{font-size:12px;margin:4px 0}
.reference-home .scribble{border:0;border-radius:0;transform:none;background:url('../images/homepage/scrible 3.png') center/contain no-repeat;width:200px;height:500px;top:100px}
.reference-home .scribble.left{left:-100px}.reference-home .scribble.right{right:-85px;transform:rotate(180deg);background-image:url('../images/homepage/scrible 4.png');height:260px;top:85px}
.reference-home .gallery-track{gap:35px;min-height:300px;padding:15px 0}
.reference-home .gallery-track img{width:250px;height:195px;border-radius:8px}
.reference-home .gallery-track img:nth-child(3n+2){width:260px;height:235px}
.reference-home .gallery-track img:nth-child(3n){width:175px;height:140px}
.reference-home .gallery-arrows{margin:10px 0 5px}
.reference-home .wave-bottom:after{height:24px;background:radial-gradient(ellipse at 50% 0,transparent 68%,var(--cream) 70%) 0 0/150px 30px repeat-x}
.reference-home .features.wave-bottom:after{height:3cqw;background:radial-gradient(ellipse at 50% 100%,var(--yellow) 69%,transparent 71%) 0 0/10cqw 3cqw repeat-x}
.reference-home .wide-photo{height:36vw;max-height:650px;border-radius:0 0 22px 22px;overflow:hidden}
.reference-home .wide-photo img{filter:brightness(.66)}
.reference-home .section-wrap{max-width:1200px;padding:100px 70px}
.reference-home .message{min-height:49vw;max-width:1110px;padding-top:90px;padding-bottom:70px;display:flex;flex-direction:column;justify-content:center}
.reference-home .message .carousel-slides{min-height:0;margin-top:42px}
.reference-home .message [data-slide]>p{font-size:clamp(19px,2vw,28px);line-height:1.55;font-weight:500;margin:0}
.reference-home .signature{margin-top:35px;gap:16px}
.reference-home .signature .avatar{width:75px;height:75px}
.reference-home .signature strong{font-size:16px}.reference-home .signature small{font-size:14px}
.reference-home .carousel-dots{gap:5px;margin-top:40px}
.reference-home .carousel-dots button{width:24px;height:24px}
.reference-home .carousel-dots button span{width:6px;height:6px}
.reference-home .schools{max-width:none;min-height:70vw;padding:110px max(14.5%,calc((100vw - 1080px)/2)) 140px;position:relative;overflow:hidden}
.reference-home .schools:before,.reference-home .schools:after{content:'';position:absolute;pointer-events:none;background:center/contain no-repeat;z-index:0}
.reference-home .schools:before{left:-150px;top:0;width:370px;height:800px;background-image:url('../images/homepage/scrible 5.png')}
.reference-home .schools:after{right:-45px;top:15px;width:360px;height:220px;background-image:url('../images/homepage/scrible 2.png')}
.reference-home .section-heading,.reference-home .school-carousel{position:relative;z-index:1}
.reference-home .section-heading h2{font-size:42px;margin:0 0 25px}
.reference-home .section-heading p{font-size:17px;line-height:1.5;max-width:810px}
.reference-home .school-carousel{margin-top:40px}
.reference-home .school-photo>img{height:33vw;max-height:480px;border-radius:24px}
.reference-home .school-card{left:5%;bottom:-190px;width:58%;min-height:270px;padding:38px 45px}
.reference-home .school-card h3{font-size:27px;margin:12px 0 28px}
.reference-home .school-card p,.reference-home .school-card a{font-size:15px}
.reference-home .school-card .eyebrow{display:none}
.reference-home .school-arrows{top:50%;left:-65px;right:-65px;transform:translateY(-50%)}
.reference-home .programs article{height:49vw;max-height:800px}
.reference-home .programs article>div{left:12%;right:10%;bottom:8%}
.reference-home .programs article img{filter:brightness(.65)}
.reference-home .programs .eyebrow{display:none}
.reference-home .programs h3{font-size:30px}
.reference-home .programs p{font-size:17px;line-height:1.5}
.reference-home .programs .green-button{font-size:11px;padding:9px 25px}
.reference-home .story-carousel{max-width:1120px;min-height:0;padding:72px 40px 48px;margin-inline:auto}
.reference-home .story-slide{grid-template-columns:minmax(0,1.15fr) minmax(260px,.82fr);gap:36px 56px;align-items:center;min-height:0}
.reference-home .story-copy .eyebrow{display:block;margin:0 0 26px 120px;color:#ca9700;font-size:13px;font-weight:700;letter-spacing:.3px}
.reference-home .story-slide .quote{gap:28px;margin-top:0;align-items:flex-start}
.reference-home .story-slide .quote h2{margin-top:6px;font-family:'Nunito Sans',sans-serif;font-size:22px;line-height:1.45;font-weight:700;color:#1d1d1d}
.reference-home .story-slide .quote>span{width:92px;height:92px;display:grid;place-items:center;padding-top:14px;font-size:78px;line-height:.7;background:#ca9700;color:#fff}
.reference-home .story-slide .signature{margin-left:120px;margin-top:34px;gap:14px}
.reference-home .story-slide .signature .avatar{width:54px;height:54px;object-fit:cover;object-position:center 18%}
.reference-home .story-slide .signature strong{color:#ca9700;font-size:16px;font-weight:700}
.reference-home .story-slide .signature small{color:#8d9399;font-size:13px;font-weight:600}
.reference-home .story-slide p{margin:16px 0 0 120px;color:#3a3a3a;font-size:16px}
.reference-home .story-photo{width:100%;height:440px;max-width:none;object-fit:cover;object-position:center 18%;border-radius:0;-webkit-mask:url('../images/organic-photo.svg') center / 100% 100% no-repeat;mask:url('../images/organic-photo.svg') center / 100% 100% no-repeat}
.reference-home .story-carousel .carousel-dots{justify-content:flex-start;margin-top:22px;padding-left:120px}
.reference-home .parents{min-height:53vw;background:var(--cream) url('../images/homepage/base parents testimonial.png') center/100% 100% no-repeat;padding:100px 14.5% 50px;position:relative}
.reference-home .parents:before{display:none}
.reference-home .parents>.eyebrow{color:#674c07}
.reference-home .parent-quote{max-width:none;padding:65px 60px;margin:50px auto 20px}
.reference-home .parent-message{font-size:28px;line-height:1.25;margin:0;font-weight:600}
.reference-home .parent-quote .signature strong{color:#fff2bc}
.reference-home .parents .carousel-arrows{gap:35px;font-size:32px;margin-top:30px}
.reference-home .home-promo{position:relative;padding:0;background:transparent}
.reference-home .home-promo-viewport{overflow:hidden}
.reference-home .home-promo-track{display:flex;transition:transform .45s ease}
.reference-home .home-promo-slide{flex:0 0 100%;width:100%;height:auto;margin:0;border-radius:0;object-fit:cover}
.reference-home .home-promo-arrow{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:#785a09;color:#fffbee;display:grid;place-items:center;padding:0;box-shadow:0 4px 16px rgba(80,52,8,.28)}
.reference-home .home-promo-arrow:hover{background:#cb9400;color:#fff}
.reference-home .home-promo-prev{left:22px}
.reference-home .home-promo-next{right:22px}
.reference-home .home-promo-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.reference-home .home-promo .carousel-dots{position:absolute;left:0;right:0;bottom:18px;gap:12px;margin:0}
.reference-home .home-promo .carousel-dots button{width:34px;height:34px}
.reference-home .home-promo .carousel-dots button span{width:13px;height:13px;border-color:#785a09;background:#fffbee;box-shadow:0 0 0 2px rgba(255,251,238,.9)}
.reference-home .home-promo .carousel-dots button[aria-pressed=true] span{background:#cb9400;border-color:#785a09}
@media(prefers-reduced-motion:reduce){.reference-home .home-promo-track{transition:none}}
.reference-home .social{min-height:55vw;padding-top:70px;padding-bottom:100px}
.reference-home .social .eyebrow{display:none}
.reference-home .social h2,.reference-home .news>h2{font-size:42px;margin:0 0 22px}
.reference-home .social>p{font-size:16px;color:#242424}
.reference-home .social-grid{gap:70px;margin-top:75px}
.reference-home .social-grid article{height:24vw;max-height:350px}
.reference-home .instagram-buttons{margin-top:60px;gap:30px}
.reference-home .instagram-button{font-size:16px;min-height:50px;border-radius:8px}
.reference-home .news{min-height:72vw;padding-top:70px;padding-bottom:100px}
.reference-home .news:not(:has(.latest-news-carousel)){min-height:0;padding-bottom:50px}
.reference-home .news-grid{gap:70px;margin-top:100px}
.reference-home .news-grid img{height:24vw;max-height:350px;margin-bottom:30px}
.reference-home .news-grid small{font-size:12px;font-weight:400;line-height:1.3}
.reference-home .news-grid h3{font-size:28px;line-height:1.35;margin-top:12px}
.reference-home .news-grid p{display:none}
.reference-home .all-news-button{margin-top:50px}
.reference-home .site-footer{background:var(--cream) url('../images/homepage/base footer.png') center/100% 100% no-repeat;min-height:75vw;padding-top:60px;position:relative}
.reference-home .footer-yellow{background:none;padding:0 3.5%}
.reference-home .footer-yellow:before,.reference-home .footer-credits:before{display:none}
.reference-home .footer-app{min-height:340px;border-radius:25px;padding:45px 10%;gap:50px}
.reference-home .footer-app h2{font-size:28px}.reference-home .footer-app p{font-size:16px}
.reference-home .footer-information{padding:170px 20px 90px}
.reference-home .footer-doodle{display:none}
.reference-home .footer-heading-row h2{font-size:36px}
.reference-home .footer-heading-row nav{font-size:15px}
.reference-home .footer-contact-row h3{font-size:32px}
.reference-home .footer-credits{background:none;min-height:140px;padding:50px 5%;justify-content:flex-end}
.reference-home .footer-partners{display:none}
@media(min-width:1800px){.reference-home .section-wrap{max-width:1500px}.reference-home .about-copy{max-width:1200px}.reference-home .school-photo>img{max-height:650px}.reference-home .school-card{bottom:-170px}}
@media(max-width:800px){
 .reference-home .header{height:90px}.reference-home .announcement{font-size:10px}
 .reference-home .hero{height:620px;min-height:0}.reference-home .hero-content{padding-top:120px}.reference-home .hero-values{bottom:35px;left:5%;right:5%}.reference-home .hero-values h3{font-size:11px}.reference-home .hero-values p{font-size:11px}
 .reference-home .about{min-height:0;padding-top:55px;padding-bottom:20px}.reference-home .about-copy{width:80%;margin:60px auto 35px;font-size:19px}.reference-home .scribble{width:110px;left:-70px!important;top:110px;height:300px}.reference-home .scribble.right{left:auto!important;right:-60px;height:200px}
 .reference-home .wide-photo{height:360px}.reference-home .section-wrap{padding:65px 25px}
 .reference-home .message{min-height:0}.reference-home .message [data-slide]>p{font-size:19px}.reference-home .signature .avatar{width:55px;height:55px}.reference-home .signature strong{font-size:13px}.reference-home .signature small{font-size:12px}
 .reference-home .schools{padding:65px 40px 160px;min-height:0}.reference-home .schools:after{width:140px;height:100px;right:-50px}.reference-home .schools:before{width:150px;height:400px;left:-100px}.reference-home .section-heading h2{font-size:32px}.reference-home .section-heading p{font-size:14px}
 .reference-home .school-photo>img{height:300px}.reference-home .school-card{left:15px;right:15px;width:auto;bottom:-115px;padding:25px;min-height:200px}.reference-home .school-card h3{font-size:23px;margin-bottom:15px}.reference-home .school-card p,.reference-home .school-card a{font-size:13px}.reference-home .school-arrows{left:-35px;right:-35px}
 .reference-home .programs{grid-template-columns:1fr}.reference-home .programs article{height:400px}.reference-home .programs h3{font-size:28px}.reference-home .programs p{font-size:16px}
 .reference-home .story-carousel{padding:48px 24px 36px}.reference-home .story-slide{grid-template-columns:1fr;gap:28px}.reference-home .story-copy .eyebrow{margin-left:0}.reference-home .story-slide .quote{margin-top:0;gap:16px}.reference-home .story-slide .quote h2{font-size:18px}.reference-home .story-slide .quote>span{width:64px;height:64px;font-size:52px;padding-top:10px}.reference-home .story-slide .signature,.reference-home .story-slide p{margin-left:0}.reference-home .story-photo{height:340px;width:min(100%,300px);justify-self:center}.reference-home .story-carousel .carousel-dots{margin-top:18px;padding-left:0;justify-content:flex-start}
 .reference-home .parents{padding:70px 25px 35px;min-height:0}.reference-home .parent-quote{padding:35px 25px;margin-top:35px}.reference-home .parent-message{font-size:23px}.reference-home .home-promo-arrow{width:42px;height:42px}.reference-home .home-promo-prev{left:10px}.reference-home .home-promo-next{right:10px}
 .reference-home .social,.reference-home .news{min-height:0}.reference-home .social h2,.reference-home .news>h2{font-size:32px}.reference-home .social-grid{gap:15px;margin-top:35px}.reference-home .social-grid article{height:220px}.reference-home .instagram-buttons{margin-top:30px;gap:15px}.reference-home .instagram-button{width:auto;font-size:13px;padding:12px 18px}
 .reference-home .news-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.reference-home .news-grid article{display:block}.reference-home .news-grid img{height:190px;margin-bottom:18px}.reference-home .news-grid h3{font-size:20px}.reference-home .news-grid small{font-size:10px}
 .reference-home .site-footer{padding-top:35px;background-size:100% 100%;min-height:1050px}.reference-home .footer-app{padding:30px 25px 0;gap:30px}.reference-home .footer-app h2{font-size:24px}.reference-home .footer-app p{font-size:14px}.reference-home .footer-information{padding:80px 15px 120px}.reference-home .footer-heading-row h2{font-size:27px}.reference-home .footer-heading-row nav{font-size:12px}.reference-home .footer-contact-row h3{font-size:25px}.reference-home .footer-credits{padding:50px 25px;align-items:flex-end}
}
@media(max-width:480px){.reference-home .news-grid{grid-template-columns:1fr;gap:30px}.reference-home .news-grid article{display:grid;grid-template-columns:115px 1fr;gap:8px 18px}.reference-home .news-grid img{height:150px;grid-row:1 / 4;margin:0}.reference-home .social-grid article{height:160px}.reference-home .instagram-button{width:100%}.reference-home .features.wave-bottom:after{height:20px;background-size:65px 20px}}

/* Contact strip matches the shallow continuous divider in the reference. */
.reference-home .footer-divider{height:12px;margin:40px 0 48px;background:url('../images/footer-divider.svg?v=2') repeat-x left center / 140px 12px;-webkit-mask:none;mask:none}
.reference-home .footer-information{padding-left:2%;padding-right:2%}
.reference-home .footer-contact-row{gap:34px;align-items:center}
.reference-home .footer-contact-row h3{font-size:26px;margin:0;line-height:1.2;white-space:nowrap;font-weight:700;color:#947007}
.reference-home .footer-contact-details{font-size:14px;line-height:1.5;font-weight:700;color:#674c07}
.reference-home .footer-social-links{gap:16px;flex-shrink:0}
.reference-home .footer-social-links a,.reference-home .footer-social-links .social-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#674c00;color:#ffda70}
.reference-home .footer-social-links svg{width:20px;height:20px}
.reference-home .footer-social-links a:hover{background:#8a6600}
@media(max-width:800px){.reference-home .footer-contact-row{gap:18px;flex-wrap:wrap}.reference-home .footer-contact-row h3{font-size:25px;width:auto}.reference-home .footer-contact-details{font-size:15px}.reference-home .footer-social-links{gap:18px;width:100%;margin:10px 0 0}.reference-home .footer-divider{margin:30px 0}}

/* Keep the desktop footer artwork proportional on phones. */
@media(max-width:800px){
 .reference-home .site-footer{min-height:0;padding-top:35px;overflow:hidden;background:#ffd66a}
 .reference-home .footer-yellow{background:#ffd66a}
 .reference-home .footer-credits{min-height:210px;padding:82px 18px 14px;background-color:#fff8e7;background-image:url('../images/homepage/base footer.png');background-repeat:no-repeat;background-position:left calc(100% - 28px);background-size:auto 370px;align-items:flex-end;justify-content:flex-end}
 .reference-home .footer-credits:before{display:none}
 .reference-home .footer-credits>small{position:relative;z-index:1;max-width:45%;font-size:10px;line-height:1.35;text-align:right}
}
@media(max-width:480px){
 .reference-home .footer-credits{min-height:205px;padding:80px 14px 12px;background-position:left calc(100% - 26px);background-size:auto 350px}
 .reference-home .footer-credits>small{max-width:47%;font-size:9px}
}

.reference-home .news{min-height:0;max-width:1240px;padding:75px 70px 65px}
.reference-home .news>h2{font-size:42px;margin:0}
.latest-news-carousel{position:relative;margin-top:75px;text-align:left}
.news-viewport{overflow:hidden}
.news-track{display:flex;gap:80px}
.news-card{flex:0 0 calc((100% - 160px)/3);min-width:0}
.news-card-link{display:block;color:inherit;text-decoration:none}
.reference-home .news-card img{height:auto;aspect-ratio:310 / 375;object-fit:cover;margin-bottom:24px;-webkit-mask:url('../images/organic-photo.svg') center/100% 100% no-repeat;mask:url('../images/organic-photo.svg') center/100% 100% no-repeat}
.news-card time{display:block;font-size:18px;color:#6d7882;line-height:1.4}
.news-category{display:block;font-size:18px;color:#282b30;font-weight:700;line-height:1.4}
.news-author{display:block;margin-top:2px;font-size:16px;color:#6d7882;font-weight:600;line-height:1.4}
.reference-home .news-card h3{font-size:30px;line-height:1.45;font-weight:600;color:#cb9400;margin:20px 0 0}
.news-arrow{position:absolute;top:calc((100vw - 380px)/6);transform:translateY(-50%);border:0;background:transparent;color:#9b7100;width:48px;height:56px;display:grid;place-items:center;padding:10px;z-index:1}
.news-arrow-prev{left:-65px}.news-arrow-next{right:-65px}
.news-arrow svg{width:22px;height:40px;fill:none;stroke:currentColor;stroke-width:1.5}
.news-arrow:hover{color:#674c07}
.news-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reference-home .news .all-news-button{margin-top:40px;font-size:20px;font-weight:600;min-width:230px;padding:13px 24px;border-radius:12px}
@media(min-width:1240px){.news-arrow{top:188px}}
@media(max-width:800px){.reference-home .news{padding:60px 55px}.reference-home .news>h2{font-size:32px}.latest-news-carousel{margin-top:45px}.news-track{gap:30px}.news-card{flex-basis:calc((100% - 30px)/2)}.reference-home .news-card h3{font-size:24px}.news-card time,.news-category,.news-author{font-size:15px}.news-arrow{top:calc((100vw - 140px)*.3)}.news-arrow-prev{left:-48px}.news-arrow-next{right:-48px}}
@media(max-width:540px){.news-card{flex-basis:100%}.news-arrow{top:calc((100vw - 110px)*.6)}.reference-home .news-card h3{font-size:26px}.reference-home .news .all-news-button{font-size:16px;min-width:190px}}

.reference-home .parents{padding:85px 6.5% 40px;min-height:0}
.reference-home .parents>.eyebrow{font-size:20px;color:#282b30;font-weight:700}
.reference-home .parents .parent-quote{padding:75px 85px 65px;margin:55px auto 30px}
.reference-home .parents .parent-message{font-size:clamp(24px,2.45vw,36px);line-height:1.45;font-weight:600;margin:0}
.reference-home .parents .signature{margin-top:70px;gap:35px}
.reference-home .parents .signature .avatar{width:115px;height:115px;object-fit:cover;flex-shrink:0}
.reference-home .parents .signature strong{font-size:21px;color:#fff;font-weight:600}
.reference-home .parents .signature small{font-size:20px;margin-top:4px;color:#fff}
.reference-home .parents .parent-arrows{gap:25px;margin-top:40px}
.parent-arrows button svg{width:40px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.parent-arrows button:disabled{cursor:default;color:#785a09}
@media(max-width:800px){.reference-home .parents{padding:65px 30px 30px}.reference-home .parents .parent-quote{padding:45px 30px;margin-top:40px}.reference-home .parents .parent-message{font-size:25px}.reference-home .parents .signature{gap:20px;margin-top:40px}.reference-home .parents .signature .avatar{width:75px;height:75px}.reference-home .parents .signature strong{font-size:18px}.reference-home .parents .signature small{font-size:16px}.reference-home .parents>.eyebrow{font-size:17px}}

.reference-home .gallery-viewport{overflow:hidden;scroll-snap-type:none;touch-action:pan-y}
.reference-home .gallery-track{padding:15px 0;gap:clamp(20px,2.1vw,42px);width:max-content;min-height:0}
.reference-home .gallery-track [data-gallery-size=regular]{width:clamp(220px,15vw,360px);height:clamp(170px,11.7vw,280px)}
.reference-home .gallery-track [data-gallery-size=tall]{width:clamp(230px,15.6vw,375px);height:clamp(215px,14.1vw,338px)}
.reference-home .gallery-track [data-gallery-size=small]{width:clamp(160px,10.5vw,252px);height:clamp(125px,8.4vw,202px)}

.reference-home .footer-app{grid-template-columns:1.2fr 1fr;min-height:385px;padding:55px 10%;gap:55px;border-radius:36px}
.reference-home .footer-app h2{font-size:32px;margin-bottom:25px}
.reference-home .footer-app p{max-width:550px;font-size:20px;line-height:1.4;margin:0}
.reference-home .footer-app .store-buttons{margin-top:40px;gap:30px}
.reference-home .footer-phones{height:275px}
.reference-home .phone-front{left:0;top:45px;transform:none}
.reference-home .phone-back{right:6%;top:-160px;transform:none}
@media(max-width:900px){.reference-home .footer-app{padding:40px;gap:30px}.reference-home .footer-app h2{font-size:27px}.reference-home .footer-app p{font-size:17px}.reference-home .footer-app .store-buttons{gap:15px}.reference-home .phone-back{right:-30px}}
@media(max-width:700px){.reference-home .footer-app{grid-template-columns:1fr;padding:30px 25px 0;gap:35px;border-radius:26px}.reference-home .footer-app h2{font-size:25px}.reference-home .footer-app p{font-size:16px}.reference-home .footer-app .store-buttons{margin-top:25px;gap:15px}.reference-home .footer-phones{height:220px}.reference-home .phone-front{left:0;top:25px}.reference-home .phone-back{right:0;top:-15px}}

/* Continuous crest-to-crest wave and the history section's edge doodles. */
.reference-home .features.wave-bottom:after{height:1.65cqw;bottom:-1px;-webkit-mask:none;mask:none;background:url('../images/about-wave.svg?v=2') left bottom / 10cqw 1.65cqw repeat-x}
.reference-home .about{padding-top:3.6vw}
.reference-home .about>.eyebrow{font-family:'Nunito Sans',sans-serif;font-size:clamp(14px,1.2vw,20px);color:#242424}
.reference-home .about-down-arrow{display:block;width:30px;height:65px;margin:45px auto 0;color:#674c07}
.reference-home .about-copy{max-width:1200px;width:74%;margin:40px auto 50px;font-family:'Nunito Sans',sans-serif;font-size:clamp(20px,1.9vw,32px);font-weight:700;line-height:1.45}
.reference-home .about-copy p{margin:0 0 45px}
.reference-home .about .text-link{font-size:18px;color:#242424;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}
.reference-home .about .scribble.left{background:url('../images/about-scribble-left.svg') left top / 100% 100% no-repeat;width:15.6vw;height:36vw;top:6.7vw;left:0;transform:none}
.reference-home .about .scribble.right{background:url('../images/homepage/scrible 4.png') left top / 100% 100% no-repeat;width:23.5vw;height:33.6vw;right:-12.2vw;top:6vw;transform:none}
@media(max-width:800px){.reference-home .about{padding-top:40px}.reference-home .about-down-arrow{margin-top:30px;height:50px}.reference-home .about-copy{width:78%;margin-top:30px;font-size:19px}.reference-home .about-copy p{margin-bottom:30px}.reference-home .about .scribble.left{left:0!important;width:16vw;height:50vw;top:100px}.reference-home .about .scribble.right{right:-15vw;width:28vw;height:40vw;top:100px}.reference-home .about .text-link{font-size:15px}}

/* History gallery: alternate landscape and portrait photos around one center line. */
.reference-home .gallery-track{align-items:center;gap:2.4vw;padding:10px 0;margin-left:-3vw;min-height:21vw}
.reference-home .gallery-track [data-gallery-size]{flex:none;border-radius:12px;object-fit:cover}
.reference-home .gallery-track [data-gallery-size=edge]{width:14.5vw;height:10.7vw}
.reference-home .gallery-track [data-gallery-size=tall]{width:18vw;height:15.7vw}
.reference-home .gallery-track [data-gallery-size=small]{width:11.6vw;height:7.5vw}
.reference-home .gallery-track [data-gallery-size=wide]{width:18vw;height:10vw}
.reference-home .gallery-track [data-gallery-size=portrait]{width:18vw;height:21vw}
.reference-home .gallery-track [data-gallery-size=compact]{width:11.6vw;height:9vw}
.reference-home .gallery-arrows{margin-top:25px;margin-bottom:25px}
@media(max-width:800px){.reference-home .gallery-track{gap:20px;margin-left:-45px;min-height:285px}.reference-home .gallery-track [data-gallery-size=edge]{width:180px;height:145px}.reference-home .gallery-track [data-gallery-size=tall]{width:230px;height:210px}.reference-home .gallery-track [data-gallery-size=small]{width:160px;height:110px}.reference-home .gallery-track [data-gallery-size=wide]{width:230px;height:140px}.reference-home .gallery-track [data-gallery-size=portrait]{width:230px;height:275px}.reference-home .gallery-track [data-gallery-size=compact]{width:160px;height:130px}}

.reference-home .admissions-banner{width:min(1140px,calc(100vw - 40px));max-width:1140px;max-height:calc(100dvh - 40px);padding:60px 55px;background:#fff5da;border-radius:24px;overflow:auto;box-shadow:0 15px 40px #0003}
.reference-home .admissions-banner::backdrop{background:rgba(85,60,0,.72)}
.reference-home .admissions-banner[open]{animation:home-banner-zoom-in .38s cubic-bezier(.2,.8,.2,1) both;transform-origin:center}
.reference-home .admissions-banner[open]::backdrop{animation:home-banner-backdrop-in .3s ease-out both}
.reference-home .admissions-banner[open].is-closing{animation:home-banner-zoom-out .28s cubic-bezier(.4,0,1,1) both;pointer-events:none}
.reference-home .admissions-banner[open].is-closing::backdrop{animation:home-banner-backdrop-out .28s ease-in both}
@keyframes home-banner-zoom-in{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}
@keyframes home-banner-zoom-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.78)}}
@keyframes home-banner-backdrop-in{from{background:rgba(85,60,0,0)}to{background:rgba(85,60,0,.72)}}
@keyframes home-banner-backdrop-out{from{background:rgba(85,60,0,.72)}to{background:rgba(85,60,0,0)}}
@media(prefers-reduced-motion:reduce){.reference-home .admissions-banner[open],.reference-home .admissions-banner[open]::backdrop,.reference-home .admissions-banner[open].is-closing,.reference-home .admissions-banner[open].is-closing::backdrop{animation:none}}
.reference-home .admissions-banner .banner-close{position:absolute;top:25px;right:25px;width:66px;height:66px;border:9px solid #fff5da;background:#ca9700;color:#fff;border-radius:50%;display:grid;place-items:center;padding:0;z-index:2}
.banner-close svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round}
.banner-copy{padding:0 85px 28px 0;text-align:justify;text-justify:inter-word}
.banner-copy h2{margin:0;color:#214b39;font-size:clamp(25px,3vw,40px);line-height:1.15}
.banner-copy p{max-width:820px;margin:12px 0 0;color:#5e6d64;font-size:16px;line-height:1.6}
.admissions-poster{width:100%;height:auto;object-fit:contain;border-radius:18px}
.admissions-poster-design{overflow:hidden;border-radius:18px;text-align:center;background:linear-gradient(#bde4f1,#d5e8bd 60%,#ffca39);color:#fff;padding-top:35px}
.admissions-brand-row{display:flex;align-items:center;justify-content:center;gap:30px;color:#245784}
.admissions-accreditation{background:#f4b323;border:5px double #ffdc69;border-radius:50%;width:60px;height:60px;font-size:36px;font-weight:900;line-height:50px;color:#fff}
.admissions-logo{background:#fff;border-radius:12px;padding:8px 15px;font-size:30px;color:#087bb5;font-weight:900;line-height:1}
.admissions-logo small{display:block;color:#111;font-size:12px;margin-top:8px}
.admissions-cambridge{background:#e95034;padding:5px 12px;font-size:23px;line-height:1.1}
.admissions-cambridge small{display:block;font-size:10px}
.admissions-school{font-size:clamp(20px,3vw,40px);font-weight:900;letter-spacing:4px;color:#fff;text-shadow:2px 2px #17649c;margin:30px 0 15px}
.reference-home .admissions-poster-design h3{font-size:clamp(36px,6vw,80px);color:#ffcb39;line-height:1.1;font-weight:900;text-shadow:3px 4px #8b2516,-2px -2px #fff,5px 6px #fff,8px 9px #1e66a1}
.admissions-year{display:inline-block;border-radius:35px;background:#2b5b9f;padding:8px 45px;font-size:clamp(25px,4vw,52px);font-weight:900;margin:25px 0}
.admissions-photo{width:100%;height:360px;object-fit:cover;object-position:center}
.admissions-contact{width:75%;max-width:650px;margin:-30px auto 0;position:relative;background:#124b7a;border:3px solid #ffbe11;border-radius:22px;padding:18px 25px;text-align:left}
.admissions-contact h4{font-size:27px;margin:0 0 12px;color:#fff}
.admissions-contact a{display:flex;justify-content:space-between;gap:20px;font-size:23px;line-height:1.5}
.admissions-contact strong{color:#ffc22a}
.admissions-tagline{background:#ffb908;margin:25px 8% 0;border-radius:35px 35px 0 0;padding:20px;font-size:clamp(22px,3vw,40px);font-weight:800;font-style:italic}
.admissions-social{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;background:#fff;color:#285a9e;border:18px solid #ffb908;padding:15px;font-size:18px}
@media(max-width:700px){.reference-home .admissions-banner{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:35px 18px 20px;border-radius:20px}.reference-home .admissions-banner .banner-close{top:10px;right:8px;width:50px;height:50px;border-width:6px}.banner-close svg{width:26px;height:26px}.banner-copy{padding:16px 50px 20px 0}.banner-copy h2{font-size:24px}.banner-copy p{font-size:14px}.admissions-brand-row{gap:12px}.admissions-accreditation{width:45px;height:45px;line-height:35px;font-size:26px}.admissions-logo{font-size:23px}.admissions-cambridge{font-size:17px}.admissions-school{letter-spacing:1px;font-size:20px}.admissions-photo{height:240px}.admissions-contact{width:90%;padding:15px}.admissions-contact h4{font-size:21px}.admissions-contact a{font-size:16px;gap:12px}.admissions-social{font-size:12px;gap:8px;border-width:10px}.admissions-tagline{padding:15px;font-size:23px}}
.reference-home .admissions-banner.is-poster{width:max-content;max-width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:14px;overflow:hidden}
.reference-home .admissions-banner.is-poster .banner-close{top:8px;right:8px;width:42px;height:42px;border-width:4px}
.reference-home .admissions-banner.is-poster .banner-close svg{width:20px;height:20px}
.admissions-poster-link{display:block;line-height:0}
.reference-home .admissions-banner.is-poster .admissions-poster{display:block;width:auto;max-width:min(432px,calc(100vw - 56px));max-height:calc(100dvh - 56px);height:auto;object-fit:contain;border-radius:14px}

/* Mobile footer uses layout-driven height; the logos must never stretch with it. */
@media(max-width:800px){
    .reference-home .site-footer{background:#ffd66a;background-image:none;min-height:0;padding-top:35px}
    .reference-home .footer-information{padding-bottom:42px}
    .reference-home .footer-credits{background:#fff8e7;min-height:0;padding:48px 24px 30px;flex-direction:column;align-items:center;justify-content:center;gap:22px}
    .reference-home .footer-credits::before{display:block;background:#ffd66a}
    .reference-home .footer-partners{display:flex;visibility:visible;min-height:0;justify-content:center}
    .reference-home .footer-partners.footer-partners-empty{display:none}
    .reference-home .footer-credits>small{text-align:center;line-height:1.5}
}
