
/* Shared site shell: global navigation, accessibility, and scan-friendly portfolio patterns */
:root{--nav-h:60px;--focus-ring:#8B6328;--focus-bg:#fff7ed;--scan-bg:#fffdf9;--scan-border:rgba(24,24,27,0.12)}
html{scroll-padding-top:calc(var(--nav-h) + 18px)}
body{padding-top:0}
.skip-link{position:fixed;top:-80px;left:1rem;z-index:2000;background:#fff;color:#18181b;border:2px solid var(--focus-ring);border-radius:4px;padding:.75rem 1rem;font-weight:700;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.skip-link:focus{top:.75rem;outline:3px solid var(--focus-ring);outline-offset:3px}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule,rgba(24,24,27,.09))}
.site-nav .nav-brand{font-family:'Libre Baskerville',serif;font-size:1rem;font-weight:400;color:var(--ink,#18181b);text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.site-nav .nav-brand span{color:var(--crimson,#7d1a2d)}
.site-nav .nav-links{display:flex;align-items:center;gap:1.35rem;list-style:none;margin:0;padding:0}
.site-nav .nav-links a{height:var(--nav-h);display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3,#52525b);text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s,background .2s}
.site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:var(--crimson,#7d1a2d);border-bottom-color:var(--crimson,#7d1a2d)}
.site-nav .nav-links a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-7px;background:var(--focus-bg)}
.site-nav .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;border-radius:4px}
.site-nav .hamburger span{display:block;width:22px;height:2px;background:var(--ink,#18181b);border-radius:2px;transition:transform .25s,opacity .25s}
.site-nav .hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-nav .hamburger.active span:nth-child(2){opacity:0}
.site-nav .hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-nav .hamburger:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;background:var(--focus-bg)}
.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--surface,#fff);border-bottom:1px solid var(--rule,rgba(24,24,27,.09));z-index:999;flex-direction:column;padding:.5rem 0;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:.95rem 2rem;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2,#3f3f46);text-decoration:none;border-bottom:1px solid var(--rule,rgba(24,24,27,.09))}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--crimson,#7d1a2d);background:var(--surface-2,#f9f8f6)}
.mobile-menu a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-6px;background:var(--focus-bg)}
.page-tools .hero,.page-change .header,.page-diagnostic .diag-hero{margin-top:var(--nav-h)}
.page-change .curve-stack{top:var(--nav-h)!important}
/* scan-friendly homepage patterns */
.portfolio-summary{background:var(--surface,#fff);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:2.75rem 0}
.portfolio-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.portfolio-summary-card{background:var(--scan-bg);border:1px solid var(--scan-border);border-radius:8px;padding:1.35rem;box-shadow:0 4px 18px rgba(0,0,0,.025)}
.portfolio-summary-kicker,.scan-label,.case-snapshot-label{font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--crimson);margin-bottom:.55rem}
.portfolio-summary-title{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:.35rem}
.portfolio-summary-text{font-size:.85rem;font-weight:300;color:var(--ink-2);line-height:1.65}
.reading-guide{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:8px;overflow:hidden;margin-top:1.5rem;max-width:900px}
.reading-guide-card{background:var(--surface,#fff);padding:1.05rem 1.15rem}
.reading-guide-card strong{display:block;font-size:.82rem;color:var(--ink);line-height:1.35;margin-bottom:.25rem}
.reading-guide-card span{display:block;font-size:.78rem;color:var(--ink-3);font-weight:300;line-height:1.55}
.case-snapshot{background:linear-gradient(180deg,var(--surface,#fff),var(--surface-2,#f9f8f6));border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.case-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}
.case-snapshot-cell{background:var(--surface,#fff);padding:1rem 1.1rem}
.case-snapshot-cell p{font-size:.82rem;line-height:1.6;color:var(--ink-2);font-weight:300;margin:0}
.case-snapshot-cell strong{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem}
.case-deep-dive{border:1px solid var(--rule);border-radius:8px;background:var(--surface,#fff);overflow:hidden}
.case-deep-dive>summary{list-style:none;cursor:pointer;padding:1rem 1.15rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);background:var(--crimson-pale);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.case-deep-dive>summary::-webkit-details-marker{display:none}
.case-deep-dive>summary::after{content:'+';font-size:1rem;line-height:1;color:var(--crimson)}
.case-deep-dive[open]>summary::after{content:'−'}
.case-deep-dive>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-4px;background:var(--focus-bg)}
.case-deep-dive-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}
.case-deep-dive .case-artifact,.case-deep-dive .pull-quote,.case-deep-dive .case-results,.case-deep-dive .case-tags{margin-top:0}
.case-list{gap:1.5rem!important;border:none!important;overflow:visible!important}
.case-item{border:1px solid var(--rule)!important;border-radius:10px!important;overflow:hidden!important;box-shadow:0 12px 34px rgba(24,24,27,.04)}
/* Increase scannability of large screenshots and cards */
.artifact-header{gap:1rem}.artifact-type{white-space:normal;text-align:right}.case-problem-text{max-width:72ch}.section-intro{max-width:720px}
@media(max-width:1100px){.site-nav{padding:0 1.25rem}.site-nav .nav-links{gap:1rem}.site-nav .nav-links a{font-size:.62rem;letter-spacing:.09em}}
@media(max-width:900px){.site-nav .nav-links{display:none!important}.site-nav .hamburger{display:flex!important}.portfolio-summary-grid,.reading-guide,.case-snapshot-grid{grid-template-columns:1fr}.case-deep-dive-body{padding:1.15rem}.mobile-menu a{padding:.9rem 1.25rem}}
@media(max-width:600px){.site-nav{padding:0 1rem}.site-nav .nav-brand{font-size:.9rem}.portfolio-summary{padding:2rem 0}.portfolio-summary-card,.reading-guide-card,.case-snapshot-cell{padding:1rem}.artifact-type{text-align:left}.case-deep-dive>summary{font-size:.62rem;align-items:flex-start}.case-deep-dive-body{padding:1rem;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.curve-use-note{position:sticky;top:var(--nav-h);z-index:990;background:#fff8ea;border-bottom:1px solid #e8dfc8;padding:.8rem 1.25rem;text-align:center;font-size:.78rem;color:#3f3f46;line-height:1.55}
.page-change .curve-stack{top:calc(var(--nav-h) + 0px)!important}.page-change .curve-use-note + .curve-stack{top:calc(var(--nav-h) + 42px)!important}
@media(max-width:700px){.curve-use-note{text-align:left}.page-change .curve-use-note + .curve-stack{top:calc(var(--nav-h) + 58px)!important}}

.section-intro-secondary{margin-top:.65rem;color:var(--ink-2);}
