:root{--p-gold:#a7864d;--p-ink:#1f1f1f;--p-warm:#f7f5f0;--p-line:#ded7cb;--p-copy:#57534d}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--p-ink);font:16px/1.65 Inter,Arial,sans-serif}
.portfolio{width:100%;max-width:100%;overflow:clip}
.p-wrap{width:min(calc(100% - 40px),1240px);margin-inline:auto;min-width:0}
.p-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;width:100%;padding:14px 20px;background:#fffefdf2;border-bottom:1px solid var(--p-line);backdrop-filter:blur(10px)}
.brand{flex:0 0 auto}
.portfolio-logo{display:block;width:auto;height:34px;max-width:190px;object-fit:contain}
.nav-links{display:flex;gap:16px;margin-left:auto;min-width:0}
.nav-links a,.p-nav a{color:var(--p-ink);font-size:.78rem;font-weight:600;text-decoration:none}
.nav-links a.active,.nav-links a:hover{color:var(--p-gold)}
.p-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--p-gold);color:var(--p-ink);font-weight:700;text-decoration:none}
.p-btn.gold{background:var(--p-gold);color:#fff}
.mobile-download-portfolio{display:none}
.menu-toggle{display:none;background:none;border:0;font:inherit}
.p-section{width:100%;padding:clamp(64px,9vw,120px) 0;border-bottom:1px solid var(--p-line)}
.eyebrow{color:var(--p-gold);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3{font-family:Poppins,Arial,sans-serif;line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere}
h1{font-size:clamp(3rem,6vw,6.2rem);max-width:900px;margin:18px 0}
h2{font-size:clamp(2.2rem,4vw,4rem);max-width:800px;margin:16px 0 24px}
h3{font-size:1.1rem}
.lead{max-width:730px;color:var(--p-copy);font-size:1.08rem}
.hero{min-height:72vh;display:grid;align-content:center;background:linear-gradient(120deg,#fff 60%,var(--p-warm))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:48px}
.executive-portrait{width:100%;min-width:0;margin:0;border:1px solid var(--p-line);background:var(--p-warm);padding:10px}
.executive-portrait img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.executive-portrait figcaption{padding:10px 4px 2px;color:var(--p-copy);font-size:.82rem}
.capabilities,.symptoms,.chain,.engage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;margin:38px 0 0;padding:0}
.capabilities>*,.symptoms li,.chain article,.engage article{min-width:0;padding:18px;border:1px solid var(--p-line);list-style:none}
.symptom-card{display:flex;align-items:center;min-height:0;height:auto;text-align:left;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.quote,blockquote{margin:42px 0 0;padding-left:20px;border-left:2px solid var(--p-gold);font:italic 1.25rem/1.45 Georgia,serif}
.dark{background:var(--p-ink);color:#fff}
.dark h2{color:#fff}
.dark .lead{color:#dedbd5}
.dark .p-btn:not(.gold){color:#fff;border-color:#c9a86a}
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;margin:44px 0 0;padding:0}
.timeline li{min-width:0;list-style:none;padding:14px;border-top:2px solid var(--p-gold);white-space:normal;word-break:normal;overflow-wrap:normal}
.timeline b{display:block;color:var(--p-gold);font-size:.75rem}
.leak-path{display:grid;grid-template-columns:160px 24px minmax(0,1fr);align-items:center;gap:10px;width:100%;margin-top:44px}
.opportunity{min-width:0;padding:18px;border:1px solid var(--p-line);text-align:center}
.leak-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:0}
.leak{min-width:0;min-height:150px;padding:16px;text-align:left;background:#fff;border:1px solid var(--p-line);font:inherit;color:var(--p-ink);cursor:pointer;overflow-wrap:anywhere}
.leak span{display:block;color:var(--p-gold);font-size:.75rem}
.leak small{display:block;max-height:0;overflow:hidden;color:var(--p-copy);transition:max-height .25s ease,margin-top .25s ease;margin-top:0}
.leak[aria-expanded=true] small{max-height:180px;margin-top:12px}
.arrow{color:var(--p-gold);text-align:center}
.cycle{display:grid;place-items:center;width:min(88vw,430px);max-width:100%;aspect-ratio:1;border:1px solid var(--p-gold);border-radius:50%;margin:42px auto;text-align:center}
.cycle div{max-width:180px}
.stack{display:grid;gap:0;max-width:900px;margin-top:38px}
.stack div{min-width:0;padding:16px 22px;border:1px solid var(--p-line);background:#fff;overflow-wrap:anywhere}
.stack div:nth-child(odd){margin-left:6%}
.brief{max-width:720px;padding:24px;border:1px solid var(--p-line);background:#fff;color:var(--p-ink)}
.orchestration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:center;width:100%}
.orchestration>*{min-width:0;overflow-wrap:anywhere}
.orchestration .core{grid-column:2;text-align:center;padding:28px;background:var(--p-ink);color:#fff}
.orchestration button{padding:18px;background:#fff;border:1px solid var(--p-line);font:inherit;text-align:left}
.engagement-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.engagement-actions .p-btn{min-height:52px}
.footer{padding:38px 0;color:#cfcac2}
.portfolio-contact{display:flex;flex-wrap:wrap;gap:0 10px;font-style:normal}
.portfolio-contact>*:not(:last-child)::after{content:'·';margin-left:10px;color:#cfcac2}
.portfolio-contact a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.portfolio-contact a:hover,.portfolio-contact a:focus-visible{color:#c9a86a}
img,svg,video,canvas{max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:3px solid #c9a86a;outline-offset:4px}
@media(max-width:1050px){.p-nav{gap:16px}
.nav-links{gap:10px}
.nav-links a{font-size:.7rem}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:30px}
.leak-path{grid-template-columns:1fr}
.arrow{transform:rotate(90deg)}
.leak-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.chain{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){.nav-links{display:none}
.nav-links.open{display:grid;position:absolute;top:100%;left:0;right:0;gap:16px;padding:20px;background:#fff;border-bottom:1px solid var(--p-line)}
.nav-links.open .mobile-download-portfolio{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--p-gold);color:var(--p-ink);font-weight:700}
.menu-toggle{display:block;margin-left:auto}
.p-nav>.download-link{display:none}
.hero-grid{grid-template-columns:1fr}
.executive-portrait{max-width:360px}
.capabilities,.chain,.engage,.symptom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.orchestration{grid-template-columns:repeat(2,minmax(0,1fr))}
.orchestration .core{grid-column:1/-1;grid-row:1}
.method-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.method-steps li{border:1px solid var(--p-gold)}
.method-steps li:last-child{grid-column:1/-1;text-align:center}
}
@media(max-width:600px){.p-nav{min-height:72px;padding:16px 20px}
.portfolio-logo{height:32px;max-width:150px}
.p-wrap{width:min(calc(100% - 32px),1240px)}
.p-section{padding:64px 0}
.capabilities,.chain,.engage,.leak-items,.orchestration,.symptom-grid,.method-steps{grid-template-columns:1fr}
.symptom-grid{gap:14px}
.symptom-card{width:100%;padding:20px;font-size:1rem;line-height:1.45}
.method-steps li,.method-steps li:last-child{grid-column:auto;text-align:left;padding:16px 20px}
.stack div:nth-child(odd){margin-left:0}
.orchestration .core{grid-column:auto;grid-row:auto}
.leak{min-height:0}
.brief{padding:20px}
.engagement-actions{display:grid;grid-template-columns:1fr;gap:12px}
.engagement-actions .p-btn{width:100%}
.portfolio-contact{display:grid;gap:8px}
.portfolio-contact>*::after{content:none!important;margin:0!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
/*
  Mobile layout recovery: a complete narrow-screen layer which supersedes
  intermediate tablet rules while leaving the desktop presentation unchanged.
*/
@media (max-width:767px){
  :root{--mobile-header-height:72px}
  *,*::before,*::after{box-sizing:border-box}
  html,body{width:100%;max-width:100%;margin:0}
  html.portfolio-menu-open,body.portfolio-menu-open{overflow:hidden}
  .portfolio,section,header,footer,main,nav{max-width:100%}
  img,svg,video,canvas{max-width:100%;height:auto}
  .p-nav{position:sticky;top:0;z-index:1000;min-height:var(--mobile-header-height);gap:12px;padding:14px 20px}
  .portfolio-logo{height:32px;max-width:min(150px,calc(100vw - 130px))}
  .nav-links{display:none!important}
  .p-nav>.download-link{display:none!important}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;margin-left:auto;padding:8px 12px;border:1px solid var(--p-gold);background:#fff;color:var(--p-ink);font:700 .82rem/1 Inter,Arial,sans-serif}
  .nav-links.open{position:fixed;inset:var(--mobile-header-height) 0 0;z-index:1001;display:grid!important;grid-auto-rows:minmax(48px,auto);align-content:start;gap:0;width:100%;max-width:100%;overflow-y:auto;padding:12px 20px 28px;background:#fff;border:0;box-shadow:0 12px 24px rgba(22,22,20,.12)}
  .nav-links.open>a{display:flex;align-items:center;min-height:48px;padding:12px 4px;border-bottom:1px solid var(--p-line);font-size:.95rem;line-height:1.35}
  .nav-links.open .mobile-download-portfolio{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:16px;padding:12px 16px;border:1px solid var(--p-gold);background:var(--p-gold);color:#fff;font-weight:700}
  .p-wrap{width:100%;max-width:100%;margin-inline:auto;padding-inline:20px}
  .p-section{padding:64px 0}
  .portfolio h1,.portfolio h2,.portfolio h3,.portfolio h4,.portfolio p,.portfolio li,.portfolio a,.portfolio span,.portfolio strong,.portfolio small{white-space:normal;word-break:normal;overflow-wrap:break-word;writing-mode:horizontal-tb}
  .portfolio h1{font-size:clamp(2.45rem,12vw,3.65rem);line-height:1.04;overflow-wrap:normal}
  .portfolio h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.08;overflow-wrap:normal}
  .portfolio h3{overflow-wrap:normal}
  .lead,.quote{max-width:100%}
  .hero{min-height:0}
  .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px}
  .hero-grid>*{width:100%;max-width:100%;min-width:0}
  .executive-portrait{order:2;margin:0;padding:8px}
  .executive-portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:cover}
  .capabilities,.symptoms,.chain,.engage,.symptom-grid,.method-steps,.leak-items,.orchestration{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;gap:14px}
  .capabilities>*,.symptoms li,.chain article,.engage article,.symptom-card,.method-steps li,.leak,.orchestration>*{width:100%;max-width:100%;min-width:0;height:auto;min-height:0}
  .capabilities>*,.symptoms li,.chain article,.engage article,.method-steps li,.orchestration button{padding:18px}
  .symptom-card{display:flex;align-items:center;padding:18px;font-size:1rem;line-height:1.45;overflow-wrap:break-word}
  .timeline{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:32px}
  .timeline li{padding:16px;border:1px solid var(--p-gold);border-top:2px solid var(--p-gold)}
  .method-steps li,.method-steps li:last-child{grid-column:auto;text-align:left}
  .leak-path{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:32px}
  .arrow{transform:rotate(90deg)}
  .opportunity,.leak{min-width:0;min-height:0;padding:18px;overflow-wrap:break-word}
  .cycle{width:min(100%,320px);max-width:100%;margin:32px auto;aspect-ratio:1}
  .cycle div{max-width:84%;padding:16px}
  .stack{width:100%;max-width:100%;gap:12px;margin-top:32px}
  .stack div,.stack div:nth-child(odd){width:100%;max-width:100%;min-width:0;margin-left:0;padding:18px;overflow-wrap:break-word}
  .brief{width:100%;max-width:100%;padding:20px}
  .orchestration{display:grid;align-items:stretch}
  .orchestration .core{grid-column:auto;grid-row:auto;width:100%;padding:22px}
  .orchestration button{width:100%;min-width:0;text-align:left;overflow-wrap:break-word}
  .engagement-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:32px}
  .engagement-actions .p-btn{display:inline-flex;width:100%;min-height:52px}
  .footer{padding:32px 0}
  .portfolio-contact{display:grid;gap:8px}
  .portfolio-contact>*::after{content:none!important;margin:0!important}
}

/* Mobile menu viewport fix */
@media (max-width:767px){
  .portfolio{
    overflow:visible;
  }

  .p-nav{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .nav-links.open{
    position:fixed;
    top:var(--mobile-header-height);
    right:0;
    bottom:0;
    left:0;
    height:calc(100dvh - var(--mobile-header-height));
    max-height:calc(100dvh - var(--mobile-header-height));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
}

/* build: social-metadata-with-restored-mobile-fix-2026-08-01 */
