
/* ============================================================
   RISK UNIVERSITY - Premium Consulting Design
   ============================================================ */

:root {
    --bg:        #faf9f6;
    --bg-2:      #f2f0ea;
    --bg-3:      #ebe8df;
    --paper:     #ffffff;
    --ink:       #161513;
    --ink-2:     #3a3833;
    --ink-3:     #6a6660;
    --ink-4:     #9a948c;
    --line:      #d8d4c9;
    --line-2:    #e8e5dc;
    --accent:    #7c1d2e;
    --accent-2:  #9a2438;
    --accent-3:  #5c1322;
    --dark:      #161513;
    --dark-2:    #0a0a09;
}

* { box-sizing:border-box; margin:0; padding:0; }
*::selection { background:var(--accent); color:var(--paper); }
html { scroll-behavior:smooth; font-size:16px; }
body {
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', -apple-system, sans-serif;
    font-feature-settings:"ss01","cv11";
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
    line-height:1.5;
}

img { max-width:100%; display:block; }

/* ============ NAV ============ */
nav {
    position:fixed; top:0; left:0; right:0; z-index:200;
    background:rgba(250,249,246,.92);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border-bottom:1px solid var(--line-2);
    transition:padding .3s ease;
}
.nav-inner {
    max-width:1480px; margin:0 auto;
    display:grid; grid-template-columns:auto 1fr auto auto;
    align-items:center; gap:2rem;
    padding:1.1rem 3rem;
}
.nb { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.nb-mark {
    width:38px; height:38px;
    background:var(--accent);
    display:flex; align-items:center; justify-content:center;
    color:var(--paper);
    font-family:'Source Serif 4', serif;
    font-weight:600; font-size:1.2rem;
    letter-spacing:-.02em;
    position:relative;
}
.nb-mark::after {
    content:''; position:absolute;
    bottom:-1px; left:-1px; right:-1px;
    height:1px; background:var(--accent-3);
}
.nb-text { display:flex; flex-direction:column; gap:2px; }
.nb-name {
    font-family:'Source Serif 4', serif;
    font-weight:600; font-size:1.02rem;
    color:var(--ink);
    letter-spacing:-.015em;
    line-height:1;
}
.nb-sub {
    font-family:'Inter', sans-serif;
    font-size:.6rem; font-weight:500;
    letter-spacing:.12em; text-transform:uppercase;
    color:var(--ink-3);
}
.nl {
    display:flex; gap:2.4rem; list-style:none;
    justify-self:center;
}
.nl a {
    font-family:'Inter', sans-serif;
    font-size:.78rem; font-weight:500;
    color:var(--ink-2); text-decoration:none;
    padding:.4rem 0; position:relative;
    transition:color .15s;
}
.nl a::after {
    content:''; position:absolute;
    bottom:0; left:0; height:1px;
    width:0; background:var(--accent);
    transition:width .25s ease;
}
.nl a:hover { color:var(--accent); }
.nl a:hover::after { width:100%; }
.nc {
    font-family:'Inter', sans-serif;
    font-size:.78rem; font-weight:500;
    color:var(--paper); background:var(--ink);
    padding:.75rem 1.5rem;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.5rem;
    transition:background .2s;
    border:1px solid var(--ink);
}
.nc::after {
    content:'\2197'; transition:transform .2s;
    font-size:.85rem; opacity:.7;
}
.nc:hover { background:var(--accent); border-color:var(--accent); }
.nc:hover::after { transform:translate(2px,-2px); opacity:1; }

.ham {
    display:none; flex-direction:column; gap:5px;
    background:none; border:none; padding:.5rem; cursor:pointer;
}
.ham span { display:block; width:24px; height:1.5px; background:var(--ink); }

.mob-menu {
    display:none; position:fixed; inset:0;
    background:var(--bg); z-index:199;
    flex-direction:column; align-items:flex-start;
    justify-content:center; padding:0 2rem; gap:1.8rem;
}
.mob-menu.open { display:flex; }
.mob-menu a {
    font-family:'Source Serif 4', serif;
    font-size:1.6rem; font-weight:500;
    color:var(--ink); text-decoration:none;
    letter-spacing:-.02em;
}
.mob-menu a:hover { color:var(--accent); }
.mob-close {
    position:absolute; top:1.2rem; right:1.5rem;
    font-size:1.5rem; color:var(--ink);
    background:none; border:none; cursor:pointer;
}

/* ============ HERO ============ */
.hero {
    padding-top:5rem;
    background:var(--bg);
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
}
.hero::before {
    content:''; position:absolute;
    top:5rem; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, var(--line), transparent);
}
.hero-inner {
    max-width:1480px; margin:0 auto;
    display:grid; grid-template-columns:1.25fr 1fr;
    min-height:calc(100vh - 5rem);
    position:relative;
}
.hero-text {
    padding:6rem 5rem 6rem 3rem;
    display:flex; flex-direction:column;
    justify-content:center;
    border-right:1px solid var(--line);
    position:relative;
}
.hero-meta {
    position:absolute; top:2rem; left:3rem;
    display:flex; align-items:center; gap:1.5rem;
}
.hero-meta-num {
    font-family:'Source Serif 4', serif;
    font-style:italic; font-weight:400;
    font-size:.9rem; color:var(--accent);
}
.hero-meta-sep {
    width:30px; height:1px; background:var(--line);
}
.hero-meta-label {
    font-family:'Inter', sans-serif;
    font-size:.62rem; font-weight:500;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--ink-3);
}
.hero-eyebrow {
    font-family:'Inter', sans-serif;
    font-size:.68rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--accent);
    margin-bottom:2.2rem;
    display:flex; align-items:center; gap:.7rem;
}
.hero-eyebrow::before {
    content:''; width:30px; height:1.5px;
    background:var(--accent);
}
h1 {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:clamp(2.8rem, 5.2vw, 5.4rem);
    line-height:1.02;
    letter-spacing:-.028em;
    color:var(--ink);
    margin-bottom:2rem;
    max-width:14ch;
}
h1.--ru {
    max-width:none;
    font-size:clamp(2.8rem, 5.2vw, 4.6rem);
}
h1 .acc {
    color:var(--accent);
    font-style:italic;
    font-weight:500;
}
.hero-lead {
    font-family:'Source Serif 4', serif;
    font-size:1.18rem;
    font-weight:400;
    line-height:1.6;
    color:var(--ink-2);
    max-width:34rem;
    margin-bottom:2.8rem;
}
.hero-cta {
    display:flex; gap:1.5rem; flex-wrap:wrap;
    margin-bottom:4rem;
    align-items:center;
}
.btn-primary {
    background:var(--ink); color:var(--paper);
    font-family:'Inter', sans-serif;
    font-size:.85rem; font-weight:500;
    padding:1rem 1.9rem;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.6rem;
    transition:background .2s, transform .15s;
    border:1px solid var(--ink);
}
.btn-primary::after { content:'\2192'; transition:transform .2s; }
.btn-primary:hover { background:var(--accent); border-color:var(--accent); transform:translateY(-1px); }
.btn-primary:hover::after { transform:translateX(4px); }

