/* ============================================================
   Christel Kattenstroth — portfolio
   Tokens, keyframes and media queries carried over verbatim
   from the Claude Design handoff; inline styles from the
   prototype are translated into classes below.
   ============================================================ */

/* ---------- Self-hosted fonts (Bodoni Moda + Jost, latin) ---------- */
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bodoni-moda-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/bodoni-moda-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bodoni-moda-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/bodoni-moda-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-latin-500-normal.woff2') format('woff2');}

/* ---------- Tokens ---------- */
:root{
  --bg:#f2efe7; --paper:#faf8f2; --ink:#1b1815; --soft:rgba(27,24,21,.58); --line:rgba(27,24,21,.14);
  --accent:#a9855f;
  --serif:'Bodoni Moda','Noto Serif SC','Noto Serif JP','Songti SC','Yu Mincho','SimSun',Georgia,serif;
  --sans:'Jost','Noto Sans SC','Noto Sans JP','PingFang SC','Hiragino Sans','Microsoft YaHei',system-ui,sans-serif;
  --desk:flex; --mob:none; --cols:4; --g2:1fr 1fr; --g4:1fr 1fr 1fr 1fr; --padx:clamp(20px,5vw,76px);
}
[data-theme="dark"]{ --bg:#0c0b0a; --paper:#151311; --ink:#efe8db; --soft:rgba(239,232,219,.6); --line:rgba(239,232,219,.15); --accent:#c6a06a; }
[data-mono="on"]{ --accent:var(--ink); }
[data-mono="on"] .ck-shot img, [data-mono="on"] .ck-shot video, [data-mono="on"] video.ck-hero-vid{ filter:grayscale(1) contrast(1.03); }

/* ---------- Base ---------- */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);overflow-x:hidden;max-width:100%;}
body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--accent);}
blockquote{color:inherit;}
input,textarea,button,select{font-family:inherit;color:inherit;}
::selection{background:var(--accent);color:var(--bg);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

.ck-root{min-height:100svh;overflow-x:hidden;background:var(--bg);color:var(--ink);transition:background .7s ease,color .7s ease;}

/* ---------- Keyframes ---------- */
@keyframes riseIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes letterIn{from{opacity:0;transform:translateY(48px);}to{opacity:1;transform:none;}}
@keyframes wipe{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}

/* ---------- Shared utilities ---------- */
.ck-rev{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.ck-rev.is-in{opacity:1;transform:none;}
.ck-link{position:relative;}
.ck-link::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.ck-link:hover::after,.ck-link[data-on]::after{transform:scaleX(1);}
.ck-galcap{opacity:0;transition:opacity .35s ease;}
.ck-galcell:hover .ck-galcap{opacity:1;}
.ck-mag{transition:transform .5s cubic-bezier(.2,.7,.2,1),background .4s ease,color .4s ease,border-color .4s ease;}
.ck-mag:hover{transform:translateY(-3px);}
.ck-flag{height:12px;width:auto;border-radius:2px;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px var(--line);opacity:.92;}
.ck-soc{width:20px;height:20px;display:inline-block;flex:none;}
[data-mono="on"] .ck-flag{filter:grayscale(1);}
.ck-shot{overflow:hidden;}
.ck-kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.ck-role{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.ck-cta{cursor:pointer;display:inline-block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;}
.ck-cta--solid{background:var(--ink);color:var(--bg);padding:17px 40px;}
.ck-cta--solid:hover{color:var(--bg);opacity:.88;}
.ck-cta--outline{border:1px solid var(--ink);padding:15px 34px;}
.ck-cta--light{background:#f4f1ea;color:#1b1815;padding:15px 30px;}
.ck-cta--light:hover{color:#1b1815;}
.ck-cta--ghost{border:1px solid rgba(244,241,234,.6);color:#f4f1ea;padding:15px 30px;}
.ck-cta--ghost:hover{color:#f4f1ea;background:rgba(244,241,234,.12);}
.ck-inline{cursor:pointer;font-size:12px;letter-spacing:.18em;text-transform:uppercase;}

/* ---------- Preloader ---------- */
.ck-preload{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:120;}
.ck-preload span{font-family:var(--serif);font-size:clamp(22px,3vw,34px);letter-spacing:.42em;text-transform:uppercase;opacity:.5;animation:fadeIn 1.2s ease both;}

/* ---------- Nav ---------- */
.ck-nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 var(--padx);background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transition:background .5s ease,border-color .5s ease,color .5s ease;color:var(--ink);}
.ck-nav--over{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f4f1ea;}
.ck-nav-brand{cursor:pointer;font-family:var(--serif);text-transform:uppercase;line-height:1;}
.ck-nav-brand:hover{color:inherit;}
.ck-brand-full{display:var(--desk);font-size:15px;letter-spacing:.34em;}
.ck-brand-short{display:var(--mob);font-size:19px;letter-spacing:.2em;}
.ck-nav-links{display:var(--desk);align-items:center;gap:30px;}
.ck-nav-a{cursor:pointer;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;}
.ck-nav-div{width:1px;height:18px;background:currentColor;opacity:.3;}
.ck-lang{position:relative;}
.ck-lang-btn{cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:7px;}
.ck-lang-caret{font-size:9px;}
.ck-lang-menu{position:absolute;right:0;top:32px;background:var(--paper);border:1px solid var(--line);padding:8px 0;min-width:170px;box-shadow:0 24px 60px -30px rgba(0,0,0,.5);animation:fadeIn .25s ease both;color:var(--ink);}
.ck-lang-item{cursor:pointer;display:flex;align-items:center;gap:11px;padding:9px 18px;font-size:13px;letter-spacing:.06em;opacity:.5;}
.ck-lang-item.is-active{opacity:1;}
.ck-theme-btn{cursor:pointer;font-size:15px;line-height:1;}
.ck-mono-btn{cursor:pointer;font-size:10px;letter-spacing:.12em;border:1px solid currentColor;border-radius:20px;padding:4px 9px;opacity:.55;}
.ck-mono-btn.is-on{opacity:1;}
.ck-menu-btn{display:var(--mob);cursor:pointer;font-size:12px;letter-spacing:.2em;text-transform:uppercase;align-items:center;}

/* ---------- Mobile drawer ---------- */
.ck-drawer{position:fixed;inset:0;z-index:70;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;padding:24px var(--padx);animation:fadeIn .3s ease both;overflow-y:auto;}
.ck-drawer-top{display:flex;justify-content:space-between;align-items:center;height:48px;}
.ck-drawer-mark{font-family:var(--serif);font-size:17px;letter-spacing:.2em;text-transform:uppercase;}
.ck-drawer-close{cursor:pointer;font-size:12px;letter-spacing:.2em;text-transform:uppercase;}
.ck-drawer-nav{display:flex;flex-direction:column;gap:6px;margin-top:8vh;}
.ck-drawer-a{cursor:pointer;font-family:var(--serif);font-size:clamp(30px,9vw,46px);line-height:1.1;letter-spacing:.01em;opacity:.5;}
.ck-drawer-a.is-active{opacity:1;}
.ck-drawer-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding-top:24px;border-top:1px solid var(--line);}
.ck-drawer-lang{cursor:pointer;font-size:12px;letter-spacing:.08em;opacity:.5;}
.ck-drawer-lang.is-active{opacity:1;}

/* ---------- Hero ---------- */
.ck-hero{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;}
.ck-hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:opacity 1.1s ease;}
.ck-vidA{opacity:1;}
.ck-vidB{opacity:0;}
.ck-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.15) 62%,rgba(0,0,0,.72) 100%);}
.ck-hero-inner{position:relative;z-index:2;width:100%;padding:0 var(--padx) clamp(40px,7vh,80px);color:#f4f1ea;}
.ck-hero-eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:20px;opacity:0;animation:riseIn 1s ease .2s both;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.ck-hero-eyebrow .ck-dot{opacity:.5;}
.ck-hero-title{font-family:var(--serif);font-weight:500;line-height:.92;margin:0;letter-spacing:.005em;text-transform:uppercase;font-size:clamp(38px,10vw,196px);}
.ck-hero-title > span{display:block;overflow:hidden;}
.ck-hero-title > span > span{display:block;animation:letterIn 1.1s cubic-bezier(.16,.9,.24,1) .3s both;}
.ck-hero-title > span:nth-child(2) > span{animation-delay:.46s;}
.ck-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:30px;animation:riseIn 1s ease .7s both;}
.ck-hero-cred{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;display:flex;gap:10px;align-items:center;}
.ck-hero-cred .ck-lbl{opacity:.6;}
.ck-hero-cred .ck-val{font-family:var(--serif);font-size:15px;letter-spacing:.06em;}
.ck-hero-scroll{position:absolute;left:50%;bottom:22px;z-index:2;transform:translateX(-50%);color:#f4f1ea;font-size:10px;letter-spacing:.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:7px;opacity:.8;animation:fadeIn 1.4s ease 1s both;}
.ck-bob{animation:bob 2s ease-in-out infinite;}

/* ---------- Home: featured ---------- */
.ck-sec{padding:clamp(70px,11vh,140px) var(--padx);}
.ck-sec--flush{padding:0 var(--padx) clamp(70px,11vh,140px);}
.ck-sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:clamp(34px,6vh,66px);}
.ck-sec-head .ck-kicker{margin-bottom:14px;}
.ck-h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,6vw,74px);margin:0;line-height:1;}
.ck-stack{display:flex;flex-direction:column;gap:clamp(40px,7vh,88px);}
.ck-feat{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(20px,4vw,60px);align-items:center;cursor:pointer;}
.ck-feat--flip{grid-template-columns:1.05fr .95fr;}
.ck-feat--flip .ck-feat-img{order:2;}
.ck-feat img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.ck-feat h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,52px);margin:0 0 16px;line-height:1.02;}
.ck-feat p{font-size:15px;line-height:1.7;color:var(--soft);max-width:34ch;margin:0 0 20px;}
.ck-feat .ck-link{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}

