:root {
  --ink:#0a0d12; --ink-soft:#14181f; --ink-mid:#1c2129;
  --bone:#f7f4ee; --paper:#fbfaf6;
  --brass:#b08540; --brass-soft:#c89a55; --brass-bright:#d9b074; --brass-dark:#8a6730;
  --line:#e6dfce; --line-soft:#efebde;
  --muted:#6b6558; --muted-light:rgba(247,244,238,0.72);
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
html[lang="zh-CN"] body { font-family:'Inter','Noto Serif SC',system-ui,sans-serif; }
body {
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--paper);
  line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:500; line-height:1.1; letter-spacing:-0.015em;
}
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3, html[lang="zh-CN"] h4 {
  font-family:'Noto Serif SC','Cormorant Garamond',serif;
  font-weight:600; letter-spacing:0;
}
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.container { max-width:1280px; margin:0 auto; padding:0 32px; }
.container-wide { max-width:1480px; margin:0 auto; padding:0 32px; }
.container-full { max-width:100%; padding:0 32px; }
@media (max-width:600px) { .container, .container-wide, .container-full { padding:0 20px; } }

.eyebrow {
  font-family:'Inter',sans-serif;
  font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.22em;
  color:var(--brass); margin-bottom:18px;
  display:inline-flex; align-items:center; gap:12px;
}
.eyebrow::before { content:''; width:28px; height:1px; background:var(--brass); }
.eyebrow.center { display:inline-flex; }
.eyebrow.center::before { content:''; display:inline-block; width:32px; height:1px; background:var(--brass); margin-right:12px; }
.eyebrow.center::after { content:''; display:inline-block; width:32px; height:1px; background:var(--brass); margin-left:12px; }
.eyebrow.light { color:var(--brass-bright); }
.eyebrow.light::before, .eyebrow.light::after { background:var(--brass-bright); }

