/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--ink:#0a0a0a;--paper:#f2efe8;--red:#a90e1b;--red-deep:#760710;--red-shadow:#390407;--red-light:#d02732;--muted:#8f8c84;--line:#ffffff30;--pad:5vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Manrope,Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button{color:inherit}header{height:100px;padding:0 var(--pad);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:#0b0b0b;border-bottom:1px solid var(--line)}.logo{width:195px;display:block;flex-shrink:0}.logo img{display:block;width:100%;height:auto}nav{display:flex;gap:30px;font-size:12px}nav a{padding:10px 0;position:relative}nav a:after{content:'';height:1px;background:var(--red);position:absolute;bottom:5px;left:0;width:0;transition:width .25s}nav a:hover:after{width:100%}.header-cta{font-size:12px;padding:12px 0;border-bottom:1px solid #777}.header-cta span{margin-left:28px}.menu{display:none}.hero{padding:30px var(--pad) 0;overflow:hidden;background:#0b0b0b}.eyebrow,.section-tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;justify-content:space-between;color:#aaa}.hero-body{position:relative;padding:55px 0 25px;isolation:isolate}h1{font-weight:500;letter-spacing:-.065em;line-height:.98;margin:0;position:relative;z-index:2;pointer-events:none}.hero-line{display:block;font-size:8.3vw;letter-spacing:-.07em}h1 em{font-size:23vw;font-weight:600;line-height:.96;display:block;letter-spacing:-.085em;color:var(--red);margin-left:-.015em}em{font-style:normal}.hero-last{display:block;font-size:8.3vw;letter-spacing:-.065em;margin-top:6px}.sculpture{position:absolute;margin:0;right:-2%;top:0;width:51%;height:94%;z-index:1;overflow:visible}.sculpture img{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mix-blend-mode:lighten}.hero-bottom{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px;margin:25px 0 55px}.hero-bottom p{font-size:13px;line-height:1.65;letter-spacing:-.01em}.button{border:0;border-radius:0;min-height:54px;padding:18px 24px;display:inline-flex;justify-content:space-between;gap:55px;align-items:center;font-size:12px;transition:background .25s,color .25s}.button span{font-size:19px;transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}.button:hover{background:var(--red);color:var(--paper)}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--ink);color:var(--paper)}.text-link{font-size:12px;padding:16px 0;border-bottom:1px solid #777}.text-link span{margin-left:35px}.discipline{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid var(--line);font-size:12px}.discipline b{font-weight:400;font-size:12px;color:#6c6862}.section{padding:100px var(--pad)}.cream{background:var(--paper);color:var(--ink)}.section-tag{color:var(--muted);margin-bottom:50px}.about{padding-top:90px;padding-bottom:75px}.about-top{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:end}h2{font-weight:500;font-size:clamp(48px,6.5vw,110px);line-height:1.03;letter-spacing:-.065em;margin:0}.about h2{font-size:8.9vw;line-height:.99}.about h2 span{color:var(--red)}.about-copy{max-width:420px;padding-bottom:5px}.about-copy p{font-size:20px;line-height:1.55;letter-spacing:-.035em}.about-copy .small{font-size:13px;line-height:1.8;color:#6e6a63;margin-top:25px}.principles{margin-top:80px;margin-left:30%;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.principles article{border-top:1px solid #b8b3a9;padding-top:14px}.principles small{font-size:9px;color:#817c73}.principles h3{font-size:20px;font-weight:500;letter-spacing:-.04em;margin:25px 0 15px}.principles p{font-size:11px;line-height:1.7;color:#777168;margin:0}.services{background:#171715}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:60px}.section-heading p{font-size:12px;line-height:1.7;color:var(--muted);min-width:200px}.red{color:var(--red)}.accordions{border-top:1px solid var(--line)}.tags{display:flex;flex-direction:column;align-items:start;gap:7px;padding-top:3px}.tags span{font-size:11px;color:#c5c0b7}.tags span:before{content:'—';color:var(--red);margin-right:12px}.process{background:var(--paper);color:var(--ink);border-top:1px solid #bdb8ae;display:grid;grid-template-columns:1fr 1fr;gap:0 9%;padding-top:65px}.process>.section-tag{grid-column:1/-1}.process .section-heading{display:block;margin:0}.process h2{font-size:5.4vw}.process .section-heading p{margin-top:30px}.steps{display:flex;flex-direction:column}.steps article{position:relative;border-top:1px solid #bdb8ae;padding:24px 0 24px 50px}.steps article:last-child{border-bottom:1px solid #bdb8ae}.steps span{position:absolute;left:0;top:31px;font-size:10px;color:var(--red)}.steps h3{font-size:25px;font-weight:500;letter-spacing:-.04em;margin:0 0 10px}.steps p{font-size:12px;line-height:1.7;color:#767065;margin:0;max-width:310px}.cta{background:var(--red);color:var(--ink);position:relative;overflow:hidden;padding-top:65px;padding-bottom:70px}.cta .section-tag{color:var(--red-deep);display:block}.cta h2{font-size:8vw;position:relative;z-index:2}.cta h2 em{font-size:17vw;letter-spacing:-.08em;line-height:1}.cta .button{background:var(--ink);color:var(--paper);margin-top:35px}.cta .button:hover{background:var(--paper);color:var(--ink)}.contact{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding-top:100px;padding-bottom:100px}.contact h2{font-size:4.5vw}.contact p{font-size:12px;line-height:1.8;color:#767168;margin-top:30px}form label{display:block;font-size:10px;margin-bottom:28px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #b8b2a8;background:transparent;color:var(--ink);padding:14px 0;font-size:15px;outline:none;border-radius:0}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-bottom:1px solid var(--red)}form .button{width:100%}.contact .form-note{font-size:10px;margin:15px 0 0}.contact #form-status{color:var(--red-deep);font-size:12px}footer{display:flex;gap:35px;align-items:center;padding:35px var(--pad);background:var(--ink);font-size:10px}footer .logo{width:175px}footer>span{margin-right:auto;color:#999}.close{position:absolute;right:20px;top:10px;background:none;border:0;font-size:35px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){:root{--pad:max(5vw,calc((100vw - 1600px)/2))}.hero-line,.hero-last{font-size:min(8.3vw,145px)}h1 em{font-size:min(23vw,390px)}.about h2{font-size:145px}.cta h2{font-size:130px}.cta h2 em{font-size:270px}}
@media(max-width:1000px){header{height:88px}.logo{width:165px}nav{gap:20px;font-size:11px}.header-cta{font-size:10px}.hero-body{padding-top:45px}.hero-bottom{gap:25px}.hero-bottom p{font-size:11px}.button{padding:16px 20px;gap:30px}.section{padding-top:75px;padding-bottom:75px}.about-copy p{font-size:16px}.about-copy .small{font-size:12px}.principles{margin-left:20%;gap:18px;margin-top:55px}.principles h3{font-size:18px}.process{gap:0 8%}.contact{gap:8%}footer{gap:20px}.section-heading p{min-width:170px;font-size:11px}}
@media(max-width:600px){:root{--pad:6vw}html{scroll-padding-top:90px}header{height:78px}.logo{width:137px}.header-cta{margin-left:auto;margin-right:18px;font-size:9px;padding:10px 0}.header-cta span{margin-left:7px}.menu{display:block;border:0;background:none;font-size:23px;padding:5px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:25px var(--pad);flex-direction:column;gap:20px;font-size:20px;border-bottom:1px solid #777}nav.open{display:flex}.hero{padding-top:24px}.eyebrow{font-size:7px;letter-spacing:.09em}.hero-body{padding:35px 0 0;min-height:470px}h1{line-height:1}.hero-line{font-size:16vw}.hero-last{font-size:9.1vw;white-space:nowrap;margin-top:7px}h1 em{font-size:32vw;line-height:1.04}.sculpture{width:76%;height:290px;right:-15%;top:185px;z-index:0}.sculpture img{object-fit:contain}.hero-bottom{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 35px;position:relative;z-index:3}.hero-bottom p{width:100%;margin:0 0 12px;font-size:12px;max-width:190px;align-self:start}.button{min-height:50px;font-size:11px;padding:15px 18px;gap:24px}.text-link{font-size:10px;padding:16px 0}.text-link span{margin-left:12px}.discipline{font-size:10px;padding:22px 0;gap:10px}.discipline b{font-size:8px}.section{padding:55px var(--pad)}.section-tag{font-size:8px;margin-bottom:35px}.about-top{display:block}.about h2{font-size:16vw;line-height:1.04}.about-copy{padding:0;margin:35px 0 0 17%}.about-copy p{font-size:17px}.about-copy .small{font-size:12px;line-height:1.8}.principles{margin:45px 0 0;grid-template-columns:1fr 1fr;gap:30px 25px}.principles h3{font-size:21px;margin:22px 0 10px}.principles p{font-size:11px}.section-heading{display:block;margin-bottom:35px}.section-heading h2,h2{font-size:12vw}.section-heading p{font-size:11px;margin:20px 0 0}.services .section-heading h2{max-width:260px}.tags{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.tags span{font-size:9px}.tags span:before{margin-right:6px}.process{display:block}.process h2{font-size:12vw}.steps{margin:35px 0 0 10%}.steps h3{font-size:23px}.steps p{font-size:11px}.steps article{padding-left:38px}.cta h2{font-size:11vw}.cta h2 em{font-size:26vw}.cta .section-tag{font-size:7px;max-width:220px;line-height:1.8}.cta .button{margin-top:35px}.contact{display:block}.contact h2{font-size:12vw}.contact form{margin-top:45px}.contact p{font-size:12px}footer{flex-wrap:wrap;padding:25px var(--pad);gap:22px}footer .logo{width:140px}footer>span{margin:0 0 0 auto;font-size:9px}footer>a:not(.logo){flex:1;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:600px){}
/* Logo-derived palette: midtone #ac111a; shadow #870b11; accessible dark-surface accent #c83b44. */
.hero h1 em{color:var(--red-light);font-size:22vw}
.hero-body{padding-bottom:25px}
.sculpture{width:32%;right:-1%;top:1%;height:85%;z-index:0}
.sculpture img{filter:saturate(.82) brightness(.82);mask-image:none}
.hero h1 em{width:max-content;max-width:none}
.hero-line,.hero-last{width:max-content;position:relative}
.hero-last{font-size:8.1vw}
.services .red,.service-number,.service.is-open .service-title{color:var(--red-light)}
.button{position:relative;overflow:hidden;transition:background .25s,color .25s,transform .25s}
.button:hover{background:var(--red-deep);color:var(--paper);transform:translateY(-2px)}
.button:active{transform:translateY(1px)}
.button span{transition:transform .3s}
.button:hover span{transform:translate(4px,-4px)}
nav a:after{background:var(--red-light)}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.principles article{padding-top:0}.principles h3{margin-top:20px}
.service{border-bottom:1px solid var(--line)}
.service-heading{margin:0;font-weight:400}
.service-trigger{display:flex;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:28px 0;color:var(--paper);cursor:pointer}
.service-number{width:12%;font-size:10px;flex-shrink:0;color:#928d85;transition:color .3s}
.service-title{font-size:clamp(34px,5.2vw,80px);letter-spacing:-.045em;line-height:1.15;transition:transform .35s,color .35s}
.service-toggle{width:30px;height:30px;position:relative;margin-left:auto;margin-right:5px;flex-shrink:0}
.service-toggle i{position:absolute;background:currentColor;width:18px;height:1px;top:15px;left:6px;transition:transform .35s,opacity .35s}
.service-toggle i:last-child{transform:rotate(90deg)}
.is-open .service-toggle i:last-child{transform:rotate(0deg);opacity:0}
.service-trigger:focus-visible{outline:1px dashed var(--paper);outline-offset:-3px}
@media(hover:hover){.service-trigger:hover .service-title{transform:translateX(12px);color:var(--paper)}.service-trigger:hover .service-number{color:var(--red-light)}.service-trigger:hover .service-toggle{color:var(--red-light)}.service.is-open .service-trigger:hover .service-title{color:var(--red-light)}}
.service-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .45s ease,opacity .35s,visibility .45s}
.is-open .service-panel{grid-template-rows:1fr;opacity:1;visibility:visible}
.service-panel-inner{overflow:hidden;min-height:0}
.service-body{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding:8px 5% 40px 12%;align-items:center}
.service-copy p{font-size:14px;line-height:1.8;color:#bab5ac;max-width:420px;margin:0 0 24px}
.tags span{color:#c5c0b7}.tags span:before{color:var(--red-light)}
.service-art{aspect-ratio:1.55;position:relative;overflow:hidden;color:var(--paper);background:var(--red-deep);transform:translateY(12px);transition:transform .5s}
.is-open .service-art{transform:translateY(0)}
.service-art strong,.service-art b{font-weight:500;letter-spacing:-.065em}.service-art span{font-size:9px}
.cta{background:var(--red);color:var(--paper)}.cta .section-tag{color:#f2efe7c9}.cta .button{background:var(--paper);color:var(--red-deep)}.cta .button:hover{background:var(--ink);color:var(--paper)}
.contact-notice{border-left:2px solid var(--red);padding:0 0 0 16px;margin:0 0 32px!important;color:#57524b!important}.contact #form-status{color:var(--red-deep)}
@media(max-width:1000px){.sculpture{width:31%;height:81%}.service-body{gap:6%;padding-right:0}.service-copy p{font-size:12px}.service-art span{font-size:8px}}
@media(max-width:600px){
nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s}nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.hero-body{min-height:490px}.hero h1 em{font-size:32vw;max-width:none}.hero-last{font-size:9.1vw}.sculpture{top:245px;right:-5%;width:61%;height:240px}.hero-bottom{margin-top:0}.hero-bottom p{max-width:185px}.service-trigger{padding:24px 0}.service-title{font-size:8.5vw}.service-number{font-size:9px}.service-toggle{width:25px;margin-right:0}.service-body{grid-template-columns:1fr;padding:4px 0 30px 12%;gap:22px}.service-copy p{font-size:13px}.service-art{max-width:320px;aspect-ratio:1.65}.service-art span{font-size:9px}.cta h2 em{font-size:26vw}.contact-notice{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.service-art{transform:none}.service-trigger:hover .service-title,.button:hover,.button:active{transform:none}}
.sculpture img{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
@media(max-width:600px){.hero-body{min-height:calc(60vw + 310px)}.sculpture{top:calc(60vw + 55px)}}
/* Tactile materials: unchanged logo, transparent hero, conceptual service imagery. */
.sculpture img{mask-image:none;mix-blend-mode:normal;filter:saturate(.85) brightness(.78);transform:translate3d(var(--art-x,0px),var(--art-y,0px),0);transition:transform .7s ease-out}
.discipline{gap:25px}.discipline a{position:relative;padding:10px 0;transition:color .25s,transform .25s}.discipline a:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--red-light);transform:scaleX(0);transform-origin:left;transition:transform .3s}.discipline a:hover,.discipline a[aria-current="true"]{color:var(--paper);transform:translateY(-2px)}.discipline a:hover:after,.discipline a[aria-current="true"]:after{transform:scaleX(1)}
.about-materials{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center;margin-top:65px}.about-materials .principles{margin:0;grid-template-columns:1fr 1fr;gap:35px 25px}
.paper-collage{display:block;position:relative;border:0;padding:0;background:var(--red-deep);aspect-ratio:1.5;text-align:left;isolation:isolate;overflow:hidden;width:100%;box-shadow:0 15px 35px #30201512}
.collage-under{position:absolute;inset:0;padding:20% 8% 8%;color:var(--paper);background:linear-gradient(135deg,#34050b,var(--red-deep) 65%,#7d0a17)}.collage-under>span{font-size:5.4vw;letter-spacing:-.07em;display:block;margin-left:22%}.collage-under small{display:block;font-size:10px;margin:15px 0 0 24%}
.collage-front{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1);transform-origin:10% 50%;filter:drop-shadow(5px 12px 10px #0002)}.collage-front img{width:100%;height:100%;object-fit:cover;display:block}.collage-front>span{position:absolute;left:12%;top:29%;font-size:6vw;letter-spacing:-.07em;color:var(--ink);transform:rotate(-3deg)}.paper-collage[aria-pressed="true"] .collage-front{transform:translateX(-72%) rotate(-6deg)}.paper-collage:focus-visible{outline:2px solid var(--red);outline-offset:7px}
@media(hover:hover){.paper-collage:not([aria-pressed="true"]):hover .collage-front{transform:translate(-2%,-1%) rotate(-1.5deg)}}
.service-body{grid-template-columns:1.65fr 1fr;gap:0;padding:10px 0 45px 7%;align-items:center}.service-art{margin:0;position:relative;aspect-ratio:auto;max-width:none;background:transparent;overflow:visible;transform:translateY(16px);opacity:0;transition:transform .6s,opacity .5s}.service-art img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;clip-path:inset(0 100% 0 0);transition:clip-path .7s cubic-bezier(.2,.65,.3,1);box-shadow:0 12px 24px #0002}.is-open .service-art{transform:none;opacity:1}.is-open .service-art img{clip-path:inset(0)}.service-art figcaption{color:#a9a398;font-size:8px;letter-spacing:.02em;line-height:1.6;margin-top:12px}
.service-copy{position:relative;z-index:2;background:var(--paper);color:var(--ink);padding:35px 30px;margin-left:-30px;box-shadow:4px 12px 30px #0002;transform:translateY(15px);opacity:0;transition:transform .5s .12s,opacity .4s .12s;clip-path:polygon(0 1%,8% 0,17% 1%,26% .4%,38% 1%,51% 0,64% 1%,77% .2%,89% 1%,100% 0,100% 99%,89% 100%,75% 99%,63% 100%,51% 99%,39% 100%,25% 99%,13% 100%,0 99%)}.is-open .service-copy{transform:none;opacity:1}.service-copy p{font-size:13px;color:#37312b;line-height:1.8}.service-copy .tags{gap:8px}.service-copy .tags span{color:#61584e}.service-copy .tags span:before{color:var(--red)}.service-trigger{scroll-margin-top:110px}
.cta{background:radial-gradient(ellipse at 92% 10%,#81101f 0%,transparent 55%),linear-gradient(125deg,#3b050d,var(--red-deep) 50%,#680b18)}
.button{isolation:isolate}.button:before{content:'';position:absolute;inset:0;background:var(--red-deep);transform:translateY(105%) rotate(-2deg);transform-origin:left;z-index:-1;transition:transform .35s ease}.button:hover{background:var(--paper);color:var(--paper)}.button:hover:before{transform:translateY(0) rotate(0)}.dark:before{background:var(--red)}.cta .button:before{background:var(--ink)}.cta .button:hover{background:var(--paper);color:var(--paper)}
@media(max-width:1000px){.service-body{padding-left:4%}.service-copy{padding:25px 22px;margin-left:-22px}.service-copy p{font-size:12px}.about-materials{gap:5%}.about-materials .principles{gap:25px 18px}.collage-under small{font-size:9px}}
@media(max-width:600px){.discipline{gap:15px;flex-wrap:wrap}.discipline a{font-size:11px}.about-materials{display:block;margin-top:35px}.paper-collage{aspect-ratio:1.4}.collage-front>span{font-size:14vw}.collage-under>span{font-size:13vw}.collage-under small{font-size:9px;margin-left:24%}.about-materials .principles{margin-top:35px}.service-body{display:block;padding:5px 0 32px 0}.service-art{max-width:none}.service-copy{margin:-12px 0 0 8%;padding:28px 25px}.service-copy p{font-size:13px}.service-art figcaption{margin:10px 0 22px 0;font-size:7px}.service-trigger{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.sculpture img{transform:none!important}.service-art img{clip-path:none}.service-art,.service-copy{transform:none}.paper-collage:hover .collage-front{transform:none}.paper-collage[aria-pressed="true"] .collage-front{transform:translateX(-72%)}.button:hover,.discipline a:hover{transform:none}}
.collage-under>span{margin-left:32%}.collage-under small{margin-left:34%}.service-art figcaption{font-size:9px}
.hero h1 em{color:var(--red-light);background:linear-gradient(115deg,#b72936 5%,#d44a53 42%,#b72936 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media(max-width:600px){.collage-under small{margin-left:34%}.service-art figcaption{font-size:8px}}
/* Focused motion update: crisp unmasked type and explicit interaction states. */
:root{--ease-material:cubic-bezier(.22,.7,.18,1)}
.hero h1{overflow:visible}.hero h1 em{display:block;width:max-content;max-width:none;overflow:visible;background:none;background-clip:border-box;-webkit-background-clip:border-box;-webkit-text-fill-color:currentColor;color:var(--red-light);padding:.02em .1em .06em .02em;margin-left:-.02em;line-height:1.04}
.sculpture{width:29%;right:-1%;height:78%}.sculpture img{width:100%;height:100%;object-fit:contain;transform:none;transition:none;filter:saturate(1.1) brightness(.72)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.collage-front{transition-duration:.7s;transition-timing-function:var(--ease-material)}.collage-under{background:linear-gradient(135deg,var(--red-shadow),var(--red-deep))}
.service-panel{transition:grid-template-rows .55s var(--ease-material),opacity .4s,visibility .55s}.service-art img{transition:clip-path .6s var(--ease-material)}.service-copy p,.service-copy .tags span{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s var(--ease-material)}.is-open .service-copy p,.is-open .service-copy .tags span{opacity:1;transform:none}.is-open .service-copy p{transition-delay:.15s}.is-open .service-copy .tags span:nth-child(1){transition-delay:.23s}.is-open .service-copy .tags span:nth-child(2){transition-delay:.29s}.is-open .service-copy .tags span:nth-child(3){transition-delay:.35s}
.button{transition:transform .18s,background .2s,color .2s}.button:before{transition:transform .4s var(--ease-material)}.button:active{transform:translateY(2px) scale(.985)}.button:focus-visible:before{transform:translateY(0)}.button:focus-visible{color:var(--paper)}
.cta{background:radial-gradient(ellipse at 90% 0,var(--red-deep),transparent 60%),linear-gradient(130deg,var(--red-shadow),#610711)}.cta-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:35px}.cta-actions .button{margin-top:0}#cta-message{flex-basis:100%;font-size:15px;line-height:1.6;margin:0;max-width:430px;color:var(--paper)}#cta-message:not([hidden]){animation:message-in .45s var(--ease-material)}@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(hover:hover){}
@media(max-width:600px){.hero h1 em{font-size:32vw}.sculpture{width:58%;height:225px;top:calc(60vw + 75px);right:-3%}.hero-body{min-height:calc(60vw + 340px)}.cta-actions{gap:16px}#cta-message{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.service-copy p,.service-copy .tags span{transform:none}.button:active{transform:none}}
/* Real mesh stage; raster is only the no-WebGL fallback. */
.sculpture-stage{position:relative;width:100%;height:100%;cursor:grab;touch-action:none;outline-offset:7px}.sculpture-stage.dragging{cursor:grabbing}.sculpture-canvas,.sculpture-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.sculpture-canvas{opacity:0;transition:opacity .6s}.webgl-ready .sculpture-canvas{opacity:1}.webgl-ready .sculpture-fallback{visibility:hidden}.sculpture-pause{position:absolute;right:2px;bottom:0;width:32px;height:32px;border:1px solid #f2efe840;border-radius:50%;color:var(--paper);background:var(--ink);font-size:12px;cursor:pointer;opacity:.65}.sculpture-pause:hover,.sculpture-pause:focus-visible{opacity:1}
.hero-line,.hero h1 em,.hero-last,.hero-bottom{animation:hero-enter .85s cubic-bezier(.22,.7,.18,1) both}.hero h1 em{animation-delay:.1s}.hero-last{animation-delay:.2s}.hero-bottom{animation-delay:.3s}@keyframes hero-enter{from{opacity:0;transform:translateY(24px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(-15%)}}
.paper-collage{perspective:1000px;transform-style:preserve-3d}.collage-front{transform-origin:0 50%;transition:transform .85s cubic-bezier(.22,.7,.18,1),filter .85s}.paper-collage[aria-pressed="true"] .collage-front{transform:translateX(-68%) rotateY(-28deg) rotateZ(-5deg);filter:drop-shadow(22px 22px 15px #0005)}.collage-under{background:linear-gradient(120deg,#390407dd,#760710aa),url('assets/paper-collage.webp') right center/cover}.collage-under>span{margin-left:38%}.collage-under small{margin-left:39%}
.service-art img{transform:translate(var(--image-x,0px),var(--image-y,0px));transition:clip-path .65s var(--ease-material),transform .45s var(--ease-material)}.service-copy .tags span{transition-duration:.4s}.service-panel{transition-duration:.6s}.hero-bottom .button{transition:translate .25s,transform .18s,background .2s,color .2s}
.cta-material{position:relative;width:min(440px,100%);height:160px;background:var(--red-shadow) url('assets/paper-collage.webp') right center/180%;overflow:hidden;touch-action:pan-y;cursor:ew-resize;isolation:isolate;outline-offset:5px;--peel:0%;--peel-angle:0deg}.cta-material-under{position:absolute;inset:0;background:#390407b8;color:var(--paper);display:flex;align-items:center;padding:30px;font-size:25px;letter-spacing:-.04em}.cta-material-paper{position:absolute;inset:0;background:var(--paper) url('assets/paper-collage.webp') left 20%/230%;display:flex;align-items:center;padding:30px;color:var(--ink);font-size:25px;letter-spacing:-.04em;clip-path:polygon(0 0,98% 1%,100% 8%,98% 17%,100% 29%,98% 40%,100% 51%,98% 63%,100% 78%,98% 89%,100% 100%,0 100%);transform:translateX(calc(-1 * var(--peel))) rotateY(calc(-1 * var(--peel-angle)));transform-origin:left;filter:drop-shadow(12px 6px 8px #0004);transition:transform .65s var(--ease-material)}.cta-material-grip{position:absolute;right:6px;top:12%;bottom:12%;width:2px;background:#76071040;pointer-events:none;transform:translateX(calc(-1 * var(--peel)));transition:opacity .3s}.cta-material[aria-valuenow="100"] .cta-material-grip{opacity:0}.cta-material.is-dragging .cta-material-paper{transition:none}.cta-actions{align-items:center;gap:35px}
@media(hover:hover){.cta-material:not(.is-dragging)[aria-valuenow="0"]:hover .cta-material-paper{transform:translateX(-3%) rotateY(-4deg)}}
@media(max-width:600px){.cta-material{height:135px}.cta-material-under,.cta-material-paper{font-size:22px;padding:24px}.sculpture-pause{width:28px;height:28px;bottom:-8px}.collage-under>span{margin-left:37%;font-size:12vw}.collage-under small{margin-left:38%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-line,.hero h1 em,.hero-last,.hero-bottom{clip-path:none;opacity:1;transform:none}.service-art img{transform:none}.hero-bottom .button{translate:none!important}.paper-collage[aria-pressed="true"] .collage-front{transform:translateX(-72%)}.cta-material:hover .cta-material-paper{transform:translateX(calc(-1 * var(--peel)))}}

.sculpture-stage,.cta-material,.paper-collage{user-select:none;-webkit-user-select:none}.sculpture-stage canvas{display:block}
/* Two connected scroll scenes. Native sticky positioning leaves scrolling to the browser. */
.hero-scroll{height:210svh;background:var(--red-deep)}
.hero-scroll .hero{position:sticky;top:100px;height:calc(100svh - 100px);min-height:550px;display:flex;flex-direction:column;padding-top:22px;isolation:isolate;overflow:hidden}
.hero-scroll .hero-body{padding:20px 0 10px;flex:1;min-height:0;display:flex;align-items:center}
.hero-scroll h1{width:100%;transform-origin:15% 50%;will-change:transform}
.hero-scroll .hero-line{font-size:clamp(46px,6.1vw,90px)}
.hero-scroll h1 em{font-size:clamp(110px,17vw,245px);line-height:.94;padding:0 .1em .09em 0}
.hero-scroll .hero-last{font-size:clamp(36px,5.8vw,84px);margin:0}
.hero-scroll .sculpture{width:42%;height:110%;right:0;top:-5%;z-index:3;will-change:transform;pointer-events:none;animation:sculpture-arrive 1.3s cubic-bezier(.2,.65,.2,1) both}
.hero-scroll .sculpture-stage{cursor:default;touch-action:auto}
.hero-scroll .hero-bottom{margin:8px 0 20px;position:relative;z-index:4}
.hero-scroll .discipline{padding:16px 0;position:relative;z-index:4}
.crimson-wipe{position:absolute;inset:-10% -20%;background:var(--red-deep);z-index:5;transform:translateY(110%) rotate(-8deg);pointer-events:none;box-shadow:0 -35px 80px #0003;will-change:transform}
.crimson-wipe:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#a90e1b88 60%,transparent 70%)}
.paper-scroll{height:190svh;background:var(--red-deep);position:relative}
.paper-scene{height:calc(100svh - 100px);min-height:550px;position:sticky;top:100px;overflow:hidden;isolation:isolate;background:var(--red-deep)}
.cream-sheet{position:absolute;inset:-15%;background:var(--paper);transform:translateY(100%) rotate(6deg);will-change:transform}
.paper-scene .paper-collage{position:absolute;left:15%;top:9%;width:70%;height:82%;aspect-ratio:auto;margin:0;border:0;overflow:visible;background:none;perspective:1600px;cursor:default;transform-origin:30% 50%;will-change:transform;pointer-events:none}
.paper-scene .collage-front{position:absolute;inset:0;transform-origin:8% 60%;will-change:transform;transition:none;filter:drop-shadow(0 20px 18px #0004)}
.paper-scene .collage-front img{width:100%;height:100%;object-fit:contain}
.paper-scene .collage-front>span{position:absolute;left:23%;top:38%;font-size:clamp(55px,9vw,140px);letter-spacing:-.07em;color:var(--ink)}
.paper-scene .collage-under{position:absolute;inset:12% 12%;background:linear-gradient(125deg,#61040d,#ad1020 53%,#650611);clip-path:polygon(2% 3%,97% 0,100% 93%,4% 100%,0 65%);transform:rotate(-5deg);box-shadow:0 20px 50px #0004;display:flex;flex-direction:column;justify-content:center;padding:9%;color:var(--paper)}
.paper-scene .collage-under>span{font-size:clamp(55px,8vw,120px);letter-spacing:-.07em;margin:0}
.paper-scene .collage-under small{font-size:12px;margin:18px 0 0;max-width:160px}
.paper-statement{position:absolute;left:58%;top:24%;width:38%;color:var(--ink);transform:translateY(100px);clip-path:inset(0 0 100%);will-change:transform,clip-path}
.paper-statement>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.paper-statement p{font-size:clamp(45px,5.5vw,90px);line-height:1.05;letter-spacing:-.055em;margin:30px 0}
.paper-statement em{color:var(--red)}
.about-materials{display:block}.about-materials .principles{grid-template-columns:repeat(4,1fr);margin:60px 0 0;max-width:none}
.about-top{opacity:1;transform:none;transition:none}
@keyframes sculpture-arrive{from{opacity:0;translate:50px 30px;scale:.85}to{opacity:1;translate:0 0;scale:1}}
@media(max-width:600px){
 .hero-scroll{height:195svh}.hero-scroll .hero{top:78px;height:calc(100svh - 78px);min-height:620px;padding-top:20px}
 .hero-scroll .hero-body{display:block;padding-top:35px;min-height:0}
 .hero-scroll .hero-line{font-size:14vw}.hero-scroll h1 em{font-size:32vw;padding-bottom:.1em}.hero-scroll .hero-last{font-size:8.9vw}
 .hero-scroll .sculpture{width:60%;height:270px;top:145px;right:-5%}
 .hero-scroll .hero-bottom{grid-template-columns:1fr auto;gap:12px;margin:0 0 16px}.hero-scroll .hero-bottom p{grid-column:1/-1;font-size:12px;margin:0 0 4px}.hero-scroll .hero-bottom .button{padding:14px;gap:20px;font-size:11px}.hero-scroll .hero-bottom .text-link{font-size:11px}.hero-scroll .hero-bottom .text-link span{margin-left:16px}
 .hero-scroll .discipline{font-size:10px;padding:15px 0}
 .paper-scroll{height:180svh}.paper-scene{top:78px;height:calc(100svh - 78px);min-height:580px}
 .paper-scene .paper-collage{left:0;top:8%;width:100%;height:60%}
 .paper-scene .collage-front>span{font-size:17vw;top:40%}
 .paper-scene .collage-under>span{font-size:18vw}.paper-scene .collage-under small{font-size:10px}
 .paper-statement{left:8%;top:62%;width:85%}.paper-statement p{font-size:12vw;margin:15px 0}.paper-statement p br:first-child{display:none}
 .about-materials .principles{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
 .hero-scroll,.paper-scroll{height:auto}.hero-scroll .hero,.paper-scene{position:relative;top:0}
 .crimson-wipe{display:none}.cream-sheet{transform:none!important}
 .hero-scroll h1,.hero-scroll .sculpture,.hero-scroll .hero-bottom,.hero-scroll .discipline{transform:none!important;animation:none!important;opacity:1!important}
 .paper-scene .paper-collage{transform:translateX(-20%) scale(.72)!important}
 .paper-scene .collage-front{transform:translateX(-35%) rotate(-6deg)!important}
 .paper-statement{transform:none!important;clip-path:none!important}
 @media(max-width:600px){.paper-scene .paper-collage{transform:translateY(-8%) scale(.8)!important}}
}
.paper-scene .collage-front{clip-path:polygon(3% 17%,64% 7%,72% 70%,7% 86%);filter:drop-shadow(0 25px 25px #0005)}
.paper-scene .collage-under{background:linear-gradient(#76071055,#39040766),url('assets/paper-collage.webp') 100% 100%/230% auto;inset:12% 8%;padding:12%;box-shadow:0 25px 40px #0004}
.paper-scene .collage-under>span,.paper-scene .collage-under small{text-shadow:0 2px 15px #390407}
.hero-scroll .hero-bottom{animation:none}
.paper-scene .paper-collage{box-shadow:none}
@media(max-width:600px){.hero-scroll .sculpture{top:210px}}
@media(max-height:750px) and (min-width:601px){.hero-scroll .hero-line{font-size:5vw}.hero-scroll h1 em{font-size:14vw}.hero-scroll .hero-last{font-size:5vw}.hero-scroll .hero-body{padding-top:12px}.hero-scroll .hero{min-height:500px}}
.about h2 .about-line{display:block;color:var(--ink);will-change:translate,clip-path}.about h2 .about-line:last-child{color:var(--red)}
@media(prefers-reduced-motion:reduce){.about-line{translate:none!important;clip-path:none!important}}
/* Services: one editorial sequence, with a native sticky image stage. */
.services-editorial{background:#111110;color:var(--paper);position:relative;padding:100px var(--pad) 0;isolation:isolate}
.services-editorial:before{content:'';position:absolute;top:-1px;left:0;right:0;height:18px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 20%,91% 60%,83% 25%,70% 72%,62% 40%,50% 85%,38% 50%,24% 75%,12% 30%,0 60%)}
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:65px;align-items:end}
.services-intro .section-tag{grid-column:1/-1;margin:0 0 15px}.services-intro h2{font-size:clamp(70px,9vw,140px);line-height:.95}.services-intro h2 span{color:var(--red-light)}.services-intro>p{justify-self:end;font-size:14px;line-height:1.7;color:#aaa59d;margin:0}
.services-index{position:sticky;top:100px;z-index:9;display:flex;justify-content:space-between;gap:12px;padding:19px 0;background:#111110f5;backdrop-filter:blur(12px);border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;font-size:12px}
.services-index a{padding:8px 0;color:#9b978f;white-space:nowrap;transition:color .2s}.services-index a span{font-size:9px;margin-right:10px;color:#77736e}.services-index a[aria-current=true]{color:var(--paper)}.services-index a[aria-current=true]:after{width:100%;background:var(--red-light)}
.services-story{display:grid;grid-template-columns:60% 34%;gap:6%;position:relative;align-items:start}
.service-gallery{position:sticky;top:190px;height:calc(100svh - 220px);min-height:350px;max-height:900px;overflow:hidden;margin-top:25px;perspective:1400px}
.gallery-perspective{position:absolute;inset:0 0 45px;transform:rotateX(var(--gallery-x,0deg)) rotateY(var(--gallery-y,0deg));transition:transform .5s;transform-style:preserve-3d}
.service-frame{position:absolute;inset:0;overflow:hidden;background:#c8bca9;clip-path:inset(100% 0 0 0);will-change:clip-path,transform;transform-origin:50% 90%}
.service-frame:first-child{clip-path:inset(0)}.service-frame img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}
.composition-0 img{object-position:48% 50%}.composition-1 img{object-position:55% 50%}.composition-2 img{object-position:47% 50%}.composition-3 img{object-position:60% 50%}.composition-4 img{object-position:50% 50%}
.gallery-caption{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:flex-end;gap:20px;font-size:9px;color:#a7a198}.gallery-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--paper)}
.gallery-progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff20}.gallery-progress i{display:block;width:100%;height:1px;background:var(--red-light);transform-origin:left;transform:scaleX(.2)}
.service-chapter{min-height:90svh;display:flex;align-items:center;position:relative;padding:65px 0;scroll-margin-top:210px}
.chapter-copy{width:100%}.chapter-number{font-size:11px;letter-spacing:.12em;color:#c73542;display:block;margin-bottom:35px}
.service-chapter h3{font-size:clamp(32px,3.5vw,58px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:0 0 35px;scroll-margin-top:280px;outline-offset:12px;overflow-wrap:normal}
.chapter-description{font-size:clamp(15px,1.3vw,20px);line-height:1.65;letter-spacing:-.025em;margin:0 0 32px;color:#c9c4bb}
.chapter-tags{display:flex;flex-wrap:wrap;gap:10px 20px;border-top:1px solid #ffffff28;padding-top:20px}.chapter-tags span{font-size:10px;color:#aaa59d}
.chapter-link{display:inline-flex;gap:50px;align-items:center;border-bottom:1px solid #ffffff55;padding:15px 0;margin-top:25px;font-size:12px}.chapter-link span{font-size:20px;transition:transform .25s}.chapter-link:hover span{transform:translate(3px,-3px)}
.chapter-image{display:none;margin:0}.chapter-image img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.chapter-image figcaption{font-size:8px;color:#a7a198;margin-top:12px;line-height:1.5}
.services-editorial a:focus-visible,.service-chapter h3:focus-visible{outline:2px solid var(--red-light);outline-offset:5px}
@media(max-width:900px){
 .services-editorial{padding-top:70px}.services-intro{padding-bottom:40px}.services-intro h2{font-size:clamp(60px,12vw,100px)}.services-intro>p{font-size:11px}
 .services-index{position:relative;top:0;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 22px;padding:18px 0;backdrop-filter:none;font-size:11px}.services-index a span{margin-right:6px}
 .services-story{display:block}.service-gallery{display:none}.service-chapter{min-height:0;display:block;padding:65px 0 55px;border-bottom:1px solid #ffffff24;scroll-margin-top:100px}.service-chapter:last-child{border:0}.chapter-number{margin-bottom:20px}.service-chapter h3{font-size:clamp(32px,7.5vw,58px);margin-bottom:30px;scroll-margin-top:110px}.chapter-image{display:block;margin:0 0 30px}.chapter-description{font-size:17px;max-width:580px}.chapter-tags{padding-top:20px}.chapter-link{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
 .services-story{display:block}.service-gallery{display:none}.services-index{position:relative;top:0}.service-chapter{min-height:0;padding:65px 0;border-bottom:1px solid #ffffff24}.chapter-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:20px 6%}.chapter-number,.service-chapter h3{grid-column:1/-1;margin:0}.chapter-image{display:block;grid-column:1;grid-row:3/5}.chapter-description,.chapter-tags,.chapter-link{grid-column:2;margin:0}.chapter-link{justify-self:start}.service-chapter h3,.chapter-description,.chapter-tags{transform:none!important;opacity:1!important}.service-frame,.service-frame img{will-change:auto}
 @media(max-width:900px){.chapter-copy{display:block}.chapter-number{margin-bottom:20px}.service-chapter h3{margin-bottom:30px}.chapter-image{margin-bottom:30px}.chapter-description{margin-bottom:25px}.chapter-link{margin-top:20px}}
}
.services-index{visibility:visible;opacity:1;transform:none;pointer-events:auto;flex-direction:row;left:auto;right:auto}

/* Footer contact details retain the existing footer typography and palette. */
.footer-contact{display:flex;flex-direction:column;gap:8px;font:inherit;font-style:normal;white-space:nowrap}.footer-contact>span{color:#999}.footer-contact a:focus-visible{outline:2px solid var(--red-light);outline-offset:5px}
@media(max-width:900px){footer{flex-wrap:wrap}}
@media(max-width:600px){.footer-contact{flex-basis:100%;flex-direction:row;justify-content:space-between;gap:15px;font-size:11px}}