/* ---------- Masonry columns ---------- */
.ck-cols{columns:var(--cols);column-gap:14px;}
.ck-cols--tight{column-gap:12px;}
.ck-cols .ck-galcell{cursor:zoom-in;break-inside:avoid;margin-bottom:14px;position:relative;background:var(--paper);}
.ck-cols--tight .ck-galcell{margin-bottom:12px;}
.ck-cols .ck-galcell img{width:100%;}

/* ---------- Home: gallery preview ---------- */
.ck-center-head{text-align:center;margin-bottom:clamp(28px,5vh,50px);}
.ck-center-head .ck-kicker{margin-bottom:12px;}
.ck-center-head .ck-h2{margin:0 0 14px;}
.ck-center-head p{font-size:15px;color:var(--soft);max-width:44ch;margin:0 auto;line-height:1.6;}
.ck-center-cta{text-align:center;margin-top:36px;}

/* ---------- Home: about teaser ---------- */
.ck-teaser{display:grid;grid-template-columns:var(--g2);gap:clamp(26px,5vw,72px);align-items:center;}
.ck-teaser img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.ck-teaser h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4.4vw,56px);margin:0 0 22px;line-height:1.04;}
.ck-teaser p{font-size:16px;line-height:1.8;color:var(--soft);max-width:46ch;margin:0 0 26px;}