.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 32px;
  font-family:'Inter',sans-serif;
  font-size:12.5px; font-weight:600;
  letter-spacing:0.13em; text-transform:uppercase;
  border:1px solid var(--brass); background:var(--brass); color:#fff;
  cursor:pointer; transition:all 0.3s ease; white-space:nowrap;
  border-radius:999px;
}
.btn:hover { background:var(--brass-bright); border-color:var(--brass-bright); transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--bone); border-color:rgba(247,244,238,0.4); }
.btn-ghost:hover { background:var(--bone); border-color:var(--bone); color:var(--ink); }
.btn-dark { background:var(--ink); border-color:var(--ink); color:var(--bone); }
.btn-dark:hover { background:var(--brass); border-color:var(--brass); color:#fff; }
.btn-outline { background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-outline:hover { background:var(--ink); color:var(--bone); }
.btn-onbrass { background:var(--ink); border-color:var(--ink); color:#fff; }
.btn-onbrass:hover { background:#000; border-color:#000; }

/* NAV */
nav.top {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(10,13,18,0.85);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(247,244,238,0.08);
  transition:all 0.3s ease;
}
.nav-inner {
  display:flex; align-items:center; gap:36px;
  padding:14px 28px; max-width:1480px; margin:0 auto;
}
.logo-wordmark { height:46px; width:auto; display:block; }
.nav-links { display:flex; gap:18px; align-items:center; flex-wrap:nowrap; }
.nav-links > a {
  font-size:12px; font-weight:500; color:var(--bone);
  letter-spacing:0.06em; transition:color 0.2s; position:relative;
  padding:8px 0; white-space:nowrap;
}
.nav-links > a:hover { color:var(--brass-bright); }
.nav-links > a::after {
  content:''; position:absolute; left:50%; bottom:0;
  width:0; height:1px; background:var(--brass-bright);
  transition:all 0.3s ease; transform:translateX(-50%);
}
.nav-links > a:hover::after { width:100%; }
.nav-links > a.active { color:var(--brass-bright); }
.nav-links > a.active::after { width:100%; }
.nav-right { display:flex; gap:12px; align-items:center; margin-left:auto; }
.nav-phone {
  font-size:13px; color:var(--bone); font-weight:500;
  display:flex; align-items:center; gap:8px;
  transition:color 0.2s;
}
.nav-phone:hover { color:var(--brass-bright); }
.nav-phone svg { width:14px; height:14px; color:var(--brass-bright); }
.nav-cta { font-size:11px !important; padding:10px 18px !important; letter-spacing:0.1em !important; }
.lang-toggle {
  display:flex; align-items:center; gap:6px;
  border:1px solid rgba(247,244,238,0.18);
  padding:6px 4px; border-radius:999px;
}
.lang-toggle button {
  background:none; border:none; color:rgba(247,244,238,0.5);
  font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.08em; cursor:pointer;
  padding:4px 10px; border-radius:999px;
  transition:all 0.2s;
}
.lang-toggle button.active { background:var(--brass); color:#fff; }
.lang-toggle button:hover:not(.active) { color:var(--bone); }
.nav-burger {
  display:none; cursor:pointer;
  background:transparent; border:none;
  width:44px; height:44px;
  align-items:center; justify-content:center;
  color:var(--bone); padding:0;
  transition:color 0.2s;
}
.nav-burger:hover { color:var(--brass-bright); }
.nav-burger svg { width:24px; height:24px; display:block; }
.nav-burger svg line { transition:transform 0.3s ease, opacity 0.2s ease; transform-origin:center; }
.nav-burger.open svg line:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.nav-burger.open svg line:nth-child(2) { opacity:0; }
.nav-burger.open svg line:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
@media (max-width:1180px) {
  .nav-inner { grid-template-columns:auto auto; gap:16px; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; background:var(--ink); padding:24px; gap:24px; border-bottom:1px solid rgba(247,244,238,0.08); }
  .nav-links.open { display:flex; }
  .nav-phone { display:none; }
  .nav-burger { display:flex; }
  .lang-toggle { padding:4px 2px; }
  .lang-toggle button { font-size:10px; padding:3px 8px; }
}

/* HERO (home) */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background-image:url('/assets/hero-overall.jpg');
  background-size:cover; background-position:center 40%;
  transform:scale(1.05);
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,13,18,0.78) 0%, rgba(10,13,18,0.45) 30%, rgba(10,13,18,0.5) 60%, rgba(10,13,18,0.92) 100%),
    linear-gradient(90deg, rgba(10,13,18,0.65) 0%, rgba(10,13,18,0.15) 65%, rgba(10,13,18,0) 100%);
}
.hero-content { position:relative; z-index:2; color:var(--bone); padding-top:160px; padding-bottom:120px; width:100%; }
.hero h1 { font-size:clamp(46px, 7.2vw, 100px); color:var(--bone); margin-bottom:28px; max-width:14ch; font-weight:500; }
.hero h1 em { color:var(--brass-bright); font-style:italic; font-weight:400; font-family:'Cormorant Garamond',serif; }
html[lang="zh-CN"] .hero h1 em { font-style:normal; color:var(--brass-bright); font-family:inherit; }
.hero p.lede { font-size:clamp(16px, 1.4vw, 19px); line-height:1.65; max-width:600px; margin-bottom:44px; color:var(--muted-light); font-weight:300; }
.hero-cta { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero-trust-row {
  position:absolute; bottom:36px; left:0; right:0; z-index:2;
  display:flex; justify-content:space-between; align-items:center;
  padding:0 32px; max-width:1280px; margin:0 auto;
  color:rgba(247,244,238,0.55); font-size:11px;
  text-transform:uppercase; letter-spacing:0.2em;
}
.hero-trust-row span { display:flex; align-items:center; gap:10px; }
.hero-trust-row .dot { width:4px; height:4px; background:var(--brass-bright); border-radius:50%; }
.hero-scroll {
  position:absolute; right:32px; bottom:36px; z-index:3;
  color:rgba(247,244,238,0.55);
  font-size:10px; text-transform:uppercase; letter-spacing:0.3em;
  writing-mode:vertical-rl; transform:rotate(180deg);
  display:flex; align-items:center; gap:12px;
}
.hero-scroll::after { content:''; width:1px; height:60px; background:linear-gradient(180deg, var(--brass-bright), transparent); }
@media (max-width:700px) {
  .hero-content { padding:130px 0 140px; }
  .hero-trust-row, .hero-scroll { display:none; }
}

/* PAGE HERO (subpages — shorter banner) */
.page-hero {
  position:relative; min-height:50vh;
  display:flex; align-items:flex-end;
  padding:140px 0 60px;
  color:var(--bone); background:var(--ink); overflow:hidden;
}
.page-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.page-hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,13,18,0.72) 0%, rgba(10,13,18,0.92) 100%);
}
.page-hero-content { position:relative; z-index:2; width:100%; }
.breadcrumb {
  font-size:11px; text-transform:uppercase; letter-spacing:0.22em;
  color:var(--brass-bright); margin-bottom:18px;
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.breadcrumb a { transition:color 0.2s; }
.breadcrumb a:hover { color:var(--bone); }
.breadcrumb .sep { opacity:0.5; }
.page-hero h1 {
  font-size:clamp(44px, 6vw, 80px); color:var(--bone);
  margin-bottom:24px; max-width:18ch;
}
.page-hero h1 em { color:var(--brass-bright); font-style:italic; }
html[lang="zh-CN"] .page-hero h1 em { font-style:normal; }
.page-hero p {
  font-size:clamp(15px, 1.3vw, 18px);
  color:rgba(247,244,238,0.78); max-width:640px;
  font-weight:300; line-height:1.6;
}

/* TRUST + CREDENTIALS BAND */
.trust-band { background:var(--ink); color:var(--bone); padding:60px 0 0; }
.trust-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:0; align-items:center; }
.trust-grid > div { text-align:center; padding:0 24px; border-right:1px solid rgba(247,244,238,0.08); }
.trust-grid > div:last-child { border-right:none; }
.trust-grid .num { font-family:'Cormorant Garamond',serif; font-size:60px; font-weight:500; color:var(--brass-bright); line-height:1; letter-spacing:-0.02em; }
html[lang="zh-CN"] .trust-grid .num { font-family:inherit; font-weight:600; }
.trust-grid .label { font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:rgba(247,244,238,0.6); margin-top:12px; }
.credentials {
  margin-top:56px; padding:36px 0;
  border-top:1px solid rgba(247,244,238,0.08);
  border-bottom:1px solid rgba(247,244,238,0.06);
}
.credentials-row {
  display:grid; grid-template-columns:repeat(6, 1fr);
  gap:24px; align-items:center;
}
.cred {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:6px;
}
.cred-icon {
  width:34px; height:34px; color:var(--brass-bright);
  margin-bottom:4px; opacity:0.85;
}
.cred-name {
  font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:rgba(247,244,238,0.7); font-weight:600; line-height:1.4;
}
@media (max-width:900px) {
  .trust-grid { grid-template-columns:repeat(2, 1fr); gap:36px 0; }
  .trust-grid > div { border-right:none; }
  .trust-grid > div:nth-child(odd) { border-right:1px solid rgba(247,244,238,0.08); }
  .trust-grid .num { font-size:44px; }
  .credentials-row { grid-template-columns:repeat(3, 1fr); gap:32px 16px; }
}
@media (max-width:500px) { .credentials-row { grid-template-columns:repeat(2, 1fr); } }

section.block { padding:130px 0; }
@media (max-width:700px) { section.block { padding:80px 0; } }
.section-head { max-width:760px; margin:0 auto 72px; text-align:center; }
.section-head h2 { font-size:clamp(38px, 5vw, 64px); margin-bottom:22px; }
.section-head h2 em { color:var(--brass); font-style:italic; }
html[lang="zh-CN"] .section-head h2 em { font-style:normal; }
.section-head p { color:var(--muted); font-size:17px; line-height:1.65; }
.section-head.dark h2 { color:var(--bone); }
.section-head.dark h2 em { color:var(--brass-bright); }
.section-head.dark p { color:rgba(247,244,238,0.72); }

