:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#1e2938;background:#fffaf5;font-size:16px;line-height:1.6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:850px}.skip{position:absolute;left:-10000px;top:5px;background:#fff;z-index:100;padding:12px}.skip:focus{left:12px}
.site-header{background:#14283b;color:#fff;position:relative;z-index:1}.header-inner{min-height:90px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.04em;line-height:1.15;flex-shrink:0}.brand-logo{height:58px;width:58px;object-fit:contain}.brand small{display:block;font-weight:400;letter-spacing:normal;opacity:.73;font-size:.72rem;margin-top:5px}.site-header nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:1;flex-wrap:wrap}.site-header nav a,.language{text-decoration:none;font-size:.87rem;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current=page],.language:hover{color:#ffa660}.language{border:1px solid #66809a;border-radius:6px;padding:5px 9px}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;line-height:1.12;letter-spacing:-.02em}h1{font-size:clamp(2.5rem,5vw,5rem);margin:16px 0 24px}h2{font-size:clamp(2rem,3vw,3rem);margin:12px 0 18px}.eyebrow{font-size:.77rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#e66e2b}.section{padding:75px 0}.section-heading{margin-bottom:32px}.hero{color:white;background:linear-gradient(125deg,#10263a,#214158 70%,#ce6637);overflow:hidden}.hero-grid{min-height:530px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:45px;padding-top:54px;padding-bottom:54px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{color:#ffaf77}.lead{font-size:1.14rem;max-width:610px}.lead p{margin:.6em 0}.hero-photo{width:100%;height:430px;object-fit:cover;border-radius:16px;box-shadow:18px 18px 0 #ef812f}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:7px;background:#ed7831;color:#fff;text-decoration:none;font-weight:750;box-shadow:0 6px 20px #0002}.button:hover{background:#c9531d}.button.outline{background:transparent;border:1px solid #ffffffa8;box-shadow:none}.button.outline:hover{background:#ffffff20}
.events-section{background:#fff}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.event-card,.empty-event{background:#fffaf5;border:1px solid #f0e6dc;border-radius:10px;padding:24px;min-height:120px}.event-card time{display:block;color:#bb5724;font-weight:750}.event-card h3{font-size:1.35rem;margin:12px 0}.event-card a{text-decoration:none}.event-card a:hover{text-decoration:underline}.empty-event{grid-column:1/-1}.text-link{display:inline-block;font-weight:800;color:#a84416;text-underline-offset:4px;margin-top:8px}.gallery-preview{background:#faf2e9}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.photo{position:relative;overflow:hidden;border-radius:10px;min-height:180px;background:#d5dce0;display:block}.photo img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .2s}.photo:hover img{transform:scale(1.035)}.photo span{position:absolute;bottom:10px;right:14px;color:#fff;background:#14283ba8;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}
.inner-hero{background:#14283b;color:#fff;padding:68px 0}.inner-hero h1{margin-bottom:0}.prose{max-width:780px;font-size:1.08rem;margin-bottom:55px}.prose p{margin:0 0 1.3em}.faq details{border-bottom:1px solid #dbcbbd;padding:16px 0}.faq summary{font-weight:700;cursor:pointer;font-size:1.12rem;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';color:#d26027;font-size:1.3rem}.faq details[open] summary:after{content:'−'}.answer{padding:8px 35px 0 0}.answer p{margin:.5em 0 1em}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-card{background:#fff;border:1px solid #f0e6dc;border-radius:12px;padding:30px;overflow-wrap:anywhere}.contact-card h2{font-size:1.8rem}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-link{color:#a84416;font-weight:700;text-underline-offset:4px}.instagram-section{background:#fff}.site-footer{background:#101d2c;color:#f8f1e8;padding:42px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid div{display:flex;flex-direction:column;gap:6px}.footer-grid p{margin:0;color:#b2c1cc}.footer-grid a{text-decoration:none}.footer-grid a:hover{text-decoration:underline}
.shanghai .hero{background:linear-gradient(125deg,#122938,#1e4a52 70%,#a74a20)}.shanghai .photo-grid{grid-template-columns:repeat(4,1fr)}
.form-section{background:#fff}.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:6px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid #bdc8d1;border-radius:6px;background:#fff;color:#1e2938;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid #ed783166;border-color:#bb5724}.contact-form button{border:0;cursor:pointer;justify-self:start;font:inherit}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.wide-image{display:block;width:100%;max-height:540px;object-fit:cover;border-radius:12px;margin-bottom:32px}.caption{color:#5c6873;font-size:.9rem}.action-section{background:#213e50;color:#fff}.action-section .button{margin-top:12px}.image-section{background:#fff}
@media(max-width:980px){.header-inner{flex-wrap:wrap;padding:12px 0}.site-header nav{order:3;justify-content:flex-start;width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:8px}.language{margin-left:auto}.hero-grid{grid-template-columns:1fr}.hero-photo{height:330px}.shanghai .photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.wrap{width:min(100% - 28px,1180px)}.section{padding:48px 0}.inner-hero{padding:40px 0}.brand-logo{width:45px;height:45px}.header-inner{gap:8px}.site-header nav{gap:14px}.hero-grid{padding-top:45px;padding-bottom:55px;gap:25px;min-height:0}.hero-photo{height:260px;box-shadow:8px 8px 0 #ef812f}.photo-grid,.shanghai .photo-grid{grid-template-columns:repeat(2,1fr);gap:8px}.photo img{height:155px}.event-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.footer-grid{gap:25px}h1{font-size:2.5rem}}
