:root {
  --ink:#171511;
  --ink-soft:#4f493e;
  --paper:#f4efe4;
  --paper-deep:#e8decb;
  --gold:#cfaa60;
  --gold-light:#ead296;
  --red:#9f2922;
  --red-dark:#5f1815;
  --jade:#315e50;
  --cyan:#244f59;
  --blue:#273c59;
  --line:rgba(23,21,17,.14);
  --shadow:0 30px 80px rgba(34,27,16,.16);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",Arial,sans-serif; font-size:16px; line-height:1.65; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
img { display:block; max-width:100%; }
:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.section-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.section-kicker { margin:0 0 18px; color:var(--red); font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.section-kicker.light { color:var(--gold-light); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; }
.section-heading h2,.contact-band h2,.site-dialog h2 { margin:0; font:400 clamp(38px,5vw,68px)/1.14 "STKaiti","KaiTi",serif; letter-spacing:.04em; }
.section-heading > p { max-width:420px; margin:0 0 7px; color:#746c5f; font-size:15px; }
.line-link { display:inline-flex; align-items:center; gap:24px; width:max-content; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:14px; letter-spacing:.12em; }
.line-link span { transition:transform .2s; }
.line-link:hover span { transform:translateX(4px); }
.primary-action,.outline-action {
  display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:49px; padding:12px 20px;
  border:0; background:var(--red); color:white; cursor:pointer; font-size:14px; font-weight:600; letter-spacing:.1em; transition:transform .2s,background .2s,color .2s;
}
.primary-action span,.outline-action span { font-size:20px; transition:transform .2s; }
.primary-action:hover,.outline-action:hover { transform:translateY(-2px); background:#b7352d; }
.primary-action:hover span,.outline-action:hover span { transform:translateX(4px); }
.outline-action { border:1px solid currentColor; background:transparent; color:var(--ink); }

.site-header {
  position:absolute; inset:0 0 auto; z-index:50; display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  height:86px; padding:0 clamp(24px,5vw,80px); color:white; border-bottom:1px solid rgba(255,255,255,.16);
}
.brand { display:inline-flex; align-items:center; gap:12px; width:max-content; }
.brand-image { display:block; width:216px; max-width:100%; height:auto; aspect-ratio:720/191; object-fit:contain; background:transparent; }
.brand-seal { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.58); color:var(--gold-light); font:700 22px/1 "STKaiti","KaiTi",serif; }
.brand b { display:block; letter-spacing:.18em; font-size:16px; }
.brand small { display:block; margin-top:2px; color:rgba(255,255,255,.58); font-size:8px; letter-spacing:.25em; }
.main-nav { display:flex; align-items:center; gap:clamp(12px,1.7vw,30px); height:100%; }
.nav-item { position:relative; height:100%; }
.nav-item > a { position:relative; display:grid; place-items:center; height:100%; padding:0 6px; color:rgba(255,255,255,.74); font-size:14px; letter-spacing:.12em; }
.nav-item > a::after { content:""; position:absolute; bottom:0; width:0; height:2px; background:var(--gold); transition:width .25s; }
.nav-item > a:hover,.nav-item > a:focus-visible,.nav-item > a[aria-current="page"] { color:white; }
.nav-item > a:hover::after,.nav-item > a:focus-visible::after,.nav-item > a[aria-current="page"]::after { width:26px; }
.submenu {
  position:absolute; left:50%; top:calc(100% + 1px); width:190px; padding:12px; opacity:0; visibility:hidden;
  transform:translate(-50%,-8px); background:#fffaf0; color:var(--ink); box-shadow:var(--shadow); transition:.22s;
}
.submenu::before { content:""; position:absolute; inset:-10px 0 auto; height:10px; }
.nav-item:hover .submenu,.nav-item:focus-within .submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.submenu a { display:flex; justify-content:space-between; align-items:center; padding:10px 11px; border-bottom:1px solid var(--line); font-size:14px; }
.submenu a:last-child { border:0; }
.submenu a span { color:var(--red); }
.submenu a:hover { color:var(--red); background:#f3ecdf; }
.contact-link { justify-self:end; padding:9px 16px; border:1px solid rgba(255,255,255,.5); font-size:13px; letter-spacing:.12em; transition:.2s; }
.contact-link:hover { background:white; color:var(--ink); }
.menu-button { display:none; justify-self:end; position:relative; width:46px; height:42px; padding:7px; border:0; background:transparent; cursor:pointer; }
.menu-button span { display:block; width:24px; height:1px; margin:5px auto; background:white; }
.menu-button b { display:block; color:rgba(255,255,255,.62); font-size:9px; font-weight:400; letter-spacing:.15em; }
.mobile-menu { position:fixed; z-index:100; inset:0; padding:24px; overflow:auto; background:#181512; color:white; }
.mobile-menu-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; color:var(--gold); font-size:13px; letter-spacing:.2em; }
.mobile-menu-top button { width:42px; height:42px; border:1px solid rgba(255,255,255,.28); background:transparent; color:white; font-size:27px; cursor:pointer; }
.mobile-menu > a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; padding:16px 4px; border-bottom:1px solid rgba(255,255,255,.13); font:28px "STKaiti","KaiTi",serif; }
.mobile-menu > a small { color:rgba(255,255,255,.35); font:10px Georgia,serif; }
.mobile-menu > a span { color:var(--gold); font:18px Arial,sans-serif; }
.mobile-menu > p { margin:44px 0 0; color:rgba(255,255,255,.4); font-size:12px; letter-spacing:.25em; }

.hero-carousel { position:relative; min-height:min(790px,87vh); overflow:hidden; background:#12100e; color:white; }
.hero-slide { position:absolute; inset:0; display:flex; align-items:center; padding:130px clamp(24px,10vw,160px) 90px; opacity:0; visibility:hidden; transition:opacity .8s ease; isolation:isolate; }
.hero-slide::before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--hero); background-size:cover; background-position:center; transform:scale(1.025); transition:transform 8s ease; }
.hero-slide::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,.62) 43%,rgba(7,7,7,.08) 76%); }
.hero-slide:nth-child(2)::after { background:linear-gradient(90deg,rgba(34,22,9,.88),rgba(34,22,9,.48) 50%,rgba(34,22,9,.12)); }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-slide.is-active::before { transform:scale(1); }
.hero-slide-right .hero-copy { margin-left:auto; max-width:620px; }
.hero-slide-right::after { background:linear-gradient(270deg,rgba(7,7,7,.87),rgba(7,7,7,.42) 48%,rgba(7,7,7,.15)); }
.hero-copy { position:relative; z-index:2; max-width:720px; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 24px; color:#ddcda8; font-size:13px; letter-spacing:.3em; }
.eyebrow span { width:36px; height:1px; background:var(--gold); }
.hero-copy h1 { margin:0; font:400 clamp(62px,8vw,116px)/1.02 "STKaiti","KaiTi",serif; letter-spacing:.05em; }
.hero-copy h1 em { color:#e2bd6b; font-style:normal; }
.hero-copy > p:not(.eyebrow) { max-width:590px; margin:28px 0 34px; color:rgba(255,255,255,.72); font-size:clamp(16px,1.35vw,19px); line-height:1.9; }
.carousel-controls { position:absolute; z-index:5; left:clamp(24px,5vw,80px); bottom:38px; display:flex; align-items:center; gap:13px; }
.carousel-controls > button { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.15); color:white; cursor:pointer; }
.carousel-dots { display:flex; gap:7px; padding:0 8px; }
.carousel-dots button { width:28px; height:2px; padding:0; border:0; background:rgba(255,255,255,.3); cursor:pointer; transition:.2s; }
.carousel-dots button.is-active { width:48px; background:var(--gold); }
.carousel-controls .carousel-pause { margin-left:8px; width:31px; height:31px; border-radius:50%; color:rgba(255,255,255,.7); font-size:11px; }
.hero-index { position:absolute; z-index:5; right:clamp(24px,5vw,80px); bottom:46px; margin:0; color:rgba(255,255,255,.42); font:12px Georgia,serif; }
.hero-index b { color:var(--gold); font-size:22px; font-weight:400; }

.realm-strip { display:grid; grid-template-columns:150px 1fr; gap:34px; align-items:stretch; padding:0 clamp(24px,5vw,80px); background:#171511; color:white; }
.realm-strip > p { margin:0; padding:27px 0; color:var(--gold); font:18px "STKaiti","KaiTi",serif; letter-spacing:.25em; }
.realm-strip > div { display:grid; grid-template-columns:repeat(5,1fr); border-left:1px solid rgba(255,255,255,.12); }
.realm-strip a { min-height:96px; padding:20px 20px 17px; border-right:1px solid rgba(255,255,255,.12); transition:background .2s; }
.realm-strip a:hover { background:rgba(255,255,255,.06); }
.realm-strip span { color:rgba(255,255,255,.35); font:10px Georgia,serif; }
.realm-strip b { display:block; margin-top:5px; font:20px "STKaiti","KaiTi",serif; letter-spacing:.2em; }
.realm-strip small { display:block; margin-top:3px; color:rgba(255,255,255,.42); font-size:9px; letter-spacing:.08em; }

.intro-section { display:grid; grid-template-columns:1.1fr .9fr 210px; gap:clamp(36px,7vw,100px); align-items:start; padding-block:120px; }
.intro-section h2 { margin:0; font:400 clamp(40px,5vw,66px)/1.2 "STKaiti","KaiTi",serif; }
.intro-copy { padding-top:45px; }
.intro-copy p { margin:0 0 30px; color:#6e6659; font-size:17px; line-height:2; }
.intro-section blockquote { margin:18px 0 0; padding:28px 20px 34px; border-top:1px solid var(--red); border-bottom:1px solid var(--red); color:var(--red); font:400 34px/1.45 "STKaiti","KaiTi",serif; text-align:center; letter-spacing:.16em; }
.intro-image-slot { min-width:0; }
.intro-brand-image { display:block; width:100%; height:auto; }
@media(max-width:1100px) { .intro-image-slot { width:min(100%,320px); } }
.visual-editing-page .intro-image-slot { min-height:160px; }
.visual-editing-page .intro-image-slot blockquote { display:block; }
.visual-editing-page .intro-section>.visual-edit-badge { left:10px; right:auto; }

.realms-section { padding:105px 0 120px; background:#e9dfcd; }
.realm-grid { display:grid; grid-template-columns:repeat(5,1fr); width:min(1320px,calc(100% - 48px)); margin:58px auto 0; box-shadow:var(--shadow); }
.realm-card { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:430px; padding:24px 25px 28px; overflow:hidden; color:white; isolation:isolate; }
.realm-card::before { content:""; position:absolute; z-index:-2; inset:0; background-image:url('/assets/five-realms.webp'); background-size:500% 100%; background-position:var(--pos) center; transition:transform .55s ease; }
.realm-card::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(15,13,10,.22),rgba(15,13,10,.9)); transition:background .35s; }
.realm-card:hover::before { transform:scale(1.06); }
.realm-card:hover::after { background:linear-gradient(180deg,rgba(159,41,34,.12),rgba(63,20,17,.92)); }
.realm-1 { --pos:0%; }.realm-2 { --pos:25%; }.realm-3 { --pos:50%; }.realm-4 { --pos:75%; }.realm-5 { --pos:100%; }
.realm-number { font:12px Georgia,serif; color:rgba(255,255,255,.65); }
.realm-card small { color:var(--gold-light); font-size:9px; letter-spacing:.16em; }
.realm-card h3 { margin:8px 0 3px; font:400 44px/1.1 "STKaiti","KaiTi",serif; }
.realm-card p { margin:0; color:rgba(255,255,255,.65); font-size:13px; }
.realm-card > b { align-self:flex-end; display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.4); font-weight:400; transition:.25s; }
.realm-card:hover > b { background:white; color:var(--red); }

.news-section { padding-block:115px 135px; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:50px; }
.news-card { position:relative; }
.news-visual { position:relative; aspect-ratio:1.48; overflow:hidden; padding:22px; background:linear-gradient(135deg,#2b2924,#171511); color:white; }
.news-card:nth-child(2) .news-visual { background:linear-gradient(135deg,#315e50,#19352d); }
.news-card:nth-child(3) .news-visual { background:linear-gradient(135deg,#9f2922,#511714); }
.news-visual::after { content:""; position:absolute; width:180px; height:180px; right:-45px; bottom:-65px; border:1px solid rgba(255,255,255,.22); border-radius:50%; box-shadow:0 0 0 30px rgba(255,255,255,.035),0 0 0 60px rgba(255,255,255,.025); }
.news-visual > span { font:70px/1 Georgia,serif; color:rgba(255,255,255,.08); }
.news-visual small { position:absolute; bottom:22px; left:22px; color:var(--gold-light); letter-spacing:.16em; }
.news-card > p { margin:19px 0 9px; color:#8a8275; font-size:12px; }
.news-card h3 { max-width:92%; margin:0; font:400 24px/1.48 "STKaiti","KaiTi",serif; }
.news-arrow { position:absolute; right:4px; bottom:3px; color:var(--red); }

.story-section { position:relative; min-height:610px; display:flex; align-items:center; overflow:hidden; color:white; }
.story-section > img,.story-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.story-shade { background:linear-gradient(90deg,rgba(25,16,6,.87),rgba(25,16,6,.42) 55%,rgba(25,16,6,.15)); }
.story-section > div:last-child { position:relative; z-index:2; width:min(1180px,calc(100% - 48px)); margin:auto; }
.story-section h2 { max-width:720px; margin:0; font:400 clamp(42px,5vw,72px)/1.2 "STKaiti","KaiTi",serif; }
.story-section p:not(.section-kicker) { max-width:560px; color:rgba(255,255,255,.72); }
.play-button { display:inline-flex; align-items:center; gap:14px; margin-top:18px; padding:0; border:0; background:transparent; color:white; cursor:pointer; font-size:14px; letter-spacing:.12em; }
.play-button span { display:grid; place-items:center; width:52px; height:52px; padding-left:3px; border:1px solid rgba(255,255,255,.58); border-radius:50%; }

.contact-band { display:grid; grid-template-columns:60px 1fr auto; gap:48px; align-items:center; padding:80px max(24px,calc((100vw - 1180px)/2)); background:var(--red); color:white; }
.vertical-label { margin:0; writing-mode:vertical-rl; color:rgba(255,255,255,.42); font-size:9px; letter-spacing:.3em; }
.contact-band h2 { margin-bottom:10px; }
.contact-band > div > p:last-child { margin:0; color:rgba(255,255,255,.68); }
.contact-band .outline-action { border-color:rgba(255,255,255,.65); color:white; }
.contact-band .outline-action:hover { background:white; color:var(--red); }
.site-footer { padding:72px max(24px,calc((100vw - 1180px)/2)) 24px; background:#171511; color:white; }
.footer-brand { display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.footer-brand .brand-image { width:260px; }
.footer-brand b { font-size:20px; letter-spacing:.16em; }
.footer-brand p { margin:2px 0 0; color:rgba(255,255,255,.4); font-size:11px; letter-spacing:.12em; }
.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:60px; width:min(590px,100%); margin:55px 0 60px auto; }
.footer-links div { display:flex; flex-direction:column; gap:9px; }
.footer-links b { margin-bottom:8px; color:var(--gold); font-size:12px; letter-spacing:.18em; }
.footer-links a,.footer-links button { width:max-content; padding:0; border:0; background:transparent; color:rgba(255,255,255,.58); cursor:pointer; font-size:13px; }
.footer-links a:hover,.footer-links button:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.33); font-size:11px; }
.footer-bottom i { font-style:normal; }

.site-dialog { width:min(600px,calc(100% - 32px)); padding:42px; border:0; background:#fffaf0; color:var(--ink); box-shadow:var(--shadow); }
.site-dialog::backdrop { background:rgba(10,9,8,.78); backdrop-filter:blur(4px); }
.site-dialog .dialog-close { position:absolute; top:15px; right:15px; width:38px; height:38px; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:24px; }
.site-dialog > p:not(.section-kicker) { color:#6d6558; }
.site-dialog ul { margin:24px 0 30px; padding:20px 20px 20px 42px; background:#f0e6d4; }
.story-dialog { width:min(980px,calc(100% - 32px)); padding:0; }
.story-dialog > img { width:100%; aspect-ratio:16/8; object-fit:cover; }
.story-dialog > div { padding:34px 42px 42px; }

.inner-hero { position:relative; min-height:690px; display:flex; align-items:flex-end; padding:150px max(24px,calc((100vw - 1180px)/2)) 90px; overflow:hidden; color:white; isolation:isolate; }
.inner-hero > img,.inner-hero-shade { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.inner-hero > img { object-position:center; transform:scale(1.02); }
.inner-hero-shade { z-index:-1; background:linear-gradient(90deg,rgba(10,9,7,.9),rgba(10,9,7,.52) 55%,rgba(10,9,7,.12)),linear-gradient(0deg,rgba(10,9,7,.45),transparent 50%); }
.tone-red > img { object-position:22% center; }.tone-cyan > img { object-position:50% center; }.tone-blue > img { object-position:72% center; }.tone-jade > img { object-position:94% center; }
.tone-red .inner-hero-shade { background:linear-gradient(90deg,rgba(75,18,14,.88),rgba(50,16,11,.48),rgba(10,9,7,.15)); }
.tone-cyan .inner-hero-shade { background:linear-gradient(90deg,rgba(16,48,52,.9),rgba(14,33,36,.44),rgba(10,9,7,.12)); }
.tone-blue .inner-hero-shade { background:linear-gradient(90deg,rgba(19,35,55,.9),rgba(14,27,44,.48),rgba(10,9,7,.15)); }
.tone-jade .inner-hero-shade { background:linear-gradient(90deg,rgba(21,58,48,.9),rgba(15,42,35,.48),rgba(10,9,7,.12)); }
.breadcrumb { position:absolute; z-index:3; top:112px; left:max(24px,calc((100vw - 1180px)/2)); display:flex; gap:10px; align-items:center; color:rgba(255,255,255,.56); font-size:12px; }
.breadcrumb b { color:white; font-weight:400; }
.inner-hero-copy { max-width:760px; }
.inner-hero-copy h1 { max-width:820px; margin:0; font:400 clamp(54px,7vw,94px)/1.13 "STKaiti","KaiTi",serif; }
.inner-hero-copy > p:last-child { max-width:650px; margin:27px 0 0; color:rgba(255,255,255,.7); font-size:17px; line-height:1.9; }

.business-overview { padding-block:110px 125px; }
.business-overview .section-heading > p { font-size:16px; line-height:1.9; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:54px; border:1px solid var(--line); background:var(--line); }
.feature-card { min-height:330px; padding:30px; background:#f8f3e9; transition:.3s; }
.feature-card:hover { background:#211e19; color:white; transform:translateY(-7px); }
.feature-card > span { color:var(--red); font:12px Georgia,serif; }
.feature-card h3 { margin:68px 0 12px; font:400 32px "STKaiti","KaiTi",serif; }
.feature-card p { min-height:75px; color:#72695b; font-size:14px; }
.feature-card:hover p { color:rgba(255,255,255,.6); }
.feature-card > b { display:block; margin-top:30px; color:var(--red); font-size:12px; font-weight:500; letter-spacing:.08em; }
.feature-card:hover > b { color:var(--gold); }
.process-section,.timeline-section { padding-block:105px; background:#1a1814; color:white; }
.process-section h2,.timeline-section h2 { margin:0; font:400 clamp(38px,5vw,64px) "STKaiti","KaiTi",serif; }
.process-list { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:55px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }
.process-list li { padding:28px 24px 0 0; border-right:1px solid rgba(255,255,255,.14); }
.process-list span { color:var(--gold); font:12px Georgia,serif; }
.process-list b { display:block; margin:42px 0 9px; font:400 24px "STKaiti","KaiTi",serif; }
.process-list p { max-width:200px; color:rgba(255,255,255,.5); font-size:13px; }
.stats-section { display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; gap:30px; align-items:center; padding-block:80px; }
.stats-section > div { padding-right:20px; border-right:1px solid var(--line); }
.stats-section b { display:block; color:var(--red); font:400 clamp(30px,4vw,50px) "STKaiti","KaiTi",serif; }
.stats-section span { color:#766e62; font-size:12px; }
.stats-section > p { color:#8d8476; font-size:12px; text-align:right; }
.wide-visual { position:relative; min-height:520px; display:flex; align-items:center; overflow:hidden; color:white; }
.wide-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.wide-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,13,6,.8),rgba(20,13,6,.18)); }
.wide-visual > div { position:relative; z-index:2; width:min(1180px,calc(100% - 48px)); margin:auto; }
.wide-visual small { color:var(--gold-light); letter-spacing:.2em; }
.wide-visual h2 { max-width:720px; margin:12px 0 0; font:400 clamp(42px,6vw,72px) "STKaiti","KaiTi",serif; }
.light-button { margin-top:20px; color:white; }

.manifesto { display:grid; grid-template-columns:.6fr 1.4fr; gap:70px; padding-block:115px; }
.manifesto h2 { margin:0 0 30px; font:400 clamp(40px,5vw,68px)/1.2 "STKaiti","KaiTi",serif; }
.manifesto > div p { color:#6f675b; font-size:16px; line-height:2; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-bottom:120px; }
.value-grid article { min-height:300px; padding:32px; border:1px solid var(--line); border-right:0; }
.value-grid article:last-child { border-right:1px solid var(--line); }
.value-grid span { color:var(--red); font:12px Georgia,serif; }
.value-grid h3 { margin:65px 0 12px; font:400 29px "STKaiti","KaiTi",serif; }
.value-grid p { color:#756c5f; font-size:14px; }
.method-line { display:flex; align-items:center; justify-content:space-between; margin-top:50px; padding:30px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.method-line span { font:400 clamp(18px,2.3vw,28px) "STKaiti","KaiTi",serif; }
.method-line b { color:var(--gold); font-weight:400; }

.detail-hero,.list-hero { position:relative; padding:190px max(24px,calc((100vw - 1180px)/2)) 95px; background:#1b1814; color:white; }
.detail-hero::after,.list-hero::after { content:""; position:absolute; right:8vw; top:130px; width:310px; height:310px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015); }
.detail-hero.tone-red { background:linear-gradient(135deg,#6e1d18,#241412); }.detail-hero.tone-cyan { background:linear-gradient(135deg,#224f56,#142528); }.detail-hero.tone-blue { background:linear-gradient(135deg,#263d5e,#151d2a); }.detail-hero.tone-jade { background:linear-gradient(135deg,#315f50,#172a23); }
.detail-hero .breadcrumb,.list-hero .breadcrumb { top:112px; }
.detail-hero h1,.list-hero h1 { position:relative; z-index:1; max-width:850px; margin:0; font:400 clamp(46px,6vw,78px)/1.2 "STKaiti","KaiTi",serif; }
.detail-hero > p:last-child,.list-hero > p:last-child { position:relative; z-index:1; max-width:650px; margin:24px 0 0; color:rgba(255,255,255,.65); font-size:17px; }
.fact-bar { display:grid; grid-template-columns:repeat(3,1fr); padding-block:48px; border-bottom:1px solid var(--line); }
.fact-bar div { padding:0 30px; border-right:1px solid var(--line); }
.fact-bar div:first-child { padding-left:0; }
.fact-bar div:last-child { border:0; }
.fact-bar small { display:block; margin-bottom:9px; color:#8a8274; font-size:11px; letter-spacing:.12em; }
.fact-bar b { font-size:15px; font-weight:500; }
.detail-body { display:grid; grid-template-columns:1fr 350px; gap:90px; padding-block:100px 125px; }
.detail-main section { display:grid; grid-template-columns:70px 1fr; gap:26px; padding:0 0 50px; margin-bottom:50px; border-bottom:1px solid var(--line); }
.detail-main section > span { color:var(--red); font:12px Georgia,serif; }
.detail-main h2 { margin:0 0 13px; font:400 38px "STKaiti","KaiTi",serif; }
.detail-main p { margin:0; color:#6f675a; font-size:16px; line-height:1.95; }
.detail-body aside { align-self:start; position:sticky; top:28px; padding:32px; background:#e9dfcd; }
.detail-body aside h3 { margin:0 0 14px; font:400 28px/1.45 "STKaiti","KaiTi",serif; }
.detail-body aside > p:not(.section-kicker) { color:#6e6659; font-size:13px; }
.detail-body aside .primary-action { margin-top:18px; }
.detail-visual { min-height:430px; }

.list-hero { min-height:480px; }
.news-list { padding-block:85px 120px; }
.news-list > a { display:grid; grid-template-columns:220px 1fr auto; gap:38px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }
.news-list .news-visual { aspect-ratio:1.6; }
.news-list > a > div:nth-child(2) > p { margin:0 0 7px; color:#8a8274; font-size:12px; }
.news-list h2 { margin:0 0 8px; font:400 28px/1.42 "STKaiti","KaiTi",serif; }
.news-list > a > div:nth-child(2) > span { color:#756d60; font-size:13px; }
.news-list > a > b { color:var(--red); font-size:22px; font-weight:400; }
.article-page { padding:150px 0 120px; }
.article-page > .breadcrumb { position:static; width:min(850px,calc(100% - 48px)); margin:0 auto 65px; color:#7d7569; }
.article-page > .breadcrumb b { color:var(--ink); }
.article-page > .section-kicker,.article-page > h1,.article-lead { width:min(850px,calc(100% - 48px)); margin-inline:auto; }
.article-page > h1 { margin-top:0; margin-bottom:24px; font:400 clamp(45px,6vw,72px)/1.22 "STKaiti","KaiTi",serif; }
.article-lead { color:#746b5e; font-size:19px; line-height:1.8; }
.article-visual { width:min(1180px,calc(100% - 48px)); margin:55px auto; }
.article-visual img { width:100%; aspect-ratio:16/8; object-fit:cover; }
.article-copy { width:min(760px,calc(100% - 48px)); margin:auto; }
.article-copy p { color:#554f45; font-size:17px; line-height:2.05; }
.article-copy h2 { margin:55px 0 15px; font:400 37px "STKaiti","KaiTi",serif; }
.article-copy blockquote { margin:45px 0; padding:32px 38px; border-left:3px solid var(--red); background:#e9dfcd; font:400 26px/1.6 "STKaiti","KaiTi",serif; }
.not-found { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:120px 24px 70px; background:#181512; color:white; text-align:center; }
.not-found > span { color:rgba(255,255,255,.05); font:220px/1 Georgia,serif; }
.not-found h1 { margin:-70px 0 12px; font:400 60px "STKaiti","KaiTi",serif; }
.not-found > p:not(.section-kicker) { color:rgba(255,255,255,.55); }
.not-found .primary-action { margin-top:22px; }

@media(max-width:1020px) {
  .site-header { grid-template-columns:1fr auto auto; gap:16px; }
  .main-nav { display:none; }
  .menu-button { display:block; }
  .intro-section { grid-template-columns:1fr 1fr; }
  .intro-section blockquote { display:none; }
  .realm-grid { grid-template-columns:repeat(3,1fr); }
  .realm-card { min-height:370px; }
  .realm-card:nth-child(4),.realm-card:nth-child(5) { grid-column:span 1; }
  .feature-card h3 { margin-top:45px; }
  .detail-body { grid-template-columns:1fr 300px; gap:45px; }
}
@media(max-width:760px) {
  .section-shell { width:min(100% - 36px,1180px); }
  .site-header { height:72px; padding-inline:18px; }
  .brand .brand-image { width:176px; }
  .brand small,.contact-link { display:none; }
  .hero-carousel { min-height:710px; }
  .hero-slide { padding:110px 22px 100px; align-items:center; }
  .hero-slide::before { background-position:66% center; }
  .hero-slide::after,.hero-slide:nth-child(2)::after,.hero-slide-right::after { background:linear-gradient(90deg,rgba(7,7,7,.88),rgba(7,7,7,.45)),linear-gradient(0deg,rgba(7,7,7,.5),transparent 55%); }
  .hero-slide-right .hero-copy { margin:0; }
  .hero-copy h1 { font-size:clamp(50px,16vw,74px); }
  .hero-copy > p:not(.eyebrow) { font-size:16px; line-height:1.75; }
  .carousel-controls { left:18px; bottom:30px; }
  .hero-index { right:20px; bottom:37px; }
  .realm-strip { grid-template-columns:1fr; gap:0; padding-inline:18px; }
  .realm-strip > p { padding:20px 0 14px; }
  .realm-strip > div { grid-template-columns:repeat(5,minmax(140px,1fr)); overflow-x:auto; border-top:1px solid rgba(255,255,255,.12); border-left:0; }
  .intro-section { grid-template-columns:1fr; gap:20px; padding-block:82px; }
  .intro-copy { padding-top:0; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:15px; }
  .realms-section,.news-section { padding-block:82px; }
  .realm-grid { grid-template-columns:1fr; width:calc(100% - 36px); }
  .realm-card { min-height:300px; }
  .realm-card::before { background-size:cover; background-position:center; }
  .news-grid { grid-template-columns:1fr; gap:48px; }
  .story-section { min-height:570px; }
  .story-section > div:last-child { width:calc(100% - 36px); }
  .contact-band { grid-template-columns:1fr; gap:22px; padding-block:58px; }
  .vertical-label { display:none; }
  .contact-band .outline-action { width:max-content; }
  .site-footer { padding-inline:18px; }
  .footer-links { grid-template-columns:repeat(2,1fr); gap:36px; margin-left:0; }
  .footer-bottom { flex-direction:column; }
  .site-dialog { padding:34px 24px; }
  .story-dialog { padding:0; }
  .story-dialog > div { padding:28px 24px 34px; }
  .inner-hero { min-height:650px; padding:140px 20px 65px; }
  .breadcrumb { left:20px; top:96px; }
  .inner-hero-copy h1 { font-size:50px; }
  .business-overview { padding-block:78px; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-card { min-height:auto; }
  .feature-card h3 { margin-top:35px; }
  .process-section,.timeline-section { padding-block:78px; }
  .process-list { grid-template-columns:1fr 1fr; }
  .process-list li { min-height:230px; }
  .stats-section { grid-template-columns:1fr 1fr; }
  .stats-section > p { text-align:left; }
  .wide-visual { min-height:480px; }
  .manifesto { grid-template-columns:1fr; gap:20px; padding-block:80px; }
  .value-grid { grid-template-columns:1fr; }
  .value-grid article { min-height:230px; border-right:1px solid var(--line); border-bottom:0; }
  .value-grid article:last-child { border-bottom:1px solid var(--line); }
  .method-line { display:grid; grid-template-columns:1fr auto; gap:18px; }
  .method-line b { display:none; }
  .detail-hero,.list-hero { padding:160px 20px 70px; }
  .detail-hero .breadcrumb,.list-hero .breadcrumb { top:95px; }
  .fact-bar { grid-template-columns:1fr; padding-block:28px; }
  .fact-bar div { padding:18px 0; border-right:0; border-bottom:1px solid var(--line); }
  .detail-body { grid-template-columns:1fr; padding-block:72px 85px; }
  .detail-body aside { position:static; }
  .news-list > a { grid-template-columns:120px 1fr; gap:20px; }
  .news-list > a > b { display:none; }
  .news-list h2 { font-size:22px; }
  .article-page { padding-top:120px; }
  .not-found > span { font-size:130px; }
  .not-found h1 { margin-top:-34px; font-size:45px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
:root { --cms-gap: 24px; }
.cms-prose { max-width: 860px; margin: 0 auto 48px; line-height: 2; font-size: 1.05rem; overflow-wrap: anywhere; }
.cms-news-cover { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.cms-empty { padding: 36px 0; color: #797b72; line-height: 1.9; }
.shop-grid, .location-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.shop-card, .location-card { padding: 30px; border: 1px solid #d5d5ca; background: #fff; color: #26281e; }
.shop-card h3, .location-card h3 { font-size: 1.3rem; margin: 0 0 20px; }
.shop-card span, .location-card p { font-size: 1rem; line-height: 1.8; }
.shop-card.is-pending { color: #686b62; background: #f3f4f0; }
.location-card small { display: block; margin-bottom: 16px; font-size: .875rem; }
.location-card a { display: inline-block; margin-top: 20px; color: #256447; }
.location-filters { display: flex; align-items: center; gap: 20px; margin: 20px 0 28px; }
.location-filters select { font: inherit; padding: 10px 16px; border: 1px solid #bdc7bc; background: white; }
.preview-banner { position: relative; z-index: 101; background: #e9c77e; color: #32280f; text-align: center; padding: 12px; font-size: .875rem; }
.preview-banner a { margin-left: 24px; text-decoration: underline; }
.preview-view .site-header { position: relative; background: var(--ink); }
.preview-view .preview-banner { position: relative; z-index: 51; }
.preview-view .article-page { padding-top: 60px; }
.article-view:not(.preview-view) .site-header { background: var(--ink); }
.article-page > .line-link { display: flex; width: min(760px,calc(100% - 48px)); margin: 36px auto 0; border-bottom: 0; }
.article-copy, .article-lead, .article-page h1 { overflow-wrap: anywhere; }
.news-card { min-width: 0; overflow-wrap: anywhere; }
.cms-formatted{max-width:100%;overflow-wrap:anywhere}.cms-formatted.cms-aligned{display:block;width:100%}
.managed-carousel .hero-slide::before{display:none}.managed-carousel .slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.slide-image-link{position:absolute;inset:0;z-index:1}.managed-carousel .hero-copy{pointer-events:none}.managed-carousel .hero-copy a{pointer-events:auto}.managed-carousel .carousel-dots{flex-wrap:wrap;max-width:220px}.category-carousel{min-height:690px}.category-carousel .hero-copy h1{font-size:clamp(48px,6.5vw,88px)}.carousel-breadcrumb{color:#d2d0c6;font-size:.875rem;margin-bottom:28px}.carousel-breadcrumb a{color:inherit}.managed-carousel .hero-index{z-index:5}
.visual-editing-page .preview-banner{display:none}.visual-editing-page.preview-view .site-header{position:absolute;background:transparent}.visual-editing-page.article-view .site-header{background:var(--ink)}.visual-editing-page.preview-view .article-page{padding-top:160px}.visual-editing-page .hero-copy{pointer-events:auto}
.visual-edit-target{position:relative;cursor:pointer}.visual-edit-target:hover{outline:2px dashed #d9ae55;outline-offset:-2px}.visual-edit-badge{position:absolute;right:8px;top:8px;z-index:20;padding:8px 12px;border:1px solid #e9d5a4;border-radius:5px;background:#183c2f;color:white;font:500 14px/1.4 system-ui;cursor:pointer;box-shadow:0 2px 10px #0003}.visual-edit-badge:focus-visible{outline:3px solid #edbf63;outline-offset:3px}.visual-editing-page .cms-prose{min-height:90px}.visual-empty-news{position:relative;min-height:140px;margin:24px;padding:60px 24px 24px;background:#eef5ed;color:#486344}.visual-editing-page .news-section{min-height:160px}
.managed-carousel>.visual-edit-badge{top:110px}
@media(max-width:700px){.category-carousel{min-height:650px}.managed-carousel .slide-image{object-position:center}.visual-edit-badge{font-size:12px;padding:6px 8px}}
.article-associations { display:flex; flex-wrap:wrap; align-items:center; gap:12px; width:min(760px,calc(100% - 48px)); margin:24px auto; font-size:.875rem; }
.article-associations > span { color:#6e736c; }
.article-associations a { padding:8px 12px; color:#256447; background:#eef3ed; border-radius:4px; }
.category-news { border-top:1px solid #d8ded5; }
.category-news h2, .hero-copy h1, .intro-section h2, .section-heading h2 { overflow-wrap:anywhere; }
.mobile-subcategories { display: grid; grid-template-columns: 1fr 1fr; padding: 8px 0 24px; gap: 14px; }
.mobile-subcategories a { font-size: 1rem; color: #c7c7bb; padding: 4px 0; }
[hidden] { display: none !important; }
@media (min-width: 1081px) { .main-nav { gap: clamp(12px, 1.4vw, 26px); } .main-nav > .nav-item > a { white-space: nowrap; } }
@media (max-width: 700px) { .shop-grid, .location-grid { grid-template-columns: 1fr; } }
.custom-block { padding-block:64px; overflow-wrap:anywhere; }
.custom-block h2 { margin:0 0 28px; font:400 clamp(32px,4vw,52px)/1.3 "STKaiti","KaiTi",serif; }
.custom-block img,.custom-block video { display:block; width:100%; height:auto; max-height:85vh; object-fit:contain; }
.custom-block video { background:#151914; }
.custom-block audio { display:block; width:100%; min-width:0; }
.rich-news-body { overflow-wrap:anywhere; }
.rich-news-body p { white-space:pre-wrap; }
.rich-news-body h2,.rich-news-body h3 { line-height:1.4; margin:1.5em 0 .6em; }
.rich-news-body h2 { font-size:1.8rem; }.rich-news-body h3 { font-size:1.4rem; }
.rich-news-body ul,.rich-news-body ol { padding-left:1.8em; }.rich-news-body li p { margin:.3em 0; }
.rich-news-body blockquote { border-left:3px solid var(--red,#a63c2b); margin:1.4em 0; padding:.2em 1em; }
.rich-media { margin:28px 0; max-width:100%; }
.rich-media img,.rich-media video { display:block; max-width:100%; height:auto; max-height:85vh; margin:auto; object-fit:contain; }
.rich-media video { width:100%; background:#151914; }.rich-media audio { display:block; width:100%; min-width:0; }
.rich-media figcaption { margin-top:10px; font-size:.875rem; line-height:1.6; text-align:center; opacity:.85; }
.custom-block-copy { margin-top:22px; line-height:1.9; }
.custom-block-copy p { margin:0 0 18px; }
.layout-category-section { padding-block:42px; }
.layout-no-hero .site-header,.visual-editing-page.layout-enabled .site-header { position:relative; background:#17352b; }
.page-layout-block { min-width:0; }
.layout-empty { padding:30px; text-align:center; background:#edf4ef; color:#40624e; font-size:14px; }
.layout-insert { display:flex; align-items:center; justify-content:center; padding:10px 16px; background:#f1f6f2; border-block:1px dashed #a8c2b2; }
.layout-insert button,.page-layout-tools button { font:inherit; font-size:14px; border:1px solid #8daf9b; border-radius:5px; background:white; color:#19583e; padding:8px 14px; cursor:pointer; }
.page-layout-tools { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 18px; background:#e7f0e9; color:#28513b; font-size:14px; }
.page-layout-tools>div { display:flex; gap:10px; flex-wrap:wrap; }
.page-layout-tools [data-layout-action="delete"] { color:#a03129; border-color:#cfaaa6; }
.visual-editing-page .custom-block { cursor:pointer; }
.visual-editing-page .custom-block:hover { outline:2px dashed #7aab8e; outline-offset:-2px; }
@media(max-width:700px){.custom-block { padding-block:36px; }.page-layout-tools{flex-wrap:wrap;}.layout-category-section {padding-block:28px;}}
.imported-news-image{margin:24px 0;text-align:center}
.imported-news-image img{display:block;max-width:100%;height:auto;margin:auto}
.article-source{margin-top:32px;padding-top:18px;border-top:1px solid #d7dfda;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.article-source a{color:inherit;text-decoration:underline;margin-left:8px}