.btn-text {
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:.85rem; font-weight:500;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.5rem;
    padding:1rem 0;
    border-bottom:1.5px solid var(--ink);
    transition:color .15s, border-color .15s;
}
.btn-text:hover { color:var(--accent); border-bottom-color:var(--accent); }

.hero-stats {
    display:grid; grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
    padding-top:2rem;
    gap:2.5rem;
}
.hst-n {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:2.5rem;
    color:var(--ink);
    line-height:1; margin-bottom:.6rem;
    letter-spacing:-.025em;
}
.hst-n .small { font-size:1.4rem; color:var(--accent); }
.hst-l {
    font-family:'Inter', sans-serif;
    font-size:.78rem; font-weight:400;
    color:var(--ink-3);
    line-height:1.45;
    letter-spacing:.01em;
}

/* Hero photo */
.hero-photo {
    position:relative;
    background:var(--bg-2);
    overflow:hidden;
    display:flex; align-items:flex-end;
}
.hero-photo img {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    object-position:58% 22%;
    filter:contrast(1.02) saturate(.95);
}
.hero-photo::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(22,21,19,0) 70%, rgba(22,21,19,.25) 100%);
    z-index:1;
}
.hero-photo-card {
    position:absolute;
    bottom:2rem; left:2rem;
    z-index:2;
    background:var(--paper);
    padding:1.6rem 1.8rem;
    border-left:3px solid var(--accent);
    max-width:17rem;
    box-shadow:0 12px 30px rgba(22,21,19,.18);
}
.hpc-name {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.25rem;
    color:var(--ink);
    letter-spacing:-.015em;
    line-height:1.1;
    margin-bottom:.4rem;
}
.hpc-role {
    font-family:'Inter', sans-serif;
    font-size:.74rem; font-weight:500;
    color:var(--ink-2);
    letter-spacing:.02em;
    line-height:1.5;
}
.hpc-line {
    display:block;
    width:32px; height:1px;
    background:var(--accent);
    margin:.9rem 0;
}
.hpc-cred {
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:500;
    color:var(--ink-3);
    letter-spacing:.08em;
    text-transform:uppercase;
}


/* Cinematic photo treatment */
.hero-photo img {
    filter:contrast(1.02) saturate(.98);
    transition:filter .6s ease;
}
.hero-photo:hover img { filter:contrast(1.05) saturate(1.02); }

.about-photo {
    filter:contrast(1.04) saturate(.93);
    transition:filter .6s ease;
}
.about-photo-wrap:hover .about-photo {
    filter:contrast(1.08) saturate(1);
}

/* Subtle vertical stripe accent overlay on hero photo */
.hero-photo::after {
    content:'';
    position:absolute;
    top:0; left:0;
    width:4px; height:100%;
    background:var(--accent);
    z-index:3;
}

/* ============ CRED BAR ============ */
.cred-bar {
    background:var(--bg);
    padding:2.5rem 3rem;
    border-bottom:1px solid var(--line);
}
.cred-inner {
    max-width:1480px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:2rem;
}
.cred-label {
    font-family:'Inter', sans-serif;
    font-size:.68rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-3);
    flex-shrink:0;
    display:flex; align-items:center; gap:.8rem;
}
.cred-label::before {
    content:''; width:30px; height:1px; background:var(--ink-3);
}
.cred-marks {
    display:flex; align-items:center;
    gap:3.5rem; flex-wrap:wrap;
}
.cred-mark {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:1.05rem;
    color:var(--ink);
    letter-spacing:-.015em;
    position:relative;
}
.cred-mark::after {
    content:''; position:absolute;
    bottom:-3px; left:0; width:0; height:1px;
    background:var(--accent);
    transition:width .3s ease;
}
.cred-mark:hover::after { width:100%; }

/* ============ STATEMENT QUOTE ============ */
.statement {
    background:var(--ink); color:var(--paper);
    padding:8rem 3rem;
    position:relative;
    overflow:hidden;
}
.statement::before {
    content:'\201C';
    font-family:'Source Serif 4', serif;
    font-size:30rem;
    position:absolute;
    top:-2rem; left:2rem;
    color:var(--accent);
    opacity:.15;
    line-height:1;
    pointer-events:none;
}
.statement-inner {
    max-width:1100px; margin:0 auto;
    position:relative; z-index:1;
}
.statement-text {
    font-family:'Source Serif 4', serif;
    font-weight:400;
    font-size:clamp(1.6rem, 3vw, 2.8rem);
    line-height:1.3;
    letter-spacing:-.02em;
    color:var(--paper);
}
.statement-text .acc { color:var(--accent-2); font-style:italic; }
.statement-attr {
    margin-top:2.5rem;
    display:flex; align-items:center; gap:1rem;
    font-family:'Inter', sans-serif;
    font-size:.78rem;
    font-weight:500;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
}
.statement-attr::before {
    content:''; width:40px; height:1px;
    background:var(--accent-2);
}

/* ============ SHARED ============ */
.section {
    padding:7rem 3rem;
    border-bottom:1px solid var(--line);
    position:relative;
}
.section-inner { max-width:1480px; margin:0 auto; }

.eyebrow {
    font-family:'Inter', sans-serif;
    font-size:.68rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--accent);
    margin-bottom:1.4rem;
    display:flex; align-items:center; gap:.8rem;
}
.eyebrow::before {
    content:''; width:30px; height:1.5px;
    background:var(--accent);
}
.eyebrow .num {
    font-family:'Source Serif 4', serif;
    font-weight:500; font-style:italic;
    color:var(--ink);
    font-size:.95rem; letter-spacing:0;
    text-transform:none;
    margin-right:.3rem;
}

