/*
Theme Name: Beau Portfolio
Description: The custom editorial portfolio for Beau Pitcher.
Version: 1.0.40
Author: Beau Pitcher
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: beau-portfolio
*/

@font-face{font-family:"Nunito Sans";src:url("./assets/39184f4d011106.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}

/* Site palette. Only this block assigns literal interface colors. */
:root {
  --blue-25:#f7fafc;
  --blue-50:#ecf4f9;
  --blue-100:#dfedf5;
  --blue-200:#c4dce9;
  --blue-300:#9cc4d7;
  --blue-500:#50798f;
  --blue-600:#345e77;
  --blue-700:#254d68;
  --blue-800:#193b54;
  --blue-900:#152d40;
  --blue-950:#101e2a;
  --canvas:#f7f8f8;
  --cream:#f3f0e8;
  --stone:#e6e4e0;
  --clay:#e0cfc3;
  --ochre:#dcb482;
  --warm-line:#c8c3ba;
  --warm-control:#746a60;
  --warm-muted:#514d47;
  --warm-light:#d0c7bb;
  --charcoal-900:#252b2d;
  --charcoal-850:#2e3334;
  --slate-400:#a0b8c7;
  --slate-900:#172e3d;
  --neutral-white:#fff;
  --brand-phantom:#00053e;
  --ink-shadow:#10273832;
  --light-wash:#ffffff26;
  --logo-divider:rgb(0 0 0 / 90%);
  --paper:var(--canvas);
  --ink:var(--slate-900);
  --muted:var(--warm-muted);
  --line:var(--warm-line);
  --panel-bg:var(--blue-800);
  --workflow-bg:var(--blue-800);
  --workflow-dot:color-mix(in srgb,var(--panel-text) 12%,transparent);
  --tint:color-mix(in srgb,var(--canvas),var(--stone) 45%);
  --accent:var(--ochre);
  --white:var(--neutral-white);
  --surface-ink:var(--ink);
  --control:var(--warm-control);
  --control-hover:var(--blue-50);
  --current-bg:var(--blue-100);
  --panel-text:var(--blue-25);
  --footer-bg:var(--tint);
  --heading-accent:var(--blue-700);
  --primary-bg:var(--blue-800);
  --primary-text:var(--neutral-white);
  --primary-hover:var(--blue-700);
  --accent-hover:var(--clay);
  --focus-light:var(--neutral-white);
  --focus-dark:var(--blue-800);
  --detail-bg:var(--blue-50);
  --section-bg:color-mix(in srgb,var(--canvas),var(--blue-50) 50%);
  --hero-start:color-mix(in srgb,var(--canvas),var(--blue-100) 65%);
  --hero-end:var(--cream);
  --section-wash:linear-gradient(115deg,color-mix(in srgb,var(--hero-start) 52%,transparent),color-mix(in srgb,var(--hero-end) 44%,transparent));
  --cta-bg:var(--blue-800);
  --quote-bg:color-mix(in srgb,var(--canvas),var(--blue-200) 29%);
  --contact-bg:var(--tint);
  --card-bg:var(--neutral-white);
  --art-blue:var(--blue-100);
  --art-rentler:color-mix(in srgb,var(--blue-100),var(--stone) 22%);
  --art-accent:var(--clay);
  --art-border:var(--warm-line);
  --art-shade:var(--ink-shadow);
  --on-accent:var(--slate-900);
  --logo-ink:var(--blue-800);
  --ease-out:cubic-bezier(.2,.75,.25,1);
  --ease-standard:cubic-bezier(.3,0,.2,1);
  --radius:12px;
  --radius-inset:8px;
  --radius-mark:3px;
  --leading-title:1.1;
  --leading-label:1.28;
  --leading-copy:1.56;
  --wide:1120px;
  --gutter:clamp(18px,5.1vw,76px);
  --sans:"Nunito Sans",system-ui,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --paper:var(--blue-950);
  --ink:var(--blue-25);
  --muted:var(--warm-light);
  --line:var(--blue-600);
  --tint:var(--charcoal-900);
  --accent:var(--ochre);
  --control:var(--slate-400);
  --control-hover:var(--blue-800);
  --current-bg:var(--blue-800);
  --footer-bg:var(--charcoal-900);
  --heading-accent:var(--blue-300);
  --primary-bg:var(--blue-200);
  --primary-text:var(--blue-950);
  --primary-hover:var(--blue-300);
  --detail-bg:var(--blue-900);
  --section-bg:var(--blue-900);
  --hero-start:color-mix(in srgb,var(--blue-900),var(--blue-700) 34%);
  --hero-end:var(--charcoal-900);
  --cta-bg:var(--blue-800);
  --quote-bg:color-mix(in srgb,var(--blue-900),var(--blue-700) 24%);
  --contact-bg:var(--charcoal-850);
  --card-bg:var(--blue-900);
  --art-blue:var(--blue-700);
  --art-rentler:var(--blue-800);
  --art-accent:var(--charcoal-850);
  --art-border:var(--slate-400);
  --logo-ink:var(--blue-100);
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/var(--leading-copy) var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.2em}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus-dark);outline-offset:5px}
::selection{color:var(--ink);background:var(--accent)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.02;letter-spacing:-.045em;font-weight:650}
h1{font-size:clamp(3rem,7.7vw,7.5rem)}
h2{font-size:clamp(2.2rem,5vw,4.7rem)}
h3{font-size:clamp(1.35rem,2.5vw,2.45rem)}
.wrap{width:min(calc(100% - var(--gutter)*2),var(--wide));margin-inline:auto}
.kicker{font:600 .71rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:var(--muted)}
.lede{max-width:53ch;font-size:clamp(1.04rem,1.65vw,1.25rem);line-height:1.6;color:var(--muted)}
.arrow{display:inline-block;margin-left:.35em;font-family:system-ui;transition:transform .18s ease}
a:hover .arrow{transform:translate(3px,-2px)}
.skip{position:absolute;left:16px;top:12px;padding:12px 16px;z-index:5;background:var(--accent);transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line)}
.header-inner{min-height:77px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.logo{display:inline-flex;justify-self:start;align-items:center}
.logo{color:var(--logo-ink)}
.wordmark{display:block;width:78px;height:auto;fill:currentColor}
.nav{display:flex;gap:clamp(15px,3.1vw,44px);align-items:center}
.nav a{font-size:.92rem;text-decoration:none;color:var(--muted);position:relative;padding:10px 0}
.nav a[aria-current]{color:var(--ink);font-weight:700}
.nav a[aria-current]::after{content:"";position:absolute;bottom:5px;height:1px;left:0;right:0;background:currentColor}
.header-action{justify-self:end}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 17px;border:1px solid var(--ink);text-decoration:none;font-weight:650;font-size:.92rem;white-space:normal}
.button.solid{background:var(--ink);color:var(--white)}
.button.solid:hover{background:var(--primary-hover)}
.button.outline:hover{background:var(--tint)}
.button.lime{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.button.lime:hover{background:var(--accent-hover)}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650;text-decoration:none;border-bottom:1px solid currentColor;width:max-content;max-width:100%}
.hero{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,5vw,78px);align-items:center;padding-block:clamp(48px,7.8vw,116px) clamp(46px,6.6vw,90px)}
.hero-copy{display:grid;gap:clamp(16px,2.3vw,27px)}
.hero h1{font-size:clamp(3rem,6.45vw,7.3rem);letter-spacing:-.078em;line-height:.99}
.hero h1 span{display:block}
.hero h1 em{font-family:Georgia,serif;font-weight:400;font-size:.98em;letter-spacing:-.095em;line-height:1}
.actions,.case-end-actions{display:flex;flex-wrap:wrap;align-items:center}
.actions{gap:12px 23px}
.actions > :is(.button,.text-link),.case-end-actions > :is(.button,.text-link){font-size:.92rem;line-height:var(--leading-label)}
.actions > .text-link .arrow,.case-end-actions > .text-link .arrow{display:inline-flex;align-items:center;margin:0}
.art-frame{margin:0;min-width:0}
.art-frame>figcaption,.visual-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:var(--muted);font:.7rem/1.45 var(--mono);letter-spacing:.03em;margin-top:12px}
.art-frame>figcaption a{font-weight:700}
.art{position:relative;overflow:hidden;isolation:isolate;min-height:220px}
.rentler-art{background-color:var(--workflow-bg);background-image:radial-gradient(circle at 1px 1px,var(--workflow-dot) 1px,transparent 1px),linear-gradient(135deg,var(--workflow-bg),var(--blue-900));background-size:22px 22px,auto;color:var(--panel-text);padding:clamp(20px,3.1vw,46px);display:flex;flex-direction:column;gap:clamp(22px,3vw,34px)}
.art-top{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--panel-text)}
.art-top strong{font:700 1.17rem/1 var(--sans);letter-spacing:-.04em;color:var(--neutral-white)}
.section{padding-block:clamp(48px,6.5vw,90px);border-top:1px solid var(--line)}
.section-head{display:flex;gap:28px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(22px,4vw,50px)}
.section-head h2{margin-top:8px}
.section-head p{max-width:36ch}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,36px)}
.case-card{display:flex;flex-direction:column;min-width:0}
.card-link{display:block;text-decoration:none}
.card-link:hover h3,.card-link:focus-visible h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.card-link .art{min-height:0;aspect-ratio:1.5}
.card-link .art>*{transition:transform .25s ease}
.card-link:hover .art img{transform:translateY(-4px)}
.case-card .kicker{color:var(--muted);margin:15px 0 7px}
.case-card :is(h2,h3){font-size:clamp(1.25rem,2.2vw,2.05rem);letter-spacing:-.045em}
.card-desc{margin-top:10px;color:var(--muted);font-size:.94rem;line-height:var(--leading-copy)}
.case-card .card-desc+.card-desc{margin-top:5px}
.card-desc strong{color:var(--ink)}
.limble-art{background:var(--art-blue);padding:10% 9%;display:grid;place-items:center}
.limble-art img{width:100%;max-width:750px;box-shadow:0 14px 25px var(--art-shade)}
.overstock-art{background:var(--art-accent);display:grid;place-items:center;padding:8% 12%}
.overstock-art img{width:100%;max-width:650px;border:1px solid var(--art-border);box-shadow:0 14px 25px var(--art-shade);transform:rotate(-3deg)}
.card-link:hover .overstock-art img{transform:rotate(-1deg)}
.compact-art{background:var(--art-accent);display:grid;align-content:center;gap:14px;padding:9%;color:var(--on-accent)}
.compact-art .art-num{font:400 clamp(2rem,4vw,4rem)/.9 Georgia,serif}
.compact-art .mini-line{height:1px;background:var(--control)}
.compact-art .mini-tags{display:flex;gap:8px;flex-wrap:wrap}
.compact-art .mini-tags span{border:1px solid var(--control);padding:4px 6px;font:.66rem/1.3 var(--mono)}
.cta-band{background:var(--panel-bg);color:var(--panel-text)}
.cta-band .wrap{padding-block:clamp(39px,6vw,85px);display:flex;gap:24px;justify-content:space-between;align-items:center}
.cta-band h2{font-size:clamp(2rem,4.5vw,4rem)}
.cta-band p{color:var(--panel-text);margin-top:8px;max-width:50ch}
.footer{padding:22px 0;border-top:1px solid var(--line);color:var(--muted)}
.footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer a{font-size:.84rem}
.page-head{padding-block:clamp(45px,7.3vw,96px) clamp(28px,4.5vw,64px);display:grid;gap:13px}
.page-head h1{font-size:clamp(3rem,6.7vw,6.4rem)}
.filters{display:flex;gap:7px 8px;flex-wrap:wrap;margin:0 0 24px}
.work-filter-row{display:contents}
@media(min-width:1000px){
  #work-filters{flex-direction:column;align-items:flex-start}
  .work-filter-row{display:flex;flex-wrap:wrap;gap:inherit}
}
.filter{min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--control);font-size:.84rem;font-weight:650}
.filter[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.filter:hover:not([aria-pressed=true]){background:var(--tint)}
.work-grid{row-gap:36px;padding-bottom:clamp(48px,6vw,80px)}
.case-header{padding-block:clamp(30px,5.8vw,76px) 28px;display:grid;gap:14px}
.case-header h1{font-size:clamp(2.8rem,6.4vw,6.2rem);max-width:17ch}
.case-header .text-link{margin-bottom:4px}
.case-hero{margin-bottom:clamp(28px,5vw,60px)}
.case-hero .art{min-height:clamp(270px,33vw,445px)}
.case-hero .limble-art,.case-hero .overstock-art{padding:clamp(24px,4vw,55px)}
.case-body{display:grid;grid-template-columns:minmax(140px,.5fr) minmax(0,1.5fr);gap:clamp(24px,6vw,100px);margin-bottom:clamp(44px,7vw,100px)}
.facts{border-top:1px solid var(--line);margin:0;align-self:start}
.facts div{border-bottom:1px solid var(--line);padding:12px 0}
.facts dt{font:650 .68rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:4px 0 0;font-size:.95rem}
.case-copy{max-width:740px}
.case-copy h2{font-size:clamp(1.65rem,3vw,2.8rem);margin-bottom:9px}
.case-copy p{color:var(--muted);font-size:1.03rem;margin-bottom:15px}
.case-copy section+section{margin-top:29px}
.lens{padding:20px;background:var(--tint);margin:22px 0 30px}
.lens .filters{margin:10px 0 9px}
.lens p{margin:0}
.lens p strong{color:var(--ink)}
#lens-copy{display:grid}
#lens-copy > span{grid-area:1 / 1}
#lens-copy > [aria-hidden="true"]{visibility:hidden}
.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(26px,5vw,76px);align-items:start;padding-bottom:clamp(38px,6vw,78px)}
.about-grid h2{font-size:clamp(1.8rem,3.3vw,3.1rem);margin-bottom:14px}
.about-grid p{color:var(--muted);margin-bottom:15px}
.portrait{width:100%;max-width:390px;margin:0}
.portrait img{width:100%;aspect-ratio:1;object-fit:cover}
.portrait figcaption{margin:9px 0 0;color:var(--muted);font-size:.875rem;line-height:var(--leading-label)}
@media(max-width:850px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr 1fr;gap:22px}.hero h1{font-size:clamp(2.65rem,7vw,5.5rem)}.hero .lede{font-size:1rem}.section-head{align-items:flex-start}}
@media(max-width:630px){.header-inner{min-height:67px;grid-template-columns:auto 1fr;gap:15px}.wordmark{width:61px}.nav{justify-self:end;gap:16px}.nav a{font-size:.85rem}.header-action{display:none}.hero,.about-grid,.case-body{grid-template-columns:1fr}.hero{gap:32px}.hero h1{font-size:clamp(3.1rem,10.7vw,4.7rem)}.section-head,.cta-band .wrap{align-items:flex-start;flex-direction:column;gap:14px}.card-grid{grid-template-columns:1fr;row-gap:30px}.card-link .art{aspect-ratio:1.62}.case-body{gap:24px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.art-frame>figcaption{font-size:.64rem}}
@media(max-width:355px){.nav{gap:11px}.nav a{font-size:.79rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
body{min-inline-size:0;overflow-wrap:break-word}
.header-inner{grid-template-columns:minmax(68px,1fr) auto minmax(112px,1fr)}
.logo{min-height:44px;min-width:44px}
.wordmark{width:76px}

.nav{flex-wrap:wrap;row-gap:0}
.nav a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:8px 3px}
.nav a:hover{text-decoration:underline}
.nav a[aria-current]::after,.nav a[data-active]::after{bottom:4px;height:2px}
.nav a[data-active]{color:var(--ink);font-weight:700}
.nav a[data-active]::after{content:"";position:absolute;left:3px;right:3px;background:currentColor}
.button,.filter{min-height:44px}
.button.solid,.filter[aria-pressed=true]{background:var(--primary-bg);color:var(--primary-text);border-color:var(--control)}
.button.solid:hover{background:var(--primary-hover)}
.button.outline{border-color:var(--control);background:var(--paper)}
.button.outline:hover,.filter:hover:not([aria-pressed=true]){background:var(--control-hover)}
.button.accent{background:var(--accent);color:var(--on-accent);border:2px solid var(--neutral-white)}
.button.accent:hover{background:var(--accent-hover)}
.text-link{border:0;text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.26em}
.filter{border:1px solid var(--control);display:inline-flex;align-items:center;gap:7px;max-width:100%;text-align:left}
.filter .selected-mark{display:grid;place-items:center;flex:none;inline-size:1.18em;block-size:1.18em;border:1px solid currentColor;border-radius:var(--radius-mark)}
.filter .selected-mark .material-icon{inline-size:.9em;block-size:.9em;visibility:hidden}
.filter[aria-pressed=true] .selected-mark .material-icon{visibility:visible}
.filter[aria-pressed=true]{font-weight:750}
:focus-visible{outline:3px solid var(--focus-dark);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-light)}
.skip{min-height:44px;display:inline-flex;align-items:center;color:var(--on-accent);top:10px}
.skip:focus{z-index:20}
.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.hero h1 em{color:var(--heading-accent)}
.hero h1 span{overflow-wrap:anywhere}
.rentler-art{color:var(--panel-text);overflow:visible}
.art-frame>figcaption{align-items:center;flex-wrap:wrap}
.art-frame>figcaption a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.limble-art{background:var(--art-blue)}
.overstock-art{background:var(--art-accent)}
.overstock-art img{border-color:var(--art-border)}
.compact-art{background:var(--ochre);color:var(--on-accent)}
.compact-art .mini-line,.compact-art .mini-tags span{border-color:var(--control)}
.compact-art .mini-line{background:var(--control)}
.compact-art .kicker{color:var(--on-accent)}
.case-card{position:relative;border-bottom:1px solid var(--line);padding-bottom:20px}
.card-art{min-width:0}
.card-art .art{aspect-ratio:1.55;min-height:0}
.case-card :is(h2,h3){margin:0}
.card-link{display:inline-block;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.18em}

.card-link:hover{text-decoration-thickness:.1em}


.lens,.lens p,.lens strong{color:var(--surface-ink)}
.about-grid>*,.case-body>*{min-width:0}
.cta-band,.cta-band p{color:var(--panel-text)}
.footer{background:var(--footer-bg)}
.footer .wrap{align-items:center;column-gap:24px;row-gap:14px}
.footer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.footer-tools a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.work-status{color:var(--muted);margin-bottom:16px}
.case-copy a:not(.text-link){text-decoration-thickness:.08em}
.artifact-details{background:var(--detail-bg);color:var(--ink);margin:14px 0 0;padding:0 18px}
.artifact-details summary{font-weight:680;cursor:pointer;min-height:44px;padding:12px 0}
.artifact-details .transcript{padding-bottom:16px;max-width:75ch}
.artifact-details .transcript p+p{margin-top:10px}
main:focus-visible,h1:focus-visible{outline-offset:2px}
[data-motion="full"] .arrow{transition:transform .28s var(--ease-out)}
[data-motion="full"] .entering .hero-copy>*,
[data-motion="full"] .entering .page-head>*,
[data-motion="full"] .entering .case-header>*{animation:lift-in .52s var(--ease-out) both}
[data-motion="full"] .entering .hero-copy>:nth-child(2),
[data-motion="full"] .entering .page-head>:nth-child(2),
[data-motion="full"] .entering .case-header>:nth-child(2){animation-delay:.045s}
[data-motion="full"] .entering .hero-copy>:nth-child(3),
[data-motion="full"] .entering .case-header>:nth-child(3){animation-delay:.09s}
[data-motion="full"] .entering .hero-copy>:nth-child(4){animation-delay:.12s}
[data-motion="full"] .entering .art-frame,[data-motion="full"] .entering .case-hero{animation:art-in .72s var(--ease-out) both}
[data-motion="full"] .reveal{animation:lift-in .48s var(--ease-out) both}
[data-motion="full"] .case-card .art img{transition:transform .38s var(--ease-standard)}
[data-motion="full"] .case-card:hover .art img{transform:translateY(-3px)}
[data-motion="full"] .case-card:hover .overstock-art img{transform:rotate(-1deg) translateY(-2px)}
[data-motion="full"] .lens .refresh{animation:lift-in .32s var(--ease-out) both}
@keyframes lift-in{from{transform:translateY(8px)}to{transform:translateY(0)}}
@keyframes art-in{from{transform:translateY(12px) scale(.985)}to{transform:translateY(0) scale(1)}}
[data-motion="reduce"] *,[data-motion="reduce"] *::before,[data-motion="reduce"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-motion="reduce"] .arrow{transform:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .arrow{transform:none!important}
}
@media (max-width:900px){
  .header-inner{column-gap:12px}
  .nav{column-gap:13px}
}
@media (max-width:730px){
  .header-inner{grid-template-columns:1fr auto;gap:0 12px;padding:7px 0 2px}
  .nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:space-between;gap:0 5px}
  .hero{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:43px 38px}
  .hero h1{font-size:clamp(3rem,11vw,5.2rem)}
}
@media (min-width:731px) and (max-width:1024px){
  .hero{padding-block:66px 54px}
  .hero h1{font-size:clamp(2.8rem,6.8vw,5.3rem)}
}
@media (max-width:420px){
  .art-top .kicker{max-width:14ch;text-align:right}
  .about-grid h2,.case-header h1,.page-head h1{overflow-wrap:anywhere}
}
@media (forced-colors:active){
  :focus-visible,.case-card:focus-within{outline:3px solid Highlight;outline-offset:3px;box-shadow:none}
  .nav a[aria-current],.nav a[data-active]{text-decoration:underline}

}
/* Case diagrams use text and borders so they resize with the page. */
.diagram{background:var(--detail-bg);color:var(--ink);padding:clamp(16px,3.1vw,34px);margin:27px 0 32px}
.diagram h2{margin-top:8px}
.diagram .kicker,.diagram figcaption,.diagram p{color:var(--ink)}
.diagram figcaption{font-size:.92rem;line-height:1.55;margin-top:15px}
.diagram-sequence,.brand-reach{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:18px 0 0}
.diagram-sequence>li,.brand-reach>div{min-width:0;padding:13px 12px;border-radius:var(--radius-inset);background:var(--paper);border:1px solid var(--control)}
.diagram-sequence>li{list-style:none}
.diagram-sequence h3,.brand-reach dt{font-size:1.1rem;font-weight:750;line-height:1.24;margin:7px 0}
.diagram-sequence p,.brand-reach dd{font-size:.9rem;line-height:1.5;margin:0}
.diagram-sequence .kicker{display:block;margin:0}
.brand-hub{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:18px 0 0;padding:14px;border-radius:var(--radius-inset);background:var(--primary-bg);color:var(--primary-text);border:1px solid var(--control)}
.brand-hub .kicker{color:inherit}
.brand-reach{position:relative;margin-top:13px}
.case-hero .lens{margin:0;padding:clamp(14px,3vw,24px);background:var(--section-bg);border:1px solid var(--control);border-block-end:0;border-radius:var(--radius) var(--radius) 0 0}
.case-hero .lens h2{font-size:clamp(1.35rem,2vw,1.85rem);margin-bottom:10px}
.case-hero .lens .filters{margin:0 0 8px}
.case-hero .visual-caption{margin:10px 0 0}
.rentler-art{--flow-marker:clamp(33px,5vw,50px);--flow-gap:clamp(9px,4vw,44px);padding-inline:clamp(16px,4vw,64px)}
.workflow{display:grid;gap:clamp(20px,3vw,34px)}
.flow-label{margin-bottom:9px;font:650 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.flow-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--flow-gap);margin:0;padding:0;list-style:none}
.flow-step{position:relative;display:grid;justify-items:center;align-content:start;gap:7px;min-width:0;text-align:center;font-size:clamp(.79rem,1.35vw,1rem);line-height:var(--leading-label)}
.flow-marker{display:grid;place-items:center;inline-size:var(--flow-marker);block-size:var(--flow-marker);border:1px solid currentColor;border-radius:50%}
.flow-marker .material-icon{inline-size:55%;block-size:55%}
.flow-connector{position:absolute;inset-block-start:calc(var(--flow-marker) / 2);inset-inline-start:calc(50% + var(--flow-marker) / 2 + 5px);inline-size:max(0px,calc(100% + var(--flow-gap) - var(--flow-marker) - 10px));border-block-start:1px solid currentColor}
.flow-connector::after{content:"";position:absolute;inset-inline-end:0;inset-block-start:-4px;inline-size:7px;block-size:7px;border-block-start:1px solid currentColor;border-inline-end:1px solid currentColor;transform:rotate(45deg)}
.is-emphasized :is(.flow-label,.flow-step){font-weight:800;color:var(--neutral-white)}
.is-emphasized .flow-marker{background:var(--neutral-white);color:var(--workflow-bg);border-color:var(--neutral-white)}
[data-motion="full"] .flow-marker{transition:background-color .22s var(--ease-standard),color .22s var(--ease-standard)}
.case-hero .rental-handoff{font:650 .8rem/1.45 var(--mono);border-block-start:1px solid var(--light-wash);padding-block-start:12px}
@media(forced-colors:active){
  .is-emphasized .flow-marker{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
}
.card-link{min-block-size:44px;padding-block:4px;line-height:1.2}
:root[data-theme="dark"] ::selection{color:var(--on-accent);background:var(--accent)}
@media(max-width:730px){
  .header-inner{grid-template-columns:minmax(44px,auto) minmax(0,1fr);gap:1px 11px}
  .nav{grid-column:2;grid-row:1;justify-content:flex-end;gap:0 7px}
}
@media(max-width:560px){
  .diagram-sequence,.brand-reach{grid-template-columns:minmax(0,1fr)}
  .diagram-sequence>li,.brand-reach>div{padding:11px 12px}
}
@media(max-width:365px){
  .nav{column-gap:1px}
  .wordmark{width:56px}
  .hero h1{font-size:clamp(2.3rem,12.1vw,3rem)}
}
@media(forced-colors:active){
  .diagram,.brand-hub,.diagram-sequence>li,.brand-reach>div{border-color:CanvasText}
}
/* Site preferences and routes borrow the direct controls used in the travel projects. */
.header-inner{grid-template-columns:minmax(44px,auto) minmax(0,1fr);gap:0 12px}
.header-inner .nav{grid-column:2;grid-row:1;justify-content:flex-end}
.footer{padding-block:clamp(25px,4vw,50px)}
.footer .wrap{align-items:flex-start;gap:20px 30px}
.footer-identity .wordmark{width:68px}
.footer-identity p{margin-top:1px;font-size:.94rem}
.footer-nav{display:flex;flex-wrap:wrap;column-gap:clamp(14px,3vw,38px)}
.footer-nav a{display:inline-flex;align-items:center;gap:5px;min-height:44px;min-width:44px;font-size:.94rem}
.footer-credits{flex:0 0 100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-top:26px;font-size:.78rem}
.footer-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:15px}
.preference{min-block-size:44px;padding:7px 11px;border-radius:var(--radius-inset);font-size:.86rem}
.theme-preference{width:44px;padding:0}
.theme-preference .material-icon{width:22px;height:22px}
.theme-preference span{display:flex}
.mode-sun,[data-theme="dark"] .mode-moon{display:none!important}
[data-theme="dark"] .mode-sun{display:flex!important}
.preference[aria-pressed="true"]{background:var(--primary-bg);color:var(--primary-text)}
.preference[aria-pressed="true"]:hover{background:var(--primary-hover)}
.preference[aria-disabled="true"]{cursor:default}
.footer-preferences .motion-note{flex-basis:100%;margin:0;font-size:.85rem}
.material-icon{display:inline-block;inline-size:1em;block-size:1em;flex:none;fill:currentColor;vertical-align:-.125em}
.text-link{gap:5px}
.case-links{margin:3px 0 0}
.case-copy h2[tabindex]{scroll-margin-block-start:16px}
.rentler-mark{width:clamp(74px,11vw,125px);height:auto;margin-block:-7px}
.card-art .rentler-mark{width:84px}
.brand-section{background-color:var(--tint)}
.brand-section h2{font-size:clamp(1.55rem,3vw,2.6rem);color:var(--surface-ink)}
.brand-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:18px 0 0;padding:0;background:linear-gradient(var(--logo-divider),var(--logo-divider)),var(--panel-bg);border:1px solid var(--panel-bg);border-radius:var(--radius);overflow:hidden;list-style:none}
.brand-list li{display:grid;place-items:center;padding:clamp(7px,1.3vw,16px);background:var(--panel-bg);min-width:0}
.brand-list img{width:100%;max-width:150px}
@media(max-width:850px){.brand-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.brand-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:355px){.header-inner{gap:0 6px}}
@media(forced-colors:active){
  .button,.filter{border:2px solid ButtonText}
  .preference[aria-pressed="true"],.filter[aria-pressed="true"]{border-color:Highlight}
  .brand-list li{background:var(--panel-bg);forced-color-adjust:none}
}
h1,h2,h3{letter-spacing:-.035em;line-height:var(--leading-title)}
h1,h2{font-weight:630}
h2{font-size:clamp(1.9rem,4.2vw,3.15rem)}
.site-header{border-bottom:0;background:var(--paper)}
.header-inner{min-height:clamp(64px,7vw,86px);padding-block:8px}
.site-header .wordmark{width:clamp(67px,9vw,112px)}
.header-inner .nav{gap:4px clamp(3px,1.5vw,16px)}
.header-inner .nav a{color:var(--ink);font-weight:610;font-size:clamp(.87rem,1.3vw,1rem);padding:8px clamp(8px,1.15vw,16px);border-radius:var(--radius);line-height:var(--leading-label)}
.header-inner .nav a:is([aria-current],[data-active]){background:var(--current-bg);font-weight:750;text-decoration:none}
.header-inner .nav a:is([aria-current],[data-active])::after{display:none}
.header-inner .nav a:hover{background:var(--current-bg);text-decoration:none}
.header-inner .nav a:focus-visible{text-decoration:underline}
.hero-band,.case-band{background-color:var(--section-bg)}
.hero-band{background-image:linear-gradient(115deg,var(--hero-start),var(--hero-end))}
.case-band,.contact-band,.brand-section{background-image:var(--section-wash)}
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,7vw,105px);padding-block:clamp(30px,6vw,76px)}
.hero-copy{gap:clamp(12px,2vw,19px)}
.hero h1{font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-.045em;line-height:1.03}
.role-label{font-weight:730;line-height:var(--leading-label);font-size:.93rem;letter-spacing:.01em}
.hero .lede{font-size:clamp(1.02rem,1.7vw,1.17rem);max-width:41ch}
.home-portrait{width:min(100%,430px);justify-self:end}
.home-portrait img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}
.section{border-top:0;padding-block:clamp(44px,7vw,84px)}
.section-head{align-items:center;margin-bottom:24px}
.section-head .lede{font-size:1rem}
.section-head h2{margin:0}
.cta-band{background:var(--cta-bg)}
.cta-band h2{font-size:clamp(1.9rem,3.8vw,2.85rem)}
.button,.filter{border-radius:var(--radius)}
.button.accent{background:transparent;color:var(--panel-text);border:1px solid var(--panel-text)}
.button.accent:hover{background:var(--light-wash)}
.case-card{padding:0;border:0}
.case-tile{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;background:var(--card-bg)}
.card-art{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;overflow:hidden}
.card-art .art{min-height:0;height:auto;aspect-ratio:1.65;overflow:hidden}
.card-art .art img{height:100%;width:100%;object-fit:contain;min-height:0}
.project-thumbnail{background:var(--section-bg)}
.card-art .project-thumbnail .thumbnail-image{width:100%;height:100%;object-fit:cover}
.card-art .project-thumbnail.limble{background:var(--art-blue)}
.card-art .project-thumbnail.limble .thumbnail-image{position:absolute;top:12%;left:8%;width:84%;height:auto;border-radius:var(--radius-inset);box-shadow:0 4px 14px var(--art-shade)}
.card-art .project-thumbnail.rentler{background:var(--art-rentler)}
.card-art .project-thumbnail.rentler .thumbnail-image{position:absolute;top:9%;left:8%;width:74%;height:auto;border-radius:var(--radius-inset);box-shadow:0 4px 14px var(--art-shade)}
.card-art .project-thumbnail.rentler .thumbnail-inset{position:absolute;bottom:9%;right:7%;width:40%;height:auto;border:1px solid var(--art-border);border-radius:var(--radius-inset);box-shadow:0 4px 14px var(--art-shade)}
.project-thumbnail.catalog{display:grid;place-items:center;min-height:0;padding:clamp(12px,2.4vw,30px);background:var(--art-blue)}
.project-thumbnail.catalog .thumbnail-image,.card-art .project-thumbnail.catalog .thumbnail-image{width:100%;height:auto;object-fit:contain;border:1px solid var(--art-border);border-radius:var(--radius-inset);box-shadow:0 6px 16px var(--art-shade)}
.card-art .evidence-thumbnail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:4%;padding:6%;background:var(--art-blue)}
.card-art .evidence-thumbnail img{min-width:0;max-height:100%;height:auto;border-radius:var(--radius-inset);box-shadow:0 4px 14px var(--art-shade)}
.card-art .project-thumbnail.giftcards .thumbnail-image{object-position:50% 48%}
.card-art .project-thumbnail.overstock .thumbnail-image{object-position:50% 55%}
.project-thumbnail.phantom{display:flex;flex-direction:column;justify-content:center;gap:7%;padding:5% 8%;background:var(--brand-phantom);color:var(--neutral-white)}
.card-art .project-thumbnail.phantom img{width:clamp(72px,36%,125px);height:auto}
.dispatch-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:4px}
.dispatch-flow span{display:grid;place-items:center;padding:11% 2px;border:1px solid var(--panel-text);border-radius:var(--radius-mark);text-align:center;font-size:.76rem;font-weight:750;line-height:var(--leading-label)}
.dispatch-flow span:nth-of-type(2){background:var(--panel-text);color:var(--brand-phantom)}
.dispatch-flow .material-icon{align-self:center;width:.85rem;height:.85rem}
.card-content{display:flex;flex:1;flex-direction:column;padding:clamp(15px,2vw,23px)}
.card-label{font-size:.86rem;color:var(--muted);font-weight:720;line-height:var(--leading-label);margin-bottom:8px}
.case-card :is(h2,h3){font-size:clamp(1.25rem,2.1vw,1.65rem);font-weight:730;line-height:var(--leading-title);letter-spacing:-.02em}
.case-title-link{text-decoration:none}
.case-title-link::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.case-tile:hover .case-title-link,.case-title-link:focus-visible{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
.case-title-link:focus-visible{outline:0;box-shadow:none}
.case-tile:has(.case-title-link:focus-visible){outline:3px solid var(--focus-dark);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-light)}
.card-action{display:flex;align-items:center;gap:7px;font-size:.92rem;font-weight:760;margin-top:auto;padding-top:17px}
.card-action .material-icon{width:17px;height:17px}
[data-motion="full"] .card-action .material-icon{transition:transform .22s var(--ease-out)}
@media(hover:hover){.case-tile:hover .card-action .material-icon{transform:translateX(3px)}}
[data-motion="reduce"] .card-action .material-icon{transform:none!important}
@media(prefers-reduced-motion:reduce){.card-action .material-icon{transform:none!important}}
.page-head{padding-block:clamp(26px,4.2vw,60px) clamp(18px,3vw,36px)}
.page-head h1{font-size:clamp(2.45rem,5.1vw,4.25rem);justify-self:start}
.case-header{padding-block:clamp(17px,3vw,38px) clamp(24px,4vw,49px)}
.case-header h1{font-size:clamp(2.18rem,4.8vw,4.2rem);max-width:25ch;text-wrap:balance}
.case-facts{margin-top:2px}
.case-facts .facts{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(12px,4vw,48px);border-top:1px solid var(--line)}
.case-facts .facts div{border-bottom:0;padding:12px 0 0}
.case-facts .facts dt{font:750 .86rem/1.4 var(--sans);letter-spacing:0;text-transform:none}
.role-focus{display:block;margin-top:.35rem;color:var(--muted);line-height:var(--leading-copy)}
.case-links{display:flex;flex-wrap:wrap;align-content:start;gap:6px 17px;margin:0}
.case-links a,.case-sources a{display:inline-flex;align-items:center;gap:6px;min-block-size:44px;text-underline-offset:.2em;font-weight:680}
.case-links a .material-icon,.case-sources a .material-icon{width:16px;height:16px}
.case-content{padding-block:clamp(25px,5vw,56px) clamp(40px,6vw,76px)}
.case-content .case-hero{max-width:950px;margin-inline:auto;margin-bottom:clamp(20px,3.5vw,40px)}
.case-content .case-hero .art{border-radius:var(--radius)}
.case-content .case-hero .rentler-art{border-radius:0 0 var(--radius) var(--radius)}
.case-content .case-hero .overstock-art{padding:0;background:var(--section-bg)}
.case-content .case-hero .overstock-art img{width:100%;max-width:none;border:0;box-shadow:none;transform:none;max-height:540px;object-fit:cover}
.case-content .case-hero .limble-art{background:var(--section-bg)}
.case-content .case-hero .limble-art img{max-width:630px}
.case-copy{max-width:840px;margin-inline:auto}
.case-chapter{padding-top:24px;border-top:1px solid var(--line)}
.case-copy .case-chapter+.case-chapter{margin-top:clamp(30px,5vw,56px)}
.case-copy h2{font-size:clamp(1.75rem,3.8vw,2.65rem);margin-bottom:15px}
.case-copy p{font-size:clamp(1rem,1.5vw,1.1rem);line-height:var(--leading-copy);max-width:70ch}
.case-comparison,.case-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.case-comparison>div,.case-options>div{padding:clamp(12px,2.5vw,20px);border-radius:var(--radius);background:var(--detail-bg)}
.case-comparison h3,.case-options dt{font-size:1.11rem;font-weight:760;margin:0 0 7px}
.case-comparison p,.case-options dd{font-size:1rem;margin:0}
.evidence{margin-block:24px 0;background:var(--section-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.evidence img{width:auto;max-width:100%;max-height:610px;object-fit:contain;margin:0 auto}
.evidence-full img{width:100%;max-height:none}
.evidence figcaption{padding:13px clamp(12px,2.6vw,21px);color:var(--ink);border-top:1px solid var(--line);font-size:.94rem}
.evidence-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-block:24px}
.evidence-pair .evidence{margin:0}
.evidence-pair img{width:100%;max-height:none}
.evidence + p{margin-top:20px}
.case-end-actions{gap:10px 16px}
.project-note-visual{max-width:790px;margin-inline:auto}
.project-note-visual .art{min-height:0}
.project-note-visual .phantom{aspect-ratio:2.2}
.project-note-visual .thumbnail-image{width:100%;border-radius:var(--radius)}
.contact-band{background-color:var(--section-bg)}
.contact-layout,.contact-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px)}
.contact-layout{align-items:center;padding-block:clamp(36px,6.5vw,92px)}
.contact-intro h1{width:fit-content;font-size:clamp(2.8rem,6.7vw,5.4rem);margin-block:10px 16px}
.contact-intro .lede{max-width:36ch}
.contact-card{background:var(--contact-bg);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3.2vw,42px)}
.contact-card h2{font-size:1rem;font-weight:750;letter-spacing:0}
.contact-card address{font-size:clamp(1.65rem,3.1vw,2.6rem);font-style:normal;line-height:1.2;margin-block:6px 12px}
.contact-card address a{display:inline-flex;align-items:center;min-height:44px;font-weight:770;letter-spacing:-.035em;overflow-wrap:anywhere;text-underline-offset:.16em;text-decoration-thickness:.06em;max-width:100%}
.contact-card .actions{margin-top:10px;gap:6px 17px}
.contact-status{min-block-size:1.45em;margin-top:5px;color:var(--ink);font-size:.9rem}
.contact-card .contact-resume{margin-top:9px;font-size:.93rem;color:var(--ink)}
.contact-details{align-items:start;padding-block:clamp(30px,5.6vw,74px)}
.contact-details h2{font-size:clamp(1.65rem,3vw,2.55rem);margin-bottom:12px}
.contact-details p{max-width:49ch;color:var(--muted)}
.contact-facts{margin:0;border-block-start:1px solid var(--line)}
.contact-facts div{display:grid;grid-template-columns:clamp(4.5rem,9vw,7rem) minmax(0,1fr);gap:12px;padding-block:13px;border-block-end:1px solid var(--line)}
.contact-facts dt{font-weight:750}
.contact-facts dd{margin:0;color:var(--muted)}
.contact-facts dd span{display:block}
@media(max-width:780px){
  .contact-layout,.contact-details{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:420px){
  .contact-facts div{grid-template-columns:minmax(0,1fr);gap:3px}
}
.about-portrait img{aspect-ratio:3/2;border-radius:var(--radius);object-position:35% center}
.about-portrait figcaption{font-size:calc(.875rem - 1px);text-align:center}
.about-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:20px 12px}
@media(max-width:620px){.about-proof{grid-template-columns:minmax(0,1fr)}}
.about-proof figure{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:clamp(19px,3vw,29px);border-radius:var(--radius);background:var(--quote-bg)}
.about-proof blockquote{margin:0;font-size:1.08rem;line-height:var(--leading-copy)}
.about-proof figcaption{color:var(--muted);font-size:.93rem;line-height:var(--leading-label)}
.about-proof figcaption strong{display:inline-block;margin-bottom:4px;color:var(--ink)}
.career-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:14px;margin:22px 0 0;padding:0;list-style:none}
.career-glance li{border-top:1px solid var(--line);padding-block:12px 0}
.career-glance li > a{display:inline-flex;align-items:center;min-height:44px;font-weight:750}
.career-glance p{color:var(--muted)}
.case-sources{padding-left:21px;margin:0 0 20px}
.diagram-sequence h4{font-size:1.08rem;line-height:1.24;margin:7px 0}
.diagram h3{font-size:clamp(1.3rem,2.6vw,1.9rem);margin-top:8px}
.diagram,.artifact-details{border-radius:var(--radius)}
@media(max-width:730px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:22px}
  .case-facts .facts{grid-template-columns:minmax(0,1fr);gap:0}
}
@media(max-width:630px){
  .section-head{align-items:flex-start}
}
@media(max-width:560px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .home-portrait{justify-self:start;width:min(100%,350px)}
  .case-options,.case-comparison{grid-template-columns:minmax(0,1fr)}
  .evidence-pair{grid-template-columns:minmax(0,1fr)}
}
@media(forced-colors:active){
  .header-inner .nav a:is([aria-current],[data-active]){text-decoration:underline}
  .case-tile{border-color:CanvasText}
  .case-tile:has(.case-title-link:focus-visible){outline-color:Highlight;box-shadow:none}
}


