.stack{background:var(--bg);color:var(--ink);padding-block:var(--section-y);border-top:1px solid var(--line);position:relative;overflow:hidden}.stack-inner{grid-template-columns:1fr;align-items:center;gap:40px;display:grid}@media (min-width:900px){.stack-inner{grid-template-columns:1fr minmax(280px,320px);gap:clamp(40px,6vw,80px)}}.stack-text h2{color:var(--ink);margin-top:16px}.stack-text .stack-lead{color:var(--ink-2);max-width:52ch;margin-top:24px;font-size:clamp(15px,1.4vw,18px);line-height:1.55}.stack-col{border:1px solid var(--line-2);background:#fff;border-radius:18px;flex-direction:column;justify-self:end;width:100%;max-width:360px;min-height:440px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0e2a0a14}@media (max-width:899px){.stack-col{justify-self:stretch;max-width:100%;min-height:380px}}.stack-tier{flex:var(--p,1);border-bottom:1px solid #00000038;flex-direction:column;justify-content:center;min-height:60px;padding:clamp(16px,1.8vw,24px) clamp(20px,2vw,28px);display:flex;position:relative}.stack-tier:last-child{border-bottom:none}.tier-dep{background:linear-gradient(135deg,#5a2e91,#8d5bcc)}.tier-dep .tier-pct{color:var(--yellow)}.tier-dep .tier-name{color:#fff}.tier-dep .tier-desc{color:#ffffffd9}.tier-dc{background:linear-gradient(135deg,#b25a1e,#f08a2c)}.tier-dc .tier-pct,.tier-dc .tier-name{color:#fff}.tier-dc .tier-desc{color:#ffffffe0}.tier-ec{background:linear-gradient(135deg, #c77a00, var(--yellow))}.tier-ec .tier-pct,.tier-ec .tier-name{color:var(--ink)}.tier-ec .tier-desc{color:#0e1a0bb3}.tier-itc{background:linear-gradient(135deg, var(--green-deep), var(--green))}.tier-itc .tier-pct{color:var(--yellow)}.tier-itc .tier-name{color:#fff}.tier-itc .tier-desc{color:#ffffffd9}.tier-pct{font-family:var(--type-display);color:var(--yellow);letter-spacing:-.02em;font-size:clamp(20px,2.2vw,28px);font-weight:900;line-height:1}.tier-name{font-family:var(--type-display);color:#fff;letter-spacing:-.005em;margin-top:6px;font-size:14px;font-weight:600}.tier-desc{font-family:var(--type-mono);color:#ffffff8c;letter-spacing:.02em;margin-top:4px;font-size:11px}.stack-total{background:var(--ink);color:#fff;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px clamp(20px,2vw,28px);display:flex}.stack-total-label{font-family:var(--type-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffffffb8;max-width:12ch;font-size:11px;line-height:1.4}.stack-total-pct{font-family:var(--type-display);letter-spacing:-.02em;color:var(--yellow);white-space:nowrap;font-size:clamp(24px,2.6vw,32px);font-weight:900;line-height:1}.carousel{flex-direction:column;gap:16px;display:flex;position:relative}.carousel-hero{border-radius:var(--radius-media);aspect-ratio:16/9;background:var(--bg-soft,#f4f1ea);position:relative;overflow:hidden;box-shadow:0 8px 32px #00000014}.carousel-hero-img{object-fit:cover;width:100%;height:100%;transition:opacity .25s;display:block}.carousel-hero-meta{color:#fff;background:linear-gradient(#0000,#000000bf);padding:clamp(16px,3vw,32px);position:absolute;bottom:0;left:0;right:0}.carousel-hero-tag{background:var(--yellow);color:var(--ink);font-family:var(--type-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.carousel-hero-name{font-family:var(--type-display);color:#fff;letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(20px,2.8vw,32px);font-weight:800;line-height:1.1}.carousel-hero-loc{font-family:var(--type-mono);letter-spacing:.06em;color:#ffffffd9;text-transform:uppercase;margin:0;font-size:12px}.carousel-counter{color:#fff;font-family:var(--type-mono);letter-spacing:.04em;background:#0009;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:16px;right:16px}.carousel-arrow{z-index:2;width:44px;height:44px;color:var(--ink);cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;place-items:center;font-size:24px;font-weight:600;line-height:1;transition:background .15s,transform .15s;display:grid;position:absolute;top:calc(50% - 30px);transform:translateY(-50%);box-shadow:0 4px 16px #0003}.carousel-arrow:hover{background:#fff;transform:translateY(-50%)scale(1.08)}.carousel-arrow-prev{left:12px}.carousel-arrow-next{right:12px}.carousel-thumbs{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#0003 transparent;-webkit-overflow-scrolling:touch;gap:8px;padding:4px 2px 8px;display:flex;overflow:auto hidden}.carousel-thumbs::-webkit-scrollbar{height:6px}.carousel-thumbs::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.carousel-thumb{cursor:pointer;background:var(--bg-soft,#f4f1ea);scroll-snap-align:start;border:2px solid #0000;border-radius:10px;flex:none;width:100px;height:65px;padding:0;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.carousel-thumb img{object-fit:cover;width:100%;height:100%;display:block}.carousel-thumb:hover{transform:scale(1.04)}.carousel-thumb.is-active{border-color:var(--green);transform:scale(1.04)}@media (min-width:760px){.carousel-thumb{width:140px;height:88px}.carousel-arrow{width:52px;height:52px;font-size:28px}}.credline{background:var(--ink);color:#fff;padding-block:clamp(20px,2.6vw,30px)}.credline-inner{flex-wrap:wrap;align-items:center;gap:14px clamp(20px,3vw,36px);display:flex}.credline-mark{font-family:var(--type-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);border:1px solid #f5a80066;border-radius:999px;flex:none;padding:7px 14px;font-size:11px;font-weight:600}.credline p{color:#ffffffdb;flex:420px;max-width:80ch;margin:0;font-size:clamp(14px,1.4vw,17px);line-height:1.5}.credline p strong{color:#fff;font-weight:700}.stack-fine{color:var(--muted);border-top:1px solid var(--line);max-width:72ch;margin-top:clamp(20px,2.5vw,28px);padding-top:16px;font-size:13px;font-style:italic;line-height:1.55}.stack-ast{color:var(--yellow-deep);font-style:normal;font-weight:700}@media (max-width:600px){.stack{border-top:none}}.process-note{color:var(--ink-2);border-left:3px solid var(--yellow);max-width:70ch;margin-top:clamp(20px,2.5vw,30px);padding:4px 0 4px 16px;font-size:14px;line-height:1.55}.process-note strong{color:var(--ink);font-weight:700}