h2.sh {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:clamp(2.2rem, 3.6vw, 3.8rem);
    line-height:1.04;
    letter-spacing:-.025em;
    color:var(--ink);
    max-width:18ch;
}
h2.sh .acc { color:var(--accent); font-style:italic; }

/* ============ TRIGGERS ============ */
.section-triggers { background:var(--bg-2); }

.trig-grid {
    display:grid; grid-template-columns:.95fr 1.6fr;
    gap:6rem; align-items:flex-start;
}
.trig-left { position:sticky; top:7rem; }
.trig-left h2 { margin:0 0 1.4rem; }
.trig-sub {
    font-family:'Source Serif 4', serif;
    font-size:1.05rem;
    font-weight:400;
    font-style:italic;
    color:var(--ink-2);
    line-height:1.6;
    margin-bottom:2.2rem;
    max-width:24rem;
}

.trig-list {
    display:grid; grid-template-columns:1fr 1fr;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}
.trig-item {
    padding:2.2rem 2rem 2rem;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--paper);
    transition:background .25s, transform .25s;
    position:relative;
}
.trig-item::before {
    content:''; position:absolute;
    top:0; left:0; height:2px; width:0;
    background:var(--accent);
    transition:width .35s ease;
}
.trig-item:hover { background:var(--bg); }
.trig-item:hover::before { width:100%; }
.trig-n {
    font-family:'Source Serif 4', serif;
    font-weight:500; font-style:italic;
    font-size:1.4rem;
    color:var(--accent);
    letter-spacing:-.02em;
    margin-bottom:1rem;
    display:flex; align-items:center; gap:.7rem;
}
.trig-n::after {
    content:''; flex:1; height:1px;
    background:var(--line);
}
.trig-t {
    font-size:.93rem;
    font-weight:400;
    color:var(--ink-2);
    line-height:1.65;
}
.trig-t strong {
    color:var(--ink);
    font-weight:600;
    display:block;
    margin-bottom:.5rem;
    font-size:1.02rem;
    line-height:1.35;
    letter-spacing:-.01em;
    font-family:'Source Serif 4', serif;
}

/* ============ ABOUT ============ */
.section-about {
    background:var(--bg);
    padding:8rem 3rem;
}
.about-grid {
    display:grid; grid-template-columns:.85fr 1.15fr;
    gap:6rem;
    align-items:flex-start;
}
.about-photo-wrap {
    position:relative;
    position:sticky; top:7rem;
}
.about-photo {
    width:100%; aspect-ratio:3/4;
    object-fit:cover; object-position:top center;
    display:block;
}
.about-photo-tag {
    background:var(--ink); color:var(--paper);
    padding:1.4rem 1.6rem;
    display:flex; flex-direction:column; gap:.4rem;
}
.apt-name {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.2rem;
    letter-spacing:-.015em;
}
.apt-role {
    font-family:'Inter', sans-serif;
    font-size:.74rem; font-weight:500;
    color:rgba(255,255,255,.6);
    letter-spacing:.04em;
}
.apt-line {
    height:1px; background:rgba(255,255,255,.15);
    margin:.4rem 0;
}
.apt-cred {
    font-family:'Inter', sans-serif;
    font-size:.68rem; font-weight:500;
    letter-spacing:.08em; text-transform:uppercase;
    color:var(--accent-2);
}

.about-text {}
.about-text h2 { margin:.4rem 0 2rem; max-width:22ch; }
.about-body {
    font-family:'Source Serif 4', serif;
    font-size:1.1rem;
    font-weight:400;
    line-height:1.7;
    color:var(--ink-2);
    margin-bottom:2.5rem;
    max-width:42rem;
}
.about-body p + p { margin-top:1.4rem; }

.about-credentials {
    background:var(--bg-2);
    padding:2rem 2.2rem;
    border-left:3px solid var(--accent);
    margin:2.5rem 0;
}
.ac-label {
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent);
    margin-bottom:1rem;
}
.ac-list {
    display:grid; grid-template-columns:1fr 1fr;
    gap:.6rem 2rem;
}
.ac-item {
    font-family:'Source Serif 4', serif;
    font-size:1rem;
    color:var(--ink);
    line-height:1.5;
    display:flex; align-items:flex-start; gap:.7rem;
}
.ac-item::before {
    content:''; width:6px; height:6px;
    background:var(--accent);
    margin-top:.5rem;
    flex-shrink:0;
}

.cq {
    background:var(--paper);
    padding:2rem 2.2rem;
    border-left:3px solid var(--accent);
    margin:2.5rem 0;
    position:relative;
}
.cq::before {
    content:'\201C';
    font-family:'Source Serif 4', serif;
    font-size:5rem;
    color:var(--accent);
    position:absolute;
    top:-1rem; right:1.5rem;
    line-height:1; opacity:.2;
}
.cq-text {
    font-family:'Source Serif 4', serif;
    font-style:italic; font-weight:400;
    font-size:1.22rem;
    color:var(--ink);
    line-height:1.55;
    margin-bottom:1rem;
    position:relative; z-index:1;
}
.cq-attr {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase;
    color:var(--ink-3);
    display:flex; align-items:center; gap:.7rem;
}
.cq-attr::before {
    content:''; width:24px; height:1px;
    background:var(--accent);
}

.about-stats {
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);
    padding-top:2rem;
    gap:1.5rem;
}
.as-v {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:1.9rem;
    color:var(--ink);
    line-height:1; margin-bottom:.5rem;
    letter-spacing:-.02em;
}
.as-v .small { font-size:1.1rem; color:var(--accent); }
.as-l {
    font-family:'Inter', sans-serif;
    font-size:.74rem; font-weight:400;
    color:var(--ink-3);
    line-height:1.45;
}

/* ============ EXPERTISE ============ */
.section-exp { background:var(--bg-2); padding:8rem 3rem; }

.exp-hd {
    display:grid; grid-template-columns:1fr 1.1fr;
    gap:5rem; align-items:flex-end;
    padding-bottom:3.5rem;
    border-bottom:1px solid var(--line);
    margin-bottom:0;
}
.exp-intro {
    font-family:'Source Serif 4', serif;
    font-size:1.05rem;
    font-weight:400;
    font-style:italic;
    color:var(--ink-2);
    line-height:1.6;
    max-width:34rem;
    padding-bottom:.5rem;
}

