body{margin:0;background:#faf6ef}
a{color:inherit;text-decoration:none}a:hover{color:inherit}
.ct{--ink:#2b1812;--cream:#faf6ef;--yellow:#e7cd78;--line:#d8cfc5;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
.ct *{box-sizing:border-box}
.ct .eyebrow{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.ct header{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:25px 5%;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:10}
.ct .logo{width:155px;display:block}
.ct .nav-cta{border:1px solid var(--ink);border-radius:30px;padding:12px 20px;display:inline-flex;gap:8px;align-items:center;font-size:13px;transition:background .25s}
.ct .nav-cta:hover{background:var(--yellow)}
.ct .ui-icon{display:inline-block;width:1.1em;height:1.1em;flex-shrink:0}
.ct .case-intro{padding:60px 5% 55px}
.ct .case-back{font-size:13px;display:inline-flex;gap:8px;align-items:center;margin-bottom:45px;min-height:44px;transition:transform .3s}
.ct .case-back:hover{transform:translateX(-6px)}
.ct .case-top{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;align-items:start}
.ct .case-title h1{font-size:clamp(68px,9vw,128px);letter-spacing:-.065em;font-weight:400;line-height:1;margin:0 0 22px}
.ct .case-meta{display:flex;flex-direction:column;gap:8px}
.ct .case-copy{font-size:18px;line-height:1.75;max-width:650px}
.ct .case-copy p{margin:0 0 18px}
.ct .case-gallery{padding:0 5% 60px;display:grid;gap:24px;max-width:1800px;margin:auto}
.ct .case-gallery figure{margin:0;overflow:hidden;border-radius:12px;background:#e9dccb}
.ct .case-gallery img{display:block;width:100%;height:auto;transition:transform 1s cubic-bezier(.2,.65,.3,1)}
.ct .case-gallery figure:hover img{transform:scale(1.025)}
.ct .case-end{padding:40px 5% 75px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin:0 5%;padding-left:0;padding-right:0}
.ct .case-end a{border-bottom:1px solid;padding-bottom:8px;display:inline-flex;gap:8px;align-items:center}
.ct .next{font-size:clamp(28px,4vw,56px);letter-spacing:-.05em}
.ct footer{background:var(--ink);color:var(--cream);padding:30px 5%;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:11px;letter-spacing:.6px}

@keyframes ct-enter{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
@keyframes ct-line{0%{transform:translateY(110%)}100%{transform:translateY(0)}}
@keyframes ct-unveil{0%{clip-path:inset(12% 6% 12% 6% round 12px);transform:scale(1.08)}100%{clip-path:inset(0 0 0 0 round 12px);transform:scale(1)}}
@keyframes ct-reveal{0%{opacity:0;transform:translateY(50px)}100%{opacity:1;transform:translateY(0)}}
.ct header{animation:ct-enter .55s ease both}
.ct .case-back{animation:ct-enter .6s ease .1s both}
.ct .title-line{display:block;overflow:hidden}
.ct .title-line>span{display:inline-block;animation:ct-line .95s cubic-bezier(.2,.65,.3,1) .2s both}
.ct .case-meta{animation:ct-enter .7s ease .4s both}
.ct .case-copy{animation:ct-enter .8s ease .5s both}
.ct .case-gallery figure.first{animation:ct-unveil 1.2s cubic-bezier(.2,.65,.3,1) .55s both}
@supports (animation-timeline: view()){
.ct .case-gallery figure.rv{animation:ct-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
}
@media (prefers-reduced-motion: reduce){.ct *{animation:none !important;transition:none !important}}
@media (min-width:1600px){.ct .case-intro{padding-left:max(5%,calc(50vw - 720px));padding-right:max(5%,calc(50vw - 720px))}}
@media (max-width:800px){
.ct header{padding:16px 6%}.ct .logo{width:132px}
.ct .case-intro{padding:35px 6%}.ct .case-top{grid-template-columns:1fr;gap:26px}
.ct .case-title h1{font-size:clamp(48px,14vw,76px)}
.ct .case-copy{font-size:16px}
.ct .case-gallery{padding:0 4% 35px;gap:14px}
.ct .case-end{margin:0 6%;padding:25px 0 45px}
}
.ct .msg{padding:90px 5%;min-height:60vh}.ct .msg h1{font-size:clamp(48px,8vw,110px);font-weight:400;letter-spacing:-.06em;line-height:1;margin:0 0 24px}.ct .msg p{font-size:18px;line-height:1.7;max-width:520px;margin:0 0 32px}.ct .msg a.btn{display:inline-flex;align-items:center;min-height:50px;padding:0 28px;border-radius:30px;background:var(--ink);color:var(--cream)}
@media (max-width:800px){.ct header{position:relative;padding:14px 6%}.ct nav{gap:4px 20px;width:100%}.ct nav .nav-cta{padding:8px 16px}}
