:root{--vh: 100%}@font-face{font-family:'Euclid Circular B';src:local("EuclidCircularB Bold"),local("EuclidCircularB-Bold"),url("../fonts/EuclidCircularB-Bold.woff2") format("woff2"),url("../fonts/EuclidCircularB-Bold.woff") format("woff");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:'Euclid Circular B';src:local("EuclidCircularB SemiBold"),local("EuclidCircularB-SemiBold"),url("../fonts/EuclidCircularB-SemiBold.woff2") format("woff2"),url("../fonts/EuclidCircularB-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Euclid Circular B';src:local("EuclidCircularB Medium"),local("EuclidCircularB-Medium"),url("../fonts/EuclidCircularB-Medium.woff2") format("woff2"),url("../fonts/EuclidCircularB-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Euclid Circular B';src:local("EuclidCircularB Regular"),local("EuclidCircularB-Regular"),url("../fonts/EuclidCircularB-Regular.woff2") format("woff2"),url("../fonts/EuclidCircularB-Regular.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:'Euclid Circular B';src:local("EuclidCircularB Light"),local("EuclidCircularB-Light"),url("../fonts/EuclidCircularB-Light.woff2") format("woff2"),url("../fonts/EuclidCircularB-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:4.2vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width: 767px){html{font-size:1.11111111vw}}@media (min-width: 1440px){html{font-size:1rem}}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}*:focus{outline:none}*:focus-visible{outline:2px solid rgba(0,0,0,0.5);outline-offset:2px}[data-theme="dark"] *:focus-visible{outline:2px solid rgba(255,255,255,0.4);outline-offset:2px}body{background-color:#1c1c1c;background-image:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(255,255,255,0.06) 0%,transparent 100%);color:#fff;font-family:'Euclid Circular B', Arial, sans-serif;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;font-size:.9375rem;line-height:1.1;-webkit-user-select:text;user-select:text}::selection{background-color:rgba(255,255,255,0.2)}a{color:inherit;text-decoration:none;cursor:pointer}a:hover{color:inherit}a:active{opacity:.7}ul,ol{list-style:none;margin:0;padding:0}main{overflow:hidden;min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1920px;margin-inline:auto}strong{font-weight:500}p{color:#b3b3b3;line-height:1.5;margin:0}figure{margin:0}img{display:block;max-width:100%;outline:1px solid rgba(0,0,0,0.1);outline-offset:-1px}.lineParent{overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;margin-bottom:1rem}h2{font-size:1.5rem}@media (min-width: 767px){h2{font-size:2.5rem}}h3{font-size:1.125rem}@media (min-width: 767px){h3{font-size:1.75rem}}h4{font-size:1rem}@media (min-width: 767px){h4{font-size:1.5rem}}h5{font-size:1.25rem}.navbar{width:100%;position:fixed;left:0;top:0;z-index:9;transition:transform 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.navbar .container{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1rem}.navbar__menu{width:100%;background-color:#1c1c1c;font-weight:500;text-transform:uppercase;margin-right:-1.5rem;padding-top:4rem;padding-bottom:2rem;position:absolute;transform:translateY(-100%);top:0;left:0;z-index:-1;transition:transform 0.5s cubic-bezier(0.65, 0, 0.35, 1)}@media (min-width: 767px){.navbar__menu{background-color:transparent;padding:0;position:relative;top:inherit;left:inherit;transform:inherit;display:flex;align-items:center;z-index:auto;width:auto}}body.min-scroll[data-direction="down"] .navbar{transform:translateY(-100%)}body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__menu{transform:translateY(0)}.hero{padding:1rem;padding-top:12rem;padding-bottom:6rem;min-height:80vh;text-align:left}@media (min-width: 767px){.hero{padding-left:1rem;padding-right:1rem;padding-top:14rem;min-height:44rem;padding-bottom:6rem;max-width:1920px;margin-inline:auto}}.hero__grid{flex:1;display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 767px){.hero__grid{flex-direction:row;align-items:flex-start;gap:4rem}}.hero__text{width:100%;max-width:34rem;text-align:left}@media (min-width: 767px){.hero__text{flex:1;max-width:none;margin-right:2rem}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}.marquee__track{display:flex;width:max-content;gap:2.5rem;animation:marquee-scroll 40s linear infinite}.marquee__group{display:flex;gap:2.5rem}@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.clients__logo{display:block;flex-shrink:0;width:6.5rem;height:6.5rem;background-color:#4a4a4a;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}@media (prefers-reduced-motion: reduce){.marquee__track{animation:none}}.projects{padding:1rem;padding-bottom:6rem}.projects ul{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 767px){.projects ul{grid-template-columns:repeat(3, 1fr)}}.about h3,.about h4,.about p{max-width:95%}.contact a{text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth-out)}.contact a:hover{color:#fff}.contact a:active{opacity:.6}.social a{transition:color var(--duration-fast) var(--ease-smooth-out)}.social a:hover{color:#fff}@media (min-width: 767px){.contact .section__content{display:flex;justify-content:space-between}}.section{margin:1rem;padding-top:1.25rem;padding-bottom:3rem;display:grid;grid-template-columns:1fr;gap:1rem;position:relative}@media (min-width: 767px){.section{grid-template-columns:repeat(3, 1fr);padding-bottom:6rem}}.section__subtitle{font-weight:400;margin-bottom:0.25rem}.section__content{position:relative}@media (min-width: 767px){.section__content{grid-column:span 2}}.section__content h2{font-weight:400;color:#b3b3b3}.section__content h2 strong{font-weight:500;font-size:1.75rem;color:#fff}@media (min-width: 767px){.section__content h2 strong{font-size:3.375rem}}.section__content h6{color:#b3b3b3;font-size:1rem;margin-bottom:0.25rem}.project__hero{padding-top:8rem;margin-inline:1rem}@media (min-width: 767px){.project__hero{padding-top:8rem;margin-inline:9.4375rem}}@media (min-width: 767px){.project__hero__content{display:flex;justify-content:space-between}}.project__hero__cover{height:20rem;margin-top:1rem;border-radius:0.5rem;overflow:hidden;position:relative}@media (min-width: 767px){.project__hero__cover{width:80%;height:56.5rem;margin-top:0}}.project__hero__cover::before{content:"";background-color:rgba(28,28,28,0.35);width:100%;height:100%;position:absolute;left:0;top:0}.project__hero__cover img{display:block;width:100%;height:100%;object-fit:cover}.project__hero__text{position:relative;z-index:2}@media (min-width: 767px){.project__hero__text{width:30%;margin-right:-9.4375rem;margin-top:10.25rem;padding-left:1.5rem}}.project__hero__text h1{font-size:4rem;margin-bottom:2rem;line-height:0.8}@media (min-width: 767px){.project__hero__text h1{font-size:10rem;margin-bottom:4rem}}.project__hero__text p{margin-bottom:1rem}@media (min-width: 767px){.project__hero__text p{font-size:1.125rem;margin-bottom:2rem}}.project__hero__text p:last-child{margin-bottom:0}.project__hero__text ul{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.4}.project__hero__text ul li{position:relative;padding-left:2rem}.project__hero__text ul li::before{content:"";background-color:#b3b3b3;width:.375rem;height:.375rem;border-radius:50%;position:absolute;left:0;top:.625rem;transition:all 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.project__hero__text ul li:not(.is-inview)::before{transform:scale(0);opacity:0;top:1.5rem}.project__hero__infos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:2.5rem;padding-bottom:3rem;color:#b3b3b3;font-size:.875rem;border-bottom:1px solid #2E2E2E}@media (min-width: 767px){.project__hero__infos{display:flex;justify-content:space-between;align-items:center}}.project__hero__infos a{transition:color .2s}.project__hero__infos a:hover{color:#fff}.project__hero__info{display:flex;align-items:center;gap:1rem}.project__hero__info svg{width:1.125rem;height:1.125rem}.project__intro{border-top:1px solid #2E2E2E;border-bottom:1px solid #2E2E2E;margin-top:-1px;padding-block:4rem;margin-inline:1rem}@media (min-width: 767px){.project__intro{display:flex;justify-content:space-between;padding-block:9.4375rem;margin-inline:9.4375rem}}@media (min-width: 767px){.project__intro__title{width:30%}}.project__intro__title p{margin-bottom:0.75rem}.project__intro__title h2{font-size:1.75rem}.project__intro__text{color:#b3b3b3;font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65}@media (min-width: 767px){.project__intro__text{width:60%}}.project__intro__text p{margin-bottom:1rem}@media (min-width: 767px){.project__intro__text p{font-size:1.125rem;margin-bottom:2rem}}.project__intro__text p:last-child{margin-bottom:0}.project__intro__text ul{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.4}.project__intro__text ul li{position:relative;padding-left:2rem}.project__intro__text ul li::before{content:"";background-color:#b3b3b3;width:.375rem;height:.375rem;border-radius:50%;position:absolute;left:0;top:.625rem;transition:all 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.project__intro__text ul li:not(.is-inview)::before{transform:scale(0);opacity:0;top:1.5rem}.project__columns{border-top:1px solid #2E2E2E;border-bottom:1px solid #2E2E2E;margin-top:-1px;padding-block:4rem;margin-inline:1rem;display:flex;flex-direction:column;gap:2rem}@media (min-width: 767px){.project__columns{justify-content:space-between;flex-direction:row;padding-block:9.4375rem;margin-inline:9.4375rem;gap:1.5rem}}.project__columns__item{width:100%}.project__columns__item h1,.project__columns__item h2,.project__columns__item h3,.project__columns__item h4,.project__columns__item h5,.project__columns__item h6{margin-bottom:1rem}@media (min-width: 767px){.project__columns__item h1,.project__columns__item h2,.project__columns__item h3,.project__columns__item h4,.project__columns__item h5,.project__columns__item h6{margin-bottom:1.5rem}}.project__columns__item p{margin-bottom:1rem}@media (min-width: 767px){.project__columns__item p{font-size:1.125rem;margin-bottom:2rem}}.project__columns__item p:last-child{margin-bottom:0}.project__columns__item ul{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.4}.project__columns__item ul li{position:relative;padding-left:2rem}.project__columns__item ul li::before{content:"";background-color:#b3b3b3;width:.375rem;height:.375rem;border-radius:50%;position:absolute;left:0;top:.625rem;transition:all 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.project__columns__item ul li:not(.is-inview)::before{transform:scale(0);opacity:0;top:1.5rem}.project__end{padding-block:4rem;margin-inline:1rem}@media (min-width: 767px){.project__end{display:flex;justify-content:space-between;padding-block:9.4375rem;margin-inline:9.4375rem}}@media (min-width: 767px){.project__end__title{width:20%}}.project__end__title p{margin-bottom:0.75rem}.project__end__title h2{font-size:1.75rem}.project__end__text{color:#b3b3b3;font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65}@media (min-width: 767px){.project__end__text{width:80%}}.project__end__text p{margin-bottom:1rem}@media (min-width: 767px){.project__end__text p{font-size:1.125rem;margin-bottom:2rem}}.project__end__text p:last-child{margin-bottom:0}.project__end__text ul{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.4}.project__end__text ul li{position:relative;padding-left:2rem}.project__end__text ul li::before{content:"";background-color:#b3b3b3;width:.375rem;height:.375rem;border-radius:50%;position:absolute;left:0;top:.625rem;transition:all 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.project__end__text ul li:not(.is-inview)::before{transform:scale(0);opacity:0;top:1.5rem}.project__fixed{padding-block:4rem;margin-inline:1rem}@media (min-width: 767px){.project__fixed{padding-block:6.25rem;margin-inline:9.4375rem;display:flex;justify-content:space-between}}@media (min-width: 767px){.project__fixed__text{width:30%}}.project__fixed__text h1,.project__fixed__text h2,.project__fixed__text h3,.project__fixed__text h4,.project__fixed__text h5,.project__fixed__text h6{margin-bottom:1.5rem}@media (min-width: 767px){.project__fixed__text h1,.project__fixed__text h2,.project__fixed__text h3,.project__fixed__text h4,.project__fixed__text h5,.project__fixed__text h6{margin-bottom:2.5rem}}.project__fixed__text p{margin-bottom:1rem}@media (min-width: 767px){.project__fixed__text p{font-size:1.125rem;margin-bottom:2rem}}.project__fixed__text p:last-child{margin-bottom:0}.project__fixed__text ul{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.4}.project__fixed__text ul li{position:relative;padding-left:2rem}.project__fixed__text ul li::before{content:"";background-color:#b3b3b3;width:.375rem;height:.375rem;border-radius:50%;position:absolute;left:0;top:.625rem;transition:all 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.project__fixed__text ul li:not(.is-inview)::before{transform:scale(0);opacity:0;top:1.5rem}.project__fixed__images{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 767px){.project__fixed__images{width:60%;gap:3.75rem}}.project__fixed__images img{border-radius:0.5rem}.related{padding-inline:1rem;padding-bottom:2rem}@media (min-width: 767px){.related{padding-inline:9.375rem;padding-bottom:7.5rem}}.related__title{border-top:1px solid #2E2E2E;padding-top:1rem;margin-bottom:2rem}@media (min-width: 767px){.related__title{padding-top:1.5rem;margin-bottom:4rem}}.related__items{display:none;display:flex;gap:1rem;padding-bottom:2rem;overflow-y:hidden;overflow-x:auto;scroll-snap-type:x mandatory}@media (min-width: 767px){.related__items{gap:3.5rem;padding-bottom:0}}.related__item{scroll-snap-align:start;min-width:100%;display:block;cursor:pointer;transition:opacity .2s}.related__item:hover{opacity:.8}.related__item:active{opacity:.6}@media (min-width: 767px){.related__item{width:33.333333%;min-width:auto}}.related__item.is-inview img{opacity:1;transform:scale(1)}.related__item__cover{height:15rem;margin-bottom:1rem;overflow:hidden}@media (min-width: 767px){.related__item__cover{height:25rem;margin-bottom:2.5rem}}.related__item__cover img{width:100%;height:100%;object-fit:cover;border-radius:0.5rem;transform:scale(1.2);transition:transform 1s ease-out, opacity 1s ease-out;opacity:0}

article h1{font-size:clamp(2.5rem,6vw,6rem);font-weight:500;letter-spacing:-.03em;line-height:.9;margin:0;text-wrap:balance}
article h2{font-size:clamp(1.25rem,2.5vw,2rem);font-weight:500;letter-spacing:-.02em;line-height:1.15;color:#fff;max-width:none;margin:0 0 1.5rem;text-wrap:balance}
article h3{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:500;line-height:1.2;color:#fff;margin:0 0 .75rem;text-wrap:balance}
article h4{font-size:clamp(.875rem,1.15vw,1.1rem);font-weight:400;line-height:1.3;color:#b3b3b3;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.06em}
article p{color:#b3b3b3;font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;max-width:none;margin:0 0 1.25rem;text-wrap:pretty}
article p:last-child{margin:0}
article ul,article ol{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;margin:0 0 1.25rem;padding:0;list-style:none}
article ul:last-child,article ol:last-child{margin:0}
article li{background:none;color:#b3b3b3;padding:0 0 0 1.25rem;min-height:auto;position:relative;font-size:inherit;overflow:visible;opacity:1;display:block;border:none;transform:none;grid-template:none;margin:0 0 .5rem;text-wrap:pretty}
article li:last-child{margin:0}
article li:before{content:"•";color:#b3b3b3;position:absolute;left:0;top:0;font-size:1.15em;font-weight:700}

/* Override animated bullets in project sections — the JS never adds .is-inview to them */
article [class*="project__"] ul li::before,
article [class*="project__"] ul li:not(.is-inview)::before,
article [class*="project__"] ul li.is-inview::before {
    content:"•" !important;
    width:auto !important;
    height:auto !important;
    background:none !important;
    border-radius:0 !important;
    transform:none !important;
    opacity:1 !important;
    position:absolute !important;
    left:0;
    top:0;
    font-size:1.15em !important;
    font-weight:700 !important;
    color:#b3b3b3 !important;
    transition:none !important;
}
article li ul,article li ol{margin-top:.5rem;margin-bottom:0}
.project__hero__text p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none;margin:1.5rem 0 0}
.project__hero__text p:last-child{margin:1.5rem 0 0}
.project__intro__title h2{margin:0;font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.3;color:#fff;font-weight:500;max-width:none}
.project__intro__text p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none}
.project__columns__item{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3}
.project__columns__item h3{font-size:clamp(1rem,1.25vw,1.2rem);margin:0 0 1rem;color:#fff}
.project__columns__item p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none;margin:0 0 1.25rem}
.project__columns__item p:last-child{margin:0}
.project__columns__item>p:first-of-type{margin-top:.5rem}
.project__columns__item ul{margin:.75rem 0 0}
.project__columns__item ul:last-child{margin-bottom:0}
.project__fixed__text{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3}
.project__fixed__text p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none;margin:0 0 1.25rem}
.project__fixed__text p:last-child{margin:0}
.project__fixed__text p:first-of-type{margin-top:.25rem}
.project__fixed__text ul{margin:.75rem 0 1.25rem}
.project__fixed__text ul:last-child{margin-bottom:0}
.project__fixed__text h3+ul,.project__fixed__text h4+ul{margin-top:.25rem}
.project__fixed__text h3{margin-top:0}
.project__fixed__text h3+h4{margin-top:-.25rem}
.project__fixed__text h3:not(:first-child){margin-top:2.5rem}
.project__fixed__text ul+h3{margin-top:2.5rem}
.project__fixed__text p+h3{margin-top:2.5rem}
.project__end__title h2{margin:0;font-size:clamp(1rem,1.5vw,1.5rem);line-height:1.3;color:#fff;font-weight:500;max-width:none}
.project__end__text p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none}
.project__end__text p:last-child{margin:0}
/* Motion tokens (transitions.dev) */
:root{--duration-stagger:40ms;--duration-micro:80ms;--duration-quick:150ms;--duration-fast:250ms;--duration-medium:350ms;--duration-slow:400ms;--duration-very-slow:500ms;--ease-smooth-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:ease-in-out;--ease-out:ease-out;--ease-linear:linear;--ease-bounce:cubic-bezier(0.34,1.36,0.64,1);--ease-bounce-strong:cubic-bezier(0.34,3.85,0.64,1);--distance-micro:4px;--distance-small:6px;--distance-base:8px;--distance-medium:12px;--distance-large:30px;--scale-large:0.96;--scale-medium:0.97;--scale-small:0.98;--scale-tiny:0.99;--blur-small:2px;--blur-medium:3px;--blur-large:8px}
/* Card hover tilt (transitions.dev) */
:root{--tilt-perspective:1000px;--tilt-return:1000ms;--tilt-return-ease:var(--ease-smooth-out);--tilt-follow:400ms;--tilt-follow-ease:var(--ease-smooth-out);--tilt-glare-opacity:0.32;--tilt-glare-fade:300ms;--tilt-glare-ease:var(--ease-smooth-out)}
.t-tilt{touch-action:none}.t-tilt-card{position:relative;border-radius:12px;overflow:hidden;transform:perspective(var(--tilt-perspective)) rotateX(var(--tilt-rx,0deg)) rotateY(var(--tilt-ry,0deg));transform-style:preserve-3d;transition:transform var(--tilt-return) var(--tilt-return-ease);will-change:transform}.t-tilt-card.is-tilting{transition:transform var(--tilt-follow) var(--tilt-follow-ease)}.t-tilt-glare{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle 95px at var(--tilt-gx,50%) var(--tilt-gy,50%),rgba(255,255,255,0.48),rgba(255,255,255,0.06) 52%,rgba(255,255,255,0) 84%),radial-gradient(circle 200px at var(--tilt-gx,50%) var(--tilt-gy,50%),rgba(255,255,255,0.22),rgba(255,255,255,0.04) 58%,rgba(255,255,255,0) 78%),radial-gradient(circle 360px at var(--tilt-gx,50%) var(--tilt-gy,50%),rgba(255,255,255,0.10),rgba(255,255,255,0) 88%);transition:opacity var(--tilt-glare-fade) var(--tilt-glare-ease)}.t-tilt.is-hover .t-tilt-glare{opacity:var(--tilt-glare-opacity)}@media (prefers-reduced-motion:reduce){.t-tilt-card{transform:none!important;transition:none!important}}

/* Case study components */
.case-context-table{display:grid;grid-template-columns:auto 1fr;gap:.5rem 2rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;margin-bottom:2rem;font-size:clamp(.8rem,.9vw,.9rem)}.case-context-table__label{color:#b3b3b3;font-weight:500}.case-context-table__value{color:#fff;text-align:right}
.case-metric-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;text-align:center}.case-metric-card__number{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;letter-spacing:-.03em;line-height:1;margin-bottom:.25rem}.case-metric-card__label{font-size:clamp(.75rem,.9vw,.875rem);color:#b3b3b3;line-height:1.4}
.case-insight-card{background:rgba(255,255,255,.03);border-left:3px solid rgba(255,255,255,.2);border-radius:0 12px 12px 0;padding:1.25rem 1.5rem;margin-bottom:1rem}.case-insight-card__icon{color:#b3b3b3;margin-bottom:.5rem;display:block}.case-insight-card__text{font-size:clamp(.85rem,1vw,1rem);color:#fff;line-height:1.5}.case-insight-card__source{font-size:clamp(.7rem,.8vw,.8rem);color:#666;margin-top:.25rem}
.case-quote-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;position:relative}.case-quote-card::before{content:'"';font-size:3rem;color:rgba(255,255,255,.1);position:absolute;top:.5rem;left:1rem;line-height:1;font-family:Georgia,serif}.case-quote-card__text{font-size:clamp(.9rem,1.1vw,1.1rem);color:#fff;font-style:italic;line-height:1.5;margin-bottom:.5rem;padding-left:2rem}.case-quote-card__author{font-size:clamp(.75rem,.85vw,.875rem);color:#b3b3b3;padding-left:2rem}
.case-tension-card{display:flex;gap:1rem;align-items:flex-start;background:rgba(255,200,0,.04);border:1px solid rgba(255,200,0,.12);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem}.case-tension-card i{color:#ffc800;flex-shrink:0;margin-top:.1rem}.case-tension-card__text{font-size:clamp(.85rem,1vw,1rem);color:#fff;line-height:1.5}.case-tension-card__label{font-size:clamp(.7rem,.8vw,.8rem);color:rgba(255,200,0,.7);margin-bottom:.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.case-reflection-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.5rem 2rem;margin-top:2rem;position:relative}.case-reflection-card::before{content:'\2014';color:#666;margin-right:.5rem}.case-reflection-card__text{font-size:clamp(.85rem,1vw,1rem);color:#b3b3b3;line-height:1.6;font-style:italic}
.case-callout{display:flex;gap:1rem;align-items:flex-start;background:rgba(255,255,255,.03);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.case-callout i{color:#b3b3b3;flex-shrink:0;margin-top:.1rem}.case-callout--warning{background:rgba(255,200,0,.04);border:1px solid rgba(255,200,0,.1)}.case-callout--warning i{color:#ffc800}.case-callout--info{background:rgba(0,150,255,.04);border:1px solid rgba(0,150,255,.1)}.case-callout--info i{color:#0096ff}.case-callout__text{font-size:clamp(.85rem,1vw,1rem);color:#fff;line-height:1.5}
.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.case-comparison__before,.case-comparison__after{background:rgba(255,255,255,.03);border-radius:12px;padding:1rem;text-align:center}.case-comparison__label{font-size:clamp(.7rem,.8vw,.8rem);color:#b3b3b3;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.case-comparison__after .case-comparison__label{color:#4ade80}.case-comparison img{width:100%;height:auto;border-radius:8px}
.case-problem-card{background:rgba(255,100,100,.04);border:1px solid rgba(255,100,100,.12);border-radius:12px;padding:1.5rem;text-align:center;margin-bottom:1rem}.case-problem-card__number{font-size:clamp(2rem,4vw,3rem);font-weight:600;color:#ff6b6b;line-height:1;margin-bottom:.25rem}.case-problem-card__label{font-size:clamp(.75rem,.9vw,.875rem);color:#b3b3b3;line-height:1.4}
.case-section-title{display:flex;align-items:center;gap:.75rem;margin:3rem 0 1.5rem}.case-section-title i{color:#b3b3b3}.case-section-title h2{margin:0!important}.case-section-title:first-of-type{margin-top:0}

/* Pulse animation */
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}

/* Hero meta bar */

/* Link underline hover micro-interaction */
.navbar__menu__link,.social a{position:relative;text-decoration:none}
.navbar__menu__link::after,.social a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-fast) var(--ease-smooth-out)}
.navbar__menu__link::after{left:1.5rem;right:1.5rem;bottom:4px}
.navbar__menu__link:hover::after,.social a:hover::after{transform:scaleX(1)}
.social a{justify-self:start}
.navbar__menu__link,.social a{transition:color var(--duration-fast) var(--ease-smooth-out)}
.navbar__menu__link:hover,.social a:hover{color:#fff}

.case-content{padding:3rem 0;display:flex;flex-direction:column;gap:clamp(3rem,6vw,6rem)}@media(min-width:768px){.case-content{padding:3rem 0;max-width:48rem}}@media(min-width:1024px){.case-content{max-width:56rem}}
.case-content__hero{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:clamp(2rem,4vw,4rem)}
.case-content__hero h1{font-size:clamp(2rem,5vw,4rem);font-weight:500;letter-spacing:-.03em;line-height:.95;color:#fff;margin:0}
.case-content__hero p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:40rem;margin:0}
.case-content__hero-cover{width:100%;border-radius:12px;overflow:hidden;margin-top:1rem}
.case-content__hero-cover img{width:100%;height:auto;display:block}
.case-content__meta{display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem;font-size:clamp(.75rem,.9vw,.875rem);color:#666}
.case-content__meta span{display:flex;align-items:center;gap:.35rem}
.case-content__section{scroll-margin-top:5rem}
.case-content__section-title{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem}
.case-content__section-title h2{margin:0!important;font-size:clamp(1.1rem,2vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.2;color:#fff}
.case-content__section-title i{color:#b3b3b3;flex-shrink:0}
img{border-radius:16px}
/* ==========================================================================
   CASE STUDY — SHARED COMPONENTS
   ========================================================================== */


/* --- Reset & Variables --- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --bg: #fff;
    --text: #1a1a1a;
    --text-muted: #757575;
    --font-body: 'Euclid Circular B', Arial, sans-serif;
    --border: rgba(0,0,0,0.1);
    --border-light: rgba(0,0,0,0.06);
    --border-medium: rgba(0,0,0,0.25);
    --shadow: rgba(0,0,0,0.14);
    --label-width: 140px;
}
[data-theme="dark"] {
    --bg: #1a1a1a;
    --text: #f0f0f0;
    --text-muted: #9a9a9a;
    --border: rgba(255,255,255,0.1);
    --border-light: rgba(255,255,255,0.06);
    --border-medium: rgba(255,255,255,0.25);
    --shadow: rgba(0,0,0,0.4);
}

/* --- Base --- */
html { font-size: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 0.8333vw;
    line-height: 1.5;
    overflow-x: hidden;
}
@media (min-width: 1025px) {
}
a { color: inherit; text-decoration: none; }
.container { padding: 0 8vw; }
@media (max-width: 768px) {
    body { font-size: 14px; }
    .container { padding: 0 5vw; overflow-x: hidden; }
    .nav { padding: 1.5rem 5vw; }
    .footer { flex-direction: row; flex-wrap: wrap; gap: 0.75rem 1.5rem; padding: 24px 6vw !important; padding-right: calc(6vw + 56px) !important; }
    .footer__links { flex-direction: row; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
    .footer__link { font-size: 0.85rem; }
    .footer__divider { display: none; }
}

/* --- Case Study Components --- */
.case-hero{margin-top:10vw;margin-bottom:4rem;padding-top:4rem}.case-hero__title{font-size:clamp(3.5rem,7vw,6rem);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin-bottom:1.5rem}.case-hero__subtitle{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:400;color:var(--text-muted);line-height:1.35;margin-bottom:2rem;letter-spacing:-.01em}
.case-meta{display:grid;grid-template-columns:repeat(3,auto);gap:3rem;padding:2.5rem 0;border-top:1px solid var(--border);margin-bottom:0}.case-meta__label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-weight:500}.case-meta__value{font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.5;font-weight:400}
.case-full-image{width:100%;margin-bottom:2rem}.case-full-image img{width:100%;height:auto;display:block;max-height:39vh;object-fit:cover}
.case-rich-text h2{font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:3rem 0 1.25rem}.case-rich-text h3{font-size:clamp(1.4rem,2vw,1.7rem);font-weight:500;letter-spacing:-.015em;line-height:1.2;margin:2.5rem 0 1rem}.case-rich-text h4{font-size:clamp(1.15rem,1.4vw,1.3rem);font-weight:600;margin:2rem 0 .75rem}.case-rich-text h5{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:2rem 0 .75rem}.case-rich-text p{font-size:clamp(1.05rem,1.2vw,1.25rem);color:var(--text-muted);line-height:1.8;margin-bottom:1.75rem}.case-rich-text p:last-child{margin-bottom:0}.case-rich-text strong{color:var(--text);font-weight:500}
.case-csd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0}.case-csd-card{background:rgba(255,255,255,.03);border-radius:16px;padding:2rem}[data-theme="dark"] .case-csd-card{background:rgba(255,255,255,.03)}:root:not([data-theme="dark"]) .case-csd-card{background:rgba(0,0,0,.03)}.case-csd-card__title{font-size:.8rem;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.08em}.case-csd-card--certainty .case-csd-card__title{color:#4ade80}.case-csd-card--assumption .case-csd-card__title{color:#facc15}.case-csd-card--doubt .case-csd-card__title{color:#f87171}.case-csd-card p{font-size:clamp(1rem,1.1vw,1.1rem);color:var(--text-muted);line-height:1.6;margin:0}
.case-insight{display:grid;grid-template-columns:140px 1fr;gap:2rem;align-items:start;padding:2rem 0;margin:2.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.case-insight__text{font-size:clamp(1.1rem,1.3vw,1.35rem);line-height:1.65;color:var(--text);letter-spacing:-.01em}.case-insight__source{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;padding-top:.35rem}
.case-quote{padding:0 0 3rem;margin:0 0 3rem;position:relative}.case-quote::before{content:'\201C';font-size:4.5rem;color:var(--border);position:absolute;top:.25rem;left:0;line-height:1;font-family:Georgia,serif}.case-quote__text{font-size:clamp(1.2rem,1.4vw,1.45rem);font-style:italic;line-height:1.6;padding-left:2.5rem}.case-quote__source{font-size:.85rem;color:var(--text-muted);margin-top:.75rem;padding-left:2.5rem}
.case-decision-table{width:100%;border-collapse:collapse;margin:3rem 0 3.5rem;font-size:clamp(.95rem,1.05vw,1.1rem)}.case-decision-table th{text-align:left;padding:1rem 1.5rem 1rem 0;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.case-decision-table td{padding:1rem 1.5rem 1rem 0;border-bottom:1px solid var(--border-light);vertical-align:top}.case-decision-table tr:last-child td{border-bottom:none}.case-decision-table__chosen{color:#4ade80!important;font-weight:500}
.case-image{width:100%;height:auto;margin:3.5rem 0 .5rem;border-radius:16px}.case-image img{max-width:100%;height:auto}.case-image-caption{font-size:.9rem;color:var(--text-muted);margin-top:.4rem;margin-bottom:3.5rem}
.case-split-images{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin:3.5rem 0}.case-split-images img{width:100%;height:auto;border-radius:16px}
.case-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3.5rem 0 3.5rem}.case-stat{text-align:center;padding:3rem 2rem;border:1px solid var(--border);border-radius:16px}.case-stat__number{font-size:clamp(2.5rem,4.5vw,3.5rem);font-weight:600;letter-spacing:-.04em;line-height:1;margin-bottom:.5rem}.case-stat__label{font-size:clamp(.9rem,1vw,1.05rem);color:var(--text-muted);line-height:1.5}
.case-deliverables{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem}.case-deliverable{display:flex;gap:1rem;align-items:flex-start;padding:.75rem 0}.case-deliverable__check{width:22px;height:22px;border-radius:50%;background:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.15rem}[data-theme="dark"] .case-deliverable__check{background:#4ade80}:root:not([data-theme="dark"]) .case-deliverable__check{background:#16a34a}.case-deliverable__check svg{width:12px;height:12px;stroke:#fff}.case-deliverable__text{font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.55}
.case-grid__heading{font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:3.5rem 0 2rem;color:var(--text)}.case-grid__heading:first-child{margin-top:0}
.case-reflection{padding:2rem 0;margin-top:1rem}.case-reflection::before{content:'\2014';color:var(--text-muted);margin-right:.75rem}.case-reflection__text{font-size:clamp(1.05rem,1.15vw,1.2rem);color:var(--text-muted);line-height:1.7;font-style:italic}
.case-section{padding-top:1.5rem;margin-bottom:5rem}.case-section:last-child{margin-bottom:0}.case-section__heading{font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0 0 2rem;color:var(--text)}.case-section__divider{height:1px;width:100%;background:var(--border-light);margin-top:5rem;margin-bottom:2.5rem}
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}
.case-layout{display:grid;grid-template-columns:220px 1fr;gap:5rem;padding:7rem 0 0;max-width:none;margin:0}.case-sidebar{display:block;position:sticky;top:7rem;align-self:start;padding-top:.5rem;min-width:0;height:auto}.case-sidebar__nav{display:flex;flex-direction:column;gap:.2rem}.case-sidebar__link{font-size:.95rem;font-weight:400;color:var(--text-muted);text-decoration:none;padding:.5rem 0;transition:color .3s ease,opacity .3s ease;opacity:.5;cursor:pointer;border:none;background:none;text-align:left;font-family:var(--font-body);line-height:1.4}.case-sidebar__link:hover{color:var(--text);opacity:1}.case-sidebar__link.is-active{color:var(--text);opacity:1;font-weight:500}.case-main-content{max-width:1170px;margin-left:auto;margin-right:auto;padding-bottom:5rem}

/* Override old Rachel Chen desktop media query */
@media(min-width:768px){
    .case-layout{grid-template-columns:220px 1fr;gap:5rem;padding:7rem 0 0;max-width:none}
    .case-sidebar{display:block;position:sticky;top:7rem;height:auto;min-width:0;padding-top:.5rem}
}
.related{padding:5vw 0}.related__title{font-size:1.1rem;font-weight:500;margin-bottom:2.5rem;display:flex;align-items:center;gap:1.25rem;text-transform:uppercase;letter-spacing:.08em;border-top:none}.related__title::before,.related__title::after{content:"";flex:1;height:1px;background:var(--border)}.related__items{display:flex;gap:2.5rem}.related__item{flex:1;display:flex;flex-direction:column}.related__item__cover{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:1.25rem}.related__item__company{font-size:clamp(1rem,1.25vw,1.2rem);font-weight:400;color:var(--text-muted);letter-spacing:-.01em;line-height:1.4;margin-top:.15rem}.related__item__subtitle{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--text);padding-bottom:.15em}.related__item__tags{display:flex;gap:.4rem;margin-top:1.2rem;flex-wrap:wrap}.related__item__tag{font-size:.8rem;font-weight:500;color:var(--text-muted);border:1px solid var(--border-medium);border-radius:50px;padding:.25rem .75rem;letter-spacing:.02em;line-height:1.5;white-space:nowrap}

/* --- Case Study: Responsive --- */
@media(max-width:768px){
    .case-layout{grid-template-columns:1fr;gap:0;padding:5rem 0 0;max-width:none}.case-sidebar{display:block;position:relative;top:0;border-bottom:1px solid var(--border-light);padding-bottom:1rem;margin-bottom:2rem;min-width:0;height:auto}.case-sidebar__nav{flex-direction:row;flex-wrap:nowrap;gap:.4rem 1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}.case-sidebar__link{font-size:.85rem;padding:.3rem 0;line-height:1.4}.case-main-content{max-width:100%;padding-bottom:3rem}.case-section{margin-bottom:3.5rem}.case-section__divider{margin-top:3.5rem}.case-grid{grid-template-columns:1fr;gap:1.25rem;padding:3rem 0}.case-grid__left{margin-bottom:0}.case-grid__heading{margin:0 0 1.25rem}.case-hero{margin-top:6rem;margin-bottom:3rem;padding-top:0}.case-hero__title{font-size:clamp(2.5rem,10vw,3.5rem)}.case-meta{grid-template-columns:repeat(2,1fr);gap:2rem;padding:2rem 0;margin-bottom:3rem}.case-csd-grid{grid-template-columns:1fr}.case-stats{grid-template-columns:1fr}.case-split-images{grid-template-columns:1fr}.case-decision-table{font-size:.9rem;width:100%;overflow-x:auto;display:block}.related__items{flex-direction:column;gap:2rem}.case-full-image{max-width:100%;margin:0 auto 3rem}.page-case-study .container{overflow-x:hidden}.case-row__media img,.case-image img{max-width:100%!important;height:auto}.case-details__grid{grid-template-columns:1fr}.case-row__media{padding:0 1rem}.case-decision-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:max-content;min-width:100%}.case-row__content{overflow-x:auto;-webkit-overflow-scrolling:touch}.case-deliverables{grid-template-columns:1fr;gap:0.5rem}.case-deliverable{padding:.35rem 0}.case-full-image img{max-height:none}.case-split-images img{width:100%}
}

/* --- Case Study: Override leaking old production styles --- */
.page-case-study main,
.page-case-study .container {
    width: auto;
    max-width: none;
    margin: 0;
    display: block;
    min-height: 0;
}
.page-case-study .container {
    overflow-x: hidden;
}
@media(min-width:769px){
    .page-case-study .container { overflow-x: visible; }
}
.page-case-study img {
    border-radius: 12px;
    outline: none;
}