.exp-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
}
.ec {
    padding:3rem 2.2rem 2.5rem;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--paper);
    transition:background .25s;
    position:relative;
}
.ec:nth-child(3n) { border-right:none; }
.ec:hover { background:var(--bg); }
.ec::before {
    content:''; position:absolute;
    top:0; left:0; right:0;
    height:2px; background:var(--accent);
    transform:scaleX(0); transform-origin:left;
    transition:transform .35s ease;
}
.ec:hover::before { transform:scaleX(1); }

.ec-head {
    display:flex; justify-content:space-between; align-items:flex-start;
    margin-bottom:1.8rem;
    padding-bottom:1.4rem;
    border-bottom:1px solid var(--line-2);
}
.ec-n {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-weight:500;
    font-size:1.6rem;
    color:var(--accent);
    letter-spacing:-.02em;
    line-height:1;
}
.ec-cat {
    font-family:'Inter', sans-serif;
    font-size:.62rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-3);
    padding-top:.4rem;
}
.ec-t {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.4rem;
    color:var(--ink);
    margin-bottom:1.1rem;
    line-height:1.2;
    letter-spacing:-.02em;
}
.ec-d {
    font-size:.93rem;
    font-weight:400;
    color:var(--ink-2);
    line-height:1.7;
}
.ec-pull {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.95rem;
    color:var(--accent);
    margin-top:1.2rem;
    padding-top:1.2rem;
    border-top:1px dashed var(--line);
    line-height:1.5;
}

.ec-feat {
    grid-column:1/-1;
    background:var(--ink); color:var(--paper);
    border-right:none; border-bottom:none;
    padding:4rem 3rem;
    display:grid; grid-template-columns:.9fr 1.6fr;
    gap:4rem; align-items:flex-start;
    position:relative;
}
.ec-feat:hover { background:var(--dark-2); }
.ec-feat::before { background:var(--accent); }
.ec-feat .ec-head { border-bottom-color:rgba(255,255,255,.1); padding-bottom:1.4rem; }
.ec-feat .ec-n { color:var(--paper); }
.ec-feat .ec-cat { color:var(--ink-4); }
.ec-feat .ec-t {
    color:var(--paper);
    font-size:1.8rem;
    max-width:18ch;
    margin-bottom:0;
}
.ec-feat .ec-d {
    color:rgba(255,255,255,.78);
    font-size:1.05rem; line-height:1.7;
    max-width:42rem;
}
.ec-pills {
    display:flex; gap:.5rem; flex-wrap:wrap;
    margin-top:1.8rem;
}
.ep {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:500;
    letter-spacing:.06em;
    color:var(--paper);
    border:1px solid rgba(255,255,255,.25);
    padding:.45rem 1rem;
    background:rgba(255,255,255,.04);
}

/* ============ METHOD ============ */
.section-method {
    background:var(--bg);
    padding:8rem 3rem;
}
.method-grid {
    display:grid; grid-template-columns:.95fr 1.2fr;
    gap:6rem; align-items:flex-start;
}
.method-l { position:sticky; top:7rem; }
.method-l h2 { margin:.4rem 0 1.6rem; max-width:14ch; }
.method-body {
    font-family:'Source Serif 4', serif;
    font-size:1.05rem;
    font-weight:400;
    font-style:italic;
    color:var(--ink-2);
    line-height:1.65;
    max-width:28rem;
    margin-bottom:2.5rem;
}
.method-l .btn-primary { display:inline-flex; }

.steps {
    border-top:1px solid var(--line);
}
.step {
    display:grid; grid-template-columns:auto 1fr auto;
    gap:2.5rem; align-items:flex-start;
    padding:2.4rem 0;
    border-bottom:1px solid var(--line);
    position:relative;
    transition:padding-left .3s ease;
}
.step:hover { padding-left:1rem; }
.step:hover .step-bar { width:3rem; }
.step-n {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-weight:500;
    font-size:1.7rem;
    color:var(--accent);
    line-height:1;
    width:3rem;
    letter-spacing:-.02em;
}
.step-content {}
.step-t {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.25rem;
    color:var(--ink);
    margin-bottom:.6rem;
    letter-spacing:-.015em;
}
.step-d {
    font-size:.94rem;
    font-weight:400;
    color:var(--ink-2);
    line-height:1.65;
    max-width:38rem;
}
.step-time {
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    color:var(--ink-3);
    white-space:nowrap;
    padding-top:.5rem;
}
.step-bar {
    position:absolute;
    left:0; top:50%;
    width:0; height:2px;
    background:var(--accent);
    transition:width .3s ease;
}

/* ============ DELIVERABLES ============ */
.section-deliv {
    background:var(--ink); color:var(--paper);
    border-bottom:none;
    padding:7rem 3rem;
    position:relative;
    overflow:hidden;
}
.section-deliv::before {
    content:'OUTPUTS';
    font-family:'Source Serif 4', serif;
    font-style:italic; font-weight:400;
    font-size:18rem;
    position:absolute;
    bottom:-3rem; right:-2rem;
    color:rgba(255,255,255,.025);
    letter-spacing:-.03em;
    pointer-events:none;
    white-space:nowrap;
}
.deliv-inner { max-width:1480px; margin:0 auto; position:relative; z-index:1; }
.deliv-hd {
    display:grid; grid-template-columns:1fr 1fr;
    gap:5rem; align-items:flex-end;
    padding-bottom:3rem;
    border-bottom:1px solid rgba(255,255,255,.15);
    margin-bottom:0;
}
.deliv-hd .eyebrow { color:var(--accent-2); }
.deliv-hd .eyebrow::before { background:var(--accent-2); }
.deliv-hd .eyebrow .num { color:var(--paper); }
.deliv-hd h2 { color:var(--paper); margin:0; max-width:14ch; }
.deliv-hd-r {
    font-family:'Source Serif 4', serif;
    font-size:1.05rem;
    font-style:italic;
    font-weight:400;
    color:rgba(255,255,255,.7);
    line-height:1.65;
    padding-bottom:.5rem;
}

.deliv-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
}
.di {
    padding:2.8rem 1.8rem;
    border-right:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
    position:relative;
    transition:background .3s;
}
.di:last-child { border-right:none; }
.di:hover { background:rgba(255,255,255,.025); }
.di-num {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-weight:500;
    font-size:1.4rem;
    color:var(--accent-2);
    margin-bottom:.4rem;
    letter-spacing:-.02em;
    line-height:1;
}
.di-label {
    font-family:'Inter', sans-serif;
    font-size:.62rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-4);
    margin-bottom:1.5rem;
}
.di-t {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.25rem;
    color:var(--paper);
    margin-bottom:1rem;
    letter-spacing:-.015em;
    line-height:1.2;
}
.di-d {
    font-size:.9rem;
    font-weight:400;
    color:rgba(255,255,255,.65);
    line-height:1.65;
}

