 :root{--paper:#efeee9;--ink:#4b0028;--line:#191919;--display:"Libre Baskerville",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display)}button,a{color:inherit}.intro{min-height:100svh;border:1px solid var(--line);border-bottom:0;margin-top:1px;position:relative;display:flex;flex-direction:column;padding:22px clamp(22px,5.2vw,76px) 24px;overflow:hidden}.topline,.bottomline,.portfolio-header,.portfolio-footer{display:flex;justify-content:space-between;align-items:center;font:10px/1.2 var(--display);letter-spacing:.12em}.topline,.bottomline{opacity:0}.intro-content{width:100%;max-width:1180px;margin:auto;padding:24px 0 42px;text-align:center}h1{font:400 clamp(36px,6vw,68px)/1.15 var(--display);letter-spacing:-.035em;margin:0 auto}.question{font:400 clamp(24px,3.9vw,42px)/1.25 var(--display);margin:clamp(54px,8vw,94px) auto clamp(58px,8vw,94px)}.answers{display:grid;grid-template-columns:1fr 1fr 1.25fr;align-items:start;gap:clamp(12px,3vw,48px)}.answer{appearance:none;border:0;background:transparent;padding:6px 4px;display:inline-flex;align-items:flex-start;justify-content:center;gap:14px;font:400 clamp(22px,3.8vw,42px)/1.2 var(--display);cursor:pointer;text-align:left;position:relative}.answer:hover{opacity:.68}.answer:focus-visible{outline:1px dashed var(--ink);outline-offset:8px}.checkbox{width:clamp(22px,3vw,32px);height:clamp(22px,3vw,32px);border:2px solid var(--ink);display:inline-block;flex:0 0 auto;margin-top:.12em}.answer-long{justify-self:end}.confetti-piece{position:absolute;z-index:5;pointer-events:none;top:0;left:0;border-radius:1px;animation:confetti-pop .5s cubic-bezier(.12,.72,.25,1) forwards}@keyframes confetti-pop{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.55)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1)}}.intro.leaving{animation:fade-out .22s ease-in forwards}@keyframes fade-out{to{opacity:0;transform:translateY(-5px)}}.portfolio{min-height:100svh;padding:24px clamp(20px,5vw,76px)}.portfolio[hidden]{display:none}.portfolio-header{border-bottom:1px solid var(--ink);padding:8px 0 15px}.wordmark{font:11px var(--display);letter-spacing:.1em;text-decoration:none}.section-nav{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid rgba(75,0,40,.35);font:11px var(--display);letter-spacing:.03em}.section-nav a{text-decoration:none}.section-nav a:hover{text-decoration:underline}.portfolio-intro{padding:clamp(48px,8vw,100px) 0 64px}.eyebrow,.project-title span,.section-number{font:10px var(--display);letter-spacing:.14em}.eyebrow{margin:0 0 22px}h2{font:400 clamp(48px,9vw,108px)/1 var(--display);letter-spacing:-.05em;margin:0}h2 span{margin-left:.12em}.portfolio-note{font-size:17px;margin-top:22px}.work-section{padding:42px 0 78px;border-top:1px solid var(--ink)}.section-heading{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:start;margin-bottom:34px}.section-number{padding-top:11px}.section-heading h3{font:400 clamp(30px,4.5vw,54px)/1.12 var(--display);margin:0 0 12px;letter-spacing:-.035em}.section-heading p{font-size:14px;line-height:1.6;margin:0;max-width:650px}.project-block{margin:38px 0 58px}.project-title{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(75,0,40,.3);padding-bottom:10px;margin-bottom:18px}.project-title h4{font:400 24px var(--display);margin:0}.image-grid{display:grid;gap:16px}.technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hoodie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-button{display:block;border:0;padding:0;background:transparent;cursor:zoom-in;width:100%;text-align:left}.image-button img{display:block;width:100%;height:auto;object-fit:contain}.image-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.brand-lead{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}.brand-side{display:grid;gap:18px}.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:22px}.elwood-intro{max-width:900px;margin:0 auto 22px}.elwood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.portfolio-footer{border-top:1px solid var(--ink);padding:18px 0 8px}.portfolio-footer a{text-decoration:none}.lightbox{border:0;padding:0;background:#171417;color:#f5f2ed;width:96vw;height:96vh;max-width:1600px;max-height:1100px;overflow:hidden}.lightbox::backdrop{background:rgba(20,15,18,.92)}.lightbox-toolbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.16);font:10px var(--display);letter-spacing:.12em}.lightbox-actions{display:flex;align-items:center;gap:8px}.lightbox-actions button{height:34px;min-width:36px;padding:0 10px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:transparent;color:#fff;font:18px var(--display);cursor:pointer}.lightbox-actions .zoom-reset{min-width:58px;font-size:11px}.lightbox-actions .lightbox-close{font-size:25px}.lightbox-stage{height:calc(100% - 68px);width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:default;overscroll-behavior:contain}.lightbox-stage.dragging{cursor:grabbing}.lightbox-stage img{display:block;max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;transform-origin:50% 50%;user-select:none;-webkit-user-drag:none;flex:0 0 auto}.lightbox-stage img.zoomed{max-width:92%;max-height:92%}.lightbox-hint{opacity:.72}.portfolio.revealed{animation:fade-in .28s ease-out both}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.intro{padding:20px}.topline,.bottomline{opacity:1}.intro-content{padding:52px 0}h1{font-size:clamp(32px,8.3vw,54px);line-height:1.12}.desktop-break{display:none}.question{margin:52px auto 44px;max-width:420px}.answers{grid-template-columns:1fr;gap:20px;justify-items:start;max-width:330px;margin:auto}.answer,.answer-long{justify-self:start;font-size:29px}.answer-long br{display:none}.portfolio{padding:20px}.section-nav{flex-direction:column;gap:12px}.portfolio-intro{padding:58px 0 44px}.work-section{padding:34px 0 54px}.section-heading{grid-template-columns:30px 1fr}.technical-grid,.hoodie-grid,.brand-lead,.brand-grid,.elwood-grid{grid-template-columns:1fr}.brand-side{gap:14px}.project-title{gap:12px}.project-title h4{font-size:21px}.project-title span{font-size:9px;text-align:right}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important}}/* Respect the hidden attribute when the intro is dismissed. */
.intro[hidden]{display:none!important}

@media(max-width:700px){.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none}.lightbox-toolbar{padding:0 10px}.lightbox-hint{font-size:8px}.lightbox-actions{gap:5px}.lightbox-actions button{min-width:32px;padding:0 7px}.lightbox-stage img{max-width:96%;max-height:96%}}

