/* Company — "Origin" */

/* Hero */
.co-hero{ position:relative; padding-top:calc(var(--nav-h) + 30px); overflow:hidden; }
.co-hero-row{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:clamp(30px,5vw,80px); align-items:end; margin:clamp(30px,6vh,70px) 0 clamp(36px,6vh,64px); }
.co-title{ font-size:clamp(2.8rem,min(7.4vw,13svh),8.4rem); }
.co-title > span{ display:block; }
.co-hero-meta{ display:grid; gap:18px; padding-bottom:10px; }
.co-facts{ display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.64rem; color:var(--fog); }
.co-facts span::before{ content:"◇ "; color:var(--accent-2); }
.co-strip{ position:relative; height:clamp(320px,62vh,640px); }
.co-strip-img{ position:absolute; inset:0; clip-path:inset(0 var(--gutter) 0 var(--gutter) round 30px); will-change:clip-path; }
.co-strip-img img{ width:100%; height:100%; object-fit:cover; transform:scale(1.2); }
@media (max-width:900px){ .co-hero-row{ grid-template-columns:1fr; } }

/* Story */
.co-story-grid{ display:grid; gap:34px; }
.co-story-text{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.9rem,4.2vw,4.2rem); line-height:1.06; letter-spacing:-.03em; max-width:24ch; max-width:none; width:min(100%,1180px); }
.co-story-text .serif{ color:var(--accent-2); }
.co-story-sub{ justify-self:end; max-width:52ch; }

/* Stats (light) */
.co-stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:40px; }
.co-stat{ border-top:1px solid rgba(5,5,9,.15); padding-top:24px; }
.co-stat b{ display:block; font-family:var(--f-display); font-weight:500; font-size:clamp(3rem,6.4vw,6.6rem); line-height:.9; letter-spacing:-.05em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; white-space:nowrap; }
.co-stat span{ display:block; margin-top:10px; color:#4c4a62; }
@media (max-width:900px){ .co-stat-grid{ grid-template-columns:1fr 1fr; gap:30px 16px; } }

/* Principles */
.co-quote{ font-family:var(--f-serif); font-style:italic; font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.25; color:var(--bone-2); justify-self:end; max-width:24ch; }
.co-quote cite{ display:block; margin-top:12px; font-family:var(--f-mono); font-style:normal; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.co-prin-list{ border-top:1px solid var(--line-2); }
.co-prin{ display:grid; grid-template-columns:80px minmax(0,1fr) minmax(0,1fr); gap:30px; align-items:center; padding:clamp(22px,3vw,34px) 0; border-bottom:1px solid var(--line-2); }
.co-prin .mono{ font-size:.72rem; color:var(--dim); }
.co-prin-word{ font-family:var(--f-display); font-weight:500; font-size:clamp(3rem,8vw,8rem); line-height:.9; letter-spacing:-.05em; color:transparent; -webkit-text-stroke:1px rgba(243,241,236,.35); background:var(--grad); -webkit-background-clip:text; background-clip:text; background-size:0% 100%; background-repeat:no-repeat; transition:background-size 1.2s var(--ease); }
.co-prin.on .co-prin-word{ background-size:100% 100%; -webkit-text-stroke:0; }
.co-prin p{ color:var(--fog); font-size:1.08rem; max-width:44ch; }
.co-promise{ display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.co-promise span{ padding:10px 18px; border-radius:999px; border:1px solid var(--line-2); color:var(--bone-2); font-size:.95rem; }
@media (max-width:760px){ .co-prin{ grid-template-columns:1fr; gap:10px; } }

/* Industries */
.co-ind-list{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; border-top:1px solid var(--line-2); }
.co-ind-list li{ position:relative; display:grid; grid-template-columns:50px 1fr; grid-template-rows:auto auto; column-gap:16px; padding:26px 0; border-bottom:1px solid var(--line-2); }
.co-ind-list li .mono{ grid-row:span 2; font-size:.7rem; color:var(--dim); padding-top:8px; }
.co-ind-list li .h3{ transition:color .4s, transform .6s var(--ease); }
.co-ind-list li p{ color:var(--fog); margin-top:8px; max-width:46ch; }
.co-ind-list li::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .8s var(--ease); }
.co-ind-list li:hover::after{ transform:scaleX(1); }
.co-ind-list li:hover .h3{ color:var(--accent-2); transform:translateX(8px); }
@media (max-width:860px){ .co-ind-list{ grid-template-columns:1fr; } }

/* Catalogue */
.co-cat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.co-cat-col{ padding:30px; border-radius:24px; background:linear-gradient(180deg,rgba(23,21,47,.75),rgba(10,10,24,.8)); border:1px solid var(--line); display:grid; gap:20px; align-content:start; }
.co-cat-col .chips{ gap:8px; }
.co-cat-col .chip{ font-size:.86rem; padding:9px 14px; color:var(--bone-2); }
.co-partners{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; padding:26px 30px; border-radius:24px; border:1px solid var(--line-2); background:linear-gradient(120deg,rgba(42,143,224,.08),rgba(141,79,198,.1)); }
.co-partner-row{ display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,56px); }
.co-partner-row b{ font-family:var(--f-display); font-weight:500; font-size:clamp(1.2rem,2vw,1.7rem); letter-spacing:-.02em; color:var(--bone-2); }
.co-tech{ margin-top:clamp(60px,8vw,100px); padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); --gap:46px; }
.co-tech span{ font-family:var(--f-mono); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--fog); }
.co-tech span::after{ content:"✦"; margin-left:46px; color:var(--accent-2); }
@media (max-width:860px){ .co-cat-grid{ grid-template-columns:1fr; } }

/* How we start */
.co-start-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,100px); align-items:center; }
.co-steps{ display:grid; border-top:1px solid var(--line-2); }
.co-steps li{ display:grid; grid-template-columns:56px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid var(--line-2); }
.co-steps b{ font-family:var(--f-mono); font-weight:500; font-size:.8rem; color:var(--accent-2); padding-top:4px; }
.co-steps p{ color:var(--fog); margin-top:6px; }
.co-start-ctas{ margin-top:34px; }
.co-start-media{ position:relative; }
.co-start-img{ height:min(66vh,580px); border-radius:28px; }
.co-office{ position:absolute; left:-8%; bottom:-8%; width:min(86%,360px); padding:24px; border-radius:22px; background:rgba(12,11,28,.9); border:1px solid var(--line-2); box-shadow:0 40px 80px -30px rgba(0,0,0,.8); display:grid; gap:10px; }
.co-office p{ color:var(--bone-2); font-size:.95rem; }
.co-office .muted{ font-size:.86rem; }
@media (max-width:900px){ .co-start-grid{ grid-template-columns:1fr; } .co-office{ position:relative; left:auto; bottom:auto; width:100%; margin-top:-60px; margin-left:auto; max-width:92%; } .co-start-img{ height:44vh; } }
