:root { --cp-paper:#f2f0ea; --cp-ink:#10120f; --cp-muted:#666960; --cp-blue:#b8d7ff; --cp-line:rgba(16,18,15,.15); }

body.consumer-presence-page { background:var(--cp-paper); }
.cp-main { overflow:hidden; }
.cp-main h1,.cp-main h2,.cp-main h3,.cp-main p { text-wrap:balance; }
.cp-main h1,.cp-main h2,.cp-main h3 { font-weight:420; }
.cp-subnav { position:absolute; z-index:7; inset:var(--header) 0 auto; min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:0 48px; border-top:1px solid rgba(8,9,8,.06); border-bottom:1px solid rgba(8,9,8,.1); color:var(--cp-ink); background:rgba(243,241,235,.86); box-shadow:0 8px 28px rgba(8,9,8,.04); backdrop-filter:blur(20px) saturate(125%); -webkit-backdrop-filter:blur(20px) saturate(125%); font-size:12px; }
.cp-subnav > a { font-weight:650; }
.cp-subnav div { display:flex; gap:24px; color:rgba(8,9,8,.6); }
.cp-subnav [aria-current="page"] { color:var(--cp-ink); }

.cp-hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#080908; }
.cp-hero-media,.cp-hero-shade { position:absolute; inset:0; margin:0; }
.cp-hero-media img { width:100%; height:100%; object-fit:cover; }
.cp-hero--key .cp-hero-media img { object-position:center; }
.cp-hero--key .cp-hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.16) 64%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%); }
.cp-hero--layer .cp-hero-shade { background:linear-gradient(90deg,rgba(0,21,28,.73),rgba(0,22,24,.08) 67%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 58%); }
.cp-hero-copy { position:relative; z-index:2; width:var(--page); margin:0 auto; padding:190px 0 10vh; }
.cp-kicker { margin:0 0 24px; color:rgba(255,255,255,.6); font-size:10px; font-weight:650; letter-spacing:.15em; text-transform:uppercase; }
.cp-hero h1 { max-width:1150px; margin:0; font-size:clamp(72px,10.8vw,172px); line-height:.83; letter-spacing:-.078em; }
.cp-hero-deck { max-width:590px; margin:36px 0 0; color:rgba(255,255,255,.76); font-size:clamp(19px,1.7vw,27px); line-height:1.32; letter-spacing:-.028em; }
.cp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:38px; }

