/* Editorial interior pages. Deliberately independent of retired route themes. */
.interior-page { background: var(--t-paper,#f6f5f1); color: var(--t-ink,#232620); }
.interior-page *, .interior-page *::before, .interior-page *::after { box-sizing: border-box; }
.interior-page main { overflow: clip; }
.interior-page button, .interior-page input, .interior-page textarea, .interior-page select { font: inherit; }
.interior-page button, .interior-page a { -webkit-tap-highlight-color: transparent; }
.interior-page button { cursor: pointer; }
.interior-page [hidden] { display:none !important; }
.interior-page h1,.interior-page h2,.interior-page h3,.interior-page p { margin:0; }
.interior-page a { color: inherit; }
.interior-page .i-nav-contact { display:none; }
.i-skip { position:fixed; z-index:100; top:10px; left:20px; padding:12px 20px; background:var(--t-ink); color:var(--t-paper)!important; transform:translateY(-160%); }
.i-skip:focus { transform:translateY(0); }
.interior-page :focus-visible { outline:2px solid var(--t-ink); outline-offset:5px; }
.i-hero { padding-top:72px; padding-bottom:64px; }
.i-hero .t-eyebrow { margin-bottom:32px; }
.i-hero h1 { max-width:1180px; font-size:clamp(45px,6.4vw,88px); font-weight:650; line-height:1.2; letter-spacing:-.03em; text-wrap:balance; }
.i-hero-bottom { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:90px; margin-top:32px; align-items:end; }
.i-hero .i-lead { max-width:720px; font-size:clamp(17px,1.6vw,21px); line-height:1.9; color:var(--t-muted,#70736b); }
.i-side-note { font-size:13px; line-height:1.9; border-left:1px solid var(--t-line); padding-left:22px; color:var(--t-muted); }
.i-section { padding:82px 0 92px; border-top:1px solid var(--t-line,#d7d9cf); }
.i-section-head { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:end; margin-bottom:54px; }
.i-section-head .t-eyebrow { margin-bottom:22px; }
.i-section-head h2,.i-callout h2 { font-size:clamp(29px,3.8vw,49px); font-weight:600; letter-spacing:-.03em; line-height:1.35; text-wrap:balance; }
.i-section-head > p { color:var(--t-muted); line-height:1.9; font-size:16px; max-width:520px; }
.i-rows { border-top:1px solid var(--t-line); }
.i-row { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1fr); gap:34px; border-bottom:1px solid var(--t-line); padding:42px 0; }
.i-number { font-size:12px; font-family:var(--t-display,var(--t-font)); font-weight:500; color:var(--t-muted); padding-top:7px; letter-spacing:.04em; }
.i-row h3 { font-size:clamp(23px,2.4vw,32px); line-height:1.4; font-weight:550; letter-spacing:-.04em; }
.i-row[id],.i-row h3[id] { scroll-margin-top:40px; }
.i-row p { font-size:16px; line-height:1.95; color:var(--t-muted); max-width:680px; }
.i-row .t-link { display:inline-block; margin-top:24px; font-size:13px; }
.i-chips { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:21px; }
.i-chips span { font-size:12px; line-height:1.6; color:var(--t-ink); padding-left:12px; position:relative; }
.i-chips span::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--t-ink); position:absolute; left:0; top:.6em; }
.i-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:54px; }
.i-columns article { padding-top:24px; border-top:1px solid var(--t-line); }
.i-columns h3 { margin:0 0 18px; font-size:25px; font-weight:550; letter-spacing:-.04em; }
.i-columns p { font-size:16px; line-height:1.95; color:var(--t-muted); }
.i-note-band { display:flex; gap:50px; align-items:center; justify-content:space-between; padding-top:35px; padding-bottom:35px; border-top:1px solid var(--t-line); border-bottom:1px solid var(--t-line); }
.i-note-band p { max-width:890px; font-size:13px; color:var(--t-muted); line-height:1.9; }
.i-note-band .t-link { white-space:nowrap; font-size:13px; }
.i-callout { padding-top:90px; padding-bottom:100px; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.i-callout p { margin-top:20px; max-width:650px; line-height:1.9; color:var(--t-muted); font-size:16px; }
.i-callout .t-btn { flex-shrink:0; }
.i-about-story { margin-left:calc(50% + 18px); max-width:670px; }
.i-about-story p { font-size:17px; line-height:2; margin-bottom:24px; color:var(--t-muted); }
.i-project-links { border-top:1px solid var(--t-line); }
.i-project-links a { display:grid; grid-template-columns:1fr 1fr 40px; align-items:center; gap:30px; padding:32px 0; border-bottom:1px solid var(--t-line); text-decoration:none;  }
.i-project-links a > * { transition:transform .2s ease; }
.i-project-links a:hover > :not(b) { transform:translateX(8px); }
.i-project-links span { font-family:var(--t-display,var(--t-font)); font-size:clamp(27px,3.5vw,48px); line-height:1.3; letter-spacing:-.04em; font-weight:550; }
.i-project-links small { color:var(--t-muted); font-size:14px; }
.i-project-links b { font-size:27px; font-weight:400; justify-self:end; }
.i-industry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:64px; }
.i-industry { display:flex; flex-direction:column; padding:32px 0 28px; border-top:1px solid var(--t-line); text-decoration:none; }
.i-industry > div { display:flex; justify-content:space-between; align-items:center; }
.i-industry .i-number { padding:0; }
.i-status-tag { padding:5px 10px; border:1px solid var(--t-line); font-size:12px; border-radius:20px; }
.i-industry h3 { margin-top:25px; font-size:27px; font-weight:550; letter-spacing:-.04em; }
.i-industry p { margin-top:14px; font-size:16px; line-height:1.8; color:var(--t-muted); max-width:470px; }
.i-industry-next { margin-top:auto; padding-top:29px; display:flex; align-items:center; justify-content:space-between; font-size:12px; }
.i-industry-next b { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; font-size:20px; font-weight:400; transition:background .2s,transform .2s; }
.i-industry:hover .i-industry-next b { background:var(--t-accent); transform:translate(2px,-2px); }
.i-deliverable { margin-top:20px!important; font-size:12px!important; color:var(--t-ink)!important; }
.i-engagement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--t-line); }
.i-engagement { padding:30px 34px 26px; display:flex; flex-direction:column; border-right:1px solid var(--t-line); }
.i-engagement:first-child { padding-left:0; }
.i-engagement:last-child { padding-right:0; border:0; }
.i-engagement h3 { font-size:30px; font-weight:550; margin:0 0 20px; letter-spacing:-.04em; }
.i-engagement p { font-size:16px; line-height:1.9; color:var(--t-muted); }
.i-engagement ul { padding:0; list-style:none; margin:30px 0 42px; font-size:13px; line-height:1.9; }
.i-engagement li { padding:12px 0; border-bottom:1px solid var(--t-line); }
.i-engagement .t-link { margin-top:auto; align-self:flex-start; font-size:13px; }
.i-contact-layout { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:96px; padding-top:20px; padding-bottom:110px; }
.i-contact-layout h2 { font-size:37px; font-weight:550; letter-spacing:-.03em; margin:22px 0 20px; line-height:1.4; }
.i-contact-layout p { font-size:16px; color:var(--t-muted); line-height:1.9; }
.i-contact-direct { align-self:start; border-top:1px solid var(--t-line); padding-top:32px; scroll-margin-top:120px; }
.i-contact-brief { border-top:1px solid var(--t-line); padding-top:32px; }
.i-wechat { display:grid; grid-template-columns:148px minmax(0,1fr); align-items:center; gap:27px; margin:32px 0 21px; }
.i-wechat img { display:block; width:148px; height:148px; object-fit:contain; background:#fff; padding:8px; }
.i-wechat label { font-size:12px; color:var(--t-muted); }
.i-wechat input { border:0; background:transparent; padding:7px 0 16px; width:100%; font-size:clamp(18px,1.8vw,25px); font-family:var(--t-display,var(--t-font)); font-weight:650; letter-spacing:-.035em; color:var(--t-ink); }
.i-wechat .t-btn { padding:12px 20px; font-size:12px; }
.i-contact-layout .i-small { font-size:12px; line-height:1.9; }
.i-status { min-height:24px; padding-top:12px; font-size:12px!important; color:var(--t-ink)!important; overflow-wrap:anywhere; }
.i-contact-note { padding:27px 0; border-top:1px solid var(--t-line); margin-top:24px; }
.i-contact-note h3 { font-size:15px; font-weight:600; margin-bottom:14px; }
.i-contact-note .i-small { margin-top:17px; }
.i-contact-direct > .t-link { font-size:12px; display:inline-block; margin-top:10px; }
.i-form { margin-top:32px; }
.i-form label, .i-brief-result label { display:block; font-size:14px; font-weight:500; line-height:1.8; margin-bottom:25px; }
.i-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.i-required { float:right; font-size:12px; color:var(--t-muted); font-weight:400; }
.i-form input,.i-form textarea,.i-form select,.i-brief-result textarea,.i-lab select,.i-lab textarea { display:block; margin-top:10px; border:0; border-bottom:1px solid #b9bdb1; padding:13px 0; width:100%; background:transparent; color:var(--t-ink); border-radius:0; font-size:14px; line-height:1.8; }
.i-form input::placeholder,.i-form textarea::placeholder { color:#62685b; font-weight:400; }
.i-form textarea { min-height:135px; resize:vertical; }
.i-form select { padding-right:24px; cursor:pointer; }
.i-form [aria-invalid="true"] { border-bottom-color:#a64432; }
.i-form-actions { display:flex; align-items:flex-start; flex-direction:column; gap:15px; margin-top:36px; }
.i-form-actions > span { font-size:12px; line-height:1.7; color:var(--t-muted); }
.i-brief-result { border-top:1px solid var(--t-line); margin-top:44px; padding-top:30px; }
.i-brief-result h3 { font-size:25px; font-weight:600; margin-bottom:12px; }
.i-brief-result label { margin-top:24px; margin-bottom:10px; }
.i-brief-result textarea { border:1px solid var(--t-line); padding:18px; min-height:350px; resize:vertical; background:#fbfcf7; font-size:13px; margin-bottom:24px; }
.i-result-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.i-result-actions .t-link { font-size:12px; }
.i-lab { border:1px solid var(--t-line); }
.i-lab-bar { display:flex; align-items:center; justify-content:space-between; padding:18px 28px; border-bottom:1px solid var(--t-line); font-size:12px; }
.i-lab-bar > span:first-child { display:flex; align-items:center; gap:10px; }
.i-lab-bar i { width:8px; height:8px; border-radius:50%; background:var(--t-ink); box-shadow:0 0 0 4px var(--t-accent); }
.i-lab-bar > span:last-child { color:var(--t-muted); }
.i-lab-body { display:grid; grid-template-columns:1fr 1fr; }
.i-lab-input, .i-lab-output { padding:40px; min-width:0; }
.i-lab-input { border-right:1px solid var(--t-line); }
.i-lab label { font-size:12px; display:block; font-weight:500; }
.i-lab select { margin-bottom:36px; }
.i-lab textarea { min-height:160px; resize:vertical; margin-bottom:28px; }
.i-lab-output { background:#edefe6; }
.i-lab-output pre { white-space:pre-wrap; word-break:break-word; font:14px/2 var(--t-font); margin:32px 0; min-height:230px; }
.i-lab-output p { font-size:12px; line-height:1.8; color:var(--t-muted); border-top:1px solid var(--t-line); padding-top:22px; }
.i-faq { max-width:960px; margin-left:auto; }
.i-faq details { border-top:1px solid var(--t-line); }
.i-faq details:last-child { border-bottom:1px solid var(--t-line); }
.i-faq summary { cursor:pointer; list-style:none; display:flex; gap:25px; align-items:center; justify-content:space-between; font-size:19px; line-height:1.5; font-weight:500; padding:27px 0; }
.i-faq summary::-webkit-details-marker { display:none; }
.i-faq summary span { flex-shrink:0; font-size:24px; font-weight:400; transition:transform .2s; }
.i-faq details[open] summary span { transform:rotate(45deg); }
.i-faq p { margin-bottom:28px; max-width:810px; font-size:16px; line-height:2; color:var(--t-muted); }
.i-footer-links { display:flex; gap:15px 25px; flex-wrap:wrap; justify-content:center; }
.i-footer-links a { font-size:12px; }
.i-notfound { padding-top:90px; padding-bottom:110px; }
.i-404 { font:600 clamp(140px,22vw,320px)/1 var(--t-display,var(--t-font)); letter-spacing:-.04em; margin:25px 0!important; }
.i-notfound h1 { font-size:clamp(27px,4vw,52px); font-weight:550; margin-bottom:20px; letter-spacing:-.04em; }
.i-notfound > p:not(.i-404):not(.t-eyebrow) { font-size:16px; line-height:1.8; color:var(--t-muted); }
.i-notfound-links { display:flex; gap:30px; align-items:center; margin-top:35px; }
@media (max-width:1100px) {
  .i-contact-layout { gap:50px; }
  .i-wechat { grid-template-columns:120px minmax(0,1fr); gap:20px; }
  .i-wechat img { width:120px; height:120px; }
  .i-hero-bottom { gap:45px; }
  .i-row { grid-template-columns:minmax(210px,.8fr) minmax(0,1fr); gap:25px; }
  .i-columns { gap:30px; }
  .i-engagement { padding-left:24px; padding-right:24px; }
}
@media (max-width:760px) {
  .interior-page .t-nav-inner { position:relative; }
  .interior-page .t-links[data-site-nav] { display:none; }
  .interior-page .t-contact { margin-left:auto; }
  .interior-page .t-menu { display:inline-flex; align-items:center; justify-content:center; background:none; border:1px solid var(--t-line); width:44px; height:44px; border-radius:50%; color:var(--t-ink); font-size:12px; }
  .interior-page .i-nav-contact { display:block; }
  .interior-page .t-links[data-site-nav][data-open="true"] { display:flex; flex-direction:column; align-items:stretch; position:absolute; top:calc(100% + 1px); left:0; right:0; padding:16px 20px; background:var(--t-paper); border-bottom:1px solid var(--t-line); z-index:30; gap:0; }
  .interior-page .t-links[data-open="true"] a { padding:15px 0; }
  .i-hero { padding-top:42px; padding-bottom:40px; }
  .i-hero .t-eyebrow { margin-bottom:26px; }
  .i-hero h1 { font-size:clamp(35px,8.8vw,61px); line-height:1.25; letter-spacing:-.03em; }
  .i-hero-bottom { grid-template-columns:1fr; gap:25px; margin-top:29px; }
  .i-hero .i-lead { font-size:16px; line-height:1.95; }
  .i-side-note { font-size:12px; padding-left:14px; }
  .i-section { padding:50px 0 57px; }
  .i-section-head { grid-template-columns:1fr; gap:20px; margin-bottom:32px; }
  .i-section-head .t-eyebrow { margin-bottom:17px; }
  .i-section-head h2,.i-callout h2 { font-size:30px; }
  .i-section-head > p { font-size:16px; }
  .i-row { grid-template-columns:1fr; gap:16px; padding:27px 0 32px; }
  .i-row h3 { font-size:24px; }
  .i-row > div { grid-column:1; }
  .i-row p { font-size:16px; line-height:1.9; }
  .i-number { font-size:12px; }
  .i-chips { gap:6px 13px; margin-top:18px; }
  .i-chips span { font-size:12px; }
  .i-columns { grid-template-columns:1fr; gap:25px; }
  .i-columns article { display:block; padding-top:24px; }
  .i-columns h3 { font-size:23px; margin:0 0 16px; }
  .i-columns p { font-size:16px; }
  .i-note-band { flex-direction:column; align-items:flex-start; gap:20px; padding-top:26px; padding-bottom:26px; }
  .i-note-band p { font-size:12px; }
  .i-callout { padding-top:55px; padding-bottom:65px; flex-direction:column; align-items:flex-start; gap:28px; }
  .i-callout p { font-size:16px; margin-top:18px; }
  .i-about-story { margin-left:0; }
  .i-about-story p { font-size:16px; margin-bottom:20px; }
  .i-project-links a { grid-template-columns:1fr 26px; gap:11px; padding:25px 0; }
  .i-project-links small { grid-column:1; font-size:12px; }
  .i-project-links b { grid-column:2; grid-row:1/3; }
  .i-industry-grid { grid-template-columns:1fr; }
  .i-industry h3 { font-size:25px; }
  .i-industry p { font-size:16px; }
  .i-engagement-grid { grid-template-columns:1fr; }
  .i-engagement,.i-engagement:first-child,.i-engagement:last-child { padding:25px 0 35px; border:0; border-bottom:1px solid var(--t-line); }
  .i-engagement h3 { font-size:27px; margin:0 0 15px; }
  .i-engagement p { font-size:16px; }
  .i-engagement ul { margin:20px 0 26px; }
  .i-contact-layout { grid-template-columns:1fr; gap:55px; padding-top:0; padding-bottom:65px; }
  .i-contact-layout h2 { font-size:31px; margin-top:18px; }
  .i-contact-layout p { font-size:16px; }
  .i-wechat { grid-template-columns:130px minmax(0,1fr); gap:23px; max-width:410px; }
  .i-wechat img { width:130px; height:130px; }
  .i-wechat input { font-size:22px; }
  .i-form-grid { grid-template-columns:1fr; gap:0; }
  .i-form label { margin-bottom:25px; }
  .i-form input,.i-form textarea,.i-form select { font-size:16px; }
  .i-lab-bar { padding:17px 20px; }
  .i-lab-body { grid-template-columns:1fr; }
  .i-lab-input,.i-lab-output { padding:25px 20px; }
  .i-lab-input { border:0; border-bottom:1px solid var(--t-line); }
  .i-lab select,.i-lab textarea { font-size:16px; }
  .i-lab-output pre { font-size:13px; min-height:170px; margin-top:26px; }
  .i-faq summary { font-size:17px; padding:23px 0; }
  .i-faq p { font-size:16px; }
  .i-footer-links { justify-content:flex-start; gap:12px 20px; }
  .i-notfound { padding-top:55px; padding-bottom:65px; }
  .i-notfound > p:not(.i-404):not(.t-eyebrow) { font-size:16px; }
  .i-notfound-links { gap:24px; }
}
@media (max-width:600px) { .interior-page .t-menu { margin-left:auto; } }
@media (max-width:380px) {
  .i-wechat { grid-template-columns:105px minmax(0,1fr); gap:17px; }
  .i-wechat img { width:105px; height:105px; }
  .i-wechat input { font-size:20px; }
  .i-wechat .t-btn { padding:10px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  .interior-page *, .interior-page *::before,.interior-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Taste + Impeccable refinement: read the content, then take the next step. */
.interior-page .t-btn { min-height:48px; }
.interior-page .t-link { display:inline-flex; align-items:center; min-height:44px; }
.interior-page input,.interior-page textarea { caret-color:var(--t-ink); }
.i-row:has(> .i-number) { grid-template-columns:48px minmax(220px,.8fr) minmax(0,1fr); }
.i-footer-links a { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
.i-footer-compact { padding-top:0; }
.i-footer-compact .t-footer-bottom { border-top:0; }
.i-contact-hero { padding-top:52px; padding-bottom:36px; }
.i-contact-hero h1 { font-size:clamp(36px,4.6vw,64px); line-height:1.25; }
.i-contact-hero .i-lead { margin-top:20px; max-width:650px; font-size:18px; }
.i-brief-jump { margin-top:12px; font-size:14px; }
.i-contact-layout { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:88px; padding-top:0; }
.i-contact-direct,.i-contact-brief { padding-top:24px; scroll-margin-top:30px; }
.i-contact-layout h2 { margin:0 0 16px; font-size:28px; letter-spacing:-.03em; }
.i-contact-layout .i-small { font-size:12px; line-height:1.8; }
.i-wechat { grid-template-columns:minmax(0,1fr) 132px; gap:28px; margin:24px 0 16px; max-width:460px; }
.i-wechat img { width:132px; height:132px; }
.i-wechat label { font-size:12px; }
.i-wechat input { font-size:clamp(24px,2vw,30px); padding:4px 0 14px; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.i-wechat .t-btn { padding:12px 24px; font-size:14px; }
.i-status:empty { min-height:0; padding-top:0; }
.i-contact-note { margin-top:24px; padding:0; border-bottom:1px solid var(--t-line); }
.i-contact-note summary { font-size:14px; cursor:pointer; padding:17px 0; min-height:54px; }
.i-contact-note p { padding:0 0 16px; font-size:15px; }
.i-contact-note .t-link { margin-bottom:12px; font-size:13px; }
.i-contact-privacy { margin-top:20px!important; max-width:420px; }
.i-form { margin-top:26px; }
.i-form input,.i-form textarea,.i-form select { font-size:16px; }
.i-form-actions > span { font-size:12px; }
.i-project-context { margin-top:24px; padding:16px 0; border-top:1px solid var(--t-line); border-bottom:1px solid var(--t-line); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.i-project-context p { font-size:14px; line-height:1.8; color:var(--t-muted); }
.i-project-context strong { font-weight:550; color:var(--t-ink); }
.i-project-context .t-link { flex-shrink:0; font-size:13px; }
@media (max-width:1100px) {
 .i-contact-layout { gap:48px; }
 .i-wechat { grid-template-columns:minmax(0,1fr) 112px; gap:20px; }
 .i-wechat img { width:112px; height:112px; }
}
@media (max-width:760px) {
 .i-row:has(> .i-number) { grid-template-columns:28px minmax(0,1fr); gap:14px; }
 .i-row:has(> .i-number) > div { grid-column:2; }
 .i-contact-hero { padding-top:36px; padding-bottom:24px; }
 .i-contact-hero .i-lead { margin-top:16px; font-size:16px; line-height:1.8; }
 .i-contact-layout { grid-template-columns:1fr; gap:38px; }
 .i-contact-layout h2 { font-size:25px; margin:0 0 14px; }
 .i-contact-direct,.i-contact-brief { padding-top:22px; }
 .i-wechat { grid-template-columns:minmax(0,1fr) 112px; gap:24px; margin-top:20px; }
 .i-wechat input { font-size:26px; }
 .i-wechat img { width:112px; height:112px; }
 .i-contact-note { margin-top:20px; }
 .i-contact-privacy { margin-top:16px!important; }
 .i-project-context { align-items:flex-start; flex-direction:column; gap:4px; }
}
@media (max-width:380px) {
 .i-wechat { grid-template-columns:minmax(0,1fr) 96px; gap:16px; }
 .i-wechat img { width:96px; height:96px; }
 .i-wechat input { font-size:23px; }
 .i-wechat .t-btn { padding:12px 20px; }
}
