.consumer-company-page { background:#f3f1eb; }
.consumer-company-page .site-header:not(.scrolled) { color:#fff; }
.consumer-company-page .site-header:not(.scrolled)::before { opacity:0; }
.consumer-company-page .site-header:not(.scrolled) .brand img { filter:invert(1); }
.cc-main { overflow:hidden; }
.cc-kicker { margin:0; color:rgba(255,255,255,.58); font-size:11px; font-weight:620; letter-spacing:.14em; text-transform:uppercase; }
.cc-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }

.cc-hero { position:relative; min-height:100svh; overflow:hidden; color:#fff; background:#080908; }
.cc-hero-media { position:absolute; inset:0 0 0 46%; margin:0; overflow:hidden; }
.cc-hero-media img { width:100%; height:100%; object-fit:cover; object-position:50% 48%; filter:saturate(.74) contrast(1.02); }
.cc-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,#080908 0%,#080908 35%,rgba(8,9,8,.82) 51%,rgba(8,9,8,.06) 82%),linear-gradient(0deg,rgba(0,0,0,.53),transparent 44%); }
.cc-hero-copy { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:calc(var(--header) + 55px) 0 130px; }
.cc-hero h1 { max-width:940px; margin:23px 0 0; font-size:clamp(66px,8.6vw,138px); font-weight:420; line-height:.87; letter-spacing:-.078em; }
.cc-hero h1 span { display:block; color:#d5c3a8; font:inherit; }
.cc-hero-deck { max-width:590px; margin:34px 0 0; color:rgba(255,255,255,.69); font-size:clamp(18px,1.55vw,24px); line-height:1.36; letter-spacing:-.025em; }
.cc-hero-note { position:absolute; z-index:2; inset:auto 0 28px; margin-inline:auto; color:rgba(255,255,255,.43); font-size:9px; font-weight:620; letter-spacing:.14em; }

.cc-purpose { padding:clamp(125px,13vw,220px) 0; background:#f3f1eb; }
.cc-purpose-grid { display:grid; grid-template-columns:minmax(150px,.3fr) minmax(0,1.35fr) minmax(280px,.55fr); gap:clamp(34px,5.5vw,92px); align-items:start; }
.cc-purpose h2,.cc-section-head h2,.cc-origin-intro h2,.cc-products-copy h2,.cc-founder-copy h2,.cc-center-copy h2,.cc-place-copy h2,.cc-final-copy h2 { margin:0; font-size:clamp(58px,7.15vw,114px); font-weight:420; line-height:.9; letter-spacing:-.07em; }
.cc-purpose h2 span { color:#84715a; font:inherit; }
.cc-purpose-copy { padding-top:10px; }
.cc-purpose-copy p { margin:0; color:#60645e; font-size:clamp(18px,1.55vw,23px); line-height:1.4; letter-spacing:-.025em; }
.cc-purpose-copy p + p { margin-top:24px; }

.cc-life { padding:clamp(110px,10vw,175px) 0; color:#fff; background:#0c0d0c; }
.cc-life-heading { display:grid; grid-template-columns:minmax(160px,.35fr) minmax(0,1.65fr); gap:60px; align-items:start; }
.cc-life-heading h2 { max-width:980px; margin:0; font-size:clamp(58px,7.4vw,118px); font-weight:420; line-height:.9; letter-spacing:-.07em; }
.cc-life-grid { display:grid; grid-template-columns:1.08fr 1fr; grid-template-rows:repeat(2,minmax(320px,38vw)); gap:14px; margin-top:clamp(70px,7vw,110px); }
.cc-life-card { position:relative; min-width:0; margin:0; overflow:hidden; background:#1a1b1a; }
.cc-life-card--portrait { grid-row:span 2; }
.cc-life-card img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.cc-life-card--wide img { object-position:center 44%; }
.cc-life-card:hover img { transform:scale(1.022); }
.cc-life-card::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.cc-life-card figcaption { position:absolute; z-index:2; inset:auto 28px 26px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.cc-life-card strong { max-width:620px; font-size:clamp(24px,2.5vw,40px); font-weight:430; line-height:1.03; letter-spacing:-.045em; }
.cc-life-card span { flex:none; color:rgba(255,255,255,.58); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

.cc-principles { padding:clamp(120px,12vw,205px) 0; background:#fff; }
.cc-section-head { display:grid; grid-template-columns:minmax(160px,.36fr) minmax(0,1.64fr); gap:60px; }
.cc-principle-list { margin-top:clamp(85px,9vw,145px); }
.cc-principle-list article { display:grid; grid-template-columns:80px minmax(250px,.55fr) minmax(300px,1fr) 100px; gap:40px; align-items:baseline; padding:34px 0; border-top:1px solid rgba(17,19,16,.16); }
.cc-principle-list article:last-child { border-bottom:1px solid rgba(17,19,16,.16); }
.cc-principle-list span,.cc-principle-list b { color:#858981; font-size:10px; font-weight:620; letter-spacing:.12em; text-transform:uppercase; }
.cc-principle-list h3 { margin:0; font-size:clamp(38px,4vw,64px); font-weight:420; line-height:1; letter-spacing:-.055em; }
.cc-principle-list p { max-width:570px; margin:0; color:#686c65; font-size:18px; }
.cc-principle-list b { text-align:right; }

.cc-origin { padding:clamp(120px,13vw,220px) 0; color:#fff; background:radial-gradient(circle at 78% 18%,rgba(63,111,84,.2),transparent 30%),#080908; }
.cc-origin-intro { display:grid; grid-template-columns:minmax(160px,.35fr) minmax(0,1.65fr); gap:60px; }
.cc-origin-steps { margin-top:clamp(90px,9vw,150px); }
.cc-origin-steps article { display:grid; grid-template-columns:100px minmax(0,1fr); gap:50px; padding:52px 0; border-top:1px solid rgba(255,255,255,.18); }
.cc-origin-steps article:last-child { border-bottom:1px solid rgba(255,255,255,.18); }
.cc-origin-steps > article > span { color:rgba(255,255,255,.43); font-size:10px; letter-spacing:.13em; }
.cc-origin-steps p { margin:0 0 18px; color:#d6c3a7; font-size:14px; }
.cc-origin-steps h3 { max-width:1020px; margin:0; color:rgba(255,255,255,.94); font-size:clamp(33px,4vw,62px); font-weight:420; line-height:1.05; letter-spacing:-.055em; }

.cc-products { padding:clamp(120px,12vw,205px) 0; background:#f3f1eb; }
.cc-products-copy { display:grid; grid-template-columns:minmax(150px,.3fr) minmax(0,1.1fr) minmax(280px,.6fr); gap:clamp(35px,5vw,85px); align-items:end; }
.cc-products-copy > p:last-child { margin:0 0 6px; color:#666a63; font-size:19px; line-height:1.42; }
.cc-product-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:clamp(75px,8vw,125px); }
.cc-product-card { display:grid; min-width:0; color:#fff; background:#0b0c0b; }
.cc-product-card figure { aspect-ratio:1.15; margin:0; overflow:hidden; background:#111; }
.cc-product-card img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.cc-product-card:hover img { transform:scale(1.022); }
.cc-product-card > div { min-height:310px; display:flex; flex-direction:column; padding:34px; }
.cc-product-card span { color:rgba(255,255,255,.5); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.cc-product-card h3 { margin:23px 0 50px; font-size:clamp(45px,5vw,78px); font-weight:420; line-height:.91; letter-spacing:-.065em; }
.cc-product-card b { margin-top:auto; font-size:13px; font-weight:500; text-decoration:underline; text-underline-offset:5px; }

.cc-founder { position:relative; min-height:100svh; color:#fff; background:#080908; }
.cc-founder-media { position:absolute; inset:0 0 0 48%; margin:0; overflow:hidden; }
.cc-founder-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.75); }
.cc-founder::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#080908 0%,#080908 43%,rgba(8,9,8,.72) 58%,rgba(8,9,8,.02)); }
.cc-founder-layout { position:relative; z-index:2; min-height:100svh; display:flex; align-items:center; padding:130px 0; }
.cc-founder-copy { width:min(720px,52vw); }
.cc-founder-copy h2 { margin-top:25px; }
.cc-founder-copy > p:not(.section-index) { max-width:565px; margin:34px 0; color:rgba(255,255,255,.65); font-size:20px; line-height:1.42; }

.cc-center { position:relative; min-height:100svh; overflow:hidden; color:#fff; background:#080908; }
.cc-center-media { position:absolute; inset:0; margin:0; }
.cc-center-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.cc-center-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.87),rgba(0,0,0,.12) 67%),linear-gradient(0deg,rgba(0,0,0,.67),transparent 55%); }
.cc-center-copy { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:120px 0 72px; }
.cc-center-copy h2 { max-width:930px; margin-top:24px; }
.cc-center-copy > p:not(.cc-kicker) { max-width:520px; margin:30px 0 0; color:rgba(255,255,255,.7); font-size:20px; }
.cc-center-copy > span { margin-top:42px; color:rgba(255,255,255,.5); font-size:10px; font-weight:620; letter-spacing:.15em; }

.cc-place { padding:clamp(120px,12vw,205px) 0; background:#f3f1eb; }
.cc-place-grid { display:grid; grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr); gap:clamp(60px,9vw,145px); align-items:center; }
.cc-place-copy h2 { margin-top:25px; }
.cc-place-copy > p:not(.section-index) { max-width:520px; margin:34px 0 0; color:#666a63; font-size:20px; }
.cc-place figure { margin:0; }
.cc-place figure img { width:100%; aspect-ratio:1.14; object-fit:cover; }
.cc-place figcaption { display:flex; justify-content:space-between; gap:30px; margin-top:13px; color:#747870; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }

.cc-final { position:relative; min-height:100svh; overflow:hidden; color:#fff; background:#080908; }
.cc-final > figure { position:absolute; inset:0; margin:0; }
.cc-final > figure img { width:100%; height:100%; object-fit:cover; object-position:center; }
.cc-final-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.1) 68%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%); }
.cc-final-copy { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:120px 0 74px; }
.cc-final-copy h2 { max-width:900px; margin-top:24px; }

.cc-company-record { padding:70px 0; color:#30332f; background:#ebe8df; }
.cc-company-record .page-shell { display:grid; grid-template-columns:.65fr 1.6fr .65fr; gap:50px; align-items:baseline; }
.cc-company-record p,.cc-company-record address,.cc-company-record small { margin:0; font-style:normal; }
.cc-company-record p { font-weight:600; }
.cc-company-record p span,.cc-company-record address,.cc-company-record small { color:#70746d; }
.cc-company-record small { text-align:right; }

@media (max-width:1100px) {
  .cc-purpose-grid,.cc-products-copy { grid-template-columns:130px 1fr; }
  .cc-purpose-copy,.cc-products-copy > p:last-child { grid-column:2; }
  .cc-life-grid { grid-template-rows:repeat(2,minmax(300px,43vw)); }
  .cc-principle-list article { grid-template-columns:55px minmax(220px,.5fr) minmax(260px,1fr); }
  .cc-principle-list b { display:none; }
  .cc-company-record .page-shell { grid-template-columns:1fr 1.8fr; }
  .cc-company-record small { grid-column:1 / -1; text-align:left; }
}

@media (max-width:860px) {
  .cc-hero-media { inset:0; }
  .cc-hero-media img { object-position:64% center; }
  .cc-hero-shade { background:linear-gradient(90deg,rgba(8,9,8,.9),rgba(8,9,8,.18)),linear-gradient(0deg,rgba(0,0,0,.76),transparent 64%); }
  .cc-hero-copy { justify-content:flex-end; padding-bottom:120px; }
  .cc-hero h1 { max-width:760px; font-size:clamp(68px,14vw,108px); }
  .cc-purpose-grid,.cc-life-heading,.cc-section-head,.cc-origin-intro,.cc-products-copy { grid-template-columns:1fr; gap:32px; }
  .cc-purpose-copy,.cc-products-copy > p:last-child { grid-column:1; }
  .cc-purpose-copy { max-width:630px; }
  .cc-life-grid { grid-template-columns:1fr 1fr; grid-template-rows:680px 360px; }
  .cc-life-card--portrait { grid-column:1 / -1; grid-row:1; }
  .cc-life-card--wide { grid-column:1; grid-row:2; }
  .cc-life-card:last-child { grid-column:2; grid-row:2; }
  .cc-life-card figcaption { align-items:flex-start; flex-direction:column; gap:8px; }
  .cc-principle-list article { grid-template-columns:45px 1fr; gap:12px 24px; }
  .cc-principle-list h3 { grid-column:2; }
  .cc-principle-list p { grid-column:2; }
  .cc-origin-steps article { grid-template-columns:60px 1fr; gap:25px; }
  .cc-product-pair { grid-template-columns:1fr; }
  .cc-founder-media { inset:0; }
  .cc-founder::after { background:linear-gradient(90deg,rgba(8,9,8,.84),rgba(8,9,8,.2)),linear-gradient(0deg,rgba(0,0,0,.84),transparent 62%); }
  .cc-founder-layout { align-items:flex-end; }
  .cc-founder-copy { width:min(680px,90vw); }
  .cc-place-grid { grid-template-columns:1fr; }
  .cc-place-copy { max-width:700px; }
}

@media (max-width:620px) {
  .cc-actions { align-items:flex-start; flex-direction:column; gap:19px; }
  .cc-hero-copy { padding-bottom:120px; }
  .cc-hero h1 { font-size:60px; line-height:.9; }
  .cc-hero-deck { max-width:340px; font-size:17px; }
  .cc-hero-note { bottom:24px; white-space:nowrap; font-size:8px; }
  .cc-purpose,.cc-life,.cc-principles,.cc-origin,.cc-products,.cc-place { padding:100px 0; }
  .cc-purpose h2,.cc-section-head h2,.cc-origin-intro h2,.cc-products-copy h2,.cc-founder-copy h2,.cc-center-copy h2,.cc-place-copy h2,.cc-final-copy h2,.cc-life-heading h2 { font-size:52px; }
  .cc-life-grid { grid-template-columns:1fr; grid-template-rows:520px 330px 330px; gap:10px; margin-top:60px; }
  .cc-life-card--portrait,.cc-life-card--wide,.cc-life-card:last-child { grid-column:1; grid-row:auto; }
  .cc-life-card figcaption { inset:auto 18px 18px; }
  .cc-life-card strong { font-size:24px; }
  .cc-principle-list { margin-top:60px; }
  .cc-principle-list article { grid-template-columns:30px 1fr; gap:11px 18px; padding:28px 0; }
  .cc-principle-list h3 { font-size:41px; }
  .cc-principle-list p { font-size:16px; }
  .cc-origin-steps { margin-top:60px; }
  .cc-origin-steps article { grid-template-columns:1fr; gap:18px; padding:38px 0; }
  .cc-origin-steps h3 { font-size:35px; }
  .cc-product-pair { margin-top:60px; }
  .cc-product-card > div { min-height:260px; padding:24px; }
  .cc-product-card h3 { font-size:50px; }
  .cc-founder-media img { object-position:61% center; }
  .cc-founder-layout { padding-bottom:70px; }
  .cc-founder-copy { width:100%; }
  .cc-founder-copy > p:not(.section-index),.cc-center-copy > p:not(.cc-kicker),.cc-place-copy > p:not(.section-index) { font-size:17px; }
  .cc-center-media img { object-position:55% center; }
  .cc-center-shade { background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 72%); }
  .cc-center-copy { padding-bottom:62px; }
  .cc-place figure { margin-top:20px; }
  .cc-final > figure img { object-position:64% center; }
  .cc-final-shade { background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 72%); }
  .cc-final-copy { padding-bottom:66px; }
  .cc-company-record { padding:55px 0; }
  .cc-company-record .page-shell { grid-template-columns:1fr; gap:18px; }
  .cc-company-record small { grid-column:1; }
}

@media (prefers-reduced-motion:reduce) {
  .cc-life-card img,.cc-product-card img { transition:none; }
}
