:root{--wine:#711d35;--wine-dark:#3b0e1e;--cream:#f3efe7;--paper:#fbf9f4;--ink:#191715;--muted:#706a64;--line:#d9d2c8;--serif:"Instrument Serif",serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}::selection{background:var(--wine);color:#fff}::-moz-selection{background:var(--wine);color:#fff}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--wine);color:white;padding:12px 18px}.skip-link:focus{top:16px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(251,249,244,.92);backdrop-filter:blur(12px)}.wordmark{font:400 25px var(--serif)}.wordmark span{color:var(--wine)}nav{display:flex;gap:30px;font-size:14px}nav a{transition:color .2s}nav a:hover{color:var(--wine)}.hero{position:relative;min-height:calc(100svh - 76px);padding:9vh 4vw 5vh;display:flex;flex-direction:column;overflow:hidden}.hero-status{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.hero-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--wine);margin-right:9px}.hero h1{font:400 clamp(4.4rem,9.4vw,9.5rem)/.85 var(--serif);letter-spacing:-.045em;max-width:1250px;margin:11vh 0 8vh;position:relative;z-index:1}.hero h1 em{color:var(--wine);font-weight:400}.hero-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:20px;position:relative;z-index:1}.hero-bottom p{max-width:610px;margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.5}.hero-bottom a{font-weight:600;color:var(--wine)}.hero-bottom a span{margin-left:20px}.hero-mark{position:absolute;right:-2vw;top:3vh;font:400 35vw/.8 var(--serif);color:rgba(113,29,53,.035);pointer-events:none}.work,.about{padding:120px 4vw}.work{background:var(--cream)}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:90px}.section-intro>p{margin:7px 0;text-transform:uppercase;letter-spacing:.09em;font-size:12px;color:var(--wine)}.section-intro h2{font:400 clamp(2.8rem,5.4vw,5.7rem)/.96 var(--serif);letter-spacing:-.03em;margin:0;max-width:900px}.project{border-top:1px solid #bdb5aa;padding:24px 0 90px}.project-cover{display:block;height:min(68vw,720px);overflow:hidden;position:relative;background:var(--wine)}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.project-cover span{position:absolute;right:20px;bottom:20px;background:var(--paper);padding:13px 17px;font-size:13px;transform:translateY(10px);opacity:0;transition:.3s}.project-cover:hover img{transform:scale(1.015);filter:saturate(.9)}.project-cover:hover span{transform:none;opacity:1}.cover-arena{background:#c8ef4b}.cover-admin img{object-fit:contain}.project-info{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:50px;padding-top:24px}.project-info>div{display:flex;gap:18px}.project-info span{color:var(--wine);font-size:12px}.project-info h3{font:400 clamp(2rem,3.2vw,3.5rem)/1 var(--serif);margin:0}.project-info>p{line-height:1.55;margin:3px 0;color:#49443f}.project-info ul{list-style:none;margin:3px 0;padding:0;text-align:right;color:var(--muted);font-size:13px;line-height:1.8}.case-detail{display:none;position:fixed;z-index:50;inset:0;background:var(--paper);overflow:auto;padding:80px max(4vw,calc((100vw - 1280px)/2));overscroll-behavior:contain}.case-detail:target{display:block}.case-close{position:fixed;z-index:2;top:20px;right:28px;border:0;background:var(--wine);color:#fff;padding:12px 16px;cursor:pointer}.eyebrow{text-transform:uppercase;color:var(--wine);font-size:12px;letter-spacing:.1em}.case-detail>h2{font:400 clamp(4rem,8vw,8rem)/.86 var(--serif);max-width:1100px;margin:70px 0 35px}.case-lead{font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.4;max-width:790px}.case-facts,.case-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:80px 0;border-top:1px solid var(--line)}.case-facts p{margin:0;padding:18px 12px 18px 0;border-bottom:1px solid var(--line);font-size:14px}.case-facts b,.case-summary b{display:block;color:var(--wine);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-bottom:8px}.case-summary{grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.case-summary p{background:var(--cream);padding:25px;margin:0;line-height:1.5}.case-hero-image{width:100%;max-height:800px;object-fit:cover}.case-copy{max-width:780px;margin:110px auto;font-size:18px;line-height:1.75}.case-copy h3{font:400 clamp(2.8rem,5vw,5rem)/1 var(--serif);margin:80px 0 25px}.case-copy blockquote{font:italic 400 2.5rem/1.2 var(--serif);color:var(--wine);border-left:3px solid var(--wine);margin:60px 0;padding-left:30px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case-gallery img{width:100%;height:45vw;max-height:620px;object-fit:cover;background:#eee}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:9vw}.about figure{margin:0}.about figure img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.7)}.about figcaption{margin-top:15px;color:var(--muted);font-size:13px;line-height:1.6}.about-copy{font-size:17px;line-height:1.7}.about-lead{font:400 clamp(2rem,3.6vw,3.5rem)/1.15 var(--serif);margin-top:0}.capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:45px}.capabilities span{border:1px solid var(--line);border-radius:100px;padding:9px 13px;font-size:12px}.contact{background:var(--wine);color:white;padding:110px 4vw}.contact>p{text-transform:uppercase;font-size:12px;letter-spacing:.08em}.contact h2{font:400 clamp(4rem,9vw,9rem)/.85 var(--serif);max-width:1100px;margin:70px 0}.contact h2 em{color:#e2b4bc}.contact>div{display:flex;gap:12px}.contact a{border:1px solid rgba(255,255,255,.4);padding:13px 20px;font-size:13px}.contact a:hover{background:white;color:var(--wine)}footer{padding:25px 4vw;display:flex;justify-content:space-between;font-size:12px}body.case-open{overflow:hidden}
@media(max-width:760px){.site-header{height:64px}.site-header nav{gap:14px}.site-header nav a:nth-child(2){display:none}.hero{min-height:calc(100svh - 64px);padding-top:6vh}.hero h1{font-size:clamp(3.8rem,18vw,6rem);margin:13vh 0 6vh}.hero-bottom{align-items:start;flex-direction:column}.section-intro{grid-template-columns:1fr;margin-bottom:55px}.work,.about{padding:80px 18px}.project{padding-bottom:65px}.project-cover{height:70vw}.project-cover span{opacity:1;transform:none}.project-info{grid-template-columns:1fr;gap:18px}.project-info ul{text-align:left;display:flex;gap:12px;flex-wrap:wrap}.project-info ul li:not(:last-child):after{content:" ·";margin-left:12px}.case-detail{padding:70px 18px}.case-detail>h2{font-size:3.9rem;margin-top:50px}.case-facts,.case-summary{grid-template-columns:1fr 1fr}.case-summary p:last-child{grid-column:1/-1}.case-gallery{grid-template-columns:1fr}.case-gallery img{height:auto}.case-copy{margin:70px auto}.about-grid{grid-template-columns:1fr}.contact{padding:80px 18px}.contact h2{font-size:4.3rem}.contact>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Quieter, recruiter-first composition */
.hero{min-height:0;display:block;padding:68px 4vw 76px;max-width:1160px}
.hero-kicker{font:400 28px var(--serif);color:var(--wine);margin:0 0 22px}
.hero h1{font-size:clamp(3.8rem,7.2vw,7rem);line-height:.9;max-width:1000px;margin:0}
.hero-intro{max-width:650px;margin:38px 0 28px;font-size:18px;line-height:1.55}
.hero-meta{display:flex;gap:28px;color:var(--muted);font-size:13px}
.work,.about{padding-top:84px}
.section-intro{display:block;border-top:1px solid #bdb5aa;padding-top:17px;margin-bottom:48px}
.section-intro>p{margin:0 0 13px}
.section-intro h2{font-size:clamp(2.2rem,3.7vw,4rem);line-height:1;max-width:720px}
.project{border-top:0;padding-top:0}
.project+.project{border-top:1px solid #bdb5aa;padding-top:65px}
.project-cover{height:min(60vw,670px)}
.project-info{display:block;max-width:760px;padding-top:20px}
.project-info>div{display:flex;align-items:baseline;gap:14px}
.project-info h3{font-size:clamp(2.1rem,3.4vw,3.7rem)}
.project-info>p{max-width:620px;margin:12px 0}
.project-info ul{display:flex;gap:8px;text-align:left;line-height:1.4}
.project-info li:not(:last-child):after{content:" ·";margin-left:8px}
.case-summary{display:block;max-width:780px;margin:80px auto;background:none;border:0;border-top:1px solid var(--line)}
.case-summary p{display:grid;grid-template-columns:140px 1fr;gap:24px;background:none;border-bottom:1px solid var(--line);padding:18px 0}
.case-summary b{margin-top:4px}
@media(max-width:760px){.hero{min-height:0;padding:48px 18px 58px}.hero h1{font-size:clamp(3.5rem,17vw,5.8rem);margin:0}.hero-intro{margin:30px 0 23px}.hero-meta{flex-direction:column;gap:5px}.work,.about{padding-top:62px}.section-intro{margin-bottom:34px}.project+.project{padding-top:48px}.project-info{display:block}.project-info>div{display:flex}.project-info ul{flex-wrap:wrap}.case-summary{display:block}.case-summary p{grid-template-columns:1fr;gap:4px}.case-summary p:last-child{grid-column:auto}}

/* Responsive page gutter */
:root{--page-gutter:clamp(56px,9.4vw,150px)}
.site-header{padding-inline:var(--page-gutter)}
.hero{padding-inline:var(--page-gutter)}
.work,.about,.contact{padding-inline:var(--page-gutter)}
footer{padding-inline:var(--page-gutter)}
@media(max-width:760px){:root{--page-gutter:24px}}

/* Compact side-by-side project list */
.project{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:stretch;gap:clamp(32px,5vw,76px);padding-bottom:72px}
.project+.project{padding-top:72px}
.project-cover{height:auto;min-height:410px}
.project-info{align-self:center;padding:0;max-width:440px}
.project-info>div{display:block}
.project-info h3{font-size:clamp(2.5rem,3.8vw,4.2rem);line-height:.95}
.project-info>p{margin:20px 0;line-height:1.6}
.project-info time{display:block;color:var(--wine);font-size:13px}
@media(max-width:760px){.project{display:block;padding-bottom:58px}.project+.project{padding-top:48px}.project-cover{height:68vw;min-height:0}.project-info{padding-top:20px;max-width:none}.project-info h3{font-size:2.7rem}.project-info>p{margin:13px 0}}

/* Quiet contact close */
.contact{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--paper);color:var(--ink);padding-block:42px;border-top:1px solid var(--line)}
.contact h2{max-width:580px;margin:0;font:400 clamp(1.6rem,2.4vw,2.4rem)/1.15 var(--serif)}
.contact>div{display:flex;gap:22px;flex-shrink:0}
.contact a{border:0;padding:0;font-size:13px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.contact a:hover{background:transparent;color:var(--wine);text-decoration-color:var(--wine)}
@media(max-width:760px){.contact{display:block;padding-block:38px}.contact h2{font-size:1.8rem}.contact>div{margin-top:25px;gap:18px}}

/* Dedicated about page */
.about-page{padding:80px var(--page-gutter) 120px}
.about-page-intro{margin-bottom:70px;text-align:center}
.about-page-intro>p{margin:0 0 18px;color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.about-page-intro h1{max-width:none;margin:0;white-space:nowrap;font:400 clamp(3rem,6.2vw,7rem)/.9 var(--serif);letter-spacing:-.035em}
.about-page .about-grid{max-width:1200px;margin-inline:auto;grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);gap:clamp(50px,6vw,90px);align-items:start}
.about-page .about-copy{order:1;padding-top:4px;max-width:700px}
.about-page figure{order:2}
.about-page figure img{width:100%;height:auto;max-height:none;margin-inline:auto;aspect-ratio:auto;object-fit:contain}
nav a[aria-current="page"]{color:var(--wine)}
@media(max-width:760px){.site-header nav a:nth-child(2){display:inline}.about-page{padding-top:50px;padding-bottom:80px}.about-page-intro{margin-bottom:45px}.about-page-intro h1{font-size:clamp(1.8rem,8.2vw,3rem)}.about-page .about-grid{grid-template-columns:1fr;gap:45px}.about-page .about-copy{order:1}.about-page figure{order:2}.about-page figure img{width:100%;margin:0}}

/* Borderless visual rhythm */
.site-header,.project,.project+.project,.contact,.case-facts,.case-summary,.case-summary p{border:0}

/* Persistent navigation */
.site-header{position:sticky;top:0;z-index:40;background:rgba(251,249,244,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.language-toggle{border:0;background:transparent;padding:0;color:var(--wine);font:500 12px var(--sans);cursor:pointer}

/* Two-project desktop grid */
@media(min-width:1000px){
  .work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(44px,5vw,76px) clamp(34px,4vw,62px)}
  .work .project{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(190px,.85fr);gap:clamp(22px,2.4vw,38px);padding:0;min-width:0}
  .work .project+.project{padding-top:0}
  .work .project:nth-child(3){grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);margin-top:8px}
  .work .project-cover{min-height:310px;height:100%}
  .work .project-info{max-width:none}
  .work .project-info h3{font-size:clamp(2rem,2.5vw,3rem)}
  .work .project-info>p{font-size:14px;line-height:1.55;margin:15px 0}
  .work .project:nth-child(3) .project-cover{min-height:390px}
  .work .case-detail{display:none}
  .work .case-detail:target{display:block}
}

/* Claire-inspired equal project grid */
@media(min-width:761px){
  .work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,34px)}
  .work .project,.work .project:nth-child(3){display:block;grid-column:auto;margin:0;padding:0}
  .work .project-cover,.work .project:nth-child(3) .project-cover{width:100%;height:auto;min-height:0;aspect-ratio:1/1}
  .work .project-info{width:100%;padding-top:18px;max-width:none}
  .work .project-info h3{width:100%;font-size:clamp(1.55rem,1.85vw,2.15rem);line-height:1.05}
  .work .project-info>p{width:100%;max-width:none;margin:12px 0;font-size:13px;line-height:1.5}
}
@media(min-width:761px) and (max-width:1050px){
  .work{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Editorial case study layout */
.case-detail:target,.work .case-detail:target{display:flex;flex-direction:column;padding:96px var(--page-gutter) 130px;background:var(--paper)}
.case-detail>.case-close{order:0}
.case-detail>.eyebrow{order:1}
.case-detail>h2{order:2}
.case-detail>.case-lead{order:3}
.case-detail>.case-facts{order:4}
.case-detail>.case-hero-image{order:5}
.case-detail>.case-summary{order:6}
.case-detail>.case-copy,.case-detail>.case-gallery{order:7}
.case-close{top:28px;left:auto;right:38px;padding:0;background:transparent;color:var(--ink);font:400 34px/1 var(--sans)}
.case-close:hover{color:var(--wine)}
.case-hero-image{width:min(100%,1100px);height:min(67vh,700px);margin:0 auto 90px;object-fit:cover;background:var(--cream)}
.case-detail>.eyebrow{width:min(100%,920px);margin:0 auto 18px;font-size:11px}
.case-detail>h2{width:min(100%,920px);margin:0 auto 24px;font-size:clamp(3.5rem,6.2vw,6.8rem);line-height:.92}
.case-lead{width:min(100%,720px);max-width:none;margin:0 calc((100% - min(100%,920px))/2) 55px;font-size:clamp(1.15rem,1.8vw,1.55rem)}
.case-facts{width:min(100%,920px);margin:0 auto 45px;padding:28px 32px;background:#f3f3f3}
.case-facts p{padding:0 22px}
.case-summary{width:min(100%,780px);max-width:none;margin:0 auto 110px;padding:28px 32px;background:#f3f3f3}
.case-summary:before{content:"Long story short";display:block;margin-bottom:25px;font:400 clamp(2.5rem,4vw,4rem)/1 var(--serif)}
html[lang="pt"] .case-summary:before{content:"Resumo"}
.case-copy{width:min(100%,720px);max-width:none;margin:0 auto 110px}
.case-copy h3{font-size:clamp(2.6rem,4.2vw,4.5rem);margin:0 0 25px}
.case-copy h3:not(:first-child){margin-top:90px}
.case-gallery{width:min(100%,1100px);margin:0 auto 110px}
@media(max-width:760px){
  .case-detail:target{padding:72px var(--page-gutter) 90px}
  .case-close{top:14px}
  .case-hero-image{height:auto;aspect-ratio:4/3;margin-bottom:50px}
  .case-detail>h2{font-size:3.5rem}
  .case-lead{width:100%;margin:0 0 42px}
  .case-facts{width:100%;margin-bottom:65px;padding:12px 18px}
  .case-facts p{padding:10px 0}
  .case-summary{margin-bottom:75px}
}

html.i18n-loading body{visibility:hidden}
body{transition:none}
.work,.case-detail:target,.work .case-detail:target{background:#fff}
:root{--paper:#fff;--cream:#fff}
body,.site-header,.work,.about-page,.case-detail:target,.work .case-detail:target{background:#fff}
.site-header{background:rgba(255,255,255,.92)}
.hero{padding-bottom:42px}
.work{padding-top:36px}
@media(max-width:760px){.hero{padding-bottom:34px}.work{padding-top:28px}}
.hero{margin-inline:auto;text-align:center}
.hero h1{max-width:none;font-size:clamp(4.5rem,9vw,9rem);line-height:.86}
.hero-role{margin:24px 0 0;font:500 15px/1.4 var(--sans);color:var(--wine)}
.hero-intro{margin:28px auto 0}
@media(max-width:760px){.hero h1{font-size:clamp(4rem,20vw,6rem)}.hero-role{margin-top:18px;font-size:14px}.hero-intro{margin-top:24px}}
.personal-note{margin-top:65px;padding:0}
.personal-note h2{margin:0;font:500 17px/1.4 var(--sans)}
.personal-list{display:grid;grid-template-columns:1fr;gap:22px;margin-top:32px;max-width:580px}
.personal-list p{margin:0 0 10px;color:var(--wine);font-size:12px}
.personal-list span{display:block;font-size:17px;line-height:1.7;color:#49443f}
.hobby-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hobby-tags span{padding:8px 12px;border-radius:999px;background:#f3f3f3;font-size:13px;line-height:1.2;color:#49443f}
@media(max-width:900px){.personal-note{margin-top:55px}.personal-list{margin-top:30px}.personal-note h2{font-size:17px}}

.case-detail:target,.work .case-detail:target{inset:0;border-radius:0;box-shadow:none;transform-origin:center}
.case-detail{backface-visibility:hidden;transform-origin:center top}
.case-detail.is-opening{will-change:transform,opacity,border-radius;transform-origin:center;animation:caseWindowOpen .26s cubic-bezier(.16,1,.3,1) both}
.case-detail.is-opening>*{animation:none}
.case-detail.is-closing{will-change:transform,opacity,border-radius;transform-origin:center;animation:caseWindowClose .18s cubic-bezier(.7,0,.84,0) both;pointer-events:none}
.case-detail.is-closing>*{animation:none}
@keyframes caseWindowOpen{
  from{opacity:.2;transform:translateY(14px) scale(.94);border-radius:18px;box-shadow:0 24px 80px rgba(35,8,18,.24)}
  to{opacity:1;transform:none;border-radius:0;box-shadow:0 0 0 rgba(35,8,18,0)}
}
@keyframes caseWindowClose{
  from{opacity:1;transform:none;border-radius:0}
  to{opacity:0;transform:translateY(10px) scale(.965);border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.case-detail.is-opening,.case-detail.is-opening>*,.case-detail.is-closing,.case-detail.is-closing>*{animation-duration:.01ms;animation-delay:0s}}
@media(max-width:760px){.case-close{top:18px;right:20px}}
@media(prefers-reduced-motion:reduce){.case-detail.is-opening,.case-detail.is-closing{animation-duration:.01ms}}
.about-copy{font-size:18px}
.hobby-tags span{font:500 14px/1.2 "Inconsolata",monospace}
.work .project-info h3{font-size:28px}
.work .project-info>p{font-size:16px}
:root{--serif:"Inconsolata",monospace}
.case-facts p{border-bottom:0}
.about-page-intro h1{white-space:normal;overflow-wrap:break-word;font-size:clamp(2.2rem,3.2vw,4rem);line-height:1}
@media(max-width:760px){.about-page-intro h1{font-size:clamp(2rem,9vw,2.8rem)}}
.about-portrait{margin:0}
.music-player{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;margin-top:16px;padding:14px 16px;background:#f3f3f3}
.music-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--wine);color:#fff;font:500 13px "Inconsolata",monospace;cursor:pointer}
.music-player span{display:block;margin-bottom:3px;color:var(--wine);font:500 11px "Inconsolata",monospace;text-transform:uppercase;letter-spacing:.06em}
.music-player p{margin:0;font-size:13px;line-height:1.3}
.music-bars{display:flex;align-items:end;gap:3px;height:22px}
.music-bars b{display:block;width:2px;height:7px;background:var(--wine);transform-origin:bottom;animation:musicBar .7s ease-in-out infinite alternate;animation-play-state:paused}
.music-bars b:nth-child(2){height:15px;animation-delay:.15s}.music-bars b:nth-child(3){height:11px;animation-delay:.3s}.music-bars b:nth-child(4){height:18px;animation-delay:.45s}
.music-player.is-playing .music-bars b{animation-play-state:running}
@keyframes musicBar{to{transform:scaleY(.35)}}
.music-player{position:fixed;z-index:48;right:22px;bottom:18px;width:min(320px,calc(100vw - 36px));margin:0;padding:10px 12px;background:var(--wine);color:#fff;box-shadow:0 8px 28px rgba(60,10,28,.16)}
.music-toggle{width:30px;height:30px;background:rgba(255,255,255,.16)}
.music-player span{color:rgba(255,255,255,.65);font-size:9px}
.music-player p{font-size:11px}
.music-bars b{background:#fff}
html.is-navigating main{opacity:.18;transform:translateY(6px)}
main{transition:opacity .18s ease,transform .18s ease}
@media(max-width:760px){.music-player{right:12px;bottom:12px;width:calc(100vw - 24px)}}
.case-detail>.case-section{order:7;width:min(100%,760px);margin:0 auto 110px;font-size:18px;line-height:1.75}
.case-section>span{display:block;margin-bottom:12px;color:var(--wine);font:500 11px "Inconsolata",monospace}
.case-section h3{margin:0 0 28px;font:400 clamp(2.4rem,4vw,4rem)/1 var(--serif)}
.case-section>p{margin:0 0 20px}
.case-challenge{margin:48px 0;padding:28px 32px;background:#f3f3f3}
.case-challenge b,.case-section blockquote b,.case-comparison b{display:block;margin-bottom:10px;color:var(--wine);font:500 12px "Inconsolata",monospace;text-transform:uppercase;letter-spacing:.05em}
.case-challenge p{margin:0;font-size:21px;line-height:1.45}
.case-section blockquote{margin:50px 0;padding-left:26px;border-left:3px solid var(--wine);font:400 26px/1.4 var(--serif)}
.case-gallery{width:min(1100px,calc(100vw - 2 * var(--page-gutter)));margin:70px 50% 0;transform:translateX(-50%)}
.case-gallery figure,.case-section-image{margin:0}
.case-gallery img,.case-section-image img{width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
.project-cover,.cover-arena{background:#fff}
.bat-easter-egg{position:fixed;z-index:100;right:-50px;bottom:64px;font-size:28px;line-height:1;pointer-events:none;will-change:transform;animation:batTravel 3.4s linear both}
.bat-easter-egg>span{display:block;will-change:transform;filter:drop-shadow(0 4px 5px rgba(59,14,30,.18));animation:batFlutter .42s ease-in-out infinite alternate}
@keyframes batTravel{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-100vw - 100px),-90px,0)}
}
@keyframes batFlutter{
  from{transform:translateY(-5px) rotate(-10deg) scale(.94)}
  to{transform:translateY(5px) rotate(8deg) scale(1.04)}
}
@media(prefers-reduced-motion:reduce){
  html.is-navigating main{opacity:1;transform:none}
  main{transition:none}
  .bat-easter-egg{display:none}
}
.case-gallery figcaption,.case-section-image figcaption{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}
.gallery-stacked .case-gallery{grid-template-columns:1fr}
.case-detail>h2{font-size:clamp(2.8rem,4.6vw,4.8rem);line-height:1}
.case-section-image{width:min(1000px,calc(100vw - 2 * var(--page-gutter)));margin:70px 50% 0;transform:translateX(-50%)}
.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}
.case-comparison>div{padding:25px;background:#f3f3f3}
.case-comparison ul{margin:0;padding-left:20px}
.case-comparison li{margin:9px 0}
@media(max-width:760px){.case-detail>.case-section{font-size:16px;margin-bottom:75px}.case-gallery{grid-template-columns:1fr}.case-gallery,.case-section-image{width:100%;margin-top:45px}.case-comparison{grid-template-columns:1fr}.case-challenge{padding:22px}.case-challenge p{font-size:18px}}
@media(max-width:760px){.case-detail>h2{font-size:2.7rem}}
html{scrollbar-gutter:stable}
.hero h1[data-text]{position:relative;display:inline-block}
.hero h1[data-text]::before,.hero h1[data-text]::after{content:attr(data-text);position:absolute;inset:0;color:var(--wine);clip-path:polygon(0 0,0 0,0 100%,0 100%);pointer-events:none}
.hero h1[data-text]::after{animation:nameWineSweep .8s cubic-bezier(.4,0,.2,1) .3s both}
.hero h1[data-text]:hover::before{animation:nameWineSweep .8s cubic-bezier(.4,0,.2,1) both}
@keyframes nameWineSweep{
  0%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}
  25%{clip-path:polygon(12% 0,30% 0,22% 100%,5% 100%)}
  50%{clip-path:polygon(43% 0,62% 0,54% 100%,35% 100%)}
  75%{clip-path:polygon(73% 0,91% 0,84% 100%,65% 100%)}
  100%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}
}
@media(prefers-reduced-motion:reduce){.hero h1[data-text]::before,.hero h1[data-text]::after{animation:none}}
@media(max-width:760px){
  .work .project{padding-bottom:40px}
  .work .project+.project{padding-top:20px}
  .about-page-intro{margin-bottom:24px}
}
.case-detail.is-dismissed{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,[tabindex]):focus-visible{outline:3px solid var(--wine);outline-offset:4px;border-radius:2px}
main h1[tabindex="-1"]:focus{outline:none}
.site-header nav a{padding-block:8px}
.language-toggle{min-width:32px;min-height:32px}
.case-close{min-width:34px;min-height:34px}
.work .project-info{cursor:pointer}
.work .project-info h3{line-height:1.14}
@media(max-width:760px){.work .project-info h3{line-height:1.14}}
.case-detail.is-active{display:flex;flex-direction:column;inset:0;padding:96px var(--page-gutter) 130px;border-radius:0;background:#fff;box-shadow:none;transform-origin:center}
@media(max-width:900px){.case-detail.is-active{padding:72px var(--page-gutter) 90px}}
