/* L2 Noir — dark, centred, product-page cinema: pinned hero zoom, bento, counters */
.l2{--br:999px;--ir:28px;--fr:14px}
.l2 body{font-size:18px;letter-spacing:-.005em}
.l2-top{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--line)}
.l2-top .wrap{display:flex;align-items:center;gap:18px;min-height:56px}
.l2-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;margin-right:auto;min-height:44px}
.l2-logo i{width:30px;height:30px;border-radius:9px;background:var(--acc);color:var(--on);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}
.l2-nav{display:flex}
.l2-nav a{text-decoration:none;font-size:14px;color:var(--mute);padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;transition:color .2s}
.l2-nav a:hover{color:var(--ink)}
.l2-cta{min-height:36px;padding:8px 16px;font-size:13px}
@media (max-width:860px){.l2-nav,.l2-cta{display:none}}
.l2-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:clamp(48px,9vh,110px);overflow:hidden}
.l2-ht{text-align:center;max-width:980px}
.l2-eye{font-size:15px;font-weight:600;color:var(--acct);margin:0 0 14px}
.l2-hero h1{font-size:clamp(46px,8vw,104px);line-height:1.02;letter-spacing:-.04em;font-weight:700;margin:0 auto;max-width:13ch}
.l2-sub{color:var(--mute);font-size:clamp(18px,2vw,22px);max-width:36em;margin:22px auto 0}
.l2-act{display:flex;justify-content:center;gap:16px 26px;flex-wrap:wrap;align-items:center;margin:30px 0 0}
.l2-act .tlink{color:var(--acct)}
.l2-media{margin:clamp(36px,6vh,64px) auto 0;width:100%;height:min(70vh,760px);overflow:hidden;border-radius:28px;will-change:transform}
.l2-media img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
@media (max-width:899px){.l2-hero{min-height:0}.l2-media{width:calc(100% - 40px);height:auto;aspect-ratio:4/5}}
.l2-facts{padding:clamp(64px,9vw,120px) 0;border-bottom:1px solid var(--line)}
.l2-facts dl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;text-align:center}
.l2-facts dd{margin:0;font-size:clamp(28px,4vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.l2-facts dt{color:var(--mute);margin-top:8px;font-size:15px}
@media (max-width:640px){.l2-facts dl{grid-template-columns:minmax(0,1fr)}}
.l2-narrow{max-width:820px}
.l2-about,.l2-svc,.l2-work,.l2-exp,.l2-contact{padding:clamp(80px,12vw,170px) 0}
.l2-about{text-align:center}
.l2-h2{font-size:clamp(38px,5.6vw,72px);letter-spacing:-.035em;line-height:1.04;margin-bottom:36px}
.l2-lu{font-size:clamp(24px,3vw,36px);line-height:1.3;font-weight:600;letter-spacing:-.02em;margin:0 0 24px}
.l2-p{color:var(--mute);font-size:19px}
.l2-about .chips{justify-content:center;margin-top:30px}
.l2-svc{background:var(--surf)}
.l2-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.l2-tile{background:var(--bg);border-radius:28px;padding:32px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.l2-tile.big{grid-row:span 2;background:var(--acc);color:var(--on)}
.l2-tile.big p{color:inherit;opacity:.85}
.l2-tile h3{font-size:26px;letter-spacing:-.02em;margin:auto 0 8px}
.l2-tile p{margin:0;color:var(--mute)}
.l2-n{font-size:14px;font-weight:600;opacity:.7}
@media (max-width:860px){.l2-bento{grid-template-columns:minmax(0,1fr)}.l2-tile.big{grid-row:auto}}
.l2-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.l2-card{position:relative;border-radius:28px;overflow:hidden;text-decoration:none;background:var(--surf);display:flex;flex-direction:column}
.l2-card .im{aspect-ratio:16/11;overflow:hidden}
.l2-card .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.l2-card:hover .im img{transform:scale(1.05)}
.l2-card .tx{padding:26px 28px 30px}
.l2-card span{font-size:14px;color:var(--acct);font-weight:600}
.l2-card h3{font-size:28px;letter-spacing:-.02em;margin:6px 0 8px}
.l2-card p{margin:0 0 16px;color:var(--mute)}
.l2-card b{color:var(--acct);font-weight:600}
@media (max-width:760px){.l2-cards{grid-template-columns:minmax(0,1fr)}}
.l2-x{background:var(--surf)}
.l2-x h2{letter-spacing:-.03em}
.l2-eg{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,6vw,96px)}
.l2-h3{font-size:24px;margin:0 0 18px}
.l2-edu{background:var(--surf);border-radius:28px;padding:32px;align-self:start}
.l2-cvb{margin-top:28px}
.l2 .btn.ghost{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink)}
@media (max-width:860px){.l2-eg{grid-template-columns:minmax(0,1fr)}}
.l2-q{padding:clamp(60px,9vw,120px) 0;border-block:1px solid var(--line)}
.l2-q .quotes{grid-template-columns:1fr;text-align:center;gap:56px}
.l2-q blockquote{font-family:var(--bf);font-weight:600;letter-spacing:-.02em;font-size:clamp(24px,3.2vw,40px)}
.l2-cc{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:start}
.l2-cf{background:var(--surf);border-radius:28px;padding:clamp(22px,4vw,40px)}
.l2 .f-field input,.l2 .f-field select,.l2 .f-field textarea{background:var(--bg)}
@media (max-width:860px){.l2-cc{grid-template-columns:minmax(0,1fr)}}
.l2 .foot{background:var(--bg)}