/* HOME PORTFOLIO MOSAIC (12 tiles, magazine layout) */
.home-mosaic { background:var(--paper); padding:120px 0; }
.home-mosaic .section-head { margin-bottom:60px; }
.home-pf-grid {
  display:grid; grid-template-columns:repeat(12, 1fr);
  grid-auto-rows:180px; gap:12px;
}
.home-pf { position:relative; overflow:hidden; background:var(--ink); }
.home-pf img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s ease; }
.home-pf:hover img { transform:scale(1.04); }
.home-pf::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, transparent 40%, rgba(10,13,18,0.85) 100%);
  transition:all 0.4s ease;
}
.home-pf:hover::before { background:linear-gradient(180deg, rgba(10,13,18,0.3) 0%, rgba(10,13,18,0.92) 100%); }
.home-pf-meta { position:absolute; bottom:22px; left:24px; right:24px; z-index:2; color:var(--bone); }
.home-pf-type { font-size:10px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass-bright); font-weight:600; margin-bottom:6px; }
.home-pf-name { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:500; line-height:1.15; }
html[lang="zh-CN"] .home-pf-name { font-family:inherit; font-weight:500; font-size:20px; }
.home-pf-1 { grid-column:1 / span 7; grid-row:1 / span 2; }
.home-pf-2 { grid-column:8 / span 5; grid-row:1; }
.home-pf-3 { grid-column:8 / span 5; grid-row:2; }
.home-pf-4 { grid-column:1 / span 4; grid-row:3 / span 2; }
.home-pf-5 { grid-column:5 / span 4; grid-row:3 / span 2; }
.home-pf-6 { grid-column:9 / span 4; grid-row:3; }
.home-pf-7 { grid-column:9 / span 4; grid-row:4; }
.home-pf-8 { grid-column:1 / span 6; grid-row:5 / span 2; }
.home-pf-9 { grid-column:7 / span 6; grid-row:5; }
.home-pf-10 { grid-column:7 / span 6; grid-row:6; }
.home-pf-11 { grid-column:1 / span 6; grid-row:7 / span 2; }
.home-pf-12 { grid-column:7 / span 6; grid-row:7 / span 2; }
.home-pf-name.large { font-size:32px; }
@media (max-width:900px) {
  .home-pf-grid { grid-template-columns:repeat(2, 1fr); grid-auto-rows:200px; }
  .home-pf-1, .home-pf-2, .home-pf-3, .home-pf-4, .home-pf-5, .home-pf-6, .home-pf-7, .home-pf-8, .home-pf-9, .home-pf-10, .home-pf-11, .home-pf-12 { grid-column:span 2; grid-row:span 1; }
  .home-pf-1, .home-pf-4, .home-pf-8, .home-pf-11 { grid-row:span 2; }
}
.mosaic-cta {
  display:flex; justify-content:center; margin-top:60px;
}

/* SERVICES TEASER (home) */
.services-teaser { background:var(--bone); padding:120px 0; }
.teaser-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:900px) { .teaser-grid { grid-template-columns:1fr; } }
.teaser-card {
  background:var(--paper); padding:52px 36px;
  display:flex; flex-direction:column;
  transition:all 0.3s ease;
}
.teaser-card:hover { background:var(--ink); color:var(--bone); }
.teaser-card:hover h3 { color:var(--bone); }
.teaser-card:hover p { color:rgba(247,244,238,0.72); }
.teaser-card:hover .teaser-link { color:var(--brass-bright); gap:14px; }
.teaser-num {
  font-family:'Cormorant Garamond',serif;
  font-size:13px; font-style:italic;
  color:var(--brass); margin-bottom:24px;
}
.teaser-card h3 {
  font-size:32px; margin-bottom:14px; line-height:1.15;
  transition:color 0.3s;
}
.teaser-card p { color:var(--muted); font-size:15px; line-height:1.65; flex:1; transition:color 0.3s; margin-bottom:24px; }
.teaser-link {
  font-size:11px; text-transform:uppercase; letter-spacing:0.18em;
  color:var(--ink); font-weight:600;
  display:inline-flex; align-items:center; gap:10px;
  transition:all 0.2s;
}

/* ABOUT */
.about-section { background:var(--paper); padding:130px 0; position:relative; }
.about-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:80px; align-items:center; }
@media (max-width:900px) { .about-grid { grid-template-columns:1fr; gap:48px; } }
.about-img-frame { position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--bone); }
.about-img-frame img { width:100%; height:100%; object-fit:cover; object-position:center; }
.about-img-mark {
  position:absolute; bottom:24px; right:24px;
  width:64px; height:64px; background:var(--ink);
  padding:14px; border-radius:50%;
}
.about-content h2 { font-size:clamp(36px, 4.5vw, 56px); margin-bottom:24px; }
.about-content > p { color:var(--muted); margin-bottom:18px; font-size:16.5px; line-height:1.75; }
.about-stats {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:24px; margin-top:40px;
  padding-top:36px; border-top:1px solid var(--line);
}
.about-stats .num { font-family:'Cormorant Garamond',serif; font-size:42px; color:var(--brass); font-weight:500; line-height:1; }
html[lang="zh-CN"] .about-stats .num { font-family:inherit; font-weight:600; }
.about-stats .lbl { font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:var(--muted); margin-top:8px; }
.about-signature { display:flex; align-items:center; gap:16px; margin-top:36px; }
.about-signature img { width:44px; height:44px; }
.about-signature .sig-name { font-family:'Cormorant Garamond',serif; font-size:18px; font-style:italic; color:var(--ink); }
.about-signature .sig-title { font-size:11px; text-transform:uppercase; letter-spacing:0.18em; color:var(--muted); margin-top:2px; }

/* SERVICES */
.services-section { background:var(--bone); }
.services-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
@media (max-width:900px) { .services-grid { grid-template-columns:1fr; } }
.service-card { background:#fff; border:1px solid var(--line); overflow:hidden; transition:all 0.4s ease; display:flex; flex-direction:column; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 30px 60px -25px rgba(10,13,18,0.25); border-color:var(--brass); }
.service-img-wrap { width:100%; aspect-ratio:16/11; overflow:hidden; }
.service-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.service-card:hover .service-img-wrap img { transform:scale(1.05); }
.service-body { padding:36px 32px; flex:1; display:flex; flex-direction:column; }
.service-card h3 { font-size:30px; margin-bottom:14px; }
.service-card .service-body > p { color:var(--muted); margin-bottom:22px; font-size:15px; line-height:1.65; }
.service-investment {
  display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px;
  padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.service-investment > div { flex:1; min-width:90px; }
.service-investment dt { font-size:9.5px; text-transform:uppercase; letter-spacing:0.2em; color:var(--muted); margin-bottom:4px; font-weight:600; }
.service-investment dd { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:500; color:var(--ink); }
html[lang="zh-CN"] .service-investment dd { font-family:inherit; font-weight:600; font-size:16px; }
.service-card ul { list-style:none; padding:0; margin-top:auto; }
.service-card li { padding:12px 0; padding-left:24px; position:relative; font-size:14px; color:var(--ink); border-top:1px solid var(--line); }
.service-card li:first-child { border-top:none; }
.service-card li::before { content:''; position:absolute; left:0; top:19px; width:12px; height:1px; background:var(--brass); }

/* SPECIALTIES */
.specialties { background:var(--paper); padding:130px 0; }
.specialties-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:900px) { .specialties-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:500px) { .specialties-grid { grid-template-columns:1fr; } }
.spec-card { background:var(--paper); padding:42px 32px; transition:all 0.3s ease; cursor:default; display:flex; flex-direction:column; }
.spec-card:hover { background:var(--ink); color:var(--bone); }
.spec-card:hover .spec-icon { color:var(--brass-bright); }
.spec-card:hover h4 { color:var(--bone); }
.spec-card:hover p { color:rgba(247,244,238,0.7); }
.spec-card:hover .spec-tag { color:var(--brass-bright); }
.spec-icon { width:36px; height:36px; color:var(--brass); margin-bottom:24px; transition:color 0.3s; }
.spec-card h4 {
  font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:500;
  margin-bottom:10px; color:var(--ink); line-height:1.2;
}
html[lang="zh-CN"] .spec-card h4 { font-family:inherit; font-weight:600; font-size:22px; }
.spec-card p { font-size:14px; color:var(--muted); line-height:1.6; flex:1; }
.spec-tag { margin-top:18px; font-size:10px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass); font-weight:600; }

