:root{--plum:#2d174b;--plum-deep:#1d0d33;--purple:#57236f;--pink:#eb2d79;--pink-dark:#c91f61;--gold:#f4be49;--cream:#fcfaf5;--paper:#f4efe6;--ink:#211a29;--muted:#716b76;--line:#e7e0e8;--green:#b6d86d;--white:#fff;--shadow:0 24px 70px rgba(40,18,61,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55;overflow-x:hidden}
body.modal-open{overflow:hidden}
img{display:block;width:100%;object-fit:cover}
button,a{font:inherit}
button{color:inherit}
a{color:inherit}
.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;left:14px;top:-60px;background:var(--gold);color:var(--plum-deep);padding:10px 16px;z-index:100;font-weight:700;text-decoration:none}.skip-link:focus{top:14px}
.topbar{background:var(--plum-deep);color:#e9e0ef;font-size:11px;letter-spacing:.04em}.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.topbar-right{color:#bdb0c8}.topbar i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 9px 2px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(252,250,245,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.nav-wrap{min-height:82px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;line-height:1}.brand-mark{position:relative;width:50px;height:50px;border-radius:50% 50% 46% 54%;display:grid;place-items:center;background:var(--plum);color:#fff;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px var(--pink);transform:rotate(-4deg);flex:0 0 auto}.brand-mark b{font:italic 700 24px "Playfair Display",serif}.brand-mark small{position:absolute;right:6px;bottom:6px;background:var(--pink);font-size:7px;padding:2px 3px;border-radius:3px;font-weight:700}.brand-copy strong{font:700 20px "Playfair Display",serif;color:var(--plum);display:block;letter-spacing:-.02em}.brand-copy small{display:block;color:var(--pink);font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-top:5px}.nav-links{display:flex;gap:23px;margin-left:auto}.nav-links a,.footer-links a,.footer-links button{text-decoration:none;border:0;background:none;padding:0;cursor:pointer;font-size:12px;color:#514a59;font-weight:600}.nav-links a:hover,.nav-links a.active{color:var(--plum)}.nav-links a.active:after{content:"";display:block;width:5px;height:5px;background:var(--pink);border-radius:50%;margin:5px auto 0}.nav-actions{display:flex;align-items:center;gap:9px}.nav-call,.portal-trigger{height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border-radius:5px;text-decoration:none;font-size:11px;font-weight:700}.nav-call{border:1px solid var(--line);background:#fff;color:var(--plum)}.portal-trigger{border:1px solid var(--plum);background:var(--plum);color:#fff;cursor:pointer}.menu-toggle{display:none;border:0;background:none;padding:8px;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--plum);display:block;margin:4px 0;transition:.25s}
.hero{min-height:635px;padding:75px 0 95px;display:grid;grid-template-columns:.96fr 1.04fr;gap:48px;align-items:center}.hero-copy{min-width:0}.eyebrow{margin:0;color:var(--pink);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.eyebrow>span{width:25px;height:2px;background:currentColor}.eyebrow-purple{color:var(--purple)}.eyebrow-light{color:#f9d57c}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:700;line-height:1.06;letter-spacing:-.04em}.hero h1{font-size:clamp(49px,5.6vw,76px);margin:21px 0 20px;max-width:590px;overflow-wrap:break-word}.hero h1 em,h2 em,.values-panel em{font-style:italic;color:var(--pink)}.hero-lead{font-size:16px;color:var(--muted);line-height:1.75;max-width:520px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;text-decoration:none;border:0;border-radius:5px;padding:15px 19px;font-size:12px;font-weight:700;cursor:pointer}.button span{font-size:18px;line-height:.7}.button-primary{background:var(--plum);color:#fff;box-shadow:0 9px 24px rgba(45,23,75,.22)}.button-primary:hover{background:var(--plum-deep)}.text-link,.under-link{border:0;background:none;padding:0 0 4px;color:var(--plum);font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #bfb3c5;cursor:pointer}.text-link span,.under-link span{font-size:16px;margin-left:6px}.hero-note{display:flex;align-items:center;gap:14px;margin-top:40px}.hero-note p{font-size:11px;color:var(--muted);margin:0}.hero-note strong{color:var(--ink)}.mini-faces{display:flex}.mini-faces span{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--cream);border-radius:50%;background:#f5bdcf;color:var(--plum);font-size:10px;font-weight:700;margin-left:-7px}.mini-faces span:first-child{margin-left:0;background:#d9e9b8}.mini-faces span:last-child{background:#f9d991}
.hero-visual{height:480px;position:relative}.hero-orb{position:absolute;width:370px;height:370px;border-radius:50%;right:5%;top:0;background:#f6d891;opacity:.82}.hero-main-photo{margin:26px 0 0 auto;width:79%;height:410px;border:11px solid white;position:relative;overflow:hidden;box-shadow:var(--shadow);transform:rotate(2deg);z-index:2}.hero-main-photo img{height:100%;transition:opacity .35s;object-position:center center}.hero-main-photo figcaption{position:absolute;inset:auto 0 0;padding:42px 24px 20px;background:linear-gradient(transparent,rgba(28,12,47,.9));color:#fff}.hero-main-photo small{display:block;color:#f9d57c;font-size:9px;letter-spacing:.16em;margin-bottom:6px}.hero-main-photo strong{font:600 23px "Playfair Display",serif}.hero-small-photo{position:absolute;left:0;bottom:7px;width:34%;height:184px;border:8px solid white;box-shadow:0 12px 35px rgba(45,23,75,.2);transform:rotate(-8deg);z-index:3;margin:0}.hero-small-photo img{height:100%;object-position:center 30%}.est-stamp{position:absolute;right:0;top:0;width:78px;height:78px;border:1px solid var(--pink);color:var(--pink);background:rgba(252,250,245,.9);border-radius:50%;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;line-height:1.2;transform:rotate(10deg)}.est-stamp b{font-size:14px}.est-stamp small{font-size:7px}.slider-controls{position:absolute;right:0;bottom:-14px;z-index:5;display:flex;align-items:center;gap:13px;color:var(--muted);font-size:10px}.slider-controls button{width:29px;height:29px;border-radius:50%;border:1px solid #cbc2cf;background:var(--cream);color:var(--plum);cursor:pointer}
.stats-strip{background:var(--plum);color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}.stats div{padding:2px 28px;border-right:1px solid rgba(255,255,255,.18)}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{display:block;color:#f9d57c;font:700 29px "Playfair Display",serif}.stats span{font-size:10px;color:#d9cfdf}
.section{padding:105px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-grid h2,.section-heading h2,.why-copy h2{font-size:clamp(40px,4.2vw,58px);margin:19px 0}.lead{font-size:19px;line-height:1.65;color:#554d5b;margin:0 0 18px}.about-copy>p:not(.lead){font-size:13px;line-height:1.8;color:var(--muted)}.about-copy .under-link{display:inline-block;margin-top:15px}.purpose-grid{display:grid;grid-template-columns:1fr 1fr .94fr;gap:17px;margin-top:78px}.purpose-card{min-height:300px;padding:37px 34px;position:relative}.purpose-dark{background:var(--plum);color:#fff}.purpose-light{background:#f3e8d5}.card-number{position:absolute;right:25px;top:21px;font-size:10px;opacity:.5}.purpose-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:var(--gold);font-size:21px;margin-bottom:39px}.purpose-light .purpose-icon{background:var(--plum);color:var(--gold)}.purpose-card h3{font:700 26px "Playfair Display",serif;margin:0 0 10px}.purpose-card p{font-size:12px;line-height:1.75;max-width:280px;opacity:.82}.values-panel{padding:10px 8px 10px 33px}.values-panel h3{font:700 32px/1.15 "Playfair Display",serif;margin:24px 0 28px}.values-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.values-list span{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.values-list span:last-child{grid-column:span 2}.values-list b{font-size:9px;color:var(--pink);margin-right:8px}
.schools-section{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.section-heading h2{margin-bottom:0;max-width:680px}.section-heading>p{max-width:310px;color:var(--muted);font-size:12px;line-height:1.7}.schools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.school-card{background:#fff;min-height:345px;padding:27px 22px 24px;border-top:4px solid var(--gold);position:relative;transition:transform .25s,box-shadow .25s}.school-card:hover{transform:translateY(-6px);box-shadow:0 17px 35px rgba(40,18,61,.1)}.school-card.playgroup{border-color:var(--green)}.school-card.nursery{border-color:var(--pink)}.school-card.primary{border-color:var(--purple)}.school-number{position:absolute;right:20px;top:18px;color:var(--pink);font-size:10px;font-weight:700}.school-icon{width:50px;height:50px;border-radius:50%;background:#fbf1ce;display:grid;place-items:center;color:var(--plum);font-weight:700;margin:9px 0 37px}.playgroup .school-icon{background:#e4f0c8}.nursery .school-icon{background:#fbd8e6;font-size:11px}.primary .school-icon{background:#e1d9ea;font-size:20px}.school-card h3{font:700 21px "Playfair Display",serif;color:var(--plum);margin:0 0 11px}.school-card p{font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 17px}.school-card ul{list-style:none;padding:0;margin:0}.school-card li{font-size:10px;padding:6px 0;border-top:1px solid var(--line)}.school-card li:before{content:"✓";color:var(--pink);font-weight:700;margin-right:8px}
.portal-section{background:var(--plum);color:#fff;padding:86px 0;position:relative;overflow:hidden}.portal-section:after{content:"R";position:absolute;right:-20px;top:-145px;font:700 390px "Playfair Display",serif;color:rgba(255,255,255,.035);transform:rotate(7deg)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative;z-index:1}.portal-copy h2{font-size:clamp(40px,4.3vw,58px);margin:20px 0}.portal-copy p:not(.eyebrow){max-width:500px;color:#d6ccdc;font-size:14px}.button-gold{background:var(--gold);color:var(--plum-deep);margin-top:18px}.button-gold:hover{background:#ffd46d}.portal-features{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2)}.portal-features span{display:flex;justify-content:space-between;gap:12px;padding:19px 15px 19px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:12px;color:#e4dce8}.portal-features span:nth-child(odd){margin-right:24px}.portal-features b{color:var(--gold)}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:92px;align-items:center}.why-photo{height:590px;position:relative;padding:0 22px 22px 0}.why-photo:before{content:"";position:absolute;inset:22px 0 0 22px;background:var(--gold)}.why-photo img{height:100%;position:relative;object-position:center center}.why-photo>span{position:absolute;left:0;bottom:0;background:#fff;color:var(--plum);padding:11px 15px;font-size:10px;font-weight:700}.why-copy h2{margin-top:20px}.reasons{margin-top:35px}.reasons article{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.reasons article:last-child{border-bottom:1px solid var(--line)}.reasons article>b{color:var(--pink);font-size:10px}.reasons h3{font:700 16px "Playfair Display",serif;color:var(--plum);margin:0 0 3px}.reasons p{font-size:11px;color:var(--muted);margin:0}
.activities-section{background:#fff}.activity-layout{display:grid;grid-template-columns:1.35fr .72fr .72fr;grid-template-rows:235px 235px;gap:15px}.activity-layout figure{margin:0;position:relative;overflow:hidden;background:var(--plum)}.activity-feature{grid-row:span 2}.activity-layout img{height:100%;transition:transform .5s}.activity-layout figure:hover img{transform:scale(1.05)}.activity-layout figcaption{position:absolute;inset:auto 0 0;color:#fff;background:linear-gradient(transparent,rgba(24,10,40,.9));padding:45px 20px 18px}.activity-layout figcaption small{display:block;color:var(--gold);font-size:8px;letter-spacing:.15em}.activity-layout figcaption strong{font:600 21px "Playfair Display",serif}.activity-list{grid-row:span 2;background:var(--paper);padding:28px 25px;display:flex;flex-direction:column;justify-content:center}.activity-list span{padding:12px 0;border-bottom:1px solid #ddd3c5;font-size:12px;font-weight:600;color:var(--plum)}.activity-list span:before{content:"✓";color:var(--pink);margin-right:9px}.activity-small{grid-row:span 2}.activity-small figcaption{font-size:11px;font-weight:700}
.admissions-section{background:var(--plum-deep);color:#fff}.admissions-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.admissions-copy h2{font-size:clamp(42px,4.4vw,60px);margin:20px 0}.admissions-copy>p:not(.eyebrow){color:#d6cddd;max-width:510px;font-size:14px}.admission-steps{list-style:none;padding:0;margin:0}.admission-steps li{display:grid;grid-template-columns:45px 1fr;gap:16px;padding:19px 0;border-top:1px solid rgba(255,255,255,.18)}.admission-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.admission-steps>li>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--pink);font-size:9px;font-weight:700}.admission-steps strong{display:block;font:600 16px "Playfair Display",serif;margin-bottom:3px}.admission-steps small{color:#baadbf;font-size:10px}.summer-card{margin-top:72px;background:var(--pink);display:grid;grid-template-columns:90px 1.1fr 1.4fr auto;gap:24px;align-items:center;padding:22px 25px}.summer-month{height:64px;width:64px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font:700 16px "Playfair Display",serif}.summer-card small{font-size:8px;letter-spacing:.15em;color:#ffdce9}.summer-card h3{font:700 22px "Playfair Display",serif;margin:2px 0}.summer-card p{font-size:10px;color:#fff2f7}.summer-card a{font-size:11px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:4px}
.gallery-section{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:205px 205px;gap:15px}.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:var(--plum)}.gallery-feature{grid-row:span 2}.gallery-grid img{height:100%;opacity:.93;transition:transform .5s}.gallery-grid figure:hover img{transform:scale(1.05)}.gallery-grid figcaption{position:absolute;inset:auto 0 0;padding:38px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(27,12,43,.88));font-size:11px;font-weight:700}.gallery-grid figcaption span{float:right;font-size:16px}
.transport-strip{background:#48215d;color:#fff;padding:61px 0}.transport-inner{display:grid;grid-template-columns:72px 1.2fr 1fr auto;gap:28px;align-items:center}.transport-icon{width:65px;height:65px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.08em}.transport-inner h2{font-size:31px;margin:10px 0 0}.transport-inner>p{font-size:11px;color:#d8cddd;line-height:1.7}.button-outline{border:1px solid #e1d6e5;color:#fff;background:transparent;white-space:nowrap}
.contact-section{background:var(--plum);color:#fff;padding:95px 0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact-intro h2{font-size:clamp(44px,5vw,65px);margin:20px 0}.contact-intro>p:not(.eyebrow){color:#d2c6d8;font-size:13px;line-height:1.75}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-details article{border-top:1px solid rgba(255,255,255,.22);padding-top:16px}.contact-details small{font-size:8px;letter-spacing:.15em;color:var(--gold)}.contact-details h3{font:700 21px "Playfair Display",serif;margin:7px 0}.contact-details p{font-size:11px;color:#d4c8da;line-height:1.7}.contact-details a{font-size:10px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}.contact-lines{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-lines small{grid-column:span 2}.contact-lines a,.contact-lines span{font-size:11px;border:0;padding:0;color:#e5dce8}
footer{background:var(--plum-deep);color:#d7cedd}.footer-main{padding:36px 0;display:flex;align-items:center;gap:38px}.brand-footer .brand-mark{box-shadow:inset 0 0 0 3px var(--plum-deep),inset 0 0 0 5px var(--pink)}.brand-footer .brand-copy strong{color:#fff}.footer-main>p{font:600 14px "Playfair Display",serif;margin-right:auto}.footer-main>p small{font:9px "DM Sans",sans-serif;color:#a99caf}.footer-links{display:flex;gap:23px}.footer-links a,.footer-links button{color:#bfb2c7}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding:16px 0;display:flex;justify-content:space-between;color:#8e8098;font-size:9px}
.portal-modal{display:none;position:fixed;inset:0;background:rgba(23,9,39,.78);z-index:60;place-items:center;padding:20px}.portal-modal.show{display:grid}.modal-card{width:min(460px,100%);background:var(--cream);padding:44px;text-align:center;position:relative;box-shadow:0 30px 80px rgba(12,4,22,.5)}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--muted);font-size:27px;cursor:pointer}.modal-mark{margin:0 auto 22px}.modal-card .eyebrow{justify-content:center}.modal-card h2{font-size:44px;margin:15px 0 12px}.modal-card>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted)}
.floating-call{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;border:4px solid #fff;box-shadow:0 10px 30px rgba(104,12,52,.4);z-index:35;text-decoration:none;font-size:20px;animation:pulse 2.8s infinite}@keyframes pulse{50%{box-shadow:0 10px 30px rgba(104,12,52,.4),0 0 0 11px rgba(235,45,121,0)}}
.reveal{opacity:1;transform:none}.reveal.visible{animation:softReveal .55s ease both}@keyframes softReveal{from{opacity:.78;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.visible{animation:none}.floating-call{animation:none}}
@media(max-width:1000px){.container{width:min(100% - 40px,760px)}.nav-wrap{min-height:74px}.menu-toggle{display:block;margin-left:auto}.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links,.nav-actions{display:none}.nav-links.open{display:flex;position:absolute;left:0;right:0;top:74px;background:var(--cream);flex-direction:column;padding:21px 20px 90px;gap:16px;border-bottom:1px solid var(--line)}.nav-links a.active:after{display:none}.nav-actions.open{display:flex;position:absolute;left:20px;top:332px;z-index:2}.hero{grid-template-columns:1fr;padding:58px 0 82px}.hero-visual{margin-top:5px}.stats{grid-template-columns:repeat(2,1fr);gap:22px}.stats div{border:0;padding:0}.about-grid,.why-grid,.portal-grid,.admissions-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.purpose-grid{grid-template-columns:1fr 1fr}.values-panel{grid-column:span 2;padding-left:0}.schools-grid{grid-template-columns:repeat(2,1fr)}.why-photo{height:520px;max-width:580px}.activity-layout{grid-template-columns:1.25fr .8fr;grid-template-rows:300px 240px}.activity-feature{grid-row:span 2}.activity-list{grid-row:auto}.activity-small{grid-row:auto}.summer-card{grid-template-columns:70px 1fr 1.3fr}.summer-card a{grid-column:2/span 2;width:max-content}.transport-inner{grid-template-columns:72px 1fr auto}.transport-inner>p{grid-column:2/span 2}.footer-main{flex-wrap:wrap}.footer-main>p{margin-right:0}.footer-links{margin-left:auto}}
@media(max-width:620px){.container{width:calc(100% - 32px)}.topbar-right{display:none}.brand-copy strong{font-size:17px}.brand-mark{width:46px;height:46px}.hero h1{font-size:47px}.hero-actions{flex-wrap:wrap;gap:18px}.hero-visual{height:372px}.hero-orb{width:260px;height:260px}.hero-main-photo{height:305px}.hero-small-photo{height:132px}.slider-controls{bottom:-2px}.stats strong{font-size:24px}.section{padding:75px 0}.about-grid{gap:28px}.about-grid h2,.section-heading h2,.why-copy h2{font-size:41px}.purpose-grid{grid-template-columns:1fr;margin-top:55px}.values-panel{grid-column:auto}.purpose-card{min-height:260px}.section-heading{display:block}.section-heading>p{margin-top:19px}.schools-grid{grid-template-columns:1fr}.school-card{min-height:auto}.portal-grid{gap:42px}.portal-features span:nth-child(odd){margin-right:12px}.why-photo{height:430px}.activity-layout{grid-template-columns:1fr 1fr;grid-template-rows:250px 300px}.activity-feature{grid-column:span 2;grid-row:auto}.activity-list{grid-row:auto;padding:17px}.activity-list span{font-size:10px;padding:8px 0}.activity-small{grid-row:auto}.admissions-grid{gap:45px}.summer-card{grid-template-columns:60px 1fr;padding:20px}.summer-card p,.summer-card a{grid-column:span 2}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 160px}.gallery-feature{grid-column:span 2;grid-row:auto}.transport-inner{grid-template-columns:58px 1fr}.transport-icon{width:55px;height:55px}.transport-inner h2{font-size:26px}.transport-inner>p,.transport-inner .button{grid-column:span 2}.contact-details{grid-template-columns:1fr}.contact-lines{grid-column:auto;grid-template-columns:1fr}.contact-lines small{grid-column:auto}.footer-main{display:block}.footer-main>p{margin:19px 0}.footer-links{flex-wrap:wrap}.footer-bottom{gap:20px}.modal-card{padding:40px 25px}.modal-card h2{font-size:38px}.floating-call{right:16px;bottom:16px;width:52px;height:52px}}
@media(max-width:390px){.hero h1{font-size:38px}.portal-features{grid-template-columns:1fr}.portal-features span:nth-child(odd){margin-right:0}.activity-layout{display:block}.activity-layout>*{margin-bottom:12px!important}.activity-feature,.activity-small{height:250px}.summer-card{display:block}.summer-card>*{margin:10px 0}.gallery-grid{display:block}.gallery-grid figure{height:230px;margin-bottom:12px}.topbar{font-size:10px}}

/* Official Rehoseba identity */
.brand-logo{display:block;width:54px;height:54px;object-fit:contain;border-radius:8px;background:#fff;flex:0 0 auto}
.brand-footer .brand-logo{background:#fff}
.modal-logo{width:88px;height:88px;margin:0 auto 22px}
@media(max-width:620px){.brand-logo{width:48px;height:48px}}