/* Natural keyboard and fragment entry points for server-rendered views. */
.case-title-link[id]{scroll-margin-top:1.5rem}

/* Editorial photography supports nearby text without interrupting the page flow. */
.contact-photo{display:block;width:100%;height:auto;border-radius:var(--radius)}
.contact-photo{margin-block-start:20px}

/* Shared spacing and reflow for the editorial pages. */
.header-inner .nav a:is([aria-current],[data-active]){color:var(--heading-accent)}
.home-portrait{width:min(100%,430px)}
.home-portrait img{aspect-ratio:1}
.card-action{color:var(--heading-accent);line-height:var(--leading-label)}
.card-label,.case-links a,.case-facts dd,.contact-facts dd{overflow-wrap:break-word}
.case-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.case-links a{justify-self:start;line-height:var(--leading-label)}
.case-links a svg{flex:none}
.case-chapter,.career-glance li{border-color:var(--line)}
.topic-panel{margin-bottom:15px}
.topic-panel summary{min-height:44px;width:fit-content;max-width:100%;padding:11px 14px;border:1px solid var(--control);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;font-weight:730;line-height:var(--leading-label)}
.topic-panel summary:hover{background:var(--control-hover)}
.topic-panel summary::marker{color:var(--heading-accent)}
.topic-panel .filters{margin:10px 0 0}
.topic-current{color:var(--muted);font-size:.9rem;font-weight:600}
.topic-current:not(:empty)::before{content:" · "}
.topic-panel.enhanced:not(.compact) summary{display:none}
.topic-panel.enhanced:not(.compact) .filters{margin-top:0}
.work-status{letter-spacing:.08em}
.contact-status:empty{min-block-size:0;margin-top:0}
.contact-photo{aspect-ratio:2;object-fit:cover;object-position:50% 52%}
@media (min-width:631px) and (max-width:850px){
  #featured > :last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #featured > :last-child:nth-child(odd) .card-art{border-radius:calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px)}
  #featured > :last-child:nth-child(odd) .art{height:100%}
}
@media (max-width:780px){
  .about-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
  .about-portrait img{aspect-ratio:1;object-position:34% center}
  .contact-layout,.contact-details{gap:22px}
}
@media (max-width:630px){
  .about-grid{grid-template-columns:minmax(0,1fr)}
  .about-portrait{grid-row:1}
  .about-portrait img{aspect-ratio:3/2;object-position:35% center}
  .home-portrait{width:100%;max-width:430px;justify-self:center}
  .home-portrait img{aspect-ratio:3/2;object-position:50% 30%}
  .hero{grid-template-columns:minmax(0,1fr);gap:22px}
  .hero .actions{gap:4px 15px}
  .case-links{gap:0 10px}
  .case-links a{font-size:.9rem}
  .footer .wrap{gap:14px 24px}
  .footer-credits{padding-top:11px}
  .footer-nav{column-gap:15px}
  .contact-details{display:flex;flex-direction:column}
  .contact-details>div{display:contents}
  .contact-details>p,.contact-details>h2{margin:0}
  .contact-details>.contact-facts{order:1;width:100%}
  .contact-details .contact-photo{order:2;margin-top:0}
}

