/* ==========================================================================
   The Continuum Initiative — interface refinement layer (2026-10)
   Loaded after the original stylesheets. Presentation only: no wording,
   images or links are changed by this file.
   ========================================================================== */

/* ---------- Self-hosted type (SIL OFL 1.1, see assets/fonts/LICENSE-*) ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:normal;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-vietnamese-opsz-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-latin-opsz-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-latin-ext-opsz-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-display:swap;font-weight:200 800;src:url(assets/fonts/newsreader-vietnamese-opsz-italic.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(assets/fonts/instrument-sans-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-display:swap;font-weight:400 700;src:url(assets/fonts/instrument-sans-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Noto Sans Thai';font-style:normal;font-display:swap;font-weight:100 900;src:url(assets/fonts/noto-sans-thai-thai-wght-normal.woff2) format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}

/* ==========================================================================
   Design principles
   - Quiet confidence: ivory paper, forest ink, brass used like engraving.
   - Prose is set in a book serif; apparatus (navigation, labels, buttons,
     captions) in a restrained sans.
   - Square corners, hairline rules, no glossy shadows, no pills.
   - Motion only when the reader acts, plus one calm entrance on arrival.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --forest:#173d34;
  --forest-deep:#102c25;
  --forest-soft:#21493e;
  --ink:#1e3830;
  --brass:#846b40;
  --brass-light:#c6ab7c;
  --brass-pale:#e7dcc6;
  --ivory:#fbfaf6;
  --vellum:#f3f0e7;
  --rule:#ddd6c6;
  --rule-soft:#e9e4d8;
  --muted:#5a645c;
  --serif:'Newsreader','Noto Sans Thai',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans','Noto Sans Thai',Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,.84,.3,1);
  --header-h:var(--header-height,96px);
  --hairline:1px solid var(--rule);
}

/* ---------- Page-to-page: a soft cross-fade where supported ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease)}

/* ---------- Base ---------- */
html{background:var(--ivory);scrollbar-color:#cbbf9f var(--ivory);scrollbar-width:thin}
body{background:var(--ivory);font-family:var(--sans);font-size:16px;color:var(--ink);font-kerning:normal;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ivory)}
::-webkit-scrollbar-thumb{background:#d3c8ab;border:3px solid var(--ivory);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--brass-light)}
::selection{background:var(--brass-pale);color:var(--forest-deep)}
img{color:transparent}

/* Headings and display: one serif family, light weights, optical sizing */
h1,h2,h3,.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.brand-name strong,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a{font-family:var(--serif);font-optical-sizing:auto}
h1,h2,h3{font-weight:370;font-variant-numeric:oldstyle-nums proportional-nums}
h1{font-weight:330;letter-spacing:-.032em}
h2{letter-spacing:-.022em}
h3{letter-spacing:-.012em}
em{font-style:italic;font-weight:inherit}
.brand-name strong{font-weight:420;letter-spacing:-.3px}

/* Reading prose in serif (Latin-script languages; other scripts keep their own faces) */
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) :is(.hero-description,.prose p:not(.lead),.section-heading>p,.pillar-copy>p:not(.eyebrow),.approach-intro,.principles p,.team article>p:not(.role),.timeline p,.places p,.structure-content>p,.journey-lead,.journey-article p,.journey-card p:not(.journey-eyebrow),.bookworm-opening,.bookworm-copy p,.bookworm-closing,.journey-support p,.closing>span){font-family:var(--serif);font-variant-numeric:oldstyle-nums proportional-nums;letter-spacing:0}
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) :is(.prose p:not(.lead),.pillar-copy>p:not(.eyebrow),.principles p,.team article>p:not(.role),.timeline p,.places p,.journey-card p:not(.journey-eyebrow)){font-size:17.5px;line-height:1.68}
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) :is(.journey-article p,.bookworm-copy p,.bookworm-opening,.bookworm-closing,.journey-support p){font-size:19px;line-height:1.7}
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) :is(.hero-description,.journey-lead){font-size:20px;line-height:1.6}

/* Apparatus: labels, eyebrows and meta in the sans, finely tracked */
.section-label,.eyebrow,.hero-note,.journey-eyebrow,.journey-meta dt,.places span,.team .role{font-family:var(--sans);font-weight:500}
.photo-note,.roadmap-note,.journey-photo figcaption,.ai-notice{font-family:var(--sans)}

/* Script-specific settings */
html[lang='vi'] body{font-family:Arial,Helvetica,sans-serif}
html[lang='th'] body{font-family:'Instrument Sans','Noto Sans Thai',Tahoma,sans-serif;line-height:1.85}
html[lang='th'] :is(h1,h2,h3,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3){font-family:'Noto Sans Thai',Tahoma,sans-serif;font-weight:500;letter-spacing:0}
html[lang='th'] h1{font-weight:450}

/* ---------- Focus & motion ---------- */
:where(a,button,select,summary,[tabindex]):focus-visible{outline:1.5px solid var(--brass);outline-offset:4px;border-radius:0}
:where(.approach,.journey-teaser,.journey-footer,.ux-viewer) :where(a,button,summary,[tabindex]):focus-visible{outline-color:var(--brass-light)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

.skip{background:var(--forest);color:#fff;padding:12px 18px;font-size:14px;letter-spacing:.04em;z-index:200}
.skip:focus{top:14px;outline:1.5px solid var(--brass-light);outline-offset:3px}

/* ==========================================================================
   Header
   ========================================================================== */
.header{background:var(--ivory);border-bottom:var(--hairline);box-shadow:none;transition:min-height .4s var(--ease),padding .4s var(--ease),background-color .4s ease}

.header .brand-symbol,.header .brand-symbol img,.header .brand-name strong{transition:all .4s var(--ease)}
html.is-scrolled .header{min-height:72px;padding-block:10px}
@media (min-width:781px){
  html.is-scrolled .header .brand-symbol{width:44px;height:44px}
  html.is-scrolled .header .brand-symbol img{width:108px;height:108px;left:-32px;top:-16px}
  html.is-scrolled .header .brand-name strong{font-size:22px}
}

/* Reading progress: a brass hairline drawn along the header's lower edge */
.ux-progress{position:absolute;left:0;right:0;bottom:-1px;height:1.5px;pointer-events:none}
.ux-progress span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--read,0));background:var(--brass);transition:transform .12s linear}
html[dir='rtl'] .ux-progress span{transform-origin:100% 50%}
.ux-progress::after{content:'';position:absolute;top:-2px;width:5px;height:5px;background:var(--brass);transform:rotate(45deg);left:calc(var(--read-x,0) * 100% - 3px);opacity:var(--read-dot,0);transition:opacity .3s ease}
html[dir='rtl'] .ux-progress::after{left:auto;right:calc(var(--read-x,0) * 100% - 3px)}

/* Desktop navigation: words only, a brass rule marks the current place */
@media (min-width:1181px){
  .header nav{gap:4px;font-size:13.5px}
  .header nav .nav-icon{display:none}
  .header nav a{position:relative;padding:10px 12px!important;border:0!important;color:var(--ink);letter-spacing:.01em;transition:color .25s ease}
  .header nav a::after{content:'';position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--brass);transform:scaleX(0);transition:transform .45s var(--ease-out)}
  .header nav a:hover{color:var(--brass)}
  .header nav a:hover::after{transform:scaleX(.35)}
  .header nav a:is([aria-current='true'],[aria-current='page']){color:var(--forest)}
  .header nav a:is([aria-current='true'],[aria-current='page'])::after{transform:scaleX(1)}
  .header nav a:is([href^='journey/'],[href^='/journey/'],[href='./'],[href^='./?']){margin-inline-start:6px}
  .header nav a:is([href^='journey/'],[href^='/journey/'],[href='./'],[href^='./?'])::before{content:'';position:absolute;left:-4px;top:50%;width:1px;height:14px;margin-top:-7px;background:var(--rule)}
  
  html[dir='rtl'] .header nav a:is([href^='journey/'],[href^='/journey/'],[href='./'],[href^='./?'])::before{left:auto;right:-4px}
  .header nav a:last-child{padding-inline-start:12px!important}
}

