@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#462b1e;--ink:#30251f;--yellow:#e6c477;--paper:#fffefa;--muted:#66594f;--line:#e4d9c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #ae6900;outline-offset:6px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.draft{background:var(--blue);color:#fff;text-align:center;padding:9px 20px;font-size:13px}.draft span{opacity:.75;margin-left:15px}header{height:115px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-family:'Manrope',sans-serif;font-weight:800;font-size:28px;line-height:1.1;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:3.5px;font-weight:700;margin-top:8px}.brandmark{display:grid;place-content:center;position:relative;background:var(--blue);color:var(--yellow);width:49px;height:54px;border-radius:14px 14px 14px 3px;font:700 39px Georgia;letter-spacing:-6px;padding-right:6px}.brandmark span{position:absolute;right:10px;top:4px;font-size:30px}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.nav-button{border:1px solid var(--blue);border-radius:6px;padding:12px 19px}.nav-button span{margin-left:20px}nav a:hover{color:#9a6100}.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-top:38px;padding-bottom:76px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;line-height:1.6;margin:0 0 23px}.eyebrow>span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d59924;margin-right:7px}h1,h2,h3,p{margin-top:0}h1{font-family:'Manrope',sans-serif;font-size:clamp(45px,4.8vw,69px);line-height:1.11;letter-spacing:-3.5px;margin-bottom:27px;font-weight:800}em{font-family:Georgia,serif;font-weight:400}h1 em{letter-spacing:-3px}.lead{color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:28px}.button{display:inline-flex;align-items:center;gap:38px;background:var(--blue);color:#fff;border-radius:6px;padding:16px 23px;font-weight:600;font-size:15px;transition:transform .2s,background .2s}.button:hover{background:#63402a;transform:translateY(-2px)}.hero-note{font-size:13px;color:var(--muted);margin:17px 0 0}.hero-art{position:relative;margin:0;background:#f2eee7;border-radius:120px 12px 12px 12px;height:510px;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--blue);color:#fff;display:flex;justify-content:space-between;gap:15px;padding:15px 19px;font-size:10px;letter-spacing:1.2px}.hero-art figcaption span{font-size:11px;letter-spacing:0;opacity:.75}.art-tag{position:absolute;bottom:80px;right:21px;background:var(--yellow);padding:20px 26px;transform:rotate(-6deg);font:700 21px/1.2 'Manrope',sans-serif;box-shadow:0 7px 20px #14213d14}.art-tag em{font-size:25px}.ribbon{background:var(--yellow);border-top:1px solid #eabd4b;border-bottom:1px solid #eabd4b}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-family:'Manrope',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.4px}.ribbon b{font-size:30px;font-weight:400}.section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:35px}h2{font-family:'Manrope',sans-serif;font-size:43px;line-height:1.18;letter-spacing:-1.9px;margin:0;font-weight:800}.section-heading>p{max-width:355px;color:var(--muted);margin-bottom:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:9px;padding:29px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.number{font-family:Georgia,serif;font-size:27px;color:#916b29;margin-bottom:32px}h3{font-family:'Manrope',sans-serif;font-size:22px;letter-spacing:-.6px;line-height:1.3;margin-bottom:13px}.card p{font-size:15px;color:var(--muted);margin-bottom:27px}.status{border-top:1px solid var(--line);width:100%;font-size:12px;font-weight:500;padding-top:16px;margin-top:auto;color:#75685c}.questions-section{background:#f4efe5}.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.question-intro{max-width:290px;color:var(--muted);margin-top:22px}.note{display:flex;align-items:center;gap:17px;margin-top:35px}.note>span{font-size:45px;color:#a76e12}.note p{font-size:14px;margin:0}.faq details{border-bottom:1px solid #dfd2bd}.faq summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:17px;font-weight:600;padding:25px 0;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:25px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);font-size:15px;padding-right:30px;line-height:1.7;margin-bottom:24px}.inquiry{border-radius:12px;background:var(--blue);color:#fff;padding:55px 60px;display:grid;grid-template-columns:1.1fr .8fr;gap:100px}.inquiry .eyebrow{color:var(--yellow);font-size:11px}.inquiry h2{font-size:48px}.inquiry h2 em{color:var(--yellow)}.inquiry>div>p:last-child{color:#ede0c9;max-width:430px;margin-top:24px;margin-bottom:0}.inquiry aside{border-left:1px solid #987c56;padding-left:40px}.contact-label{font-size:11px;letter-spacing:1.5px;color:#ede0c9}.inquiry h3{font-size:25px;margin-top:22px}.inquiry aside p{font-size:14px;color:#ede0c9}.contact-rule{height:1px;background:#987c56;margin:24px 0}.inquiry aside .small{font-size:12px;margin-bottom:0}footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:21px}footer .brandmark{height:42px;width:39px;font-size:30px}footer .brand small{font-size:8px;letter-spacing:2.7px}footer p,footer>a:last-child{font-size:13px;margin:0;color:var(--muted)}@media(min-width:1500px){.hero-art{height:550px}}@media(max-width:950px){.wrap{width:calc(100% - 48px)}.hero{gap:26px}.hero-art{height:460px}h1{font-size:49px}.questions{gap:45px}.inquiry{gap:40px;padding:40px}.ribbon .wrap{font-size:15px}.hero-art figcaption{flex-direction:column;gap:2px}.eyebrow{font-size:10px}.section-heading>p{max-width:300px}}@media(max-width:680px){.wrap{width:calc(100% - 40px)}.draft{font-size:11px}.draft span{display:block;margin-left:0}header{height:91px}.brand{font-size:23px}.brandmark{width:41px;height:46px;font-size:34px}.brand small{font-size:8px;letter-spacing:3px}nav{gap:0}nav>a:not(.nav-button){display:none}.nav-button{font-size:12px;padding:10px 12px}.nav-button span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:20px;padding-bottom:38px;gap:34px}h1{font-size:54px;letter-spacing:-2.8px}.hero .eyebrow{font-size:10px}.hero-art{height:390px;border-top-left-radius:85px}.hero-art figcaption{flex-direction:row;font-size:8px}.hero-art figcaption span{font-size:10px}.hero-note{font-size:12px}.ribbon .wrap{padding:19px 0;gap:10px;font-size:12px;line-height:1.4}.ribbon b{font-size:18px}.section{padding-top:54px;padding-bottom:54px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:23px}h2{font-size:35px}.cards{grid-template-columns:1fr;gap:15px}.card{padding:25px}.number{margin-bottom:15px}.card p{margin-bottom:20px}.questions{grid-template-columns:1fr;gap:20px}.note{display:none}.question-intro{max-width:none}.faq summary{font-size:16px;padding:21px 0}.inquiry{grid-template-columns:1fr;gap:32px;padding:30px 25px}.inquiry h2{font-size:40px}.inquiry aside{border-left:0;border-top:1px solid #987c56;padding-left:0;padding-top:27px}.inquiry .eyebrow{font-size:10px}footer{flex-wrap:wrap;gap:23px}footer>p{display:none}footer>a:last-child{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Property photography */
.real-photo{border-top-left-radius:70px}.real-photo img{object-position:center 52%}.room-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.room-photo{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.room-photo img{display:block;width:100%;height:380px;object-fit:cover}.room-photo>div{padding:23px}.room-photo h3{margin-bottom:8px}.room-photo p{font-size:15px;color:var(--muted);margin:0}.photo-note{font-size:14px;color:var(--muted);margin:22px 0 48px;max-width:760px}.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-heading h3{font-size:28px;margin:0}.gallery-heading p{font-size:14px;color:var(--muted);margin:0}.property-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}.property-gallery figure{margin:0}.property-gallery img{width:100%;height:260px;object-fit:cover;display:block;border-radius:8px}.property-gallery figcaption{font-size:15px;font-weight:600;margin-top:12px}.room-photo a,.property-gallery a{display:block}.room-photo a:hover img,.property-gallery a:hover img{opacity:.9}.property-gallery figure:last-child{grid-column:auto}@media(max-width:950px){.room-photo img{height:300px}.property-gallery img{height:230px}}@media(max-width:680px){.room-gallery{grid-template-columns:1fr}.room-photo img{height:auto;max-height:510px;object-fit:contain;background:#f4efe5}.property-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.property-gallery img{height:200px}.gallery-heading{display:block}.gallery-heading p{margin-top:8px}.property-gallery figcaption{font-size:14px}.real-photo{height:480px}.photo-note{margin-bottom:35px}}@media(max-width:380px){.property-gallery{grid-template-columns:1fr}.property-gallery img{height:300px}}

/* Keep portrait facility photos fully visible. */
.property-gallery img{object-fit:contain;background:#f4efe5}

.rooftop-feature{margin:0 0 48px}.rooftop-copy{max-width:760px;color:var(--muted);margin-bottom:24px}.rooftop-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.rooftop-photos a{display:block}.rooftop-photos img{display:block;width:100%;height:auto;border-radius:8px}.rooftop-photos a:hover img{opacity:.9}@media(max-width:680px){.rooftop-photos{grid-template-columns:1fr;gap:16px}}

/* Shared Kayong’s monogram with a distinct Dormitory identity. */
.brand{gap:8px;letter-spacing:0}.brand-logo{display:block;width:88px;height:88px;object-fit:contain;background:white;border-radius:3px}.brand-name{font-family:Georgia,serif;font-size:34px;font-style:italic;font-weight:400;color:#79561b}.brand-name small{font-family:'Manrope',sans-serif;font-style:normal;font-size:12px;font-weight:800;letter-spacing:3px;color:var(--ink)}
h1 em{color:#8a651f}.hero{padding-top:48px}footer .brand-logo{width:74px;height:74px}footer .brand-name{font-size:28px}footer .brand-name small{font-size:11px;letter-spacing:2px}footer .affiliation{font-size:14px;line-height:1.6}
@media(max-width:680px){header{height:auto;min-height:100px;gap:12px}.brand-logo{width:62px;height:62px}.brand-name{font-size:25px}.brand-name small{font-size:10px;letter-spacing:1.8px}.nav-button{font-size:12px;padding:10px}.hero{padding-top:30px}footer .affiliation{display:block;width:100%;order:3}footer .brand-name small{font-size:10px}}
@media(max-width:380px){header.wrap{width:calc(100% - 24px)}.brand-logo{width:48px;height:48px}.brand-name{font-size:22px}.nav-button span{display:none}}

/* Featured student rooftop facility */
.rooftop-highlight{border-bottom:1px solid var(--line)}.rooftop-new-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rooftop-new-gallery figure{margin:0}.rooftop-new-gallery a{display:block}.rooftop-new-gallery img{display:block;width:100%;height:auto;border-radius:8px}.rooftop-new-gallery figcaption{margin-top:12px;font-size:15px;font-weight:600}.rooftop-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:32px}.rooftop-benefits article{border-top:2px solid #b38d45;padding-top:22px}.rooftop-benefits h3{font-size:21px}.rooftop-benefits p{color:var(--muted);margin-bottom:0}.map-link{font-weight:700;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media(max-width:950px){nav{gap:18px}.rooftop-benefits{gap:20px}.rooftop-new-gallery{gap:16px}}
@media(max-width:680px){.rooftop-new-gallery{grid-template-columns:1fr}.rooftop-benefits{grid-template-columns:1fr;gap:24px}.rooftop-new-gallery img{height:auto}.rooftop-benefits h3{font-size:22px}}

.contact-numbers{margin:24px 0 0}.contact-numbers>div+div{margin-top:20px}.contact-numbers dt{font-size:14px;color:#ede0c9;margin-bottom:5px}.contact-numbers dd{margin:0;font-size:clamp(16px,1.5vw,20px);font-weight:600}.contact-numbers a{display:inline-block;padding:5px 0;text-decoration:underline;text-underline-offset:5px}.contact-numbers a:hover{color:var(--yellow)}.contact-numbers a:focus-visible{outline-color:var(--yellow)}

.accommodation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 20px}.accommodation-options article{background:#fff;border:1px solid var(--line);border-top:3px solid #b38d45;padding:28px;border-radius:8px}.accommodation-options .eyebrow{margin-bottom:14px}.accommodation-options article>p:last-child{color:var(--muted);margin:0}.rate{font-size:25px;font-weight:700;color:var(--ink);line-height:1.4}.rate span{display:block;font-size:14px;font-weight:400;color:var(--muted)}.availability-note{color:var(--muted);font-size:15px;margin-bottom:30px}.availability-note a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.faq-group+.faq-group{margin-top:42px}.faq-group>h3{color:#79561b;font-size:20px;margin-bottom:4px}.questions{align-items:start}.faq details p strong{color:var(--ink)}@media(max-width:680px){.accommodation-options{grid-template-columns:1fr;gap:16px}.accommodation-options article{padding:24px}.faq-group+.faq-group{margin-top:32px}}

.dining-section{background:#f4efe5}.dining-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dining-gallery figure{margin:0}.dining-gallery a{display:block}.dining-gallery img{display:block;width:100%;height:auto;border-radius:8px}.dining-gallery figcaption{margin-top:12px;font-size:15px;font-weight:600}.dining-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:32px}.dining-info p{color:var(--muted);margin-bottom:0}.hero-note a{text-decoration:underline;text-underline-offset:3px;font-weight:600}header nav{gap:22px}@media(min-width:681px) and (max-width:950px){header{height:auto;min-height:115px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:18px}header nav{flex-wrap:wrap;gap:16px}}@media(max-width:680px){.dining-gallery{grid-template-columns:1fr;gap:24px}.dining-info{grid-template-columns:1fr;gap:24px}header nav{gap:0}}
/* Food court feature and photo gallery */
.dining-featured{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.dining-featured figure,.dining-carousel figure{margin:0;min-width:0}.dining-featured figure:first-child{grid-row:span 2}.dining-photo{display:block;overflow:hidden;border-radius:8px;background:#e4d9c8;cursor:zoom-in}.dining-featured .dining-photo{height:210px}.dining-featured figure:first-child .dining-photo{height:calc(100% - 36px);min-height:390px}.dining-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.dining-photo:hover img{transform:scale(1.025)}.dining-featured figcaption,.dining-carousel figcaption{font-size:15px;font-weight:600;margin-top:10px}.dining-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:52px;margin-bottom:20px}.dining-gallery-heading h3{margin-bottom:6px;font-size:25px}.dining-gallery-heading p{margin:0;color:var(--muted)}.dining-controls{display:flex;gap:10px}.dining-controls[hidden]{display:none}.dining-controls button,.lightbox-controls button,#photo-close{font:inherit;cursor:pointer;border:1px solid var(--blue);border-radius:6px;background:var(--paper);color:var(--blue);padding:10px 16px;min-height:44px}.dining-controls button:disabled{opacity:.35;cursor:default}.dining-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;scrollbar-color:var(--blue) #e4d9c8;scrollbar-width:thin}.dining-carousel figure{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}.dining-carousel .dining-photo{height:240px}.dining-carousel img{object-position:center}.dining-carousel:focus-visible,button:focus-visible{outline:3px solid #ae6900;outline-offset:4px}#dining-lightbox{width:min(1100px,96vw);max-height:95dvh;padding:20px;background:var(--paper);color:var(--ink);border:0;border-radius:10px}#dining-lightbox::backdrop{background:rgba(20,13,8,.88)}.lightbox-top,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:14px}.lightbox-top{margin-bottom:12px}#dining-lightbox figure{margin:0}#photo-large{display:block;width:100%;height: min(65dvh,760px);object-fit:contain}#photo-caption{margin:12px 0;text-align:center;font-size:16px}.lightbox-controls{margin-top:10px}body.photo-viewing{overflow:hidden}@media(max-width:800px){.dining-featured{grid-template-columns:1fr 1fr;gap:16px}.dining-featured figure:first-child{grid-column:1/-1;grid-row:auto}.dining-featured figure:first-child .dining-photo{height:auto;min-height:0;aspect-ratio:4/3}.dining-featured .dining-photo{height:auto;aspect-ratio:4/3}.dining-carousel figure{flex-basis:72%}.dining-carousel .dining-photo{height:auto;aspect-ratio:4/3}.dining-gallery-heading{align-items:flex-start}.dining-controls button{padding:8px 12px}}@media(max-width:420px){.dining-featured{grid-template-columns:1fr}.dining-gallery-heading{flex-wrap:wrap}.dining-carousel figure{flex-basis:88%}}@media(prefers-reduced-motion:reduce){.dining-photo img{transition:none}}

.essentials-section{border-bottom:1px solid var(--line)}.essentials-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.essentials-photos figure{margin:0;min-width:0}.essentials-photos a{display:block;border-radius:8px;overflow:hidden;cursor:zoom-in}.essentials-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.essentials-photos figcaption{margin-top:12px;font-size:15px;font-weight:600}.essentials-copy{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:32px}.essentials-copy p{color:var(--muted);margin-bottom:0}@media(max-width:680px){.essentials-photos,.essentials-copy{grid-template-columns:1fr;gap:24px}}