/* ============ PROOF ============ */
.section-proof { background:var(--bg-2); padding:8rem 3rem; }
.proof-hd {
    display:grid; grid-template-columns:1fr 1fr;
    gap:5rem; align-items:flex-end;
    padding-bottom:3.5rem;
    border-bottom:1px solid var(--line);
    margin-bottom:3.5rem;
}
.proof-hd h2 { margin:.4rem 0 0; }
.proof-note {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.96rem;
    font-weight:400;
    color:var(--ink-3);
    line-height:1.6;
    padding-bottom:.5rem;
    max-width:32rem;
}

.cases {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:2rem;
}
.case {
    background:var(--paper);
    border-top:2px solid var(--accent);
    padding:2.8rem 2.2rem;
    display:flex; flex-direction:column; gap:1.5rem;
    transition:transform .25s, box-shadow .25s;
}
.case:hover {
    transform:translateY(-4px);
    box-shadow:0 16px 40px rgba(22,21,19,.08);
}
.cs-head {
    display:flex; justify-content:space-between; align-items:flex-start;
    padding-bottom:1.4rem;
    border-bottom:1px solid var(--line);
}
.cs-num {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-weight:500;
    font-size:.95rem;
    color:var(--accent);
}
.cs {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:600;
    letter-spacing:.14em; text-transform:uppercase;
    color:var(--ink-2);
    text-align:right;
    line-height:1.5;
}
.csit {
    font-family:'Source Serif 4', serif;
    font-weight:400;
    font-size:.98rem;
    color:var(--ink-2);
    line-height:1.7;
    padding-bottom:1.6rem;
    border-bottom:1px solid var(--line);
}
.crs { display:flex; flex-direction:column; gap:1.2rem; }
.cr {
    display:grid; grid-template-columns:auto 1fr;
    gap:1.2rem; align-items:baseline;
}
.cn {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.85rem;
    color:var(--ink);
    line-height:1;
    letter-spacing:-.025em;
    min-width:3.5rem;
}
.cn .small {
    font-size:1rem; color:var(--accent);
    font-style:italic;
    font-weight:500;
}
.cd {
    font-size:.86rem;
    font-weight:400;
    color:var(--ink-2);
    line-height:1.55;
}
.cf {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:500;
    letter-spacing:.08em;
    color:var(--ink-3);
    margin-top:auto;
    padding-top:1.6rem;
    border-top:1px solid var(--line-2);
    text-transform:uppercase;
    display:flex; align-items:center; gap:.7rem;
}
.cf::before {
    content:''; width:20px; height:1px;
    background:var(--accent);
}

/* ============ INSIGHTS ============ */
.section-insights { background:var(--bg); padding:8rem 3rem; }
.ins-hd {
    display:grid; grid-template-columns:1fr 1fr;
    gap:5rem; align-items:flex-end;
    padding-bottom:3.5rem;
    border-bottom:1px solid var(--line);
    margin-bottom:3.5rem;
}
.ins-hd h2 { margin:.4rem 0 0; }
.tags-row {
    display:flex; gap:.5rem; flex-wrap:wrap;
    padding-bottom:.5rem;
}
button.tag {
    font-family:'Inter', sans-serif;
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.04em;
    color:var(--ink-2);
    border:1px solid var(--line);
    background:transparent;
    padding:.5rem .95rem;
    transition:color .15s, background .15s, border-color .15s;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none;
    margin:0;
    line-height:inherit;
}
button.tag:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:2px;
}
button.tag.on, button.tag:hover {
    color:var(--paper); background:var(--ink); border-color:var(--ink);
}

.posts {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:1.8rem;
}
.posts .post:nth-child(4),
.posts .post:nth-child(5) {
    /* 4th and 5th cards in row 2 -- they will be 1/3 width each, with empty slot,
       but to balance visually, make them span 1.5 each */
}
@media (min-width:961px) {
    .posts {
        grid-template-columns:repeat(6,1fr);
    }
    .posts .post:nth-child(1),
    .posts .post:nth-child(2),
    .posts .post:nth-child(3) {
        grid-column:span 2;
    }
    .posts .post:nth-child(4),
    .posts .post:nth-child(5) {
        grid-column:span 3;
    }
}
.post {
    background:var(--paper);
    padding:2.6rem 2.2rem;
    display:flex; flex-direction:column; gap:1.1rem;
    border:1px solid var(--line-2);
    transition:transform .2s, border-color .2s, box-shadow .2s;
    position:relative;
}
.post:hover {
    transform:translateY(-4px);
    border-color:var(--accent);
    box-shadow:0 12px 32px rgba(124,29,46,.08);
}
.pc-head {
    display:flex; justify-content:space-between; align-items:center;
    padding-bottom:1.2rem;
    border-bottom:1px solid var(--line-2);
}
.pc {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    align-items:center;
}
.pc span {
    font-family:'Inter', sans-serif;
    font-size:.66rem;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--accent);
}
.p-num {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.85rem;
    color:var(--ink-3);
}
.pt {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.4rem;
    color:var(--ink);
    line-height:1.2;
    letter-spacing:-.02em;
}
.px {
    font-size:.93rem;
    font-weight:400;
    line-height:1.7;
    color:var(--ink-2);
    flex:1;
}
.pf {
    font-family:'Inter', sans-serif;
    font-size:.74rem;
    font-weight:500;
    color:var(--ink-2);
    display:flex; justify-content:space-between; align-items:center;
    border-top:1px solid var(--line-2);
    padding-top:1.2rem; margin-top:auto;
}
.pa {
    color:var(--accent);
    font-size:1.1rem;
    transition:transform .2s;
}
.post:hover .pa { transform:translateX(5px); }


/* Post cards as links */
a.post { text-decoration:none; color:inherit; }
a.post:hover { text-decoration:none; }
.posts a.post.ins-filter-hidden {
    display:none !important;
}


