
:root{
  --bg:#f7f5ef;
  --surface:#ffffff;
  --surface-soft:#f1eee7;
  --ink:#253041;
  --text:#586475;
  --muted:#7d8795;
  --line:#ddd7cb;
  --line-strong:#cfc7b8;
  --indigo:#5653cb;
  --indigo-soft:#efefff;
  --teal:#16a79c;
  --teal-soft:#e9f8f6;
  --sage:#5b7f62;
  --sage-soft:#edf4ee;
  --terracotta:#9e6046;
  --terracotta-soft:#fbefea;
  --yellow:#9a7a12;
  --yellow-soft:#fff7dc;
  --radius:16px;
  --radius-lg:24px;
  --shadow:0 10px 30px rgba(31,41,55,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--indigo);text-decoration:none}
a:hover{text-decoration:underline}
p,li{color:var(--text)}
.container{max-width:1120px;margin:0 auto;padding:0 28px}
/* nav */
.topbar{position:sticky;top:0;z-index:100;background:rgba(247,245,239,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navpill{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:650;font-size:.98rem;white-space:nowrap}
.brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:var(--shadow)}
.navlinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.navlinks>a,.workmenu summary{color:#6c7684;font-size:.94rem;font-weight:500;padding:9px 12px;border-radius:999px;list-style:none;cursor:pointer}
.navlinks>a:hover,.workmenu summary:hover{background:var(--surface);text-decoration:none;color:var(--ink)}
.workmenu{position:relative}
.workmenu summary::-webkit-details-marker{display:none}
.workmenu[open] summary{background:var(--surface);color:var(--ink)}
.workmenu__panel{position:absolute;top:44px;left:0;width:340px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}
.workmenu__panel a{display:block;padding:12px 12px 10px;color:var(--ink);border-radius:12px;line-height:1.35}
.workmenu__panel a:hover{background:var(--surface-soft);text-decoration:none}
.workmenu__panel span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.navicon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#667080}
.navicon:hover{background:var(--surface);text-decoration:none;color:var(--ink)}
.navicon svg{width:20px;height:20px}
/* hero generic */
.hero,.plain-hero{padding:54px 0 24px}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--indigo);margin-bottom:12px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);gap:34px;align-items:start}
.hero h1,.plain-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.3rem,3.6vw,4rem);line-height:1.04;letter-spacing:-.04em;font-weight:700;color:var(--ink);margin:0 0 14px;max-width:12.5ch}
.hero-summary,.plain-hero p{font-size:1.05rem;line-height:1.72;max-width:62ch;color:var(--text);margin:0}
.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.meta{padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:.85rem;font-weight:550}
.hero-figure{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:14px;box-shadow:var(--shadow)}
.hero-figure img{width:100%;max-height:400px;object-fit:contain;background:var(--surface-soft);border-radius:16px}
.hero-figure figcaption{font-size:.87rem;color:var(--muted);padding-top:12px;line-height:1.55}
/* homepage */
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) 360px;gap:36px;align-items:start}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}
.hero-chips span{padding:7px 12px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.84rem;font-weight:650}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid var(--indigo);font-size:.92rem;font-weight:650}
.btn.primary{background:var(--indigo);color:#fff}
.btn.secondary{background:transparent;color:var(--indigo)}
.btn:hover{text-decoration:none;opacity:.95}
.hero-aside{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow)}
.hero-head{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.hero-head img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:var(--shadow)}
.hero-head h2{margin:0;font-size:1.15rem;line-height:1.25;color:var(--ink)}
.hero-head p{margin:6px 0 0;font-size:.92rem;color:var(--muted)}
.logo-cloud{margin-top:8px;border-top:1px solid var(--line);padding-top:16px}
.logo-cloud svg{width:100%;height:auto;display:block}
.logo-cap{margin-top:8px;font-size:.82rem;color:var(--muted)}
.section-intro{padding:20px 0 8px}
.projects{display:grid;grid-template-columns:1fr;gap:18px;padding-bottom:34px}
.project{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.project:hover{text-decoration:none;border-color:#c9c2b4}
.project-img img{width:100%;height:172px;object-fit:cover;border-radius:18px;background:var(--surface-soft)}
.project-n{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--indigo);margin-bottom:6px}
.project h3{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;line-height:1.08;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.project p{margin:0 0 12px;font-size:.99rem;line-height:1.68}
.project-tags{display:flex;flex-wrap:wrap;gap:9px}
.project-tags span{padding:7px 11px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:550}
/* case study body */
.impact-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.impact-card{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.impact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--indigo-soft);color:var(--indigo);flex:0 0 42px}
.impact-icon svg{width:22px;height:22px}
.impact-num{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;line-height:1.08;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.impact-num.word{font-size:1.12rem;line-height:1.24;letter-spacing:0;font-family:'Inter',system-ui,sans-serif;font-weight:700;color:var(--ink)}
.impact-label{font-size:.92rem;line-height:1.5;color:var(--muted);margin-top:4px}
.casebody{padding:12px 0 54px}
.section-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:28px;align-items:start;padding:34px 0;border-top:1px solid var(--line)}
.step{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--indigo-soft);color:var(--indigo);font-size:1.05rem;font-weight:700;position:sticky;top:86px}
.section-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--indigo);margin-bottom:10px}
.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.03em;font-weight:700;color:var(--ink);margin:0 0 14px}
.lede{font-size:1rem;line-height:1.72;max-width:68ch;margin:0 0 18px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
.card h3,.card h4{margin:0 0 8px;font-size:1.08rem;line-height:1.25;font-weight:700;color:var(--ink)}
.card p{margin:0;font-size:.96rem;line-height:1.65}
.card ul{padding-left:18px;margin:0}
.card li{margin:.35rem 0}
.card--contribution{background:#fbfaf7}
.card--terracotta{background:var(--terracotta-soft)}
.card--sage{background:var(--sage-soft)}
.card--teal{background:var(--teal-soft)}
.gallery2,.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.figure{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.figure-media{padding:14px;background:var(--surface-soft)}
.figure-media img{width:100%;max-height:560px;object-fit:contain;border-radius:16px;background:#fff}
.figcaption,figure figcaption{padding:14px 18px}
figure figcaption p{margin:0 0 4px;font-size:.9rem;line-height:1.55;color:var(--muted)}
figure figcaption a{font-size:.86rem;font-weight:600}
.callout{margin-top:18px;padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--surface-soft)}
.callout strong{display:block;color:var(--ink);margin-bottom:6px}
.callout p{margin:0}
.callout.tension{background:var(--yellow-soft);border-color:#f1e0a6}
.callout.key{background:var(--indigo-soft);border-color:#d9d8fb}
.result{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.result h4{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:var(--ink)}
.result p{margin:0;font-size:.95rem;line-height:1.62}
.next-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:28px;border-top:1px solid var(--line);margin-top:24px}
.next-nav a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.next-nav a:hover{text-decoration:none;background:#fbfaf7}
.next-nav small{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.next-nav strong{font-size:1rem;line-height:1.4;color:var(--ink)}
/* custom visuals */
.inline-link{color:var(--indigo);font-weight:650;text-decoration:none;border-bottom:1px solid rgba(86,83,203,.35)}
.inline-link:hover{text-decoration:none;border-bottom-color:var(--indigo)}
.persona-hero-card{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.persona-hero-card img{width:120px;height:120px;border-radius:22px;object-fit:cover;background:var(--surface-soft)}
.persona-hero-card h3{margin:0 0 4px;font-size:1.25rem;color:var(--ink)}
.persona-hero-card .role{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--indigo);font-weight:700;margin-bottom:8px}
.persona-hero-card p{margin:0 0 10px;font-size:.92rem;line-height:1.55}
.persona-pills{display:flex;flex-wrap:wrap;gap:8px}
.persona-pills span{padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:650;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted)}
.archetype-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.archetype-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.archetype-card h4{margin:0 0 6px;font-size:1rem;color:var(--ink)}
.archetype-card p{margin:0;font-size:.9rem;line-height:1.5}
.footer{padding:28px 0 44px;border-top:1px solid var(--line);margin-top:20px}
.footer p{margin:0;color:var(--muted);font-size:.88rem}
.footer strong{color:var(--ink)}
/* responsive */
@media (max-width:980px){
  .hero-grid,.home-hero-grid,.project,.section-row,.cols2,.cols3,.gallery2,.result-grid,.next-nav,.archetype-grid{grid-template-columns:1fr}
  .project-img img{height:220px}
  .impact-strip{grid-template-columns:1fr}
  .section-row{gap:14px}
  .step{position:static}
  .hero h1,.plain-hero h1{max-width:15ch}
  .hero-figure img{max-height:none}
}
@media (max-width:720px){
  .container{padding:0 20px}
  .navpill{padding:12px 18px}
  .navlinks{gap:4px}
  .navlinks>a,.workmenu summary{padding:8px 10px;font-size:.9rem}
  .workmenu__panel{left:auto;right:0;width:min(90vw,340px)}
  .hero,.plain-hero{padding-top:38px}
  .project{padding:18px}
  .project h3{font-size:1.42rem}
}

.hero-aside--portrait{padding:18px}
.hero-portrait-wrap{background:var(--surface-soft);border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:16px}
.hero-portrait{width:100%;height:360px;object-fit:cover;object-position:center top;border-radius:18px;background:#e8e2d8}
.hero-aside-note{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 8px}
.hero-aside-note h2{margin:0;font-size:1.08rem;line-height:1.25;color:var(--ink)}
.hero-aside-note p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.hero-mini-chip{padding:7px 10px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.78rem;font-weight:700;white-space:nowrap}
.seg-callout{margin-top:18px;padding:18px 20px;border-radius:18px;background:var(--teal-soft);border:1px solid #c7e9e4}
.seg-callout h3{margin:0 0 8px;font-size:1.05rem;color:var(--ink)}
.seg-callout p{margin:0;font-size:.96rem;line-height:1.65}


/* v11 QA and homepage refinements */
.workmenu__panel{z-index:120}

/* Homepage: reduce empty space and restore portrait plus company-history visual without a card behind the portrait */
.homepage{padding-top:38px;padding-bottom:32px}
.homepage .home-hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(330px,.84fr);gap:46px;align-items:start}

.homepage .plain-hero h1,.homepage h1{font-size:clamp(2.05rem,3.2vw,3.35rem);line-height:1.08;letter-spacing:-.034em;max-width:14.2ch}
.homepage .logo-cap{display:none}
.homepage h1{font-size:clamp(2.7rem,4.3vw,4.45rem);max-width:720px;line-height:1.02;margin-bottom:18px}
.homepage> .eyebrow{margin-bottom:20px}
.homepage .hero-aside,.homepage .hero-aside--portrait{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.homepage .hero-aside-note{display:none}
.homepage .hero-portrait-wrap{background:transparent;border:0;border-radius:0;padding:0;margin:0 auto 14px;max-width:330px}
.homepage .hero-portrait{display:block;width:300px;height:300px;margin:0 auto;object-fit:cover;object-position:center top;border-radius:50%;background:#ebe7df;border:8px solid rgba(255,255,255,.82);box-shadow:0 16px 34px rgba(37,48,65,.10)}
.homepage .logo-cloud{max-width:390px;margin:4px auto 0;padding-top:0;border-top:0}
.homepage .logo-cloud svg{max-height:185px}
.homepage .logo-cap{text-align:center;margin-top:0;font-size:.78rem}
.homepage .hero-chips{margin:18px 0 20px}
.homepage .btnrow{margin-top:0}

/* Impact page layout */
.org-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:8px 0 42px}
.org{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
.org-head{display:flex;align-items:center;gap:14px;min-height:42px;margin-bottom:12px}
.org-head img{width:96px;height:34px;max-width:96px;max-height:34px;object-fit:contain;object-position:left center;flex:0 0 auto}
.org-head h3{margin:0;font-size:1.08rem;line-height:1.25;color:var(--ink)}
.org p{margin:0;font-size:.96rem;line-height:1.65}

/* About page */
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 42px}
.photo-grid img{width:100%;height:230px;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}

/* Contact page: explicit icon sizing prevents raw SVGs from expanding */
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 44px}
.contact-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);color:var(--ink)}
.contact-card:hover{text-decoration:none;border-color:var(--line-strong);transform:translateY(-1px)}
.contact-card svg{display:block;width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;margin:0 0 18px;color:var(--indigo)}
.contact-card h3{margin:0 0 6px;font-size:1.08rem;color:var(--ink)}
.contact-card p{margin:0;font-size:.92rem;line-height:1.55;color:var(--muted)}

/* Guard rails for icons across standalone pages */
.impact-icon svg,.navicon svg{overflow:visible}
.plain-hero svg:not(.navicon svg):not(.impact-icon svg){max-width:100%}

@media (max-width:980px){
  .homepage .home-hero-grid{grid-template-columns:1fr;gap:30px}
  .homepage h1{max-width:760px}
  .homepage .hero-portrait{width:240px;height:240px}
  .homepage .logo-cloud{max-width:360px}
  .org-grid,.contact-grid,.photo-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .homepage{padding-top:28px}
  .homepage h1{font-size:clamp(2.35rem,11vw,3.2rem)}
  .homepage .hero-portrait{width:210px;height:210px}
  .org-grid,.contact-grid,.photo-grid{grid-template-columns:1fr}
  .photo-grid img{height:220px}
}


.hero-figure--tight img{max-height:340px}
.figure-media--tight{padding:10px}
.figure-media--plain{padding:10px;background:transparent}
.impact-strip.impact-strip--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.impact-strip.impact-strip--two .impact-card{min-height:136px}
@media (max-width:900px){.impact-strip.impact-strip--two{grid-template-columns:1fr}}


.figure--focused{max-width:880px;margin-left:auto;margin-right:auto}
@media (max-width:720px){
  .brand span{display:none}
  .brand{min-width:36px;overflow:visible}
  .navpill{gap:8px}
}

/* v14 homepage clarity, strategic storytelling and about page */
.project-img{display:flex;align-items:center;justify-content:center;height:184px;padding:10px;background:var(--surface-soft);border-radius:18px;overflow:hidden}
.project-img img{width:100%;height:100%;object-fit:contain;border-radius:12px;background:transparent}
.project-type{display:inline-block;margin:0 0 7px;padding:5px 9px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.72rem;font-weight:700;letter-spacing:.025em}
.about-hero{padding:46px 0 30px}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:44px;align-items:center}
.about-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,3.35vw,3.7rem);line-height:1.06;letter-spacing:-.035em;font-weight:700;color:var(--ink);margin:0 0 16px;max-width:16ch}
.about-hero p{font-size:1.04rem;line-height:1.7;max-width:64ch;margin:0;color:var(--text)}
.about-values{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.about-values span{padding:7px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.82rem;font-weight:650;color:var(--text)}
.about-collage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:145px 145px;gap:12px}
.about-collage img{width:100%;height:100%;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
.about-collage-main{grid-row:1 / span 2}
.about-collage.about-collage--two{grid-template-columns:1.15fr .85fr;grid-template-rows:302px}
.about-collage--two .about-collage-main{grid-row:auto}

.strategy-visual{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.strategy-visual-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;margin-bottom:22px}
.strategy-kicker{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:var(--indigo);margin-bottom:5px}
.strategy-visual-head h3{margin:0;font-size:1.35rem;line-height:1.2;color:var(--ink)}
.strategy-visual-head p{margin:0;font-size:.92rem;line-height:1.55;color:var(--muted)}
.strategy-flow{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;gap:0;align-items:stretch}
.strategy-node{background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;padding:18px}
.strategy-node:nth-of-type(3){background:var(--sage-soft)}
.strategy-node:nth-of-type(5){background:var(--teal-soft)}
.strategy-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--indigo-soft);color:var(--indigo);margin-bottom:13px}
.strategy-icon svg{width:24px;height:24px}
.strategy-node h4{margin:0 0 7px;font-size:1rem;color:var(--ink)}
.strategy-node p{margin:0;font-size:.88rem;line-height:1.55;color:var(--text)}
.strategy-connector{position:relative;align-self:center;height:2px;background:var(--indigo)}
.strategy-connector:after{content:'';position:absolute;right:-1px;top:-5px;border-left:9px solid var(--indigo);border-top:6px solid transparent;border-bottom:6px solid transparent}
.strategy-measures{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.strategy-measures strong{font-size:.86rem;color:var(--ink);margin-right:4px}
.strategy-measures span{padding:6px 10px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.78rem;font-weight:650}
@media (max-width:980px){.about-hero-grid{grid-template-columns:1fr}.about-hero h1{max-width:18ch}.about-collage{max-width:680px}.strategy-visual-head{grid-template-columns:1fr}.strategy-flow{grid-template-columns:1fr;gap:12px}.strategy-connector{width:2px;height:26px;justify-self:center}.strategy-connector:after{right:-5px;top:17px;border-top:9px solid var(--indigo);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:0}.project-img{height:210px}}
@media (max-width:680px){.about-hero{padding-top:32px}.about-collage{grid-template-columns:1fr 1fr;grid-template-rows:190px 120px}.about-collage-main{grid-column:1 / span 2;grid-row:auto}.about-collage.about-collage--two{grid-template-columns:1fr 1fr;grid-template-rows:170px}.about-collage--two .about-collage-main{grid-column:auto;grid-row:auto}.strategy-visual{padding:18px}.project-img{height:190px}}


/* v15 about page growth lane and cleaner media figures */
.growth-lane{margin-top:26px;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.growth-lane-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.8fr);gap:24px;align-items:start;margin-bottom:20px}
.growth-lane-head h2{margin:0 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.06;color:var(--ink)}
.growth-lane-head p{margin:0;color:var(--text);line-height:1.7}
.growth-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:22px;padding:18px}
.growth-note h3{margin:0 0 8px;font-size:1.02rem;color:var(--ink)}
.growth-note p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.65}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.book-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.book-cover-wrap{height:250px;border-radius:18px;overflow:hidden;background:var(--surface-soft);display:flex;align-items:center;justify-content:center}
.book-cover-wrap img{width:100%;height:100%;object-fit:cover}
.book-card h3{margin:0;font-size:1.05rem;line-height:1.3;color:var(--ink)}
.book-card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}
.book-chip{display:inline-flex;align-self:flex-start;padding:5px 10px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.76rem;font-weight:700;letter-spacing:.02em}
.book-card--change .book-chip{background:#fde8df;color:var(--terracotta)}
.book-card--story .book-chip{background:#eef3ff;color:var(--indigo)}
.book-card--visual .book-chip{background:#e8faf7;color:var(--teal)}
@media (max-width:980px){.growth-lane-head,.book-grid{grid-template-columns:1fr}}


/* v15 QA and content refinements */
.gallery2{align-items:start}
.gallery2 .figure{align-self:start;height:auto}
.figure{height:auto}
.figure figcaption{min-height:0}
.hero-figure--tight{align-self:start}
.persona-profile-figure img{max-height:none}
.growth-section{padding-top:50px;padding-bottom:56px}
.growth-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:42px;align-items:end;padding-top:34px;border-top:1px solid var(--line);margin-bottom:24px}
.growth-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,3rem);line-height:1.08;letter-spacing:-.03em;margin:0;color:var(--ink);max-width:15ch}
.growth-intro p{margin:0;font-size:1rem;line-height:1.7;color:var(--text)}
.book-lane{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.book-card{display:grid;grid-template-columns:118px 1fr;gap:16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow)}
.book-card img{width:118px;height:168px;object-fit:cover;object-position:center;border-radius:12px;border:1px solid var(--line);background:#fff}
.book-card h3{margin:5px 0 1px;font-size:1.15rem;line-height:1.2;color:var(--ink)}
.book-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}
.book-card .book-takeaway{margin-top:10px;color:var(--text);font-size:.91rem;line-height:1.55}
.book-theme{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--indigo-soft);color:var(--indigo);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-top:18px}
@media (max-width:1050px){.book-lane{grid-template-columns:1fr}.book-card{grid-template-columns:100px 1fr}.book-card img{width:100px;height:142px}.growth-intro{grid-template-columns:1fr;gap:12px}.growth-intro h2{max-width:20ch}}
@media (max-width:620px){.book-card{grid-template-columns:82px 1fr;padding:13px}.book-card img{width:82px;height:118px}.growth-section{padding-top:30px}.photo-grid{grid-template-columns:1fr}}

