:root {
    --ink: #07080d;
    --ink-2: #0c0f17;
    --surface: #111420;
    --surface-2: #171b27;
    --line: rgba(230, 224, 213, .16);
    --line-soft: rgba(230, 224, 213, .08);
    --paper: #f4f0e8;
    --soft: #c9c1b7;
    --muted: #928a85;
    --ruby: #e05058;
    --ruby-bright: #fb7980;
    --violet: #9279df;
    --gold: #d9bd83;
    --shell: min(1320px, calc(100vw - 80px));
    --ease-out: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--ink); scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; overflow-x: hidden; background: var(--ink); color: var(--paper); font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { max-width: 100%; }
.shell { width: var(--shell); margin: 0 auto; }
.site-grain { position: fixed; z-index: 40; inset: 0; pointer-events: none; opacity: .08; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; z-index: 45; top: 0; left: 0; width: 260px; aspect-ratio: 1; pointer-events: none; opacity: 0; border-radius: 50%; background: radial-gradient(circle, rgba(224,80,88,.08), transparent 66%); transform: translate(-50%, -50%); transition: opacity .3s ease; }
body.has-pointer .cursor-glow { opacity: 1; }

/* shared navigation */
.site-header { position: fixed; z-index: 30; top: 0; right: 0; left: 0; height: 91px; border-bottom: 1px solid rgba(255,255,255,.11); background: linear-gradient(180deg, rgba(5,6,10,.77), rgba(5,6,10,0)); transition: height .45s var(--ease-out), background .45s ease, border-color .45s ease, backdrop-filter .45s ease; }
.site-header.is-scrolled { height: 70px; border-color: rgba(240,235,224,.1); background: rgba(8,9,14,.84); backdrop-filter: blur(18px); }
.nav-wrap { display: flex; width: var(--shell); height: 100%; margin: 0 auto; align-items: center; }
.brand { display: inline-flex; min-width: 202px; align-items: center; gap: 13px; }
.brand-sigil { position: relative; display: grid; width: 29px; height: 35px; overflow: hidden; border: 1px solid rgba(244,240,232,.82); transform: skewY(-12deg); }
.brand-sigil::after { position: absolute; inset: 4px; border: 1px solid var(--ruby); content: ''; }
.brand-sigil i { position: absolute; width: 40px; height: 1px; background: var(--paper); transform: rotate(-45deg); }
.brand-sigil i:first-child { top: 11px; left: -5px; }.brand-sigil i:last-child { right: -5px; bottom: 10px; }
.brand-lockup strong, .footer-brand { display: block; color: #fffdf8; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; letter-spacing: .145em; line-height: 1; }
.brand-lockup small { display: block; margin-top: 6px; color: #b2aaa1; font-size: 7px; font-weight: 800; letter-spacing: .21em; }
.desktop-nav { display: flex; height: 100%; margin: 0 auto; align-items: center; gap: clamp(22px, 3.1vw, 48px); }
.desktop-nav a { position: relative; display: inline-flex; height: 100%; align-items: center; color: #c3bbb0; font-size: 12px; font-weight: 700; letter-spacing: -.025em; transition: color .25s ease; }
.desktop-nav a::after { position: absolute; right: 0; bottom: 20px; left: 0; height: 1px; background: var(--ruby); content: ''; transform: scaleX(0); transform-origin: right center; transition: transform .32s var(--ease-out); }
.desktop-nav a:hover, .desktop-nav a.is-active { color: #fff; }.desktop-nav a:hover::after, .desktop-nav a.is-active::after { transform: scaleX(1); transform-origin: left center; }
.nav-actions { display: flex; align-items: center; gap: 18px; }.nav-text-link { color: #b5ada4; font-size: 11px; font-weight: 700; }.nav-text-link:hover { color: #fff; }
.nav-cta { display: inline-flex; min-width: 132px; height: 40px; align-items: center; justify-content: space-between; padding: 0 13px 0 15px; border: 1px solid rgba(244,240,232,.42); background: rgba(244,240,232,.04); color: #f7f1e7; font-size: 9px; font-weight: 800; letter-spacing: .12em; transition: transform .25s var(--ease-out), background .25s ease, border-color .25s ease; }.nav-cta b { color: var(--ruby-bright); font-size: 17px; line-height: 1; }.nav-cta:hover { border-color: var(--ruby); background: var(--ruby); transform: translateY(-3px); }.nav-cta:hover b { color: #fff; }
.mobile-toggle, .mobile-panel { display: none; }

/* homepage */
.home-hero { position: relative; display: flex; min-height: max(750px, 100svh); overflow: hidden; align-items: flex-end; isolation: isolate; background: #080a12; }
.home-hero-image { position: absolute; z-index: -4; inset: 0; background: url('https://borinet-dev.github.io/img/assets/images/home_main.webp') center center / cover no-repeat; transform: scale(1.04); will-change: transform; }
.home-hero::before { position: absolute; z-index: -3; inset: 0; background: linear-gradient(90deg, rgba(5,6,10,.96) 0%, rgba(5,6,10,.75) 34%, rgba(5,6,10,.18) 70%, rgba(5,6,10,.32) 100%), linear-gradient(0deg, rgba(6,7,12,.98) 0%, transparent 37%); content: ''; }
.home-hero::after { position: absolute; z-index: -2; inset: 0; opacity: .54; background: radial-gradient(circle at 61% 18%, rgba(147,121,223,.25), transparent 20%), radial-gradient(circle at 56% 24%, rgba(224,80,88,.2), transparent 21%); content: ''; mix-blend-mode: screen; animation: cloudPulse 7s ease-in-out infinite alternate; }
.hero-beam { position: absolute; z-index: -1; top: -29%; left: 28%; width: 1px; height: 130%; opacity: .26; background: linear-gradient(180deg, transparent, var(--ruby), transparent); box-shadow: 0 0 50px 10px rgba(224,80,88,.3); transform: rotate(24deg); }.hero-beam:nth-of-type(2) { left: 58%; opacity: .13; transform: rotate(-31deg); }
.home-hero-content { width: var(--shell); margin: 0 auto; padding: 180px 0 74px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #e4d9ce; font-size: 10px; font-weight: 800; letter-spacing: .18em; }.hero-kicker i { width: 7px; height: 7px; border: 1px solid var(--ruby-bright); border-radius: 50%; box-shadow: 0 0 0 0 rgba(251,121,128,.55); animation: signal 2.3s infinite; }
.home-hero h1 { max-width: 740px; margin: 30px 0 0; color: #fbf8f1; font-family: Georgia, "Times New Roman", serif; font-size: clamp(53px, 6.75vw, 106px); font-weight: 400; letter-spacing: -.082em; line-height: .94; }.home-hero h1 em { color: #e8b2a6; font-style: normal; }.home-hero h1 span { display: block; margin-top: 13px; color: #ddd1bf; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(16px, 1.75vw, 25px); font-weight: 400; letter-spacing: -.055em; line-height: 1.35; }
.hero-lead { max-width: 478px; margin: 30px 0 0; color: #c6bdb4; font-size: 15px; letter-spacing: -.045em; line-height: 1.86; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 37px; }.button { display: inline-flex; min-width: 168px; height: 56px; align-items: center; justify-content: space-between; padding: 0 18px 0 20px; border: 1px solid transparent; font-size: 12px; font-weight: 800; letter-spacing: -.04em; transition: transform .32s var(--ease-out), background .32s ease, border-color .32s ease, color .32s ease; }.button b { font-size: 18px; font-weight: 400; }.button-primary { background: #f4eee6; color: #171217; }.button-primary:hover { background: var(--ruby); color: #fff; transform: translateY(-4px); }.button-ghost { border-color: rgba(244,240,232,.32); background: rgba(7,8,13,.16); color: #f4eee6; }.button-ghost:hover { border-color: rgba(244,240,232,.75); background: rgba(244,240,232,.11); transform: translateY(-4px); }
.hero-rail { display: grid; grid-template-columns: 1.2fr repeat(3, .8fr); margin-top: 72px; border-top: 1px solid rgba(244,240,232,.22); }.hero-rail > div, .hero-rail > a { min-height: 83px; padding: 18px 21px; border-right: 1px solid rgba(244,240,232,.15); }.hero-rail > div:first-child { padding-left: 0; }.hero-rail > a { display: flex; align-items: center; justify-content: space-between; border-right: 0; color: #e7dcd2; font-size: 12px; font-weight: 700; }.hero-rail > a b { color: var(--ruby-bright); font-size: 20px; font-weight: 400; }.hero-rail small { display: block; color: #9a918b; font-size: 8px; font-weight: 800; letter-spacing: .14em; }.hero-rail strong { display: block; margin-top: 8px; color: #f7f1ea; font-family: Georgia, serif; font-size: 22px; font-weight: 400; letter-spacing: -.03em; }
.hero-scroll { position: absolute; right: max(40px, calc((100vw - 1320px)/2)); bottom: 91px; display: flex; gap: 12px; align-items: center; color: #b9afa5; font-size: 8px; font-weight: 800; letter-spacing: .18em; transform: rotate(-90deg); transform-origin: right bottom; }.hero-scroll i { display: block; width: 50px; height: 1px; background: linear-gradient(90deg, var(--ruby), transparent); }

.ticker { display: flex; min-height: 61px; overflow: hidden; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0d1018; }.ticker .shell { display: flex; align-items: center; gap: 22px; }.ticker-label { display: inline-flex; align-items: center; gap: 8px; min-width: 114px; color: #efbbb3; font-size: 9px; font-weight: 800; letter-spacing: .14em; }.ticker-label i { width: 5px; height: 5px; border-radius: 50%; background: var(--ruby); }.ticker-copy { overflow: hidden; color: #b5aca3; font-size: 12px; white-space: nowrap; }.ticker-copy b { color: #e5dbd0; font-weight: 700; }.ticker-status { margin-left: auto; color: #8e8882; font-size: 9px; font-weight: 700; white-space: nowrap; }.ticker-status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #8ed89b; box-shadow: 0 0 11px #8ed89b; }

.section { position: relative; padding: 145px 0; }.section-dark { background: #0a0c12; }.section-deep { background: #07080d; }.section-paper { background: #e9e3da; color: #18151a; }.section-paper .eyebrow, .section-paper .section-lead, .section-paper .section-title { color: inherit; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0; color: #db827f; font-size: 10px; font-weight: 800; letter-spacing: .17em; }.eyebrow::before { width: 27px; height: 1px; background: currentColor; content: ''; }.section-header { display: flex; align-items: end; justify-content: space-between; gap: 55px; }.section-title { max-width: 760px; margin: 20px 0 0; color: #f6f0e7; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5.2vw, 75px); font-weight: 400; letter-spacing: -.075em; line-height: .98; }.section-title em { color: #db8884; font-style: normal; }.section-lead { max-width: 343px; margin: 0 0 4px; color: #aaa19a; font-size: 14px; letter-spacing: -.045em; line-height: 1.82; }

.manifesto-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 24px; margin-top: 70px; }.manifesto-visual { position: relative; min-height: 655px; overflow: hidden; background: url('https://borinet-dev.github.io/img/assets/images/world-city.webp') center/cover no-repeat; }.manifesto-visual::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,9,14,.86), rgba(9,9,14,.03) 55%), linear-gradient(90deg, rgba(9,9,14,.1), rgba(9,9,14,.52)); content: ''; }.manifesto-note { position: absolute; z-index: 2; right: 34px; bottom: 31px; left: 34px; color: #d7cec3; font-family: Georgia, serif; font-size: clamp(26px, 2.7vw, 39px); letter-spacing: -.055em; line-height: 1.11; }.manifesto-note span { display: block; margin-top: 15px; color: #a99f94; font-family: Pretendard, sans-serif; font-size: 11px; letter-spacing: -.04em; line-height: 1.6; }.manifesto-copy { display: flex; min-height: 655px; flex-direction: column; padding: clamp(36px, 5vw, 70px); border: 1px solid var(--line); background: linear-gradient(140deg, #14131b, #0e1017 76%); }.manifesto-copy > p { max-width: 450px; margin: 35px 0 0; color: #b9b0a7; font-size: 16px; letter-spacing: -.05em; line-height: 1.87; }.value-list { display: grid; gap: 0; margin: auto 0 0; border-top: 1px solid var(--line); }.value-list article { display: grid; grid-template-columns: 56px 1fr; gap: 8px; padding: 21px 0; border-bottom: 1px solid var(--line); }.value-list b { color: var(--ruby-bright); font-size: 10px; letter-spacing: .1em; }.value-list h3 { margin: 0; color: #f2ece4; font-size: 16px; letter-spacing: -.055em; }.value-list p { margin: 8px 0 0; color: #8f8780; font-size: 12px; letter-spacing: -.04em; line-height: 1.65; }

.system-mosaic { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; margin-top: 66px; }.system-card { position: relative; min-height: 265px; overflow: hidden; grid-column: span 3; isolation: isolate; border: 1px solid var(--line); background: #151720; }.system-card:nth-child(1), .system-card:nth-child(2) { min-height: 357px; grid-column: span 6; }.system-card:nth-child(6), .system-card:nth-child(7) { grid-column: span 4; }.system-card:nth-child(8) { grid-column: span 4; }.system-card::before { position: absolute; z-index: -2; inset: 0; background: var(--card-image) center/cover no-repeat; content: ''; transform: scale(1.01); transition: transform .9s var(--ease-out), filter .7s ease; }.system-card::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(7,8,13,.94), rgba(7,8,13,.15) 82%), linear-gradient(90deg, rgba(7,8,13,.36), transparent 70%); content: ''; }.system-card:hover::before { filter: saturate(1.22) contrast(1.05); transform: scale(1.09); }.system-card:hover .system-go { border-color: #f8e2d6; background: var(--ruby); color: #fff; }.system-card-inner { position: relative; display: flex; height: 100%; min-height: inherit; flex-direction: column; justify-content: flex-end; padding: 25px; }.system-top { position: absolute; top: 22px; right: 23px; left: 24px; display: flex; justify-content: space-between; align-items: center; color: rgba(255,250,242,.76); font-size: 9px; font-weight: 800; letter-spacing: .14em; }.system-top b { color: #f8b2a8; }.system-card h3 { max-width: 315px; margin: 0; color: #faf6ef; font-family: Georgia, serif; font-size: clamp(25px, 2.5vw, 38px); font-weight: 400; letter-spacing: -.07em; }.system-card p { max-width: 315px; margin: 12px 0 0; color: #c0b6ad; font-size: 12px; letter-spacing: -.04em; line-height: 1.65; }.system-go { position: absolute; right: 23px; bottom: 25px; display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(244,240,232,.42); color: #fff; font-size: 17px; transition: background .25s ease, border-color .25s ease, color .25s ease; }

.pulse-section { overflow: hidden; padding-bottom: 150px; background: #e9e3da; color: #17151b; }.pulse-section .section-title { color: #1b171a; }.pulse-section .section-title em { color: #9f343b; }.pulse-section .section-lead { color: #655e5b; }.pulse-section .eyebrow { color: #a04146; }.event-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 61px; border: 1px solid rgba(29,23,25,.16); background: rgba(29,23,25,.16); }.event-card { position: relative; min-height: 270px; overflow: hidden; padding: 28px; background: #e9e3da; }.event-card::after { position: absolute; right: -22px; bottom: -30px; color: rgba(36,28,30,.08); font-family: Georgia, serif; font-size: 130px; line-height: 1; content: attr(data-no); }.event-card b { position: relative; color: #a84d51; font-size: 10px; letter-spacing: .13em; }.event-card h3 { position: relative; margin: 68px 0 10px; color: #221c20; font-family: Georgia, serif; font-size: 29px; font-weight: 400; letter-spacing: -.06em; }.event-card p { position: relative; max-width: 220px; margin: 0; color: #655e5b; font-size: 12px; letter-spacing: -.04em; line-height: 1.65; }.event-card a { position: absolute; z-index: 2; right: 24px; bottom: 25px; display: inline-flex; gap: 9px; align-items: center; color: #322a2d; font-size: 10px; font-weight: 800; }.event-card a b { color: #a84d51; font-size: 16px; }

.showcase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 67px; }.showcase-card { position: relative; min-height: 560px; overflow: hidden; isolation: isolate; border: 1px solid var(--line); }.showcase-card::before { position: absolute; z-index: -2; inset: 0; background: var(--showcase-image) center/cover no-repeat; content: ''; transform: scale(1.02); transition: transform 1s var(--ease-out); }.showcase-card::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(8,8,13,.97) 0%, rgba(8,8,13,.15) 78%); content: ''; }.showcase-card:hover::before { transform: scale(1.08); }.showcase-copy { position: absolute; right: 34px; bottom: 32px; left: 34px; }.showcase-copy small { color: #efb8ae; font-size: 10px; font-weight: 800; letter-spacing: .16em; }.showcase-copy h3 { margin: 13px 0 0; color: #fffaf3; font-family: Georgia, serif; font-size: clamp(37px, 4.1vw, 57px); font-weight: 400; letter-spacing: -.075em; line-height: .94; }.showcase-copy p { max-width: 480px; margin: 15px 0 0; color: #c9beb4; font-size: 13px; letter-spacing: -.04em; line-height: 1.72; }.showcase-copy a { display: inline-flex; margin-top: 25px; gap: 12px; align-items: center; color: #fff5ed; font-size: 11px; font-weight: 800; }.showcase-copy a b { color: var(--ruby-bright); font-size: 18px; }

.world-links { display: grid; grid-template-columns: 1.04fr .96fr; min-height: 698px; overflow: hidden; background: #11131a; }.world-links-main { position: relative; min-height: 530px; padding: clamp(45px, 7vw, 98px); background: url('https://borinet-dev.github.io/img/assets/images/war-fortress2.webp') center/cover no-repeat; isolation: isolate; }.world-links-main::before { position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(13,12,18,.94), rgba(13,12,18,.13)); content: ''; }.world-links-main > * { position: relative; z-index: 1; }.world-links-main h2 { max-width: 535px; margin: 19px 0 0; color: #f7f0e8; font-family: Georgia, serif; font-size: clamp(40px, 4.7vw, 70px); font-weight: 400; letter-spacing: -.085em; line-height: .98; }.world-links-main p:not(.eyebrow) { max-width: 428px; margin: 23px 0 0; color: #c2b7ad; font-size: 14px; letter-spacing: -.04em; line-height: 1.82; }.world-links-main a { display: inline-flex; min-width: 168px; height: 51px; margin-top: 33px; align-items: center; justify-content: space-between; padding: 0 17px; border: 1px solid rgba(245,239,231,.46); font-size: 11px; font-weight: 800; }.world-links-main a:hover { border-color: var(--ruby); background: var(--ruby); }.world-links-rail { display: grid; grid-template-rows: repeat(3, 1fr); }.world-rail-link { position: relative; display: flex; overflow: hidden; align-items: center; justify-content: space-between; padding: 27px 34px; border-bottom: 1px solid var(--line); background: #14161e; isolation: isolate; }.world-rail-link:last-child { border-bottom: 0; }.world-rail-link::before { position: absolute; z-index: -2; inset: 0; opacity: .45; background: var(--rail-image) center/cover no-repeat; content: ''; transform: scale(1.04); transition: transform .7s var(--ease-out), opacity .4s ease; }.world-rail-link::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #14161e 24%, rgba(20,22,30,.67)); content: ''; }.world-rail-link:hover::before { opacity: .78; transform: scale(1.1); }.world-rail-link:hover b { color: var(--ruby-bright); transform: translateX(6px); }.world-rail-link small { display: block; color: #ad8e88; font-size: 9px; font-weight: 800; letter-spacing: .13em; }.world-rail-link strong { display: block; margin-top: 9px; color: #f6f1e9; font-family: Georgia, serif; font-size: 28px; font-weight: 400; letter-spacing: -.06em; }.world-rail-link b { color: #f6eee6; font-size: 22px; font-weight: 400; transition: transform .3s var(--ease-out), color .3s ease; }

.closing { position: relative; overflow: hidden; padding: 165px 0; background: #0c0b10; text-align: center; isolation: isolate; }.closing::before { position: absolute; z-index: -2; inset: 0; opacity: .25; background: url('https://borinet-dev.github.io/img/assets/images/world_guide.webp') center/cover no-repeat; content: ''; filter: saturate(.7); }.closing::after { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 50% 41%, rgba(140,103,159,.22), transparent 29%), linear-gradient(0deg, #0c0b10, rgba(12,11,16,.56), #0c0b10); content: ''; }.closing .eyebrow { justify-content: center; color: #e4a69f; }.closing h2 { max-width: 835px; margin: 23px auto 0; color: #f5efe7; font-family: Georgia, serif; font-size: clamp(47px, 6.2vw, 91px); font-weight: 400; letter-spacing: -.085em; line-height: .96; }.closing h2 em { color: #e7b4ac; font-style: normal; }.closing p:not(.eyebrow) { max-width: 430px; margin: 25px auto 0; color: #b9afa5; font-size: 14px; letter-spacing: -.04em; line-height: 1.8; }.closing .hero-buttons { justify-content: center; }

/* detail-page hero and content */
.page-hero { position: relative; display: flex; min-height: 580px; overflow: hidden; align-items: flex-end; isolation: isolate; background: #090a10; }.page-hero-media { position: absolute; z-index: -2; inset: 0; background: var(--hero-image) center/cover no-repeat; }.page-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, #08090e 0%, rgba(8,9,14,.2) 66%), linear-gradient(90deg, rgba(8,9,14,.86), rgba(8,9,14,.13) 70%); content: ''; }.page-hero-content { width: var(--shell); margin: 0 auto; padding: 170px 0 76px; }.page-hero .breadcrumb { display: flex; gap: 9px; color: #c1b7ad; font-size: 10px; font-weight: 700; }.page-hero .breadcrumb a:hover { color: #fff; }.breadcrumb i { color: var(--ruby-bright); font-style: normal; }.page-hero .eyebrow { margin-top: 30px; }.page-hero h1 { max-width: 760px; margin: 15px 0 0; color: #f9f3eb; font-family: Georgia, serif; font-size: clamp(36px, 3.7vw, 56px); font-weight: 400; letter-spacing: -.085em; line-height: .96; }.page-hero h1 em { color: #e8b0a8; font-style: normal; }.page-hero p:last-child { max-width: 545px; margin: 21px 0 0; color: #c8beb4; font-size: 14px; letter-spacing: -.045em; line-height: 1.8; }
.subnav { border-bottom: 1px solid var(--line); background: #101219; }.subnav .shell { display: flex; overflow: auto; gap: 26px; }.subnav a { position: relative; flex: 0 0 auto; padding: 21px 0; color: #9d958d; font-size: 11px; font-weight: 700; }.subnav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--ruby); content: ''; transform: scaleX(0); transition: transform .25s ease; }.subnav a:hover, .subnav a.is-active { color: #fff4ec; }.subnav a:hover::after, .subnav a.is-active::after { transform: scaleX(1); }
.detail-intro { display: grid; grid-template-columns: .92fr 1.08fr; gap: 75px; align-items: center; }.detail-intro-title { margin: 17px 0 0; color: #f3ede5; font-family: Georgia, serif; font-size: clamp(38px, 4.3vw, 63px); font-weight: 400; letter-spacing: -.08em; line-height: 1.02; }.detail-intro-copy { color: #aea59c; font-size: 15px; letter-spacing: -.045em; line-height: 1.9; }.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 68px; }.fact-card { min-height: 176px; padding: 25px; border: 1px solid var(--line); background: #12141c; }.fact-card small { color: #c98882; font-size: 9px; font-weight: 800; letter-spacing: .14em; }.fact-card strong { display: block; margin-top: 28px; color: #f6f0e8; font-family: Georgia, serif; font-size: 27px; font-weight: 400; letter-spacing: -.045em; }.fact-card p { margin: 8px 0 0; color: #90867e; font-size: 11px; line-height: 1.65; }
.story-split { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 590px; overflow: hidden; border: 1px solid var(--line); }.story-image { min-height: 430px; background: var(--story-image) center/cover no-repeat; }.story-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(35px, 5vw, 70px); background: #15151d; }.story-copy h2 { margin: 17px 0 0; color: #f7f0e8; font-family: Georgia, serif; font-size: clamp(34px, 4vw, 55px); font-weight: 400; letter-spacing: -.075em; line-height: 1.02; }.story-copy > p { color: #aaa096; font-size: 14px; letter-spacing: -.045em; line-height: 1.83; }.bullet-list { display: grid; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }.bullet-list li { display: flex; gap: 11px; align-items: start; color: #d0c5b9; font-size: 12px; line-height: 1.65; }.bullet-list li::before { width: 6px; height: 6px; margin-top: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--ruby); content: ''; }
.timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 57px; border-top: 1px solid var(--line); }.timeline article { min-height: 214px; padding: 32px 26px 24px 0; border-right: 1px solid var(--line); }.timeline article + article { padding-left: 26px; }.timeline article:last-child { padding-right: 0; border-right: 0; }.timeline b { color: var(--ruby-bright); font-size: 10px; letter-spacing: .14em; }.timeline h3 { margin: 22px 0 9px; color: #f2ece4; font-size: 18px; letter-spacing: -.055em; }.timeline p { margin: 0; color: #8f867f; font-size: 12px; line-height: 1.65; }
.content-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 59px; }.content-panel { padding: 31px; border: 1px solid var(--line); background: linear-gradient(150deg, #151822, #101117); }.content-panel .icon-index { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(224,80,88,.6); border-radius: 50%; color: #f0a8a1; font-family: Georgia, serif; font-size: 14px; }.content-panel h3 { margin: 28px 0 12px; color: #f6efe7; font-family: Georgia, serif; font-size: 28px; font-weight: 400; letter-spacing: -.065em; }.content-panel p { margin: 0; color: #9a9189; font-size: 12px; line-height: 1.72; }.content-panel ul { display: grid; gap: 9px; margin: 21px 0 0; padding: 0; color: #cac0b5; font-size: 11px; line-height: 1.5; list-style: none; }.content-panel li::before { margin-right: 8px; color: var(--ruby-bright); content: '—'; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 5px; margin-top: 59px; }.gallery-card { position: relative; min-height: 290px; overflow: hidden; grid-column: span 4; background: #15161d; }.gallery-card:first-child { min-height: 468px; grid-column: span 4; }.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }.gallery-card:hover img { transform: scale(1.06); }.gallery-card::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,8,12,.82), transparent 52%); content: ''; }.gallery-card span { position: absolute; z-index: 2; right: 20px; bottom: 20px; left: 20px; color: #f9f4ec; font-family: Georgia, serif; font-size: 24px; letter-spacing: -.06em; }
.growth-board { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 62px; }.growth-board article { position: relative; min-height: 332px; overflow: hidden; padding: 35px; border: 1px solid var(--line); background: var(--board-image) center/cover no-repeat; isolation: isolate; }.growth-board article::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(120deg, rgba(9,9,14,.96), rgba(9,9,14,.38)); content: ''; }.growth-board article h3 { margin: 55px 0 0; color: #fff9f1; font-family: Georgia, serif; font-size: 39px; font-weight: 400; letter-spacing: -.075em; }.growth-board article p { max-width: 360px; margin: 13px 0 0; color: #c5bbb1; font-size: 13px; line-height: 1.75; }.growth-board article a { display: inline-flex; margin-top: 23px; align-items: center; gap: 10px; color: #fff2ea; font-size: 11px; font-weight: 800; }.growth-board small { color: #e6a7a0; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.notice-list { margin-top: 58px; border-top: 1px solid var(--line); }.notice-item { display: grid; grid-template-columns: 92px 1fr auto; gap: 24px; min-height: 83px; align-items: center; border-bottom: 1px solid var(--line); color: #f0e9df; transition: padding .3s var(--ease-out), background .3s ease; }.notice-item:hover { padding: 0 20px; background: rgba(255,255,255,.035); }.notice-item b { color: #d8827d; font-size: 10px; letter-spacing: .1em; }.notice-item h3 { margin: 0; font-size: 14px; letter-spacing: -.04em; }.notice-item time { color: #8e857e; font-size: 10px; }
.guide-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 62px; }.guide-step { min-height: 235px; padding: 28px; border: 1px solid var(--line); background: #12141c; }.guide-step b { color: #e28985; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }.guide-step h3 { margin: 31px 0 10px; color: #f5eee6; font-size: 17px; letter-spacing: -.055em; }.guide-step p { margin: 0; color: #938a82; font-size: 12px; line-height: 1.7; }
.specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 53px; }.spec-card { padding: 36px; border: 1px solid var(--line); background: #12141c; }.spec-card h3 { margin: 0; color: #f5eee5; font-family: Georgia, serif; font-size: 30px; font-weight: 400; letter-spacing: -.06em; }.spec-list { display: grid; gap: 0; margin: 23px 0 0; }.spec-list div { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line-soft); color: #a79e95; font-size: 12px; }.spec-list b { color: #d9cec1; font-weight: 600; }

/* footer */
.site-footer { position: relative; overflow: hidden; padding: 75px 0 0; border-top: 1px solid var(--line); background: #08090e; }.footer-aura { position: absolute; top: -300px; right: -130px; width: 620px; aspect-ratio: 1; border: 1px solid rgba(224,80,88,.18); border-radius: 50%; box-shadow: 0 0 150px rgba(224,80,88,.07); }.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, .7fr); gap: 35px; }.footer-brand { color: #f6eee4; font-size: 32px; }.footer-brand span { color: var(--ruby-bright); font-size: 10px; vertical-align: top; }.footer-brand-block p { margin: 20px 0 0; color: #8e857d; font-size: 12px; line-height: 1.75; }.footer-column { position: relative; z-index: 1; display: grid; align-content: start; gap: 12px; }.footer-column p { margin: 0 0 8px; color: #d98c87; font-size: 9px; font-weight: 800; letter-spacing: .16em; }.footer-column a { color: #a7a098; font-size: 11px; }.footer-column a:hover { color: #fff1e9; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 72px; padding: 21px 0; border-top: 1px solid var(--line); color: #66615d; font-size: 8px; font-weight: 700; letter-spacing: .12em; }

/* animation */
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .85s ease, transform .85s var(--ease-out); }.is-revealed { opacity: 1; transform: translateY(0); }.stagger-1 { transition-delay: .08s; }.stagger-2 { transition-delay: .16s; }.stagger-3 { transition-delay: .24s; }
@keyframes signal { 72% { box-shadow: 0 0 0 7px rgba(251,121,128,0); } 100% { box-shadow: 0 0 0 0 rgba(251,121,128,0); } }
@keyframes cloudPulse { to { opacity: .77; transform: scale(1.05); } }

@media (max-width: 1000px) {
    :root { --shell: min(760px, calc(100vw - 48px)); }
    .desktop-nav { gap: 20px; }.nav-text-link { display: none; }.brand { min-width: 174px; }
    .hero-rail { grid-template-columns: repeat(3, 1fr); }.hero-rail > a { grid-column: 1 / -1; border-top: 1px solid rgba(244,240,232,.15); }.hero-rail > div:first-child { padding-left: 21px; border-left: 1px solid rgba(244,240,232,.15); }
    .manifesto-grid, .world-links { grid-template-columns: 1fr; }.manifesto-visual, .manifesto-copy { min-height: 480px; }.world-links-main { min-height: 500px; }.world-links-rail { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }.world-rail-link { min-height: 195px; align-items: flex-end; padding: 24px; border-right: 1px solid var(--line); border-bottom: 0; }.world-rail-link:last-child { border-right: 0; }.world-rail-link::after { background: linear-gradient(0deg, #14161e 11%, rgba(20,22,30,.3)); }
    .system-card, .system-card:nth-child(6), .system-card:nth-child(7), .system-card:nth-child(8) { grid-column: span 4; }.system-card:nth-child(1), .system-card:nth-child(2) { grid-column: span 6; }
    .event-strip { grid-template-columns: repeat(2, 1fr); }.event-card { min-height: 230px; }.showcase-card { min-height: 490px; }
    .detail-intro { gap: 45px; }.fact-grid { gap: 10px; }.timeline article { min-height: 195px; }.content-panels { grid-template-columns: 1fr 1fr; }.content-panel:last-child { grid-column: span 2; }.guide-steps { grid-template-columns: 1fr 1fr; }.gallery-card:first-child { grid-column: span 7; }.gallery-card { grid-column: span 5; }
}
@media (max-width: 760px) {
    :root { --shell: calc(100vw - 32px); }
    .site-header { height: 70px; background: rgba(7,8,13,.72); backdrop-filter: blur(10px); }.site-header.is-scrolled { height: 63px; }.nav-wrap { justify-content: space-between; }.brand { min-width: auto; }.brand-sigil { width: 25px; height: 30px; }.brand-lockup strong { font-size: 19px; }.brand-lockup small { margin-top: 4px; font-size: 6px; }.desktop-nav, .nav-text-link, .nav-cta { display: none; }.mobile-toggle { display: grid; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(244,240,232,.2); place-content: center; gap: 5px; background: rgba(244,240,232,.03); }.mobile-toggle i { display: block; width: 19px; height: 1px; background: #f4eee5; transition: transform .3s var(--ease-out), opacity .3s ease; }.menu-open .mobile-toggle i:first-child { transform: translateY(6px) rotate(45deg); }.menu-open .mobile-toggle i:nth-child(2) { opacity: 0; }.menu-open .mobile-toggle i:last-child { transform: translateY(-6px) rotate(-45deg); }.mobile-panel { position: absolute; top: 70px; right: 0; left: 0; overflow: hidden; max-height: 0; background: rgba(9,10,16,.98); transition: max-height .45s var(--ease-out); }.site-header.is-scrolled .mobile-panel { top: 63px; }.menu-open .mobile-panel { display: block; max-height: 520px; border-bottom: 1px solid var(--line); }.mobile-panel nav { width: var(--shell); margin: 0 auto; padding: 15px 0 20px; }.mobile-panel a { display: flex; min-height: 48px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); color: #d4cbc1; font-size: 14px; font-weight: 700; }.mobile-panel a b { color: var(--ruby-bright); font-size: 19px; font-weight: 400; }.mobile-panel .mobile-start { margin-top: 11px; padding: 0 15px; border: 1px solid rgba(240,233,224,.38); color: #fff2e9; }
    .home-hero { min-height: 760px; }.home-hero-image { background-position: 62% center; }.home-hero::before { background: linear-gradient(90deg, rgba(5,6,10,.95), rgba(5,6,10,.4) 100%), linear-gradient(0deg, rgba(6,7,12,.98) 0%, transparent 38%); }.home-hero-content { padding: 145px 0 35px; }.hero-kicker { font-size: 8px; letter-spacing: .13em; }.home-hero h1 { margin-top: 23px; font-size: clamp(48px, 13vw, 74px); }.home-hero h1 span { margin-top: 12px; font-size: 15px; }.hero-lead { margin-top: 24px; font-size: 13px; line-height: 1.75; }.hero-buttons { margin-top: 28px; }.button { min-width: 152px; height: 52px; padding: 0 15px; }.hero-rail { grid-template-columns: repeat(3, 1fr); margin-top: 44px; }.hero-rail > div, .hero-rail > div:first-child { min-height: 67px; padding: 12px 10px; border-left: 0; }.hero-rail > div + div { border-left: 1px solid rgba(244,240,232,.15); }.hero-rail strong { margin-top: 5px; font-size: 16px; }.hero-rail small { font-size: 6px; letter-spacing: .1em; }.hero-rail > a { min-height: 48px; padding: 12px 2px; font-size: 11px; }.hero-scroll { display: none; }
    .ticker { min-height: 52px; }.ticker .shell { gap: 12px; }.ticker-label { min-width: auto; font-size: 8px; }.ticker-copy { font-size: 10px; }.ticker-status { display: none; }
    .section { padding: 87px 0; }.section-header { display: block; }.section-title { margin-top: 16px; font-size: clamp(38px, 10.4vw, 56px); }.section-lead { margin-top: 25px; font-size: 13px; }.manifesto-grid { margin-top: 38px; gap: 14px; }.manifesto-visual { min-height: 390px; }.manifesto-copy { min-height: 430px; padding: 30px 24px; }.manifesto-copy > p { margin-top: 24px; font-size: 14px; }.manifesto-note { right: 21px; bottom: 21px; left: 21px; font-size: 28px; }.value-list article { grid-template-columns: 42px 1fr; }.value-list h3 { font-size: 15px; }
    .system-mosaic { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 38px; }.system-card, .system-card:nth-child(1), .system-card:nth-child(2), .system-card:nth-child(6), .system-card:nth-child(7), .system-card:nth-child(8) { min-height: 275px; grid-column: span 1; }.system-card:nth-child(1), .system-card:nth-child(2) { grid-column: span 2; min-height: 325px; }.system-card-inner { padding: 17px; }.system-top { top: 15px; right: 16px; left: 16px; font-size: 7px; }.system-card h3 { font-size: 25px; }.system-card p { display: none; }.system-go { right: 16px; bottom: 16px; width: 32px; height: 32px; }
    .pulse-section { padding-bottom: 87px; }.event-strip { grid-template-columns: 1fr; margin-top: 35px; }.event-card { min-height: 188px; padding: 21px; }.event-card h3 { margin-top: 36px; font-size: 26px; }.event-card::after { font-size: 100px; }.showcase-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 38px; }.showcase-card { min-height: 435px; }.showcase-copy { right: 22px; bottom: 23px; left: 22px; }.showcase-copy h3 { font-size: 48px; }.world-links { min-height: 0; }.world-links-main { min-height: 430px; padding: 38px 24px; }.world-links-main h2 { font-size: 44px; }.world-links-main p:not(.eyebrow) { font-size: 13px; }.world-links-rail { grid-template-columns: 1fr; }.world-rail-link { min-height: 155px; border-right: 0; border-bottom: 1px solid var(--line); }.world-rail-link strong { font-size: 25px; }.closing { padding: 103px 0; }.closing h2 { font-size: clamp(43px, 12vw, 65px); }
    .page-hero { min-height: 480px; }.page-hero-content { padding: 130px 0 53px; }.page-hero h1 { font-size: clamp(32px, 8.5vw, 46px); }.page-hero p:last-child { font-size: 13px; }.subnav .shell { gap: 18px; }.subnav a { padding: 17px 0; font-size: 10px; }.detail-intro { grid-template-columns: 1fr; gap: 21px; }.detail-intro-title { font-size: 44px; }.detail-intro-copy { font-size: 13px; }.fact-grid { grid-template-columns: 1fr; margin-top: 37px; }.fact-card { min-height: 130px; }.fact-card strong { margin-top: 18px; }.story-split { grid-template-columns: 1fr; }.story-image { min-height: 290px; }.story-copy { padding: 34px 24px; }.story-copy h2 { font-size: 40px; }.timeline { grid-template-columns: 1fr; margin-top: 36px; }.timeline article, .timeline article + article { min-height: 0; padding: 23px 0; border-right: 0; border-bottom: 1px solid var(--line); }.timeline article:last-child { border-bottom: 0; }.timeline h3 { margin-top: 14px; }.content-panels { grid-template-columns: 1fr; margin-top: 35px; }.content-panel:last-child { grid-column: auto; }.content-panel { padding: 25px; }.gallery-grid { grid-template-columns: 1fr; margin-top: 35px; }.gallery-card, .gallery-card:first-child { min-height: 260px; grid-column: auto; }.gallery-card:first-child { min-height: 330px; }.growth-board { grid-template-columns: 1fr; margin-top: 36px; }.growth-board article { min-height: 300px; padding: 26px; }.growth-board article h3 { margin-top: 43px; }.notice-item { grid-template-columns: 64px 1fr; gap: 12px; min-height: 74px; }.notice-item time { display: none; }.guide-steps { grid-template-columns: 1fr; margin-top: 36px; }.guide-step { min-height: 180px; }.specs { grid-template-columns: 1fr; margin-top: 35px; }.spec-card { padding: 27px 23px; }
    .site-footer { padding-top: 53px; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 18px; }.footer-brand-block { grid-column: 1 / -1; }.footer-brand { font-size: 28px; }.footer-bottom { display: grid; gap: 8px; margin-top: 45px; font-size: 7px; }
}
@media (max-width: 390px) { .hero-buttons { display: grid; grid-template-columns: 1fr; }.button { width: 100%; }.system-card h3 { font-size: 22px; }.footer-grid { grid-template-columns: 1fr; }.footer-brand-block { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Link label used inside the two large homepage showcase cards. */
.showcase-copy > span { display: inline-flex; margin-top: 25px; gap: 12px; align-items: center; color: #fff5ed; font-size: 11px; font-weight: 800; }
.showcase-copy > span b { color: var(--ruby-bright); font-size: 18px; }

/* Direct image fallback: avoids CSS custom-property background issues on some local Apache stacks. */
.inline-visual { position: absolute; display: block; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero-media { z-index: 0; background: none !important; }
.page-hero::after { z-index: 1; }
.page-hero-content { position: relative; z-index: 2; }
.system-card::before, .showcase-card::before, .world-rail-link::before { display: none; }
.system-card::after, .showcase-card::after, .world-rail-link::after { z-index: 1; }

/* Refined Liberty brand assets: supplied mark and wordmark are treated as one quiet gold lockup. */
.brand { min-width: 228px; gap: 11px; }
.brand-sigil { position: relative; display: grid; width: 43px; height: 43px; overflow: visible; place-items: center; border: 0; border-radius: 50%; background: radial-gradient(circle, rgba(216,182,116,.16), rgba(5,6,10,.1) 67%); box-shadow: 0 0 0 1px rgba(220,188,126,.35), 0 0 28px rgba(211,174,99,.14); transform: none; }
.brand-sigil::before { position: absolute; inset: 3px; border: 1px solid rgba(247,223,166,.46); border-radius: 50%; content: ''; }
.brand-sigil::after { position: absolute; inset: -4px; border: 1px solid rgba(224,80,88,.32); border-radius: 50%; content: ''; transform: scale(.84); transition: transform .45s var(--ease-out), border-color .45s ease; }
.brand-sigil img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 3px 9px rgba(0,0,0,.62)) saturate(1.08) contrast(1.04); }
.brand:hover .brand-sigil::after { border-color: rgba(245,214,151,.78); transform: scale(1.04); }
.brand-lockup { display: block; min-width: 150px; }
.brand-wordmark { display: block; width: 148px; height: auto; filter: brightness(1.12) contrast(1.05) drop-shadow(0 2px 7px rgba(0,0,0,.72)); }
.brand-lockup small { margin-top: 5px; padding-left: 2px; color: #bfae96; font-size: 7px; letter-spacing: .24em; }
.footer-brand { display: inline-flex; min-height: 31px; align-items: center; gap: 5px; }
.footer-brand img { display: block; width: 148px; height: auto; filter: brightness(1.12) contrast(1.05) drop-shadow(0 3px 8px rgba(0,0,0,.65)); }

/* Keep the second and third system rows on the same 3-up grid without overriding mobile cards. */
@media (min-width: 761px) {
    .system-card:nth-child(3), .system-card:nth-child(4), .system-card:nth-child(5), .system-card:nth-child(6), .system-card:nth-child(7), .system-card:nth-child(8) { grid-column: span 4; }
}

/* Direct-image motion: local Apache image fallbacks retain hover and reveal motion. */
.inline-visual, .feature-story-media img, .gallery-card img { will-change: transform, filter; transition: transform 1s var(--ease-out), filter .7s ease; }
@media (hover: hover) and (pointer: fine) {
    .system-card:hover .inline-visual, .showcase-card:hover .inline-visual, .world-rail-link:hover .inline-visual, .growth-board article:hover .inline-visual, .story-split:hover .inline-visual, .feature-story:hover .feature-story-media img, .gallery-card:hover img { transform: scale(1.09); filter: saturate(1.16) contrast(1.05) brightness(1.05); }
    .page-hero:hover .inline-hero-visual { transform: scale(1.045); filter: saturate(1.08) contrast(1.03); }
    .system-card:hover::after, .showcase-card:hover::after, .world-rail-link:hover::after { background: linear-gradient(0deg, rgba(7,8,13,.9), rgba(7,8,13,.05) 85%), linear-gradient(90deg, rgba(7,8,13,.2), transparent 75%); }
}
@keyframes liberty-image-reveal { from { opacity: .15; filter: blur(7px) saturate(.74); transform: scale(1.12); } 58% { opacity: 1; filter: blur(0) saturate(1.06); } to { opacity: 1; filter: blur(0) saturate(1); transform: scale(1); } }
@media (prefers-reduced-motion: no-preference) {
    [data-reveal].is-revealed .inline-visual, [data-reveal].is-revealed .feature-story-media img, [data-reveal].is-revealed .gallery-card img { animation: liberty-image-reveal 1.05s cubic-bezier(.16, 1, .3, 1); }
}
@media (max-width: 760px) {
    .brand { min-width: auto; gap: 9px; }
    .brand-sigil { width: 36px; height: 36px; }
    .brand-lockup { min-width: 126px; }
    .brand-wordmark { width: 126px; }
    .brand-lockup small { margin-top: 3px; font-size: 6px; }
    .footer-brand img { width: 148px; }
    [data-reveal].is-revealed .inline-visual, [data-reveal].is-revealed .feature-story-media img, [data-reveal].is-revealed .gallery-card img { animation-duration: .78s; }
}
@media (max-width: 390px) { .brand-wordmark { width: 111px; }.brand-lockup { min-width: 111px; }.brand-lockup small { font-size: 5px; } }
@media (min-width: 901px) { .feature-link-grid.download-link-grid { grid-template-columns: repeat(4, 1fr); } }
.system-card-inner, .showcase-copy, .world-rail-link > span, .world-rail-link > b { position: relative; z-index: 2; }
.story-image { position: relative; overflow: hidden; background: none !important; }
.growth-board article { background: #12141c !important; }
.growth-board article::before { z-index: 1; }
.growth-board article > *:not(.inline-visual) { position: relative; z-index: 2; }

/* 2026-07 independent-page pass: no pale sections, no CSS-variable-only imagery. */
.section-paper, .pulse-section { background: radial-gradient(circle at 16% 8%, rgba(133,75,88,.16), transparent 29%), radial-gradient(circle at 82% 88%, rgba(69,84,132,.16), transparent 35%), #0a0c13; color: #f4eee6; }
.section-paper .section-title, .pulse-section .section-title { color: #f5efe7; }
.section-paper .section-title em, .pulse-section .section-title em { color: #dd8985; }
.section-paper .section-lead, .pulse-section .section-lead { color: #aaa19a; }
.section-paper .eyebrow, .pulse-section .eyebrow { color: #db827f; }
.event-strip { border-color: rgba(233,220,207,.14); background: rgba(233,220,207,.14); }
.event-card { background: linear-gradient(145deg, #171821, #101118 72%); }
.event-card::after { color: rgba(235,218,205,.06); }
.event-card b { color: #df8a85; }
.event-card h3 { color: #f7f0e8; }
.event-card p { color: #aaa097; }
.event-card a { color: #f5eee7; }
.event-card a b { color: #e79b94; }

.system-card > .inline-card-visual, .showcase-card > .inline-showcase-visual, .world-rail-link > .inline-rail-visual { position: absolute; z-index: 0; pointer-events: none; }
.story-image::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(135deg, rgba(8,9,14,.06), rgba(8,9,14,.42)); content: ''; }

.feature-page .page-hero { min-height: 610px; }
.feature-story { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 575px; overflow: hidden; border: 1px solid var(--line); background: #14151d; }
.feature-story-media { position: relative; min-height: 400px; overflow: hidden; background: #10121a; }
.feature-story-media::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(8,9,14,.05), rgba(8,9,14,.48)); content: ''; }
.feature-story-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.feature-story-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 70px); background: linear-gradient(145deg, #171822, #101118); }
.feature-story-copy h2 { margin: 17px 0 0; color: #f7f0e8; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 2.8vw, 42px); font-weight: 400; letter-spacing: -.075em; line-height: 1.08; }
.feature-story-copy > p { margin: 18px 0 0; color: #aaa096; font-size: 14px; letter-spacing: -.045em; line-height: 1.83; }
.feature-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 57px; border-top: 1px solid var(--line); }
.feature-steps article { min-height: 210px; padding: 32px 26px 24px 0; border-right: 1px solid var(--line); }
.feature-steps article + article { padding-left: 26px; }
.feature-steps article:last-child { border-right: 0; }
.feature-steps b { color: #d98682; font-size: 10px; letter-spacing: .12em; }
.feature-steps h3 { margin: 38px 0 0; color: #f1e9e1; font-family: Georgia, serif; font-size: 23px; font-weight: 400; letter-spacing: -.06em; }
.feature-steps p { margin: 9px 0 0; color: #958b83; font-size: 12px; letter-spacing: -.04em; line-height: 1.68; }
.feature-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 57px; }
.feature-link-card { position: relative; display: block; min-height: 230px; overflow: hidden; padding: 26px; border: 1px solid var(--line); background: #0d0f16; isolation: isolate; transition: transform .42s var(--ease-out), border-color .3s ease, box-shadow .42s ease; }
.feature-link-card__image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .7; filter: saturate(.84) contrast(1.08) brightness(.76); transform: scale(1.025); transition: opacity .55s ease, filter .65s ease, transform .9s var(--ease-out); }
.feature-link-card::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(8,9,14,.92) 0%, rgba(8,9,14,.7) 40%, rgba(8,9,14,.22) 100%), linear-gradient(0deg, rgba(7,8,13,.9), transparent 74%); content: ''; transition: background .45s ease; }
.feature-link-card::after { position: absolute; z-index: 3; inset: 0; border: 1px solid transparent; box-shadow: inset 0 0 55px rgba(0,0,0,.18); content: ''; pointer-events: none; transition: border-color .35s ease, box-shadow .45s ease; }
.feature-link-card:hover { border-color: rgba(232,151,145,.78); box-shadow: 0 22px 52px rgba(0,0,0,.28), 0 0 32px rgba(182,73,79,.08); transform: translateY(-6px); }
.feature-link-card:hover .feature-link-card__image { opacity: .9; filter: saturate(1.08) contrast(1.08) brightness(.9); transform: scale(1.1); }
.feature-link-card:hover::before { background: linear-gradient(90deg, rgba(8,9,14,.9) 0%, rgba(8,9,14,.54) 42%, rgba(8,9,14,.1) 100%), linear-gradient(0deg, rgba(7,8,13,.84), transparent 74%); }
.feature-link-card:hover::after { border-color: rgba(241,187,164,.3); box-shadow: inset 0 0 65px rgba(183,74,80,.08); }
.feature-link-card span { position: relative; z-index: 2; color: #ed9790; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-shadow: 0 2px 12px rgba(0,0,0,.88); }
.feature-link-card strong { position: relative; z-index: 2; display: block; max-width: 330px; margin-top: 61px; color: #fff8ef; font-family: Georgia, serif; font-size: 29px; font-weight: 400; letter-spacing: -.065em; line-height: 1; text-shadow: 0 3px 18px rgba(0,0,0,.98); }
.feature-link-card b { position: absolute; z-index: 2; right: 24px; bottom: 23px; color: #f6eee7; font-size: 21px; font-weight: 400; transition: transform .3s var(--ease-out), color .3s ease; }
.feature-link-card:hover b { color: #e99791; transform: translateX(5px); }
@keyframes feature-card-image-in { from { opacity: 0; filter: blur(6px) saturate(.55); transform: scale(1.13); } to { opacity: .7; filter: blur(0) saturate(.84) contrast(1.08) brightness(.76); transform: scale(1.025); } }
@media (prefers-reduced-motion: no-preference) {
    .feature-link-grid.is-revealed .feature-link-card__image { animation: feature-card-image-in .95s cubic-bezier(.16, 1, .3, 1) both; }
    .feature-link-grid.is-revealed .feature-link-card:nth-child(2) .feature-link-card__image { animation-delay: .09s; }
    .feature-link-grid.is-revealed .feature-link-card:nth-child(3) .feature-link-card__image { animation-delay: .18s; }
    .feature-link-grid.is-revealed .feature-link-card:nth-child(4) .feature-link-card__image { animation-delay: .27s; }
    .feature-link-grid.is-revealed .feature-link-card:nth-child(5) .feature-link-card__image { animation-delay: .36s; }
    .feature-link-grid.is-revealed .feature-link-card:nth-child(6) .feature-link-card__image { animation-delay: .45s; }
}

/* L2s Guard callout used on the server introduction page. */
.guard-callout { display: grid; grid-template-columns: minmax(190px, .42fr) 1fr; align-items: center; gap: clamp(28px, 5vw, 78px); overflow: hidden; padding: clamp(34px, 5vw, 66px); border: 1px solid rgba(213, 221, 240, .16); background: radial-gradient(circle at 9% 10%, rgba(77, 155, 200, .2), transparent 30%), radial-gradient(circle at 86% 80%, rgba(205, 118, 128, .15), transparent 33%), linear-gradient(145deg, #111824, #0b0d13 70%); }
.guard-callout-mark { display: grid; min-height: 195px; place-items: center; border: 1px solid rgba(203, 220, 230, .14); background: rgba(4, 9, 16, .42); box-shadow: inset 0 0 70px rgba(35, 119, 162, .08); }
.guard-callout-mark img { display: block; width: min(100%, 210px); height: auto; filter: drop-shadow(0 14px 21px rgba(0, 0, 0, .4)); }
.guard-callout-copy h2 { margin: 17px 0 0; color: #f7f0e8; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4vw, 56px); font-weight: 400; letter-spacing: -.075em; line-height: 1.02; }
.guard-callout-copy h2 em { color: #df8c87; font-style: normal; }
.guard-callout-copy > p:not(.eyebrow) { max-width: 670px; margin: 19px 0 0; color: #aaa19a; font-size: 14px; letter-spacing: -.045em; line-height: 1.82; }
.guard-callout .text-link { display: inline-flex; margin-top: 29px; gap: 13px; align-items: center; color: #f5eee7; font-size: 11px; font-weight: 800; }
.guard-callout .text-link b { color: #e59791; font-size: 18px; font-weight: 400; transition: transform .25s var(--ease-out); }
.guard-callout .text-link:hover b { transform: translateX(5px); }
.page-hero-content > p:not(.eyebrow) { max-width: 545px; margin: 21px 0 0; color: #c8beb4; font-size: 14px; letter-spacing: -.045em; line-height: 1.8; }

@media (max-width: 900px) {
    .feature-story { grid-template-columns: 1fr; min-height: 0; }.feature-story-media { min-height: 410px; }.feature-steps { grid-template-columns: repeat(2, 1fr); }.feature-steps article:nth-child(2) { border-right: 0; }.feature-steps article:nth-child(n+3) { border-top: 1px solid var(--line); }.feature-link-grid { grid-template-columns: repeat(2, 1fr); }.guard-callout { grid-template-columns: 1fr; }.guard-callout-mark { min-height: 168px; }
}
@media (max-width: 620px) {
    .feature-page .page-hero { min-height: 540px; }.feature-story-media { min-height: 280px; }.feature-story-copy { padding: 34px 23px 39px; }.feature-steps { grid-template-columns: 1fr; }.feature-steps article, .feature-steps article + article { min-height: 165px; padding: 25px 0; border-right: 0; border-top: 1px solid var(--line); }.feature-steps article:first-child { border-top: 0; }.feature-steps h3 { margin-top: 23px; }.feature-link-grid { grid-template-columns: 1fr; margin-top: 36px; }.feature-link-card { min-height: 190px; padding: 22px; }.feature-link-card strong { margin-top: 48px; }.feature-link-card b { right: 21px; bottom: 20px; }.page-hero-content > p:not(.eyebrow) { font-size: 13px; }
}

.feature-page .section h2 {
  font-size: clamp(38px, 4vw, 44px) !important;
}

/* headline 크기 축소 */
.feature-page .page-hero h1 {
    font-size: clamp(38px, 4.2vw, 64px) !important;
}

@media (max-width: 760px) {
    .feature-page .page-hero h1 {
        font-size: clamp(34px, 9vw, 50px) !important;
    }
}

/* section-title 크기 축소 eyebrow */
.section-title {
    font-size: clamp(32px, 3.5vw, 52px) !important;
    line-height: 1.08;
}

@media (max-width: 760px) {
    .section-title {
        font-size: clamp(29px, 8.2vw, 42px) !important;
    }
}

.detail-intro-title {
    font-size: clamp(32px, 3.4vw, 50px) !important;
    line-height: 1.08;
}

@media (max-width: 760px) {
    .detail-intro-title {
        font-size: clamp(29px, 8vw, 42px) !important;
    }
}

h2[data-reveal] {
    font-size: clamp(32px, 3.5vw, 50px) !important;
    line-height: 1.08;
}

@media (max-width: 760px) {
    h2[data-reveal] {
        font-size: clamp(29px, 8vw, 42px) !important;
    }
}

body h2 {
    font-size: clamp(25px, 2.4vw, 36px) !important;
    line-height: 1.12 !important;
}

/* Homepage event cards: dedicated imagery, readable overlay and responsive motion. */
.event-card { isolation: isolate; border-color: rgba(235,218,205,.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,.015); transition: border-color .35s ease, box-shadow .35s ease, transform .45s var(--ease-out); }
.event-card::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(8,9,15,.35) 0%, rgba(8,9,15,.55) 36%, rgba(7,8,13,.94) 100%), linear-gradient(90deg, rgba(7,8,13,.5), transparent 78%); content: ''; transition: background .45s ease; }
.event-card::after { z-index: 2; }
.event-card-image { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .72; filter: saturate(.86) contrast(1.08) brightness(.72); transform: scale(1.025); transition: opacity .5s ease, filter .7s ease, transform .9s var(--ease-out); }
.event-card > b, .event-card h3, .event-card p, .event-card a { z-index: 3; }
.event-card h3, .event-card p { text-shadow: 0 3px 18px rgba(0,0,0,.92); }
.event-card:hover { z-index: 2; border-color: rgba(232,151,145,.62); box-shadow: 0 20px 45px rgba(0,0,0,.34), inset 0 0 50px rgba(174,71,77,.08); transform: translateY(-5px); }
.event-card:hover .event-card-image { opacity: .92; filter: saturate(1.08) contrast(1.08) brightness(.82); transform: scale(1.1); }
.event-card:hover::before { background: linear-gradient(180deg, rgba(8,9,15,.22) 0%, rgba(8,9,15,.44) 36%, rgba(7,8,13,.92) 100%), linear-gradient(90deg, rgba(7,8,13,.42), transparent 82%); }
.event-card:hover a b { transform: translateX(5px); }
.event-card a b { transition: color .3s ease, transform .3s var(--ease-out); }
@keyframes event-card-image-in { from { opacity: 0; filter: blur(7px) saturate(.4) brightness(.45); transform: scale(1.16) translateY(12px); } to { opacity: .72; filter: blur(0) saturate(.86) contrast(1.08) brightness(.72); transform: scale(1.025) translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
    .event-strip.is-revealed .event-card-image { animation: event-card-image-in .95s cubic-bezier(.16, 1, .3, 1) backwards; }
    .event-strip.is-revealed .event-card:nth-child(2) .event-card-image { animation-delay: .1s; }
    .event-strip.is-revealed .event-card:nth-child(3) .event-card-image { animation-delay: .2s; }
    .event-strip.is-revealed .event-card:nth-child(4) .event-card-image { animation-delay: .3s; }
}
@media (max-width: 760px) {
    .event-card-image { object-position: center 42%; }
    .event-card:hover { transform: translateY(-3px); }
}