/* Mobile menu: a full-width sheet of serif links */
.header .menu-toggle{border-radius:0;transition:background-color .2s ease}
.header .menu-toggle:hover{background:var(--vellum)}
@media (max-width:1180px){
  .header nav{display:flex!important;visibility:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .28s ease,transform .36s var(--ease-out),visibility 0s linear .36s;background:var(--ivory)!important;padding:8px 6% 30px!important;box-shadow:0 30px 40px -30px rgba(16,44,37,.25)!important}
  .header nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .28s ease,transform .36s var(--ease-out),visibility 0s}
  .header nav a{font-family:var(--serif);font-size:23px!important;font-weight:360;letter-spacing:-.01em;min-height:62px!important;padding:16px 4px!important;border-bottom:1px solid var(--rule-soft)!important;background:transparent!important}
  .header nav a .nav-icon{color:var(--brass);width:18px;height:18px;flex-basis:18px;opacity:.85}
  .header nav a:hover{color:var(--brass)}
  .header nav a[aria-current]{color:var(--forest);background:linear-gradient(90deg,var(--vellum),transparent)!important}
  html[dir='rtl'] .header nav a[aria-current]{background:linear-gradient(270deg,var(--vellum),transparent)!important}
  .header nav.open a{animation:ux-rise .5s var(--ease-out) both}
  .header nav.open a:nth-child(2){animation-delay:.03s}.header nav.open a:nth-child(3){animation-delay:.06s}.header nav.open a:nth-child(4){animation-delay:.09s}.header nav.open a:nth-child(5){animation-delay:.12s}.header nav.open a:nth-child(6){animation-delay:.15s}
  html.ux-menu-open{overflow:hidden}
  html.ux-menu-open body::after{content:'';position:fixed;inset:0;z-index:15;background:rgba(16,44,37,.22);animation:ux-fade .3s ease both}
  html[lang='th'] .header nav a{font-family:'Noto Sans Thai',Tahoma,sans-serif;font-size:19px!important}
  html:is([lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .header nav a{font-family:inherit;font-size:19px!important}
}

/* ==========================================================================
   Language selector (custom listbox; the original <select> stays in place
   behind it and keeps driving the site's own language logic)
   ========================================================================== */
.language-control.ux-lang-ready{position:relative;border:0!important;padding:0!important;background:transparent!important;outline:0!important}
.language-control.ux-lang-ready>svg{display:none}
.language-control.ux-lang-ready>select{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}
.ux-lang-btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 12px 0 13px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:500 13px/1 var(--sans);letter-spacing:.02em;cursor:pointer;transition:border-color .25s ease,background-color .25s ease,color .25s ease;max-width:220px}
.ux-lang-btn:hover,.ux-lang-btn[aria-expanded='true']{border-color:var(--brass);background:#fff}
.ux-lang-btn .ux-globe{color:var(--brass);flex-shrink:0}
.ux-lang-btn .ux-lang-short{display:none;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.ux-lang-btn .ux-lang-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ux-lang-btn .ux-caret{flex-shrink:0;color:var(--brass);transition:transform .35s var(--ease-out)}
.ux-lang-btn[aria-expanded='true'] .ux-caret{transform:rotate(180deg)}
.ux-lang-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:380px;max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;background:var(--ivory);border:1px solid var(--rule);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 28px 50px -30px rgba(16,44,37,.4),0 2px 8px -4px rgba(16,44,37,.08);padding:8px;opacity:0;transform:translateY(-4px);pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .3s var(--ease-out),visibility 0s linear .3s}
.ux-lang-panel::before{content:'';position:absolute;top:-6px;right:22px;width:10px;height:10px;background:var(--ivory);border-left:1px solid var(--rule);border-top:1px solid var(--rule);transform:rotate(45deg)}
.ux-lang-panel.is-open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .2s ease,transform .3s var(--ease-out),visibility 0s}
.ux-lang-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 4px;outline:0}
.ux-lang-list li{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 12px 9px 26px;font:400 14.5px/1.3 var(--sans);color:var(--ink);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.ux-lang-list li[data-value='auto']{grid-column:1/-1;font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--rule-soft);margin-bottom:6px;min-height:46px}
.ux-lang-list li .ux-lang-code{margin-inline-start:auto;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7f6b45}
.ux-lang-list li.is-active{background:var(--vellum)}
.ux-lang-list li:hover{background:var(--vellum)}
.ux-lang-list li[aria-selected='true']{color:var(--forest);font-weight:600}
.ux-lang-list li[aria-selected='true']::before{content:'';position:absolute;left:11px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--brass);transform:rotate(45deg)}
.ux-lang-list:focus-visible li.is-active{outline:1.5px solid var(--brass);outline-offset:-2px}
@media (max-width:780px){
  .ux-lang-btn{height:38px;padding:0 9px 0 10px;gap:7px;font-size:12.5px}
  .ux-lang-btn .ux-lang-value{display:none}
  .ux-lang-btn .ux-lang-short{display:inline}
  .ux-lang-panel{position:fixed;top:calc(var(--header-h) + 8px);left:16px!important;right:16px!important;width:auto}
  .ux-lang-panel::before{display:none}
}

@media (max-width:360px){.ux-lang-list{grid-template-columns:1fr}}

/* ==========================================================================
   Buttons & links
   ========================================================================== */
/* Primary: forest ground, engraved brass inner rule, tracked capitals */
.hero .button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:0 24px 0 26px;border:1px solid var(--forest);border-radius:0;background:var(--forest);color:#fff;font:600 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 0 0 3px var(--forest),inset 0 0 0 4px rgba(198,171,124,.45);transition:background-color .35s ease,box-shadow .35s ease,border-color .35s ease}
.hero .button:hover{background:var(--forest-deep);border-color:var(--forest-deep);box-shadow:inset 0 0 0 3px var(--forest-deep),inset 0 0 0 4px rgba(198,171,124,.85)}
.hero .button:active{background:#0b231d}
.hero .button .guide-icon{color:var(--brass-light);margin:0;transition:transform .45s var(--ease-out)}
.hero .button:hover .guide-icon[data-guide='down']{transform:translateY(3px)}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .hero .button{letter-spacing:.02em;font-size:15px;text-transform:none}

/* Secondary: tracked capitals over a brass hairline that strengthens on hover */
:is(.journey-read,.journey-teaser>a,.closing>a){display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:6px 0 8px;border:0!important;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat,linear-gradient(var(--brass-light),var(--brass-light)) 0 100%/100% 1px no-repeat;color:var(--forest);font:600 12px/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:background-size .55s var(--ease-out),color .25s ease}
:is(.journey-read,.journey-teaser>a,.closing>a):hover{background-size:100% 1px,100% 1px;color:var(--forest-deep)}
html[dir='rtl'] :is(.journey-read,.journey-teaser>a,.closing>a){background-position:100% 100%,100% 100%}
:is(.journey-read,.journey-teaser>a,.closing>a) .guide-icon{margin:0;width:18px;height:18px;flex-basis:18px;color:var(--brass);transition:transform .45s var(--ease-out)}
:is(.journey-read,.journey-teaser>a):hover .guide-icon[data-guide='forward']{transform:translateX(4px)}
html[dir='rtl'] :is(.journey-read,.journey-teaser>a):hover .guide-icon[data-guide='forward']{transform:scaleX(-1) translateX(4px)}
.closing>a:hover .guide-icon[data-guide='up']{transform:translateY(-3px)}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) :is(.journey-read,.journey-teaser>a,.closing>a){letter-spacing:.01em;font-size:14px;text-transform:none}
.closing>a{display:flex;width:fit-content;margin:34px auto 0}
.journey-read[target='_blank']:not(:has(svg))::after,.journey-sources a::after{content:'';display:inline-block;flex-shrink:0;width:12px;height:12px;margin-inline-start:2px;background:var(--brass);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l6-6M4.2 3H9v4.8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l6-6M4.2 3H9v4.8'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s var(--ease-out)}
.journey-read[target='_blank']:not(:has(svg)):hover::after,.journey-sources a:hover::after{transform:translate(2px,-2px)}

/* Breadcrumb back to the journey list */
.journey-breadcrumb{display:inline-flex;align-items:center;gap:10px;min-height:40px;font:600 12px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--brass);text-decoration:none!important}
.journey-breadcrumb::before{content:'';width:22px;height:1px;background:currentColor;transition:width .45s var(--ease-out)}
.journey-breadcrumb:hover{color:var(--forest)}
.journey-breadcrumb:hover::before{width:34px}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .journey-breadcrumb{letter-spacing:.01em;font-size:14px;text-transform:none}

