/* Shared typography and layout refinements for every language and page. */
body{font-size:18px;line-height:1.75}
.hero-copy,.trajectory-copy,.approach-content,.contact-copy,.contact-form,.technology-copy{min-width:0}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
.intent-options label{min-width:0}
.intent-options span{overflow-wrap:anywhere;hyphens:auto}
.eyebrow,.hero-copy .eyebrow{font-size:12px;letter-spacing:1.8px}
.header-inner{height:100px;gap:24px}
.brand-name{font-size:13px;letter-spacing:1.5px}
.brand-name small{font-size:12px;letter-spacing:3px}
.site-header nav{font-size:14px;gap:22px}
.nav-cta{padding:11px 18px;gap:20px}
.language-wrap select{font-size:14px;min-height:44px;max-width:64px}
.hero{grid-template-columns:1fr 1.05fr;min-height:720px}
.hero-copy{padding-top:62px;padding-bottom:45px;padding-right:42px}
.hero-description{font-size:18px;line-height:1.8;max-width:510px;color:#d1d8df}
.hero-actions .button,.button{font-size:15px;min-height:52px;white-space:normal}
.hero-actions{gap:12px}
.hero-actions .button{gap:14px;padding:15px 18px}
.hero-signoff{margin-top:40px;flex-wrap:wrap;gap:16px 24px}
.signature{font-size:25px}
.signoff-caption,.hero-signoff .signoff-caption{font-size:12px;letter-spacing:.7px;color:#b6c3ce;white-space:normal}
.hero-signoff .signoff-caption br{display:initial}
.hero-visual{align-self:center;min-height:0;height:auto;max-height:none;aspect-ratio:1/1.06;background:#0a1728}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero-visual:after{background:linear-gradient(0deg,#081323c9,transparent 18%);pointer-events:none}
.photo-caption{bottom:25px;left:30px;right:25px;font-size:23px;gap:15px}
.caption-location{font-size:12px;letter-spacing:.8px;color:#d1d9e1}
.hero-scroll{display:none}
.lead,.body-copy,.principles p,.section-aside,.secret-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow),.detail-description{font-size:18px;line-height:1.8;color:#54616a}
.approach-content{padding-top:38px}
.service-links>a{font-size:25px;padding-block:23px}
.service-links small,.index{font-size:12px;letter-spacing:1.1px}
.principles h3{font-size:28px;line-height:1.3}
.principles p{max-width:none}
.text-link,.property-link{font-size:15px;line-height:1.6;min-height:44px;gap:15px}
.property-area{font-size:12px;letter-spacing:1px;color:#576369}
.property-tag{font-size:12px;letter-spacing:1px}
.property h3{font-size:30px;line-height:1.3}
.trajectory{gap:68px;align-items:start}
.trajectory-visual{padding:0;display:grid;gap:28px}
.trajectory-visual figure{margin:0;min-width:0}
.trajectory-visual .award-main,.trajectory-visual .award-detail{position:static;inset:auto;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;border:0;background:#ece9e1}
.trajectory-visual figcaption{font-size:14px;line-height:1.6;color:#58656a;margin-top:12px}
.award-pride{display:flex;gap:14px;align-items:center;font-size:12px;letter-spacing:1px;line-height:1.8;margin:0;color:#59636a}
.award-pride>span{font-size:32px;color:#a28351}
.milestones strong{font-size:17px;line-height:1.5;font-weight:600}
.milestones small{font-size:15px;line-height:1.7;color:#59666c}
.milestone-year{font-size:14px;min-width:65px;color:#8a6837}
.milestones>a,.milestone{gap:19px;padding-block:20px}
#ampi-award{scroll-margin-top:125px}
.awards-band{position:relative;background:#122335;border-block:1px solid #354555;color:#d1b585}
.logo-filters{position:absolute;pointer-events:none;overflow:hidden}
.awards-band-inner{padding-block:38px;display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center}
.awards-intro{font-size:12px;line-height:1.9;letter-spacing:1.2px;color:#d3dce4;margin:0}
.award-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:center}
.meta-success-mark{display:block;width:100%;max-width:240px;height:auto;aspect-ratio:800/220;overflow:hidden}
.meta-success-logo{gap:25px}
.award-logo{display:flex;min-width:0;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding-inline:8px}
.award-logo img{object-fit:contain;filter:url(#gold-from-dark)}
.award-logo>span{font-size:12px;letter-spacing:.65px;line-height:1.6;max-width:235px;color:#d4bd94}
.ampi-logo img{width:100%;max-width:240px;height:100px}
.ipa-logo img{width:145px;height:145px;filter:url(#gold-from-light)}
.esqr-marks{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%}
.esqr-logo .esqr-wordmark{width:155px;height:64px}
.esqr-logo .esqr-winner{width:145px;height:118px}
.award-logo:hover{opacity:.8}
.world-section .section-aside{font-size:18px;color:#c0ccd5}
.world-toolbar label>span{font-size:13px;letter-spacing:.6px;color:#c3cfd7}
.world-toolbar select,.world-toolbar input,.world-toolbar button{font-size:16px;min-height:48px}
.world-toolbar{flex-wrap:wrap}
.map-legend,.map-instruction{font-size:13px;color:#bfcbd4}
#world-summary{font-size:16px}
.world-property-detail{font-size:14px;color:#c3cfd7}
.world-property-detail>small{font-size:12px;color:#d3b88c}
.world-property-detail>strong{font-size:23px}
.world-property-link{font-size:14px}
.world-property{gap:16px}
#world-list{max-height:620px}
.world-empty{font-size:17px;color:#c4cfd7}
.secret-copy>p:not(.eyebrow){color:#c6d0d9;max-width:530px}
.secret-copy .eyebrow{font-size:14px}
.secret-copy .eyebrow>span{font-size:12px}
.secret-note{font-size:12px;letter-spacing:1px}
.technology-section{background:#eeece6}
.technology-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.technology-visual{position:relative;aspect-ratio:1/1.1;background:#173044;overflow:hidden;isolation:isolate}
.technology-visual>img{height:100%;object-fit:cover;object-position:43% 50%}
.technology-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071729e8,transparent 65%);z-index:0;pointer-events:none}
.tour-badge{position:absolute;top:27px;left:27px;font:normal 50px/1 Georgia,serif;color:#fff;text-shadow:0 2px 20px #0007}
.quest-card{position:absolute;bottom:35px;left:30px;right:30px;display:flex;align-items:center;gap:22px;z-index:1;color:#e4cc9f;border-top:1px solid #c7b68d88;padding-top:25px}
.quest-card svg{width:105px;height:auto;flex-shrink:0}
.quest-card strong{display:block;color:#fff;font:normal 27px/1.3 Georgia,serif}
.quest-card span{display:block;font-size:12px;letter-spacing:1px;line-height:1.7;margin-top:8px}
.technology-copy .lead{margin-top:28px}
.technology-features{border-block:1px solid #c5c8bf;margin-block:28px}
.technology-features article{padding:22px 0}
.technology-features article+article{border-top:1px solid #c5c8bf}
.technology-features article>span{color:#876a3e;font-size:12px;letter-spacing:1px}
.technology-features h3{font:normal 26px/1.3 Georgia,serif;margin:9px 0}
.technology-features p{font-size:17px;line-height:1.8;color:#54616a;margin:0}
.technology-note{font-size:14px;line-height:1.8;color:#5d6870;margin-bottom:20px}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}
.blog-card{display:flex;flex-direction:column;min-width:0}
.blog-card-image{aspect-ratio:1.6;overflow:hidden;background:#d4d5cb}
.blog-card-image img{height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover img{transform:scale(1.03)}
.blog-card-category{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:#876a3e;margin:22px 0 10px}
.blog-card h3{font:normal 32px/1.25 Georgia,serif;margin:0 0 16px;letter-spacing:-.3px}
.blog-card-excerpt{font-size:17px;color:#54616a;line-height:1.8;margin:0 0 22px}
.blog-card .text-link{margin-top:auto;width:100%}
.blog-archive-header{max-width:850px;margin-bottom:45px}
.blog-archive-header h1,.article-heading h1{font:normal clamp(40px,4.5vw,65px)/1.15 Georgia,serif;letter-spacing:-1.6px;margin:25px 0}
.blog-archive-header>p,.article-heading .article-summary{font-size:20px;color:#54616a;line-height:1.8}
.article-heading{max-width:900px;margin:30px auto 40px}
.article-meta{font-size:14px;letter-spacing:.2px;color:#58666d}
.article-cover{max-width:1050px;margin:0 auto 50px}
.article-cover img{aspect-ratio:1.65;object-fit:cover}
.article-cover figcaption{font-size:14px;line-height:1.7;color:#5c676f;margin-top:12px}
.article-body{max-width:730px;margin-inline:auto;font-size:19px;line-height:1.9;color:#3f505b}
.article-body h2{font-size:34px;letter-spacing:-.7px;line-height:1.3;margin:42px 0 18px;color:#152435}
.article-body p{margin:0 0 24px}
.article-body a{border-bottom:1px solid #927546;text-underline-offset:4px}
.article-body figure{margin:35px 0}
.article-body figcaption{font-size:14px;margin-top:10px}
.article-end{max-width:730px;margin:45px auto 0;padding-top:25px;border-top:1px solid #c7c9be;display:flex;gap:25px;flex-wrap:wrap}
.contact-email{font-size:17px;overflow-wrap:anywhere}
.contact address{font-size:16px;color:#52615f}
.contact-form h3{font-size:32px}
.intent-options span{font-size:16px;min-height:48px;display:flex;align-items:center;justify-content:center}
.field{font-size:15px;margin-top:24px}
.field input,.field textarea{font-size:17px;min-height:50px;color:#182a3b}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.contact-form button:disabled{opacity:.6;cursor:progress;transform:none}
.form-status[data-state="error"]{color:#8b3426}
.form-status[data-state="success"]{color:#28633f}
.field input::placeholder,.field textarea::placeholder{color:#67736e}
.optional{color:#65706b}
.form-note,.form-status{font-size:14px;line-height:1.8;color:#52615c}
.contact-form .button{font-size:16px;min-height:52px}
.footer-main>p{font-size:23px;color:#5d675e}
.zmg-footer>span:first-child{font-size:12px;letter-spacing:.7px}
.zmg-footer>strong{font-size:30px}
.zmg-footer strong small{font-size:12px;letter-spacing:1px}
.footer-bottom{font-size:13px;line-height:1.8;gap:24px;color:#57635b;flex-wrap:wrap}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.floating-contact{font-size:14px;min-height:48px}
.detail-layout figcaption,.availability-note{font-size:14px;line-height:1.8;color:#58665c}
.detail-summary dl>div{font-size:17px}
.detail-summary .text-link{font-size:15px}
.consent-banner p,.consent-banner button{font-size:15px}

@media(max-width:1150px){
 .wrap{width:calc(100% - 64px)}
 .header-inner{height:88px}
 .menu-toggle{display:flex;background:transparent;border:1px solid #a6b0ad;width:46px;height:46px;padding:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px}
 .menu-toggle span{display:block;width:22px;height:1px;background:#172b3f}
 .site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#faf9f6;border-bottom:1px solid #c6ccc4;padding:24px 32px;align-items:stretch;gap:9px;font-size:17px;max-height:calc(100dvh - 88px);overflow-y:auto}
 .site-header nav.is-open{display:flex;flex-direction:column}
 .site-header nav>a{min-height:44px;display:flex;align-items:center;padding-block:5px}
 .site-header nav .nav-cta{padding:12px 16px;justify-content:space-between}
 .language-wrap{position:absolute;right:32px;top:25px}
 .language-wrap select{min-height:44px;font-size:16px}
 .site-header nav>a:first-child{padding-right:70px}
 .hero-copy{padding-left:32px;padding-right:28px}
 .hero h1{font-size:clamp(45px,5.1vw,62px)}
 .hero-actions{display:flex;flex-wrap:wrap}
 .hero-actions .button{font-size:14px;min-height:50px}
 .hero-description{font-size:17px}
 .hero-signoff{flex-direction:row;align-items:center;justify-content:start}
 .photo-caption{font-size:20px;left:22px;right:22px}
 .caption-location{display:none}
 .awards-band-inner{grid-template-columns:1fr;gap:20px}
 .awards-intro{text-align:center}
 .award-logos{gap:22px}
 .technology-layout{gap:40px}
 .quest-card{left:22px;right:22px;gap:15px;bottom:25px}
 .quest-card svg{width:75px}
 .quest-card strong{font-size:24px}
 .technology-copy h2{font-size:42px}
 .trajectory{gap:40px}
 .trajectory h2,.contact h2{font-size:42px}
 .contact-grid{gap:45px}
 .footer-main{gap:30px}
}
@media(max-width:800px){
 .technology-layout{grid-template-columns:1fr;gap:35px}
 .technology-visual{aspect-ratio:1.45}
 .trajectory{grid-template-columns:1fr}
 .trajectory-visual{grid-template-columns:1fr 1fr;gap:24px}
 .award-pride{grid-column:1/-1}
 .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .world-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
 html{scroll-padding-top:88px}
 body{font-size:17px}
 .wrap{width:calc(100% - 40px)}
 .section{padding-block:68px}
 .header-inner{height:80px;gap:12px}
 .site-header nav{top:80px;padding:20px;max-height:calc(100dvh - 80px)}
 .language-wrap{right:20px;top:20px}
 .brand{gap:11px}
 .brand-name{font-size:12px;letter-spacing:1.1px}
 .brand-name small{font-size:12px;letter-spacing:2.3px}
 .monogram{font-size:38px}
 .hero{display:flex;min-height:0}
 .hero-copy{padding:42px 24px 32px}
 .hero-copy .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:25px}
 .hero h1{font-size:clamp(42px,10.8vw,63px);line-height:1.12;margin-bottom:24px}
 html:lang(zh) .hero h1{font-size:44px}
 .hero-description{font-size:17px;line-height:1.8;max-width:none}
 .hero-actions{display:grid;grid-template-columns:1fr 1fr}
 .hero-actions .button{padding:13px 12px;font-size:14px;min-height:56px;gap:7px}
 .hero-signoff{margin-top:29px;gap:15px;align-items:start}
 .signature{font-size:24px}
 .hero-signoff .signoff-caption{font-size:12px;letter-spacing:.5px;line-height:1.7}
 .hero-signoff .signoff-caption br{display:block}
 .hero-visual{width:100%;align-self:auto;min-height:0;max-height:none;height:auto;aspect-ratio:auto;display:flex;flex-direction:column}
 .hero-photo{position:static;inset:auto;height:auto;aspect-ratio:1/1.06}
 .hero-visual:after{display:none}
 .photo-caption{position:relative;inset:auto;padding:20px 24px;font-size:22px;background:#0a1728}
 .caption-location{display:none}
 .eyebrow{font-size:12px;letter-spacing:1.3px}
 h2,.trajectory h2,.contact h2,.world-section h2,.technology-copy h2{font-size:40px;line-height:1.18}
 .lead,.body-copy,.principles p,.section-aside,.world-section .section-aside,.secret-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow),.detail-description{font-size:17px;line-height:1.8}
 .service-links>a{font-size:25px}
 .service-links small{font-size:12px;line-height:1.6;letter-spacing:.6px}
 .principles{gap:30px}
 .principles h3{font-size:27px}
 .index{font-size:13px}
 .property-area,.property-tag{font-size:12px;letter-spacing:.7px}
 .property h3{font-size:30px}
 .property-link,.text-link{font-size:15px}
 .trajectory{display:flex;flex-direction:column;gap:40px}
 .trajectory-visual{grid-template-columns:1fr;width:100%;gap:28px}
 .trajectory-visual figcaption{font-size:14px}
 .award-pride{font-size:12px;letter-spacing:.65px}
 .milestones strong{font-size:17px}
 .milestones small{font-size:15px}
 .milestone-year{font-size:14px;min-width:58px}
 .milestones>a,.milestone{gap:14px}
 .awards-band-inner{padding-block:32px;gap:24px}
 .awards-intro{font-size:12px}
 .award-logos{grid-template-columns:1fr;gap:0}
 .award-logo{padding:26px 0;gap:16px;min-height:0}
 .award-logo+.award-logo{border-top:1px solid #52606a}
 .award-logo>span{font-size:13px}
 .ampi-logo img{height:100px;max-width:270px}
 .ipa-logo img{width:165px;height:165px}
 .esqr-marks{flex-direction:row;justify-content:center;gap:25px}
 .esqr-logo .esqr-wordmark{width:120px;height:60px}
 .esqr-logo .esqr-winner{width:125px;height:102px}
 .world-toolbar{gap:18px 12px}
 .world-toolbar label>span{font-size:13px}
 .world-toolbar select,.world-toolbar input,.world-toolbar button{font-size:16px;min-height:48px}
 .map-legend,.map-instruction{font-size:13px;margin-inline:16px}
 .world-property{gap:14px}
 .world-property img{width:88px;height:90px}
 .world-property-detail>strong{font-size:23px}
 .world-property-detail{font-size:14px}
 .world-property-detail>small{font-size:12px}
 .world-property-link{font-size:14px}
 #world-summary{font-size:16px}
 .secret h2{font-size:43px}
 .secret-copy .eyebrow>span{font-size:12px}
 .technology-visual{aspect-ratio:1.1}
 .tour-badge{font-size:44px;left:23px;top:23px}
 .quest-card{left:22px;right:22px;bottom:25px;gap:15px}
 .quest-card svg{width:72px}
 .quest-card strong{font-size:24px}
 .quest-card span{font-size:12px;letter-spacing:.6px}
 .technology-features h3{font-size:27px}
 .technology-features p{font-size:17px}
 .technology-note{font-size:14px}
 .blog-grid{grid-template-columns:1fr;gap:42px}
 .blog-card h3{font-size:31px}
 .blog-card-category{font-size:12px;line-height:1.8}
 .blog-card-excerpt{font-size:17px}
 .blog-archive-header h1,.article-heading h1{font-size:40px;letter-spacing:-1px}
 .article-heading .article-summary,.blog-archive-header>p{font-size:19px}
 .article-body{font-size:18px;line-height:1.9}
 .article-body h2{font-size:31px}
 .article-meta,.article-cover figcaption{font-size:14px}
 .article-cover{margin-bottom:32px}
 .article-cover img{aspect-ratio:1.25}
 .contact-email{font-size:16px;min-height:44px;max-width:100%;display:inline-flex}
 .contact-phone{font-size:27px;white-space:nowrap;letter-spacing:-.5px}
 .contact address{font-size:16px}
 .contact-form{padding:28px 23px}
 .contact-form h3{font-size:30px}
 .field{font-size:15px}
 .field input,.field textarea{font-size:17px;min-height:52px}
 .intent-options span{font-size:15px;min-height:48px}
 .form-note,.form-status{font-size:14px}
 .contact-form .button{font-size:16px}
 .footer-main .brand-name{font-size:12px;letter-spacing:.8px}
 .footer-main .monogram{font-size:36px}
 .zmg-footer>strong{font-size:27px}
 .zmg-footer strong small{font-size:12px;letter-spacing:.8px}
 .footer-bottom{font-size:13px;gap:10px 22px}
 .floating-contact{font-size:14px;min-height:48px}
 .detail-summary dl>div{font-size:16px}
 .detail-summary .button,.detail-summary .text-link{font-size:15px}
 .detail-layout figcaption,.availability-note{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.blog-card-image img{transition:none}}
