:root {
    --hq-black: #060708;
    --hq-ink: #111316;
    --hq-charcoal: #171a1e;
    --hq-ivory: #eee6d8;
    --hq-paper: #e8dfd0;
    --hq-muted: #aca396;
    --hq-gold: #c9a85b;
    --hq-gold-bright: #dfc176;
    --hq-gutter: clamp(24px, 5vw, 84px);
    --hq-serif: Georgia, 'Times New Roman', serif;
    --hq-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; }
body.hq-cinematic-page { margin: 0; background: var(--hq-black); color: var(--hq-ivory); font-family: var(--hq-sans); overflow-x: clip; }
body.hq-cinematic-page::before { display: none !important; }
.hq-cinematic-page .hq-scroll-progress { display: none !important; }
.hq-cinematic-page *, .hq-cinematic-page *::before, .hq-cinematic-page *::after { box-sizing: border-box; }
.hq-site-shell { min-width: 0; overflow: clip; }
.hq-section-shell { width: min(100%, 1600px); margin: 0 auto; padding-inline: var(--hq-gutter); }

.hq-site-header {
    position: absolute; z-index: 30; top: 0; left: 0; right: 0;
    display: flex; align-items: center; justify-content: space-between;
    min-height: 92px; padding: 20px var(--hq-gutter); color: var(--hq-ivory);
}
.hq-wordmark, .hq-header-link { color: inherit; text-decoration: none; }
.hq-wordmark { display: inline-flex; align-items: center; gap: 12px; font-family: 'Tenor Sans', var(--hq-sans); font-size: 17px; font-weight: 400; letter-spacing: .02em; }
.hq-wordmark-mark { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; filter: grayscale(1) contrast(1.1); }
.hq-header-link { font-family: 'Tenor Sans', var(--hq-sans); font-size: 13px; font-weight: 400; letter-spacing: .02em; }
.hq-site-header .hq-wordmark, .hq-site-header .hq-header-link { color: rgba(232, 222, 208, .82) !important; }
.hq-header-link span { display: inline-block; margin-left: 8px; transition: transform .25s ease; }
.hq-header-link:hover span { transform: translateX(4px); }