/* FEATURED */
.featured { background:var(--ink); color:var(--bone); overflow:hidden; position:relative; }
.featured-grid { display:grid; grid-template-columns:1.3fr 1fr; min-height:720px; align-items:stretch; }
@media (max-width:900px) { .featured-grid { grid-template-columns:1fr; min-height:auto; } }
.featured-img { position:relative; overflow:hidden; }
.featured-img img { width:100%; height:100%; object-fit:cover; min-height:480px; }
.featured-content { padding:100px 80px; display:flex; flex-direction:column; justify-content:center; }
@media (max-width:1100px) { .featured-content { padding:80px 40px; } }
@media (max-width:600px) { .featured-content { padding:64px 24px; } }
.featured-mark { width:48px; height:48px; margin-bottom:28px; opacity:0.9; }
.featured-content h3 { font-size:clamp(34px, 3.6vw, 48px); color:var(--bone); margin-bottom:24px; }
.featured-content h3 em { color:var(--brass-bright); font-style:italic; }
html[lang="zh-CN"] .featured-content h3 em { font-style:normal; }
.featured-content > p { color:var(--muted-light); margin-bottom:18px; font-size:16px; line-height:1.75; }
.featured-meta { display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; margin-top:36px; padding-top:32px; border-top:1px solid rgba(247,244,238,0.12); }
.featured-meta dt { font-size:10px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass-bright); margin-bottom:6px; }
.featured-meta dd { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--bone); margin-bottom:16px; }
html[lang="zh-CN"] .featured-meta dd { font-family:inherit; font-weight:500; font-size:18px; }

/* MID-PAGE CTA */
.midcta { background:var(--brass); color:#fff; padding:72px 0; position:relative; overflow:hidden; }
.midcta::before {
  content:''; position:absolute; right:-100px; bottom:-100px;
  width:400px; height:400px; opacity:0.07;
  background:url('/assets/logo-square.png') center/contain no-repeat;
  filter:brightness(0) invert(1);
}
.midcta-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:center; position:relative; z-index:1; }
@media (max-width:900px) { .midcta-grid { grid-template-columns:1fr; gap:36px; } }
.midcta-text .eyebrow { color:rgba(255,255,255,0.85); }
.midcta-text .eyebrow::before, .midcta-text .eyebrow::after { background:rgba(255,255,255,0.85); }
.midcta-text h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(32px, 4vw, 44px); font-weight:500; color:#fff; line-height:1.15; margin-bottom:14px; }
html[lang="zh-CN"] .midcta-text h3 { font-family:inherit; font-weight:600; }
.midcta-text h3 em { font-style:italic; color:#fff; opacity:0.85; }
html[lang="zh-CN"] .midcta-text h3 em { font-style:normal; }
.midcta-text p { color:rgba(255,255,255,0.85); font-size:15.5px; line-height:1.65; }
.quickform { display:grid; grid-template-columns:1fr 1fr; gap:12px; background:rgba(0,0,0,0.12); padding:24px; border:1px solid rgba(255,255,255,0.18); }
@media (max-width:600px) { .quickform { grid-template-columns:1fr; } }
.quickform input, .quickform select {
  width:100%; padding:14px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
  color:#fff; font-family:'Inter',sans-serif; font-size:14px;
  transition:all 0.2s; border-radius:0;
}
.quickform input:focus, .quickform select:focus { outline:none; border-color:#fff; background:rgba(255,255,255,0.12); }
.quickform input::placeholder { color:rgba(255,255,255,0.6); }
.quickform select { color:rgba(255,255,255,0.6); }
.quickform select.filled { color:#fff; }
.quickform select option { background:var(--brass-dark); color:#fff; }
.quickform button { grid-column:1/-1; padding:16px 24px; }

/* STAMP */
.stamp {
  background:var(--ink); color:var(--bone);
  padding:96px 0; text-align:center;
  border-top:1px solid rgba(247,244,238,0.06);
  border-bottom:1px solid rgba(247,244,238,0.06);
  position:relative; overflow:hidden;
}
.stamp-logo { width:92px; height:92px; margin:0 auto 32px; opacity:0.95; }
.stamp h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(26px, 3vw, 38px); font-weight:400; font-style:italic; color:var(--bone); max-width:760px; margin:0 auto; line-height:1.35; }
html[lang="zh-CN"] .stamp h3 { font-family:inherit; font-style:normal; font-weight:500; }
.stamp .by { font-size:11px; text-transform:uppercase; letter-spacing:0.3em; color:var(--brass-bright); margin-top:26px; display:block; }

/* PORTFOLIO (full page) */
.portfolio { background:var(--paper); padding:130px 0; }
.portfolio-grid { display:grid; grid-template-columns:repeat(6, 1fr); grid-auto-rows:280px; gap:16px; }
.pf-item { position:relative; overflow:hidden; cursor:default; background:var(--ink); }
.pf-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s ease; }
.pf-item:hover img { transform:scale(1.04); }
.pf-item::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, transparent 40%, rgba(10,13,18,0.85) 100%); transition:all 0.4s ease; }
.pf-item:hover::before { background:linear-gradient(180deg, rgba(10,13,18,0.3) 0%, rgba(10,13,18,0.92) 100%); }
.pf-meta { position:absolute; bottom:24px; left:26px; right:26px; z-index:2; color:var(--bone); }
.pf-type { font-size:10px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass-bright); font-weight:600; margin-bottom:6px; }
.pf-name { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:500; line-height:1.15; }
html[lang="zh-CN"] .pf-name { font-family:inherit; font-weight:500; font-size:22px; }
.pf-1 { grid-column:span 4; grid-row:span 2; }
.pf-2 { grid-column:span 2; grid-row:span 1; }
.pf-3 { grid-column:span 2; grid-row:span 1; }
.pf-4 { grid-column:span 2; grid-row:span 1; }
.pf-5 { grid-column:span 2; grid-row:span 1; }
.pf-6 { grid-column:span 2; grid-row:span 1; }
.pf-7 { grid-column:span 3; grid-row:span 2; }
.pf-8 { grid-column:span 3; grid-row:span 2; }
@media (max-width:900px) {
  .portfolio-grid { grid-template-columns:repeat(2, 1fr); grid-auto-rows:240px; }
  .pf-1, .pf-2, .pf-3, .pf-4, .pf-5, .pf-6, .pf-7, .pf-8 { grid-column:span 2; grid-row:span 1; }
  .pf-1, .pf-7 { grid-row:span 2; }
}

