/* Use separate supplied assets for the header and the complete lockup for the footer. */
header .brand{position:relative;display:block;width:390px;height:104px;background:url('./image copy 5.png') left center/contain no-repeat;font-size:0;flex:none}
header .brand>*{display:none!important}
footer .brand{position:relative;display:block;width:180px;height:180px;background:url('./image copy 6.png') center/contain no-repeat;font-size:0}
footer .brand>*{display:none!important}
@media(max-width:700px){header .brand{width:100%;max-width:285px;height:82px}footer .brand{width:150px;height:150px}}

.site-buddy.is-awake .companion-art{animation:companion-celebrate .55s ease-in-out 1}
@keyframes companion-celebrate{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-2deg)}70%{transform:translateY(1px) rotate(2deg)}}
.programme-list.selection-made .list-panda{animation:selection-panda .65s ease-in-out 1!important}
@keyframes selection-panda{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-5px) rotate(-4deg)}70%{transform:translateY(1px) rotate(3deg)}}
.course-choice.is-chosen>span:last-child{color:var(--teal);font-weight:900;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.site-buddy.is-awake .companion-art{animation:none}}
@import url('./panda.css');
:root{--ink:#102639;--cream:#fffaf1;--teal:#087c79;--coral:#ff776b;--yellow:#ffd45c;--line:#d9ded7;font-family:'Trebuchet MS',Arial,sans-serif;color:var(--ink);background:var(--cream);font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #087c79;outline-offset:5px}p{font-size:1.0625rem;line-height:1.7}h1,h2,h3{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;line-height:1.08;margin:0;font-weight:900}h2{font-size:clamp(2.1rem,4.2vw,3.6rem);letter-spacing:-.04em}h3{font-size:1.45rem;letter-spacing:-.025em}.section{width:min(1200px,calc(100% - 96px));margin:auto}.announcement{background:var(--yellow);text-align:center;padding:11px 18px;font-size:.875rem;font-weight:bold}.announcement a{margin-left:14px;text-decoration:underline;text-underline-offset:3px}header{max-width:1440px;margin:auto;padding:25px 48px;display:flex;align-items:center;justify-content:space-between;gap:28px}nav{display:flex;gap:30px;font-size:.9375rem;font-weight:bold}nav a:hover{color:var(--teal)}.brand{display:flex;align-items:center;gap:10px;font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;font-size:1.35rem;font-weight:900;line-height:1}.brand b{display:block;letter-spacing:.3em;font-size:.65rem;margin-top:6px}.brand-panda{font-size:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--ink);color:white;border:2px solid var(--ink);padding:18px 24px;border-radius:100px;font-weight:bold;font-size:1rem;line-height:1.3;box-shadow:0 4px 0 rgba(16,38,57,.1);transition:transform .2s,background .2s,box-shadow .2s;text-align:center}.button:hover{transform:translateY(-3px);background:#185054;box-shadow:0 7px 0 rgba(16,38,57,.1)}.button-small{padding:12px 21px;font-size:.9375rem;background:transparent;color:var(--ink);box-shadow:none}.button-small:hover{color:white}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:30px;padding:70px 0 90px}.eyebrow{font-size:.78rem;letter-spacing:.13em;font-weight:bold;line-height:1.5;display:block}.tiny-star{color:var(--teal);font-size:1.3rem;margin-right:7px;vertical-align:middle}.hero h1{font-size:clamp(3.3rem,6.3vw,5.75rem);letter-spacing:-.055em;margin:25px 0 26px;position:relative}.highlight{color:var(--teal);position:relative;white-space:nowrap}.highlight:after{content:'';position:absolute;bottom:-8px;left:1%;width:97%;height:6px;background:var(--yellow);border-radius:100%;transform:rotate(-1.5deg)}.heading-star{font-size:2.5rem;display:inline-block;color:var(--coral);vertical-align:top;margin:0 0 0 8px;animation:star-spin 20s linear infinite}.hero-copy>p{font-size:1.15rem;max-width:510px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:30px 0}.text-link{font-weight:bold;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px;line-height:1.6}.text-link:hover{color:var(--teal)}.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.hero-tags span{font-size:.8rem;padding:8px 12px;border:1px solid #d8d6cd;border-radius:40px}.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;padding:22px 16px 0}.hero-art .panda-logo{width:min(100%,355px);z-index:1;position:relative}.art-orbit{position:absolute;width:100%;aspect-ratio:1;border-radius:49% 51% 40% 60%/53% 43% 57% 47%;background:#ffe599;z-index:-1;top:0;transform:rotate(-10deg)}.art-orbit:after{content:'';position:absolute;inset:-12px;border:1px dashed #d6ab3d;border-radius:50%;transform:rotate(15deg)}.sticker{position:absolute;z-index:2;font-size:.8rem;font-weight:bold;padding:13px 17px;background:white;border:1px solid var(--ink);border-radius:9px;box-shadow:3px 4px 0 var(--ink)}.sticker-one{top:10px;left:-12px;transform:rotate(-9deg)}.sticker-two{right:-15px;bottom:67px;transform:rotate(7deg);background:#c9efdf}.hero-art p{font-size:.8rem;margin:25px 0 10px;text-align:center}.motion-button{border:0;border-bottom:1px solid var(--ink);background:transparent;font-size:.8rem;cursor:pointer;padding:5px}.word-ribbon{overflow:hidden;background:var(--teal);color:#fff7db;padding:18px 0;transform:rotate(-1.3deg);margin:10px 0 15px;width:100%}.word-ribbon>div{white-space:nowrap;word-spacing:35px;font-size:1.45rem;font-weight:bold;letter-spacing:.06em;width:max-content;animation:ribbon 35s linear infinite}.word-ribbon span{color:var(--yellow)}.pillars{padding:100px 0 70px}.section-intro{max-width:700px;margin-bottom:45px}.section-intro h2{margin:18px 0}.section-intro p{max-width:600px}.teal-text{color:var(--teal)}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pillar-card{border:1.5px solid var(--ink);padding:25px 22px 22px;border-radius:20px;box-shadow:0 5px 0 var(--ink);display:flex;flex-direction:column;min-height:285px;transition:transform .25s,box-shadow .25s}.pillar-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 12px 0 var(--ink)}.teal{--accent:#087c79;--surface:#dbf2e8}.coral{--accent:#a53029;--surface:#ffded5}.yellow{--accent:#7b5900;--surface:#fff0b7}.blue{--accent:#2c51a4;--surface:#e1ecff}.pillar-card{background:var(--surface)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.emoji{font-size:2.3rem}.number{font-size:.85rem;opacity:.7}.pillar-card h3{font-size:1.38rem;line-height:1.18;min-height:53px}.pillar-card p{font-size:.94rem;line-height:1.5;margin-bottom:27px}.card-link{margin-top:auto;font-weight:bold;font-size:.85rem;display:flex;justify-content:space-between}.programme-section{padding:20px 0 95px}.programme{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cdd4cc;gap:80px;padding:65px 0;scroll-margin-top:30px}.programme-story h2{margin:18px 0 22px;max-width:520px}.programme-story .eyebrow{color:var(--accent)}.programme-story p{max-width:510px;margin-bottom:24px}.programme-list{background:var(--surface);border-radius:22px;padding:32px;align-self:center;transform:rotate(1deg)}.programme:nth-child(even) .programme-list{transform:rotate(-1deg)}.list-label{font-size:.75rem;font-weight:bold;letter-spacing:.13em;color:var(--accent)}.programme-list ul{list-style:none;padding:8px 0 0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.programme-list li{font-size:.96rem;line-height:1.45;padding:12px 0;display:flex;gap:10px;border-bottom:1px solid #10263918}.programme-list li span{color:var(--accent)}.approach{background:var(--teal);color:var(--cream);padding:90px 0 60px;position:relative;border-radius:55px 55px 0 0}.approach-heading{max-width:790px}.approach-heading h2{margin:20px 0}.approach-heading h2 em{font-style:normal;color:var(--yellow)}.approach-heading p{max-width:630px;color:#e1f4ed}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:55px 0}.approach-icon{font-size:2.8rem;color:var(--yellow);display:block;margin-bottom:22px}.approach-grid h3{font-size:1.4rem}.approach-grid p{color:#e1f4ed;font-size:1rem}.panda-values{display:flex;flex-wrap:wrap;gap:20px;align-items:center;border-top:1px solid #ffffff40;padding-top:30px}.panda-values strong{font-size:1.5rem;color:var(--yellow);margin-right:15px}.panda-values span{font-size:.9rem}.panda-values span:before{content:'•';margin-right:16px;color:var(--yellow)}.booking-section{padding:115px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.booking-copy h2{margin:20px 0}.steps{list-style:none;padding:0;margin:30px 0}.steps li{display:flex;gap:15px;align-items:center;margin:17px 0;font-size:1rem;font-weight:bold}.steps li span{width:32px;height:32px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:.9rem;flex-shrink:0}.booking-card{background:white;border:2px solid var(--ink);border-radius:24px;padding:35px;box-shadow:8px 8px 0 #ffcd64}.booking-card h3{font-size:1.8rem;margin:12px 0}.booking-card>p{font-size:.95rem}.booking-card fieldset{border:0;padding:0;margin:23px 0;display:grid;gap:9px}.booking-card label{position:relative;cursor:pointer}.booking-card input{position:absolute;opacity:0;width:1px;height:1px}.booking-card label>span{display:block;padding:13px 15px;border:1px solid #d3d9d5;border-radius:11px;font-size:.94rem;transition:background .2s,border-color .2s}.booking-card input:checked+span{border:2px solid var(--teal);background:#e1f5ee;padding:12px 14px;font-weight:bold}.booking-card input:focus-visible+span{outline:3px solid #df9b00;outline-offset:2px}.whatsapp-button{background:var(--teal);border-color:var(--teal);width:100%;gap:10px}.phone-link{display:block;text-align:center;font-weight:bold;margin-top:18px;font-size:1rem}.booking-card .booking-note{font-size:.8rem;color:#546367;line-height:1.5;text-align:center;margin-bottom:0}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:10px 0 100px}.faq-section h2{margin-top:20px}.faqs details{border-bottom:1px solid #cdd4cc;padding:20px 0}.faqs details:first-child{border-top:1px solid #cdd4cc}.faqs summary{cursor:pointer;font-size:1.08rem;font-weight:bold;list-style:none;position:relative;padding-right:35px;line-height:1.4}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:4px;top:0;font-size:1.5rem;font-weight:normal}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:.98rem;margin-bottom:4px;color:#42545d}.closing{padding:65px 24px 75px;background:var(--yellow);text-align:center}.closing>span{font-size:3rem;color:var(--teal);display:block;margin-bottom:20px}.closing h2{margin-bottom:30px}footer{padding:42px 48px 80px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;max-width:1440px;margin:auto}footer p{font-size:.9rem}footer>a:last-of-type{margin-left:auto;font-weight:bold;font-size:.94rem}footer small{flex-basis:100%;font-size:.8rem;color:#53616a}.floating-chat{position:fixed;right:23px;bottom:21px;z-index:10;border:2px solid white;border-radius:50px;box-shadow:0 3px 20px #10263930;background:var(--teal);color:white;padding:13px 20px;font-size:.9rem;font-weight:bold;display:flex;align-items:center;gap:8px}.floating-chat>span:first-child{font-size:1.3rem}.skip{position:fixed;top:-70px;left:20px;z-index:100;padding:15px;background:white}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.will-reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.will-reveal.is-visible{opacity:1;transform:translateY(0)}.pillar-grid .reveal:nth-child(2){transition-delay:.08s}.pillar-grid .reveal:nth-child(3){transition-delay:.16s}.pillar-grid .reveal:nth-child(4){transition-delay:.24s}@keyframes ribbon{to{transform:translateX(-25%)}}@keyframes star-spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:120px}}@media(max-width:1050px){.section{width:calc(100% - 56px)}header{padding:24px 28px}nav{gap:17px}.hero{gap:25px;padding-top:50px}.hero h1{font-size:4rem}.heading-star{display:none}.sticker{font-size:.7rem;padding:10px}.sticker-two{right:-6px}.pillar-grid{grid-template-columns:repeat(2,1fr)}.pillar-card{min-height:255px}.programme{gap:35px}.booking-section{gap:40px}.booking-card{padding:27px}.programme-list{padding:26px}.programme-list ul{grid-template-columns:1fr}.approach-grid{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:20px}.section{width:calc(100% - 40px)}.announcement{font-size:.75rem;line-height:1.5}.announcement a{margin-left:7px}header{padding:21px 20px;gap:15px}nav{display:none}.brand{font-size:1.15rem}.brand-panda{font-size:2.1rem}.button-small{padding:10px 15px;font-size:.85rem}.hero{grid-template-columns:1fr;gap:55px;padding:35px 0 65px}.hero h1{font-size:clamp(2.9rem,11vw,4.4rem)}.eyebrow{font-size:.74rem}.hero-copy>p{font-size:1.05rem}.hero-actions{gap:20px;margin:25px 0}.hero-tags{margin-top:20px}.hero-art{max-width:380px;width:90%;margin:auto}.hero-art .panda-logo{max-width:300px}.sticker-one{left:-12px;top:-7px}.sticker-two{right:-10px;bottom:78px}.hero-art p{font-size:.75rem}.word-ribbon>div{font-size:1.1rem;word-spacing:22px}.pillars{padding:65px 0 45px}.section-intro{margin-bottom:30px}.pillar-grid{gap:16px}.pillar-card{padding:20px 15px;min-height:270px;border-radius:15px}.pillar-card h3{font-size:1.14rem}.pillar-card p{font-size:.875rem}.card-top{margin-bottom:20px}.emoji{font-size:1.85rem}.card-link{font-size:.75rem;gap:5px}.programme-section{padding-bottom:45px}.programme{grid-template-columns:1fr;gap:24px;padding:42px 0}.programme-list ul{grid-template-columns:1fr 1fr;gap:0 15px}.programme-list li{font-size:.87rem}.programme-list{padding:24px 20px}.approach{padding:60px 0 40px;border-radius:30px 30px 0 0}.approach-grid{grid-template-columns:1fr;gap:22px;margin:30px 0}.approach-grid>div{display:grid;grid-template-columns:45px 1fr;gap:0 14px}.approach-icon{grid-row:span 2;font-size:2.3rem;margin:0}.approach-grid h3{font-size:1.25rem}.approach-grid p{margin:10px 0}.panda-values{gap:14px}.panda-values strong{width:100%}.panda-values span{font-size:.8rem}.panda-values span:before{margin-right:8px}.booking-section{grid-template-columns:1fr;padding:65px 0 75px;gap:30px}.booking-card{padding:25px 21px;box-shadow:5px 5px 0 #ffcd64}.booking-card h3{font-size:1.65rem}.faq-section{grid-template-columns:1fr;gap:27px;padding-bottom:65px}.faqs summary{font-size:1rem}.closing{padding:45px 20px 55px}.closing h2{font-size:2.05rem}footer{padding:35px 20px 85px;gap:20px}footer p{width:100%;margin:0}footer>a:last-of-type{margin-left:0}footer small{margin-top:5px}.floating-chat{right:14px;bottom:14px;padding:11px 15px}.hero-art .panda-logo:focus-visible{outline-offset:0}}
@media(max-width:360px){.pillar-grid{grid-template-columns:1fr}.pillar-card{min-height:230px}.programme-list ul{grid-template-columns:1fr}.hero h1{font-size:2.8rem}.highlight{white-space:normal}.hero-actions .button{font-size:.9rem;padding:16px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

/* The actual Panda Tutors mascot, shared by header and footer. */
.brand-mark{width:60px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 0 #1026390d);transition:transform .25s ease}
.brand{gap:12px;letter-spacing:.01em}.brand:hover .brand-mark{transform:rotate(-5deg) translateY(-2px)}
footer .brand-mark{width:72px;height:76px}footer .brand{font-size:1.5rem}footer .brand b{font-size:.72rem}
@media(max-width:700px){.brand-mark{width:46px;height:49px}.brand{gap:9px}footer .brand-mark{width:62px;height:65px}}
@media(prefers-reduced-motion:reduce){.brand:hover .brand-mark{transform:none}}
/* A connected family of the original brand mascot. */
.mini-panda{display:block;width:100%;height:100%;overflow:visible}.brand-mascot{position:relative;width:60px;height:64px;display:block;flex:none}.hi-bubble{position:absolute;right:-14px;top:-9px;background:#ffd45c;border:1.5px solid #102639;border-radius:14px 14px 14px 2px;padding:5px 8px;font-size:.72rem;opacity:0;transform:translateY(6px) scale(.8);transition:.2s;pointer-events:none}.wave-paw{transform-origin:296px 254px;transform-box:view-box}.brand:is(:hover,:focus-visible) .wave-paw,.pillar-card:is(:hover,:focus-visible) .wave-paw{animation:panda-wave .8s ease-in-out infinite}.brand:is(:hover,:focus-visible) .hi-bubble{opacity:1;transform:translateY(0) scale(1)}footer .brand-mascot{width:75px;height:79px}@keyframes panda-wave{0%,100%{transform:translate(4px,-43px) rotate(-18deg)}50%{transform:translate(4px,-43px) rotate(18deg)}}
.pillar-grid{grid-template-columns:repeat(5,1fr);gap:15px}.pillar-card{padding:23px 18px;min-height:305px}.pillar-card h3{min-height:0;font-size:1.35rem}.pillar-card .card-top{margin-bottom:20px;align-items:flex-start}.course-mascot{width:75px;height:80px;display:block;transition:transform .25s}.pillar-card:hover .course-mascot{transform:rotate(-5deg)}.pillar-card p{font-size:.9rem}.lilac{--accent:#7135a1;--surface:#eee0fa}.weekend-note{display:grid;grid-template-columns:.7fr 1.5fr;gap:30px;padding:30px;margin-top:40px;border:1px dashed #087c79;border-radius:18px;background:#e7f5ee}.weekend-note strong{font-size:1.45rem;line-height:1.3;align-self:center}.weekend-note p{font-size:.96rem;margin:0}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.list-panda{display:block;width:64px;height:67px;flex:none}.programme-list ul{padding-top:0}.programme-list li{padding:0}.course-choice{font:inherit;font-size:.94rem;text-align:left;display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink);padding:13px 0;line-height:1.4;cursor:pointer}.course-choice>span:nth-child(2){color:var(--ink);flex:1}.course-choice>span:last-child{opacity:0;transform:translateX(-3px);transition:.2s}.course-choice:is(:hover,:focus-visible)>span:last-child{opacity:1;transform:translateX(0)}.course-choice:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.programme-list:has(.course-choice:hover) .list-panda{animation:buddy-nod .9s ease-in-out infinite}@keyframes buddy-nod{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-3px)}}
.booking-section{grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.booking-copy{position:sticky;top:35px}.booking-buddy{display:flex;gap:18px;align-items:center;margin:25px 0;background:#ffedb6;border-radius:20px;padding:20px}.buddy-art{width:85px;height:90px;display:block;flex:none}.booking-buddy strong{font-size:1rem}.booking-buddy p{font-size:.94rem;line-height:1.5;margin:8px 0 0}.booking-disclaimer{font-size:.93rem;color:#455963}.booking-card form{display:grid;gap:17px;margin-top:24px}.booking-card form>label,.form-row>label{display:grid;gap:8px;font-size:.9rem;font-weight:bold}.form-row{display:grid;grid-template-columns:1.5fr .7fr;gap:15px}.booking-card input:not([type=radio]),.booking-card select{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #c3d0c8;border-radius:10px;background:#fffdf8;color:#102639;font:inherit;font-weight:normal;font-size:1rem}.booking-card input:not([type=radio]):focus,.booking-card select:focus{outline:2px solid #087c79;outline-offset:1px;background:white}.booking-card select:disabled{background:#edf0ec;color:#52616a}.booking-card .mode-options{display:flex;gap:10px;margin:0;padding:0;border:0}.mode-options legend{font-size:.9rem;font-weight:bold;margin-bottom:10px}.mode-options label{flex:1}.booking-card .field-help{font-size:.82rem;line-height:1.5;margin:-8px 0 0;color:#475a65}.booking-card .field-error{font-size:.84rem;line-height:1.5;margin:-10px 0 0;color:#a92c24}.field-error:empty{display:none}.request-summary{background:#e7f5ee;border-radius:12px;padding:16px}.request-summary strong{font-size:.9rem}.request-summary p{font-size:.86rem;line-height:1.6;margin:7px 0 0}.booking-card .privacy-note{font-size:.8rem;line-height:1.5;color:#52636b;margin:0}.booking-card form .booking-note{margin:0}.booking-card button{cursor:pointer}.booking-card #form-status{margin:0}.booking-card #form-status a{text-decoration:underline;font-weight:bold}.site-buddy{position:fixed;left:18px;bottom:10px;z-index:8;display:flex;align-items:center;gap:10px;max-width:270px;pointer-events:none;opacity:0;transform:translateY(15px);transition:opacity .3s,transform .3s}.site-buddy.is-awake{opacity:1;transform:translateY(0)}.companion-art{width:66px;height:73px;flex:none;filter:drop-shadow(0 3px 2px #10263922)}.site-buddy p{background:white;border:1px solid #102639;border-radius:14px 14px 14px 2px;padding:10px 12px;font-size:.8rem;line-height:1.35;box-shadow:2px 3px 0 #ffd45c}.site-buddy.is-awake .wave-paw{animation:panda-wave 1.1s ease-in-out 2}.hero-art p{margin-bottom:0}
@media(max-width:1100px){.pillar-grid{grid-template-columns:repeat(3,1fr)}.booking-section{gap:35px}.booking-card{padding:28px}.site-buddy{max-width:225px}.site-buddy p{font-size:.75rem}}@media(max-width:700px){.pillar-grid{grid-template-columns:repeat(2,1fr)}.pillar-card{min-height:280px;padding:20px 15px}.pillar-card h3{font-size:1.2rem}.course-mascot{width:65px;height:70px}.weekend-note{grid-template-columns:1fr;gap:12px;padding:22px}.weekend-note strong{font-size:1.3rem}.brand-mascot{width:46px;height:49px}footer .brand-mascot{width:63px;height:67px}.booking-section{grid-template-columns:1fr}.booking-copy{position:static}.booking-card{padding:25px 20px}.site-buddy{display:none}.list-panda{width:55px;height:58px}.course-choice{font-size:.88rem}.course-choice>span:last-child{opacity:1}.booking-card input[type=date]{max-width:100%}.hi-bubble{right:-8px;top:-6px;font-size:.65rem;padding:4px 6px}}
@media(max-width:360px){.pillar-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.mode-options{flex-direction:column}}@media(prefers-reduced-motion:reduce){.brand .wave-paw,.pillar-card .wave-paw,.site-buddy .wave-paw,.programme-list .list-panda{animation:none!important}.site-buddy{transition:none}.course-mascot{transition:none}}
/* Override the custom radio treatment for visible text/date fields. */
.booking-card input:not([type=radio]){position:static;opacity:1;width:100%;height:auto}
/* Collision-free hero: badges occupy their own rows outside the logo. */
.hero-art{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px;padding:22px 22px 25px;min-width:0}.hero-art .sticker{position:relative;inset:auto;max-width:100%;text-align:center}.hero-art .sticker-one{transform:rotate(-4deg);justify-self:start}.hero-art .sticker-two{transform:rotate(3deg);justify-self:end;margin-top:8px}.hero-art .panda-logo{width:min(100%,340px);height:auto;max-width:100%}.hero-art .art-orbit{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:rotate(-3deg)}.hero-art .art-orbit:after{inset:-5px}.hero-art p{margin:6px 0 0;max-width:100%;line-height:1.5}.hero{gap:50px}.hero-copy,.hero-art,.programme-story,.programme-list,.booking-copy,.booking-card{min-width:0}.hero h1{font-size:clamp(3rem,5.6vw,5.3rem)}.highlight{white-space:normal}.heading-star{display:none}.word-ribbon{transform:none;margin:12px 0 0}.word-ribbon>div{line-height:1.7}.brand-mascot{margin-right:5px}.hi-bubble{right:-3px;top:-15px}.programme-list{transform:none!important}.site-buddy{max-width:210px}.site-buddy p{max-width:140px;overflow-wrap:anywhere}
/* Course-specific animation, rather than waving every mascot. */
.pillar-card:is(:hover,:focus-visible) .wave-paw{animation:none}.panda-academic .reading-head{transform-origin:200px 170px}.pillar-card:is(:hover,:focus-visible) .reading-head,.programme-list:hover .reading-head{animation:reading-nod 1.8s ease-in-out infinite}.speaking-mouth{transform-box:fill-box;transform-origin:center}.pillar-card:is(:hover,:focus-visible) .speaking-mouth,.programme-list:hover .speaking-mouth{animation:panda-talk .5s ease-in-out infinite}.speech-pop{transform-origin:280px 80px;animation:speech-arrive 3s ease-in-out infinite}.paint-brush{transform-origin:294px 228px}.pillar-card:is(:hover,:focus-visible) .paint-brush,.programme-list:hover .paint-brush{animation:panda-paint 1.4s ease-in-out infinite}.pillar-card:is(:hover,:focus-visible) .panda-digital .wave-paw,.programme-list:hover .panda-digital .wave-paw{animation:panda-type .5s ease-in-out infinite}.screen-light{animation:screen-glow 2s ease-in-out infinite}.pillar-card:is(:hover,:focus-visible) .club-badge,.programme-list:hover .club-badge{animation:club-pride 1.3s ease-in-out infinite;transform-origin:200px 220px}.programme-list:has(.course-choice:hover) .list-panda{animation:none}.course-mascot{width:88px;height:94px}.list-panda{width:78px;height:82px}@keyframes reading-nod{50%{transform:rotate(-5deg) translateY(3px)}}@keyframes panda-talk{50%{transform:scaleY(.45)}}@keyframes speech-arrive{50%{transform:translateY(-3px) rotate(3deg)}}@keyframes panda-paint{0%,100%{transform:rotate(10deg)}50%{transform:rotate(35deg)}}@keyframes panda-type{50%{transform:translate(-12px,6px)}}@keyframes screen-glow{50%{opacity:.3}}@keyframes club-pride{50%{transform:rotate(8deg) scale(1.1)}}
/* Multiple worlds and programmes. */
.booking-card .world-picker{display:block;margin:0;padding:0;border:0;min-width:0}.world-picker>legend{font-size:.9rem;font-weight:bold;margin-bottom:13px}.world-picker>.field-help{margin:0 0 13px}.world-options{border:1px solid #c3d0c8;border-radius:12px;margin:9px 0;background:#fffdf8;overflow:hidden}.world-options>summary{font-size:.96rem;font-weight:bold;cursor:pointer;padding:15px;display:flex;justify-content:space-between;gap:8px;align-items:center;list-style:none}.world-options>summary:after{content:'+';font-size:1.2rem}.world-options[open]>summary:after{content:'−'}.world-options[open]>summary{background:#e7f5ee}.world-options summary::-webkit-details-marker{display:none}.world-count{font-size:.74rem;color:#087c79;margin-left:auto}.programme-options{padding:10px;display:grid;gap:5px}.booking-card .programme-options label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:6px}.booking-card .programme-options input[type=checkbox]{position:static;opacity:1;flex:none;width:20px;height:20px;min-height:20px;margin:9px 0 0;accent-color:#087c79}.booking-card .programme-options label>span{border:0;padding:8px 0;font-size:.9rem;line-height:1.45}.booking-card .programme-options input:checked+span{border:0;background:transparent;padding:8px 0;font-weight:bold;color:#087c79}.request-summary ul{padding-left:17px;margin:10px 0}.request-summary li{margin:5px 0;line-height:1.5}.course-choice.is-chosen{font-weight:bold}.course-choice.is-chosen>span:last-child{opacity:1}.course-choice.is-chosen>span:first-child{color:#087c79}.booking-card input[type=hidden]{display:none!important}.panda-calendar{border:1.5px solid #c3d0c8;background:#fffdf8;border-radius:18px;padding:18px;min-width:0}.calendar-intro{display:flex;align-items:center;gap:15px;padding-bottom:12px}.calendar-panda{width:50px;height:55px;display:block;flex:none}.calendar-intro strong{font-size:1rem}.calendar-intro p{font-size:.82rem;margin:4px 0;color:#52636b}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0 18px}.calendar-nav h4{margin:0;font-size:1.02rem;text-align:center}.calendar-nav button{width:38px;height:38px;border:1px solid #c3d0c8;background:#e7f5ee;border-radius:50%;font-size:1.6rem;color:#102639;cursor:pointer}.calendar-nav button:disabled{opacity:.35;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{text-align:center;font-size:.72rem;font-weight:bold;padding-bottom:10px;color:#53656b}.calendar-days button{min-width:0;min-height:40px;aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:white;color:#102639;font-size:.9rem;cursor:pointer;position:relative}.calendar-days button:disabled{color:#949d99;background:#f1f1eb;cursor:not-allowed}.calendar-days button:not(:disabled):hover{background:#ffedb6;border-color:#cba741}.calendar-days button[aria-pressed=true]{background:#087c79;color:white;border-color:#087c79;box-shadow:0 -3px 0 #102639 inset}.calendar-days button[aria-current=date]:not([aria-pressed=true]){border-color:#087c79;font-weight:bold}.calendar-days button:focus-visible{outline:2px solid #102639;outline-offset:1px}.panda-calendar #calendar-selection{font-size:.83rem;margin:15px 0 0;line-height:1.5;min-height:24px;color:#087c79}.footer-credits{border-top:1px solid #d1d8d1;padding-top:24px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-credits small{flex-basis:auto!important;margin:0!important;line-height:1.6}.footer-credits small a{text-decoration:underline;text-underline-offset:3px}.designer-credit{display:block;position:relative;font-size:.8rem;line-height:1.6;padding:10px 14px;border:1px solid #cdd6cc;border-radius:30px}.designer-credit strong{font-size:1.08rem;color:#087c79}.designer-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;white-space:nowrap;padding:8px 12px;border-radius:10px;background:#102639;color:white;opacity:0;transform:translateY(4px);transition:.2s;pointer-events:none}.designer-credit:is(:hover,:focus-visible) .designer-tooltip{opacity:1;transform:none}form .field-error{scroll-margin:30px}
@media(min-width:701px) and (max-width:1150px){.hero{grid-template-columns:1.05fr 1fr;gap:30px}.hero h1{font-size:clamp(2.7rem,5vw,4rem)}.hero .button{padding:16px 19px}.hero-art{padding:20px 12px}.sticker{font-size:.75rem}.site-buddy{display:none}.programme{gap:30px}.booking-section{gap:30px}.booking-card{padding:25px}.calendar-days button{min-height:34px}.panda-calendar{padding:12px}}
@media(max-width:850px){.booking-section{grid-template-columns:1fr;max-width:650px}.booking-copy{position:static}.faq-section{gap:30px}.footer-credits{align-items:flex-start;flex-direction:column}.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){header{flex-wrap:wrap;gap:15px}.hero{grid-template-columns:1fr;gap:42px;padding-top:30px}.hero-art{width:100%;max-width:390px;padding:22px 24px;gap:16px}.hero h1{font-size:clamp(2.6rem,10vw,4rem)}.hero-art .panda-logo{width:100%;max-width:300px}.hero-art .sticker{font-size:.75rem;box-shadow:2px 3px 0 #102639;padding:10px 13px}.hero-art .sticker-one{justify-self:center}.hero-art .sticker-two{justify-self:center;margin-top:5px}.hero-art p{font-size:.8rem;max-width:270px}.hero-art .art-orbit:after{inset:0}.hero-tags{gap:7px}.hero .button{width:100%}.hero-actions{align-items:flex-start;gap:20px}.programme-list ul{grid-template-columns:1fr}.programme-list{padding:23px}.programme-story h2{font-size:2.1rem}.course-mascot{width:75px;height:80px}.site-buddy{display:none}.word-ribbon>div{font-size:1rem;word-spacing:22px}.booking-card{padding:23px 18px}.panda-calendar{padding:14px}.calendar-days button{min-height:36px}.footer-credits{gap:17px}.designer-tooltip{right:auto;left:0}footer{padding-bottom:100px}.brand .hi-bubble{top:-13px;right:-5px}.floating-chat{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.request-summary{overflow-wrap:anywhere}}
@media(max-width:380px){.section{width:calc(100% - 28px)}header{padding:18px 14px}.brand{font-size:1.05rem}.brand-mascot{width:42px;height:45px}.button-small{padding:10px 12px}.pillar-grid{grid-template-columns:1fr}.pillar-card{min-height:235px}.calendar-days{gap:2px}.calendar-days button{min-height:32px;font-size:.8rem}.calendar-weekdays span{font-size:.67rem}.booking-card{padding:20px 14px}.panda-calendar{padding:10px}.form-row{grid-template-columns:1fr}.hero-art{padding:20px 15px}.hero h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.speech-pop,.screen-light,.reading-head,.speaking-mouth,.paint-brush,.club-badge,.wave-paw{animation:none!important}.designer-tooltip{transition:none}}

/* PANDA MONOCHROME EDITION — a complete black-and-white visual world. */
:root{--ink:#111;--cream:#fff;--teal:#111;--coral:#111;--yellow:#111;--line:#d9d9d9;background:#fff;color:#111}
body{background:#fff;color:#111;background-image:radial-gradient(#e5e5e5 1px,transparent 1px);background-size:21px 21px}
.announcement{background:#111;color:#fff}.announcement a{color:#fff}header{background:#fff;border-bottom:2px solid #111;max-width:none}.brand{color:#111}.button,.whatsapp-button,.floating-chat{background:#111!important;border-color:#111!important;color:#fff}.button:hover{background:#fff!important;color:#111;box-shadow:5px 5px 0 #111}.button-small{background:#fff!important;color:#111!important}.button-small:hover{background:#111!important;color:#fff!important}.eyebrow,.teal-text,.text-link:hover{color:#111!important}

/* The logo is now a recognisable, full-body cute panda—not a symbol or emoji. */
.brand-mascot{background:url('./panda-mascot.svg') center/contain no-repeat!important;width:56px;height:64px}.brand-mascot>.mini-panda{display:none!important}.brand:is(:hover,:focus-visible) .brand-mascot{animation:panda-hello .65s ease-in-out infinite}.hi-bubble{background:#fff!important;color:#111;border:2px solid #111;box-shadow:3px 3px 0 #111}.brand:hover .hi-bubble{opacity:1;transform:translateY(0) scale(1)}
footer .brand-mascot{width:72px;height:78px}.hero-art .panda-logo{display:none!important}.hero-mascot{width:min(100%,330px);height:auto;display:block;position:relative;z-index:2;filter:drop-shadow(8px 8px 0 #111);animation:panda-bounce 4s ease-in-out infinite}.hero-art{background:#f1f1f1;border:3px solid #111;border-radius:48% 52% 44% 56%/45% 43% 57% 55%;overflow:visible}.art-orbit{background:#ededed!important}.art-orbit:after{border:2px dashed #111!important}.sticker{background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:4px 4px 0 #111!important}.sticker-two{background:#111!important;color:#fff!important}.heading-star,.tiny-star{color:#111!important}.highlight{color:#111!important}.highlight:after{background:#111!important}.hero-tags span{background:#fff;border:1.5px solid #111}.hero-art p{font-weight:bold}.word-ribbon{background:#111!important;color:#fff!important;border-top:2px solid #111;border-bottom:2px solid #111}.word-ribbon span{color:#fff!important}

/* Five learning worlds: playful paper-and-ink cards, no competing colours. */
.pillar-card,.programme-list,.booking-card,.panda-calendar,.world-options{--accent:#111!important;--surface:#fff!important;background:#fff!important;border:2px solid #111!important;box-shadow:6px 6px 0 #111!important}.pillar-card:nth-child(even){background:#f4f4f4!important}.pillar-card:hover{transform:translate(-2px,-7px) rotate(-1deg);box-shadow:10px 12px 0 #111!important}.number{border:1.5px solid #111;border-radius:999px;padding:5px 8px;opacity:1}.course-mascot,.list-panda{position:relative;background:url('./panda-mascot.svg') center/contain no-repeat!important;overflow:visible}.course-mascot>.mini-panda,.list-panda>.mini-panda{display:none!important}.course-mascot:after,.list-panda:after{position:absolute;right:-14px;top:-6px;display:grid;place-items:center;width:31px;height:31px;background:#fff;border:2px solid #111;border-radius:8px;font-size:16px;box-shadow:2px 2px 0 #111;color:#111}.course-mascot:has(.panda-academic):after,.list-panda:has(.panda-academic):after{content:'▰';transform:rotate(-8deg)}.course-mascot:has(.panda-communication):after,.list-panda:has(.panda-communication):after{content:'Hi';font-size:10px;font-weight:900}.course-mascot:has(.panda-creative):after,.list-panda:has(.panda-creative):after{content:'✦';font-size:20px}.course-mascot:has(.panda-digital):after,.list-panda:has(.panda-digital):after{content:'</>';font-size:8px;font-weight:900}.course-mascot:has(.panda-clubs):after,.list-panda:has(.panda-clubs):after{content:'★';font-size:18px}.pillar-card:hover .course-mascot{animation:panda-bounce .75s ease-in-out infinite}.pillar-card h3,.programme-story h2,.section-intro h2{color:#111!important}.weekend-note{background:#fff!important;border:2px dashed #111!important}.weekend-note:before{content:'🐾  PANDA WEEKENDS  🐾';font-weight:900;letter-spacing:.08em;font-size:.76rem;color:#111}

.programme{border-color:#111}.programme-list{transform:rotate(0)!important}.programme-list li{border-color:#d5d5d5}.course-choice span:first-child,.course-choice.is-chosen>span:first-child{color:#111!important}.course-choice:is(:hover,:focus-visible){background:#efefef}.approach{background:#111!important;color:#fff!important;border-radius:50px 50px 0 0;border-top:3px solid #111}.approach-heading h2 em,.approach-icon,.panda-values strong,.panda-values span:before{color:#fff!important}.approach-heading p,.approach-grid p{color:#e8e8e8!important}.panda-values{border-color:#fff}.panda-values span:before{content:'✦'}

.booking-buddy{background:#f1f1f1!important;border:2px solid #111}.booking-buddy .mini-panda,.calendar-panda .mini-panda,.companion-art .mini-panda{filter:grayscale(1) contrast(1.45)}.steps li span{background:#111!important;color:#fff;border:2px solid #111}.booking-card{box-shadow:8px 8px 0 #111!important}.booking-card input:checked+span{border-color:#111!important;background:#efefef!important;color:#111!important}.world-options[open]>summary,.request-summary{background:#efefef!important}.world-count{color:#111!important}.booking-card .programme-options input[type=checkbox]{accent-color:#111!important}.calendar-nav button{background:#fff!important;color:#111!important;border:2px solid #111!important}.calendar-days button:not(:disabled):hover{background:#e9e9e9!important;border-color:#111!important}.calendar-days button[aria-pressed=true]{background:#111!important;color:#fff!important;border-color:#111!important;box-shadow:none!important}.panda-calendar #calendar-selection{color:#111!important}.phone-link{font-size:1.3rem;text-decoration:underline;text-underline-offset:5px}.closing{background:#f1f1f1!important;border-top:3px solid #111;border-bottom:3px solid #111}.closing>span{color:#111!important}

footer{background:#fff;border-top:2px solid #111;max-width:none}footer p,footer small{color:#111!important}.footer-credits{border-color:#111}.designer-credit{border:2px solid #111!important;background:#fff}.designer-credit strong{color:#111!important}.designer-tooltip{background:#111!important;color:#fff!important}.floating-chat{box-shadow:5px 5px 0 #111!important}.site-buddy p{border:2px solid #111!important;box-shadow:4px 4px 0 #111!important}.site-buddy .companion-art{background:url('./panda-mascot.svg') center/contain no-repeat}.site-buddy .companion-art>.mini-panda{display:none!important}

/* Make every legacy accent in the original inline illustrations monochrome. */
.mini-panda [fill="#12b5b0"],.mini-panda [fill="#ff776b"],.mini-panda [fill="#ffc83e"],.mini-panda [fill="#ffd45c"],.mini-panda [fill="#e1ecff"],.mini-panda [fill="#eee0fa"],.mini-panda [fill="#aa77d9"],.mini-panda [fill="#ffded5"],.mini-panda [fill="#fff0b7"],.mini-panda [fill="#c9efdf"],.mini-panda [fill="#92aedb"],.mini-panda [fill="#d38a44"],.mini-panda [fill="#ffb6ac"]{fill:#fff!important}.mini-panda [stroke="#12b5b0"],.mini-panda [stroke="#ff776b"],.mini-panda [stroke="#efb327"],.mini-panda [stroke="#607183"]{stroke:#111!important}.mini-panda text{fill:#111!important}

@keyframes panda-bounce{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes panda-hello{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg) translateY(-2px)}}
@media(max-width:700px){body{background-size:15px 15px}.announcement{padding:9px 16px}.hero-art{margin-top:6px}.hero-mascot{max-width:270px}.brand-mascot{width:48px;height:55px}.hero-art .sticker{font-size:.7rem}.course-mascot{width:70px;height:76px}.course-mascot:after{right:-10px}.pillar-card{box-shadow:4px 4px 0 #111!important}.booking-card{box-shadow:5px 5px 0 #111!important}.weekend-note:before{display:block;margin-bottom:6px}.floating-chat{right:14px}.site-buddy{display:none}}
@media(prefers-reduced-motion:reduce){.hero-mascot,.brand:is(:hover,:focus-visible) .brand-mascot,.pillar-card:hover .course-mascot{animation:none!important}}

/* REALISTIC PANDA COLLECTION — static art direction, replacing the illustrated mascot. */
body{background:#fbfaf8;background-image:radial-gradient(#e9e6e0 1px,transparent 1px);background-size:25px 25px}
.brand-mascot{background-image:url('./assets/panda-logo.png')!important;width:62px;height:62px}.brand:is(:hover,:focus-visible) .brand-mascot{animation:none!important}.hi-bubble{display:none!important}footer .brand-mascot{width:78px;height:78px}
.hero-art{background:linear-gradient(145deg,#f2f0ec,#fff);border-color:#111;border-radius:36px;box-shadow:12px 12px 0 #111}.hero-art .art-orbit{display:none}.hero-mascot{content:url('./assets/panda-academics.png');width:min(100%,370px);filter:drop-shadow(10px 12px 18px #0002);animation:none!important}.sticker{box-shadow:4px 4px 0 #111!important}.sticker-two{background:#111!important;color:#fff!important}
.course-mascot,.list-panda{background-image:none!important;height:118px;width:120px}.course-mascot:after,.list-panda:after{display:none!important}.course-mascot:has(.panda-academic),.list-panda:has(.panda-academic){background:url('./assets/panda-academics.png') center bottom/contain no-repeat!important}.course-mascot:has(.panda-communication),.list-panda:has(.panda-communication){background:url('./assets/panda-speak.png') center bottom/contain no-repeat!important}.course-mascot:has(.panda-creative),.list-panda:has(.panda-creative){background:url('./assets/panda-create.png') center bottom/contain no-repeat!important}.course-mascot:has(.panda-digital),.list-panda:has(.panda-digital){background:url('./assets/panda-digital.png') center bottom/contain no-repeat!important}.course-mascot:has(.panda-clubs),.list-panda:has(.panda-clubs){background:url('./assets/panda-clubs.png') center bottom/contain no-repeat!important}.pillar-card:hover .course-mascot{animation:none!important;transform:none!important}.pillar-card{min-height:330px;padding-top:18px}.course-mascot>.mini-panda,.list-panda>.mini-panda{display:none!important}
.programme-list{background:#fff!important;overflow:hidden}.programme-list:after{content:'';position:absolute;right:-8px;bottom:-26px;width:120px;height:120px;background:url('./assets/panda-logo.png') center/contain no-repeat;opacity:.16;pointer-events:none}.list-panda{width:96px;height:100px}.booking-buddy .buddy-art,.calendar-panda,.companion-art{background:url('./assets/panda-logo.png') center/contain no-repeat!important}.booking-buddy .mini-panda,.calendar-panda .mini-panda,.companion-art .mini-panda{display:none!important}.booking-buddy{background:#fff!important}.approach{position:relative;overflow:hidden}.approach:after{content:'';position:absolute;right:5%;bottom:-18px;width:230px;height:230px;background:url('./assets/panda-clubs.png') center bottom/contain no-repeat;filter:grayscale(1);opacity:.28;pointer-events:none}.panda-values{position:relative;z-index:1}.closing{position:relative;overflow:hidden}.closing:after{content:'';position:absolute;right:8%;bottom:-30px;width:180px;height:180px;background:url('./assets/panda-speak.png') center/contain no-repeat;opacity:.16;pointer-events:none}
@media(max-width:700px){.brand-mascot{width:48px;height:48px}footer .brand-mascot{width:68px;height:68px}.hero-art{box-shadow:6px 6px 0 #111}.hero-mascot{width:min(100%,300px)}.course-mascot{width:92px;height:94px}.pillar-card{min-height:300px}.approach:after{width:140px;height:140px;right:-20px}.closing:after{width:120px;height:120px;right:-15px}}

/* JOYFUL REALISTIC PANDA — colour and movement live around the mascot. */
:root{--ink:#173248;--cream:#fffaf2;--teal:#0b918d;--coral:#ff766d;--yellow:#ffd560;--blue:#9ecfff;--lilac:#dec7ff;--mint:#d6f3e7;--line:#d8e1dc}
body{color:var(--ink);background:#fffaf2;background-image:radial-gradient(#f7de9a 1px,transparent 1px);background-size:24px 24px;overflow-x:hidden}
body:before,body:after{content:'';position:fixed;z-index:-1;border-radius:50%;filter:blur(4px);opacity:.5;pointer-events:none;animation:orb-drift 16s ease-in-out infinite!important}body:before{width:260px;height:260px;background:#bcebe5;top:16%;left:-100px}body:after{width:230px;height:230px;background:#ffe2b1;right:-90px;bottom:12%;animation-delay:-8s!important}
.announcement{background:linear-gradient(90deg,#ff8a72,#ffbf5f);color:#173248}.announcement a{color:#173248}.announcement a:hover{color:#fff}
header{background:#fffdf8;border-bottom:1px solid #dbe3df}.brand{color:#173248}.button{background:#173248!important;border-color:#173248!important;color:#fff}.button:hover{background:var(--teal)!important;border-color:var(--teal)!important;color:#fff;box-shadow:0 8px 0 #0b918d33!important}.button-small{border-color:#173248!important;background:#fff!important;color:#173248!important}.button-small:hover{background:var(--coral)!important;border-color:var(--coral)!important}.floating-chat{background:var(--teal)!important;border-color:#fff!important;box-shadow:0 8px 24px #0b918d55!important;animation:chat-bob 3s ease-in-out infinite!important}
.hero h1{color:#173248}.highlight{color:var(--teal)!important}.highlight:after{background:var(--yellow)!important}.heading-star{display:inline-block;color:var(--coral)!important;animation:star-spin 12s linear infinite!important}.tiny-star{color:var(--teal)!important}.hero-tags span{border-color:#d6ded8;background:#fff}.hero-art{background:linear-gradient(145deg,#dff8ee 0%,#e5f1ff 58%,#ffe9c1 100%);border:0;box-shadow:12px 14px 0 #17324818;overflow:visible}.hero-art:before{content:'✦';position:absolute;right:7%;top:8%;z-index:3;color:#ffb522;font-size:2.2rem;animation:twinkle 2.2s ease-in-out infinite!important}.hero-art:after{content:'✦';position:absolute;left:9%;bottom:16%;z-index:3;color:var(--coral);font-size:1.65rem;animation:twinkle 2.8s ease-in-out -1s infinite!important}.hero-mascot{filter:drop-shadow(12px 16px 16px #17324830);animation:panda-float 5.5s ease-in-out infinite!important}.sticker{border-color:#173248!important;box-shadow:4px 5px 0 #173248!important}.sticker-one{background:#fff!important}.sticker-two{background:#c9f1e4!important;color:#173248!important}.word-ribbon{background:linear-gradient(90deg,#0b918d,#1975ae,#9267ca,#ff766d)!important;border:0;transform:rotate(-.5deg)}.word-ribbon>div{animation:ribbon 26s linear infinite!important}.word-ribbon span{color:#ffe678!important}
.section-intro .eyebrow,.programme-story .eyebrow,.teal-text{color:var(--teal)!important}.pillar-card{border:0!important;box-shadow:0 10px 24px #17324814!important;transform:translateY(0);transition:transform .28s ease,box-shadow .28s ease!important}.pillar-card:hover{transform:translateY(-9px) rotate(-1deg)!important;box-shadow:0 18px 32px #17324826!important}.pillar-card.teal{background:#d8f3ea!important}.pillar-card.coral{background:#ffe0db!important}.pillar-card.yellow{background:#fff0bd!important}.pillar-card.blue{background:#dfeeff!important}.pillar-card.lilac{background:#efe2ff!important}.number{background:#fff;border:0;color:#173248}.course-mascot{transition:transform .35s ease!important}.pillar-card:nth-child(odd) .course-mascot{animation:small-float 5s ease-in-out infinite!important}.pillar-card:nth-child(even) .course-mascot{animation:small-float 5s ease-in-out -2.3s infinite!important}.pillar-card:hover .course-mascot{transform:scale(1.08)!important}.weekend-note{background:#fff7e7!important;border-color:#ffb949!important}.weekend-note:before{color:#e66d50!important}
.programme{border-color:#dbe3df}.programme-list{border:0!important;box-shadow:0 12px 30px #17324814!important;background:#fff!important}.programme.teal .programme-list{background:#e5f8f2!important}.programme.coral .programme-list{background:#fff0ed!important}.programme.yellow .programme-list{background:#fff8dc!important}.programme.blue .programme-list{background:#eef6ff!important}.programme.lilac .programme-list{background:#f5efff!important}.programme.teal .list-label{color:#0b918d}.programme.coral .list-label{color:#df6257}.programme.yellow .list-label{color:#a16c00}.programme.blue .list-label{color:#2e71b9}.programme.lilac .list-label{color:#7d52ae}.course-choice:hover{background:#ffffff9c!important;border-radius:8px}.course-choice{transition:transform .2s ease,background .2s ease!important}.course-choice:hover{transform:translateX(4px)}
.approach{background:linear-gradient(130deg,#087f7c,#1c75a9 55%,#7461ae)!important;border:0;color:#fff}.approach-heading h2 em,.approach-icon,.panda-values strong{color:#ffe277!important}.approach:after{filter:none;opacity:.45}.panda-values{border-color:#ffffff66}.panda-values span:before{color:#ffe277!important}.booking-buddy{background:#e6f6ff!important;border:0!important}.booking-card{border:0!important;box-shadow:0 14px 30px #17324822!important}.booking-card input:checked+span{border-color:var(--teal)!important;background:#e3f6ef!important}.world-options[open]>summary,.request-summary{background:#e5f7f1!important}.panda-calendar{border:1px solid #c5ded8!important;box-shadow:none!important}.calendar-nav button{border:0!important;background:#d7f2eb!important;color:#173248!important}.calendar-days button:not(:disabled):hover{background:#ffebae!important;border-color:#ffbf38!important}.calendar-days button[aria-pressed=true]{background:var(--teal)!important;border-color:var(--teal)!important}.whatsapp-button{background:var(--teal)!important;border-color:var(--teal)!important}.phone-link{color:var(--teal)}
.closing{background:linear-gradient(100deg,#ffe777,#ffc988)!important;border:0}.closing>span{color:#e66d50!important}.closing .button{background:#173248!important}.closing:after{opacity:.32}.footer-credits{border-color:#d8e1dc}footer{background:#fffdf8;border-top:0}.designer-credit{border-color:#c5d8d1!important}.designer-credit strong{color:var(--teal)!important}.designer-tooltip{background:#173248!important}.site-buddy p{border-color:var(--teal)!important;box-shadow:4px 4px 0 #ffe277!important}
.will-reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)!important}.will-reveal.is-visible{transform:translateY(0)!important}.reveal:not(.will-reveal){opacity:1}
@keyframes panda-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}@keyframes small-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes twinkle{0%,100%{transform:scale(.75) rotate(-10deg);opacity:.45}50%{transform:scale(1.16) rotate(10deg);opacity:1}}@keyframes orb-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(28px,-42px) scale(1.12)}}@keyframes chat-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:700px){body:before{width:160px;height:160px;left:-80px}.hero-art{box-shadow:7px 8px 0 #17324818}.hero-mascot{animation:panda-float 6s ease-in-out infinite!important}.word-ribbon{transform:none}.course-mascot{animation:none!important}.pillar-card:hover{transform:translateY(-4px)!important}.approach{background:linear-gradient(145deg,#087f7c,#7461ae)!important}}
@media(prefers-reduced-motion:reduce){body:before,body:after,.floating-chat,.hero-mascot,.course-mascot,.word-ribbon>div,.heading-star,.hero-art:before,.hero-art:after{animation:none!important}.will-reveal{transition:none!important}}

@media(max-width:700px){header{justify-content:center}.brand{margin-inline:auto}header .brand{background-position:center center}}