/* ---------- Home: marquee ---------- */
.ck-marquee{padding:clamp(30px,5vh,56px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
.ck-marquee .ck-kicker{text-align:center;margin-bottom:26px;}
.ck-marquee-row{display:flex;gap:64px;align-items:center;font-family:var(--serif);font-size:clamp(22px,3vw,38px);white-space:nowrap;opacity:.82;justify-content:center;flex-wrap:wrap;padding:0 var(--padx);}

/* ---------- Home: bookings CTA ---------- */
.ck-cta-sec{padding:clamp(80px,14vh,170px) var(--padx);text-align:center;}
.ck-cta-sec .ck-kicker{margin-bottom:18px;}
.ck-cta-sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,6vw,80px);margin:0 auto 22px;line-height:1.02;max-width:16ch;}
.ck-cta-sec p{font-size:16px;color:var(--soft);max-width:44ch;margin:0 auto 34px;line-height:1.7;}

/* ---------- Page headers ---------- */
.ck-page-head{padding:calc(72px + clamp(40px,8vh,90px)) var(--padx) clamp(30px,5vh,50px);}
.ck-page-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,8vw,120px);margin:0 0 14px;line-height:.96;}
.ck-page-head p{font-size:15px;color:var(--soft);max-width:40ch;line-height:1.6;margin:0;}
.ck-page-head--center{text-align:center;padding-bottom:clamp(24px,4vh,40px);}
.ck-page-head--center .ck-kicker{margin-bottom:14px;}
.ck-page-head--center p{max-width:42ch;margin:0 auto;}