/* Each comparison shares the screenshot and caption tracks when side by side. */
.evidence-pair{align-items:stretch}
.evidence-pair .evidence{display:flex;flex-direction:column}
.evidence-pair .evidence img{background:var(--neutral-white);object-position:top center}
.evidence-pair .evidence figcaption{flex:1;line-height:var(--leading-copy)}
@supports (grid-template-rows:subgrid){
  @media (min-width:561px){
    .evidence-pair{row-gap:0}
    .evidence-pair .evidence{display:grid;grid-row:span 2;grid-template-rows:subgrid}
    .evidence-pair .evidence img{height:100%;min-height:0}
  }
}
.sharing-art,.project-thumbnail.sharing{background:var(--art-blue);display:grid;align-items:center;padding:clamp(14px,3vw,36px)}
.sharing-art img,.card-art .project-thumbnail.sharing .thumbnail-image{width:100%;height:auto;object-fit:contain;border-radius:var(--radius-inset);box-shadow:0 4px 14px var(--art-shade)}

/* Portfolio evidence and summaries use the same color and type roles as the rest of the site. */
.case-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.5vw,28px);margin:6px 0 0;padding:clamp(15px,2.4vw,24px);background:var(--card-bg);border-radius:var(--radius)}
.case-brief>div{min-width:0}
.case-brief dt{color:var(--heading-accent);font-weight:760;line-height:var(--leading-label)}
.case-brief dd{margin:7px 0 0;color:var(--muted);font-size:.95rem;line-height:var(--leading-copy)}
#selected-title{scroll-margin-block-start:1.5rem}
.home-recommendation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:clamp(14px,4vw,54px)}
.home-recommendation .about-proof{grid-template-columns:minmax(0,1fr);margin:0}
.quote-panel{display:flex;flex-direction:column;gap:12px;min-width:0;background:var(--quote-bg);border-radius:var(--radius);padding:clamp(19px,3vw,29px)}
.quote-slide{display:flex;grid-area:1 / 1;min-width:0}
.quote-slide[aria-hidden="true"]{visibility:hidden}
.quote-panel .quote-slide figure{width:100%;padding:0;background:transparent}
.quote-controls{order:1;display:flex;align-items:center;gap:4px;margin-inline-start:-10px}
.quote-control{display:grid;place-items:center;inline-size:44px;block-size:44px;padding:0;border:0;border-radius:var(--radius-inset);background:transparent;color:var(--ink)}
.quote-control:hover:not([aria-disabled="true"]){background:var(--control-hover)}
.quote-control[aria-disabled="true"]{cursor:default;color:var(--muted)}
.quote-control .material-icon{width:1.25rem;height:1.25rem}
[data-motion="full"] .quote-slide[aria-hidden="false"] figure{animation:quote-in .42s var(--ease-out) both}
@keyframes quote-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.home-colleagues h2{font-size:clamp(1.8rem,3.5vw,2.85rem)}
.home-colleagues .text-link{margin-block-start:.35rem}
@media(max-width:630px){
  .home-recommendation{grid-template-columns:minmax(0,1fr)}
}
.proof-intro{margin-top:12px}
.decision-diagram h3,.decision-note h3{font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:var(--leading-title)}
.decision-diagram h3{margin-top:0}
.decision-diagram .diagram-sequence>li{border:0;background:var(--card-bg)}
.decision-diagram .diagram-sequence .kicker{color:var(--heading-accent)}
.decision-diagram .diagram-sequence p{margin-bottom:0;font-size:.95rem}
.brand-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}
.brand-timeline h3{font-size:1.1rem;line-height:var(--leading-title)}
@media(max-width:850px){.brand-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.brand-timeline{grid-template-columns:minmax(0,1fr)}}
.decision-note{margin-block:24px}
.decision-note .case-options{margin-block:12px 0}
.artifact-paper img{background:var(--neutral-white)}
.case-copy .evidence img{object-position:top center}
@media(max-width:650px){
  .case-brief{grid-template-columns:minmax(0,1fr)}
  .case-brief dd{margin-top:4px}
}