/* Inline links: hairline underline, brass on hover */
.footer-meta a,.credits a,.journey-footer>a{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--rule);text-underline-offset:4px;transition:text-decoration-color .25s ease,color .25s ease}
.footer-meta a:hover,.credits a:hover,.journey-footer>a:hover{text-decoration-color:var(--brass);color:var(--forest)}
.journey-footer>a:hover{color:#fff;text-decoration-color:var(--brass-light)}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{align-items:stretch;position:relative;isolation:isolate}
.hero h1{font-size:clamp(46px,5.3vw,88px);line-height:1.03;margin-bottom:32px}
.hero h1 em{font-weight:310}
.hero-description{max-width:470px;color:var(--muted)}
.hero .eyebrow,.hero-note{letter-spacing:.18em}
.hero .eyebrow{max-width:none}
.hero-visual{border:0;outline:0;box-shadow:0 34px 60px -44px rgba(16,44,37,.55);overflow:visible;background:var(--vellum)}
.hero-visual::before{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(140,115,70,.4);z-index:-1}
html[dir='rtl'] .hero-visual::before{inset:18px 18px -18px -18px}
.hero-visual::after{display:none}
/* One calm entrance on arrival */
html.ux-ready :is(.hero .eyebrow,.hero h1>:not(br),.hero-description,.hero .button,.hero-note){animation:ux-rise 1.1s var(--ease-out) both}
html.ux-ready .hero h1>:not(br){display:inline-block}
html.ux-ready .hero h1>:nth-child(1){animation-delay:.1s}
html.ux-ready .hero h1>:nth-child(3){animation-delay:.2s}
html.ux-ready .hero h1>:nth-child(5){animation-delay:.3s}
html.ux-ready .hero-description{animation-delay:.45s}
html.ux-ready .hero .button{animation-delay:.55s}
html.ux-ready .hero-note{animation-delay:.65s}
html.ux-ready .hero-photo{animation:ux-settle 1.8s var(--ease-out) both}
html.ux-ready .hero-visual::before{animation:ux-fade 1.2s ease .8s both}
@keyframes ux-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ux-settle{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:none}}
@keyframes ux-fade{from{opacity:0}to{opacity:1}}