.cp-intro { padding:clamp(120px,12vw,210px) 0; background:var(--cp-paper); }
.cp-intro-grid { width:var(--page); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(60px,9vw,150px); align-items:end; margin:auto; }
.cp-intro h2,.cp-editorial-copy h2,.cp-principles h2,.cp-final h2,.cp-product-door h2,.cp-vision h2 { margin:0; font-size:clamp(62px,7.4vw,120px); line-height:.9; letter-spacing:-.07em; }
.cp-intro p,.cp-editorial-copy p,.cp-product-door p,.cp-vision p { margin:0; color:var(--cp-muted); font-size:clamp(18px,1.6vw,24px); line-height:1.4; letter-spacing:-.025em; }
.cp-intro .cp-kicker { color:#777a72; grid-column:1 / -1; margin-bottom:-20px; }

.cp-editorial { color:#fff; background:#080908; }
.cp-editorial-grid { width:var(--page); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; margin:auto; padding:clamp(90px,9vw,150px) 0; }
.cp-editorial-card { position:relative; grid-column:span 4; min-height:560px; margin:0; overflow:hidden; background:#171817; }
.cp-editorial-card--wide { grid-column:span 8; }
.cp-editorial-card img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.22,1,.36,1); }
.cp-editorial-card:hover img { transform:scale(1.025); }
.cp-editorial-card::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.cp-editorial-card figcaption { position:absolute; z-index:2; inset:auto 24px 22px; display:flex; justify-content:space-between; gap:24px; align-items:flex-end; }
.cp-editorial-card strong { font-size:25px; font-weight:430; letter-spacing:-.04em; }
.cp-editorial-card span { color:rgba(255,255,255,.58); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

.cp-editorial-story { min-height:100svh; display:grid; grid-template-columns:1fr 1fr; color:#fff; background:#080908; }
.cp-editorial-story > figure { min-height:100svh; margin:0; overflow:hidden; }
.cp-editorial-story > figure img { width:100%; height:100%; object-fit:cover; }
.cp-editorial-copy { display:flex; flex-direction:column; justify-content:center; padding:10vw 8vw; }
.cp-editorial-copy .cp-kicker { margin-bottom:30px; }
.cp-editorial-copy p { max-width:500px; margin-top:32px; color:rgba(255,255,255,.62); }

.cp-moments { padding:clamp(120px,12vw,210px) 0; background:#fff; }
.cp-section-head { width:var(--page); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(60px,8vw,130px); align-items:end; margin:auto; }
.cp-section-head h2 { margin:22px 0 0; font-size:clamp(62px,7vw,112px); line-height:.9; letter-spacing:-.07em; }
.cp-section-head > p { margin:0; color:var(--cp-muted); font-size:20px; line-height:1.4; }
.cp-moment-grid { width:var(--page); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:80px auto 0; }
.cp-moment { min-width:0; border-top:1px solid var(--cp-line); }
.cp-moment figure { aspect-ratio:.9; margin:0 0 24px; overflow:hidden; background:#ddd; }
.cp-moment img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.cp-moment:hover img { transform:scale(1.025); }
.cp-moment span { color:#85887f; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.cp-moment h3 { margin:12px 0 8px; font-size:29px; letter-spacing:-.045em; }
.cp-moment p { margin:0; color:var(--cp-muted); font-size:14px; }

.cp-principles { padding:clamp(120px,12vw,210px) 0; color:#fff; background:#0d0f0c; }
.cp-principles > div { width:var(--page); margin:auto; }
.cp-principles h2 { max-width:1100px; margin-top:25px; }
.cp-principle-list { margin-top:90px; border-top:1px solid rgba(255,255,255,.17); }
.cp-principle { display:grid; grid-template-columns:60px minmax(220px,.65fr) minmax(300px,1.35fr); gap:35px; align-items:center; padding:32px 0; border-bottom:1px solid rgba(255,255,255,.17); }
.cp-principle span { color:rgba(255,255,255,.43); font-size:10px; }
.cp-principle h3 { margin:0; font-size:clamp(28px,3.2vw,50px); letter-spacing:-.05em; }
.cp-principle p { max-width:630px; margin:0; color:rgba(255,255,255,.58); }

.cp-layer-gallery { padding:clamp(115px,11vw,190px) 0; background:#fff; }
.cp-layer-grid { width:var(--page); display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:340px; gap:14px; margin:75px auto 0; }
.cp-layer-card { position:relative; grid-column:span 4; margin:0; overflow:hidden; background:#eeeae3; }
.cp-layer-card--wide { grid-column:span 8; }
.cp-layer-card--tall { grid-row:span 2; }
.cp-layer-card img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,1,.36,1); }
.cp-layer-card:hover img { transform:scale(1.025); }
.cp-layer-card figcaption { position:absolute; inset:auto 18px 17px; padding:8px 12px; width:max-content; max-width:calc(100% - 36px); border-radius:999px; color:#171916; background:rgba(255,255,255,.78); backdrop-filter:blur(14px); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.cp-steps { padding:clamp(120px,12vw,210px) 0; color:#fff; background:#080908; }
.cp-step-track { width:var(--page); display:grid; grid-template-columns:repeat(4,1fr); margin:85px auto 0; border-top:1px solid rgba(255,255,255,.18); }
.cp-step { min-height:310px; padding:25px 28px 35px 0; border-right:1px solid rgba(255,255,255,.18); }
.cp-step + .cp-step { padding-left:28px; }
.cp-step:last-child { border-right:0; }
.cp-step span { color:rgba(255,255,255,.43); font-size:10px; }
.cp-step h3 { margin:90px 0 14px; font-size:40px; letter-spacing:-.055em; }
.cp-step p { margin:0; color:rgba(255,255,255,.58); }

.cp-presence-hero { min-height:100svh; display:grid; grid-template-columns:1.02fr .98fr; padding-top:var(--header); color:#fff; background:#080908; }
.cp-presence-copy { display:flex; flex-direction:column; justify-content:flex-end; padding:12vh 6vw 10vh max(48px,calc((100vw - var(--page))/2)); }
.cp-presence-copy h1 { margin:0; font-size:clamp(76px,9.3vw,150px); line-height:.84; letter-spacing:-.075em; }
.cp-presence-copy > p:not(.cp-kicker) { max-width:530px; margin:34px 0 0; color:rgba(255,255,255,.65); font-size:23px; }
.cp-presence-mosaic { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1.15fr .85fr; gap:8px; padding:8px; }
.cp-presence-mosaic figure { margin:0; overflow:hidden; background:#222; }
.cp-presence-mosaic figure:first-child { grid-row:span 2; }
.cp-presence-mosaic img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.22,1,.36,1); }
.cp-presence-mosaic figure:hover img { transform:scale(1.025); }

.cp-product-doors { padding:clamp(120px,12vw,210px) 0; background:var(--cp-paper); }
.cp-product-door { width:var(--page); display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); min-height:72svh; margin:auto; background:#fff; }
.cp-product-door + .cp-product-door { margin-top:18px; }
.cp-product-door:nth-child(even) figure { order:-1; }
.cp-product-door > div { display:flex; flex-direction:column; justify-content:center; padding:7vw; }
.cp-product-door h2 { margin:20px 0 28px; }
.cp-product-door p { max-width:480px; }
.cp-product-door a { width:max-content; margin-top:32px; }
.cp-product-door figure { margin:0; overflow:hidden; background:#ddd; }
.cp-product-door img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.22,1,.36,1); }
.cp-product-door:hover img { transform:scale(1.025); }

.cp-vision { padding:clamp(130px,14vw,240px) 0; text-align:center; color:#fff; background:linear-gradient(135deg,#0d1010,#16273a 55%,#233b32); }
.cp-vision > div { width:var(--page); margin:auto; }
.cp-vision h2 { max-width:1180px; margin:24px auto 0; }
.cp-vision p { max-width:720px; margin:32px auto 0; color:rgba(255,255,255,.66); }
.cp-wordstream { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:850px; margin:65px auto 0; }
.cp-wordstream span { padding:11px 17px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:rgba(255,255,255,.73); font-size:13px; }

.cp-final { position:relative; min-height:90svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#080908; }
.cp-final figure,.cp-final::after { position:absolute; inset:0; margin:0; }
.cp-final img { width:100%; height:100%; object-fit:cover; }
.cp-final::after { content:""; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.06) 70%),linear-gradient(0deg,rgba(0,0,0,.55),transparent); }
.cp-final > div { position:relative; z-index:2; width:var(--page); margin:0 auto; padding-bottom:9vh; }
.cp-final h2 { max-width:1000px; margin:22px 0 34px; }

@media (max-width:960px) {
  .cp-intro-grid,.cp-section-head { grid-template-columns:1fr; align-items:start; }
  .cp-editorial-card { grid-column:span 6; }
  .cp-editorial-card--wide { grid-column:span 12; }
  .cp-moment-grid { grid-template-columns:repeat(2,1fr); gap:50px 10px; }
  .cp-presence-hero { grid-template-columns:1fr; }
  .cp-presence-copy { min-height:70svh; padding:18vh 28px 8vh; }
  .cp-presence-mosaic { min-height:70svh; }
  .cp-product-door { grid-template-columns:1fr; }
  .cp-product-door figure { min-height:60svh; order:-1; }
}

@media (max-width:700px) {
  .cp-subnav { padding-inline:18px; }
  .cp-subnav div { gap:15px; }
  .cp-hero-copy { padding:180px 0 8vh; }
  .cp-hero h1 { font-size:66px; line-height:.88; }
  .cp-hero-deck { max-width:340px; font-size:18px; }
  .cp-hero--key .cp-hero-media img { object-position:57% center; }
  .cp-intro h2,.cp-editorial-copy h2,.cp-principles h2,.cp-final h2,.cp-product-door h2,.cp-vision h2,.cp-section-head h2 { font-size:54px; }
  .cp-intro-grid { gap:35px; }
  .cp-editorial-grid { grid-template-columns:1fr; padding:80px 0; }
  .cp-editorial-card,.cp-editorial-card--wide { grid-column:1; min-height:62svh; }
  .cp-editorial-story { grid-template-columns:1fr; }
  .cp-editorial-story > figure { min-height:65svh; }
  .cp-editorial-copy { padding:100px 18px; }
  .cp-moment-grid { grid-template-columns:1fr; }
  .cp-moment figure { aspect-ratio:1.1; }
  .cp-principle { grid-template-columns:32px 1fr; gap:10px 15px; }
  .cp-principle p { grid-column:2; }
  .cp-layer-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .cp-layer-card,.cp-layer-card--wide,.cp-layer-card--tall { grid-column:1; grid-row:auto; aspect-ratio:1; }
  .cp-step-track { grid-template-columns:1fr; }
  .cp-step,.cp-step + .cp-step { min-height:0; padding:28px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .cp-step h3 { margin:50px 0 12px; }
  .cp-presence-copy h1 { font-size:68px; }
  .cp-presence-copy > p:not(.cp-kicker) { font-size:18px; }
  .cp-presence-mosaic { min-height:62svh; }
  .cp-product-door > div { padding:80px 18px; }
  .cp-product-door figure { min-height:55svh; }
  .cp-wordstream { margin-top:45px; }
  .cp-final { min-height:82svh; }
}