/* CLIENTS */
.clients { background:var(--bone); padding:80px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.clients-head { text-align:center; margin-bottom:40px; }
.clients-head .eyebrow { color:var(--muted); }
.clients-head .eyebrow::before, .clients-head .eyebrow::after { background:var(--muted); }
.clients-row { display:grid; grid-template-columns:repeat(7, 1fr); gap:24px; align-items:center; }
.clients-row .c-name { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--ink); text-align:center; opacity:0.7; transition:opacity 0.2s; }
html[lang="zh-CN"] .clients-row .c-name { font-family:inherit; font-style:normal; font-size:18px; font-weight:500; }
.clients-row .c-name:hover { opacity:1; }
@media (max-width:900px) { .clients-row { grid-template-columns:repeat(3, 1fr); gap:28px; } }
@media (max-width:500px) { .clients-row { grid-template-columns:repeat(2, 1fr); } }

/* TESTIMONIALS — DARK */
.testi { background:var(--ink); color:var(--bone); position:relative; overflow:hidden; }
.testi-watermark { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:780px; height:780px; opacity:0.025; pointer-events:none; }
.testi-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; position:relative; z-index:1; }
@media (max-width:900px) { .testi-grid { grid-template-columns:1fr; } }
.testi-card { background:rgba(247,244,238,0.04); border:1px solid rgba(247,244,238,0.12); padding:42px 36px; position:relative; transition:all 0.3s ease; }
.testi-card:hover { border-color:var(--brass); background:rgba(247,244,238,0.06); transform:translateY(-4px); }
.testi-mark { position:absolute; top:28px; right:32px; width:34px; height:34px; opacity:0.18; }
.testi-stars { color:var(--brass-bright); font-size:14px; letter-spacing:4px; margin-bottom:18px; }
.testi-quote { font-family:'Cormorant Garamond',serif; font-size:21px; font-style:italic; line-height:1.55; color:var(--bone); margin-bottom:28px; }
html[lang="zh-CN"] .testi-quote { font-family:inherit; font-style:normal; font-weight:500; font-size:18px; }
.testi-author { display:flex; align-items:center; gap:14px; padding-top:20px; border-top:1px solid rgba(247,244,238,0.1); }
.testi-author-avatar {
  width:44px; height:44px; border-radius:50%;
  background:var(--brass); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:600;
  flex-shrink:0;
}
.testi-name { font-size:14px; font-weight:600; color:var(--bone); }
.testi-role { font-size:12px; color:rgba(247,244,238,0.6); margin-top:2px; }

/* PROCESS */
.process { background:var(--ink-soft); color:var(--bone); position:relative; overflow:hidden; }
.process-watermark { position:absolute; right:-100px; top:50%; transform:translateY(-50%); width:640px; height:640px; opacity:0.04; pointer-events:none; }
.process-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; position:relative; z-index:1; }
@media (max-width:900px) { .process-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:500px) { .process-grid { grid-template-columns:1fr; } }
.step { border-top:2px solid var(--brass); padding-top:32px; }
.step-num { font-family:'Cormorant Garamond',serif; font-size:13px; color:var(--brass-bright); letter-spacing:0.25em; font-weight:500; margin-bottom:4px; }
html[lang="zh-CN"] .step-num { font-family:inherit; }
.step h3 { font-size:28px; margin:8px 0 14px; color:var(--bone); }
.step p { color:var(--muted-light); font-size:14.5px; line-height:1.65; }
.step-meta { font-size:11px; color:var(--brass-bright); text-transform:uppercase; letter-spacing:0.18em; margin-top:16px; padding-top:16px; border-top:1px solid rgba(247,244,238,0.08); }

/* WHY US */
.why { background:var(--paper); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
@media (max-width:900px) { .why-grid { grid-template-columns:1fr; gap:48px; } }
.why-img-wrap { position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--bone); }
.why-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.why-img-overlay { position:absolute; bottom:0; left:0; background:var(--ink); color:var(--bone); padding:24px 28px; max-width:80%; }
.why-img-overlay .num { font-family:'Cormorant Garamond',serif; font-size:56px; color:var(--brass-bright); line-height:1; }
html[lang="zh-CN"] .why-img-overlay .num { font-family:inherit; font-weight:600; font-size:44px; }
.why-img-overlay .lbl { font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:rgba(247,244,238,0.7); margin-top:6px; }
.why-content h2 { font-size:clamp(32px, 4.5vw, 52px); margin-bottom:24px; }
.why-content > p { color:var(--muted); margin-bottom:18px; font-size:16px; line-height:1.7; }
.why-list { list-style:none; margin-top:32px; }
.why-list li { display:flex; align-items:flex-start; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.why-list li:last-child { border-bottom:none; }
.why-list .icon { flex-shrink:0; width:24px; height:24px; color:var(--brass); margin-top:2px; }
.why-list strong { display:block; font-size:16px; margin-bottom:4px; font-weight:600; }
.why-list span { font-size:14px; color:var(--muted); }

/* THE STUDIO / FOUNDER LETTER */
.studio { background:var(--ink); color:var(--bone); position:relative; overflow:hidden; padding:130px 0; }
.studio-watermark { position:absolute; left:-150px; top:-150px; width:520px; height:520px; opacity:0.04; pointer-events:none; }
.studio-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:center; position:relative; z-index:1; }
@media (max-width:900px) { .studio-grid { grid-template-columns:1fr; gap:48px; } }
.studio-img-wrap { aspect-ratio:4/5; overflow:hidden; position:relative; background:var(--ink-soft); }
.studio-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; }
.studio-img-frame { position:absolute; inset:18px; border:1px solid rgba(247,244,238,0.18); pointer-events:none; }
.studio-letter { padding-right:20px; }
.studio-letter .eyebrow { color:var(--brass-bright); }
.studio-letter .eyebrow::before { background:var(--brass-bright); }
.studio-letter h2 { font-size:clamp(34px, 4.5vw, 56px); color:var(--bone); margin-bottom:30px; font-weight:500; }
.studio-letter h2 em { color:var(--brass-bright); font-style:italic; }
html[lang="zh-CN"] .studio-letter h2 em { font-style:normal; }
.studio-letter p { color:rgba(247,244,238,0.78); font-size:16.5px; line-height:1.8; margin-bottom:20px; font-weight:300; }
.studio-letter p em { color:var(--bone); font-style:italic; }
.studio-sign-off { margin-top:36px; padding-top:30px; border-top:1px solid rgba(247,244,238,0.12); display:flex; align-items:center; gap:18px; }
.studio-sign-off img { width:48px; height:48px; opacity:0.85; }
.studio-sign-off .sig { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--bone); line-height:1.2; }
html[lang="zh-CN"] .studio-sign-off .sig { font-family:inherit; font-style:normal; font-weight:500; font-size:18px; }
.studio-sign-off .role { font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:rgba(247,244,238,0.6); margin-top:4px; }

