:root{--ink:#191b1f;--paper:#f5f5f1;--white:#fff;--pink:#e91e63;--line:#d8d8d1;--ink-soft:#5d6168;--wrap:min(1120px,calc(100vw - 64px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{width:var(--wrap);margin-inline:auto}
.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}
.logo{font-size:20px;font-weight:750;letter-spacing:-.035em}
.header nav{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:650}
.header nav>a:not(.contact-pill):hover{opacity:.55}
.header nav a[aria-current=page]:not(.contact-pill){border-bottom:1px solid}
.contact-pill{padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper)}
.menu{display:none;border:0;background:none;color:inherit;font:inherit}
.kicker{margin:0 0 24px;font-size:13px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.page-hero{min-height:500px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;padding-top:90px;padding-bottom:82px}
.page-hero h1{margin:0;font-size:clamp(62px,8vw,112px);font-weight:650;line-height:.84;letter-spacing:-.07em}
.page-hero>p{max-width:520px;margin:0 0 7px;font-size:22px;line-height:1.35}
.project-index{padding-bottom:120px;border-top:1px solid var(--ink)}
.project-index article{display:grid;grid-template-columns:65px .8fr 1fr;gap:30px;padding:31px 0 35px;border-bottom:1px solid var(--line)}
.project-index article>span{padding-top:7px;font-size:13px;font-weight:700}
.project-index h2{margin:0 0 4px;font-size:clamp(29px,3.5vw,46px);line-height:1;letter-spacing:-.045em}
.project-index article p{margin:0;color:var(--ink-soft)}
.project-index article>p{max-width:470px;padding-top:5px;font-size:16px}
.project-index article div p{font-size:14px;color:var(--pink);font-weight:650}
.page-cta{padding:85px 0 95px;background:var(--pink)}
.page-cta .wrap{display:flex;align-items:end;justify-content:space-between;gap:40px}
.page-cta h2{max-width:720px;margin:0;font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-.055em}
.page-cta a{padding-bottom:4px;border-bottom:1px solid;font-weight:650;white-space:nowrap}
.hello-page{background:var(--pink)}
.hello-header{background:transparent;border-color:rgba(25,27,31,.18)}
.hello-main{min-height:calc(100svh - 184px);display:grid;align-items:center}
.hello-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;padding-top:80px;padding-bottom:95px}
.hello-layout h1{margin:0;font-size:clamp(55px,7.5vw,104px);line-height:.88;letter-spacing:-.07em}
.hello-copy p{margin:0 0 22px;font-size:19px}
.hello-copy a{display:inline-block;margin-top:30px;font-size:clamp(21px,2.5vw,32px);font-weight:700;border-bottom:2px solid}
.footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);font-size:14px}
.footer div{display:flex;gap:25px}
.hello-page .footer{border-color:rgba(25,27,31,.18)}
.policy{width:min(780px,calc(100vw - 40px));margin:0 auto;padding:100px 0 130px}
.policy h1{margin:0 0 16px;font-size:clamp(52px,8vw,92px);line-height:.95;letter-spacing:-.06em}
.updated{margin:0 0 70px;color:var(--ink-soft)}
.policy h2{margin:65px 0 18px;padding-top:30px;border-top:1px solid var(--line);font-size:30px}
.policy h3{margin:34px 0 10px}
.policy p,.policy li{color:#454950}
.policy a{text-decoration:underline}
.back{display:inline-block;margin-bottom:70px;font-weight:750}
@media(max-width:760px){:root{--wrap:calc(100vw - 40px)}.header{height:70px;padding:0 20px}.menu{display:block}.header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:13px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.hero-header nav.open,.hello-header nav.open{background:var(--pink);border-color:rgba(25,27,31,.18)}.header nav.open{display:flex}.header nav a{padding:12px 0}.contact-pill{margin-top:7px;text-align:center}.page-hero{min-height:430px;grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:60px}.page-hero h1{font-size:clamp(58px,18vw,86px)}.page-hero>p{font-size:19px}.project-index{padding-bottom:75px}.project-index article{grid-template-columns:36px 1fr;gap:10px;padding:25px 0 28px}.project-index article>p{grid-column:2}.page-cta{padding:65px 0 70px}.page-cta .wrap{align-items:flex-start;flex-direction:column}.hello-main{min-height:auto}.hello-layout{grid-template-columns:1fr;gap:45px;padding-top:70px;padding-bottom:80px}.hello-layout h1{font-size:clamp(52px,15vw,76px)}.hello-copy p{font-size:18px}.footer,.footer div{align-items:flex-start;flex-direction:column}.footer{padding:25px 0}}
@media(max-width:760px){.header .menu{display:none}.header nav{display:flex;position:static;padding:0;background:transparent;border:0;flex-direction:row;align-items:center;gap:16px}.header nav a{padding:0}.contact-pill{margin-top:0;padding:9px 14px}.header nav a[aria-current=page]:not(.contact-pill){border-bottom:1px solid}}