/* Conference photo card */
.media-card.media-card-photo {
    padding:0;
    overflow:hidden;
    background:var(--ink);
    color:var(--paper);
    border:1px solid var(--ink);
    position:relative;
}
.media-card-photo:hover { border-color:var(--accent); }
.mcp-img {
    width:100%; aspect-ratio:1/1; object-fit:cover;
    display:block;
    filter:contrast(1.02) saturate(.95);
    transition:filter .4s ease;
}
.media-card-photo:hover .mcp-img { filter:contrast(1.06) saturate(1.05); }
.mcp-content {
    padding:1.8rem 1.8rem 2rem;
    display:flex; flex-direction:column; gap:.7rem;
}
.mcp-type {
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent-2);
    display:flex; align-items:center; gap:.6rem;
}
.mcp-type::before {
    content:''; width:24px; height:1.5px; background:var(--accent-2);
}
.mcp-title {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.2rem;
    color:var(--paper);
    line-height:1.25;
    letter-spacing:-.015em;
}
.mcp-platform {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.92rem;
    color:rgba(255,255,255,.65);
    margin-top:-.3rem;
}
.mcp-date {
    font-family:'Inter', sans-serif;
    font-size:.7rem;
    font-weight:500;
    color:rgba(255,255,255,.5);
    margin-top:.3rem;
    letter-spacing:.04em;
}

/* ============ CTA ============ */
.section-cta {
    display:grid; grid-template-columns:1fr 1fr;
    border-bottom:none;
    padding:0;
    background:var(--ink);
}
.cta-l {
    background:var(--accent);
    color:var(--paper);
    padding:7rem 4rem;
    display:flex; flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
}
.cta-l-meta {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    color:rgba(255,255,255,.65);
    margin-bottom:1.2rem;
    display:flex; align-items:center; gap:.8rem;
}
.cta-l-meta::before {
    content:''; width:30px; height:1.5px;
    background:rgba(255,255,255,.65);
}
.cta-l-num {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    color:rgba(255,255,255,.85);
    font-size:.95rem;
    margin-right:.4rem;
}
.cta-l h2 {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:clamp(2.6rem, 4.4vw, 4.5rem);
    line-height:1.0;
    color:var(--paper);
    letter-spacing:-.028em;
    max-width:14ch;
    position:relative; z-index:1;
}
.cta-l h2 .ital { font-style:italic; color:var(--ink); }
.cta-l-bottom {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:1rem;
    color:rgba(255,255,255,.75);
    margin-top:auto;
    padding-top:3rem;
    max-width:24rem;
    line-height:1.6;
}

.cta-r {
    padding:7rem 4rem;
    display:flex; flex-direction:column;
    justify-content:center; gap:1.8rem;
    background:var(--ink);
    color:var(--paper);
}
.cta-r .eyebrow { color:var(--accent-2); }
.cta-r .eyebrow::before { background:var(--accent-2); }
.cta-r .eyebrow .num { color:var(--paper); }
.cta-r h3 {
    font-family:'Source Serif 4', serif;
    font-weight:500;
    font-size:1.8rem;
    line-height:1.2;
    color:var(--paper);
    letter-spacing:-.02em;
    margin-bottom:.5rem;
    max-width:18ch;
}
.cta-sub {
    font-size:1rem;
    font-weight:400;
    color:rgba(255,255,255,.7);
    line-height:1.7;
    max-width:30rem;
}
.cta-actions {
    display:flex; flex-direction:column;
    gap:.85rem; align-items:flex-start;
    margin-top:.5rem;
}
.btn-light {
    background:var(--paper); color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:.85rem; font-weight:500;
    padding:1rem 1.9rem;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.6rem;
    transition:all .2s;
    border:1px solid var(--paper);
}
.btn-light::after { content:'\2192'; transition:transform .2s; }
.btn-light:hover { background:var(--accent); color:var(--paper); border-color:var(--accent); transform:translateY(-1px); }
.btn-light:hover::after { transform:translateX(4px); }

.btn-light-text {
    color:var(--paper);
    font-family:'Inter', sans-serif;
    font-size:.85rem; font-weight:500;
    text-decoration:none;
    border-bottom:1.5px solid var(--paper);
    padding:.4rem 0;
    display:inline-flex; align-items:center; gap:.5rem;
    transition:color .15s, border-color .15s;
}
.btn-light-text:hover { color:var(--accent-2); border-bottom-color:var(--accent-2); }

.tg-link {
    font-family:'Inter', sans-serif;
    font-size:.78rem; font-weight:400;
    color:rgba(255,255,255,.55);
    text-decoration:none;
    margin-top:1rem;
    display:inline-flex; align-items:center; gap:.5rem;
    transition:color .15s;
}
.tg-link:hover { color:var(--accent-2); }