/* CASE STUDIES */
.cases { background:var(--bone); }
.cases-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
@media (max-width:900px) { .cases-grid { grid-template-columns:1fr; } }
.case { background:#fff; border:1px solid var(--line); overflow:hidden; transition:all 0.3s ease; display:flex; flex-direction:column; }
.case:hover { border-color:var(--brass); transform:translateY(-4px); box-shadow:0 18px 40px -20px rgba(10,13,18,0.18); }
.case-img-wrap { aspect-ratio:16/10; overflow:hidden; }
.case-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.case:hover .case-img-wrap img { transform:scale(1.05); }
.case-body { padding:32px 28px; display:flex; flex-direction:column; flex:1; }
.case-cat { font-size:10px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass); font-weight:600; margin-bottom:14px; }
.case h3 { font-size:24px; margin-bottom:12px; line-height:1.25; }
html[lang="zh-CN"] .case h3 { font-family:inherit; font-weight:600; font-size:22px; }
.case-meta-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; padding:16px 0; margin-bottom:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.case-meta-row dt { font-size:9.5px; text-transform:uppercase; letter-spacing:0.18em; color:var(--muted); margin-bottom:3px; font-weight:600; }
.case-meta-row dd { font-family:'Cormorant Garamond',serif; font-size:15px; color:var(--ink); }
html[lang="zh-CN"] .case-meta-row dd { font-family:inherit; font-weight:500; font-size:14px; }
.case p { color:var(--muted); font-size:14.5px; margin-bottom:24px; line-height:1.65; }
.case .read { margin-top:auto; font-size:12px; text-transform:uppercase; letter-spacing:0.18em; color:var(--ink); font-weight:600; display:inline-flex; align-items:center; gap:8px; transition:color 0.2s, gap 0.2s; }
.case:hover .read { color:var(--brass); gap:14px; }

/* FAQ */
.faq { background:var(--paper); }
.faq-list { max-width:880px; margin:0 auto; }
details.faq-item { border-bottom:1px solid var(--line); padding:28px 0; }
details.faq-item summary { cursor:pointer; list-style:none; font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:500; display:flex; justify-content:space-between; align-items:center; gap:24px; }
html[lang="zh-CN"] details.faq-item summary { font-family:inherit; font-weight:600; font-size:20px; }
details.faq-item summary::-webkit-details-marker { display:none; }
details.faq-item summary::after { content:'+'; font-family:'Inter',sans-serif; font-size:28px; font-weight:200; color:var(--brass); transition:transform 0.2s; flex-shrink:0; }
details.faq-item[open] summary::after { content:'−'; }
details.faq-item p { margin-top:16px; color:var(--muted); font-size:16px; line-height:1.75; }
details.faq-item a { color:var(--brass); text-decoration:underline; text-underline-offset:3px; }

/* CONTACT */
.contact { background:var(--ink); color:var(--bone); position:relative; overflow:hidden; }
.contact-watermark { position:absolute; left:-120px; bottom:-120px; width:500px; height:500px; opacity:0.05; pointer-events:none; }
.contact .container { position:relative; z-index:1; }
.contact-mark { width:64px; height:64px; margin:0 auto 28px; display:block; opacity:0.95; }
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:80px; }
@media (max-width:900px) { .contact-grid { grid-template-columns:1fr; gap:48px; } }
.contact-info h3 { font-size:11px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass-bright); font-family:'Inter',sans-serif; font-weight:600; margin-bottom:10px; }
.contact-info p, .contact-info a { font-size:17px; color:var(--bone); margin-bottom:32px; display:block; transition:color 0.2s; line-height:1.5; }
.contact-info a:hover { color:var(--brass-bright); }
.form { display:grid; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:600px) { .form-row { grid-template-columns:1fr; } }
.form input, .form select, .form textarea {
  width:100%; padding:18px;
  background:rgba(247,244,238,0.04); border:1px solid rgba(247,244,238,0.18);
  color:var(--bone); font-family:'Inter',sans-serif; font-size:15px;
  transition:all 0.2s; border-radius:0;
}
.form input:focus, .form select:focus, .form textarea:focus { outline:none; border-color:var(--brass); background:rgba(247,244,238,0.08); }
.form input::placeholder, .form textarea::placeholder { color:rgba(247,244,238,0.45); }
.form select { color:rgba(247,244,238,0.45); }
.form select.filled { color:var(--bone); }
.form select option { background:var(--ink); color:var(--bone); }
.form textarea { resize:vertical; min-height:130px; font-family:inherit; }
.form button { padding:20px 32px; }
.form-success { background:rgba(176,133,64,0.12); border:1px solid var(--brass); padding:32px; text-align:center; display:none; }
.form-success h3 { color:var(--brass-bright); font-size:26px; margin-bottom:10px; }
.form-success p { color:var(--muted-light); }
.form-success a { color:var(--brass-bright); text-decoration:underline; }

/* FOOTER */
footer { background:#06080b; color:rgba(247,244,238,0.55); padding:72px 0 32px; font-size:13px; }
.foot-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; padding-bottom:48px; border-bottom:1px solid rgba(247,244,238,0.08); }
@media (max-width:800px) { .foot-top { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:500px) { .foot-top { grid-template-columns:1fr; } }
.foot-brand .logo-wordmark { height:56px; margin-bottom:22px; }
.foot-brand p { max-width:380px; line-height:1.7; color:rgba(247,244,238,0.5); margin-bottom:22px; }
.foot-mark { width:36px; height:36px; opacity:0.6; }
footer h4 { font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:0.22em; color:var(--brass-bright); margin-bottom:18px; font-weight:600; }
footer a { color:rgba(247,244,238,0.65); display:block; padding:6px 0; transition:color 0.2s; }
footer a:hover { color:var(--brass-bright); }
.foot-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:rgba(247,244,238,0.4); font-size:12px; }