/* ---------- Portfolio ---------- */
.ck-projects{padding:0 var(--padx) clamp(60px,10vh,120px);display:flex;flex-direction:column;gap:clamp(50px,9vh,110px);}
.ck-project-cover{margin-bottom:26px;}
.ck-project-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.ck-project-meta{display:grid;grid-template-columns:var(--g2);gap:clamp(20px,4vw,60px);}
.ck-project-meta h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4.4vw,56px);margin:0 0 16px;line-height:1.02;}
.ck-project-meta > div > p{font-size:16px;line-height:1.8;color:var(--soft);max-width:42ch;margin:0;}
.ck-project-meta .ck-inline{display:inline-block;margin-top:20px;}
.ck-credits-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);margin-bottom:14px;}
.ck-credits{display:flex;flex-direction:column;gap:9px;}
.ck-credit{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:9px;}
.ck-credit dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin:0;}
.ck-credit dd{font-size:13px;text-align:right;margin:0;}
.ck-project-shots{margin-top:26px;}

/* ---------- Gallery ---------- */
.ck-filters{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:30px;}
.ck-filter{cursor:pointer;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:6px 2px;border-bottom:1px solid transparent;color:var(--soft);transition:color .3s,border-color .3s;background:none;border-left:0;border-right:0;border-top:0;}
.ck-filter.is-active{color:var(--ink);border-bottom-color:var(--accent);}
.ck-gallery{padding:0 var(--padx) clamp(60px,10vh,120px);}
.ck-gallery-grid{display:flex;gap:16px;align-items:flex-start;}
.ck-gallery-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px;}
.ck-gallery-col .ck-galcell{cursor:zoom-in;position:relative;background:var(--paper);}
.ck-gallery-col .ck-galcell img{width:100%;display:block;}
.ck-galcap{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent);color:#fff;font-size:11px;letter-spacing:.1em;}

/* ---------- About ---------- */
.ck-about{padding:calc(72px + clamp(40px,8vh,90px)) var(--padx) clamp(50px,9vh,110px);display:grid;grid-template-columns:var(--g2);gap:clamp(30px,5vw,80px);align-items:start;}
.ck-about-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;}
.ck-about-aside img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.ck-glance{border:1px solid var(--line);padding:22px 24px;}
.ck-glance .ck-kicker{letter-spacing:.24em;margin-bottom:14px;}
.ck-glance-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line);}
.ck-glance-row dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin:0;}
.ck-glance-row dd{font-size:13px;text-align:right;margin:0;}
.ck-about-body h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,6.5vw,92px);margin:0 0 30px;line-height:.98;}
.ck-about-body .ck-lead{font-size:18px;line-height:1.85;margin:0 0 22px;}
.ck-about-body p{font-size:16px;line-height:1.85;color:var(--soft);margin:0 0 22px;}
.ck-about-body p.ck-last{margin-bottom:34px;}
.ck-about-body blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,30px);line-height:1.4;border-left:2px solid var(--accent);padding-left:26px;margin:0 0 36px;}
.ck-about-body .ck-cta--solid{padding:15px 34px;}
.ck-timeline{padding:0 var(--padx) clamp(50px,9vh,110px);}
.ck-timeline-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:34px;border-top:1px solid var(--ink);padding-top:22px;}
.ck-tl-row{display:grid;grid-template-columns:120px 1fr;gap:clamp(16px,4vw,60px);padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.ck-tl-year{font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);color:var(--accent);}
.ck-tl-row h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3vw,38px);margin:0 0 8px;line-height:1.05;}
.ck-tl-row p{font-size:15px;line-height:1.6;color:var(--soft);max-width:52ch;margin:0;}
.ck-values-sec{padding:0 var(--padx) clamp(56px,10vh,120px);}
.ck-values-sec .ck-kicker{margin-bottom:28px;}
.ck-values{display:grid;grid-template-columns:var(--g4);gap:1px;background:var(--line);border:1px solid var(--line);}
.ck-values div{background:var(--bg);padding:clamp(24px,4vw,44px) 22px;text-align:center;}
.ck-values span{font-family:var(--serif);font-size:clamp(22px,2.8vw,34px);}
.ck-about-portrait{padding:0 0 clamp(20px,4vh,50px);}
.ck-about-portrait img{width:100%;height:clamp(360px,60vh,680px);object-fit:cover;object-position:center 30%;}