/* Context photographs fill paired evidence frames. UI and print artifacts stay contained. */
.case-copy .evidence-pair .evidence-photo img{object-fit:cover;object-position:center}

.evidence-detail{max-inline-size:34rem;margin-inline:auto}
.evidence-detail img{width:100%}
.recovery-evidence{max-inline-size:690px;margin-inline:auto;align-items:start;row-gap:14px}
.recovery-evidence.evidence-pair .evidence{display:block;grid-row:auto}
.recovery-evidence.evidence-pair .evidence img{height:auto}
@media(max-width:630px){.recovery-evidence{max-inline-size:338px;grid-template-columns:minmax(0,1fr)}}

/* Case study overview, chapter navigation, and figures. */
.case-header .lede{max-width:68ch}
.case-index{max-width:840px;margin:0 auto clamp(22px,3.5vw,40px);padding:0 clamp(12px,2vw,20px);background:var(--detail-bg);border-radius:var(--radius)}
.case-index summary{min-block-size:44px;padding-block:10px;font-weight:750;cursor:pointer}
.case-index[open] .case-links{padding-block-end:10px}
.case-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:clamp(32px,4vw,52px)}
.case-video{display:grid;align-content:start;gap:10px;min-width:0}
.case-video h3{margin:0;font-size:clamp(1.125rem,1.7vw,1.375rem);line-height:var(--leading-label);letter-spacing:-.015em}
.case-video iframe{display:block;width:100%;height:auto;min-height:200px;aspect-ratio:16/9;border:0;border-radius:var(--radius);background:var(--panel-bg)}
.case-video .text-link{justify-self:start}
.limble-showcase{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(18px,4vw,50px);padding:clamp(20px,5vw,56px);background:var(--section-bg);background-image:var(--section-wash);border-radius:var(--radius)}
.showcase-copy{display:grid;gap:clamp(10px,1.6vw,18px);min-width:0}
.showcase-copy>p:not(.showcase-title){color:var(--muted)}
.showcase-eyebrow{font-size:.88rem;font-weight:760}
.showcase-title{color:var(--ink);font-size:clamp(1.65rem,3.8vw,3.1rem);font-weight:750;line-height:var(--leading-title);letter-spacing:-.025em;text-wrap:balance}
.showcase-media{min-width:0;padding:clamp(8px,1.5vw,16px);border-radius:var(--radius);background:var(--art-blue)}
.showcase-media img{width:100%;border-radius:var(--radius-inset);box-shadow:0 6px 20px var(--art-shade)}
.showcase-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.showcase-facts dt{font-size:.81rem;color:var(--muted)}
.showcase-facts dd{margin:3px 0 0;color:var(--ink);font-weight:750;line-height:var(--leading-label)}
.case-explorer{margin-block:24px;padding:clamp(14px,2.6vw,24px);background:var(--detail-bg);border-radius:var(--radius)}
.explorer-controls{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:14px}
.explorer-panels{display:grid;gap:12px}
.explorer-panel{min-width:0;padding:clamp(14px,2.4vw,24px);background:var(--card-bg);border-radius:var(--radius)}
.explorer-panel h3{margin:0 0 7px;font-size:clamp(1.18rem,2.2vw,1.55rem)}
.case-copy .explorer-panel p{margin:0}
.case-copy .explorer-question{font-weight:700;color:var(--ink)}
.case-copy .explorer-question+p{margin-block-start:8px}
.explorer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;padding:0;list-style:none}
.explorer-metrics li{padding:9px 10px;background:var(--detail-bg);color:var(--heading-accent);border-radius:var(--radius-inset);font-size:.93rem;font-weight:730;line-height:var(--leading-label)}
.report-schematic{display:grid;gap:6px;width:min(100%,340px);min-height:112px;margin:12px 0;padding:10px;background:var(--detail-bg);border-radius:var(--radius-inset)}
.report-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr)}
.report-snapshot i:first-child{grid-column:span 2}
.report-print{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(5,1fr)}
.report-schematic i{display:block;background:var(--art-blue);border:1px solid var(--art-border);border-radius:var(--radius-mark)}
.case-copy .evidence-compact img{max-height:440px;object-fit:contain}
.case-testimonial{margin-block:22px;padding:clamp(16px,2.8vw,24px);border-radius:var(--radius);background:var(--quote-bg)}
.case-testimonial blockquote{margin:0}
.case-copy .case-testimonial p{margin:0 0 10px;color:var(--ink)}
.case-testimonial figcaption{font-size:.92rem;color:var(--muted)}
[data-motion="full"] .explorer-panel.refresh{animation:quote-in .32s var(--ease-out) both}
@media(max-width:650px){
  .limble-showcase{grid-template-columns:minmax(0,1fr)}
  .showcase-media{max-width:400px;justify-self:center}
}
@media(max-width:440px){
  .case-index .case-links,.explorer-metrics{grid-template-columns:minmax(0,1fr)}
}

