@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap");: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(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}body.--transition{pointer-events:none}::selection{background-color:rgba(255,255,255,0.2)}:root:not([data-theme="dark"]) ::selection{background-color:rgba(0,0,0,0.12)}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__brand p{font-weight:500;font-size:1.5rem;letter-spacing:-.03em;margin:0;color:#fff}.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}}.navbar__menu a{display:block;letter-spacing:0.1em;padding:1.25rem 1.5rem;cursor:pointer;transition:color .2s}.navbar__menu a:hover{color:#fff}.navbar__menu a:active{opacity:.7}.navbar__toggler{width:3rem;height:3rem;position:relative;cursor:pointer}.navbar__toggler::before,.navbar__toggler::after,.navbar__toggler div{content:"";background-color:#fff;width:70%;height:2px;border-radius:1px;position:absolute;left:15%;transition:width 0.5s 0.25s cubic-bezier(0.65, 0, 0.35, 1),left 0.5s 0.25s cubic-bezier(0.65, 0, 0.35, 1),top 0.5s 0.25s cubic-bezier(0.65, 0, 0.35, 1),transform 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.navbar__toggler::before{top:calc(50% - 0.5rem - 1px)}.navbar__toggler::after{top:calc(50% + 0.5rem - 1px)}.navbar__toggler div{top:calc(50% - 1px)}@media (min-width: 767px){.navbar__toggler{display:none}}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)}body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler::before,body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler::after,body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler div{transition:width 0.5s cubic-bezier(0.65, 0, 0.35, 1),left 0.5s cubic-bezier(0.65, 0, 0.35, 1),top 0.5s cubic-bezier(0.65, 0, 0.35, 1),transform 0.5s 0.25s cubic-bezier(0.65, 0, 0.35, 1)}body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler::before{top:calc(50% - 1px);transform:rotate(-45deg)}body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler::after{top:calc(50% - 1px);transform:rotate(45deg)}body.menu--is-open:not([data-direction="down"].min-scroll) .navbar__toggler div{width:0;left:50%}.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__photo{width:14rem;flex-shrink:0}@media (min-width: 767px){.hero__photo{width:22rem}}.hero__photo img{display:block;width:100%;opacity:0;transition:opacity .6s ease}.hero__photo.is-inview img{opacity:1}.hero__text{width:100%;max-width:34rem;text-align:left}@media (min-width: 767px){.hero__text{flex:1;max-width:none;margin-right:2rem}}.hero__status{display:inline-flex;align-items:center;gap:.5rem;color:#8fd9a8;font-size:.875rem;background-color:rgba(143,217,168,0.1);border-radius:99px;padding:.5rem .9rem .5rem 1rem;margin-bottom:1.5rem}.hero__status__dot{width:.5rem;height:.5rem;border-radius:50%;background-color:#8fd9a8;flex-shrink:0;animation:pulse 2s infinite}.hero__name{color:#fff;font-size:clamp(2.5rem,6.5vw,5rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin:0 0 1.5rem}.hero__greeting{color:#b3b3b3;font-size:clamp(1.125rem,1.8vw,1.5rem);font-weight:500;letter-spacing:-.02em;margin:0 0 .25rem}.hero__bio{color:#b3b3b3;font-size:clamp(.9375rem,1.2vw,1.125rem);line-height:1.6;margin:0 0 3rem}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.hero__copy{display:inline-block;background-color:#fff;color:#1c1c1c;border:none;border-radius:99px;padding:.875rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:500;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease-smooth-out),background-color .2s}.hero__copy:hover{background-color:#e8e8e8}.hero__copy:active{transform:scale(.96)}.hero__copy--outline{background-color:transparent;color:#fff;border:1px solid #fff}.hero__copy--outline:hover{background-color:rgba(255,255,255,0.1)}#social-proof{padding:4rem 0}@media (min-width: 767px){#social-proof{padding:6rem 0}}.hr-text{display:flex;align-items:center;gap:1rem;color:#6e6e6e;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2.5rem}.hr-text::before,.hr-text::after{content:"";flex:1;height:1px;background-color:#333}.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)}}.projects ul li{background-color:#333;overflow:hidden;position:relative;opacity:0;transition:transform 1s cubic-bezier(0.65, 0, 0.35, 1),opacity 1s cubic-bezier(0.65, 0, 0.35, 1)}.projects ul li:hover{transform:scale(.97)}.projects ul li:active{transform:scale(.95)}.projects ul li a{cursor:pointer}.projects ul li.is-inview{opacity:1}.projects ul li.is-inview img{transform:scale(1)}.projects ul li img{display:block;width:100%;height:auto;transform:scale(1.2);transition:transform 1s ease-out}.about h3,.about h4,.about p{max-width:95%}.about .avatar{width:12rem;position:absolute;left:-14rem;top:0;opacity:0;transform:scale(0.8);transition:opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1),transform 0.5s cubic-bezier(0.65, 0, 0.35, 1)}.about .avatar.is-inview{opacity:1;transform:scale(1)}.contact__mail{font-size:1.5rem}@media (min-width: 767px){.contact__mail{font-size:3.625rem}}.contact h6{color:#fff !important;font-weight:400 !important}.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}}.contact .social{width:33%;display:flex;flex-direction:column;gap:0.5rem;margin-top:3rem}@media (min-width: 767px){.contact .social{flex-direction:row;gap:6rem;margin-top:0}}.contact .social__links{display:flex;margin:-0.5rem;color:#b3b3b3}@media (min-width: 767px){.contact .social__links{flex-direction:column}}.contact .social__links a{display:block;padding:0.5rem}.stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;margin-top:3rem}@media (min-width: 767px){.stats{margin-top:4rem}}.stats__item strong{font-size:1.375rem;font-variant-numeric:tabular-nums}@media (min-width: 767px){.stats__item strong{font-size:3.375rem}}.stats__item.is-inview .stats__title::before{transform:scale(1)}.stats__title{max-width:100%;padding-bottom:.75rem;margin-bottom:0.75rem;position:relative}.stats__title::before{content:"";background-color:#333;width:100%;height:1px;position:absolute;left:0;bottom:0;transform:scale(0);transform-origin:left;transition:transform 1s ease-out}.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::before{content:"";background-color:#333;width:100%;height:1px;position:absolute;left:0;top:0;transform:scale(0);transform-origin:left;transition:transform 1s ease-out}.section.is-inview::before{transform:scale(1)}.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}.section__content ul li{padding:1rem 0;display:grid;grid-template-columns:1fr 2fr;gap:1rem;min-height:4.5rem;color:#b3b3b3;position:relative}@media (min-width: 767px){.section__content ul li{grid-template-columns:repeat(3, 1fr);min-height:auto}}.section__content ul li::before{content:"";background-color:#333;width:100%;height:1px;position:absolute;left:0;bottom:0;transform:scale(0);transform-origin:left;transition:transform 1s ease-out}.section__content ul li.is-inview::before{transform:scale(1)}.section__content ul li:last-child::before{display:none}.section__content ul li strong{font-weight:600;color:#fff}@media (max-width: 766px){.section__content ul li .time{position:absolute;left:0;bottom:1rem}}.page__content{min-height:calc(100vh - 14rem)}.page__content img{width:100%;height:auto;display:block}.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__hero__info--url svg{transform:rotate(135deg)}.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__section{border-top:1px solid #2E2E2E;margin-top:-1px;padding-block:2rem;margin-inline:1rem}@media (min-width: 767px){.project__section{padding-block:2.5rem;margin-inline:9.4375rem}}.project__section__title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:#b3b3b3}@media (min-width: 767px){.project__section__title{margin-bottom:2.5rem}}.project__section__image img{border-radius:0.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}.related__item__description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.error__404{min-height:calc(100vh - 14rem);padding:6rem 1rem}.error__404 h2{margin-bottom:4rem}@media (min-width: 767px){.error__404 h2{max-width:66%}}.error__404 a{text-transform:uppercase;letter-spacing:0.1em}

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}.hero__location{font-size:clamp(.875rem,1.1vw,1rem);color:#b3b3b3;margin-top:.5rem;font-weight:400}.project__hero__info--location{font-size:clamp(.75rem,.9vw,.875rem);font-weight:400}
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}
.page__content p{font-size:clamp(.875rem,1.1vw,1.05rem);line-height:1.65;color:#b3b3b3;max-width:none}
.page__content figure{margin:0 0 1rem}
.page__content figure:last-child{margin:0}
.page__content img{border-radius:.5rem}
.related__item__description{color:#b3b3b3;font-size:clamp(.8rem,.9vw,.9rem);line-height:1.5}
.related__item__description:empty{display:none}
/* 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}}
.related__items .t-tilt{width:33.333333%;min-width:auto;flex-shrink:0}

/* 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-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}
.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-tradeoff-table{width:100%;border-collapse:collapse;margin-bottom:2rem;font-size:clamp(.8rem,.9vw,.9rem)}.case-tradeoff-table th{text-align:left;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);color:#b3b3b3;font-weight:500}.case-tradeoff-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);color:#fff;vertical-align:top}.case-tradeoff-table tr:last-child td{border-bottom:none}.case-tradeoff-table__chosen{color:#4ade80!important;font-weight:500}
.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-icon-list{list-style:none;padding:0;margin:0 0 1.5rem}.case-icon-list li{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem 0;font-size:clamp(.85rem,1vw,1rem);color:#fff;line-height:1.5}.case-icon-list i{color:#b3b3b3;flex-shrink:0;margin-top:.15rem}
.case-csd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.case-csd-card{background:rgba(255,255,255,.03);border-radius:12px;padding:1.25rem}.case-csd-card__title{font-size:clamp(.8rem,.9vw,.9rem);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.case-csd-card--certainty .case-csd-card__title{color:#4ade80}.case-csd-card--supposition .case-csd-card__title{color:#ffc800}.case-csd-card--doubt .case-csd-card__title{color:#ff6b6b}.case-csd-card p{font-size:clamp(.8rem,.9vw,.9rem);color:#b3b3b3;line-height:1.5;margin:0}
.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 */
.hero__meta{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:1.25rem 0;margin-bottom:3rem}
.hero__meta__inner{display:flex;justify-content:space-between;align-items:center}
.hero__meta__location,.hero__meta__time{font-family:'JetBrains Mono',monospace;font-size:clamp(.75rem,.9vw,.875rem);color:#666;text-transform:uppercase;letter-spacing:.05em}

/* 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 study sidebar layout (Rachel Chen reference) */
.case-layout{display:grid;grid-template-columns:1fr;gap:0;max-width:1800px;margin:0 auto;padding:0 1.5rem}@media(min-width:768px){.case-layout{grid-template-columns:1fr auto 1fr;gap:0 2rem;padding:0 2rem}}
.case-sidebar{display:none}@media(min-width:768px){.case-sidebar{display:block;position:sticky;top:6rem;height:fit-content;min-width:10rem;padding-top:3rem}}
.case-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}
.case-sidebar__link{background:none;border:none;padding:.5rem 0;color:#666;font-size:clamp(.8rem,.9vw,.9rem);font-family:'Euclid Circular B',sans-serif;font-weight:400;text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth-out),opacity var(--duration-fast) var(--ease-smooth-out);opacity:.5;line-height:1.4}
.case-sidebar__link:hover{color:#b3b3b3;opacity:.8}
.case-sidebar__link.is-active{color:#fff;opacity:1;font-weight:500}
.case-sidebar__separator{width:1px;height:100%;background:rgba(255,255,255,.08)}
.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}
@media(max-width:767px){.case-sidebar{display:none}.case-layout{padding:0 1.25rem}}
img{border-radius:16px}



/* ==========================================================================
   CASE STUDY — SHARED COMPONENTS
   ========================================================================== */

/* --- @font-face: Euclid Circular B --- */
@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}
@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:400;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 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 Bold"),local("EuclidCircularB-Bold"),url(../fonts/EuclidCircularB-Bold.woff2) format("woff2"),url(../fonts/EuclidCircularB-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}

/* --- Reset & Variables --- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --bg: #fff;
    --text: #1a1a1a;
    --text-muted: #999;
    --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: #888;
    --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; }
    .nav { padding: 1.5rem 5vw; }
    .footer { padding: 4vw 5vw; flex-direction: column; gap: 1.5rem; }
}

/* --- Case Study Components --- */
.case-hero{margin-top:10vw;margin-bottom: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%;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}.related__item__cover{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:1.25rem}.related__item__title{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:600;letter-spacing:-.025em;margin:0 0 .5rem}.related__item__desc{font-size:1rem;color:var(--text-muted)}

/* --- 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:wrap;gap:.4rem 1.25rem}.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:8vw;margin-bottom:3rem}.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}.related__items{flex-direction:column;gap:2rem}    .case-full-image{max-width:100%;margin:0 auto 3rem}
}

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