/* ============ FOOTER ============ */
footer {
    background:var(--dark-2);
    color:var(--paper);
    padding:0;
}
.foot-philosophy {
    padding:5rem 3rem;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.fp-inner {
    max-width:1480px; margin:0 auto;
    display:grid; grid-template-columns:1fr 2fr;
    gap:5rem; align-items:flex-start;
}
.fp-label {
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    color:var(--accent-2);
    display:flex; align-items:center; gap:.7rem;
}
.fp-label::before {
    content:''; width:30px; height:1.5px; background:var(--accent-2);
}
.fp-text {
    font-family:'Source Serif 4', serif;
    font-weight:400;
    font-style:italic;
    font-size:1.45rem;
    line-height:1.5;
    color:rgba(255,255,255,.85);
    max-width:42rem;
    letter-spacing:-.01em;
}
.fp-text strong { color:var(--paper); font-weight:500; font-style:normal; }

.foot-main {
    padding:3rem;
}
.fm-inner { max-width:1480px; margin:0 auto; }
.ft {
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:2.2rem;
    border-bottom:1px solid rgba(255,255,255,.1);
    flex-wrap:wrap; gap:2rem;
}
.fl { display:flex; gap:2rem; list-style:none; flex-wrap:wrap; }
.fl a {
    font-family:'Inter', sans-serif;
    font-size:.8rem;
    font-weight:400;
    color:rgba(255,255,255,.6);
    text-decoration:none;
    transition:color .15s;
}
.fl a:hover { color:var(--paper); }
.fb2 {
    display:flex; justify-content:space-between; align-items:center;
    padding-top:2rem; flex-wrap:wrap; gap:1rem;
}
.fcp {
    font-family:'Inter', sans-serif;
    font-size:.74rem; font-weight:400;
    color:rgba(255,255,255,.4);
}
.ftg {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.95rem;
    color:rgba(255,255,255,.5);
}


/* ============ LANGUAGE TOGGLE ============ */
.lang-toggle {
    display:flex; align-items:center; gap:.4rem;
    font-family:'Inter', sans-serif;
    font-size:.72rem; font-weight:500;
    letter-spacing:.04em;
    margin-right:1rem;
}
.lang-btn {
    background:none; border:none;
    color:var(--ink-3);
    cursor:pointer; padding:.4rem .55rem;
    font-family:inherit; font-size:inherit; font-weight:500;
    letter-spacing:.04em;
    transition:color .15s;
    border-bottom:1px solid transparent;
}
.lang-btn.active { color:var(--accent); border-bottom-color:var(--accent); }
.lang-btn:hover { color:var(--ink); }
.lang-sep { color:var(--ink-4); }


.hpc-reach {
    margin-top:.7rem;
    padding-top:.7rem;
    border-top:1px solid var(--line-2);
    font-family:'Inter', sans-serif;
    font-size:.66rem;
    font-weight:500;
    color:var(--ink-2);
    line-height:1.45;
    letter-spacing:.01em;
}

/* Hero photo card with LinkedIn link */
.hpc-linkedin {
    display:flex; align-items:center; gap:.5rem;
    margin-top:.9rem;
    font-family:'Inter', sans-serif;
    font-size:.72rem; font-weight:500;
    color:var(--accent);
    text-decoration:none;
    padding-top:.9rem;
    border-top:1px solid var(--line-2);
    transition:color .15s;
}
.hpc-linkedin:hover { color:var(--accent-3); }
.hpc-linkedin svg { width:14px; height:14px; flex-shrink:0; }

/* ============ COMMUNITY SECTION ============ */
.community {
    background:var(--ink); color:var(--paper);
    padding:7rem 3rem;
    border-bottom:none;
    position:relative;
    overflow:hidden;
}
.community::before {
    content:'PRIVATE';
    font-family:'Source Serif 4', serif;
    font-style:italic; font-weight:400;
    font-size:18rem;
    position:absolute;
    top:-3rem; right:-2rem;
    color:rgba(255,255,255,.025);
    letter-spacing:-.03em;
    pointer-events:none;
    line-height:1;
}
.community-inner {
    max-width:1480px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1.3fr;
    gap:5rem; align-items:center;
    position:relative; z-index:1;
}
.community .eyebrow { color:var(--accent-2); }
.community .eyebrow::before { background:var(--accent-2); }
.community .eyebrow .num { color:var(--paper); }
.community h2 { color:var(--paper); margin:.4rem 0 1.6rem; max-width:14ch; }
.community h2.--ru { max-width:none; }
.community h2 .acc { color:var(--accent-2); font-style:italic; }
.community-text {
    font-family:'Source Serif 4', serif;
    font-size:1.1rem;
    font-weight:400;
    font-style:italic;
    color:rgba(255,255,255,.78);
    line-height:1.65;
    margin-bottom:1.8rem;
    max-width:36rem;
}
.community-features {
    display:grid; grid-template-columns:1fr 1fr;
    gap:1px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.1);
    margin-bottom:2.2rem;
}
.cf-item {
    background:var(--ink);
    padding:1.4rem 1.6rem;
    transition:background .2s;
}
.cf-item:hover { background:rgba(255,255,255,.03); }
.cf-label {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-weight:500;
    font-size:.95rem;
    color:var(--accent-2);
    margin-bottom:.4rem;
}
.cf-text {
    font-size:.86rem;
    font-weight:400;
    color:rgba(255,255,255,.7);
    line-height:1.55;
}
.community-audience {
    font-family:'Inter', sans-serif;
    font-size:.68rem; font-weight:600;
    letter-spacing:.14em; text-transform:uppercase;
    color:rgba(255,255,255,.55);
    margin-bottom:.6rem;
    display:flex; align-items:center; gap:.7rem;
}
.community-audience::before {
    content:''; width:30px; height:1px;
    background:rgba(255,255,255,.4);
}
.community-aud-list {
    display:flex; flex-wrap:wrap; gap:.5rem;
    margin-bottom:2.5rem;
}
.aud-chip {
    font-family:'Inter', sans-serif;
    font-size:.74rem; font-weight:500;
    letter-spacing:.02em;
    color:var(--paper);
    border:1px solid rgba(255,255,255,.25);
    padding:.45rem 1rem;
    background:rgba(255,255,255,.03);
}
.community-cta {
    display:flex; gap:1rem; align-items:center; flex-wrap:wrap;
}
.btn-tg {
    background:var(--accent-2); color:var(--paper);
    font-family:'Inter', sans-serif;
    font-size:.85rem; font-weight:500;
    padding:1rem 1.9rem;
    text-decoration:none;
    display:inline-flex; align-items:center; gap:.6rem;
    transition:background .2s, transform .15s;
    border:1px solid var(--accent-2);
}
.btn-tg::after { content:'\2192'; transition:transform .2s; }
.btn-tg:hover { background:var(--accent-3); border-color:var(--accent-3); transform:translateY(-1px); }
.btn-tg:hover::after { transform:translateX(4px); }
.community-note {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.92rem;
    color:rgba(255,255,255,.5);
}

@media(max-width:960px){
    .community { padding:5rem 1.5rem; }
    .community-inner { grid-template-columns:1fr; gap:2.5rem; }
    .community-features { grid-template-columns:1fr; }
}


/* Hero primary CTA emphasized in accent */
.hero-cta .btn-primary {
    background:var(--accent);
    border-color:var(--accent);
}
.hero-cta .btn-primary:hover {
    background:var(--accent-3);
    border-color:var(--accent-3);
}


/* ============ FEATURED APPEARANCES ============ */
.section-media {
    background:var(--bg);
    padding:7rem 3rem;
    border-bottom:1px solid var(--line);
}
.media-inner { max-width:1480px; margin:0 auto; }
.media-hd {
    display:grid; grid-template-columns:1fr 1fr;
    gap:5rem; align-items:flex-end;
    padding-bottom:3rem;
    border-bottom:1px solid var(--line);
    margin-bottom:3rem;
}
.media-hd h2 { margin:.4rem 0 0; max-width:18ch; }
.media-hd h2.--ru { max-width:none; }
.media-intro {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:1.05rem;
    font-weight:400;
    color:var(--ink-2);
    line-height:1.6;
    padding-bottom:.5rem;
    max-width:32rem;
}

.media-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:1.8rem;
}

