/* ==========================================================================
   CARBONJOUR v4 — Deep-water dossier
   Loaded after main.css and v3.css, scoped to .page-v3.

   Direction: a project dossier, not a marketing template.
   - dark photographic cover, paper reading surface
   - one accent (sea-glass) reserved for data and primary action
   - Geist for Latin, MiSans for Chinese, Plex Mono for figures
   - section headers stack; labels above headlines are removed
   - ONE type scale drives every text role site-wide
   ========================================================================== */

@font-face{
  font-family:"Geist";
  src:url("../fonts/geist-sans-variable-latin.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

/* ==========================================================================
   TYPE SCALE — the single source of truth for sizes, line heights, tracking.
   Every component below maps onto these tokens; no ad-hoc px/rem values.
   ========================================================================== */
.page-v3{
  --font-sans:"Geist",var(--font-cn),"Helvetica Neue",Arial,sans-serif;
  --font-display:"Geist",var(--font-cn),"Helvetica Neue",Arial,sans-serif;

  /* sizes (fluid where a range matters, fixed where it should not move) */
  --fs-hero:  clamp(2.75rem, 1.9rem + 3.2vw, 4.75rem); /* page hero headline */
  --fs-h1:    clamp(2.25rem, 1.7rem + 2.1vw, 3.5rem);  /* inner-page title */
  --fs-h2:    clamp(2rem, 1.6rem + 1.7vw, 2.75rem);    /* section title */
  --fs-sub:   clamp(1.5rem, 1.3rem + .7vw, 1.75rem);   /* subhead / article h2 */
  --fs-h3:    clamp(1.25rem, 1.15rem + .4vw, 1.5rem);  /* card title */
  --fs-lead:  clamp(1.15rem, 1.08rem + .3vw, 1.3rem);  /* lead paragraph */
  --fs-body:  1.125rem;                                /* body copy */
  --fs-sm:    1rem;                                    /* secondary body */
  --fs-xs:    .9375rem;                                /* caption / small */
  --fs-label: .8125rem;                                /* mono data label */
  --fs-micro: .75rem;                                  /* legal / smallest */
  --fs-stat:  clamp(2.2rem, 1.8rem + 1.8vw, 3.1rem);   /* stat numerals */
  --fs-fig:   clamp(1.5rem, 1.25rem + 1.1vw, 2.2rem);  /* inline figures */

  /* line heights */
  --lh-display: 1.06;
  --lh-heading: 1.12;
  --lh-title:   1.28;
  --lh-body:    1.72;
  --lh-tight:   1.55;

  /* tracking */
  --track-display: -.035em;
  --track-title:   -.015em;
  --track-label:   .12em;

  --sect:clamp(68px,7.4vw,120px);
  font-size:16px;
  line-height:var(--lh-body);
}

/* Chinese: display sizes step down, line heights step up */
html[lang="zh-CN"] .page-v3{
  --fs-hero: clamp(2.4rem, 1.75rem + 2.8vw, 4.25rem);
  --fs-h1:   clamp(2.05rem, 1.6rem + 1.8vw, 3.2rem);
  --fs-h2:   clamp(1.8rem, 1.5rem + 1.4vw, 2.45rem);
  --fs-sub:  clamp(1.4rem, 1.25rem + .6vw, 1.68rem);
  --fs-h3:   clamp(1.2rem, 1.12rem + .35vw, 1.42rem);
  --fs-lead: clamp(1.12rem, 1.05rem + .3vw, 1.25rem);
  --lh-display: 1.16;
  --lh-heading: 1.26;
  --lh-title:   1.38;
  --lh-body:    1.9;
  --track-display: -.02em;
  --track-title: -.01em;
}

/* ---------- Display roles ---------- */
.page-v3 .display,
.page-v3 .display--xl,
.page-v3 .h2,
.page-v3 .h3,
.page-v3 .hero h1,
.page-v3 .masthead h1{
  font-family:var(--font-display);
}

.page-v3 .display--xl,
.page-v3 .hero h1{
  font-size:var(--fs-hero);
  line-height:var(--lh-display);
  letter-spacing:var(--track-display);
  font-weight:600;
  max-width:none;
  text-wrap:balance;
}

.page-v3 .display,
.page-v3 .masthead h1{
  font-size:var(--fs-h1);
  line-height:var(--lh-display);
  letter-spacing:var(--track-display);
  font-weight:600;
}

.page-v3 .h2{
  font-size:var(--fs-h2);
  line-height:var(--lh-heading);
  letter-spacing:var(--track-title);
  font-weight:600;
}

.page-v3 .h3{
  font-size:var(--fs-h3);
  line-height:var(--lh-title);
  letter-spacing:var(--track-title);
}

.page-v3 .lead,
.page-v3 .article__lead,
.page-v3 .pull{
  font-size:var(--fs-lead);
  line-height:1.72;
}

.page-v3 .body p{
  font-size:var(--fs-body);
  line-height:var(--lh-body);
}

.page-v3 .small{font-size:var(--fs-xs);line-height:1.7}
.page-v3 .mono{font-size:var(--fs-label);letter-spacing:var(--track-label)}
.page-v3 .nowrap{white-space:nowrap}

html[lang="zh-CN"] .page-v3 .hero h1{font-size:var(--fs-hero);max-width:16em}
html[lang="zh-CN"] .page-v3 .hero__sub{max-width:42em}

/* ---------- Header ---------- */
.page-v3 .nav{gap:clamp(16px,2vw,32px)}
.page-v3 .nav a{font-size:.875rem}
.page-v3 .btn{font-size:1rem}
.page-v3 .link-arrow{font-size:1rem}

/* ---------- Hero: one message, no overlays ---------- */
.page-v3 .hero{
  min-height:94svh;
  padding-top:calc(var(--nav-h) + 20px);
  justify-content:flex-end;
}
.page-v3 .hero__content{
  display:block;
  padding-bottom:clamp(44px,6vw,84px);
}
.page-v3 .hero__lead{max-width:min(1240px,88vw)}
.page-v3 .hero__sub{
  margin-top:clamp(20px,2.4vw,30px);
  max-width:52ch;
  font-size:var(--fs-lead);
  line-height:1.7;
  color:rgba(233,241,236,.8);
}
.page-v3 .hero__cta{margin-top:clamp(28px,3.4vw,44px)}
.page-v3 .hero__media img{animation:none;transform:scale(1.02)}
.page-v3 .hero__media::after{
  background:
    linear-gradient(90deg,rgba(3,16,26,.88) 0%,rgba(3,16,26,.56) 46%,rgba(3,16,26,.12) 78%),
    linear-gradient(180deg,rgba(3,16,26,.34) 0%,rgba(3,16,26,.08) 30%,rgba(3,16,26,.54) 72%,rgba(3,16,26,.92) 100%);
}
.page-v3 .btn--ghost{background:rgba(3,16,26,.34)}

/* ---------- Stats shelf: the abstract under the cover ---------- */
.page-v3 .stats-shelf{padding-block:0}
.page-v3 .stats-shelf .wrap{padding-bottom:clamp(16px,2vw,22px)}
.page-v3 .stats-shelf .stats{padding-top:clamp(24px,3vw,40px);border-top:0}
.page-v3 .stats-shelf .stat{padding-block:clamp(14px,1.8vw,22px)}
.page-v3 .stat__num{
  font-size:var(--fs-stat);
  line-height:1.05;
  letter-spacing:-.02em;
}
.page-v3 .stats__credit{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line-dark);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:.08em;
  line-height:1.6;
  color:var(--deep-text-faint);
  text-align:right;
}

/* ---------- Section rhythm ---------- */
.page-v3 .section{padding-block:var(--sect)}
.page-v3 .section--tight{padding-block:clamp(52px,6vw,88px)}

/* Section header: stacked. No category label above the headline. */
.page-v3 .s-head{
  display:block;
  padding-bottom:0;
  border-bottom:0;
  margin-bottom:clamp(30px,4vw,52px);
}
.page-v3 .s-head::before{
  content:"";
  display:block;
  width:100%;
  height:1px;
  background:var(--line);
  margin-bottom:clamp(20px,2.4vw,30px);
}
.page-v3 .section--dark .s-head::before,
.page-v3 .section--deep .s-head::before{background:var(--line-dark)}
.page-v3 .s-head__label{display:block}
.page-v3 .s-head__en{display:none}
.page-v3 .s-head__title{max-width:24ch}
.page-v3 .s-head__aside{
  justify-self:start;
  max-width:58ch;
  margin-top:clamp(14px,1.8vw,22px);
}
.page-v3 .s-head__aside p{font-size:var(--fs-body);line-height:1.78;color:var(--muted)}
.page-v3 .section--dark .s-head__aside p,
.page-v3 .section--deep .s-head__aside p{color:var(--deep-text-dim)}

/* ---------- Page masthead: stacked, left aligned ---------- */
.page-v3 .masthead__inner{display:block}
.page-v3 .masthead h1{max-width:20ch}
.page-v3 .masthead__sub{
  max-width:58ch;
  justify-self:start;
  margin-top:clamp(18px,2.2vw,28px);
  padding-bottom:0;
  font-size:var(--fs-lead);
  line-height:1.75;
}

/* ---------- Feature ledger: 2 x 2 ---------- */
.page-v3 .features:not(.features--stack){
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.page-v3 .features:not(.features--stack) .feature{
  padding:clamp(22px,2.6vw,32px) clamp(20px,2.6vw,34px) clamp(26px,3vw,36px) 0;
}
.page-v3 .features:not(.features--stack) .feature:nth-child(2n){
  border-left:1px solid var(--line);
  padding-left:clamp(20px,2.6vw,34px);
}
.page-v3 .features:not(.features--stack) .feature:nth-child(2n+1){
  border-left:0;
  padding-left:0;
}
.page-v3 .features:not(.features--stack) .feature__idx{
  margin-bottom:clamp(16px,2vw,26px);
}

/* ---------- Evidence plate: photograph + four figures ---------- */
.page-v3 .plate{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.page-v3 .plate__media{margin:0}
.page-v3 .plate__media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:var(--radius);
}
.page-v3 .plate__media figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:.08em;
  line-height:1.6;
  color:var(--muted);
}
.page-v3 .plate__data{border-top:1px solid var(--line)}
.page-v3 .plate__row{
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.page-v3 .plate__row b{
  display:block;
  font-family:var(--font-mono);
  font-size:var(--fs-fig);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.1;
  margin-bottom:5px;
}
.page-v3 .plate__row span{font-size:var(--fs-sm);line-height:1.55;color:var(--muted)}
@media(max-width:900px){
  .page-v3 .plate{grid-template-columns:1fr}
}

/* ---------- Bento: three offers, no empty cells ---------- */
.page-v3 .bento--three{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto;
}
.page-v3 .bento--three .bento__cell{
  grid-column:auto;
  min-height:0;
}
.page-v3 .bento--three .bento__cell--lead{
  grid-column:1 / 3;
  grid-row:1 / 3;
  background:var(--deep);
  color:var(--deep-text);
  padding:clamp(24px,2.6vw,34px);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.page-v3 .bento--three .bento__cell--dark{
  grid-column:3;
  grid-row:1;
  background:var(--abyss);
  color:var(--deep-text);
  padding:clamp(22px,2.4vw,30px);
  justify-content:flex-start;
  gap:10px;
}
.page-v3 .bento--three .bento__cell--edge{
  grid-column:3;
  grid-row:2;
  background:var(--paper-3);
  padding:clamp(22px,2.4vw,30px);
  justify-content:flex-start;
  gap:10px;
}
.page-v3 .bento--three .bento__tag{color:var(--accent)}
.page-v3 .bento--three .bento__cell--lead .bento__title{
  max-width:18ch;
  font-size:var(--fs-sub);
  line-height:var(--lh-heading);
}
.page-v3 .bento--three .bento__cell--lead .bento__text{color:var(--deep-text-dim)}
.page-v3 .bento--three .bento__cell--dark .bento__text{color:var(--deep-text-dim)}
.page-v3 .bento--three .bento__cell--edge .bento__tag{color:var(--accent-deep)}
.page-v3 .bento--three .bento__img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  margin-top:auto;
  border-radius:var(--radius);
  opacity:.92;
}
@media(max-width:960px){
  .page-v3 .bento--three{grid-template-columns:1fr;grid-template-rows:auto}
  .page-v3 .bento--three .bento__cell--lead,
  .page-v3 .bento--three .bento__cell--dark,
  .page-v3 .bento--three .bento__cell--edge{grid-column:1;grid-row:auto}
}

/* ---------- Insights list ---------- */
.page-v3 .vlist a{padding:clamp(20px,2.4vw,28px) 0}
.page-v3 .vlist b{font-size:var(--fs-h3);line-height:var(--lh-title)}

/* Seven-step process: close the grid instead of leaving a blank cell */
@media(min-width:621px){
  .page-v3 .steps--seven .step:last-child{grid-column:span 2}
}

/* ---------- Closing band ---------- */
.page-v3 .cta-band{padding-block:clamp(72px,8vw,120px)}
.page-v3 .cta-band h2{max-width:20ch;font-size:var(--fs-h2);line-height:var(--lh-heading)}

/* ==========================================================================
   COMPONENT TEXT REMAP — collapse the scattered sizes onto the scale above.
   ========================================================================== */

/* Mono data labels: was 0.58–0.66rem, now one 12px step */
.page-v3 .element__k,
.page-v3 .element__status,
.page-v3 .status__label,
.page-v3 .ev__num,
.page-v3 .ev__date,
.page-v3 .feature__idx,
.page-v3 .bento__tag,
.page-v3 .model__id,
.page-v3 .step__n,
.page-v3 .func b,
.page-v3 .masthead__crumb,
.page-v3 .masthead__meta .k,
.page-v3 .stat__note,
.page-v3 .project-hero__fact span:first-child,
.page-v3 .rm__year,
.page-v3 .ncard__meta,
.page-v3 .irow__date,
.page-v3 .article__meta,
.page-v3 .article figcaption,
.page-v3 .split__cap,
.page-v3 .video__cap,
.page-v3 .footer__col h4,
.page-v3 .field label,
.page-v3 .calc__row label,
.page-v3 .sc-fact .k,
.page-v3 .vlist span,
.page-v3 .img-note,
.page-v3 .marquee span,
.page-v3 .prose .meta,
.page-v3 .contact__block .k,
.page-v3 .cinfo .k,
.page-v3 .spec th,
.page-v3 .cmp__name small,
.page-v3 .cmp__val,
.page-v3 .sc-tab__n,
.page-v3 .model__list span{
  font-size:var(--fs-label);
  letter-spacing:var(--track-label);
}

/* Smallest: legal line in the footer */
.page-v3 .footer__bottom{font-size:var(--fs-micro)}

/* Card titles: one size for every "h3-like" heading */
.page-v3 .element h3,
.page-v3 .model h3,
.page-v3 .step h3,
.page-v3 .func h3,
.page-v3 .feature__title,
.page-v3 .bento__title,
.page-v3 .proj h3,
.page-v3 .value h3,
.page-v3 .tm__title,
.page-v3 .ncard__title,
.page-v3 .irow__title,
.page-v3 .article h3,
.page-v3 .prose h3,
.page-v3 .adv__item b,
.page-v3 .ev__body h3,
.page-v3 .rm__title{
  font-size:var(--fs-h3);
  line-height:var(--lh-title);
  letter-spacing:var(--track-title);
}

/* Subheads: article h2, pull lines, panel titles */
.page-v3 .article h2,
.page-v3 .prose h2,
.page-v3 .sc-panel h3,
.page-v3 .project-hero__panel h2,
.page-v3 .story__cn,
.page-v3 .statement__en{
  font-size:var(--fs-sub);
  line-height:var(--lh-heading);
  letter-spacing:var(--track-title);
}
.page-v3 .statement__en{font-family:var(--font-serif)}

/* Secondary body: was 0.8–0.95rem, now one 15px step */
.page-v3 .feature__text,
.page-v3 .element p,
.page-v3 .model p,
.page-v3 .step p,
.page-v3 .func p,
.page-v3 .bento__text,
.page-v3 .value p,
.page-v3 .tm__text,
.page-v3 .proj p,
.page-v3 .ncard__excerpt,
.page-v3 .irow__excerpt,
.page-v3 .sc-fact .v,
.page-v3 .calc__verdict,
.page-v3 .contact__block p,
.page-v3 .contact__block a,
.page-v3 .cinfo .v,
.page-v3 .partner__logo b,
.page-v3 .ev__body p,
.page-v3 .status__items li,
.page-v3 .spec td,
.page-v3 .cmp__name,
.page-v3 .sc-tab__t,
.page-v3 .rm__text,
.page-v3 .masthead__meta .v{
  font-size:var(--fs-sm);
  line-height:1.7;
}

/* Reading pages: body copy stays 16px with a taller measure */
.page-v3 .article p,
.page-v3 .article li,
.page-v3 .prose p,
.page-v3 .prose li{
  font-size:var(--fs-body);
  line-height:1.9;
}

/* Captions and small print: one 14px step */
.page-v3 .calc__note,
.page-v3 .form__note,
.page-v3 .consent,
.page-v3 .footer__brand p,
.page-v3 .footer__col a,
.page-v3 .footer__col li{
  font-size:var(--fs-xs);
  line-height:1.7;
}

/* Form fields: keep them at the larger body size */
.page-v3 .field input,
.page-v3 .field select,
.page-v3 .field textarea{font-size:1rem}

/* Inline figures */
.page-v3 .calc__num b{font-size:var(--fs-fig);line-height:1.1;letter-spacing:-.02em}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  .page-v3 .hero{min-height:90svh}
  .page-v3 .hero__lead{max-width:100%}
  .page-v3 .hero h1,
  html[lang="zh-CN"] .page-v3 .hero h1{max-width:100%}
  .page-v3 .hero__sub{max-width:100%}
  .page-v3 .stats__credit{text-align:left}
  .page-v3 .features:not(.features--stack){grid-template-columns:1fr}
  .page-v3 .features:not(.features--stack) .feature:nth-child(2n){
    border-left:0;
    padding-left:0;
  }
}

@media(max-width:620px){
  .page-v3 .hero h1{font-size:1.95rem}
  html[lang="zh-CN"] .page-v3 .hero h1{font-size:2.2rem}
  .page-v3 .stats-shelf .stat__num{font-size:2rem}
  .page-v3 .features{grid-template-columns:1fr !important}
}

/* ==========================================================================
   v4.1 — refinements from review: logo scale, language switch, rhythm
   ========================================================================== */

/* logo: larger, still transparent, no chip */
.page-v3 .logo__img{height:52px;width:auto}
.page-v3 .logo__cn{font-size:1.14rem}
.page-v3 .logo__en{font-size:.58rem;letter-spacing:.3em;margin-top:7px}
.page-v3 .footer .logo__img{height:38px}
@media(max-width:900px){.page-v3 .logo__img{height:44px}}
@media(max-width:620px){.page-v3 .logo__img{height:38px}.page-v3 .footer .logo__img{height:32px}}

/* language switch: two-segment pill, integrated with the header */
.page-v3 .lang{border:1px solid rgba(226,240,236,.22);border-radius:999px;overflow:hidden;background:transparent;line-height:1}
.page-v3 .lang__btn{padding:10px 18px;font-size:.95rem;font-weight:500;letter-spacing:.04em;opacity:.6}
.page-v3 .lang__btn + .lang__btn{border-left:1px solid rgba(226,240,236,.16)}
.page-v3 .lang__btn.is-on{background:rgba(226,240,236,.2);color:var(--paper);opacity:1}
.page-v3 .header.is-light .lang{border-color:var(--line);background:transparent}
.page-v3 .header.is-light .lang__btn + .lang__btn{border-left-color:var(--line)}
.page-v3 .header.is-light .lang__btn.is-on{background:rgba(12,26,30,.08);color:var(--ink)}

/* vertical rhythm: fewer empty screens between blocks */
.page-v3{--sect:clamp(40px,4.2vw,60px)}
.page-v3 .section--tight{padding-block:clamp(30px,3.4vw,46px)}
.page-v3 .s-head{margin-bottom:clamp(22px,2.6vw,34px)}
.page-v3 .s-head::before{margin-bottom:clamp(16px,2vw,24px)}
.page-v3 .masthead{padding-top:calc(var(--nav-h) + clamp(34px,4.2vw,60px));padding-bottom:clamp(28px,3.6vw,44px)}
.page-v3 .masthead__meta{margin-top:clamp(18px,2.4vw,28px);padding-top:clamp(12px,1.8vw,18px)}
.page-v3 .masthead__crumb{margin-bottom:clamp(12px,1.8vw,20px)}
.page-v3 .features{margin-top:clamp(18px,2.2vw,28px)}
.page-v3 .feature{padding-top:clamp(18px,2.2vw,26px);padding-bottom:clamp(20px,2.4vw,30px)}
.page-v3 .footer{padding-top:clamp(44px,5vw,64px)}

/* language switch: never wrap a two-character label */
.page-v3 .lang__btn{white-space:nowrap}
@media(max-width:620px){
  .page-v3 .lang__btn{padding:9px 12px;font-size:.8rem}
  .page-v3 .logo__en{display:none}
}

@media(max-width:620px){
  .page-v3 .logo__cn{font-size:1rem;letter-spacing:.06em}
  .page-v3 .lang__btn{padding:9px 11px;font-size:.84rem}
}

/* ==========================================================================
   GreenFinance-inspired chrome: single language button, 16px nav,
   8px buttons, 12px white cards with hairline borders.
   ========================================================================== */

/* language: one bordered button, like the reference nav */
.page-v3 .lang{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:78px;height:34px;padding:0 12px;
  border:1px solid rgba(226,240,236,.28);border-radius:6px;
  font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.02em;
  color:inherit;opacity:.9;transition:background .2s,border-color .2s,opacity .2s;
}
.page-v3 .lang:hover{background:rgba(255,255,255,.07);border-color:rgba(226,240,236,.5);opacity:1}
.page-v3 .header.is-light .lang{border-color:rgba(12,26,30,.22)}
.page-v3 .header.is-light .lang:hover{background:rgba(12,26,30,.05);border-color:rgba(12,26,30,.35)}

/* nav: 15.5px, roomier, active by colour instead of underline */
.page-v3 .nav{gap:clamp(16px,2.2vw,30px)}
.page-v3 .nav a{font-size:.94rem;letter-spacing:0;opacity:.72}
.page-v3 .nav a:hover{opacity:1}
.page-v3 .nav a.is-active{opacity:1;font-weight:600}
.page-v3 .nav a::after{display:none}

/* buttons: 8px radius, 14px label, greenfinance proportions */
.page-v3 .btn{border-radius:8px;font-size:.875rem;padding:9px 18px}
.page-v3 .btn--accent{border-radius:8px}

/* card surfaces: white, 12px radius, hairline border, faint shadow */
.page-v3 .elements{gap:12px;background:transparent;border:0}
.page-v3 .element{
  background:#fff;border:1px solid #E6E8EC;border-radius:12px;
  box-shadow:0 1px 3px rgba(17,24,39,.05);
  padding:clamp(20px,2.4vw,28px);
}
.page-v3 .features{margin-top:clamp(18px,2.2vw,28px);gap:12px;border-top:0}
.page-v3 .features:not(.features--stack){grid-template-columns:repeat(2,minmax(0,1fr))}
.page-v3 .feature{
  background:#fff;border:1px solid #E6E8EC;border-radius:12px;
  box-shadow:0 1px 3px rgba(17,24,39,.05);
  padding:clamp(20px,2.4vw,28px);
}
.page-v3 .feature + .feature{border-left:1px solid #E6E8EC;padding-left:clamp(20px,2.4vw,28px)}
.page-v3 .features .feature__idx{color:var(--accent-deep)}

/* evidence rows become cards */
.page-v3 .ev{
  background:#fff;border:1px solid #E6E8EC;border-radius:12px;
  box-shadow:0 1px 3px rgba(17,24,39,.05);
  padding:clamp(20px,2.4vw,30px);margin-bottom:12px;
}
.page-v3 .ev:last-of-type{border-bottom:1px solid #E6E8EC}

/* models / functions / bento / proof */
.page-v3 .models{gap:14px}
.page-v3 .model{background:#fff;border:1px solid #E6E8EC;border-radius:12px;box-shadow:0 1px 3px rgba(17,24,39,.05);padding:clamp(20px,2.4vw,28px)}
.page-v3 .funcs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;border-top:0}
.page-v3 .func,.page-v3 .func + .func{
  background:#fff;border:1px solid #E6E8EC;border-radius:12px;
  box-shadow:0 1px 3px rgba(17,24,39,.05);
  padding:clamp(18px,2.2vw,26px);
}
.page-v3 .bento__cell{border-radius:12px;border:1px solid rgba(12,26,30,.08)}
.page-v3 .proof{gap:12px;border:0}
.page-v3 .proof__item{background:rgba(255,255,255,.04);border:1px solid rgba(226,240,236,.14);border-radius:12px}

@media(max-width:900px){
  .page-v3 .nav a{font-size:.86rem}
  .page-v3 .funcs{grid-template-columns:1fr 1fr}
}

/* equalise feature card padding across 2- and 3-column layouts */
.page-v3 .features:not(.features--stack) .feature,
.page-v3 .features:not(.features--stack) .feature + .feature,
.page-v3 .features:not(.features--stack) .feature:nth-child(2n),
.page-v3 .features:not(.features--stack) .feature:nth-child(2n+1){
  border:1px solid #E6E8EC;
  border-radius:12px;
  padding:clamp(20px,2.4vw,28px);
  box-shadow:0 1px 3px rgba(17,24,39,.05);
  background:#fff;
}

/* calculator surface follows the card system */
.page-v3 .calc{border-radius:12px;overflow:hidden;border-color:#E6E8EC;box-shadow:0 1px 3px rgba(17,24,39,.05)}

/* nav type: match the reference's 16px nav labels */
.page-v3 .nav a{font-size:1rem;font-weight:500;opacity:.78}
.page-v3 .nav a.is-active{font-weight:600;opacity:1}
@media(max-width:1180px){.page-v3 .nav a{font-size:.95rem}}

/* field visit strip (photos from the 2025 Hawaiʻi site visit) */
.page-v3 .field-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.page-v3 .field-strip figure{margin:0;border:1px solid #E6E8EC;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(17,24,39,.05);display:flex;flex-direction:column}
.page-v3 .field-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.page-v3 .field-strip figcaption{font-size:.76rem;line-height:1.6;color:var(--muted);padding:10px 14px}
.page-v3 .field-strip figcaption b{font-weight:600;color:var(--ink-2)}
@media(max-width:900px){.page-v3 .field-strip{grid-template-columns:1fr 1fr}.page-v3 .field-strip figure:first-child{grid-column:1/-1}}

/* contact intent chips */
.page-v3 .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}
.page-v3 .chip{position:relative;cursor:pointer}
.page-v3 .chip input{position:absolute;opacity:0;pointer-events:none}
.page-v3 .chip span{display:inline-flex;align-items:center;border:1px solid #DADDE2;border-radius:999px;padding:8px 14px;font-size:.84rem;line-height:1;color:var(--ink-2);background:#fff;transition:all .18s}
.page-v3 .chip:hover span{border-color:#B9C0C8}
.page-v3 .chip input:checked + span{border-color:var(--accent-deep);background:rgba(11,106,93,.07);color:var(--accent-deep);font-weight:500}
.page-v3 .chip input:focus-visible + span{outline:2px solid var(--accent-deep);outline-offset:2px}
.page-v3 .field__label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}

/* feature cards on dark sections: translucent, never white */
.page-v3 .section--dark .features:not(.features--stack) .feature,
.page-v3 .section--deep .features:not(.features--stack) .feature,
.page-v3 .section--dark .features:not(.features--stack) .feature + .feature,
.page-v3 .section--deep .features:not(.features--stack) .feature + .feature,
.page-v3 .section--dark .features:not(.features--stack) .feature:nth-child(2n),
.page-v3 .section--deep .features:not(.features--stack) .feature:nth-child(2n),
.page-v3 .section--dark .features:not(.features--stack) .feature:nth-child(2n+1),
.page-v3 .section--deep .features:not(.features--stack) .feature:nth-child(2n+1){
  background:rgba(255,255,255,.045);
  border:1px solid rgba(226,240,236,.14);
  box-shadow:none;
  color:var(--deep-text);
}
.page-v3 .section--dark .feature__idx,
.page-v3 .section--deep .feature__idx{color:var(--accent)}
.page-v3 .section--dark .feature__title,
.page-v3 .section--deep .feature__title{color:var(--deep-text)}
.page-v3 .section--dark .feature__text,
.page-v3 .section--deep .feature__text{color:var(--deep-text-faint)}

/* status pills for buyer-facing readiness */
.page-v3 .pill{display:inline-block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid;white-space:nowrap}
.page-v3 .pill--done{color:#0B6A5D;background:rgba(11,106,93,.07);border-color:rgba(11,106,93,.25)}
.page-v3 .pill--now{color:#7A5C00;background:rgba(201,162,39,.10);border-color:rgba(201,162,39,.35)}
.page-v3 .pill--todo{color:#5B6570;background:rgba(12,26,30,.04);border-color:#DADDE2}
.page-v3 .checklist{counter-reset:ck;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding:0;list-style:none;margin-top:20px}
.page-v3 .checklist li{counter-increment:ck;position:relative;padding-left:34px;font-size:.95rem;line-height:1.65;color:var(--ink-2)}
.page-v3 .checklist li::before{content:counter(ck,decimal-leading-zero);position:absolute;left:0;top:.1em;font-family:var(--font-mono);font-size:.7rem;color:var(--accent-deep)}
@media(max-width:760px){.page-v3 .checklist{grid-template-columns:1fr}}

/* form submitting state */
.page-v3 .form.is-sending button{opacity:.6;pointer-events:none}
.page-v3 .form.is-sending .form__note::after{content:" Sending…"}

/* delivery control: three accountability columns */
.page-v3 .elements--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-v3 .element ul{margin:0;padding-left:1.05em;display:flex;flex-direction:column;gap:6px}
.page-v3 .element li{font-size:.88rem;line-height:1.6;color:var(--muted)}
@media(max-width:900px){.page-v3 .elements--3{grid-template-columns:1fr}}


/* ---------- Mobile optimization (390–700px) ---------- */
@media (max-width:700px){
  .page-v3 .masthead__meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
  .page-v3 .masthead__meta>div{min-width:0}
  .page-v3 .masthead__meta>div:nth-child(3){grid-column:1/-1}
  .page-v3 .masthead__meta .v{font-size:.82rem;line-height:1.35}
  .page-v3 .masthead__meta .k{font-size:.56rem}
  .page-v3 .btn{min-height:44px;padding-top:12px;padding-bottom:12px}
  .page-v3 .header__inner .lang{min-height:44px;display:inline-flex;align-items:center}
  .page-v3 .burger{width:44px;height:44px}
  .page-v3 .logo__img{height:40px}
  .page-v3 .footer a{display:inline-block;padding:9px 0}
  .page-v3 .chip{min-height:40px;display:inline-flex;align-items:center}
  .page-v3 .link-arrow{min-height:40px;display:inline-flex;align-items:center}
  .page-v3 .masthead__crumb a{display:inline-block;padding:6px 0}
}