/* ---------- Digitals ---------- */
.ck-digitals{padding:calc(72px + clamp(40px,8vh,90px)) var(--padx) clamp(50px,9vh,110px);}
.ck-digitals-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:44px;}
.ck-digitals-head .ck-kicker{margin-bottom:14px;}
.ck-digitals-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,8vw,110px);margin:0 0 12px;line-height:.96;}
.ck-digitals-head p{font-size:15px;color:var(--soft);max-width:40ch;line-height:1.6;margin:0;}
.ck-dl-btn{border:1px solid var(--ink);padding:14px 26px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:inline-block;}
.ck-digrid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,60px);align-items:start;}
.ck-dig-portraits{display:grid;grid-template-columns:var(--g4);gap:12px;}
.ck-dig-portraits .ck-shot{background:var(--paper);margin-bottom:8px;}
.ck-dig-portraits img{width:100%;aspect-ratio:2/3;object-fit:cover;}
.ck-dig-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);}
.ck-dig-stats .ck-kicker{letter-spacing:.24em;margin-bottom:14px;}
.ck-stats{border-top:1px solid var(--ink);}
.ck-stat{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);}
.ck-stat dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin:0;}
.ck-stat dd{font-family:var(--serif);font-size:22px;margin:0;}
.ck-dig-rep{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.ck-dig-rep-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:6px;}
.ck-dig-rep p{font-size:14px;line-height:1.6;margin:0 0 12px;}
.ck-dig-rep a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;}

/* ---------- Press ---------- */
.ck-press-lead{display:grid;grid-template-columns:var(--g2);gap:clamp(22px,4vw,60px);align-items:center;padding:0 var(--padx) clamp(48px,8vh,90px);cursor:pointer;}
.ck-press-lead img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.ck-press-lead blockquote{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.8vw,52px);line-height:1.12;margin:0 0 24px;}
.ck-press-lead p{font-size:16px;line-height:1.7;color:var(--soft);max-width:40ch;margin:0 0 22px;}
.ck-press-lead .ck-link{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
.ck-press-grid{padding:0 var(--padx) clamp(30px,5vh,50px);display:grid;grid-template-columns:var(--g4);gap:clamp(18px,3vw,34px);}
.ck-press-card .ck-shot{margin-bottom:16px;}
.ck-press-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.ck-press-card .ck-role{letter-spacing:.2em;margin-bottom:8px;}
.ck-press-card p{font-family:var(--serif);font-size:20px;line-height:1.3;margin:0 0 12px;}
.ck-press-card .ck-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.ck-press-more{border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;aspect-ratio:3/4;}
.ck-press-more span{font-size:12px;letter-spacing:.14em;color:var(--soft);font-style:italic;max-width:20ch;}
.ck-press-tail{padding:0 var(--padx) clamp(60px,10vh,110px);}

/* ---------- Runway ---------- */
.ck-runway{padding:0 var(--padx) clamp(60px,10vh,120px);display:flex;flex-direction:column;gap:clamp(46px,8vh,96px);}
.ck-runway-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px;}
.ck-runway-head .ck-role{margin-bottom:8px;}
.ck-runway-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,4vw,48px);margin:0;line-height:1;}
.ck-runway-credits{font-size:12px;color:var(--soft);letter-spacing:.04em;max-width:40ch;text-align:right;}

/* ---------- Motion ---------- */
.ck-motion{padding:0 var(--padx) clamp(60px,10vh,120px);}
.ck-motion-feature{position:relative;overflow:hidden;margin-bottom:26px;}
.ck-motion-feature img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 30%;}
.ck-motion-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.65));display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,4vw,50px);color:#f4f1ea;}
.ck-motion-overlay .ck-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.85;margin-bottom:8px;}
.ck-motion-overlay h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,5vw,60px);margin:0 0 10px;}
.ck-motion-overlay .ck-meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;}
.ck-clips{display:grid;grid-template-columns:var(--g4);gap:16px;}
.ck-clips .ck-shot{background:#000;margin-bottom:12px;}
.ck-clips video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;}
.ck-clip-label{font-size:12px;letter-spacing:.06em;color:var(--soft);}