.mission-strip{font-size:21px;font-weight:350;color:#6d5d3d;letter-spacing:.005em}
.mission-strip i{color:var(--brass-light)}

/* ==========================================================================
   Sections
   ========================================================================== */
.section-label{letter-spacing:.2em}
.section-label .rule{background:var(--rule)}
.prose{border-color:var(--rule)}
.prose .lead{font-size:clamp(23px,1.95vw,28px);line-height:1.48;font-weight:360}

/* Focus pillars: hairline frames, the photograph moves, the card stays still */
.pillars{gap:28px}
.pillar{border:1px solid var(--rule)!important;border-radius:0;box-shadow:none;background:#fdfcf9;overflow:hidden}
.pillar>img{transition:transform 1.8s var(--ease-out);transform-origin:50% 60%}
.pillar:hover>img{transform:scale(1.03)}
.pillar .pillar-number{font-weight:300;font-style:italic;color:#b3a47f;font-variant-numeric:oldstyle-nums}
.pillar .eyebrow{letter-spacing:.16em}
.pillar h3{font-weight:380}
.pillar-foot{font-weight:360;color:#7a6944;border-color:var(--rule-soft)!important}

/* Approach: the heading holds its place while the principles pass */
@media (min-width:781px){.approach-grid>div:first-child{position:sticky;top:calc(var(--header-h) + 48px);align-self:start}}
.principles article>span{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--brass-light);font-variant-numeric:oldstyle-nums}
.principles h3{font-weight:350}

/* Geography: passe-partout frames; photographs open in the viewer */
.location{border:6px solid #fff;outline:1px solid var(--rule);border-radius:0;cursor:zoom-in}
.location img{transition:transform 1.8s var(--ease-out)}
.location:hover img,.location:focus-visible img,.location:has(img:focus-visible) img{transform:scale(1.03)}
.location:focus-visible,.location:has(img:focus-visible){outline:1.5px solid var(--brass);outline-offset:4px}.location img:focus-visible{outline:0}
.location figcaption{font-weight:380;letter-spacing:.005em}

/* People */
.team article{border-radius:0;box-shadow:none;border:1px solid var(--rule);border-top:1px solid var(--brass);background:#fdfcf9}
.team article::before{content:'';position:absolute;left:0;right:0;top:3px;height:1px;background:var(--brass);opacity:.35}
.team-initial{font-weight:300;color:#ebe6d9}
.name-row h3{font-weight:350}
.team .role{letter-spacing:.02em}

/* ==========================================================================
   The long view: the timeline is drawn as the reader arrives
   ========================================================================== */
.timeline{position:relative;--line:0}
.timeline li{border-top-color:transparent!important}
.timeline::before,.timeline::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--rule)}
.timeline::after{background:var(--brass);transform-origin:0 50%;transform:scaleX(var(--line));transition:transform .25s linear}
html[dir='rtl'] .timeline::after{transform-origin:100% 50%}
.timeline li::before{top:-4px!important;width:8px!important;height:8px!important;background:var(--ivory)!important;border:1px solid #c5b48c;transition:background-color .6s ease,border-color .6s ease;z-index:1}
.timeline li.is-reached::before{background:var(--brass)!important;border-color:var(--brass)}
.timeline li h3{transition:color .6s ease}
.timeline li:not(.is-reached) h3{color:#717a72}
.timeline li>span{font-family:var(--serif);font-size:18px;font-style:italic;letter-spacing:0;font-variant-numeric:oldstyle-nums;color:var(--brass)}
@media (max-width:780px){
  .timeline::before,.timeline::after{top:0;bottom:0;left:0;right:auto;width:1px;height:auto}
  .timeline::after{transform-origin:50% 0;transform:scaleY(var(--line))}
  .timeline li{border-left-color:transparent!important}
  .timeline li::before{left:-4px!important;top:9px!important}
  html[dir='rtl'] .timeline::before,html[dir='rtl'] .timeline::after{left:auto;right:0}
  html[dir='rtl'] .timeline li{border-right-color:transparent!important}
  html[dir='rtl'] .timeline li::before{right:-4px!important;left:auto!important}
}

/* ==========================================================================
   Disclosures
   ========================================================================== */
details>summary{transition:color .25s ease}
details>summary:hover{color:var(--brass)}
.details-symbol,.credits summary>span:last-child{position:relative;display:inline-block;width:30px;height:30px;flex-shrink:0;border:1px solid var(--rule);font-size:0!important;color:transparent;transition:border-color .3s ease,background-color .3s ease}
.details-symbol::before,.details-symbol::after,.credits summary>span:last-child::before,.credits summary>span:last-child::after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1px;margin:-.5px 0 0 -5.5px;background:var(--brass);transition:transform .45s var(--ease-out)}
.details-symbol::after,.credits summary>span:last-child::after{transform:rotate(90deg)}
details>summary:hover :is(.details-symbol,span:last-child){border-color:var(--brass)}
.structure[open] .details-symbol,.credits[open] summary>span:last-child{background:var(--vellum);border-color:var(--brass);transform:none}
.structure[open] .details-symbol::after,.credits[open] summary>span:last-child::after{transform:rotate(0)}

/* ==========================================================================
   Closing, journey band, footer
   ========================================================================== */
.closing>p:not(.eyebrow){font-weight:320}
.closing .eyebrow{letter-spacing:.24em}
.journey-teaser{background:var(--forest);color:#eef1ec;border:0;padding:64px 7%;gap:40px}
.journey-teaser h2{color:#fff;font-size:clamp(32px,3.2vw,46px);font-weight:330;letter-spacing:-.02em}
.journey-teaser p{color:#c3d1c9}
.journey-teaser>a{color:#fff;background-image:linear-gradient(#fff,#fff),linear-gradient(rgba(198,171,124,.6),rgba(198,171,124,.6))}
.journey-teaser>a:hover{color:#fff}
.journey-teaser .guide-icon{color:var(--brass-light)!important}
html[lang='th'] .journey-teaser h2{font-family:'Noto Sans Thai',Tahoma,sans-serif}
footer{border-top:var(--hairline);background:var(--ivory)}
.credits{border-color:var(--rule)}
.ai-notice{border-color:var(--rule)}

/* ==========================================================================
   Journey pages
   ========================================================================== */
.journey-main h1{font-weight:330;letter-spacing:-.03em;color:var(--forest)}
.journey-main h2,.bookworm-copy h2,.bookworm-copy h3{font-weight:370}
.journey-lead{color:var(--muted)}
.journey-meta{border-color:var(--rule)}
.journey-meta dt{letter-spacing:.16em;text-transform:uppercase;font-size:11.5px}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .journey-meta dt{letter-spacing:0;text-transform:none;font-size:13px}
.journey-meta dd{font-family:var(--serif);font-size:17px;font-variant-numeric:oldstyle-nums}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .journey-meta dd{font-family:inherit}
.journey-card{gap:52px;padding-top:44px;margin-top:52px;align-items:center;border-color:var(--rule)}
.journey-card>a:first-child{display:block;overflow:hidden;border:6px solid #fff;outline:1px solid var(--rule);box-shadow:0 30px 50px -42px rgba(16,44,37,.6)}
.journey-card>a:first-child img{transition:transform 1.8s var(--ease-out)}
.journey-card:hover>a:first-child img{transform:scale(1.03)}
.journey-eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:11.5px}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .journey-eyebrow{letter-spacing:0;text-transform:none;font-size:13px}
.journey-photo img{cursor:zoom-in;border:6px solid #fff;outline:1px solid var(--rule)}
.journey-photo figcaption{font-size:13.5px;border-color:var(--rule-soft)}
.journey-sources a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;border-color:var(--rule)!important;transition:color .25s ease,padding .45s var(--ease-out)}
.journey-sources a:hover{color:var(--brass);padding-inline-start:8px}
.journey-support{border-color:var(--rule)}
.journey-footer{background:var(--forest-deep);padding:48px 6%}
.journey-footer>a{font-size:22px;color:#fff}
/* A brass initial opens each activity note (Latin-script languages) */
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) :is(.bookworm-opening>p,.huahin-main>.journey-article:first-of-type>p:first-child,.krumui-main>.journey-article:first-of-type>p:first-child)::first-letter{float:left;font-family:var(--serif);font-size:3.55em;line-height:.8;font-weight:300;color:var(--brass);margin:.08em .06em 0 -.02em}

/* Images settle in gently once loaded */

/* ==========================================================================
   Back to top: a square whose brass border is drawn as you read
   ========================================================================== */
.ux-top{position:fixed;z-index:30;right:28px;bottom:28px;display:grid;place-items:center;width:60px;height:60px;padding:0;border:0;border-radius:50%;background:var(--ivory);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s ease,transform .5s var(--ease-out),visibility 0s linear .5s,box-shadow .3s ease;box-shadow:0 14px 28px -18px rgba(16,44,37,.45),0 0 0 1px rgba(255,255,255,.6) inset}
.ux-top.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .5s var(--ease-out),visibility 0s,box-shadow .3s ease}
.ux-top svg.ux-top-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ux-top-frame circle{fill:none}
.ux-top-frame .ux-track{stroke:var(--rule);stroke-width:1}
.ux-top-frame .ux-fill{stroke:var(--brass);stroke-width:1.6;stroke-linecap:round;transition:stroke-dashoffset .12s linear,stroke .3s ease}
.ux-top-mark{position:relative;display:block;width:40px;height:40px;background:var(--emblem) center/contain no-repeat;transition:transform .5s var(--ease-out)}
.ux-top-mark img{display:none}
.ux-top-caret{position:absolute;top:-9px;left:50%;display:grid;place-items:center;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--ivory);color:var(--brass);box-shadow:0 0 0 1px var(--rule);transition:transform .45s var(--ease-out),color .3s ease,background-color .3s ease,box-shadow .3s ease}
.ux-top:hover{box-shadow:0 18px 34px -18px rgba(16,44,37,.55),0 0 0 1px rgba(255,255,255,.6) inset}
.ux-top:hover .ux-top-mark{transform:translateY(-2px) scale(1.04)}
.ux-top:hover .ux-top-caret{transform:translateY(-3px);background:var(--forest);color:#fff;box-shadow:0 0 0 1px var(--forest)}
.ux-top:hover .ux-fill{stroke:var(--forest)}
.ux-top:focus-visible{outline:1.5px solid var(--brass);outline-offset:5px}
html[dir='rtl'] .ux-top{right:auto;left:28px}
html.ux-menu-open .ux-top{opacity:0;visibility:hidden}
@media (max-width:780px){.ux-top{right:16px;bottom:18px;width:52px;height:52px}.ux-top-mark{width:34px;height:34px}html[dir='rtl'] .ux-top{left:16px}}

/* ==========================================================================
   Photo viewer
   ========================================================================== */
.ux-viewer{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:transparent;color:#f1eee5}
.ux-viewer::backdrop{background:rgba(12,32,27,.94);animation:ux-fade .3s ease both}
.ux-viewer[open]{display:grid;grid-template-rows:1fr auto;animation:ux-fade .3s ease both}
.ux-viewer figure{margin:0;display:grid;place-items:center;min-height:0;padding:70px 84px 0}
.ux-viewer img{max-width:100%;max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain;border:6px solid #fff;animation:ux-settle .5s var(--ease-out) both}
.ux-viewer .ux-caption{text-align:center;padding:20px 24px 28px;font:italic 17px/1.55 var(--serif);color:#dfe3dc;max-width:820px;margin:0 auto}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .ux-viewer .ux-caption{font-family:inherit;font-size:15px;font-style:normal}
.ux-viewer .ux-count{display:block;font:600 11px/1 var(--sans);font-style:normal;letter-spacing:.2em;color:var(--brass-light);margin-bottom:10px}
.ux-icon-btn{position:absolute;display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.28);border-radius:0;background:transparent;color:#fff;cursor:pointer;transition:background-color .25s ease,border-color .25s ease}
.ux-icon-btn:hover{background:rgba(255,255,255,.08);border-color:var(--brass-light)}
.ux-viewer .ux-close{top:18px;right:18px}
.ux-viewer .ux-prev{left:18px;top:50%;transform:translateY(-50%)}
.ux-viewer .ux-next{right:18px;top:50%;transform:translateY(-50%)}
html[dir='rtl'] .ux-viewer .ux-close{right:auto;left:18px}
html[dir='rtl'] .ux-viewer :is(.ux-prev,.ux-next) svg{transform:scaleX(-1)}
html[dir='rtl'] .ux-viewer .ux-prev{left:auto;right:18px}
html[dir='rtl'] .ux-viewer .ux-next{right:auto;left:18px}
@media (max-width:780px){.ux-viewer figure{padding:76px 12px 0}.ux-viewer :is(.ux-prev,.ux-next){top:auto;bottom:14px;transform:none}.ux-viewer .ux-caption{padding-inline:78px;font-size:15px}}

/* ==========================================================================
   Responsive refinements
   ========================================================================== */
@media (max-width:1180px){.hero h1{font-size:clamp(42px,5.4vw,64px)}}
@media (max-width:780px){
  .hero h1{font-size:clamp(40px,10.5vw,56px);line-height:1.06}
  .hero-visual::before{inset:10px -10px -10px 10px}
  html[dir='rtl'] .hero-visual::before{inset:10px 10px -10px -10px}
  .hero{padding-bottom:52px}
  .hero .button{width:100%}
  .journey-teaser{padding:48px 7%}
  .journey-card{gap:26px}
  .pillars{gap:22px}
}

/* ---------- Print: content only ---------- */
@media print{.ux-progress,.ux-top,.menu-toggle,.language-control,.ux-viewer{display:none!important}body,html{background:#fff}html.ux-ready *{animation:none!important}img.ux-pending{opacity:1}}
/* Baan Kru Mui activity note */
.krumui-privacy{font-family:var(--sans)}
html:not(:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo])) .krumui-privacy{font-family:var(--serif);font-size:15px}

/* ==========================================================================
   Brand layer (2026-10-24)
   Colour, texture and ornament drawn from the emblem: forest ink, brass foil,
   the four-point star and the emblem itself (never redrawn or mirrored). Nothing here moves or resizes
   any element.
   ========================================================================== */
:root{
  --foil:linear-gradient(100deg,#7d6538 0%,#b39463 28%,#e2cc9c 48%,#a98a55 66%,#806838 100%);
  --foil-soft:linear-gradient(90deg,rgba(176,146,87,0) 0%,#b39463 18%,#e0c899 50%,#b39463 82%,rgba(176,146,87,0) 100%);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .27 0 0 0 0 .17 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .82 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --laid:repeating-linear-gradient(0deg,rgba(140,115,70,.022) 0 1px,transparent 1px 5px);
  --star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12.9 8 16 11.1 24 12 16 12.9 12.9 16 12 24 11.1 16 8 12.9 0 12 8 11.1 11.1 8 12 0Z'/%3E%3C/svg%3E");
  --emblem-gold:url('/assets/brand-emblem-gold.webp');
  --emblem:url('/assets/brand-emblem.webp');
}

/* ---------- Paper: a faint laid texture on every light surface ---------- */
html,body{background-color:var(--ivory)}
body{background-image:var(--grain),var(--laid)}
:is(.hero,.purpose,.geography,.horizon,.journey-main,.section:not(.focus):not(.approach):not(.people)){background-color:transparent!important}
:is(.focus,.people,.closing){background-image:var(--grain),radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 60%)!important;background-color:#f1ede1!important}

/* ---------- Letterhead header: forest band and brass foil hairline ---------- */
.header{background-color:rgba(251,250,246,.97)!important;background-image:var(--grain)!important;box-shadow:inset 0 3px 0 var(--forest),inset 0 4px 0 #b39463!important}
html.is-scrolled .header{box-shadow:inset 0 3px 0 var(--forest),inset 0 4px 0 #b39463,0 14px 28px -24px rgba(16,44,37,.35)!important}
.header .brand-name small{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (min-width:1181px){
  .header nav a::after{height:1.5px!important;background:var(--foil-soft)!important}
  .header nav a:is([aria-current='true'],[aria-current='page']){color:var(--forest)}
  .header nav a:is([href^='journey/'],[href^='/journey/'],[href='./'],[href^='./?'])::before{background:linear-gradient(180deg,rgba(179,148,99,0),rgba(179,148,99,.7) 30%,rgba(179,148,99,.7) 70%,rgba(179,148,99,0))!important;height:18px!important;margin-top:-9px!important}
}
.ux-progress span{background:var(--foil)!important}
.ux-progress::after{width:9px!important;height:9px!important;top:-4px!important;background:#b39463!important;transform:none!important;-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}
@media (max-width:1180px){.header nav{background-image:var(--grain)!important}}

/* ---------- Foil on the brand's gold words ---------- */
:is(.hero h1 em,h2 em,.closing>p:not(.eyebrow) em){background:var(--foil);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.approach h2 em{background:linear-gradient(100deg,#c6ab7c,#f0dfb8 45%,#c6ab7c 75%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
html.ux-ready .hero h1 em{animation:ux-rise 1.1s var(--ease-out) .3s both,ux-foil 2.6s ease 1.2s 1 both}
@keyframes ux-foil{from{background-position:100% 0}to{background-position:0 0}}

/* ---------- Primary button: a sweep of light on hover ---------- */
.hero .button{overflow:hidden;isolation:isolate}
.hero .button::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(226,204,156,.22) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s var(--ease-out)}
.hero .button:hover::after{transform:translateX(120%)}

/* ---------- Hero: a emblem watermark behind the opening words ---------- */
.hero::after{content:'';position:absolute;z-index:-1;pointer-events:none;top:9%;left:1.5%;width:min(36vw,500px);aspect-ratio:510/524;background:#2f5a44;-webkit-mask:var(--emblem-gold) center/contain no-repeat;mask:var(--emblem-gold) center/contain no-repeat;opacity:.06}
html[dir='rtl'] .hero::after{left:auto;right:1.5%}
@media (max-width:780px){.hero::after,html[dir='rtl'] .hero::after{width:76vw;top:1.5%;left:12vw;right:auto}}

/* ---------- Ornament: the four-point star ---------- */
.section-label .rule{position:relative;background:linear-gradient(90deg,#c8b48b,var(--rule) 40%)!important}
html[dir='rtl'] .section-label .rule{background:linear-gradient(270deg,#c8b48b,var(--rule) 40%)!important}
.section-label .rule::before{content:'';position:absolute;left:-5px;top:50%;width:10px;height:10px;margin-top:-5px;background:#b39463;-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}
html[dir='rtl'] .section-label .rule::before{left:auto;right:-5px}
.approach .section-label .rule{background:linear-gradient(90deg,#c6ab7c,rgba(255,255,255,.14) 40%)!important}
.approach .section-label .rule::before{background:#e2cc9c}

/* Timeline milestones become small stars that fill with foil as they are reached */
.timeline li::before{width:13px!important;height:13px!important;top:-6.5px!important;left:-1px!important;border:0!important;transform:none!important;background:#cdbf9e!important;-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat;transition:background .6s ease,transform .6s var(--ease-out)!important}
.timeline li.is-reached::before{background:linear-gradient(135deg,#8c7346,#e2cc9c 55%,#9c8250)!important;transform:scale(1.25)!important}
.timeline::after{background:var(--foil)!important}
@media (max-width:780px){
  .timeline li::before{left:-6.5px!important;top:6px!important}
  html[dir='rtl'] .timeline li::before{right:-6.5px!important;left:auto!important}
  .timeline::after{background:linear-gradient(180deg,#8c7346,#e2cc9c 50%,#9c8250)!important}
}
html[dir='rtl'] .timeline::after{background:linear-gradient(260deg,#7d6538,#b39463 28%,#e2cc9c 48%,#a98a55 66%,#806838)!important}

/* Mission strip: foil hairlines, star separators keep their own text */
.mission-strip{border-image:var(--foil-soft) 1!important}
.mission-strip i{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent!important}

/* ---------- Deep forest surfaces: glow, grain and the emblem ---------- */
.approach,.journey-teaser,.journey-footer,footer:not(.journey-footer){position:relative;isolation:isolate;overflow:clip}
.approach{background:radial-gradient(90% 70% at 85% 10%,rgba(198,171,124,.13),rgba(198,171,124,0) 60%),radial-gradient(70% 60% at 0% 100%,rgba(8,26,21,.55),rgba(8,26,21,0) 70%),var(--forest)!important}
.approach::before,.journey-teaser::before,footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--grain-dark)}
.approach::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:4%;top:7%;width:min(38vw,540px);aspect-ratio:510/524;background:#e2cc9c;-webkit-mask:var(--emblem-gold) center/contain no-repeat;mask:var(--emblem-gold) center/contain no-repeat;opacity:.075}
html[dir='rtl'] .approach::after{right:auto;left:4%}
.principles article{border-color:rgba(198,171,124,.22)!important}
.principles article>span{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.journey-teaser{background:radial-gradient(80% 120% at 100% 50%,rgba(198,171,124,.16),rgba(198,171,124,0) 60%),linear-gradient(100deg,#123329,var(--forest) 60%)!important;box-shadow:inset 0 1px 0 rgba(226,204,156,.35),inset 0 -1px 0 rgba(226,204,156,.2)}

/* ---------- Footer: forest ground, emblem as an ivory seal ---------- */
footer:not(.journey-footer){background:radial-gradient(70% 90% at 0% 0%,rgba(198,171,124,.10),rgba(198,171,124,0) 60%),var(--forest-deep)!important;color:#d9e1db;border-top-color:transparent!important;box-shadow:inset 0 1px 0 rgba(226,204,156,.4)}
footer:not(.journey-footer) .brand-name strong{color:#f6f3ea}
footer:not(.journey-footer) .brand-name small{background:linear-gradient(100deg,#c6ab7c,#f0dfb8 45%,#c6ab7c 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
footer:not(.journey-footer) .brand-symbol{border-radius:50%!important;background:#fbfaf6 var(--emblem) 54% 50%/70% auto no-repeat!important;mix-blend-mode:normal!important;box-shadow:0 0 0 1px rgba(226,204,156,.55),0 0 0 4px rgba(251,250,246,.06)}
footer:not(.journey-footer) .brand-symbol img{opacity:0}
footer:not(.journey-footer) .footer-main p{color:#c7d3cb!important}
footer:not(.journey-footer) .footer-meta,footer:not(.journey-footer) .footer-meta span{color:#a9b8af!important}
footer:not(.journey-footer) :is(.footer-meta a,.credits a){color:#f1ede1!important;text-decoration-color:rgba(226,204,156,.45)!important}
footer:not(.journey-footer) :is(.footer-meta a,.credits a):hover{color:#fff!important;text-decoration-color:#e2cc9c!important}
footer:not(.journey-footer) .credits{border-color:rgba(226,204,156,.22)!important;color:#b9c6be}
footer:not(.journey-footer) .credits summary{color:#e6ece7}
footer:not(.journey-footer) .credits summary:hover{color:#fff}
footer:not(.journey-footer) .credits summary>span:last-child{border-color:rgba(226,204,156,.4)!important;background:transparent!important}
footer:not(.journey-footer) .credits summary>span:last-child::before,footer:not(.journey-footer) .credits summary>span:last-child::after{background:#e2cc9c!important}
footer:not(.journey-footer) .credits p{color:#a9b8af}
footer:not(.journey-footer) .ai-notice{border-color:rgba(226,204,156,.22)!important;color:#93a59a!important}
footer :where(a,summary):focus-visible{outline-color:#e2cc9c!important}

/* Journey pages' footer gains the same seal of foil */
.journey-footer{background:radial-gradient(70% 120% at 50% 0%,rgba(198,171,124,.14),rgba(198,171,124,0) 60%),var(--forest-deep)!important;box-shadow:inset 0 1px 0 rgba(226,204,156,.4)}
.journey-footer::after{content:'';position:absolute;z-index:-1;pointer-events:none;left:50%;top:50%;width:200px;margin:-103px 0 0 -100px;aspect-ratio:510/524;background:#e2cc9c;-webkit-mask:var(--emblem-gold) center/contain no-repeat;mask:var(--emblem-gold) center/contain no-repeat;opacity:.06}

/* ---------- Frames: brass inner line on mounted photographs ---------- */
:is(.pillar>img,.location img,.journey-photo img,.journey-card>a:first-child){box-shadow:0 0 0 1px rgba(179,148,99,.38) inset,0 26px 40px -36px rgba(16,44,37,.5)}
.pillar{box-shadow:inset 0 2px 0 #b39463!important}
.team article{background-image:var(--grain),linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0) 40%)!important}

/* ---------- Closing: a soft gold halo around the emblem ---------- */
.closing{background-image:var(--grain),radial-gradient(40% 60% at 50% 18%,rgba(226,204,156,.28),rgba(226,204,156,0) 70%)!important}

/* ---------- Small details ---------- */
::selection{background:#ead9b3;color:var(--forest-deep)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c6ab7c,#a88c5a)!important}
.ux-lang-panel{background-image:var(--grain)!important;box-shadow:inset 0 3px 0 var(--forest),inset 0 4px 0 #b39463,0 28px 50px -30px rgba(16,44,37,.4)!important}
.ux-lang-list li[aria-selected='true']::before{width:10px!important;height:10px!important;margin-top:-5px!important;transform:none!important;background:#b39463!important;-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}


/* ---------- Experience details ---------- */
/* Photographs rise softly into view once; frames show paper while loading */
:is(.pillar>img,.location img,.journey-photo img,.journey-card>a:first-child img,.hero-photo){background:var(--grain),#ece7da}
html.ux-reveal .ux-rv{opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1.2s var(--ease-out)}
html.ux-reveal .ux-rv.is-in{opacity:1;transform:none}
/* Viewer: forest with grain */
.ux-viewer::backdrop{background:radial-gradient(80% 80% at 50% 40%,rgba(23,61,52,.94),rgba(8,24,20,.97))!important}
.ux-viewer .ux-count{background:linear-gradient(100deg,#c6ab7c,#f0dfb8 45%,#c6ab7c 75%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
/* Language button and menu toggle */
.ux-lang-btn:hover,.ux-lang-btn[aria-expanded='true']{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important}
.ux-lang-btn:hover :is(.ux-globe,.ux-caret),.ux-lang-btn[aria-expanded='true'] :is(.ux-globe,.ux-caret){color:#e2cc9c!important}
.header .menu-toggle:active{transform:scale(.94)}
@media (max-width:1180px){
  .header nav{box-shadow:inset 0 1px 0 #b39463,0 30px 40px -30px rgba(16,44,37,.25)!important}
  .header nav a .nav-icon{color:#b39463!important}
  .header nav a:active{background:rgba(179,148,99,.1)!important}
}
/* Activity cards: foil underline grows under the title on hover */
.journey-card h2{background:var(--foil-soft) 0 100%/0 1px no-repeat;transition:background-size .7s var(--ease-out),color .3s ease}
.journey-card:hover h2{background-size:100% 1px}
html[dir='rtl'] .journey-card h2{background-position:100% 100%}
/* Touch feedback on links and buttons */
:is(.journey-read,.journey-teaser>a,.closing>a,.hero .button,.journey-breadcrumb):active{opacity:.82}
/* Focus: refined ring for keyboard users only; the emblem gets a soft seal instead of a box */
.header .brand-lockup:focus:not(:focus-visible),.ux-top:focus:not(:focus-visible){outline:0}
.header .brand-lockup:focus-visible{outline:0;border-radius:4px;box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px #b39463}
.ux-top:focus-visible{outline:0!important;box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px #b39463,0 14px 28px -18px rgba(16,44,37,.45)}
/* Skip link in brand colours */
.skip{background:var(--forest)!important;color:#fff!important;box-shadow:inset 0 -2px 0 #b39463}
/* Typography polish */
body{font-feature-settings:'kern','liga','calt';hanging-punctuation:first allow-end}
:is(h1,h2,h3){font-feature-settings:'kern','liga','dlig'}
@media (prefers-reduced-motion:reduce){html.ux-reveal .ux-rv{opacity:1!important;transform:none!important}}

@media print{.ux-rv{opacity:1!important;transform:none!important}body{background:#fff!important}.hero::after,.approach::after,.journey-teaser::after,footer::after,footer::before,.approach::before,.journey-teaser::before{display:none!important}footer:not(.journey-footer){background:#fff!important;color:#000}}
@media (prefers-reduced-motion:reduce){.hero .button::after{display:none}}

/* ==========================================================================
   Script typography (2026-10-24): every language gets a true book serif for
   headings, matching the Latin Newsreader. Faces load only for that language.
   ========================================================================== */
html[lang=th] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Noto Serif Thai','Noto Sans Thai',serif;font-weight:400;letter-spacing:0}
html[lang=th] h1{font-weight:380}
html[lang=ar] body{font-family:'Noto Naskh Arabic',Tahoma,Arial,sans-serif}
html[lang=ar] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Amiri','Noto Naskh Arabic',serif;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.5}
html[lang=ja] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;font-weight:400;letter-spacing:.02em}
html[lang=ko] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Nanum Myeongjo','AppleMyungjo',serif;font-weight:400;letter-spacing:0;word-break:keep-all}
html[lang=ko] body{word-break:keep-all}
html[lang=hi] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Noto Serif Devanagari',serif;font-weight:400;letter-spacing:0}
html[lang=ta] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Noto Serif Tamil',serif;font-weight:400;letter-spacing:0}
html[lang=lo] body{font-family:'Noto Sans Lao','Lao Sangam MN','Leelawadee UI',sans-serif}
html[lang=lo] :is(.prose .lead,.mission-strip,.pillar-number,.pillar-foot,.team-initial,.closing>p:not(.eyebrow),.location figcaption,.journey-teaser h2,.journey-main h1,.journey-main h2,.bookworm-copy h2,.bookworm-copy h3,.journey-footer>a,h1,h2,h3){font-family:'Newsreader','Noto Serif Lao','Noto Sans Lao',serif;font-weight:400;letter-spacing:0}
html:is([lang=ar],[lang=ja],[lang=ko],[lang=th],[lang=hi],[lang=ta],[lang=lo]) :is(h1,h2,h3) em{font-style:normal}
@media (max-width:1180px){
  html[lang=th] .header nav a{font-family:'Newsreader','Noto Serif Thai',serif!important}
  html[lang=ar] .header nav a{font-family:'Amiri','Noto Naskh Arabic',serif!important}
  html[lang=ja] .header nav a{font-family:'Shippori Mincho',serif!important}
  html[lang=ko] .header nav a{font-family:'Nanum Myeongjo',serif!important}
  html[lang=hi] .header nav a{font-family:'Noto Serif Devanagari',serif!important}
  html[lang=ta] .header nav a{font-family:'Noto Serif Tamil',serif!important}
  html[lang=lo] .header nav a{font-family:'Noto Serif Lao',serif!important}
}

/* Viewer zoom */
.ux-viewer img{cursor:zoom-in;user-select:none;-webkit-user-drag:none;will-change:scale}
.ux-viewer.is-zoomed img{position:relative;z-index:2;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.ux-viewer :is(.ux-caption,.ux-prev,.ux-next){transition:opacity .3s var(--ease)}
.ux-viewer.is-zoomed :is(.ux-caption,.ux-prev,.ux-next){opacity:0;pointer-events:none}

/* Photographs develop gently from the placeholder (no movement, no resize) */
@keyframes ux-develop{from{filter:blur(14px) saturate(.85)}to{filter:none}}
img.ux-develop.is-developed{animation:ux-develop .9s cubic-bezier(.22,.61,.36,1) both}
@media (prefers-reduced-motion:reduce){img.ux-develop.is-developed{animation:none}}

/* ---------- Typography refinements ---------- */
:is(h1,h2,h3,.closing>p:not(.eyebrow),.journey-card h2,.journey-card h3){text-wrap:balance}
:is(p,li,figcaption,dd){text-wrap:pretty}
html[lang=ja] :is(h1,h2,h3,.prose .lead,.closing>p:not(.eyebrow)){word-break:auto-phrase;line-break:strict}
html[lang=ja] body{line-break:strict}
html:is([lang=th],[lang=lo]) body{word-break:normal;overflow-wrap:break-word;line-break:auto}
html[lang=de] :is(p,li){hyphens:auto}
:is(p,li){hanging-punctuation:first allow-end}

/* ---------- Toast ---------- */
.ux-toast{position:fixed;z-index:40;left:50%;bottom:32px;display:flex;align-items:center;gap:10px;padding:13px 20px 12px 16px;background:var(--forest-deep);color:#f1ede1;font:500 14px/1.3 var(--sans);letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(226,204,156,.28),0 22px 44px -22px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .35s var(--ease),transform .5s var(--ease-out),visibility 0s .5s}
.ux-toast svg{color:#e2cc9c;flex:none}
.ux-toast.is-in{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .35s var(--ease),transform .5s var(--ease-out)}

/* ---------- Story navigation ---------- */
.ux-story-nav{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1120px;margin:0 auto;padding:0 6% 72px}
.ux-story{display:flex;flex-direction:column;gap:10px;padding:28px 0 6px;border-top:1px solid var(--rule);text-decoration:none!important;color:var(--ink)}
.ux-story-next{align-items:flex-end;text-align:end;border-inline-start:1px solid var(--rule);padding-inline-start:32px}
.ux-story-prev{padding-inline-end:32px}
.ux-story-empty{border-top:1px solid var(--rule)}
.ux-story-prev+.ux-story-empty{border-inline-start:1px solid var(--rule)}
.ux-story-dir{display:inline-flex;align-items:center;gap:10px;font:600 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.ux-story-prev .ux-story-dir::before,.ux-story-next .ux-story-dir::after{content:'';width:22px;height:1px;background:currentColor;transition:width .45s var(--ease)}
.ux-story-title{font-family:var(--serif);font-size:clamp(19px,1.7vw,24px);font-weight:370;line-height:1.3;letter-spacing:-.01em;text-wrap:balance;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease),color .3s}
.ux-story:hover .ux-story-title{color:var(--forest);background-size:100% 1px}
.ux-story-next:hover .ux-story-title{background-position:100% 100%}
.ux-story:hover .ux-story-dir::before,.ux-story:hover .ux-story-dir::after{width:38px}
html:is([lang=th],[lang=ar],[lang=ja],[lang=ko],[lang=hi],[lang=ta],[lang=lo]) .ux-story-dir{letter-spacing:.02em;text-transform:none;font-size:13px}
html[lang=th] .ux-story-title{font-family:'Newsreader','Noto Serif Thai',serif;font-weight:400}
html[lang=ar] .ux-story-title{font-family:'Amiri',serif;font-weight:400}
html[lang=ja] .ux-story-title{font-family:'Shippori Mincho',serif;font-weight:400}
html[lang=ko] .ux-story-title{font-family:'Nanum Myeongjo',serif;font-weight:400}
html[lang=hi] .ux-story-title{font-family:'Noto Serif Devanagari',serif;font-weight:400}
html[lang=ta] .ux-story-title{font-family:'Noto Serif Tamil',serif;font-weight:400}
html[lang=lo] .ux-story-title{font-family:'Noto Serif Lao',serif;font-weight:400}
@media (max-width:640px){.ux-story-nav{grid-template-columns:1fr;padding-bottom:48px}.ux-story-next{align-items:flex-start;text-align:start;border-inline-start:0;padding-inline-start:0}.ux-story-prev{padding-inline-end:0}.ux-story-empty{display:none}.ux-story{padding-bottom:22px}}

/* ---------- Accessibility polish: legible small type, generous touch areas ---------- */
.hero-note{color:#6f6650!important}
.ux-story,.ux-story:visited{color:var(--ink)!important}
.ux-story .ux-story-dir{color:var(--brass)}
@media (pointer:coarse){
  .header .brand-lockup{padding-block:3px;margin-block:-3px}
  .ux-lang-btn{position:relative}
  .ux-lang-btn::before{content:'';position:absolute;inset:-4px -2px}
  .journey-breadcrumb{padding-block:2px;margin-block:-2px}
  :is(footer,.journey-footer) a{padding-block:10px;margin-block:-10px}
}

/* ---------- Performance & accessibility details ---------- */
.ux-noshrink{flex-shrink:0}
.closing:before{background-image:image-set(url('/assets/icon-closing.webp') type('image/webp'),url('/icon-512.png') type('image/png'))!important}
.pillar-number{color:#93805a!important}

/* Language settling: the page waits (at most 2.5s) until the visitor's language is in place */
html.ux-settling body{visibility:hidden;animation:ux-unhide 0s 2.5s forwards}
@keyframes ux-unhide{to{visibility:visible}}

/* ---------- Refinements (audit 2026-10-24) ---------- */
/* Approach emblem on phones: below the heading, behind the principles */
@media (max-width:780px){.approach::after,html[dir='rtl'] .approach::after{width:78vw;top:auto;bottom:6%;right:11vw;left:auto;opacity:.06}}
/* Thai names inside Latin prose take the Thai book serif, not the sans (downloaded only when Thai text is on the page) */
@font-face { font-family: 'Noto Serif Thai'; font-style: normal; font-display: swap; font-weight: 100 900; src:url(/assets/fonts/intl/noto-serif-thai-thai-wght-normal.woff2) format('woff2'); unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC; }
:root{--serif:'Newsreader','Noto Serif Thai','Noto Sans Thai',Georgia,'Times New Roman',serif}
/* Short pages (404): footer sits at the foot of the window */
body[data-page-title='notFoundTitle']{min-height:100svh;display:flex;flex-direction:column}
body[data-page-title='notFoundTitle']>main{flex:1 0 auto;width:100%}

/* ---------- Print: a letterhead edition ---------- */
@media print{
  @page{size:A4;margin:16mm 17mm 20mm;
    @bottom-left{content:'The Continuum Initiative  \00B7  continuuminitiative.org';font:7.5pt 'Instrument Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8c7346}
    @bottom-right{content:counter(page) ' / ' counter(pages);font:7.5pt 'Instrument Sans',Arial,sans-serif;letter-spacing:.08em;color:#8c7346}}
  *,*::before,*::after{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}
  html,body{background:#fff!important;color:#1f2a25!important}
  body{font-size:10.5pt}
  /* Letterhead: emblem and name, a forest rule with a brass hairline */
  .header{position:static!important;display:flex!important;justify-content:flex-start!important;padding:0 0 5mm!important;margin:0 0 8mm!important;background:#fff!important;border:0!important;box-shadow:none!important;border-bottom:.6pt solid #173d34!important;outline:0!important}
  html .header,html.is-scrolled .header{box-shadow:none!important;min-height:0!important;padding:0 0 5mm!important;background:#fff!important;backdrop-filter:none!important}
  html.is-scrolled .header .brand-symbol{width:50px!important;height:50px!important}
  html.is-scrolled .header .brand-symbol img{width:123px!important;height:123px!important;left:-37px!important;top:-18px!important}
  .header::after{content:'';position:absolute;left:0;right:0;bottom:-1.6pt;height:.3pt;background:#b39463}
  .header{position:relative!important}
  html body .header nav,html body .header .header-actions,html body .ux-progress,html body .ux-mini,.skip-link,.ux-skip{display:none!important}
  .header .brand-name strong{color:#173d34!important}
  .header .brand-name small{color:#8c7346!important;-webkit-text-fill-color:#8c7346!important;background:none!important}
  /* Page furniture that means nothing on paper */
  .ux-story-nav,.ux-toast,.journey-teaser,.closing>a,.hero .button,.credits,.ai-notice,.photo-note,.roadmap-note,.ux-top,.ux-viewer,.ux-lang-panel,details>summary>span:last-child{display:none!important}
  details>*{display:block!important}
  /* Dark sections print on white */
  .approach,.mission-strip,footer,.journey-footer,.team,.pillars,section{background:#fff!important;color:#1f2a25!important}
  .approach *,footer *,.journey-footer *{color:#1f2a25!important;border-color:#cfc6b2!important}
  :is(h1,h2,h3) em,.hero-title em{color:#8c7346!important;-webkit-text-fill-color:#8c7346!important;background:none!important}
  /* Type and pagination */
  :is(h1,h2,h3){break-after:avoid;page-break-after:avoid;color:#173d34!important}
  :is(p,li){orphans:3;widows:3}
  :is(figure,.location,.pillar,.team article,.timeline li,.journey-card){break-inside:avoid;page-break-inside:avoid}
  main img{max-height:95mm!important;width:auto!important;max-width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important}
  .brand-symbol img{max-width:none!important}
  .journey-photo img,.pillar>img,.location img{border:0!important}
  .ux-rv,.ux-develop{opacity:1!important;transform:none!important;filter:none!important}
  /* Sources: show where an outside link leads */
  :is(.journey-article,.journey-sources,.journey-support) a[href^='http']::after{content:' (' attr(href) ')';font-size:8.5pt;color:#6f6650;-webkit-mask:none!important;mask:none!important;background:none!important;width:auto!important;height:auto!important;display:inline!important}
  a{color:inherit!important;text-decoration:none!important}
  /* Colophon on the last page */
  footer,.journey-footer{margin-top:10mm!important;padding:5mm 0 0!important;border-top:.6pt solid #173d34!important}
  footer .brand-symbol{box-shadow:none!important}
  footer .brand-symbol,.header .brand-symbol{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* Keep each section label with what follows; nothing sticks or floats on paper */
  .section-label,.eyebrow,.journey-eyebrow{break-after:avoid;page-break-after:avoid}

  .brand-symbol{position:relative!important}.brand-symbol img{position:absolute!important}
  .header,.header::before,.header::after{position:relative!important}
  .header::after{position:absolute!important}
  .approach-grid>div:first-child{position:static!important;top:auto!important}
  .approach-grid{align-items:start!important}
  /* Places: photograph above its caption */
  html body .location-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:5mm!important}
  html body .location-grid>.location{grid-row:auto!important;grid-column:auto!important}
  .location{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
  .pillar>img{width:100%!important;height:34mm!important;max-height:none!important;object-fit:cover!important}
  .principles article{break-inside:avoid;page-break-inside:avoid}
  .location img{position:static!important;width:100%!important;height:42mm!important;max-height:none!important;object-fit:cover!important}
  .location figcaption{position:static!important;color:#1f2a25!important;background:none!important;padding:2mm 0 0!important;font-size:9pt!important}
  .team-initial{display:none!important}
  .timeline li h3{color:#173d34!important}
}
