/* ShoreVest 2026 homepage (DRAFT). Generated by scripts/build-home-2026.py; edit the source, not this file. */
body.home-2026{--face:var(--sv26-face);--rail:0px}
html[lang|="zh"] body.home-2026{--face:var(--sv26-cjk)}

:root{
  --paper:#FDFCFA; --xuan:#F2ECD8; --xuan-rule:#DCD2B9;
  --head:#24221F; --text:#3B3732; --text-2:#6B635B;
  --rule:#E5E0D7; --rule-2:#CDC5B8;
  --ink:#2E4A18; --cinnabar:#C93B2A; --qing:#3D6B6B;
  --m:clamp(20px,4.4vw,64px); --rail:56px; --gap:clamp(24px,2.4vw,40px);
  --chapter:clamp(96px,8vw,128px);
}
*{box-sizing:border-box}
html{scrollbar-color:var(--rule-2) var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body.home-2026{margin:0;background:var(--paper);color:var(--text);font:400 18px/1.6 var(--face);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.24em}
:focus-visible{outline:2px solid var(--cinnabar);outline-offset:3px}
img{display:block;max-width:100%}
p,h1,h2,h3,ul,figure{margin:0}ul{padding:0;list-style:none}
.num{font-variant-numeric:tabular-nums lining-nums}
.wrap{max-width:1480px;margin:0 auto;padding:0 calc(var(--m) + var(--rail)) 0 var(--m)}

/* one heading size, one lead size, one body size */
.h1{font-weight:400;font-size:clamp(34px,3.5vw,50px);line-height:1.12;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.h2{font-weight:400;font-size:clamp(28px,2.5vw,36px);line-height:1.18;letter-spacing:-.01em;color:var(--head);text-wrap:balance}
.lead{font-size:clamp(20px,1.6vw,23px);line-height:1.5;color:var(--head)}
.h3{font-weight:400;font-size:19px;line-height:1.35;color:var(--head)}
.meta{font-size:15px;line-height:1.45;color:var(--text-2)}
.sub{color:var(--text-2)}
.measure{max-width:46rem}

.go{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:17px;color:var(--head);text-decoration:none}
.go span{border-bottom:1px solid var(--rule-2);padding-bottom:3px;transition:border-color .2s}
.go svg{width:14px;height:14px;color:var(--cinnabar);flex:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.go:hover span{border-bottom-color:var(--cinnabar)}
.go:hover svg{transform:translateX(3px)}
.links{display:flex;flex-wrap:wrap;gap:4px 40px}

/* two equal columns: the only grid on the page */
.cols{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--gap) * 2)}
.chapter{margin-top:var(--chapter);padding-top:36px;border-top:1px solid var(--rule-2)}
.chapter > .h2{margin-bottom:28px}

/* opening */
.open{padding-top:clamp(48px,7vh,80px)}
.pano{margin-top:clamp(36px,5vh,52px);height:clamp(340px,54vh,620px);overflow:hidden}
.pano img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.mandate{margin-top:48px;display:grid;gap:24px;justify-items:start}
.mandate .lead{font-size:clamp(22px,1.9vw,27px);line-height:1.46;max-width:52rem}

/* underwriting */
.uw .lead{max-width:40rem}
.uw__l{display:grid;gap:24px;align-content:start}
.uw ul{border-top:1px solid var(--rule)}
.uw li{padding:20px 0;border-bottom:1px solid var(--rule);display:grid;gap:8px}
.uw li p{color:var(--text-2)}

/* research: a dark photographic band; the photo's own darkness becomes the ground */
.rs{--night:#16120E;--on:#F4EFE4;--on-2:#C9C0B1;--hair:rgba(244,239,228,.18);
  margin-top:var(--chapter);background:var(--night);color:var(--on);display:grid;grid-template-columns:minmax(0,11fr) minmax(0,13fr);min-height:clamp(620px,72vh,780px)}
.rs__img{position:relative;overflow:hidden}
.rs__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 46%}
.rs__in{padding:clamp(48px,5vw,80px) clamp(32px,4.5vw,72px);display:grid;gap:14px;align-content:center;justify-items:start}
.rs .h2{color:var(--on)}
.rs .meta{color:var(--on-2)}
.rs .desc{color:var(--on-2);max-width:34rem;margin-top:4px}
.rs .go{color:var(--on)}
.rs .go span{border-bottom-color:var(--hair)}
.rs .go:hover span{border-bottom-color:var(--on)}
.feature{display:grid;gap:10px;text-decoration:none;margin-top:28px;padding:26px 0 24px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);width:100%}
.feature .t{font-size:clamp(26px,2.3vw,34px);line-height:1.2;letter-spacing:-.008em;color:var(--on);max-width:24ch}
.feature .go{justify-self:start;margin-top:4px}
.recent{width:100%;margin-bottom:12px}
.recent a{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--hair);text-decoration:none;align-items:baseline}
.recent time{font-size:15px;color:var(--on-2)}
.recent span{color:var(--on)}
.recent a:hover span{text-decoration:underline;text-decoration-color:var(--on-2)}