/* ---------- Contact / bookings ---------- */
.ck-contact{padding:calc(72px + clamp(40px,8vh,90px)) var(--padx) clamp(60px,10vh,120px);display:grid;grid-template-columns:var(--g2);gap:clamp(30px,5vw,80px);align-items:start;}
.ck-contact h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,6vw,84px);margin:0 0 24px;line-height:1;}
.ck-contact .ck-intro{font-size:17px;line-height:1.8;color:var(--soft);max-width:42ch;margin:0 0 34px;}
.ck-contact-list{display:flex;flex-direction:column;gap:16px;}
.ck-contact-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:5px;}
.ck-contact-value{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);}
.ck-contact-value--email{font-size:clamp(20px,2.6vw,30px);}
.ck-form{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,40px);}
.ck-form-inner{display:flex;flex-direction:column;gap:18px;}
.ck-field{display:block;}
.ck-field > span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);}
.ck-field input,.ck-field textarea{width:100%;margin-top:7px;background:transparent;border:none;border-bottom:1px solid var(--line);padding:9px 0;font-size:15px;outline:none;}
.ck-field textarea{resize:vertical;}
.ck-field input:focus,.ck-field textarea:focus{border-bottom-color:var(--accent);}
.ck-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ck-datebtn{width:100%;margin-top:7px;border-bottom:1px solid var(--line);padding:9px 0;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border-top:0;border-left:0;border-right:0;text-align:left;}
.ck-datebtn span{color:var(--soft);}
.ck-datebtn.is-set span{color:var(--ink);}
.ck-form .ck-cta--solid{text-align:center;padding:16px;}

/* ---------- Representation / privacy ---------- */
.ck-prose{padding:calc(72px + clamp(50px,10vh,120px)) var(--padx) clamp(70px,14vh,170px);max-width:760px;}
.ck-prose h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,7vw,104px);margin:0 0 30px;line-height:.98;}
.ck-prose p{font-size:19px;line-height:1.8;margin:0 0 34px;}
.ck-prose .ck-cta--solid{padding:16px 38px;}
.ck-prose--narrow{max-width:680px;}
.ck-prose--narrow h1{font-size:clamp(36px,6vw,80px);margin:0 0 24px;line-height:1;}
.ck-prose--narrow .ck-intro{font-size:15px;color:var(--soft);margin:0 0 20px;}
.ck-prose--narrow .ck-body{font-size:16px;line-height:1.85;margin:0;}

/* ---------- Footer ---------- */
.ck-footer{border-top:1px solid var(--line);padding:clamp(50px,8vh,90px) var(--padx) 40px;}
.ck-footer-top{display:grid;grid-template-columns:var(--g2);gap:clamp(28px,5vw,60px);align-items:start;margin-bottom:50px;}
.ck-footer-mark{cursor:pointer;font-family:var(--serif);font-size:clamp(26px,4vw,46px);text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:20px;}
.ck-footer-scripture{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.6;color:var(--soft);max-width:44ch;margin:0;}
.ck-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ck-footer-col{display:flex;flex-direction:column;gap:11px;}
.ck-footer-col a{cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);align-self:flex-start;}
.ck-footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:24px;border-top:1px solid var(--line);}
.ck-footer-rights{font-size:11px;letter-spacing:.1em;color:var(--soft);}
.ck-built{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 6px;border:1px solid var(--line);border-radius:100px;background:color-mix(in srgb,var(--ink) 4%,transparent);text-decoration:none;}
.ck-built img{width:auto;height:16px;object-fit:contain;}
.ck-built span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);line-height:1.1;}
.ck-built span b{color:var(--ink);font-weight:inherit;}
.ck-footer-tools{display:flex;align-items:center;gap:18px;}
.ck-footer-tools .ck-lang-btn{font-size:11px;letter-spacing:.1em;color:var(--soft);display:inline-flex;align-items:center;gap:6px;text-transform:none;}
.ck-footer-tools .ck-theme-btn{font-size:14px;}
.ck-footer-tools .ck-mono-btn{font-size:10px;letter-spacing:.12em;color:var(--soft);border:0;padding:0;border-radius:0;}

