.inner-page .site-header { position: absolute; }

.page-hero {
    position: relative;
    min-height: 760px;
    padding-top: 172px;
    padding-bottom: 86px;
    overflow: hidden;
    isolation: isolate;
}
.page-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image:
        linear-gradient(rgba(241,239,232,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(241,239,232,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, #000, transparent 96%);
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent 96%);
}
.page-hero-kicker { display: flex; align-items: center; gap: 11px; margin: 0; color: rgba(241,239,232,.58); font-size: 10px; }
.page-hero h1 { margin: 56px 0 0; font-size: clamp(94px, 17vw, 240px); line-height: .72; letter-spacing: -.085em; font-weight: 600; }
.page-hero-lead { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(50px, 8vw, 130px); align-items: end; margin-top: 96px; }
.page-hero-lead h2 { max-width: 820px; margin: 0; font-size: clamp(42px, 5.2vw, 76px); line-height: 1.02; letter-spacing: -.06em; }
.page-hero-lead h2 span { color: var(--acid); }
.page-hero-lead > div > p { max-width: 480px; margin: 0; color: rgba(241,239,232,.62); font-size: 16px; line-height: 1.8; }
.page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.page-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-width: 190px; padding: 15px 18px; border: 1px solid var(--line); font: 10px var(--mono); text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.page-button svg { width: 16px; }
.page-button:hover { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.page-button-secondary { min-width: 0; color: rgba(241,239,232,.66); }

.case-cover { padding-bottom: 120px; }
.case-cover-frame { position: relative; aspect-ratio: 16 / 10; border: 1px solid var(--line); overflow: hidden; background: #121212; }
.case-cover-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(11,12,14,.52)); pointer-events: none; }
.case-cover-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.case-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--line); }
.case-fact { min-height: 104px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-fact span { display: block; margin-bottom: 18px; color: rgba(241,239,232,.38); font: 8px var(--mono); text-transform: uppercase; }
.case-fact strong { font-size: 14px; font-weight: 500; }

.case-intro { padding: 115px 0 130px; display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(60px, 10vw, 160px); border-top: 1px solid var(--line); }
.case-intro-copy h2 { max-width: 960px; margin: 0; font-size: clamp(48px, 6.3vw, 92px); line-height: .96; letter-spacing: -.065em; }
.case-intro-copy h2 span { color: var(--acid); }
.case-intro-copy > p { max-width: 760px; margin: 38px 0 0; color: rgba(241,239,232,.58); font-size: 17px; line-height: 1.85; }

.case-context-detail { max-width: 900px; margin-top: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-context-detail summary { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; color: rgba(241,239,232,.82); font-size: 15px; line-height: 1.5; cursor: pointer; list-style: none; }
.case-context-detail summary::-webkit-details-marker { display: none; }
.case-context-detail summary:focus-visible { outline: 1px solid var(--acid); outline-offset: 6px; }
.case-context-detail-action { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; color: var(--acid); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.case-context-detail-action svg { width: 15px; height: 15px; transition: transform .25s ease; }
.case-context-detail[open] .case-context-detail-action svg { transform: rotate(180deg); }
.case-context-detail-body { padding: 8px 0 38px; }
.case-context-detail-body > .mono { color: var(--acid); font-size: 8px; letter-spacing: .08em; }
.case-context-detail-body h3 { max-width: 760px; margin: 20px 0 0; font-size: clamp(30px, 3.5vw, 48px); line-height: 1.05; letter-spacing: -.045em; font-weight: 500; }
.case-context-detail-body > p { max-width: 780px; margin: 24px 0 0; color: rgba(241,239,232,.58); font-size: 15px; line-height: 1.8; }
.case-context-compare { display: grid; grid-template-columns: 1fr 1fr; margin-top: 32px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-context-compare article { min-height: 190px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg, rgba(216,255,62,.025), transparent 58%); }
.case-context-compare article > .mono { color: var(--acid); font-size: 8px; letter-spacing: .08em; }
.case-context-compare article p { margin: 34px 0 0; color: rgba(241,239,232,.55); font-size: 13px; line-height: 1.75; }

.case-principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.case-principle { min-height: 330px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: linear-gradient(145deg, rgba(216,255,62,.025), transparent 55%); }
.case-principle .mono { color: var(--acid); font-size: 8px; }
.case-principle h3 { margin: auto 0 18px; font-size: clamp(28px, 3vw, 42px); line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }
.case-principle p { min-height: 76px; margin: 0; color: rgba(241,239,232,.52); font-size: 14px; line-height: 1.72; }

.case-highlights { width: 100%; max-width: none; padding: 130px max(40px, calc((100vw - 1320px) / 2)); background: var(--paper); color: var(--ink); }
.case-highlights-heading { display: flex; justify-content: space-between; gap: 60px; align-items: end; margin-bottom: 84px; }
.case-highlights-heading h2 { max-width: 850px; margin: 18px 0 0; font-size: clamp(45px, 5.6vw, 82px); line-height: .98; letter-spacing: -.06em; }
.case-highlights-heading h2 span { color: #738f00; }
.case-highlights-heading > p { max-width: 430px; margin: 0; color: rgba(11,12,14,.58); line-height: 1.75; }
.case-highlights .section-index { color: rgba(11,12,14,.46); }
.case-highlight { display: grid; grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr); gap: clamp(48px, 7vw, 104px); align-items: start; padding: 96px 0; border-top: 1px solid var(--line-dark); }
.case-highlight:last-child { padding-bottom: 0; }
.case-highlight-featured { grid-template-columns: 1fr; gap: 46px; }
.case-highlight-featured .case-highlight-copy { max-width: 820px; display: grid; grid-template-columns: .38fr 1fr; column-gap: 46px; }
.case-highlight-featured .case-highlight-copy h3,
.case-highlight-featured .case-highlight-copy p { grid-column: 2; }
.case-highlight-featured .case-highlight-copy .mono { grid-row: 1 / span 2; }
.case-highlight-reverse .case-highlight-copy { order: 2; }
.case-highlight-copy > .mono { display: block; margin: 3px 0 23px; color: #738f00; font-size: 9px; }
.case-highlight-copy h3 { margin: 0; font-size: clamp(34px, 4vw, 58px); line-height: 1; letter-spacing: -.055em; font-weight: 500; }
.case-highlight-copy p { margin: 30px 0 0; color: rgba(11,12,14,.62); font-size: 15px; line-height: 1.82; }
.case-highlight-media,
.case-highlight-media-grid { min-width: 0; }
.case-highlight-media { margin: 0; border: 1px solid var(--line-dark); background: #111; }
.case-highlight-media-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.case-highlight-media img { display: block; width: 100%; height: auto; }
.case-highlight-media figcaption { display: flex; justify-content: space-between; gap: 25px; min-height: 68px; align-items: center; padding: 15px 17px; background: var(--paper); border-top: 1px solid var(--line-dark); font-size: 12px; }
.case-highlight-media figcaption .mono { flex: 0 0 auto; color: rgba(11,12,14,.48); font-size: 8px; }
[data-case-zoom] { cursor: zoom-in; }
[data-case-zoom]:focus-visible { outline: 2px solid var(--acid); outline-offset: 4px; }
.case-lightbox-open { overflow: hidden; }
.case-lightbox { width: min(96vw, 1840px); max-width: none; max-height: 94svh; padding: 0; border: 1px solid rgba(241,239,232,.22); background: #0b0c0e; color: var(--paper); overflow: hidden; }
.case-lightbox:not([open]) { display: none; }
.case-lightbox::backdrop { background: rgba(4,5,6,.88); backdrop-filter: blur(10px); }
.case-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; width: 100%; height: 100%; max-height: 94svh; margin: 0; background: #0b0c0e; }
.case-lightbox img { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(94svh - 58px); margin: auto; object-fit: contain; }
.case-lightbox figcaption { min-height: 58px; display: flex; align-items: center; padding: 14px 62px 14px 18px; border-top: 1px solid rgba(241,239,232,.16); color: rgba(241,239,232,.68); font: 10px/1.5 var(--mono); text-transform: uppercase; }
.case-lightbox-close { position: absolute; z-index: 2; top: 10px; right: 10px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(241,239,232,.28); background: rgba(11,12,14,.84); color: var(--paper); cursor: pointer; }
.case-lightbox-close span { font-size: 28px; font-weight: 200; line-height: 1; transform: translateY(-1px); }
.case-lightbox-close:hover,
.case-lightbox-close:focus-visible { border-color: var(--acid); color: var(--acid); outline: none; }

.page-cta { padding: 125px 0 135px; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; }
.page-cta h2 { max-width: 930px; margin: 16px 0 0; font-size: clamp(52px, 6.8vw, 98px); line-height: .94; letter-spacing: -.07em; }
.page-cta h2 span { color: var(--acid); }
.page-cta .circle-link { width: 130px; height: 130px; }

.members-hero h1 { font-size: clamp(72px, 10vw, 146px); line-height: .84; }
.members-hero h1 span { color: var(--acid); }
.members-hero .page-hero-lead { margin-top: 78px; }
.members-hero .page-hero-lead h1 { margin: 0; }
.member-profile { padding: 100px 0 140px; border-top: 1px solid var(--line); }
.member-profile-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(55px, 10vw, 150px); margin-top: 45px; }
.member-portrait { min-height: 560px; display: grid; place-items: center; position: relative; overflow: hidden; border: 1px solid var(--line); background:
    linear-gradient(rgba(241,239,232,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(241,239,232,.045) 1px, transparent 1px),
    #101214;
    background-size: 48px 48px;
}
.member-portrait::before { content: "01"; position: absolute; inset: auto 20px 10px auto; color: rgba(241,239,232,.06); font: 800 180px/.9 var(--condensed); }
.member-portrait img { position: relative; z-index: 1; width: min(58%, 300px); height: auto; filter: drop-shadow(0 0 48px rgba(255,132,26,.16)); }
.member-details { align-self: center; }
.member-details .member-role { color: var(--acid); font: 9px var(--mono); text-transform: uppercase; }
.member-details h2 { margin: 22px 0 30px; font-size: clamp(58px, 7.5vw, 110px); line-height: .86; letter-spacing: -.075em; }
.member-details > p { max-width: 650px; margin: 0; color: rgba(241,239,232,.6); font-size: 17px; line-height: 1.85; }
.member-links { display: flex; gap: 12px; margin-top: 34px; }

.member-practice { width: 100%; max-width: none; padding: 130px max(40px, calc((100vw - 1320px) / 2)); background: var(--paper); color: var(--ink); }
.member-practice h2 { max-width: 880px; margin: 18px 0 58px; font-size: clamp(48px, 6vw, 86px); line-height: .98; letter-spacing: -.065em; }
.member-practice .section-index { color: rgba(11,12,14,.48); }
.practice-fields { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.practice-field { min-height: 300px; display: flex; flex-direction: column; padding: 26px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.practice-field .mono { font-size: 8px; color: rgba(11,12,14,.5); }
.practice-field h3 { margin: auto 0 16px; font-size: clamp(28px, 3vw, 41px); line-height: 1.05; letter-spacing: -.05em; font-weight: 500; }
.practice-field p { min-height: 70px; margin: 0; color: rgba(11,12,14,.6); font-size: 14px; line-height: 1.72; }

.inner-footer .footer-main { padding-top: 82px; }

@media (max-width: 900px) {
    .page-hero { min-height: 680px; padding-top: 148px; }
    .page-hero-lead { grid-template-columns: 1fr; gap: 30px; margin-top: 74px; }
    .page-hero-lead > div > p { max-width: 650px; }
    .case-facts { grid-template-columns: 1fr 1fr; }
    .case-intro { grid-template-columns: 1fr; gap: 35px; padding: 90px 0 100px; }
    .case-context-detail { max-width: none; }
    .case-principles { grid-template-columns: 1fr; }
    .case-principle { min-height: 250px; }
    .case-highlights { padding: 95px 20px; }
    .case-highlights-heading { flex-direction: column; align-items: flex-start; margin-bottom: 55px; }
    .case-highlight { grid-template-columns: 1fr; gap: 38px; padding: 72px 0; }
    .case-highlight-reverse .case-highlight-copy { order: 0; }
    .case-highlight-featured .case-highlight-copy { display: block; }
    .page-cta { grid-template-columns: 1fr; }
    .member-profile-grid { grid-template-columns: 1fr; }
    .member-portrait { min-height: 480px; }
    .member-practice { padding: 95px 20px; }
    .practice-fields { grid-template-columns: 1fr; }
    .practice-field { min-height: 230px; }
}

@media (max-width: 580px) {
    .page-hero { min-height: 630px; padding-top: 128px; padding-bottom: 70px; }
    .page-hero h1 { margin-top: 48px; font-size: clamp(80px, 29vw, 126px); }
    .members-hero h1 { font-size: clamp(54px, 17vw, 82px); }
    .page-hero-lead { margin-top: 64px; }
    .page-hero-lead h2 { font-size: 40px; }
    .page-hero-lead > div > p { font-size: 15px; }
    .case-cover { padding-bottom: 80px; }
    .case-facts { grid-template-columns: 1fr; }
    .case-fact { min-height: 88px; }
    .case-intro-copy h2 { font-size: 44px; }
    .case-context-detail { margin-top: 34px; }
    .case-context-detail summary { min-height: 74px; gap: 16px; font-size: 14px; }
    .case-context-detail-action span { display: none; }
    .case-context-detail-body { padding-bottom: 28px; }
    .case-context-detail-body h3 { font-size: 32px; }
    .case-context-compare { grid-template-columns: 1fr; }
    .case-context-compare article { min-height: 0; }
    .case-highlights-heading h2 { font-size: 43px; }
    .case-highlight { padding: 56px 0; }
    .case-highlight-copy h3 { font-size: 37px; }
    .case-highlight-copy p { margin-top: 23px; font-size: 14px; }
    .case-highlight-media-grid { grid-template-columns: 1fr; }
    .case-highlight-media figcaption { min-height: 62px; font-size: 11px; }
    .page-cta { padding: 90px 0 100px; }
    .page-cta h2 { font-size: 51px; }
    .page-cta .circle-link { width: 108px; height: 108px; }
    .member-profile { padding: 75px 0 95px; }
    .member-profile-grid { margin-top: 32px; }
    .member-portrait { min-height: 360px; }
    .member-details h2 { font-size: 64px; }
    .member-details > p { font-size: 15px; }
    .member-practice h2 { font-size: 43px; }
}
