.cd-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(24px,6vw,90px)}.cd-wrap--narrow{max-width:760px}.cd-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 22px}.cd-eyebrow:before{content:"";width:28px;height:2px;background:var(--brand-red)}.cd-grad{background:linear-gradient(176deg,var(--color-text-primary),var(--color-text-caption));-webkit-background-clip:text;background-clip:text}.cd-grad,.cd-red{color:transparent;padding-bottom:.2em}.cd-red{position:relative;background:linear-gradient(100deg,var(--brand-red) 0,var(--brand-red) 42%,color-mix(in srgb,var(--brand-red) 30%,#fff) 50%,var(--brand-red) 58%,var(--brand-red) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;animation:cdSheen 7s ease-in-out infinite}@keyframes cdSheen{0%,70%{background-position:150% 0}86%,to{background-position:-50% 0}}.cd-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--color-text-caption);text-decoration:none;transition:.15s}.cd-back:hover{color:var(--color-text-primary)}.cd-back svg{width:15px;height:15px}.cd-hero{padding:clamp(70px,9vw,130px) 0 clamp(32px,4.7vw,48px)}.cd-hero h1{margin:18px 0 0;font-family:var(--font-sans);font-weight:600;font-size:clamp(38px,5.6vw,92px);line-height:1.02;letter-spacing:-.04em;max-width:15ch}.cd-hero .lede{margin:clamp(20px,2.4vw,32px) 0 0;max-width:60ch;font-family:var(--font-serif);font-size:clamp(18px,1.6vw,24px);line-height:1.55;color:var(--color-text-secondary)}.cd-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,40px);margin-top:clamp(32px,4vw,56px);padding:clamp(24px,2.6vw,34px) 0;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle)}.cd-meta .k{font-family:var(--font-mono);font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-caption);margin:0 0 8px}.cd-meta .v{font-family:var(--font-sans);font-weight:600;font-size:clamp(14px,1.1vw,17px);line-height:1.3;color:var(--color-text-primary);margin:0}.cd-cover{margin:clamp(32px,4vw,56px) 0}.cd-figure{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--color-border-subtle);display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-red) 18%,var(--color-surface-2)),var(--color-surface-2));box-shadow:0 16px 40px -26px rgba(0,0,0,.5);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s}.cd-figure:hover{transform:translateY(-4px);border-color:var(--color-border-emphasis);box-shadow:0 30px 60px -34px rgba(0,0,0,.6)}.dark .cd-figure{box-shadow:0 20px 50px -24px rgba(255,255,255,.1)}.dark .cd-figure:hover{box-shadow:0 28px 64px -26px rgba(255,255,255,.16)}.cd-figure .ml{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-red-text);opacity:.85;padding:14px}.cd-figure .ini{font-family:var(--font-sans);font-weight:700;font-size:clamp(54px,7vw,112px);letter-spacing:-.04em;line-height:.9;color:var(--accent-red-text)}.cd-figure .ini+.ml{margin-top:10px;opacity:.7}.cd-cover .cd-figure{aspect-ratio:16/8}.cd-cap{margin:12px 2px 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--color-text-caption)}.cd-sec{padding:clamp(32px,4.7vw,48px) 0}.cd-allcta{display:flex;justify-content:center}.cd-allcta--gap{margin-top:clamp(28px,3.5vw,46px)}.cd-block{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(28px,5vw,80px);align-items:start}.cd-block .lbl{font-size:13px;letter-spacing:0;text-transform:none;color:var(--color-text-primary);border-left:3px solid var(--accent-red-text);padding-left:12px;position:sticky;top:96px}.cd-block .lbl,.cd-block h2{font-family:var(--font-sans);font-weight:600}.cd-block h2{margin:0 0 18px;font-size:clamp(24px,2.6vw,40px);line-height:1.08;letter-spacing:-.03em}.cd-block .rich p{margin:0 0 1.05em;font-family:var(--font-serif);font-size:clamp(16px,1.25vw,20px);line-height:1.66;color:var(--color-text-secondary)}.cd-block .rich p:last-child{margin-bottom:0}.cd-block .rich strong{color:var(--color-text-primary);font-weight:600}.cd-block ul{margin:0;padding:0;list-style:none}.cd-block li{position:relative;padding:14px 0 14px 28px;border-top:1px solid var(--color-border-subtle);font-family:var(--font-serif);font-size:clamp(15px,1.2vw,18px);line-height:1.5;color:var(--color-text-secondary)}.cd-block li:before{content:"";position:absolute;left:0;top:22px;width:11px;height:2px;background:var(--brand-red)}.cd-block li:first-child{border-top:0}.cd-results{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}.cd-results .r .n{font-family:var(--font-sans);font-weight:700;font-size:clamp(46px,6vw,104px);line-height:.86;letter-spacing:-.04em}.cd-results .r .n small{font-size:.34em;color:var(--accent-red-text);font-weight:700}.cd-results .r .l{margin:14px 0 0;font-family:var(--font-serif);font-size:clamp(14px,1.1vw,17px);line-height:1.5;color:var(--color-text-secondary);max-width:26ch}.cd-gal{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px)}.cd-gal .cd-figure{aspect-ratio:4/3}.cd-tech{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.cd-tech span{font-family:var(--font-mono);font-size:13px;padding:9px 14px;border-radius:999px;background:var(--color-surface-1);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle)}.cd-quote{text-align:center}.cd-quote blockquote{margin:0 auto;font-family:var(--font-sans);font-weight:600;font-size:clamp(26px,3.4vw,52px);line-height:1.16;letter-spacing:-.03em;max-width:22ch;text-wrap:balance}.cd-quote blockquote em{font-style:normal}.cd-quote .by{margin-top:26px;font-family:var(--font-mono);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-caption)}.cd-ident{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}.cd-swatches{display:flex;flex-wrap:wrap;align-content:flex-start;gap:14px}.cd-sw{flex:0 0 calc((100% - 28px) / 3);align-self:flex-start;border:1px solid var(--color-border-subtle);border-radius:16px;overflow:hidden;background:var(--color-surface-1);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cd-sw:hover{transform:translateY(-3px);border-color:var(--color-border-emphasis);box-shadow:0 20px 40px -26px rgba(0,0,0,.45)}.cd-sw .chip{height:clamp(92px,9vw,120px);display:block;width:100%}.cd-sw .meta{padding:12px 14px}.cd-sw .nm{font-family:var(--font-sans);font-weight:600;font-size:13px;color:var(--color-text-primary);margin:0}.cd-sw .hex{font-family:var(--font-mono);font-size:11px;color:var(--color-text-caption);margin:4px 0 0;text-transform:uppercase;letter-spacing:.04em}.cd-fonts{display:flex;flex-direction:column;gap:14px}.cd-font{border:1px solid var(--color-border-subtle);border-radius:14px;padding:clamp(18px,2vw,26px);background:var(--color-surface-1)}.cd-font .role{font-family:var(--font-mono);font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-red-text);margin:0 0 10px}.cd-font .spec{margin:0;line-height:1;color:var(--color-text-primary)}.cd-font .nm{font-family:var(--font-mono);font-size:12px;color:var(--color-text-caption);margin:10px 0 0}.prj-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border-radius:20px;border:1px solid var(--color-border-subtle);box-shadow:0 30px 70px -42px rgba(0,0,0,.7);text-decoration:none;color:inherit;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .25s}.prj-card:hover{transform:translateY(-4px);border-color:var(--color-border-emphasis);box-shadow:0 44px 84px -40px rgba(0,0,0,.7)}.prj-img{position:relative;aspect-ratio:4/3;flex:0 0 auto;background:#fff;overflow:hidden;padding:clamp(16px,2.4vw,30px);display:grid;place-items:center}.prj-img image-slot{position:absolute;inset:0;display:block}.prj-img img{-o-object-fit:contain!important;object-fit:contain!important}.prj-ini{font-family:var(--font-sans);font-weight:700;font-size:clamp(40px,8vw,72px);letter-spacing:-.03em;color:var(--accent-red-text)}.prj-body{flex:1 1 auto;display:flex;flex-direction:column;padding:clamp(22px,2.2vw,30px);background:linear-gradient(158deg,#1B1B1F,#242428)}.prj-eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--font-sans);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82)}.prj-eyebrow .dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7)}.prj-title{margin:0 0 10px;font-weight:700;font-size:clamp(22px,1.7vw,30px);line-height:1.05;letter-spacing:-.025em;color:#fff}.prj-desc,.prj-title{font-family:var(--font-sans)}.prj-desc{margin:0;font-size:clamp(14px,1vw,15.5px);line-height:1.5;color:rgba(255,255,255,.86);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prj-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.prj-chip{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-family:var(--font-sans);font-size:11px;font-weight:500;background:rgba(255,255,255,.1);color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.18)}.prj-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;width:100%;padding:13px 20px;border-radius:12px;background:#fff;color:#18181B;font:600 14px/1 var(--font-sans);text-decoration:none;white-space:nowrap;box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}.prj-cta,.prj-cta svg{transition:transform .2s ease}.prj-cta svg{width:15px;height:15px}.prj-card:hover .prj-cta svg{transform:translate(2px,-2px)}.dark .prj-card{border-color:rgba(255,255,255,.1);box-shadow:0 26px 60px -40px rgba(0,0,0,.9)}.dark .prj-body{background:linear-gradient(158deg,#212127,#2B2B33)}.cd-related{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px)}.cd-relcf{display:none}@media (max-width:920px){.cd-related{display:none}.cd-relcf{display:block;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.cd-relcf__row{position:relative;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px calc((100vw - min(330px,86vw)) / 2) 18px;gap:16px}.cd-relcf__row::-webkit-scrollbar{display:none}.cd-relcf__slot{position:relative;flex:0 0 auto;width:min(330px,86vw);scroll-snap-align:center;cursor:pointer;transform-origin:center center;will-change:transform,opacity,filter}}.cd-closer{text-align:center}.cd-closer h2{margin:0 auto 26px;font-family:var(--font-sans);font-weight:600;font-size:clamp(30px,4.2vw,68px);line-height:1.02;letter-spacing:-.035em;max-width:16ch}@media (max-width:760px){.cd-allcta .btn,.cd-closer .btn{width:100%;justify-content:center}}@media(max-width:860px){.cd-meta{grid-template-columns:1fr 1fr;gap:22px 18px}.cd-block{grid-template-columns:1fr;gap:18px}.cd-block .lbl{position:static}.cd-gal,.cd-ident,.cd-related,.cd-results{grid-template-columns:1fr}.cd-swatches{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;padding-bottom:6px}.cd-swatches::-webkit-scrollbar{display:none}.cd-sw{flex:0 0 46%;scroll-snap-align:start}}.cd-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,3.4vw,52px) 0;border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);text-decoration:none;color:inherit;transition:padding-left .4s cubic-bezier(.2,.7,.2,1)}.cd-next:hover{padding-left:10px}.cd-next .lbl{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-caption);margin:0 0 10px}.cd-next .t{margin:0;font-family:var(--font-sans);font-weight:600;font-size:clamp(26px,3.4vw,52px);letter-spacing:-.03em;line-height:1;color:var(--color-text-primary);transition:color .3s ease}.cd-next .ar,.cd-next:hover .t{color:var(--accent-red-text)}.cd-next .ar{flex:0 0 auto;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.cd-next:hover .ar{transform:translateX(8px)}