.mobile-call {
  display:none; position:fixed; bottom:16px; left:16px; right:16px; z-index:100;
  background:var(--brass); color:#fff;
  padding:16px; text-align:center; font-weight:600; font-size:14px;
  box-shadow:0 12px 40px rgba(10,13,18,0.45);
  letter-spacing:0.08em; text-transform:uppercase;
  align-items:center; justify-content:center; gap:10px;
  border-radius:999px;
}
@media (max-width:700px) {
  .mobile-call { display:flex; }
  body { padding-bottom:70px; }
}

.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal.in { opacity:1; transform:translateY(0); }

/* CTA Banner (subpages) */
.cta-banner { background:var(--ink); color:var(--bone); padding:96px 0; text-align:center; }
.cta-banner h2 { font-size:clamp(32px, 4.5vw, 56px); color:var(--bone); margin-bottom:18px; }
.cta-banner h2 em { color:var(--brass-bright); font-style:italic; }
html[lang="zh-CN"] .cta-banner h2 em { font-style:normal; }
.cta-banner p { color:var(--muted-light); max-width:600px; margin:0 auto 32px; font-size:17px; }
.cta-banner-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* =========================================================
   MOBILE OPTIMIZATION (≤700px and ≤480px)
   Tightens spacing, type, touch targets across all sections.
   ========================================================= */