.hq-phase-hero { position: relative; min-height: max(820px, 100svh); background: #0b0d0f; isolation: isolate; }
.hq-phase-hero::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: -18%;
    bottom: -18%;
    left: -30vw;
    width: clamp(170px, 20vw, 320px);
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, rgba(199, 164, 90, .035) 28%, rgba(232, 222, 208, .105) 50%, rgba(199, 164, 90, .04) 72%, transparent 100%);
    filter: blur(18px);
    mix-blend-mode: screen;
    opacity: 0;
    transform: translate3d(0, 0, 0) skewX(-10deg);
    will-change: transform, opacity;
    animation: hq-hero-light-pass 16s cubic-bezier(.42, 0, .2, 1) infinite;
}
@keyframes hq-hero-light-pass {
    0%, 16% { opacity: 0; transform: translate3d(0, 0, 0) skewX(-10deg); }
    28% { opacity: .38; }
    54% { opacity: .62; }
    76% { opacity: 0; transform: translate3d(160vw, 0, 0) skewX(-10deg); }
    100% { opacity: 0; transform: translate3d(160vw, 0, 0) skewX(-10deg); }
}
.hq-hero-media, .hq-hero-media::after, .hq-hero-grade { position: absolute; inset: 0; }
.hq-birth-film { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.58) contrast(1.04) brightness(.72); }
.hq-hero-grade {
    background:
        linear-gradient(90deg, rgba(5,6,7,.93) 0%, rgba(5,6,7,.74) 38%, rgba(5,6,7,.2) 68%, rgba(5,6,7,.46) 100%),
        linear-gradient(0deg, rgba(5,6,7,.96) 0%, transparent 50%, rgba(5,6,7,.32) 100%);
}
.hq-hero-media::after { content: ''; background: linear-gradient(180deg, transparent 82%, var(--hq-black)); }
.hq-hero-inner { position: relative; z-index: 2; min-height: max(820px, 100svh); padding: clamp(150px, 19vh, 210px) var(--hq-gutter) 48px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .78fr); grid-template-rows: 1fr auto; gap: 32px 8vw; align-items: start; }
.hq-kicker { margin: 0 0 22px; color: var(--hq-gold); text-transform: uppercase; font-size: 11px; font-weight: 750; letter-spacing: .13em; }
.hq-hero-copy { max-width: 760px; align-self: center; }
.hq-hero-copy h1 { margin: 0; max-width: 760px; font-family: Marcellus, Georgia, 'Times New Roman', serif !important; font-size: clamp(60px, 5.7vw, 94px); font-weight: 400 !important; line-height: 1.01; letter-spacing: 0; text-wrap: balance; }
.hq-hero-summary { max-width: 640px; margin: 28px 0 0; color: #d8d0c5 !important; font-family: 'Tenor Sans', var(--hq-sans); font-size: clamp(17px, 1.22vw, 19px); font-weight: 400; line-height: 1.68; }
.hq-phase-hero .hq-kicker { font-family: 'Tenor Sans', var(--hq-sans); font-weight: 400; letter-spacing: .17em; }
.hq-hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 34px; flex-wrap: wrap; }
.hq-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border-radius: 4px; text-decoration: none; font-size: 14px; font-weight: 720; transition: background .25s ease, color .25s ease, transform .25s ease; }
.hq-button-primary { background: var(--hq-gold); color: #090806; }
.hq-button-primary:hover { background: var(--hq-gold-bright); color: #090806; transform: translateY(-2px); }
.hq-phase-hero .hq-button, .hq-phase-hero .hq-text-link { font-family: 'Tenor Sans', var(--hq-sans); font-weight: 400; letter-spacing: .015em; }
.hq-text-link { color: #d8d0c5 !important; text-decoration: none; font-size: 13px; font-weight: 400; opacity: .82; }
.hq-phase-hero .hq-button-primary { color: #0b0906 !important; }
.hq-text-link span { margin-left: 8px; }
.hq-birth-record { justify-self: end; align-self: start; width: min(100%, 410px); padding-top: 4vh; }
.hq-birth-record p, .hq-birth-record span, .hq-birth-record small { display: block; }
.hq-birth-record p { margin: 0 0 8px; color: var(--hq-gold); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; }
.hq-birth-record strong { display: block; font-size: clamp(76px, 8vw, 140px); font-weight: 300; line-height: .92; font-variant-numeric: tabular-nums; letter-spacing: -.05em; }
.hq-birth-record span { margin-top: 12px; color: #d2cbc0; font-size: 12px; letter-spacing: .12em; }
.hq-birth-record small { margin-top: 14px; color: var(--hq-muted); font-size: 12px; line-height: 1.5; }
.hq-hero-pillars { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-self: end; }
.hq-hero-pillar { min-width: 0; }
.hq-hero-pillar p { margin: 0 0 9px; color: var(--hq-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.hq-hero-pillar strong { display: flex; align-items: center; gap: .16em; white-space: nowrap; font-family: 'Noto Serif CJK SC', 'Songti SC', STSong, SimSun, serif; font-size: clamp(34px, 3.5vw, 58px); font-weight: 400; font-kerning: none; line-height: 1.08; }
.hq-hero-pillar strong span { display: block; flex: 0 0 auto; }
.hq-hero-pillar span { display: block; margin-top: 7px; color: var(--hq-muted); font-size: 10px; letter-spacing: .13em; }
.hq-hero-verdict { grid-column: 1 / -1; margin: 10px 0 0; color: var(--hq-gold); font-family: var(--hq-serif); font-size: clamp(18px, 1.7vw, 27px); }

.hq-method-scene { background: var(--hq-paper); color: #17130f; padding: clamp(104px, 12vw, 180px) 0; }
.hq-method-intro { display: grid; grid-template-columns: .72fr 1.28fr; gap: 6vw; align-items: start; }
.hq-method-intro .hq-kicker { grid-column: 1; }
.hq-method-intro h2 { grid-column: 1; margin: 0; font-family: var(--hq-serif); font-size: clamp(56px, 6vw, 102px); font-weight: 400; line-height: .95; letter-spacing: 0; text-wrap: balance; }
body.hq-cinematic-page .hq-method-intro h2,
body.hq-cinematic-page .hq-method-step h3,
body.hq-cinematic-page .hq-method-contrast strong { color: #17130f !important; }
.hq-method-intro > p:last-of-type { grid-column: 2; grid-row: 1; align-self: end; max-width: 620px; margin: 0; font-size: clamp(18px, 1.6vw, 25px); line-height: 1.55; }
.hq-life-signals { grid-column: 2; grid-row: 2; width: 100%; max-width: 680px; margin: 48px 0 0; }
.hq-life-signals figcaption { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 22px; color: #8e6b26; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.hq-life-signals figcaption small { color: #776d60; font: inherit; font-weight: 650; }
.hq-signal-chart { height: clamp(210px, 21vw, 310px); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.8vw, 26px); align-items: end; }
.hq-signal-item { height: 100%; min-width: 0; display: grid; grid-template-rows: 1fr auto; gap: 13px; }
.hq-signal-track { width: 100%; max-width: 48px; height: 100%; margin: 0 auto; position: relative; overflow: hidden; background: rgba(23, 19, 15, .055); }
.hq-signal-track span { position: absolute; inset: 0; transform-origin: center bottom; background: linear-gradient(180deg, #b7833f 0%, #4a3b2a 42%, #1b1712 100%); will-change: transform; }
.hq-signal-item:nth-child(1) .hq-signal-track span { animation: hqSignalOne 8.2s cubic-bezier(.45, 0, .3, 1) infinite alternate; }
.hq-signal-item:nth-child(2) .hq-signal-track span { animation: hqSignalTwo 9.4s cubic-bezier(.45, 0, .3, 1) infinite alternate; }
.hq-signal-item:nth-child(3) .hq-signal-track span { animation: hqSignalThree 7.6s cubic-bezier(.45, 0, .3, 1) infinite alternate; }
.hq-signal-item:nth-child(4) .hq-signal-track span { animation: hqSignalFour 10.1s cubic-bezier(.45, 0, .3, 1) infinite alternate; }
.hq-signal-item:nth-child(5) .hq-signal-track span { animation: hqSignalFive 8.8s cubic-bezier(.45, 0, .3, 1) infinite alternate; }
.hq-signal-item p { margin: 0; color: #51483d; font-size: 9px; line-height: 1.3; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
@keyframes hqSignalOne { 0% { transform: scaleY(.42); } 42% { transform: scaleY(.76); } 72% { transform: scaleY(.57); } 100% { transform: scaleY(.84); } }
@keyframes hqSignalTwo { 0% { transform: scaleY(.7); } 38% { transform: scaleY(.48); } 68% { transform: scaleY(.86); } 100% { transform: scaleY(.62); } }
@keyframes hqSignalThree { 0% { transform: scaleY(.35); } 34% { transform: scaleY(.64); } 73% { transform: scaleY(.46); } 100% { transform: scaleY(.72); } }
@keyframes hqSignalFour { 0% { transform: scaleY(.82); } 45% { transform: scaleY(.55); } 76% { transform: scaleY(.9); } 100% { transform: scaleY(.68); } }
@keyframes hqSignalFive { 0% { transform: scaleY(.52); } 36% { transform: scaleY(.78); } 70% { transform: scaleY(.61); } 100% { transform: scaleY(.88); } }
.hq-method-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(28px, 4vw, 76px); margin-top: clamp(84px, 10vw, 150px); }
.hq-method-step span { color: #8e6b26; font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.hq-method-step p { margin: 42px 0 12px; color: #72685a; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .11em; }
.hq-method-step h3 { margin: 0; font-family: var(--hq-serif); font-size: clamp(25px, 2.1vw, 38px); font-weight: 400; line-height: 1.16; }
.hq-method-step small { display: block; margin-top: 25px; color: #675f55; font-size: 14px; line-height: 1.65; }
.hq-method-contrast { display: grid; grid-template-columns: .82fr 1.18fr; gap: 8vw; margin-top: clamp(100px, 12vw, 180px); align-items: end; }
.hq-method-contrast p { margin: 0; color: #6f675c; font-size: 15px; line-height: 1.65; }
.hq-method-contrast strong { font-family: var(--hq-serif); font-size: clamp(28px, 3.2vw, 54px); font-weight: 400; line-height: 1.15; }

.hq-original-home .elementor > .elementor-element-5fc1bba7,
.hq-original-home .elementor > .elementor-element-26d4c956,
.hq-original-home .elementor > .elementor-element-12e7244b,
.hq-original-home .elementor > .elementor-element-hqmx617,
.hq-original-home .elementor > .elementor-element-hqlay617 { display: none !important; }
.hq-original-home { background: var(--hq-black); }

/* Editorial case imagery: one relevant visual per story, without framed cards. */
body.hq-cinematic-page .hq-example-cases-section .hq-case-card {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hq-case-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    margin: 0 0 28px !important;
    overflow: hidden;
    border-radius: 4px;
    background: #111214;
    isolation: isolate;
}

.hq-case-media::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(5, 6, 7, .04) 42%, rgba(5, 6, 7, .5) 100%),
        linear-gradient(90deg, rgba(20, 15, 10, .18), transparent 46%, rgba(6, 8, 10, .16));
}

.hq-case-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(.68) sepia(.16) saturate(.72) contrast(1.06) brightness(.78);
    transform: scale(1.01);
    transition: transform .8s cubic-bezier(.2, .75, .25, 1), filter .45s ease;
}

@media (hover: hover) and (pointer: fine) {
    .hq-case-card:hover .hq-case-media img {
        filter: grayscale(.48) sepia(.16) saturate(.82) contrast(1.06) brightness(.84);
        transform: scale(1.035);
    }
}

.hq-reveal { opacity: 0; transform: translateY(28px); transition: opacity .85s cubic-bezier(.2,.75,.25,1), transform .85s cubic-bezier(.2,.75,.25,1); }
.hq-reveal.hq-visible { opacity: 1; transform: none; }
.hq-method-step:nth-child(2) { transition-delay: .08s; }
.hq-method-step:nth-child(3) { transition-delay: .16s; }
.hq-method-step:nth-child(4) { transition-delay: .24s; }

@media (max-width: 1024px) {
    .hq-hero-inner { grid-template-columns: 1fr .72fr; gap: 32px; }
    .hq-method-steps { grid-template-columns: repeat(2, 1fr); row-gap: 70px; }
}

@media (max-width: 720px) {
    :root { --hq-gutter: 22px; }
    .hq-site-header { min-height: 72px; padding-block: 16px; }
    .hq-wordmark-mark { width: 34px; height: 34px; }
    .hq-header-link { font-size: 12px; }
    .hq-phase-hero, .hq-hero-inner { min-height: 970px; }
    .hq-phase-hero::before { width: 34vw; filter: blur(14px); animation-duration: 18s; }
    .hq-birth-film { object-position: 56% center; }
    .hq-hero-grade { background: linear-gradient(180deg, rgba(5,6,7,.7) 0%, rgba(5,6,7,.38) 30%, rgba(5,6,7,.74) 60%, rgba(5,6,7,.98) 100%); }
    .hq-hero-inner { display: flex; flex-direction: column; padding-top: 104px; padding-bottom: 34px; gap: 26px; }
    .hq-hero-copy { margin-top: auto; order: 1; }
    .hq-hero-copy h1 { font-size: clamp(49px, 13.1vw, 58px); line-height: 1.02; }
    .hq-hero-summary { margin-top: 20px; font-size: 16px; }
    .hq-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 24px; }
    .hq-button { width: 100%; min-height: 54px; }
    .hq-birth-record { order: 0; width: 230px; padding-top: 0; margin-left: auto; }
    .hq-birth-record strong { font-size: 64px; }
    .hq-birth-record small { display: none; }
    .hq-hero-pillars { order: 2; width: 100%; grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .hq-hero-pillar strong { font-size: 27px; }
    .hq-hero-pillar p { font-size: 7px; }
    .hq-hero-pillar span { font-size: 7px; letter-spacing: .04em; }
    .hq-hero-verdict { margin-top: 8px; font-size: 17px; }
    .hq-method-scene { padding-block: 96px; }
    .hq-method-intro { display: block; }
    .hq-method-intro h2 { font-size: 54px; }
    .hq-method-intro > p:last-of-type { margin-top: 30px; font-size: 18px; }
    .hq-life-signals { margin-top: 52px; }
    .hq-life-signals figcaption { align-items: flex-start; flex-direction: column; gap: 7px; }
    .hq-signal-chart { height: 230px; gap: 9px; }
    .hq-signal-track { max-width: 38px; }
    .hq-signal-item p { font-size: 8px; letter-spacing: 0; }
    .hq-method-steps { grid-template-columns: 1fr; gap: 54px; margin-top: 72px; }
    .hq-method-step p { margin-top: 22px; }
    .hq-method-step h3 { font-size: 30px; }
    .hq-method-step small { margin-top: 14px; }
    .hq-method-contrast { display: block; margin-top: 80px; }
    .hq-method-contrast strong { display: block; margin-top: 24px; font-size: 34px; }
    body.hq-cinematic-page .hq-case-media { aspect-ratio: 4 / 3; margin-bottom: 22px !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hq-reveal { opacity: 1; transform: none; transition: none; }
    .hq-button, .hq-header-link span { transition: none; }
    .hq-phase-hero::before { display: none; animation: none; }
    .hq-signal-track span { animation: none !important; transform: scaleY(.68); }
    .hq-case-media img { transition: none; }
}
