/* Warm paper and navy chapters. Heading and body type share a sans family. */
:root{
  --paper:#f5f3ec;--ink:#193746;--muted:#586b74;--green:#153344;
  --tea:#806039;--gold:#806039;--line:#19374626;--surface:#eceae1;
  --sans:'DM Sans','Noto Sans TC','Microsoft JhengHei','PingFang TC',system-ui,sans-serif;
  --serif:var(--sans);
}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:600}
.hero h1,html[lang=en] .hero h1,html[lang=en] h2,
html[lang=en] .service-visual h3,html[lang=en] .academy-feature h3,
html[lang=en] .news-row h3,html[lang=en] .partners-heading h3,
.intro-strip strong,.office-number,.service-tabs button>span,
.service-accordions summary>span,.process-number,.contact-phone,.values-grid b{
  font-family:var(--sans);
}
h2{letter-spacing:.02em;line-height:1.5}
.hero h1{font-weight:600;font-size:clamp(2.8rem,4.5vw,4.3rem);letter-spacing:.045em;line-height:1.4}
.hero h1 em{font-weight:600}.hero h1 .tea{color:#193746}.hero h1 .gold{color:#997042}
.hero .service-line{color:var(--ink)}.hero-intro{color:var(--muted)}
.hero-foot{color:#61727a}.hero .status-dot{background:#9b7545}
.site-header{background:#f5f3ecf5}.mobile-nav{background:var(--paper)}
.city-model-host{box-shadow:none;border:0;background:#eef0ec}
.button{background:#193746;border-color:#193746;color:#fff}
.button:hover{background:#2a4c5b}.header-contact{color:#fff}
.intro-strip,.services-section,.leadership-section,.contact-section,.content-dialog{
  --ink:#f5f3ed;--muted:#bccbd2;--tea:#dcba78;--gold:#dcba78;
  --line:#ffffff26;--surface:#214354;color:var(--ink);background:#153344;
}
.intro-strip{position:relative;box-shadow:0 0 0 100vmax #153344;clip-path:inset(0 -100vmax)}
.intro-strip strong{font-weight:500}.intro-strip>p{font-weight:500}
.services-section .button,.contact-section .button,.content-dialog .button{
  background:#dcba78;border-color:#dcba78;color:#153344;
}
.services-section .button:hover,.contact-section .button:hover,.content-dialog .button:hover{background:#edcf92}
.section-intro .purpose-lead{color:#806039!important}
.office-row:hover{background:#eae8df}.office-row h3{font-weight:600}
.office-number{font-weight:500}.about-note .small-rule{background:var(--gold)}
.founding-story h2{font-weight:600}.values-grid b{font-size:2.3rem;font-weight:500}
.founding-text p{color:var(--muted)}
.services-section .light-heading .eyebrow,.leadership-copy .eyebrow{color:var(--gold)}
.service-tabs button[aria-selected=true]{color:#fff}
.service-content>h3,.service-visual h3,.process-intro h3{letter-spacing:.025em;font-weight:600}
.portfolio-map-panel{
  --ink:#f5f3ed;--muted:#c3d1d7;--gold:#dfbd79;--line:#ffffff26;
  background:#193e51;color:var(--ink);
}
.portfolio-shell{border-color:var(--line)}.portfolio-list-panel{background:#fbfaf6}
.portfolio-list-panel .portfolio-field input,.portfolio-list-panel .portfolio-field select{
  background:#fffefa;border-color:#a5b0b3;color:#193746;
}
.portfolio-list-panel .portfolio-field input::placeholder{color:#667980}
.portfolio-list-panel .portfolio-record__source{background:#eeede5;color:var(--muted)}
.portfolio-list-panel .portfolio-count>p{background:#eeede5;color:var(--muted)}
.portfolio-record-count{background:#eceae1;color:var(--gold)}
.portfolio-archive__body{background:#efede5;color:var(--muted)}
.portfolio-loading,.portfolio-error{background:#eceae1;color:var(--ink)}
.portfolio-record summary{font-weight:500}.portfolio-table th{font-weight:500}
.portfolio-pagination button:not(:disabled):hover,.portfolio-text-button:hover{background:#e9e5d9}
.partners-filters{background:#e8e6dc}.partners-filters button{color:#4c616c}
.partners-filters button[aria-pressed=true]{background:#193746;color:#fff}
.partners-filters button:hover:not([aria-pressed=true]){background:#dcded7;color:#193746}
.partner-card{background:#fffefa;border-color:#19374622}.partner-card:hover,.partner-card[open]{border-color:#997442}
.partners-actions,.partners-heading>p{color:var(--muted)}
.academy-feature{background:#eae8df}.academy-feature h3,.news-row h3{font-weight:600;letter-spacing:.025em}
.news-row time,.academy-feature .eyebrow{color:var(--gold)}
.contact-phone{font-weight:500;letter-spacing:.01em}.location-card{background:#1c3e50}
.site-footer{background:#e9e7de;color:#193746;border-top:1px solid #19374626}
.footer-top>p{color:#806039;font-weight:500}.footer-top .brand small,.back-top,.footer-offices,.footer-bottom{color:#516570}
.footer-top .brand img{background:transparent;mix-blend-mode:multiply}
.mobile-contact{background:#153344;color:#fff}
.content-dialog h2{font-weight:600}.content-dialog h3{color:#dcba78}
.quiet-cursor{border-color:#9b7545a6}.quiet-cursor.is-link{border-color:#a7804a}
/* Standalone experience and archive pages retain the same light reading surface. */
.records-controls input{background:#fffefa;border-color:#9daeb5;color:var(--ink)}
.record-tags span{color:#536c77}.record-entry h3{font-weight:500}
.archive-body{background:var(--paper);color:var(--ink)}
.archive-body .archive-header{background:#153344;color:#f5f3ed}
.archive-body .archive-comparison,.archive-body .archive-callout{background:#eae8df}
.archive-body .archive-footer{background:#153344;color:#f5f3ed}
.archive-body .archive-intro h1,.records-main h1{font-weight:600}
@media(max-width:980px){.hero h1{font-size:3rem}}
@media(max-width:720px){
  .hero h1{font-size:clamp(2.25rem,8.7vw,3.2rem);line-height:1.4}
  h2{font-size:clamp(1.75rem,7vw,2.25rem)}
  .intro-strip{padding-block:28px}.portfolio-list-panel{padding-inline:20px}
  .contact-phone{font-size:2rem}.office-row h3{line-height:1.65}
}
/* Model-led entry: all copy above a full-width, seamless city scene. */
.hero{
  display:flex;flex-direction:column;gap:8px;align-items:stretch;
  min-height:0;padding-top:32px;padding-bottom:0;overflow:visible;
}
.hero-copy{
  display:grid;grid-template-columns:1fr 1.1fr;gap:10px 64px;
  align-items:start;max-width:none;width:100%;padding-bottom:16px;
}
.hero-copy>.eyebrow{grid-column:1;grid-row:1;align-self:center}
.hero h1{grid-column:1;grid-row:2/4;margin:0;font-size:clamp(2.6rem,4vw,3.65rem);line-height:1.3}
.hero .service-line{grid-column:2;grid-row:1;margin:0;font-size:.86rem}
.hero-intro{grid-column:2;grid-row:2;font-size:.92rem;line-height:1.8}
.hero-intro br{display:none}
.hero-actions{grid-column:2;grid-row:3;margin-top:10px;gap:28px}
.hero-actions .button{padding:12px 22px}
.hero-foot{display:none}
.hero-poetry{grid-column:1;grid-row:4;margin:0;font-size:.85rem}
.hero .city-model-host{
  width:100%;max-width:none;margin:0;border:0;border-radius:0;
  box-shadow:none;background:transparent;align-self:stretch;
}
.hero .city-model-stage{height:clamp(580px,76svh,900px);min-height:0;aspect-ratio:auto;background:transparent}
.hero .city-model-poster{mix-blend-mode:multiply}
@media(max-width:980px){
  .hero-copy{grid-template-columns:1fr 1.1fr;gap:12px 30px}
  .hero h1{font-size:2.6rem}.hero h1 br{display:block}.hero h1 .tea{margin-right:0}
  .hero-actions{gap:18px;flex-wrap:wrap}.hero .service-line{font-size:.8rem}
}
@media(max-width:720px){
  .hero{padding-top:25px;gap:0}
  .hero-copy{display:block;padding-bottom:6px}
  .hero h1{font-size:clamp(1.65rem,7.5vw,2.8rem);line-height:1.45;margin:12px 0}
  .hero h1 br{display:none}.hero h1 .tea{margin-right:.36em}
  .hero .service-line{font-size:.8rem;margin-bottom:8px;max-width:none}
  .hero-intro{font-size:.9rem;line-height:1.8}
  .hero-actions{margin-top:17px;gap:20px}.hero-actions .button{padding:11px 17px}
  .hero .city-model-host{margin-left:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}
  .hero .city-model-stage{height:clamp(540px,76svh,700px)}
  html[lang=en] .hero h1{font-size:2.1rem;margin:12px 0;line-height:1.2}
}
.intro-strip{grid-template-columns:1fr 1.2fr 1.35fr;gap:30px;padding-block:40px}
.intro-strip>div{padding-left:30px;min-height:65px}
.intro-strip div>span{max-width:none;color:#e1bf7c;font-size:clamp(1.1rem,1.55vw,1.35rem);line-height:1.7;font-weight:500;letter-spacing:.02em}
@media(max-width:980px){.intro-strip{grid-template-columns:1fr 1fr}.intro-strip>p{grid-column:1/-1}.intro-strip>div{padding-left:0}}
@media(max-width:720px){.intro-strip{grid-template-columns:1fr;gap:18px;padding-block:32px}.intro-strip>p{grid-column:auto}.intro-strip>div,.intro-strip>div:nth-of-type(2){padding:18px 0 0;border-left:0;border-top:1px solid var(--line);min-height:0}.intro-strip div>span{font-size:1.15rem}}

/* Founding story follows the approved PDF in one continuous reading order. */
.establishment .founding-body{display:block;padding-top:16px}
.establishment .founding-text{max-width:960px}
.establishment .values-grid{display:grid;grid-template-columns:1fr;gap:0;list-style:none;margin:24px 0;padding:0;max-width:680px}
.establishment .values-grid>li{display:flex;align-items:center;gap:18px;padding:10px 0;border-top:1px solid var(--line)}
.establishment .values-grid b{flex:0 0 28px;font-family:var(--sans);font-size:1.4rem;line-height:1.4;color:var(--gold)}
.establishment .values-grid span{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.establishment .values-grid small{min-width:170px;font-size:.78rem;letter-spacing:.06em}
.establishment .values-grid strong{font-size:.94rem;line-height:1.8}
.establishment .founding-practices{padding-left:1.5em;margin:20px 0 24px;font-size:.94rem;line-height:1.8;color:var(--ink)}
.establishment .founding-practices li{padding-left:.25em;margin:0 0 12px}
.establishment .founding-practices li::marker{color:var(--gold);font-weight:600}
.establishment .practice-english{display:block;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:540px){.establishment .values-grid span{flex-direction:column;gap:0}.establishment .values-grid>li{gap:14px}.establishment .founding-practices{font-size:.9rem}}