@media (max-width:700px) {
  html { scroll-padding-top:72px; }
  .container, .container-wide, .container-full { padding:0 18px; }

  /* NAV */
  nav.top { background:rgba(10,13,18,0.95); }
  .nav-inner { padding:12px 18px; gap:12px; }
  .logo-wordmark { height:38px; }
  .nav-burger { width:42px; height:42px; }
  .nav-burger svg { width:22px; height:22px; }
  .lang-toggle { padding:5px 3px; }
  .lang-toggle button { font-size:11px; padding:5px 10px; }
  .nav-cta { font-size:10.5px !important; padding:9px 14px !important; letter-spacing:0.08em !important; }

  /* HERO */
  .hero { min-height:88vh; }
  .hero-content { padding-top:120px; padding-bottom:110px; }
  .hero h1 {
    font-size:clamp(30px, 8.4vw, 56px);
    max-width:100%; margin-bottom:18px; line-height:1.08;
  }
  .hero p.lede { font-size:14.5px; margin-bottom:28px; line-height:1.55; }
  .hero-cta { gap:10px; }
  .hero-cta .btn { padding:13px 24px; font-size:11px; }
  /* Hide the secondary "Call" button — the sticky bottom bar handles phone CTA */
  .hero-cta .btn-ghost { display:none; }
  .hero .eyebrow { font-size:10px; letter-spacing:0.18em; margin-bottom:14px; }

  /* PAGE HERO */
  .page-hero { min-height:auto; padding:120px 0 56px; }
  .page-hero h1 { font-size:clamp(32px, 8.5vw, 56px); max-width:100%; margin-bottom:16px; line-height:1.05; }
  .page-hero p { font-size:15px; line-height:1.55; }
  .breadcrumb { font-size:10px; letter-spacing:0.18em; margin-bottom:14px; }

  /* SECTION HEADS */
  section.block { padding:64px 0; }
  .home-mosaic { padding:64px 0; }
  .about-section, .specialties, .portfolio, .studio { padding:64px 0; }
  .clients { padding:48px 0; }
  .section-head { margin-bottom:40px; }
  .section-head h2 { font-size:clamp(28px, 7.5vw, 44px); margin-bottom:14px; line-height:1.1; }
  .section-head p { font-size:15px; line-height:1.6; }
  .eyebrow { font-size:10px; letter-spacing:0.18em; margin-bottom:14px; gap:8px; }
  .eyebrow::before, .eyebrow.center::before, .eyebrow.center::after { width:20px; }

  /* TRUST + CREDENTIALS */
  .trust-band { padding:40px 0 0; }
  .trust-grid > div { padding:0 8px; }
  .trust-grid .num { font-size:36px; }
  .trust-grid .label { font-size:9.5px; letter-spacing:0.16em; margin-top:8px; }
  .credentials { margin-top:32px; padding:24px 0; }
  .credentials-row { gap:24px 12px; }
  .cred-icon { width:28px; height:28px; }
  .cred-name { font-size:9.5px; letter-spacing:0.14em; }

  /* HOME MOSAIC — flatten on mobile */
  .home-pf-grid { grid-auto-rows:160px; gap:8px; }
  .home-pf-1, .home-pf-4, .home-pf-8, .home-pf-11 { grid-row:span 2; }
  .home-pf-name { font-size:18px; }
  .home-pf-name.large { font-size:20px; }
  .home-pf-meta { left:16px; right:16px; bottom:16px; }
  .home-pf-type { font-size:9px; letter-spacing:0.18em; margin-bottom:4px; }
  .mosaic-cta { margin-top:36px; }
  .mosaic-cta .btn { padding:13px 24px; }

  /* SERVICES */
  .services-section .services-grid, .services-grid { gap:20px; }
  .service-body { padding:28px 22px; }
  .service-card h3 { font-size:24px; }
  .service-card .service-body > p { font-size:14px; margin-bottom:18px; }
  .service-investment { gap:10px; padding:12px 0; margin-bottom:18px; }
  .service-investment dt { font-size:9px; }
  .service-investment dd { font-size:15px; }
  .service-card li { padding:10px 0 10px 20px; font-size:13px; }
  .service-card li::before { top:17px; }

  /* TEASER (home) */
  .services-teaser { padding:64px 0; }
  .teaser-card { padding:36px 24px; }
  .teaser-card h3 { font-size:26px; }
  .teaser-num { font-size:12px; margin-bottom:18px; }
  .teaser-card p { font-size:14px; margin-bottom:18px; }

  /* SPECIALTIES */
  .spec-card { padding:32px 22px; }
  .spec-card h4 { font-size:21px; }
  .spec-icon { width:30px; height:30px; margin-bottom:18px; }
  .spec-card p { font-size:13.5px; }
  .spec-tag { font-size:9.5px; margin-top:14px; }

  /* FEATURED */
  .featured-grid { min-height:auto; }
  .featured-img img { min-height:300px; max-height:360px; }
  .featured-content { padding:56px 22px; }
  .featured-mark { width:40px; height:40px; margin-bottom:20px; }
  .featured-content h3 { font-size:28px; margin-bottom:18px; }
  .featured-content > p { font-size:14.5px; margin-bottom:14px; }
  .featured-meta { gap:18px; margin-top:24px; padding-top:22px; }
  .featured-meta dd { font-size:18px; margin-bottom:12px; }
  .featured-meta dt { font-size:9.5px; letter-spacing:0.18em; }

  /* MID-CTA */
  .midcta { padding:56px 0; }
  .midcta-grid { gap:28px; }
  .midcta-text h3 { font-size:28px; margin-bottom:10px; }
  .midcta-text p { font-size:14.5px; }
  .quickform { padding:18px; gap:10px; }
  .quickform input, .quickform select { padding:12px 14px; font-size:14px; }
  .quickform button { padding:14px 20px; }

  /* STAMP */
  .stamp { padding:64px 0; }
  .stamp-logo { width:64px; height:64px; margin-bottom:22px; }
  .stamp h3 { font-size:20px; line-height:1.4; }
  .stamp .by { font-size:10px; margin-top:18px; letter-spacing:0.22em; }

  /* PORTFOLIO (full page) */
  .portfolio-grid { gap:10px; grid-auto-rows:200px; }
  .pf-meta { left:18px; right:18px; bottom:18px; }
  .pf-name { font-size:20px; }
  .pf-type { font-size:9.5px; letter-spacing:0.18em; }

  /* CLIENTS */
  .clients-row .c-name { font-size:18px; }

  /* TESTIMONIALS */
  .testi-grid { gap:16px; }
  .testi-card { padding:32px 24px; }
  .testi-quote { font-size:18px; margin-bottom:22px; line-height:1.5; }
  .testi-stars { font-size:12px; margin-bottom:14px; }
  .testi-mark { width:28px; height:28px; top:20px; right:24px; }
  .testi-author-avatar { width:38px; height:38px; font-size:16px; }
  .testi-name { font-size:13px; }
  .testi-role { font-size:11.5px; }

  /* PROCESS */
  .step { padding-top:24px; }
  .step h3 { font-size:24px; }
  .step p { font-size:14px; }
  .step-num { font-size:11.5px; letter-spacing:0.2em; }
  .step-meta { font-size:10px; letter-spacing:0.16em; margin-top:14px; padding-top:14px; }

  /* WHY US */
  .why-grid { gap:36px; }
  .why-img-wrap { aspect-ratio:5/4; }
  .why-img-overlay { padding:18px 22px; }
  .why-img-overlay .num { font-size:42px; }
  .why-img-overlay .lbl { font-size:10px; letter-spacing:0.18em; }
  .why-content h2 { font-size:clamp(28px, 7vw, 40px); margin-bottom:18px; }
  .why-content > p { font-size:14.5px; }
  .why-list li { padding:18px 0; gap:14px; }
  .why-list strong { font-size:15px; }
  .why-list span { font-size:13px; }
  .why-list .icon { width:22px; height:22px; }

  /* STUDIO */
  .studio-grid { gap:36px; }
  .studio-letter { padding-right:0; }
  .studio-letter h2 { font-size:clamp(28px, 7vw, 42px); margin-bottom:22px; }
  .studio-letter p { font-size:14.5px; line-height:1.7; margin-bottom:16px; }
  .studio-img-wrap { aspect-ratio:5/4; }
  .studio-sign-off { margin-top:28px; padding-top:22px; gap:14px; }
  .studio-sign-off img { width:40px; height:40px; }
  .studio-sign-off .sig { font-size:18px; }
  .studio-sign-off .role { font-size:10px; letter-spacing:0.16em; }

  /* CASES */
  .cases-grid { gap:20px; }
  .case-body { padding:26px 22px; }
  .case h3 { font-size:21px; margin-bottom:10px; }
  .case-cat { font-size:9.5px; letter-spacing:0.18em; margin-bottom:12px; }
  .case-meta-row { gap:10px; padding:12px 0; margin-bottom:14px; }
  .case-meta-row dt { font-size:9px; }
  .case-meta-row dd { font-size:13.5px; }
  .case p { font-size:14px; margin-bottom:18px; }
  .case .read { font-size:11px; letter-spacing:0.16em; }

  /* FAQ */
  details.faq-item { padding:22px 0; }
  details.faq-item summary { font-size:19px; gap:16px; }
  details.faq-item summary::after { font-size:24px; }
  details.faq-item p { font-size:14.5px; margin-top:12px; line-height:1.7; }

  /* CONTACT */
  .contact-mark { width:48px; height:48px; margin-bottom:20px; }
  .contact-grid { gap:32px; }
  .contact-info h3 { font-size:10.5px; letter-spacing:0.18em; margin-bottom:8px; }
  .contact-info p, .contact-info a { font-size:15.5px; margin-bottom:24px; }
  .form { gap:12px; }
  .form input, .form select, .form textarea { padding:14px 16px; font-size:14.5px; }
  .form button { padding:16px 24px; }

  /* CTA BANNER */
  .cta-banner { padding:60px 0; }
  .cta-banner h2 { font-size:clamp(26px, 7vw, 40px); margin-bottom:14px; }
  .cta-banner p { font-size:15px; margin-bottom:24px; }
  .cta-banner-actions { gap:10px; }
  .cta-banner-actions .btn { padding:13px 24px; }

  /* FOOTER */
  footer { padding:48px 0 24px; }
  .foot-top { gap:28px; padding-bottom:32px; margin-bottom:28px; }
  .foot-brand p { font-size:13px; margin-bottom:18px; }
  .foot-brand .logo-wordmark { height:48px; margin-bottom:16px; }
  footer h4 { font-size:10.5px; margin-bottom:14px; }
  footer a { font-size:13px; padding:5px 0; }
  .foot-bottom { font-size:11px; flex-direction:column; gap:6px; }

  /* MOBILE CALL BAR — bigger touch target */
  .mobile-call { padding:14px 16px; font-size:13.5px; letter-spacing:0.06em; gap:8px; }
}

/* Very small phones */
@media (max-width:380px) {
  .container, .container-wide { padding:0 14px; }
  .hero h1 { font-size:32px; }
  .page-hero h1 { font-size:30px; }
  .section-head h2 { font-size:26px; }
  .home-pf-name { font-size:16px; }
  .home-pf-name.large { font-size:18px; }
  .home-pf-grid { grid-auto-rows:140px; }
  .lang-toggle button { font-size:10.5px; padding:4px 8px; }
  .nav-cta { font-size:10px !important; padding:8px 12px !important; }
}