.media-card {
    background:var(--paper);
    border:1px solid var(--line-2);
    padding:2.4rem 2rem;
    display:flex; flex-direction:column; gap:1.2rem;
    transition:transform .25s, border-color .25s, box-shadow .25s;
    text-decoration:none;
    color:inherit;
    position:relative;
}
.media-card:hover {
    transform:translateY(-4px);
    border-color:var(--accent);
    box-shadow:0 12px 30px rgba(124,29,46,.08);
}

.media-card-featured {
    background:var(--ink); color:var(--paper);
    border-color:var(--ink);
}
.media-card-featured:hover {
    border-color:var(--accent);
    box-shadow:0 16px 40px rgba(22,21,19,.25);
}

.mc-type {
    display:flex; align-items:center; gap:.6rem;
    font-family:'Inter', sans-serif;
    font-size:.66rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:var(--accent);
}
.mc-type::before {
    content:''; width:24px; height:1.5px; background:var(--accent);
}
.media-card-featured .mc-type { color:var(--accent-2); }
.media-card-featured .mc-type::before { background:var(--accent-2); }

.mc-platform {
    font-family:'Inter', sans-serif;
    font-size:.7rem; font-weight:500;
    color:var(--ink-3);
    letter-spacing:.04em;
}
.media-card-featured .mc-platform { color:rgba(255,255,255,.55); }

.mc-title {
    font-family:'Source Serif 4', serif;
    font-weight:600;
    font-size:1.25rem;
    color:var(--ink);
    line-height:1.25;
    letter-spacing:-.015em;
}
.media-card-featured .mc-title { color:var(--paper); }
.media-card-featured .mc-title.large { font-size:1.55rem; }

.mc-desc {
    font-size:.88rem;
    font-weight:400;
    line-height:1.65;
    color:var(--ink-2);
    flex:1;
}
.media-card-featured .mc-desc { color:rgba(255,255,255,.7); }

.mc-meta {
    display:flex; justify-content:space-between; align-items:center;
    font-family:'Inter', sans-serif;
    font-size:.7rem;
    font-weight:500;
    color:var(--ink-3);
    border-top:1px solid var(--line-2);
    padding-top:1.1rem;
    margin-top:auto;
    letter-spacing:.02em;
}
.media-card-featured .mc-meta {
    color:rgba(255,255,255,.55);
    border-top-color:rgba(255,255,255,.1);
}
.mc-arrow {
    color:var(--accent);
    font-size:1.05rem;
    transition:transform .2s;
}
.media-card:hover .mc-arrow { transform:translateX(4px); }

.mc-host {
    font-family:'Source Serif 4', serif;
    font-style:italic;
    font-size:.92rem;
    color:var(--accent-2);
}

@media(max-width:960px){
    .section-media { padding:5rem 1.5rem; }
    .media-hd { grid-template-columns:1fr; gap:1.5rem; }
    .media-grid { grid-template-columns:1fr; }
}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px) {
    .hero-text { padding:5rem 3rem 4rem 2.5rem; }
    .hero-meta { left:2.5rem; }
}
@media (max-width:960px) {
    .nav-inner { grid-template-columns:1fr auto auto; padding:1rem 1.5rem; gap:0; }
    .nl { display:none; }
    .nc { display:none; }
    .ham { display:flex; }

    .hero-inner { grid-template-columns:1fr; min-height:auto; }
    .hero-text { padding:5rem 1.5rem 3.5rem; border-right:none; border-bottom:1px solid var(--line); }
    .hero-meta { left:1.5rem; top:5.5rem; }
    .hero-photo {
        aspect-ratio:auto;
        min-height:auto;
        height:auto;
        display:block;
        position:relative;
    }
    .hero-photo img {
        position:relative;
        width:100%;
        height:auto;
        aspect-ratio:3/4;
        object-fit:cover;
        object-position:75% 25%;
    }
    .hero-photo::before { display:none; }
    .hero-photo-card {
        position:relative;
        bottom:auto; left:auto;
        margin:0;
        max-width:100%;
        padding:1.6rem 1.8rem 1.8rem;
        box-shadow:none;
        border-top:none;
        border-bottom:1px solid var(--line);
    }
    .hero-stats { gap:1rem; }
    .hst-n { font-size:1.9rem; }

    .cred-bar { padding:2rem 1.5rem; }
    .cred-marks { gap:1.8rem; }
    .cred-mark { font-size:.95rem; }

    .statement { padding:5rem 1.5rem; }
    .statement::before { font-size:18rem; }

    .section { padding:5rem 1.5rem; }
    .section-deliv { padding:5rem 1.5rem; }
    .section-about, .section-exp, .section-method, .section-proof, .section-insights { padding:5rem 1.5rem; }

    .trig-grid { grid-template-columns:1fr; gap:3rem; }
    .trig-left { position:static; }
    .trig-list { grid-template-columns:1fr; }

    .about-grid { grid-template-columns:1fr; gap:3rem; }
    .about-photo-wrap { position:static; }
    .ac-list { grid-template-columns:1fr; }
    .about-stats { grid-template-columns:1fr 1fr; }

    .exp-hd { grid-template-columns:1fr; gap:1.5rem; padding-bottom:2rem; }
    .exp-grid { grid-template-columns:1fr; }
    .ec { border-right:none; }
    .ec-feat { grid-template-columns:1fr; gap:1.5rem; padding:3rem 2rem; }

    .method-grid { grid-template-columns:1fr; gap:3rem; }
    .method-l { position:static; }
    .step { grid-template-columns:auto 1fr; gap:1.5rem; }
    .step-time { grid-column:2; padding-top:0; }

    .deliv-hd { grid-template-columns:1fr; gap:1.5rem; }
    .deliv-grid { grid-template-columns:1fr 1fr; }

    .proof-hd { grid-template-columns:1fr; gap:1.5rem; }
    .cases { grid-template-columns:1fr; }

    .ins-hd { grid-template-columns:1fr; gap:1.5rem; }
    .posts { grid-template-columns:1fr; }

    .section-cta { grid-template-columns:1fr; }
    .cta-l { padding:5rem 1.5rem; }
    .cta-r { padding:5rem 1.5rem; }

    .foot-philosophy { padding:4rem 1.5rem; }
    .fp-inner { grid-template-columns:1fr; gap:1.5rem; }
    .foot-main { padding:3rem 1.5rem; }
}

@media (max-width:640px) {
    .deliv-grid { grid-template-columns:1fr; }
}