/* Portfolio refinement pass */
:root{--display:"Libre Baskerville",Georgia,serif}
body,button,input,textarea,select{font-family:var(--display)}
.topline,.bottomline,.portfolio-header,.portfolio-footer,.wordmark,.section-nav,.eyebrow,.project-title span,.section-number,.lightbox-toolbar,.lightbox-actions button{font-family:var(--display)!important}
.portfolio{padding-top:34px}
.section-index{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 0 54px;border-bottom:1px solid rgba(75,0,40,.35);margin-bottom:10px}
.section-index h2{font:400 clamp(36px,5.4vw,64px)/1.1 var(--display);letter-spacing:-.035em;margin:0}
.section-index .index-instruction{font-size:15px;margin:0 0 10px}
.section-index>a{font-size:clamp(25px,3.6vw,40px);line-height:1.3;text-decoration:none;border-bottom:4px solid var(--ink);padding:2px 0 5px;margin:4px 0 7px}
.section-index>a:hover{opacity:.65}
.work-section{padding:42px 0 78px}
.section-heading-simple{display:block;margin:0 0 28px;padding-left:0}
.section-heading-simple h3{font:400 clamp(34px,4.5vw,54px)/1.15 var(--display);letter-spacing:-.035em;margin:0}
.project-block{margin:30px 0 58px}
.project-description{display:block;border-bottom:0;border-top:0;padding:0 0 12px;margin:0 0 18px}
.project-description p{font-size:clamp(16px,1.65vw,22px);line-height:1.5;margin:0;padding:0 0 9px;border-bottom:3px solid var(--ink)}
.project-description strong{font-weight:700;margin-right:12px}
.brand-grid-unified{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:0;align-items:start}
.brand-grid-unified .image-button{align-self:start}
.lightbox-stage{cursor:default}
.lightbox-stage img{transform-origin:50% 50%;cursor:zoom-in}
.lightbox-stage img.zoomed{cursor:zoom-in}
.lightbox-actions button:disabled{opacity:.35;cursor:default}
.lightbox-hint{font-family:var(--display);letter-spacing:.04em}
@media(max-width:700px){.section-index{min-height:300px;padding:32px 0 42px}.section-index>a{font-size:27px}.brand-grid-unified{grid-template-columns:1fr}.section-heading-simple h3{font-size:34px}.project-description p{font-size:16px}}

.lightbox-instructions{display:flex;flex-direction:column;justify-content:center;gap:5px;line-height:1.25}
.lightbox-trackpad-hint{font:9px/1.2 var(--display);letter-spacing:.08em;opacity:.58}
@media(max-width:520px){.lightbox-toolbar{padding:0 9px;gap:8px}.lightbox-instructions{max-width:55%;font-size:8px}.lightbox-trackpad-hint{font-size:7px}.lightbox-actions{gap:4px}.lightbox-actions button{min-width:30px;padding:0 7px}}
