/* Based on the owner's supplied Reading Town reference screenshot. */
:root{--red:#397a2a;--ink:#343c35;--muted:#666c66;--paper:#fff;--line:#d5d8d2;--yellow:#f6d876;--blue:#f1f3ee;--green-gloss:linear-gradient(180deg,#9fc75b 0%,#69a647 18%,#3b803b 47%,#276931 52%,#285e2b 92%,#17481d 100%);--silver-gloss:linear-gradient(180deg,#fff 0%,#fafafa 46%,#efefee 51%,#dedfdd 100%)}
body{background:white;font-family:Arial,'Microsoft YaHei','Malgun Gothic',sans-serif;color:var(--ink)}
.wrap{max-width:1160px;padding-inline:24px}
html{scroll-padding-top:80px}
.announcement{background:linear-gradient(#f8fce9,#e8f0d1);border-bottom:1px solid #ccd9ac;color:#3d652e;padding:8px 0;font-size:12px}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.top-address{display:flex;align-items:center;gap:14px;text-align:left;line-height:1.45}
.top-address strong{font-size:11px;margin:0}
.top-address span{font-size:12px}
.top-phone{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:32px}
.top-phone b{font-size:15px}
.header{position:relative;background:#fff;border:0;box-shadow:none;padding-bottom:2px;z-index:20}
.masthead{display:grid;grid-template-columns:240px 1fr auto;gap:24px;align-items:center;padding-top:23px;padding-bottom:23px}
.brand img{width:225px;max-height:62px;height:auto}
.brand span{font-size:12px;letter-spacing:2px;color:#408b69;margin:7px 0 0 35px}
.centre-identity{text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.4;gap:3px}
.centre-identity strong{font-size:27px;color:#376b2c}
.centre-identity>span{font-size:13px;color:#727772}
.centre-identity>a{font-size:26px;font-weight:700;text-decoration:none;color:#454b43}
.centre-identity>a:hover{color:#2a742c;text-shadow:0 0 10px #b5d47b}
.langs{gap:0;padding:3px;border:1px solid #d1d7c9;background:var(--silver-gloss);border-radius:5px;align-self:end;margin-bottom:6px}
.langs button{font-size:12px;border-radius:3px;padding:7px 8px;min-height:33px;color:#596250}
.langs button[aria-pressed=true]{background:var(--green-gloss);box-shadow:inset 0 1px 0 #cde5ab;color:#fff}
.classic-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:auto;max-width:1112px;background:var(--green-gloss);border:1px solid #507732;border-radius:7px;box-shadow:inset 0 1px 0 #d3e9a9,inset 0 -1px 0 #1e481e,0 2px 2px #0003;overflow:hidden}
.classic-nav a{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:white;text-decoration:none;padding:13px 10px;min-height:48px;font-size:15px;font-weight:700;text-align:center;text-shadow:0 1px 1px #254321;border-right:1px solid #4d833e;box-shadow:inset -1px 0 0 #8eb56c44;line-height:1.3}
.classic-nav a:last-child{border-right:0;box-shadow:none}
.classic-nav a:hover,.classic-nav a:focus-visible{background:linear-gradient(#c1dd8a88,#81b96955);box-shadow:inset 0 0 15px #e0f3c050}
.hero{grid-template-columns:218px minmax(0,1fr);gap:24px;align-items:start;padding-top:23px;padding-bottom:35px}
.enquiry-rail{border:1px solid #d5d9cf;border-radius:8px;padding:10px;background:linear-gradient(#fff,#f7f8f4)}
.rail-title{background:var(--silver-gloss);border:1px solid #d6d7d3;border-radius:5px;padding:14px 10px;font-size:16px;font-weight:700;color:#3d5837;line-height:1.45;margin-bottom:12px;text-align:center;box-shadow:inset 0 1px 0 #fff}
.rail-button{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:47px;margin-bottom:9px;padding:10px 11px;border-radius:6px;border:1px solid #427634;background:var(--green-gloss);color:white;text-decoration:none;font-size:15px;font-weight:700;text-shadow:0 1px 1px #0004;box-shadow:inset 0 1px 0 #ffffff9e,0 2px 2px #0002;text-align:left;line-height:1.35}
.rail-button>span{width:17px;height:17px;flex-shrink:0;display:grid;place-items:center;font-size:20px;line-height:1;background:#ffffffdf;color:#327447;border-radius:50%;text-shadow:none}
.rail-button.teal{background:linear-gradient(#5ddbb7,#24b999 46%,#17a888 51%,#159678);border-color:#409581}
.rail-button.blue{background:linear-gradient(#5f92e3,#2b65b8 46%,#164b9c 51%,#194b91);border-color:#3c5698}
.rail-button.orange{background:linear-gradient(#ffd096,#e69f50 46%,#d78331 51%,#bf6d20);border-color:#b57e43}
.rail-note{margin-top:17px;background:linear-gradient(#fff1ca,#ffdf95);padding:17px 12px;border:1px solid #e1cb9d;border-radius:5px;text-align:center}
.rail-note strong{display:block;font-size:23px;color:#635130}
.rail-note>span{font-size:15px;font-weight:700;color:#567438;display:block;margin-top:5px}
.rail-note p{font-size:12px!important;line-height:1.6!important;margin:10px 0 0!important;color:#716249!important}
.hero-main{min-width:0}
.photo-toolbar{display:flex;gap:5px;margin-bottom:0;align-items:stretch}
.photo-toolbar a{font-size:12px;line-height:1.4;text-decoration:none;color:white;padding:7px 16px;background:linear-gradient(#67b48b,#2e995f 48%,#248954 52%,#3a9661);border:1px solid #84b58b;border-radius:5px 5px 0 0;font-weight:700;position:relative;overflow:hidden}
.photo-frame{background:linear-gradient(145deg,#f5f5f1,#dfe1dc);border:1px solid #c5c7c1;border-radius:0 9px 9px 9px;padding:12px;box-shadow:inset 0 1px 0 white}
.hero-photo-pair{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.photo-open{margin:0;padding:0;border:1px solid #b7bcb1;background:#e7e9e2;position:relative;overflow:hidden;display:block;width:100%;min-width:0}
.photo-open img{width:100%;height:308px;object-fit:cover;display:block}
.main-class-photo img{object-position:50% 50%}
.library-photo img{object-position:50% 60%}
.photo-open>span{position:absolute;bottom:0;left:0;right:0;padding:11px 9px;background:linear-gradient(transparent,#183016db);color:white;font-size:13px;text-align:left;font-weight:700;padding-top:26px}
.photo-open:hover img{filter:brightness(1.06)}
.silver-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border:1px solid #bfc1bd;border-radius:6px;background:var(--silver-gloss);box-shadow:inset 0 1px 0 #fff,0 2px 2px #0002;overflow:hidden}
.silver-tabs a{display:grid;place-items:center;text-decoration:none;text-align:center;font-size:13px;font-weight:700;color:#65705d;padding:12px 8px;line-height:1.3;border-right:1px solid #d0d2cb}
.silver-tabs a:last-child{border:0}
.silver-tabs a:hover{background:linear-gradient(#fff,#e6efce);color:#2e6b2a}
.hero-intro{padding:25px 0 0}
.hero .eyebrow{font-size:11px;letter-spacing:1.1px;margin-bottom:13px}
.hero h1{font-family:inherit;font-size:40px;font-weight:700;letter-spacing:-1.4px;line-height:1.15;margin:0 0 15px}
.hero h1 br{display:none}
.hero h1 em{color:#418035}
.hero p{font-size:16px;line-height:1.7;max-width:none;margin:0 0 18px}
.hero .actions{margin-top:17px}
.hero .actions .text-link{font-size:14px}
.trust{border:1px solid #d1d7c7;border-radius:7px;background:linear-gradient(#fff,#f3f5ed);padding:22px;box-shadow:inset 0 1px 0 white}
.trust strong{font-size:21px;font-weight:700;color:#427233}
.section{padding-block:62px}
.section h2{font-family:inherit;font-size:36px;line-height:1.22;font-weight:700;letter-spacing:-1px}
.section-head{gap:50px;margin-bottom:28px}
.eyebrow{color:#5b8738;font-size:11px}
.concern{border-top:3px solid #76a755}
.concern h3{font-weight:700;font-size:20px}
.concern:nth-child(2){border-color:#d1ad58}
.steps-section{background:linear-gradient(110deg,#2c5e2f,#42783a);border-top:5px solid #9fc367}
.steps-section .section-head p,.step p,.steps-footer p{color:#e3eadb}
.step{border-color:#91aa7d}
.step>span{font-family:inherit;font-weight:700}
.program{border-radius:8px;border-color:#cbd2c0;box-shadow:0 2px 4px #0000000c}
.program-label{padding:12px 18px;margin:-32px -32px 24px;background:var(--silver-gloss);border-bottom:1px solid #d2d5cb;color:#4e6c3d}
.program h3{font-family:inherit;font-size:32px;font-weight:700;letter-spacing:-.8px;color:#497b35}
.program-bottom{background:#f0f4e6;color:#596f3d}
.program:nth-child(2) .program-bottom{background:#fcf3d7;color:#76612b}
.program p,.program li{font-size:16px}
.campus{background:#f6f7f3;border-top:1px solid #e0e3d9;border-bottom:1px solid #e0e3d9}
.campus-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gallery-tile{display:block;overflow:hidden;padding:5px 5px 0;border:1px solid #c7ccc0;border-radius:7px;background:var(--silver-gloss);box-shadow:inset 0 1px 0 #fff,0 2px 3px #0001;text-align:left;color:#4d6041;transition:box-shadow .2s,transform .2s}
.gallery-tile img{display:block;width:100%;height:170px;object-fit:cover;border:1px solid #d1d3cc}
.gallery-tile span{display:block;font-size:13px;font-weight:700;padding:12px 8px;line-height:1.4}
.gallery-tile:hover,.gallery-tile:focus-visible{box-shadow:0 0 0 2px #bad496,0 3px 10px #59844730;transform:translateY(-2px)}
.archive-note{font-size:12px;color:#72796b;margin:18px 0 32px}
.address-panel{padding:28px;background:white;border:1px solid #d0d6c5;border-radius:8px;gap:45px}
.address-panel h2{font-size:28px}
.address-panel p{font-size:15px}
.address-panel .new-tag{border-radius:4px;background:var(--green-gloss);box-shadow:inset 0 1px 0 #e0efc1}
.booking-section{background:linear-gradient(#f6f4eb,#eef2e4);border-top:1px solid #d9dfcb}
.form{border-color:#c7ceba;border-radius:8px;box-shadow:inset 0 1px 0 #fff,0 3px 12px #405c2110}
.form input,.form textarea,.form select{background:#fafbf7;border-color:#c9d0c0}
.button,.mobile-bar .button{position:relative;overflow:hidden;border-radius:6px;border:1px solid #4e7932;background:var(--green-gloss);color:white;box-shadow:inset 0 1px 0 #d5e9b3,inset 0 -1px 0 #224d1c,0 2px 3px #0002;text-shadow:0 1px 1px #274225;transition:filter .18s,box-shadow .18s,transform .15s;font-weight:700}
.button:hover,.button:focus-visible{background:var(--green-gloss);filter:brightness(1.13);box-shadow:inset 0 1px 0 #f0ffdc,0 0 12px #afd27990,0 3px 5px #0002;transform:translateY(-1px)}
.button.secondary,.button.light{background:var(--silver-gloss);color:#4b633d;border-color:#bdc5b2;text-shadow:0 1px 0 white;box-shadow:inset 0 1px 0 white,0 2px 3px #0002}
.button.secondary:hover,.button.light:hover{background:linear-gradient(#fff,#edf3db 50%,#dce8bc);color:#386829}
.button::after,.classic-nav a::after,.rail-button::after,.photo-toolbar a::after{content:'';position:absolute;pointer-events:none;top:-60%;left:-80%;width:40%;height:220%;background:linear-gradient(100deg,transparent,#ffffff7a,transparent);transform:skewX(-20deg);opacity:0}
.button:hover::after,.button:focus-visible::after,.classic-nav a:hover::after,.classic-nav a:focus-visible::after,.rail-button:hover::after,.rail-button:focus-visible::after,.photo-toolbar a:hover::after{animation:classic-sheen .65s ease-out}
.rail-button:hover,.photo-toolbar a:hover{filter:brightness(1.1);box-shadow:inset 0 1px 0 #fff,0 0 12px #b4d69199}
.button:active,.rail-button:active,.classic-nav a:active,.photo-toolbar a:active{transform:translateY(1px);filter:brightness(1.15);box-shadow:inset 0 2px 6px #16331360}
.langs button:hover{box-shadow:inset 0 0 8px #c0da96;background-color:#e5edda}
.text-link:hover,.contact-line a:hover,.contact-line button:hover{color:#3e872e;text-shadow:0 0 10px #c3df9f}
summary:hover{background:#f2f5eb}
.mobile-bar{background:linear-gradient(#fff,#ecefe5);border-top-color:#cbd5be}
.footer{border-top:1px solid #e1e5d9}
dialog{border-radius:9px;border:1px solid #b7c0ac;background:#fff}
#photo-dialog{width:min(980px,calc(100% - 24px));max-width:980px;padding:18px;max-height:94dvh;background:linear-gradient(#f9faf7,#e9ece3)}
#photo-dialog .close{position:absolute;right:20px;top:20px;background:#fffffff0;color:#365b2b;z-index:2;border:1px solid #c9d2be}
#photo-dialog #full-photo{width:100%;height:72dvh;max-height:72dvh;object-fit:contain;margin:0;display:block;background:#e7e9e2}
.photo-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
.photo-dialog-footer .button{width:46px;min-height:42px;padding:0;font-size:26px;flex-shrink:0}
.photo-dialog-footer p{margin:0;text-align:center;font-size:14px;color:#4b6040}
html[lang=zh] .hero h1,html[lang=ko] .hero h1{font-size:35px;line-height:1.3}
html[lang=zh] .section h2,html[lang=ko] .section h2{font-size:32px}
html[lang=zh] .address-panel h2,html[lang=ko] .address-panel h2{font-size:27px}
@keyframes classic-sheen{0%{left:-80%;opacity:0}20%{opacity:1}100%{left:140%;opacity:0}}
@media(max-width:1159px){.classic-nav{margin-inline:24px}.masthead{grid-template-columns:210px 1fr auto;gap:15px}.brand img{width:200px}.centre-identity strong{font-size:24px}.centre-identity>span{font-size:12px}.hero{grid-template-columns:195px minmax(0,1fr);gap:20px}.photo-open img{height:280px}.rail-button{font-size:14px}.photo-toolbar a{padding:7px 10px}.hero h1{font-size:35px}}
@media(max-width:900px){.masthead{grid-template-columns:190px 1fr}.langs{grid-column:1/-1;justify-self:center;align-self:auto;margin:0}.top-address{display:block}.classic-nav a{font-size:13px;padding:12px 6px}.hero{grid-template-columns:180px minmax(0,1fr);gap:18px}.hero-photo-pair{grid-template-columns:1.3fr 1fr}.photo-open img{height:235px}.photo-toolbar a{font-size:11px;padding-inline:7px}.hero h1{font-size:31px}.campus-gallery{grid-template-columns:repeat(3,1fr)}.gallery-tile img{height:170px}}
@media(max-width:760px){.wrap{padding-inline:18px}.announcement{padding:8px 0}.contact-top{gap:12px;justify-content:center}.top-address{text-align:center}.top-address strong{font-size:10px;line-height:1.5}.top-address>span,.announcement .top-phone{display:none}.masthead{padding-top:16px;padding-bottom:15px;grid-template-columns:1fr auto;gap:15px 12px}.brand img{width:165px;max-height:45px}.brand span{font-size:9px;letter-spacing:1.5px;margin-left:21px}.langs{grid-column:auto;grid-row:1;grid-column:2;align-self:center;padding:3px}.langs button{font-size:11px;padding:6px;min-height:32px}.centre-identity{grid-column:1/-1;grid-row:2;gap:2px}.centre-identity strong{font-size:22px}.centre-identity>span{font-size:12px}.centre-identity>a{font-size:25px}.classic-nav{margin-inline:18px;grid-template-columns:repeat(3,1fr);padding:0;border-radius:6px}.classic-nav a{min-height:43px;font-size:12px;padding:8px 5px;box-shadow:inset 0 1px 0 #b7d09055;background:var(--green-gloss)}.classic-nav a:nth-child(4){grid-column:1/2}.classic-nav a:nth-child(5){grid-column:2/4}.hero{display:flex;flex-direction:column;padding-top:18px;padding-bottom:28px;gap:17px}.enquiry-rail{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0;background:none;border:0}.rail-title,.rail-note{display:none}.rail-button{margin:0;min-height:43px;padding:9px 11px;font-size:13px}.hero-main{width:100%}.photo-toolbar{gap:4px}.photo-toolbar a{flex:1;font-size:10px;padding:7px 5px;text-align:center;display:grid;place-items:center}.photo-frame{padding:7px;border-radius:0 6px 6px 6px}.hero-photo-pair{gap:6px;grid-template-columns:1.35fr 1fr}.photo-open img{height:210px}.photo-open>span{font-size:10px;line-height:1.4;padding:20px 7px 8px}.main-class-photo img{object-position:48% 50%}.silver-tabs{margin-top:7px}.silver-tabs a{font-size:10px;padding:10px 5px}.hero-intro{padding-top:22px}.hero h1{font-size:32px;letter-spacing:-.8px;line-height:1.15}.hero h1 br{display:block}.hero .eyebrow{font-size:10px;letter-spacing:.7px}.hero p{font-size:15px;line-height:1.75}.hero .actions{display:flex;align-items:center;gap:12px}.hero .actions .button{flex:initial;font-size:14px;padding:12px 14px}.hero .actions .text-link{font-size:12px;margin:0}.trust{padding:18px 15px;gap:17px 12px}.trust strong{font-size:17px}.trust span{font-size:12px}.trust>div{padding-left:13px}.section{padding-block:45px}.section h2{font-size:29px}.section-head{gap:18px;margin-bottom:25px}.concern h3{font-size:19px}.program-label{margin:-25px -25px 20px;padding:12px 18px}.program h3{font-size:29px}.program p,.program li{font-size:15px}.campus-gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-tile img{height:160px}.gallery-tile span{font-size:11px;padding:9px 5px}.archive-note{font-size:12px;margin-bottom:24px}.address-panel{padding:20px;gap:20px}.address-panel h2{font-size:25px}.address-panel .address{font-size:20px}.address-panel .button{font-size:13px;padding:11px 13px;min-height:44px}.booking-grid{gap:25px}.form{padding:23px}.mobile-bar{padding-inline:14px;gap:9px}.mobile-bar .button{border-radius:5px}.footer{padding-bottom:100px}html[lang=zh] .hero h1{font-size:30px}html[lang=ko] .hero h1{font-size:31px}html[lang=zh] .section h2,html[lang=ko] .section h2{font-size:28px}html[lang=zh] .address-panel h2,html[lang=ko] .address-panel h2{font-size:25px}#photo-dialog{padding:12px}#photo-dialog #full-photo{height:65dvh;max-height:65dvh}.photo-dialog-footer{gap:8px}.photo-dialog-footer p{font-size:12px}.photo-dialog-footer .button{width:40px;min-height:40px}}
@media(max-width:360px){.wrap{padding-inline:13px}.classic-nav{margin-inline:13px}.brand img{width:145px}.langs button{padding:6px 4px}.masthead{gap:12px 7px}.photo-open img{height:180px}.gallery-tile img{height:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
