:root{--black:#080808;--charcoal:#202020;--white:#fff;--yellow:#f5e900;--muted:#b8b8b2;--line:#484844;--paper:#f3f3ee}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button{color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,dl{margin:0}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.light button:focus-visible,.light a:focus-visible{outline-color:var(--black)}.shell{width:min(1400px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:112px}.eyebrow,.tiny-label,.screen-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--yellow)}h1,h2{font-weight:700;letter-spacing:-.06em;line-height:.98}h2{font-size:clamp(45px,5.2vw,78px)}p{font-size:20px;line-height:1.4}.skip{position:fixed;top:-80px;left:12px;z-index:99;background:var(--yellow);color:var(--black);padding:14px}.skip:focus{top:12px}
.site-header{min-height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 48px;font-size:12px}.portfolio-signature{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.04em}.box-mark{display:block;width:25px;height:25px;border:2px solid currentColor;position:relative}.box-mark:after{content:'';position:absolute;inset:5px -2px -2px 5px;border:2px solid currentColor;background:var(--black)}.header-context{color:var(--muted)}.draft-label{border:1px solid var(--line);padding:9px 12px;color:var(--muted)}
.hero{padding-top:48px;padding-bottom:88px}.hero>.eyebrow{display:flex;justify-content:space-between}.hero-intro{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:70px;margin-top:35px;margin-bottom:54px}h1{font-size:clamp(64px,8.2vw,122px)}.hero-intro>p{max-width:420px;padding-bottom:5px;color:var(--muted);font-size:clamp(18px,1.8vw,24px)}.hero-art{border:1px solid var(--line);background:var(--black)}.hero-art img{width:100%}.hero-art figcaption{padding:17px 20px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.light{background:var(--paper);color:var(--black)}.light .eyebrow{color:var(--black)}.overview{padding-block:104px}.overview-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:100px}.project-facts dl{margin-top:30px}.project-facts dl>div{padding:18px 0;border-top:1px solid #c4c4be}.project-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.project-facts dd{margin:0;font-size:18px;line-height:1.45}.overview-story>h2{margin-bottom:32px}.overview-story>p{max-width:680px;margin-top:18px}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:50px;margin-bottom:42px}.section-heading h2{width:60%}.side-note{font-size:16px;color:var(--muted);width:40%;max-width:300px}.statement{font-size:clamp(46px,6.7vw,100px);margin:70px 0 42px}.statement span{color:var(--yellow)}.two-copy{display:grid;grid-template-columns:1fr 1fr;gap:64px}.two-copy p{max-width:600px;color:var(--muted)}.positioning{border-bottom:1px solid var(--line)}
.identity{padding-bottom:100px}.identity-board{display:grid;grid-template-columns:1.8fr 1fr;border:1px solid var(--line)}.grid-pattern{background-image:linear-gradient(to right,#f5e90018 1px,transparent 1px),linear-gradient(to bottom,#f5e90018 1px,transparent 1px);background-size:64px 64px;background-position:-1px -1px}.logo-display{grid-column:1/-1;padding:92px 7%;background-color:var(--charcoal);border-bottom:1px solid var(--line)}.logo-display img{width:100%}.type-display{padding:40px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:25px;border-right:1px solid var(--line)}.tiny-label{grid-column:1/-1;color:var(--muted)}.type-specimen{font-size:clamp(50px,6vw,86px);line-height:.93;letter-spacing:-.06em;font-weight:700}.type-detail{font-size:18px;color:var(--muted);padding-bottom:5px}.color-display{display:flex;flex-direction:column}.swatch{min-height:92px;padding:21px 25px;display:flex;justify-content:space-between;align-items:end;font-size:12px;gap:12px}.yellow{background:var(--yellow);color:var(--black)}.charcoal{background:var(--charcoal);color:var(--white)}.white{background:var(--white);color:var(--black)}.identity-copy{margin-top:32px}
.deck-section{background:var(--charcoal)}.section-lead{max-width:680px;color:var(--muted);margin-bottom:35px}.deck-viewer{border:1px solid var(--line);background:var(--black)}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;font-size:12px;color:var(--muted)}.text-button{background:none;border:0;font-size:12px;padding:6px 0}.text-button:hover{color:var(--yellow)}.slide-image-button,.image-expand{border:0;padding:0;display:block;background:transparent;width:100%;text-align:left}.slide-image-button img{width:100%;aspect-ratio:16/9}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 24px;border-top:1px solid var(--line)}.slide-caption{display:flex;gap:24px;align-items:center}.slide-caption>span{font-size:12px;color:var(--yellow);white-space:nowrap}.slide-caption p{font-size:18px}.slide-controls{display:flex;gap:10px}.slide-controls button{width:46px;height:46px;border:1px solid var(--line);background:transparent;font-size:23px}.slide-controls button:hover{background:var(--yellow);color:var(--black)}.slide-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.slide-tabs button{background:none;border:0;border-right:1px solid var(--line);padding:17px;text-align:left;color:var(--muted);font-size:12px;display:flex;gap:12px}.slide-tabs button:last-child{border-right:0}.slide-tabs button[aria-current]{background:var(--yellow);color:var(--black)}.slide-tabs button:hover{color:var(--white)}.slide-tabs button[aria-current]:hover{color:var(--black)}.source-note{font-size:12px;color:var(--muted);margin-top:18px;max-width:900px}
.product-section .two-copy{margin-bottom:45px}.product-stage{padding:70px 45px 55px;display:grid;grid-template-columns:3.1fr 1fr;align-items:center;gap:38px;border:1px solid var(--line);background-color:#181818}.screen-label{font-size:10px;letter-spacing:.08em;display:block;margin-bottom:16px;color:var(--muted)}.desktop-screen img{width:100%;box-shadow:0 24px 55px #0008}.phone-screen{max-width:265px;justify-self:end}.phone-screen img{width:100%;box-shadow:0 24px 55px #0008}.image-expand{transition:transform .2s}.image-expand:hover{transform:translateY(-3px)}
.production-copy{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:44px}.production-copy p{font-size:19px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px}.detail-gallery figcaption{font-size:12px;margin-top:13px}.detail-gallery img{border:1px solid #cecec8;width:100%}.production-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.production-notes>div{border-top:1px solid #aaa;padding-top:18px}.production-notes span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.production-notes p{font-size:17px;margin-top:15px}
.outcome h2{margin-block:35px 45px;font-size:clamp(48px,7.1vw,105px)}.outcome-bottom{display:grid;grid-template-columns:1fr 1fr;gap:90px}.outcome-bottom>p{color:var(--muted);max-width:630px}.action-link{display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--yellow);color:var(--black);text-decoration:none;font-size:16px;font-weight:700;padding:21px 22px;border:1px solid var(--yellow)}.action-link:hover{background:var(--white);border-color:var(--white)}.action-link.secondary{margin-top:12px;background:transparent;color:var(--white);border-color:var(--line);font-weight:400}.action-link.secondary:hover{border-color:var(--yellow)}.preview-note{font-size:11px;color:var(--muted);margin-top:12px}.project-context{display:flex;justify-content:space-between;gap:50px;margin-top:75px;padding-top:25px;border-top:1px solid var(--line)}.project-context p{max-width:800px;font-size:13px;color:var(--muted)}.project-context a{font-size:12px;white-space:nowrap}.site-footer{padding:28px 48px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
dialog{max-width:min(1500px,96vw);width:96vw;max-height:96vh;padding:0 20px 15px;border:1px solid var(--line);color:var(--white);background:var(--black)}dialog::backdrop{background:#000e}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 0}.dialog-toolbar p{font-size:14px}.dialog-toolbar button{border:1px solid var(--line);background:var(--charcoal);padding:10px 18px;white-space:nowrap}.dialog-toolbar button:hover{border-color:var(--yellow)}#dialog-image{max-height:78vh;width:auto;max-width:100%;margin:auto;object-fit:contain}.dialog-hint{font-size:11px;color:var(--muted);text-align:center;margin-top:15px}
@media(min-width:1600px){.shell{width:min(1480px,calc(100% - 120px))}.hero-intro{grid-template-columns:1.5fr 1fr}}
@media(max-width:950px){.shell{width:calc(100% - 56px)}.site-header{padding-inline:28px}.header-context{display:none}.hero-intro{gap:35px;grid-template-columns:1.3fr 1fr}.hero-intro>p{font-size:18px}.section-space{padding-block:80px}.overview{padding-block:75px}.overview-grid{gap:45px;grid-template-columns:.85fr 1.4fr}.two-copy,.production-copy{gap:36px}.identity-board{grid-template-columns:1.4fr 1fr}.type-display{padding:30px;grid-template-columns:1fr}.type-detail{font-size:15px}.swatch{min-height:104px}.slide-tabs button{gap:8px;padding:14px 10px}.slide-tabs button span{font-size:11px}.product-stage{padding:45px 25px 35px;gap:24px}.outcome-bottom{gap:40px}.site-footer{padding-inline:28px}}
@media(max-width:650px){.shell{width:calc(100% - 36px)}.site-header{padding:17px 18px;min-height:74px;gap:14px}.portfolio-signature{font-size:17px}.box-mark{width:21px;height:21px}.draft-label{font-size:9px;padding:7px;max-width:115px;text-align:center}.hero{padding-top:30px;padding-bottom:50px}.hero>.eyebrow{font-size:9px;gap:18px}.hero-intro{display:block;margin:28px 0 32px}h1{font-size:clamp(53px,13.4vw,85px)}.hero-intro>p{margin-top:25px;font-size:18px;max-width:420px}.hero-art figcaption{padding:12px;font-size:9px;gap:12px}.section-space{padding-block:60px}.overview{padding-block:55px}.overview-grid{display:flex;flex-direction:column-reverse;gap:40px}.overview-story h2{font-size:48px;margin-bottom:25px}.overview-story p,p{font-size:18px}.project-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.project-facts dl>div:first-child{grid-column:1/-1}.project-facts dd{font-size:16px}.project-facts .eyebrow{font-size:11px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{width:100%;margin-top:25px;font-size:48px}.side-note{width:100%;margin-top:15px;font-size:15px}.statement{font-size:clamp(31px,7.6vw,48px);margin:38px 0 30px;letter-spacing:-.05em}.two-copy,.production-copy{grid-template-columns:1fr;gap:20px}.identity-board{grid-template-columns:1fr}.logo-display{padding:50px 7%}.type-display{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:25px;padding:28px}.type-specimen{font-size:60px}.color-display{flex-direction:row}.swatch{flex:1;min-width:0;min-height:100px;flex-direction:column;align-items:start;padding:17px 12px;font-size:10px;gap:30px}.identity-copy{margin-top:25px}.section-lead{font-size:18px}.viewer-top{padding:11px 12px;font-size:10px}.text-button{font-size:10px}.viewer-bottom{padding:14px 12px;gap:12px}.slide-caption{display:block}.slide-caption>span{font-size:10px}.slide-caption p{font-size:14px;margin-top:5px;line-height:1.2}.slide-controls{gap:5px}.slide-controls button{width:35px;height:38px;font-size:19px}.slide-tabs button{justify-content:center;padding:13px 4px}.slide-tabs button span{display:none}.source-note{font-size:11px}.product-stage{grid-template-columns:1fr;gap:36px;padding:25px 15px}.phone-screen{width:53%;max-width:230px;justify-self:center}.screen-label{font-size:9px}.product-section .two-copy{margin-bottom:30px}.detail-gallery{grid-template-columns:1fr;gap:28px}.production-copy p{font-size:18px}.production-notes{grid-template-columns:1fr;gap:25px;margin-top:38px}.production-notes p{font-size:17px;margin-top:10px}.outcome h2{font-size:52px;margin:30px 0}.outcome-bottom{grid-template-columns:1fr;gap:30px}.project-context{display:block;margin-top:45px}.project-context a{display:inline-block;margin-top:24px}.site-footer{padding:23px 18px;display:block;font-size:11px}.site-footer>span{display:block;margin-top:5px}.dialog-toolbar p{font-size:11px}.dialog-toolbar button{padding:8px 10px;font-size:12px}dialog{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Short captions let the artwork carry the case study. */
.visual-caption{margin-top:22px;font-size:14px;color:var(--muted)}
.light .section-lead{color:#50504a}
.outcome-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.outcome-actions .action-link.secondary{margin-top:0}
@media(max-width:650px){.outcome-actions{grid-template-columns:1fr}.overview-story>h2{font-size:40px}.visual-caption{font-size:13px}}

/* Mark development: supplied three-stage concept, with the approved final path. */
.mark-development{margin-bottom:46px;scroll-margin-top:32px}
.mark-story-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:32px}
.mark-story-intro h3{margin:0;font-size:clamp(28px,3.1vw,44px);line-height:1.03;letter-spacing:-.045em;font-weight:700}
.mark-story-intro p{font-size:18px;color:var(--muted);max-width:570px}
.mark-progression{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;background:var(--charcoal);border:1px solid var(--line)}
.mark-progression>li{min-width:0;padding:28px 25px 30px}
.mark-progression>li+li{border-left:1px solid var(--line)}
.mark-stage{height:250px;display:flex;align-items:center;justify-content:center}
.mark-stage img{width:100%;max-width:320px;height:auto}
.mark-step-copy{display:grid;grid-template-columns:24px 1fr;gap:16px;padding-top:20px;border-top:1px solid var(--line)}
.mark-step-number{font-size:12px;font-weight:700;color:var(--yellow);padding-top:5px}
.mark-step-copy h3{font-size:23px;line-height:1.05;letter-spacing:-.03em;margin:0}
.mark-step-copy p{font-size:16px;line-height:1.35;color:var(--muted);max-width:230px}
@media(max-width:950px){.mark-story-intro{gap:36px}.mark-progression>li{padding:18px 18px 25px}.mark-stage{height:210px}.mark-step-copy{gap:10px;grid-template-columns:20px 1fr}.mark-step-copy h3{font-size:20px}.mark-step-copy p{font-size:15px}}
@media(max-width:650px){.mark-development{margin-bottom:30px}.mark-story-intro{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.mark-story-intro h3{font-size:34px}.mark-story-intro p{font-size:18px}.mark-progression{grid-template-columns:1fr}.mark-progression>li{padding:12px 25px 28px}.mark-progression>li+li{border-left:0;border-top:1px solid var(--line)}.mark-stage{height:245px}.mark-stage img{max-width:280px}.mark-step-copy{gap:16px;grid-template-columns:24px 1fr}.mark-step-copy h3{font-size:23px}.mark-step-copy p{font-size:16px;max-width:270px}}

/* Existing Crump.Design navigation, isolated from the project artwork. */
:root{--green:#275505;--cream:#f8e7d9;--orange:#ff4b1c;--ink:#15200f}
.site-header{
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 28px;
  padding: 0;
  background: var(--green);
  color: var(--cream);
}
.brand{
  display: flex;
  width: min(306px, 40vw);
  min-height: 118px;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 14px;
  background: var(--green);
}
.brand img{
  width: min(278px, calc(100% - 28px));
}
.site-nav{
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.8vw, 34px);
  padding: 28px clamp(18px, 5vw, 72px) 28px 0;
}
.menu-toggle{
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 3px solid currentColor;
  border-radius: 0;
  padding: 0 18px;
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}
.menu-toggle span{
  pointer-events: none;
}
.menu-toggle:hover,.menu-toggle:focus-visible{
  transform: translateY(-3px);
  box-shadow: 8px 8px 0 var(--orange);
}
.site-nav a,.button{
  position: relative;
  z-index: 0;
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 4px solid currentColor;
  padding: 0 30px;
  font-weight: 900;
  text-transform: uppercase;
  transition:
    transform 160ms ease,
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease;
}
.site-nav a{
  min-width: 112px;
  color: var(--cream);
  font-size: 0.82rem;
}
.site-nav a:hover,.site-nav a:focus-visible,.button:hover,.button:focus-visible{
  transform: translateY(-3px);
  box-shadow: 8px 8px 0 var(--orange);
}
.button.primary{
  border-color: var(--orange);
  background: var(--orange);
  color: var(--cream);
}
.button.primary::after{
  content: none;
}
.button.primary:hover,.button.primary:focus-visible{
  box-shadow:
    8px 8px 0 -4px var(--green),
    8px 8px 0 0 var(--cream);
}
.button.secondary{
  border-color: var(--cream);
  color: var(--cream);
}
.project-nav{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(28px, 5vw, 56px) clamp(18px, 5vw, 72px);
  background: var(--cream);
}
.project-nav .button.secondary{
  border-color: var(--green);
  color: var(--green);
}
@media (max-width: 1040px){.site-header{
    position: absolute;
  }
.brand{
    width: 180px;
    min-height: 82px;
    padding: 12px;
  }
.brand img{
    width: min(156px, calc(100% - 24px));
  }
.site-nav{
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 16px 18px 16px 0;
  }
.site-nav a{
    min-width: 90px;
    min-height: 38px;
    padding: 0 14px;
    border-width: 3px;
  }}
@media (max-width: 680px){.site-header{
    align-items: flex-start;
    gap: 0;
  }
.brand{
    width: min(220px, 58vw);
    min-height: 82px;
    padding: 12px;
  }
.brand img{
    width: min(196px, calc(100% - 24px));
  }
.menu-toggle{
    display: inline-flex;
    margin: 20px 14px 0 auto;
  }
.site-nav{
    position: absolute;
    top: 82px;
    right: 14px;
    left: 14px;
    display: grid;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    border: 4px solid var(--cream);
    background: var(--green);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition:
      opacity 160ms ease,
      transform 160ms ease;
  }
.site-header.is-menu-open .site-nav{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
.site-nav a{
    width: 100%;
    min-height: 54px;
    min-width: auto;
    border: 3px solid var(--cream);
    padding: 0 18px;
    font-size: 0.86rem;
  }
.button{
    width: 100%;
  }
.project-nav{
    flex-direction: column;
  }}
.site-header{position:relative;min-height:0;border:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;letter-spacing:0}
.site-header a,.project-nav a{text-decoration:none}
.site-header .brand img{height:auto}
.project-nav{border-top:4px solid var(--green);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.project-nav .button{font-size:16px;text-align:center}
.type-specimen-art{width:100%;max-width:280px;height:auto}
.motion-player{margin-top:28px;border:1px solid var(--line);background:var(--charcoal)}
.motion-player video{width:100%;height:auto;aspect-ratio:16/9;display:block}
.motion-player figcaption{padding:15px 20px;color:var(--muted);font-size:12px}
@media(max-width:680px){.site-header{position:relative;padding:0;min-height:82px;gap:0}.site-header .site-nav{z-index:30}.site-header:not(.is-menu-open) .site-nav{visibility:hidden}.project-nav .button{font-size:14px}.motion-player figcaption{font-size:11px}}

/* Arrow icons use vector strokes instead of font-dependent glyphs. */
.arrow-icon{display:inline-block;width:1.15em;height:1.15em;flex-shrink:0;vertical-align:-.15em}

/* Live capture product concept. */

.capture-screen{margin-bottom:28px;padding:45px;border:1px solid var(--line);background-color:#181818}
.capture-screen img{width:100%;box-shadow:0 24px 55px #0008}
@media(max-width:650px){.capture-screen{padding:25px 15px}}