.case-addition{margin-block-start:clamp(28px,4vw,44px)}
.case-addition h3,.case-chapter > h3{font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:var(--leading-title);margin-block:28px 12px}
.case-addition h4{font-size:clamp(1.13rem,2vw,1.35rem);line-height:var(--leading-title);margin-block:26px 10px}
.case-addition h3[tabindex]{scroll-margin-block-start:16px}
.case-addition-diagram figcaption{font-size:1.13rem;font-weight:750;margin:0}
.case-addition-diagram .diagram-sequence li p + p{margin-top:5px}
.case-table{margin-block:24px}
.case-table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:clamp(.84rem,1.5vw,1rem);line-height:1.45}
.case-table caption{text-align:start;font-weight:750;font-size:1.13rem;margin-block-end:8px}
.case-table th,.case-table td{padding:clamp(6px,1.3vw,12px);vertical-align:top;text-align:start;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}
.case-table th{color:var(--ink)}
.case-table thead{background:var(--section-bg)}
.case-table th:first-child{width:24%}
.card-art .mymove-thumbnail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:4%;padding:5% 9%;background:var(--art-blue)}
.card-art .mymove-thumbnail img{width:100%;height:100%;min-width:0;object-fit:contain}

.case-copy .rentler-confirmation-comparison .evidence img{object-position:center}
