@import url('./tokens.css');
@font-face{font-family:Archivo;src:url('/fonts/archivo-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/archivo-medium.ttf') format('truetype');font-weight:500 900;font-display:swap}
@font-face{font-family:'Archivo Expanded';src:url('/fonts/archivo-expanded.ttf') format('truetype');font-weight:400;font-display:swap}

:root{color-scheme:light;--case-paper:#f7f8fb;--case-glass:rgb(255 255 255 / 62%);--case-muted:#555d68;--case-edge:rgb(255 255 255 / 76%);--case-control-radius:var(--radius-control,15px);--case-panel-radius:var(--radius-panel,21px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:linear-gradient(145deg,#f7f8fb 0%,#f0f2f6 48%,#f7f8fb 100%);color:var(--ink);font:400 16px/1.5 Archivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#f2a8ce;color:var(--ink)}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:9px;left:9px;padding:11px 14px;border-radius:12px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#e6e8ee}::-webkit-scrollbar-thumb{border:2px solid #e6e8ee;border-radius:10px;background:#a3a9b5}

.site-header{position:fixed;z-index:40;top:14px;right:3.5%;left:3.5%;pointer-events:none}
.masthead{display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);align-items:center;gap:20px;width:min(100%,1510px);min-height:64px;margin:auto;padding:7px 9px 7px 11px;border:1px solid rgb(255 255 255 / 87%);border-radius:var(--case-panel-radius);background:rgb(246 248 252 / 68%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 92%),0 21px 38px -31px rgb(33 40 55 / 40%);-webkit-backdrop-filter:blur(26px) saturate(142%);backdrop-filter:blur(26px) saturate(142%);pointer-events:auto}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;min-width:0;font-size:13px;font-weight:700;white-space:nowrap}
.brand-mark{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:var(--radius-mark,13px);background:#f48bbe;transition:transform .26s var(--ease),box-shadow .26s var(--ease)}
.brand-mark img{width:35px;height:35px}.brand:hover .brand-mark{transform:rotate(-6deg);box-shadow:0 12px 24px -15px rgb(128 39 86 / 42%)}
.masthead-links{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid rgb(255 255 255 / 74%);border-radius:var(--case-control-radius);background:rgb(255 255 255 / 37%)}
.masthead-links a{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:0 18px;border-radius:calc(var(--case-control-radius) - 4px);font-size:12px;font-weight:700;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .16s var(--ease)}
.masthead-links a:hover,.masthead-links a:focus-visible,.masthead-links a[aria-current=page]{background:rgb(255 255 255 / 89%);color:#8f235d}
.masthead-links a:active{transform:scale(.97)}
.masthead-actions{display:flex;align-items:center;justify-content:end;gap:17px}
.locale{display:flex;align-items:center;gap:3px;color:#79818e;font-size:12px;font-weight:700}
.locale a{display:grid;place-items:center;min-width:27px;min-height:39px}.locale a:hover,.locale a[aria-current=page]{color:var(--ink)}
.contact-link,.button-primary,.footer-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:21px;min-height:45px;padding:0 18px;border:1px solid transparent;border-radius:var(--case-control-radius);background:var(--button-dark);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 11px 25px -18px rgb(16 20 28 / 55%);transition:background .2s ease,transform .2s var(--ease),box-shadow .2s ease}
.contact-link:hover,.button-primary:hover,.footer-contact:hover{background:var(--button-hover);box-shadow:0 16px 26px -19px rgb(120 34 80 / 55%);transform:translateY(-2px)}
.contact-link:active,.button-primary:active,.footer-contact:active{transform:scale(.97)}
.contact-link .icon,.button-primary .icon,.footer-contact .icon{flex:none}

.case-page{display:grid;grid-template-columns:minmax(315px,.84fr) minmax(0,1.56fr);gap:clamp(32px,4.4vw,82px);width:min(calc(100% - 7%),1510px);margin:0 auto;padding:119px 0 130px}
.case-rail,.case-gallery{min-width:0}
.rail-inner{position:sticky;top:99px;padding:4px 12px 10px 0}
.rail-too-tall .rail-inner{position:static}
.back-link{display:inline-flex;align-items:center;gap:10px;min-height:39px;padding:0 13px;border:1px solid rgb(214 219 228 / 85%);border-radius:var(--case-control-radius);background:rgb(255 255 255 / 57%);color:#424954;font-size:12px;font-weight:700;box-shadow:inset 0 1px 0 rgb(255 255 255 / 85%);transition:background .2s,color .2s,transform .2s var(--ease)}
.back-link:hover{background:#fff;color:#9e296e;transform:translateX(-2px)}.back-link:active{transform:scale(.97)}
.rail-identity{margin-top:35px}.rail-category{margin:0 0 14px;color:#a02a6a;font-size:11px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.rail-inner h1{max-width:11ch;margin:0;font:400 clamp(43px,4.1vw,68px)/1 'Archivo Expanded',Archivo,sans-serif;letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}
.rail-inner h1.is-long{font-size:clamp(40px,3.35vw,55px)}
.rail-lede{max-width:38ch;margin:20px 0 0;color:#424954;font-size:clamp(16px,1.35vw,19px);line-height:1.4;letter-spacing:-.012em}
.case-pills{display:flex;flex-wrap:wrap;gap:7px;margin:21px 0 0;padding:0;list-style:none}.case-pills li{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px;border:1px solid rgb(137 147 164 / 29%);border-radius:999px;background:rgb(255 255 255 / 62%);color:#505967;font-size:11px;font-weight:700;line-height:1.1;white-space:nowrap}.case-pills li:first-child{border-color:#e4b6d0;background:rgb(249 229 239 / 76%);color:#8f2b60}
.project-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.project-actions:empty{display:none}.project-actions a{max-width:100%}
.mobile-cover-slot{display:none}
.button-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:45px;padding:0 15px;border:1px solid rgb(176 183 196 / 58%);border-radius:var(--case-control-radius);background:rgb(255 255 255 / 68%);color:#323842;font-size:12px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s,transform .2s var(--ease)}
.button-secondary:hover{background:#fff;color:#9e296e;transform:translateY(-2px)}.button-secondary:active{transform:scale(.97)}
.case-facts{display:grid;gap:15px;margin:27px 0 0;padding:18px 20px;border:1px solid var(--case-edge);border-radius:var(--case-panel-radius);background:var(--case-glass);box-shadow:inset 0 1px 0 rgb(255 255 255 / 86%),0 18px 42px -38px rgb(51 59 75 / 42%);-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%)}
.case-facts:empty{display:none}.case-facts div{display:grid;grid-template-columns:94px 1fr;gap:10px}.case-facts dt{color:#68717d;font-size:11px;font-weight:600}.case-facts dd{margin:0;color:#2e333b;font-size:12px;font-weight:600;line-height:1.38}
.story{margin-top:24px}.story:empty{display:none}.story-label{margin:0 0 7px;color:#68717d;font-size:11px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.story details{border-bottom:1px solid rgb(170 178 190 / 44%)}
.story summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;padding:8px 2px 8px 0;list-style:none;color:#2e333b;font-size:13px;font-weight:700;cursor:pointer;transition:color .2s ease}
.story summary::-webkit-details-marker{display:none}.story summary::after{content:'+';flex:none;color:#7c8491;font-size:20px;font-weight:400;line-height:1}.story details[open] summary{color:#a22b70}.story details[open] summary::after{content:'−';color:#a22b70}.story summary:hover{color:#a22b70}
.story details p{max-width:48ch;margin:1px 0 16px;color:#4e5662;font-size:12px;line-height:1.58}

.case-gallery{padding-top:4px}.gallery-lead{margin:0 0 23px;color:#6b7380;font-size:12px;font-weight:700}.gallery-lead strong{color:#282b32;font-weight:700}
.gallery-group{margin:90px 0 28px;padding-top:18px;border-top:1px solid rgb(176 184 198 / 55%)}.gallery-group h2{max-width:18ch;margin:0;font:400 clamp(33px,3.25vw,48px)/1.08 'Archivo Expanded',Archivo,sans-serif;letter-spacing:-.03em}
.gallery-figure{margin:0 0 70px}.gallery-figure:last-child{margin-bottom:0}
.media-link{display:block;overflow:hidden;border:1px solid rgb(225 229 236 / 70%);border-radius:var(--case-panel-radius);background:linear-gradient(140deg,#edf0f5,#e6e8ef 65%,#f4e9f0);box-shadow:0 28px 50px -41px rgb(28 35 50 / 40%);transition:transform .3s var(--ease),box-shadow .3s ease}
@media (hover:hover) and (pointer:fine){.media-link:hover{transform:translateY(-4px);box-shadow:0 34px 53px -38px rgb(28 35 50 / 42%)}}
.media-frame{position:relative;display:grid;place-items:center;min-height:360px;max-height:760px;overflow:hidden;padding:clamp(12px,2vw,28px)}
.media-frame img{width:auto;max-width:100%;height:auto;max-height:720px;object-fit:contain;box-shadow:0 16px 32px -29px rgb(20 26 38 / 45%)}
.gallery-figure.is-tall .media-frame{display:block;min-height:0;height:min(740px,76dvh);padding:0}
.gallery-figure.is-tall .media-frame img{display:block;width:100%;height:auto;max-height:none;object-fit:unset}
.gallery-figure.is-tall .media-frame::after{content:'';position:absolute;right:0;bottom:0;left:0;height:18%;background:linear-gradient(transparent,rgb(230 233 240 / 89%));pointer-events:none}
.gallery-figure.is-cover .media-frame{min-height:min(58vw,620px);max-height:700px}.gallery-figure.is-cover .media-frame img{max-height:670px}
.gallery-figure.is-natural .media-frame{max-height:850px}.gallery-figure.is-natural .media-frame img{max-height:800px;width:auto}
.gallery-figure.is-logo .media-frame{min-height:min(58vw,650px);max-height:740px;background:var(--art-bg,linear-gradient(145deg,#eaebf1,#f2e8ef))}.gallery-figure.is-logo .media-frame img{max-height:700px;box-shadow:none}
.gallery-figure figcaption{display:flex;align-items:start;justify-content:space-between;gap:22px;margin-top:13px;color:#59616c;font-size:12px;line-height:1.4}.gallery-figure figcaption span{max-width:58ch}.gallery-figure figcaption a{display:inline-flex;align-items:center;gap:7px;flex:none;border-bottom:1px solid rgb(99 108 121 / 47%);color:#454d57;font-size:12px;font-weight:700;white-space:nowrap;transition:color .2s,border-color .2s}.gallery-figure figcaption a:hover{color:#a32b70;border-color:currentColor}
.gallery-empty{min-height:300px;padding:40px;border:1px solid rgb(225 229 236 / 70%);border-radius:var(--case-panel-radius);background:var(--case-glass);color:#4e5662}
.case-page.is-logo .case-facts,.case-page.is-logo .story{display:none}

.case-footer{padding:67px 3.5% 77px;border-top:1px solid rgb(200 205 215 / 65%);background:linear-gradient(120deg,#eef0f4 0%,#f5eaf1 60%,#efdce8 100%)}
.footer-inner{display:flex;align-items:end;justify-content:space-between;gap:30px;width:min(100%,1510px);margin:auto}.footer-inner p{max-width:12ch;margin:0;font:400 clamp(36px,4.8vw,66px)/1.05 'Archivo Expanded',Archivo,sans-serif;letter-spacing:-.035em}.footer-actions{display:flex;align-items:center;gap:13px}.footer-contact{min-height:48px;font-size:13px}
.footer-work{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 3px;border-bottom:1px solid #848b96;color:#454d57;font-size:12px;font-weight:700;white-space:nowrap;transition:color .2s,border-color .2s}.footer-work:hover{color:#a32b70;border-color:currentColor}
.no-script{padding:0 3.5% 40px;color:#59616c}.no-script a{text-decoration:underline}

@media(max-width:1050px){.masthead{grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);gap:8px}.brand span:last-child{display:none}.masthead-actions{gap:8px}.case-page{grid-template-columns:minmax(285px,.9fr) minmax(0,1.35fr);gap:30px;width:calc(100% - 48px)}.rail-inner h1{font-size:clamp(40px,4vw,56px)}}
@media(max-height:850px){.rail-inner{position:static}}
@media(max-width:760px){.site-header{top:8px;right:9px;left:9px}.masthead{grid-template-columns:auto minmax(0,1fr) auto;gap:4px;min-height:54px;padding:5px 6px 5px 8px;border-radius:16px}.brand{gap:0}.brand-mark{width:39px;height:39px}.brand-mark img{width:33px;height:33px}.masthead-links{justify-self:center;gap:1px;padding:2px}.masthead-links a{min-height:36px;padding:0 9px;font-size:11px}.masthead-actions{gap:3px}.locale{gap:0;font-size:10px}.locale a{min-width:22px;min-height:36px}.contact-link{min-height:39px;padding:0 11px;gap:6px;font-size:11px}.contact-link .icon{display:none}.case-page{display:block;width:calc(100% - 32px);padding:88px 0 84px}.rail-inner{position:static;max-height:none;overflow:visible;padding:0}.rail-identity{margin-top:28px}.rail-inner h1{max-width:13ch;font-size:clamp(42px,8.6vw,66px)}.rail-inner h1.is-long{font-size:clamp(37px,7vw,54px)}.rail-lede{font-size:16px}.mobile-cover-slot{display:block;margin-top:24px}.mobile-cover-slot .gallery-figure{margin-bottom:0}.case-facts{margin-top:22px}.case-gallery{margin-top:45px;padding:0}.case-gallery #gallery-content>.gallery-figure.is-cover{display:none}.has-no-extra-media .case-gallery{display:none}.gallery-figure{margin-bottom:55px}.gallery-figure.is-cover .media-frame{min-height:400px}.gallery-group{margin-top:70px}.case-footer{padding:56px 16px 62px}.footer-inner{display:block}.footer-actions{flex-wrap:wrap;margin-top:30px}}
@media(max-width:470px){.masthead{grid-template-columns:40px 1fr auto}.masthead-links a{padding:0 7px;font-size:10px}.locale a{min-width:21px}.contact-link{width:40px;min-width:40px;padding:0;justify-content:center}.contact-link #nav-contact{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-link .icon{display:block}.case-page{width:calc(100% - 24px);padding-top:83px}.rail-inner h1{font-size:clamp(40px,10vw,58px)}.rail-inner h1.is-long{font-size:clamp(36px,8vw,49px)}.case-facts{padding:15px}.case-facts div{grid-template-columns:75px 1fr}.gallery-figure.is-cover .media-frame{min-height:330px}.media-frame{min-height:260px;padding:12px}.gallery-figure figcaption{gap:12px;font-size:11px}.gallery-figure figcaption a{font-size:11px}.footer-inner p{font-size:43px}.footer-actions{align-items:stretch;flex-direction:column}.footer-contact,.footer-work{width:max-content;max-width:100%}}
@media(max-width:345px){.masthead-links a:last-child{display:none}.masthead-links{justify-self:start}.locale a{min-width:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(prefers-reduced-transparency:reduce){.masthead,.back-link,.case-pills li,.button-secondary,.case-facts{background:#f7f8fb;-webkit-backdrop-filter:none;backdrop-filter:none}}