/* ---------- Lightbox ---------- */
.ck-lb{position:fixed;inset:0;z-index:90;background:rgba(8,8,8,.94);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease both;}
.ck-lb img{max-width:88vw;max-height:86vh;object-fit:contain;box-shadow:0 40px 120px -40px #000;}
.ck-lb-close{position:absolute;top:20px;right:24px;color:#f4f1ea;font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:none;border:0;}
.ck-lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#f4f1ea;font-size:26px;cursor:pointer;padding:16px;opacity:.8;background:none;border:0;line-height:1;}
.ck-lb-nav--prev{left:16px;}
.ck-lb-nav--next{right:16px;}
.ck-lb-nav:hover,.ck-lb-close:hover{color:#fff;opacity:1;}
.ck-lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(244,241,234,.7);font-size:11px;letter-spacing:.2em;}

/* ---------- Calendar ---------- */
.ck-cal{position:fixed;inset:0;z-index:95;background:rgba(8,8,8,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease both;}
.ck-cal-panel{width:min(400px,100%);background:var(--paper);border:1px solid var(--line);box-shadow:0 40px 100px -40px rgba(0,0,0,.6);animation:riseIn .35s cubic-bezier(.2,.7,.2,1) both;}
.ck-cal-top{padding:22px 24px 0;}
.ck-cal-modes{display:flex;gap:4px;background:color-mix(in srgb,var(--ink) 7%,transparent);padding:4px;border-radius:2px;}
.ck-cal-mode{flex:1;text-align:center;cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px;background:transparent;color:var(--soft);transition:background .3s,color .3s;border:0;}
.ck-cal-mode.is-active{background:var(--ink);color:var(--bg);}
.ck-cal-summary{text-align:center;font-family:var(--serif);font-size:16px;margin-top:16px;color:var(--soft);min-height:22px;}
.ck-cal-monthbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;}
.ck-cal-arrow{cursor:pointer;font-size:20px;padding:6px 10px;color:var(--soft);background:none;border:0;line-height:1;}
.ck-cal-month{font-family:var(--serif);font-size:19px;letter-spacing:.02em;}
.ck-cal-body{padding:0 20px 8px;}
.ck-cal-week,.ck-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.ck-cal-week{margin-bottom:4px;}
.ck-cal-week span{text-align:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);padding:6px 0;}
.ck-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;background:transparent;color:var(--ink);border:1px solid transparent;transition:background .2s,color .2s;font-weight:400;}
.ck-cal-day.is-today{border-color:var(--accent);}
.ck-cal-day.in-range{background:color-mix(in srgb, var(--accent) 22%, transparent);}
.ck-cal-day.is-sel{background:var(--ink);color:var(--bg);font-weight:500;border-color:transparent;}
.ck-cal-day.is-past{color:var(--soft);opacity:.35;cursor:default;}
.ck-cal-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 24px 22px;border-top:1px solid var(--line);margin-top:8px;}
.ck-cal-clear{cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);background:none;border:0;}
.ck-cal-done{cursor:pointer;background:var(--ink);color:var(--bg);padding:11px 28px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:0;}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  :root{ --desk:none; --mob:flex; --cols:3; --g2:1fr; --g4:1fr 1fr; }
  .ck-feat,.ck-feat--flip{grid-template-columns:1fr;}
  .ck-feat--flip .ck-feat-img{order:0;}
  .ck-digrid{grid-template-columns:1fr;}
  .ck-about-aside{position:static;}
  .ck-runway-credits{text-align:left;}
}
@media(max-width:640px){
  :root{ --cols:2; --g4:1fr; }
  .ck-tl-row{grid-template-columns:1fr;gap:8px;}
  .ck-field-pair{grid-template-columns:1fr;}
  .ck-footer-nav{grid-template-columns:1fr 1fr;}
  .ck-marquee-row{gap:28px;}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;}
  .ck-rev{opacity:1!important;transform:none!important;}
}