/* strategy: three rows across the full width */
.strats > ul{border-top:1px solid var(--rule)}
.strats li a{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:var(--gap);padding:24px 0;border-bottom:1px solid var(--rule);text-decoration:none;align-items:baseline}
.strats li a:hover .h3{text-decoration:underline;text-decoration-color:var(--cinnabar)}
.strats p{color:var(--text-2)}
.terms{display:flex;flex-wrap:wrap;gap:2px 22px;font-size:15px;color:var(--qing)}
.strats .links{margin-top:24px}

/* relationship */
.fm .lead{max-width:46rem}
.fm .cols{margin-top:32px}
.fm .cols p{color:var(--text-2)}
.fm .links{margin-top:28px}

/* contact */
.ct{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px 40px}
.ct > .h2{margin-bottom:0}

@media (max-width:1300px){.hd nav{gap:24px}}
@media (max-width:1000px){
  :root{--rail:0px;--chapter:80px;--gap:16px}
  body.home-2026{font-size:17px}
  .cols{grid-template-columns:1fr;row-gap:28px}
  .open{padding-top:36px}
  .pano{margin:32px calc(var(--m) * -1) 0;height:auto;aspect-ratio:4/3}
  .pano img{object-position:60% 55%}
  .mandate{margin-top:32px}
  .mandate .lead{font-size:22px}
  .chapter{padding-top:28px}
  .rs{grid-template-columns:1fr;margin-left:calc(var(--m) * -1);margin-right:calc(var(--m) * -1);min-height:0}
  .rs__img{aspect-ratio:4/3}
  .rs__in{padding:40px var(--m) 48px}
  .recent a,.strats li a{grid-template-columns:1fr;gap:6px}
  .links{flex-direction:column}
  .ct{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.band{--bg:#fff;background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax);padding-top:var(--chapter);padding-bottom:var(--chapter);margin-top:var(--chapter)}
.band + .band{margin-top:0}
.band + .chapter{margin-top:0;border-top:0;padding-top:var(--chapter)}
.xuan{--bg:#F2ECD8}.inkg{--bg:#2E4A18}.night{--bg:#16120E}
.dk{color:#E9E4D8}
.dk p,.dk .sub,.dk .meta,.dk li p,.dk .cols p,.dk time{color:#D6CFC1}
.dk .h1,.dk .h2,.dk .h3,.dk .lead,.dk .t,.dk li a span{color:#F6F2E9}
.dk ul,.dk li,.dk li a,.dk .rule{border-color:rgba(246,242,233,.2)!important}
.dk .go{color:#F6F2E9}.dk .go span{border-bottom-color:rgba(246,242,233,.35)}.dk .go:hover span{border-bottom-color:#F6F2E9}.dk .go svg{color:#F6F2E9}
.bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rows li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--gap);padding:22px 0;border-bottom:1px solid var(--rule)}
.rows li:first-child{border-top:1px solid var(--rule)}
.rows li p{color:var(--text-2)}
.dk .rows li p{color:#D6CFC1}
.split{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--gap) * 2)}
.split > section + section{border-left:1px solid var(--rule-2);padding-left:calc(var(--gap) * 2);margin-left:calc(var(--gap) * -1)}
@media (max-width:1000px){
 .band{padding-top:64px;padding-bottom:64px}
 .rows li{grid-template-columns:1fr;gap:6px}
 .split{grid-template-columns:1fr;row-gap:56px}
 .split > section + section{border-left:0;padding-left:0;margin-left:0;border-top:1px solid var(--rule-2);padding-top:36px}
}

.open3{padding-top:clamp(48px,7vh,80px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.open3__h{grid-column:1/13;font-size:clamp(38px,4.6vw,66px);max-width:16ch}
.open3__img{grid-column:1/13;height:clamp(300px,46vh,540px)}
.open3__m{grid-column:1/9;margin-top:44px;display:grid;gap:22px;justify-items:start}
.r3__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;padding-bottom:28px;border-bottom:1px solid rgba(246,242,233,.2);margin-bottom:40px}
.r3__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:calc(var(--gap) * 2)}
.r3__l{display:grid;gap:22px;align-content:start;justify-items:start}
.r3 .desc{color:#D6CFC1;max-width:38rem}
.r3 .feature{margin-top:6px;border-top:1px solid rgba(246,242,233,.2);border-bottom:1px solid rgba(246,242,233,.2)}
.r3 .feature .t{font-size:clamp(30px,2.8vw,42px);color:#F6F2E9}
.r3 .recent a{border-bottom:1px solid rgba(246,242,233,.2)}
.r3__img{overflow:hidden;min-height:100%}
.r3__img img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.sp3 section{display:grid;gap:20px;align-content:start}
.l3 li{padding:18px 0;border-bottom:1px solid var(--rule);display:grid;gap:6px}
.l3 li:first-child{border-top:1px solid var(--rule)}
.l3 li p,.s3 p{color:var(--text-2)}
.s3 li{padding:0}.s3 li a{display:grid;gap:6px;padding:18px 0;text-decoration:none}
.s3 a:hover .h3{text-decoration:underline;text-decoration-color:var(--cinnabar)}
.fm3__in{max-width:60rem;display:grid;gap:24px}
.fm3 .cols p{color:var(--text-2)}
@media (max-width:1000px){
 .open3{grid-template-columns:1fr}.open3>*{grid-column:1/-1}
 .open3__h{font-size:clamp(30px,8.6vw,40px)}
 .open3__img{height:auto;aspect-ratio:4/3;margin-left:calc(var(--m) * -1);margin-right:calc(var(--m) * -1)}
 .r3__grid{grid-template-columns:1fr;row-gap:32px}
 .r3__img{order:-1;aspect-ratio:4/3;min-height:0}
}.hero2__img{height:clamp(420px,66vh,760px);overflow:hidden;margin-top:0}
.hero2__img img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero2__text{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--gap) * 2);padding-top:52px;align-items:start}
.hero2__r{display:grid;gap:24px;justify-items:start;padding-top:8px}
@media (max-width:1000px){.hero2__img{height:auto;aspect-ratio:4/3}.hero2__text{grid-template-columns:1fr;row-gap:24px;padding-top:32px}}.hero2__img{height:clamp(300px,calc(100svh - 440px),560px)}.hero2__img img{object-position:50% 56%}.hero2__text{padding-top:40px}@media (max-width:1000px){.hero2__img{height:auto}}
.fm3__in{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:calc(var(--gap) * 2);row-gap:0;align-items:start}
.fm3__in > .h2{grid-column:1;grid-row:1 / span 3}
.fm3__in > .lead,.fm3__in > .cols,.fm3__in > .links{grid-column:2}
.fm3 .cols{grid-template-columns:1fr;row-gap:0;margin-top:32px;border-top:1px solid var(--xuan-rule,#DCD2B9)}
.fm3 .cols p{padding:20px 0;border-bottom:1px solid var(--xuan-rule,#DCD2B9)}
.fm3__in > .links{margin-top:28px}
@media (max-width:1000px){.fm3__in{grid-template-columns:1fr}.fm3__in > *{grid-column:1!important;grid-row:auto!important}.fm3__in > .h2{margin-bottom:20px}}

/* Chinese */
html[lang|="zh"] body.home-2026{line-height:1.75}html[lang|="zh"] body.home-2026 .h1,html[lang|="zh"] body.home-2026 .h2{letter-spacing:0;line-height:1.32}html[lang|="zh"] body.home-2026 .h3{line-height:1.45}html[lang|="zh"] body.home-2026 .lead{line-height:1.7}html[lang|="zh"] body.home-2026 .meta{line-height:1.6}html[lang|="zh"] body.home-2026 .rs__feat .t{letter-spacing:0;line-height:1.35}html[lang|="zh"] body.home-2026 .nb{white-space:nowrap}

/* China Debt Dynamics band (r4) */
.r4{padding-top:0!important;padding-bottom:0!important}
.r4__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:calc(var(--gap) * 2);align-items:stretch}
.r4__l{display:grid;gap:0;align-content:start;justify-items:start;padding:clamp(88px,9vw,140px) 0 clamp(80px,8vw,120px)}
.r4__head{display:grid;gap:14px;width:100%;padding-bottom:28px;border-bottom:1px solid rgba(246,242,233,.2)}
.r4__head .h2{color:#F6F2E9}
.r4 .desc{margin:0;color:#CFC7B8;max-width:44ch}
.r4__lead{display:grid;gap:18px;justify-items:start;padding:clamp(40px,4vw,56px) 0}
.r4__dl{margin:0;display:flex;gap:0;font-size:15px;color:#BDB3A2}
.r4__dl span+span{margin-left:16px;padding-left:16px;border-left:1px solid rgba(246,242,233,.25)}
.r4__dl span:first-child{color:#F6F2E9}
.r4__t{margin:0;font-size:clamp(34px,3.6vw,58px);line-height:1.06;letter-spacing:-.03em;font-weight:400;max-width:18ch}
.r4__t a{color:#F6F2E9;text-decoration:none}
.r4__t a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em;text-decoration-color:rgba(246,242,233,.4)}
.r4__dek{margin:6px 0 0;font-size:clamp(18px,1.4vw,21px);line-height:1.6;color:#DDD5C6;max-width:46ch}
.r4__read{margin-top:6px}
.r4__list{list-style:none;margin:0 0 28px;padding:0;width:100%;border-top:1px solid rgba(246,242,233,.2)}
.r4__list a{display:grid;grid-template-columns:4em minmax(0,1fr) auto;column-gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(246,242,233,.2);color:#E8E1D3;text-decoration:none}
.r4__no{color:#9E9584;font-size:15px}
.r4__rt{font-size:17px;line-height:1.4}
.r4__list time{font-size:14px;color:#9E9584;white-space:nowrap}
.r4__list a:hover .r4__rt{color:#fff;text-decoration:underline;text-decoration-color:rgba(246,242,233,.4);text-underline-offset:.2em}
.r4__img{position:relative;margin:0 calc(-1 * (var(--sv26-m,64px) + var(--rail,0px))) 0 0;overflow:hidden;min-height:100%}
.r4__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
@media (max-width:1000px){.r4__grid{grid-template-columns:1fr}.r4__img{order:-1;aspect-ratio:4/3;margin:0 calc(-1 * var(--sv26-m,20px))}.r4__img img{position:static}.r4__l{padding-top:40px}.r4__list a{grid-template-columns:3.2em minmax(0,1fr)}.r4__list time{grid-column:2}}

/* underwriting / strategy split: both columns share one row grid, so the headings, the first rule and
   every row line up across the divider; the right heading takes the slot the left column gives its lead */
@media (min-width: 1001px) {
  .sp3 { grid-template-rows: auto auto repeat(3, auto) auto; }
  .sp3 > section { grid-row: 1 / span 6; display: grid; grid-template-rows: subgrid; row-gap: 0; gap: 0 !important; align-content: stretch; }
  .sp3 > section > .h2 { grid-row: 1; align-self: start; margin: 0 0 18px; }
  .sp3 > section > .lead { grid-row: 2; align-self: start; margin: 0 0 36px; max-width: 30rem; }
  .sp3 > section + section > .h2 { grid-row: 1 / span 2; max-width: 16ch; }
  .sp3 > section > .l3 { grid-row: 3 / span 3; display: grid; grid-template-rows: subgrid; margin: 0; padding: 0; }
  .sp3 > section > .links { grid-row: 6; margin-top: 32px; }
}
.sp3 .l3 li { padding: 22px 0; gap: 8px; align-content: start; }
.sp3 .s3 li { padding: 0; }
.sp3 .s3 li a { padding: 22px 0; gap: 8px; height: 100%; box-sizing: border-box; align-content: start; }
.sp3 .l3 .h3 { margin: 0; }
.sp3 .l3 p { margin: 0; text-wrap: pretty; }
html[lang|="zh"] .sp3 > section > .lead { max-width: none; }