.figure--wide{max-width:none}
.figure-media--full{padding:10px;background:var(--surface-soft)}
.figure-media--full img{width:100%;max-height:none;object-fit:contain;border-radius:16px;background:#fff}

.community-section{padding:42px 0 56px}
.community-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:34px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.community-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,2.8vw,2.7rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 14px;color:var(--ink)}
.community-copy p{margin:0 0 14px;font-size:1rem;line-height:1.7;color:var(--text)}
.community-copy .btn{margin-top:6px}
.community-visual{display:block;background:var(--surface-soft);border:1px solid var(--line);border-radius:22px;padding:10px;overflow:hidden}
.community-visual img{display:block;width:100%;max-height:620px;height:auto;object-fit:contain;border-radius:14px}
.community-visual:hover{text-decoration:none;transform:translateY(-1px)}
.project:first-child .project-img{background:#fff}
.project:first-child .project-img img{object-fit:contain}
@media (max-width:980px){.community-grid{grid-template-columns:1fr}.community-visual{max-width:760px}}

.hero-kicker{display:block;font-family:Inter,Arial,sans-serif;font-size:.5em;line-height:1.1;letter-spacing:-.02em;font-weight:800;margin:0 0 14px;color:var(--ink)}
.homepage .plain-hero p{max-width:54ch;font-size:1.02rem}

/* v25 production polish */
.workmenu__panel{width:390px;max-width:min(390px,calc(100vw - 32px))}
.case-studies-section{scroll-margin-top:88px;padding-top:4px}
.homepage{padding-top:28px;padding-bottom:14px}
.homepage .home-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);gap:34px;align-items:start}
.homepage .plain-hero h1,.homepage h1{font-size:clamp(2rem,3vw,3.1rem);line-height:1.08;letter-spacing:-.032em;max-width:700px;margin-bottom:14px}
.homepage .plain-hero p{max-width:54ch;font-size:1rem;line-height:1.62}
.homepage .hero-chips{margin:14px 0 16px}
.homepage .hero-portrait-wrap{max-width:280px;margin-bottom:8px}
.homepage .hero-portrait{width:240px;height:240px;border-width:7px}
.homepage .logo-cloud{max-width:330px;margin-top:0}
.homepage .logo-cloud svg{max-height:135px}
.homepage .btnrow{margin-top:0;margin-bottom:4px}
.project-tags span{font-weight:600;color:#697585}
.project-img img[src$=".png"]{image-rendering:auto}
.hero-figure img[src*="service-design-holistic-conversion"],
.hero-figure img[src*="prioritization-strategic-planning"],
.hero-figure img[src*="persona-ai-adoption"]{background:#fff}
@media (max-width:980px){
  .homepage .hero-portrait{width:220px;height:220px}
  .homepage .logo-cloud{max-width:320px}
  .homepage .logo-cloud svg{max-height:125px}
}
@media (max-width:680px){
  .homepage{padding-top:22px}
  .homepage .plain-hero h1,.homepage h1{font-size:clamp(1.85rem,8.8vw,2.65rem);line-height:1.1}
  .homepage .hero-portrait{width:195px;height:195px}
  .homepage .logo-cloud svg{max-height:115px}
  .workmenu__panel{left:auto;right:0;width:min(360px,calc(100vw - 28px))}
}
