/* Native typography and UI only. Existing property bodies never receive data-aurea-native. */
html[data-aurea-native]:is(:lang(ar),:lang(fa)){--serif:'Aurea Naskh',Georgia,serif;--sans:'Aurea Arabic',Tahoma,sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(he){--serif:'Aurea Hebrew Serif',Georgia,serif;--sans:'Aurea Hebrew',Arial,sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(hi){--serif:'Aurea Devanagari Serif',serif;--sans:'Aurea Devanagari',sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(el){--serif:'Cormorant Garamond','Aurea Greek Serif',Georgia,serif;--display:var(--serif)}
html[data-aurea-native]:lang(zh-CN){--serif:'Aurea SC Serif','Songti SC',serif;--sans:'Aurea SC','PingFang SC','Microsoft YaHei',sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(zh-TW){--serif:'Aurea TC Serif','Songti TC',serif;--sans:'Aurea TC','PingFang TC','Microsoft JhengHei',sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(ja){--serif:'Aurea JP Serif','Hiragino Mincho ProN',serif;--sans:'Aurea JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native]:lang(ko){--serif:'Aurea KR Serif','AppleMyungjo',serif;--sans:'Aurea KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;--display:var(--serif);--body:var(--sans)}
html[data-aurea-native] body{font-family:var(--sans,system-ui,sans-serif)}
html[data-aurea-native] :is(.nav-brand-name,.footer-brand-name){font-family:'Cormorant Garamond',Georgia,serif}
html[data-aurea-native] :is(.nav-brand-sub,.footer-brand-sub){font-family:Inter,Arial,sans-serif}
html[data-aurea-native]:is(:lang(ar),:lang(fa),:lang(he),:lang(hi),:lang(zh),:lang(ja),:lang(ko)) :is(.t-label,.t-heading,.t-subheading,.partner-eyebrow,h1,h2,h3,h4,.nav-links,.btn-primary,.btn-secondary,label,button){letter-spacing:normal;text-transform:none}
html[data-aurea-native]:is(:lang(ar),:lang(fa)) :is(p,li,label,button,select){line-height:1.8}
html[data-aurea-native]:is(:lang(zh),:lang(ja),:lang(ko)) :is(p,li){line-height:1.85;word-break:normal;overflow-wrap:anywhere}
/* Korean spacing carries word boundaries; keep syllables together at normal widths. */
html[data-aurea-native]:lang(ko) :is(h1,h2,h3,p,li){word-break:keep-all;overflow-wrap:break-word}
html[data-aurea-native]:is(:lang(zh),:lang(ja)){line-break:strict}
/* These native font files have no italic outlines; retain their actual forms. */
html[data-aurea-native]:is(:lang(ar),:lang(fa),:lang(he),:lang(hi),:lang(zh),:lang(ja),:lang(ko)){font-synthesis-style:none}
html[data-aurea-native] :is(.cz-birth-year-instruction,.cz-residence-start-instruction){margin-block:.5rem 0;font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere}
html[data-aurea-native][dir=rtl] :is(p,li,label,th,td,.form-field,.footer-col){text-align:start}
html[data-aurea-native] [data-home-hero-counter]{direction:ltr;unicode-bidi:isolate}
.native-number-range{direction:ltr;unicode-bidi:isolate;white-space:nowrap}
html[data-aurea-native] :is(input[type=email],input[type=tel],.nav-logo,.footer-logo){direction:ltr}
html[data-aurea-native] :is(.two-col,.form-grid,.nav-links)>*{min-width:0}
.footer-language-switch--native{position:relative;max-width:100%;text-align:start}
.footer-language-switch--native summary{display:flex;align-items:center;gap:.7rem;min-height:48px;cursor:pointer;list-style:none;font:inherit}
.footer-language-switch--native summary::-webkit-details-marker{display:none}
.footer-language-switch--native summary:after{content:'+';margin-inline-start:auto}
.footer-language-switch--native[open] summary:after{content:'−'}
.footer-language-switch__list{display:grid;grid-template-columns:repeat(3,minmax(6.5rem,1fr));gap:.15rem 1rem;list-style:none;margin:1rem 0 0;padding:0;max-width:40rem}
.footer-language-switch__list a{display:flex;align-items:center;min-height:44px;white-space:normal;text-decoration:none}
.footer-language-switch__list a[aria-current=page]{text-decoration:underline;text-underline-offset:.3em}
.footer-language-switch--native :is(summary,a):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.mobile-menu>.menu-language-switch{width:min(100%,32rem);margin:0 auto 1rem;padding-block:.5rem;border-block:1px solid var(--warm-gray);box-sizing:border-box}
.mobile-menu .menu-language-switch summary{font-family:var(--sans,system-ui,sans-serif);font-size:1rem;letter-spacing:normal;text-transform:none}
.mobile-menu .menu-language-switch .footer-language-switch__list{max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:.5rem;gap:.25rem 1rem}
.mobile-menu .menu-language-switch a{font-family:var(--sans,system-ui,sans-serif);font-size:1rem;line-height:1.6;letter-spacing:normal;text-transform:none;text-align:start}
.native-document-language{display:block;font-size:.75rem;line-height:1.6;opacity:.8}
nav .native-document-language{font-size:.6875rem;line-height:1.3;letter-spacing:normal;text-transform:none}
nav .nav-links>li>a>.native-document-language{position:absolute;top:100%;inset-inline:.5rem;white-space:nowrap}
#site-mobile-menu .native-document-language,#site-mobile-menu a:has(>.native-document-language){text-align:center}
.site-footer .native-document-language{display:block;margin-block-start:.15rem;font-size:.75rem;line-height:1.6;letter-spacing:normal;text-transform:none}
.site-footer .footer-col a:has(>.native-document-language){display:block;padding-block:.35rem}
/* Shared celebration pages: narrow cards must allow long native words and the
   approved non-breaking editorial phrases to fit without losing characters. */
@media(max-width:30rem){
  [data-section="venue"] .venue-grid{grid-template-columns:1fr}
  [data-section="venue"] .venue-stat{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  [data-section="venue"] .venue-stat:first-child{border-top:0}
  [data-section="difference"] h2:lang(en){font-size:clamp(1.25rem,6vw,2rem)}
}
/* Shared pages allow native copy to determine its height. Property bodies do
   not carry these page-family markers and keep their published layout. */
@media(max-width:40rem){
  html[data-aurea-page="family"] main>.hero{height:auto;min-height:100svh;box-sizing:border-box;padding-block:calc(var(--nav-height,80px) + 2rem) 3rem}
  html[data-aurea-page="family"] .hero-content{max-width:100%;box-sizing:border-box}
  .aurea-home .home-life .home-tile{display:flex;align-items:flex-end}
  .aurea-home .home-life .home-tile__body{position:relative;inset:auto;width:100%;box-sizing:border-box;background:linear-gradient(to top,rgba(20,20,18,.9),rgba(20,20,18,.68))}
  html[data-aurea-page="properties"] .gv-listing-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html[data-aurea-page="properties"] .gv-listing-card__stats>div:first-child{grid-column:1/-1}
}
[data-aurea-reading-entry] .ed-rail{position:static;max-width:68rem;margin:2rem auto;width:calc(100% - 2rem)}
.aurea-reading-notice{max-width:68rem;margin:2rem auto;padding:1.5rem;border-block:1px solid var(--stone,#d4cfc6);width:calc(100% - 2rem)}
.aurea-reading-notice a{display:inline-flex;min-height:48px;align-items:center;margin-inline-end:1.5rem;text-underline-offset:.3em}
@media(max-width:40rem){.footer-language-switch__list{grid-template-columns:repeat(2,minmax(6rem,1fr))}.footer-language-switch--native{width:100%}}

html[data-aurea-native][dir=rtl] :is([data-home-hero-prev],[data-home-hero-next]) svg{transform:scaleX(-1)}
/* Keep the invisible spam trap out of the RTL scrollable extent. It remains in the form. */
html[data-aurea-native][dir=rtl] input[name="_gotcha"]{left:0!important;clip-path:inset(50%)}
html[data-aurea-native][dir=rtl] :is(a,button) :is(svg.lucide-arrow-right,svg.lucide-arrow-left){transform:scaleX(-1)}
/* Native card labels must shrink inside the existing mosaic tracks. */
html[data-aurea-native] :is(.gv-static-cards>a,.gv-listing-card,.gv-listing-card__grid,.gv-listing-card__body,.gv-listing-card__stats>div){min-width:0;max-width:100%;box-sizing:border-box}
html[data-aurea-native] .gv-listing-card__stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html[data-aurea-native] .gv-listing-card__stat-label{overflow-wrap:anywhere}
/* Keep all four programme choices visible and keyboard reachable on phones.
   Native day names may wrap; the existing panels and editorial copy stay intact. */
@media(max-width:40rem){
  html[data-aurea-page="retreat"] .retreat-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}
  html[data-aurea-page="retreat"] .retreat-tab{min-width:0;max-width:100%;padding-inline:.4rem;white-space:normal;overflow-wrap:anywhere;text-align:center}
}

/* The native desktop rule follows the shared mobile rule; retain two actual
   tracks on phones so the source-label words have room in every language. */
@media(max-width:40rem){
  html[data-aurea-native][data-aurea-page="properties"] .gv-listing-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Native words and short heading lines should stay together in phone layouts. */
html[data-aurea-native]:lang(ko) :is(span,strong,small,label,button){word-break:keep-all;overflow-wrap:break-word}
html[data-aurea-native]:is(:lang(zh),:lang(ja),:lang(ko)) :is(h1,h2,h3,.hero-title){text-wrap:balance}
@media(max-width:25rem){
  html[data-aurea-native][data-aurea-page="family"]:is(:lang(zh),:lang(ja)) .hero-title,html[data-aurea-native]:is(:lang(zh),:lang(ja)) .partner-hero h1{font-size:clamp(1.75rem,8vw,2rem)}
}
/* Long native passport names must not widen the select beyond its control row. */
html[data-aurea-page="citizenship"] .cz-combo-select{min-width:0;max-width:100%;box-sizing:border-box}

@media(max-width:40rem){
  html[data-aurea-native]:lang(ko) .home-strip span{display:block;letter-spacing:normal}
  html[data-aurea-native]:lang(ko) .home-strip strong{margin-right:0}
}

html[data-aurea-native]:lang(ko) .heli-hero__metric span{letter-spacing:normal}

html[data-aurea-native]:lang(ko) .cel-hero__strip span{letter-spacing:normal}
html[data-aurea-native]:is(:lang(ar),:lang(fa),:lang(he),:lang(hi),:lang(zh),:lang(ja),:lang(ko)) :is([class$="__eyebrow"],[class$="-eyebrow"],.btn-outline){letter-spacing:normal;text-transform:none}

.native-heading-word{display:inline-block;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;vertical-align:baseline}

/* Phone review: keep native counters and CJK editorial words intact. These
   wrappers never alter text and are not inserted into original property bodies. */
.native-number-unit{display:inline-block;white-space:nowrap}
html:lang(zh-TW):is([data-aurea-page="citizenship"],[data-aurea-page="partnerships"],[data-aurea-page="insights"]) :is(h1,h2,h3){text-wrap:balance;line-break:strict}
@media(max-width:40rem){
  html:lang(zh-TW)[data-aurea-page="insights"] .insight-card__langs .btn-outline{padding-inline:.8rem;letter-spacing:normal;min-height:44px}
}

/* The family header changes from a photograph to light content while scrolling.
   Switch its foreground and background together instead of fading white-on-white. */
html[data-aurea-page="family"] nav{transition:backdrop-filter .4s,box-shadow .4s}
html[data-aurea-page="family"] nav :is(.nav-brand-name,.nav-brand-sub){transition:none}
html[data-aurea-page="family"] nav .hamburger span{transition:transform .3s}

/* Longer RTL paragraphs extend over brighter parts of the same approved hero
   photographs. Increase their existing dark backing and text separation. */
html[data-aurea-native][data-aurea-page="design"][dir="rtl"] .dp-hero__bg::after{background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.58) 65%,rgba(0,0,0,.35))}
html[data-aurea-native][data-aurea-page="design"][dir="rtl"] :is(.dp-hero__body,.dp-hero__subtitle){color:rgba(255,255,255,.96);text-shadow:0 1px 4px rgba(0,0,0,.45)}
html[data-aurea-native][data-aurea-page="family"][dir="rtl"] main>.hero .hero-bg{filter:brightness(.42)}
html[data-aurea-native][data-aurea-page="family"][dir="rtl"] main>.hero .hero-content>p{color:#fff;opacity:1;text-shadow:0 1px 4px rgba(0,0,0,.5)}
html[data-aurea-native][data-aurea-page="aviation"][dir="rtl"] .avi-hero__bg::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,12,10,.55),rgba(12,12,10,.7))}
html[data-aurea-native][data-aurea-page="aviation"][dir="rtl"] .avi-hero__sub{color:rgba(255,255,255,.96);text-shadow:0 1px 4px rgba(0,0,0,.45)}

@media(prefers-reduced-motion:reduce){
  html[data-aurea-page="retreat"] #stickyCta{transition:none!important}
}
