:root {
    --brand-rgb: 14 143 147;
    --accent-rgb: 255 122 89;
    --brand: #0e8f93;
    --brand-strong: #0b7276;
    --brand-light: #22b3b7;
    --brand-soft: #e6f6f6;
    --accent: #ff7a59;
    --accent-strong: #e85f3d;
    --accent-soft: #ffede7;
    --bg: #fbfbf9;
    --surface-1: #fff;
    --surface-2: #f2f6f6;
    --surface-3: #e7efef;
    --border: #e1e6e6;
    --text: #0f2023;
    --text-2: #4b5c5f;
    --muted: #7a8a8d;
    --nav-bg: rgba(251, 251, 249, .94);
    --card: #fff;
    --shadow: 0 1px 2px rgba(15, 32, 35, .04), 0 10px 30px rgba(15, 32, 35, .07);
    --shadow-hover: 0 4px 8px rgba(15, 32, 35, .06), 0 18px 44px rgba(14, 143, 147, .16);
    --hero-text: #fff;
    --hero-soft: rgba(255,255,255,.86);
    --hero-overlay: linear-gradient(105deg, rgba(4,32,35,.94), rgba(8,48,52,.82) 45%, rgba(11,114,118,.45));
    --band: linear-gradient(135deg, #062e31, #0b7276);
    --radius: 16px;
    --container: 1280px;
}

.dark {
    --brand-rgb: 44 184 188;
    --accent-rgb: 255 142 112;
    --brand: #2cb8bc;
    --brand-strong: #1e9ba0;
    --brand-light: #5fd6d9;
    --brand-soft: #123033;
    --accent: #ff8e70;
    --accent-soft: #35211c;
    --bg: #0b1618;
    --surface-1: #102124;
    --surface-2: #162c30;
    --surface-3: #1d383d;
    --border: #23474c;
    --text: #f2f7f7;
    --text-2: #a9bfc2;
    --muted: #7a9296;
    --nav-bg: rgba(11,22,24,.95);
    --card: #102124;
    --shadow: 0 8px 26px rgba(0,0,0,.34);
    --shadow-hover: 0 18px 44px rgba(44,184,188,.16);
    --hero-overlay: linear-gradient(105deg, rgba(4,20,22,.96), rgba(4,20,22,.84) 45%, rgba(8,48,52,.56));
    --band: linear-gradient(135deg, #041416, #083034);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; transition: background .25s, color .25s; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.16; letter-spacing: -.025em; }
p { color: var(--text-2); }
::selection { background: rgba(var(--brand-rgb), .2); }

.skip-link { position: fixed; z-index: 1000; left: 16px; top: -80px; padding: 10px 16px; color: #fff; background: var(--brand); border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 12px; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.narrow { max-width: 890px; }
.section { padding: 88px 0; }
.surface-alt { background: var(--surface-2); }
.band-deep { background: var(--band); color: #fff; }
.light, .light h2, .light p { color: #fff !important; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; color: #fff; transition: background .25s, box-shadow .25s, color .25s; }
.site-header.scrolled, .site-header.menu-active { color: var(--text); background: var(--nav-bg); box-shadow: 0 1px 0 var(--border); backdrop-filter: blur(14px); }
.nav-shell { width: min(var(--container), calc(100% - 40px)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; flex-direction: column; line-height: 1; flex-shrink: 0; }
.brand-main { font-size: 25px; font-weight: 900; letter-spacing: -.04em; }
.brand-sub { margin-top: 5px; color: var(--brand-light); font-size: 9px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; white-space: nowrap; }
.desktop-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.nav-link { display: inline-flex; align-items: center; gap: 5px; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; color: inherit; font-size: 14px; white-space: nowrap; transition: color .18s, background .18s; }
.nav-link:hover, .nav-link.active { color: var(--brand-light); background: rgba(var(--brand-rgb), .08); }
.scrolled .nav-link:hover, .scrolled .nav-link.active, .menu-active .nav-link:hover, .menu-active .nav-link.active { color: var(--brand); }
.nav-dropdown { position: relative; }
.dropdown-panel { position: absolute; top: calc(100% + 12px); left: 0; width: 250px; padding: 8px; color: var(--text); background: var(--card); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow-hover); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .18s ease; }
.dropdown-panel.wide { width: 285px; }
.nav-dropdown:hover .dropdown-panel, .nav-dropdown:focus-within .dropdown-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-panel a { display: block; padding: 9px 11px; border-radius: 7px; color: var(--text-2); font-size: 13px; }
.dropdown-panel a:hover { color: var(--brand); background: var(--surface-2); }
.nav-pill { display: inline-flex; align-items: center; gap: 7px; margin-left: 6px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.scrolled .nav-pill, .menu-active .nav-pill { border-color: var(--border); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.theme-toggle, .menu-toggle { width: 40px; height: 40px; display: grid; place-items: center; color: inherit; border: 1px solid rgba(255,255,255,.3); border-radius: 9px; background: rgba(255,255,255,.06); }
.scrolled .theme-toggle, .scrolled .menu-toggle, .menu-active .theme-toggle, .menu-active .menu-toggle { border-color: var(--border); background: var(--surface-1); }
.menu-toggle { display: none; font-size: 22px; }
.mobile-menu { max-height: calc(100vh - 76px); overflow-y: auto; padding: 12px 20px 24px; color: var(--text); background: var(--nav-bg); border-top: 1px solid var(--border); }
.mobile-menu a, .mobile-menu summary { display: block; padding: 11px 8px; color: var(--text); font-weight: 600; }
.mobile-menu details a { margin-left: 16px; color: var(--text-2); font-size: 14px; font-weight: 500; }
.mobile-menu .btn { margin-top: 10px; color: #fff; text-align: center; }

.btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 22px; border: 1px solid transparent; border-radius: 9px; font-weight: 700; line-height: 1.25; transition: transform .18s, background .18s, border .18s, box-shadow .18s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--brand); box-shadow: 0 7px 20px rgba(var(--brand-rgb), .28); }
.btn-primary:hover { background: var(--brand-strong); }
.btn-accent { color: #fff; background: var(--accent); box-shadow: 0 7px 20px rgba(var(--accent-rgb), .25); }
.btn-accent:hover { background: var(--accent-strong); }
.btn-outline { color: var(--brand); border-color: var(--brand); }
.btn-outline:hover { color: #fff; background: var(--brand); }
.btn-glass { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.btn-glass:hover { background: rgba(255,255,255,.16); }
.btn-ghost { color: var(--text); border-color: var(--border); background: var(--surface-1); }
.btn-block { width: 100%; }

.hero, .page-hero { position: relative; display: flex; align-items: center; overflow: hidden; color: var(--hero-text); background: #07383b; }
.hero::before, .page-hero::before { position: absolute; inset: 0; content: ""; background-image: var(--hero-image); background-position: center; background-size: cover; }
.hero-overlay { position: absolute; inset: 0; background: var(--hero-overlay); }
.hero-content, .page-hero > .container { position: relative; z-index: 2; }
.home-hero, .program-hero { min-height: 100vh; padding: 120px 0 80px; }
.hero-copy { max-width: 790px; }
.hero h1 { max-width: 880px; margin: 0 0 24px; font-size: clamp(2.25rem, 5vw, 4rem); font-weight: 800; }
.hero-copy > p { max-width: 720px; margin-bottom: 34px; color: var(--hero-soft); font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.trust-list { display: flex; flex-wrap: wrap; gap: 13px 25px; margin: 32px 0 0; padding: 0; list-style: none; color: var(--hero-soft); font-size: 14px; }
.trust-list li::first-letter { color: var(--accent); }
.scroll-cue { position: absolute; z-index: 2; left: 50%; bottom: 24px; color: rgba(255,255,255,.62); font-size: 28px; animation: bob 1.5s infinite; }
@keyframes bob { 50% { transform: translateY(5px); } }
.page-hero { min-height: 610px; padding: 150px 0 90px; }
.page-hero.compact { min-height: 430px; padding: 135px 0 65px; }
.page-hero.no-image { background: var(--band); }
.page-hero.no-image::before { opacity: .12; background-image: radial-gradient(circle at 75% 20%, rgba(255,255,255,.25), transparent 30%), linear-gradient(135deg, transparent, rgba(255,255,255,.04)); }
.page-hero .container { max-width: var(--container); }
.page-hero h1 { max-width: 940px; margin: 10px 0 22px; font-size: clamp(2.15rem, 4.5vw, 3.75rem); font-weight: 800; }
.page-hero p { max-width: 760px; margin-bottom: 28px; color: var(--hero-soft); font-size: 18px; }
.back-link { display: block; margin-bottom: 18px; font-size: 14px; font-weight: 700; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--brand); font-size: 12px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
.eyebrow::before { width: 38px; height: 2px; content: ""; background: currentColor; }
.eyebrow.light { color: rgba(255,255,255,.85); }

.stats-band { color: #fff; background: linear-gradient(120deg, var(--brand-strong), var(--brand)); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 48px; text-align: center; }
.stats-grid strong { display: block; margin-bottom: 4px; font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 900; }
.stats-grid span { color: rgba(255,255,255,.76); font-size: 14px; }
.section-heading { max-width: 760px; margin-bottom: 44px; }
.section-heading.centered { margin-right: auto; margin-left: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading h2, .feature-copy h2, .form-intro h2 { margin-bottom: 18px; font-size: clamp(2rem, 3.5vw, 2.75rem); }
.section-heading p { max-width: 720px; font-size: 17px; }
.section-heading.centered p { margin-inline: auto; }

.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-card { overflow: hidden; display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .25s, box-shadow .25s, border-color .25s; }
.service-card:hover { transform: translateY(-5px); border-color: rgba(var(--brand-rgb), .45); box-shadow: var(--shadow-hover); }
.service-image { aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface-3); }
.service-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.service-card:hover .service-image img { transform: scale(1.045); }
.service-body { position: relative; flex: 1; padding: 34px 25px 25px; }
.icon-chip { position: absolute; top: -25px; left: 24px; width: 50px; height: 50px; display: grid; place-items: center; color: var(--brand); background: var(--card); border: 1px solid var(--border); border-radius: 13px; box-shadow: var(--shadow); font-size: 22px; }
.service-card h2, .service-card h3 { margin: 0 0 10px; font-size: 19px; }
.service-card p { margin-bottom: 15px; font-size: 14px; }
.text-link { color: var(--brand); font-size: 13px; font-weight: 800; }

.split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 90px); align-items: center; }
.feature-copy p { margin-bottom: 18px; font-size: 17px; }
.check-list { margin: 26px 0 32px; padding: 0; list-style: none; }
.check-list li { position: relative; margin: 12px 0; padding-left: 30px; color: var(--text-2); }
.check-list li::before { position: absolute; left: 0; top: 1px; width: 20px; height: 20px; display: grid; place-items: center; content: "✓"; color: #fff; background: var(--brand); border-radius: 50%; font-size: 12px; font-weight: 900; }
.feature-visual { position: relative; }
.feature-visual::before { position: absolute; z-index: -1; inset: -16px 18px 18px -16px; content: ""; background: var(--brand-soft); border-radius: 24px; }
.feature-visual img { width: 100%; min-height: 430px; object-fit: cover; border-radius: 22px; box-shadow: var(--shadow-hover); }
.floating-label { position: absolute; right: -18px; bottom: 24px; min-width: 180px; padding: 18px 22px; color: #fff; background: var(--brand); border-radius: 13px; box-shadow: var(--shadow-hover); }
.floating-label.coral { background: var(--accent); }
.floating-label strong, .floating-label span { display: block; }
.floating-label strong { font-size: 17px; }
.floating-label span { color: rgba(255,255,255,.78); font-size: 12px; }
.audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.audience-grid div { min-height: 155px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.audience-grid span { color: var(--brand); font-size: 29px; }

.stats-cards-overlap { position: relative; z-index: 3; margin-top: -55px; }
.mini-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mini-stat-grid div { padding: 24px; text-align: center; background: var(--card); border: 1px solid var(--border); border-radius: 15px; box-shadow: var(--shadow-hover); }
.mini-stat-grid strong, .mini-stat-grid span { display: block; }
.mini-stat-grid strong { color: var(--brand); font-size: 23px; }
.mini-stat-grid span { margin-top: 4px; color: var(--text-2); font-size: 13px; }
.lead-copy { margin-bottom: 18px; font-size: 18px; line-height: 1.8; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.benefit-card { display: flex; align-items: flex-start; gap: 12px; min-height: 100px; padding: 20px; background: var(--card); border: 1px solid var(--border); border-radius: 13px; box-shadow: var(--shadow); }
.benefit-card > span { flex: 0 0 26px; height: 26px; display: grid; place-items: center; color: #fff; background: var(--brand); border-radius: 50%; font-size: 13px; }
.benefit-card p { margin: 1px 0 0; color: var(--text); font-weight: 650; }
.number-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.number-grid > div, .number-grid > a { min-height: 175px; padding: 27px; background: var(--card); border: 1px solid var(--border); border-radius: 15px; box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.number-grid > a:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.number-grid span { display: block; margin-bottom: 24px; color: var(--brand); font-size: 13px; font-weight: 900; letter-spacing: .15em; }
.number-grid h3 { margin-bottom: 9px; font-size: 18px; }
.number-grid p { font-size: 14px; }
.compact-grid > div { min-height: 125px; }
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.process-grid div { position: relative; padding-top: 56px; }
.process-grid div:not(:last-child)::after { position: absolute; top: 20px; left: 42px; width: calc(100% - 30px); height: 1px; content: ""; background: var(--border); }
.process-grid span { position: absolute; z-index: 2; top: 0; left: 0; width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--brand); border-radius: 50%; font-weight: 900; }
.process-grid h3 { font-size: 16px; }
.process-grid.light div:not(:last-child)::after { background: rgba(255,255,255,.22); }
.process-grid.light h3 { color: #fff; }

.form-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(35px, 7vw, 90px); align-items: start; }
.form-intro { position: sticky; top: 112px; padding-top: 30px; }
.contact-card, .office-card { padding: clamp(24px, 5vw, 42px); background: var(--card); border: 1px solid var(--border); border-radius: 20px; box-shadow: var(--shadow-hover); }
.contact-card h2, .office-card h2 { margin-bottom: 10px; font-size: clamp(1.7rem, 3vw, 2.25rem); }
.contact-form { display: grid; gap: 17px; margin-top: 28px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-form label { color: var(--text); font-size: 13px; font-weight: 750; }
.contact-form label > span { color: var(--accent); }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; margin-top: 7px; padding: 12px 14px; color: var(--text); background: var(--surface-2); border: 1px solid var(--border); border-radius: 9px; outline: none; transition: border .18s, box-shadow .18s; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .12); }
.contact-form textarea { resize: vertical; }
.check-label { display: flex; align-items: flex-start; gap: 10px; color: var(--text-2) !important; font-weight: 500 !important; }
.check-label input { width: 17px; margin-top: 3px; accent-color: var(--brand); }
.check-label span { color: var(--text-2) !important; }
.check-label a { color: var(--brand); text-decoration: underline; }
.honeypot { position: absolute; left: -9999px; }
.form-alert { padding: 13px 15px; border-radius: 9px; font-size: 14px; }
.form-alert.success { color: #0d684a; background: #e6f8f0; border: 1px solid #b8ead7; }
.form-alert.error { color: #8d2e2e; background: #fff0f0; border: 1px solid #f3c7c7; }
.dark .form-alert.success { color: #8ee6c4; background: #13352c; border-color: #245b49; }
.dark .form-alert.error { color: #ffb4b4; background: #3c2020; border-color: #6b3434; }
.office-item { display: flex; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--border); }
.office-item span { color: var(--brand); font-size: 20px; }
.office-item p { margin: 0; }
.office-card > .btn { margin-top: 25px; }

.change-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.change-grid article { padding: 30px; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.change-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 25px; color: var(--brand); background: var(--brand-soft); border-radius: 12px; font-size: 22px; }
.change-grid h3 { margin-bottom: 10px; }
.audience-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.audience-cards article { overflow: hidden; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.audience-cards img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.audience-cards h3 { padding: 24px; }

.link-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.link-card-grid a { min-height: 220px; padding: 26px; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); transition: .2s; }
.link-card-grid a:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.link-card-grid span { color: var(--brand); font-size: 25px; }
.link-card-grid h3 { margin: 30px 0 9px; }
.link-card-grid p { font-size: 14px; }
.link-card-grid strong { color: var(--brand); font-size: 13px; }
.people-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.person-card { display: flex; gap: 20px; padding: 25px; background: var(--card); border: 1px solid var(--border); border-radius: 15px; box-shadow: var(--shadow); }
.avatar { flex: 0 0 58px; height: 58px; display: grid; place-items: center; color: #fff; background: var(--brand); border-radius: 50%; font-size: 21px; font-weight: 900; }
.person-card h2 { margin-bottom: 5px; font-size: 18px; }
.person-card strong { color: var(--brand); font-size: 13px; }
.person-card p { margin: 5px 0 0; font-size: 13px; }
.content-stack { display: grid; gap: 26px; }
.content-stack article { padding: 32px; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); }
.content-stack h2 { margin-bottom: 12px; font-size: 25px; }
.content-stack p { margin-bottom: 0; font-size: 17px; line-height: 1.75; }

.regulation-list { display: grid; gap: 13px; }
.regulation-list a { position: relative; padding: 25px 130px 25px 26px; background: var(--card); border: 1px solid var(--border); border-radius: 13px; box-shadow: var(--shadow); transition: .2s; }
.regulation-list a:hover { transform: translateX(4px); border-color: var(--brand); }
.regulation-list div { display: flex; gap: 12px; margin-bottom: 8px; color: var(--brand); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.regulation-list h2 { margin: 0; font-size: 18px; }
.regulation-list p { margin: 6px 0 0; font-size: 13px; }
.regulation-list strong { position: absolute; top: 50%; right: 25px; color: var(--brand); font-size: 13px; transform: translateY(-50%); }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 50px; align-items: start; }
.article-aside { position: sticky; top: 110px; padding: 27px; background: var(--card); border: 1px solid var(--border); border-radius: 15px; box-shadow: var(--shadow); }
.article-aside h3 { font-size: 22px; }
.legal-content { font-size: 16px; }
.legal-content > p:first-child { font-size: 18px; }
.legal-content h2 { margin: 34px 0 13px; font-size: 24px; }
.legal-content p, .legal-content li { color: var(--text-2); line-height: 1.8; }
.legal-content a { color: var(--brand); text-decoration: underline; }
.legal-content li { margin: 7px 0; }
.info-box { margin: 28px 0; padding: 22px; background: var(--brand-soft); border-left: 4px solid var(--brand); border-radius: 0 12px 12px 0; }
.info-box p { margin-bottom: 0; }
.updated { margin-top: 40px; color: var(--muted) !important; font-size: 13px; }

.closing-cta { padding: 58px 0; color: #fff; background: linear-gradient(120deg, var(--brand-strong), var(--brand)); }
.closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.closing-inner h2 { margin-bottom: 8px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.closing-inner p { margin: 0; color: rgba(255,255,255,.76); }
.site-footer { color: #cbd7d8; background: #07191b; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .7fr 1fr 1.2fr; gap: 50px; padding-block: 65px; }
.footer-brand { color: #fff; }
.footer-intro p { max-width: 320px; margin-top: 22px; color: #8ea3a5; font-size: 14px; }
.footer-grid h3 { margin-bottom: 17px; color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.footer-grid > div:not(:first-child) a { display: block; margin: 9px 0; color: #9fb2b4; font-size: 14px; }
.footer-grid > div:not(:first-child) a:hover { color: var(--brand-light); }
.footer-grid p { color: #8ea3a5; font-size: 14px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 28px; border-top: 1px solid #153033; color: #6f898c; font-size: 12px; }
.footer-bottom div { display: flex; flex-wrap: wrap; gap: 16px; }
.cookie-settings { padding: 0; color: inherit; border: 0; background: transparent; }
.whatsapp-float { position: fixed; z-index: 80; right: 22px; bottom: 22px; width: 54px; height: 54px; display: grid; place-items: center; color: #fff; background: #25d366; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 10px 30px rgba(0,0,0,.22); font-size: 12px; font-weight: 900; }
.cookie-banner { position: fixed; z-index: 200; right: 18px; bottom: 18px; left: 18px; max-width: 760px; margin: auto; display: flex; align-items: center; gap: 25px; padding: 20px; background: var(--card); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.24); }
.cookie-banner[hidden] { display: none; }
.cookie-banner strong { display: block; margin-bottom: 4px; }
.cookie-banner p { margin: 0; font-size: 13px; }
.cookie-actions { display: flex; flex-shrink: 0; gap: 8px; }
.cookie-actions .btn { min-height: 40px; padding: 9px 15px; font-size: 13px; }

.not-found { min-height: 75vh; display: grid; place-items: center; padding: 130px 0 60px; text-align: center; }
.not-found span { color: var(--brand); font-size: 90px; font-weight: 900; line-height: 1; }
.not-found h1 { margin: 20px 0 10px; font-size: 36px; }

@media (max-width: 1120px) {
    .desktop-nav { display: none; }
    .menu-toggle { display: grid; }
    .nav-cta { display: none; }
    .nav-shell { min-height: 70px; }
    .page-hero { min-height: 560px; }
}

@media (max-width: 900px) {
    .section { padding: 68px 0; }
    .service-grid, .number-grid, .link-card-grid { grid-template-columns: 1fr 1fr; }
    .split-grid { gap: 45px; }
    .benefit-grid { grid-template-columns: 1fr 1fr; }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .process-grid div::after { display: none; }
    .form-layout { grid-template-columns: 1fr; }
    .form-intro { position: static; padding-top: 0; }
    .change-grid { grid-template-columns: 1fr; }
    .audience-cards { grid-template-columns: 1fr 1fr; }
    .article-layout { grid-template-columns: 1fr; }
    .article-aside { position: static; }
    .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-intro { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .container, .nav-shell { width: min(100% - 28px, var(--container)); }
    .home-hero, .program-hero { min-height: 780px; padding-top: 120px; }
    .hero h1 { font-size: 2.45rem; }
    .hero-copy > p { font-size: 16px; }
    .hero-actions .btn { width: 100%; }
    .trust-list { display: grid; gap: 8px; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 32px 10px; padding-block: 38px; }
    .stats-grid strong { font-size: 2.2rem; }
    .service-grid, .number-grid, .link-card-grid, .people-grid, .audience-cards { grid-template-columns: 1fr; }
    .split-grid { grid-template-columns: 1fr; }
    .reverse-on-mobile .feature-visual { order: 2; }
    .feature-visual img { min-height: 320px; }
    .floating-label { right: 12px; bottom: 12px; }
    .audience-grid { grid-template-columns: 1fr 1fr; }
    .audience-grid div { min-height: 125px; padding: 18px; }
    .mini-stat-grid { grid-template-columns: 1fr; }
    .stats-cards-overlap { margin-top: -28px; }
    .benefit-grid { grid-template-columns: 1fr; }
    .process-grid { grid-template-columns: 1fr; }
    .process-grid div { min-height: 85px; padding: 10px 0 0 60px; }
    .form-row { grid-template-columns: 1fr; }
    .page-hero, .page-hero.compact { min-height: 470px; padding: 120px 0 55px; }
    .page-hero h1 { font-size: 2.35rem; }
    .regulation-list a { padding: 22px; }
    .regulation-list strong { position: static; display: block; margin-top: 14px; transform: none; }
    .closing-inner { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
    .footer-bottom { flex-direction: column; }
    .cookie-banner { align-items: stretch; flex-direction: column; gap: 14px; }
    .cookie-actions { justify-content: flex-end; }
    .whatsapp-float { right: 14px; bottom: 14px; }
}

@media (max-width: 430px) {
    .section { padding: 56px 0; }
    .theme-toggle { display: none; }
    .hero h1, .page-hero h1 { font-size: 2.05rem; }
    .audience-grid, .footer-grid { grid-template-columns: 1fr; }
    .footer-intro { grid-column: auto; }
    .contact-card, .office-card { padding: 22px 18px; }
    .cookie-actions .btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Premium visual layer */
.header-progress { position: absolute; inset: 0 auto auto 0; width: var(--scroll-progress, 0%); height: 2px; background: linear-gradient(90deg, var(--brand-light), var(--accent)); box-shadow: 0 0 16px rgba(var(--accent-rgb), .6); transition: width .08s linear; }
.home-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, #000, transparent 72%); }
.hero-premium-layout { display: grid; grid-template-columns: minmax(0, 1fr) 355px; gap: clamp(45px, 7vw, 105px); align-items: center; }
.hero-premium-layout .hero-copy { max-width: 780px; }
.hero-status { width: fit-content; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 25px; padding: 8px 13px 8px 10px; color: rgba(255,255,255,.9); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; backdrop-filter: blur(12px); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero-status i { position: relative; width: 8px; height: 8px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 5px rgba(var(--accent-rgb), .13); }
.hero-status i::after { position: absolute; inset: -4px; content: ""; border: 1px solid rgba(var(--accent-rgb), .6); border-radius: 50%; animation: statusPulse 2.4s ease-out infinite; }
@keyframes statusPulse { 0% { transform: scale(.65); opacity: 1; } 80%, 100% { transform: scale(1.8); opacity: 0; } }
.hero-ambient { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero-ambient span { position: absolute; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.hero-ambient span:first-child { top: -260px; right: -150px; width: 620px; height: 620px; box-shadow: inset 0 0 90px rgba(var(--brand-rgb), .09); }
.hero-ambient span:last-child { right: 15%; bottom: -280px; width: 520px; height: 520px; border-color: rgba(var(--accent-rgb), .16); }
.hero-insight-card { position: relative; padding: 24px; color: #fff; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); border: 1px solid rgba(255,255,255,.23); border-radius: 24px; box-shadow: 0 30px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16); backdrop-filter: blur(20px); transform: translateY(15px); }
.hero-insight-card::before { position: absolute; top: -1px; left: 35px; width: 95px; height: 2px; content: ""; background: linear-gradient(90deg, var(--accent), transparent); }
.insight-topline { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.64); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.insight-topline strong { color: rgba(255,255,255,.9); font-size: 13px; letter-spacing: .05em; }
.deadline-orbit { width: 160px; height: 160px; display: grid; place-items: center; margin: 24px auto 26px; padding: 8px; background: conic-gradient(var(--accent) 0 76%, rgba(255,255,255,.16) 76% 100%); border-radius: 50%; box-shadow: 0 0 35px rgba(var(--accent-rgb), .12); }
.deadline-orbit > div { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; background: rgba(7,40,43,.95); border-radius: 50%; box-shadow: inset 0 0 28px rgba(0,0,0,.3); }
.deadline-orbit small { color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .23em; }
.deadline-orbit strong { margin: 1px 0 -4px; font-family: Georgia, "Times New Roman", serif; font-size: 48px; font-weight: 500; line-height: 1; }
.deadline-orbit span { color: var(--accent); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.insight-list { display: grid; gap: 6px; }
.insight-list > div { display: grid; grid-template-columns: 25px 1fr 24px; gap: 9px; align-items: center; padding: 10px 11px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09); border-radius: 10px; }
.insight-list > div > span { color: rgba(255,255,255,.4); font-size: 9px; font-weight: 800; }
.insight-list p { margin: 0; }
.insight-list p strong, .insight-list p small { display: block; }
.insight-list p strong { color: #fff; font-size: 12px; }
.insight-list p small { color: rgba(255,255,255,.5); font-size: 9px; }
.insight-list i { width: 22px; height: 22px; display: grid; place-items: center; color: var(--brand-light); background: rgba(var(--brand-rgb), .15); border-radius: 50%; font-size: 10px; font-style: normal; }
.hero-insight-card > a { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding-top: 15px; color: rgba(255,255,255,.82); border-top: 1px solid rgba(255,255,255,.13); font-size: 11px; font-weight: 750; }
.hero-insight-card > a span { color: var(--accent); font-size: 16px; }
.stats-grid > div { position: relative; }
.stats-grid > div:not(:last-child)::after { position: absolute; top: 10%; right: 0; width: 1px; height: 80%; content: ""; background: linear-gradient(transparent, rgba(255,255,255,.35), transparent); }
.service-grid { counter-reset: premium-service; }
.premium-card { position: relative; counter-increment: premium-service; border-color: color-mix(in srgb, var(--border) 80%, var(--brand) 20%); }
.premium-card::before { position: absolute; z-index: 3; top: 16px; right: 16px; min-width: 35px; height: 35px; display: grid; place-items: center; content: "0" counter(premium-service); color: rgba(255,255,255,.92); background: rgba(4,32,35,.46); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; backdrop-filter: blur(9px); font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.premium-card .service-image { position: relative; }
.premium-card .service-image::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(transparent, rgba(5,34,37,.32)); }
.premium-card .service-body::after { position: absolute; right: 22px; bottom: 18px; width: 6px; height: 6px; content: ""; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 5px var(--accent-soft); transition: transform .25s; }
.premium-card:hover .service-body::after { transform: scale(1.35); }
.premium-section { position: relative; overflow: hidden; }
.premium-section::after { position: absolute; z-index: 0; top: -190px; right: -200px; width: 430px; height: 430px; content: ""; pointer-events: none; background: radial-gradient(circle, rgba(var(--brand-rgb), .10), transparent 68%); border-radius: 50%; }
.premium-section > .container { position: relative; z-index: 1; }
.wellness-premium::after { right: auto; left: -180px; background: radial-gradient(circle, rgba(var(--accent-rgb), .09), transparent 68%); }
.credential-strip { position: relative; z-index: 5; background: var(--surface-1); border-bottom: 1px solid var(--border); }
.credential-inner { min-height: 112px; display: grid; grid-template-columns: 250px 1fr; gap: 40px; align-items: center; }
.credential-inner > p { margin: 0; padding-right: 30px; color: var(--muted); border-right: 1px solid var(--border); font-size: 11px; font-weight: 750; letter-spacing: .12em; line-height: 1.7; text-transform: uppercase; }
.credential-inner > p span { display: block; color: var(--brand); }
.credential-logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.credential-logos > span { position: relative; display: flex; justify-content: center; flex-direction: column; min-height: 65px; padding: 8px 16px; color: var(--text); border-radius: 10px; transition: background .2s, transform .2s; }
.credential-logos > span:hover { background: var(--surface-2); transform: translateY(-2px); }
.credential-logos > span:not(:last-child)::after { position: absolute; top: 20%; right: 0; width: 1px; height: 60%; content: ""; background: var(--border); }
.credential-logos strong { font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
.credential-logos small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.section-heading.centered::after { width: 90px; height: 1px; display: block; margin: 25px auto 0; content: ""; background: linear-gradient(90deg, transparent, var(--brand), var(--accent), transparent); }
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after { position: absolute; top: -50%; left: -75%; width: 45%; height: 200%; content: ""; background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent); transform: rotate(18deg); transition: left .65s ease; }
.btn-primary:hover::after { left: 130%; }
.closing-cta { position: relative; overflow: hidden; }
.cta-glow { position: absolute; right: 9%; bottom: -160px; width: 380px; height: 380px; background: radial-gradient(circle, rgba(var(--accent-rgb), .25), transparent 68%); border-radius: 50%; pointer-events: none; }
.closing-inner { position: relative; z-index: 1; }
.reveal-ready { opacity: 0; transform: translateY(28px); transition: opacity .75s cubic-bezier(.2,.75,.2,1), transform .75s cubic-bezier(.2,.75,.2,1); }
.reveal-ready.is-visible { opacity: 1; transform: none; }
.service-grid .reveal-ready:nth-child(2), .benefit-grid .reveal-ready:nth-child(2), .change-grid .reveal-ready:nth-child(2) { transition-delay: .08s; }
.service-grid .reveal-ready:nth-child(3), .benefit-grid .reveal-ready:nth-child(3), .change-grid .reveal-ready:nth-child(3) { transition-delay: .16s; }

@media (max-width: 1120px) {
    .hero-premium-layout { grid-template-columns: minmax(0, 1fr) 315px; gap: 35px; }
    .hero-insight-card { padding: 20px; }
    .deadline-orbit { width: 140px; height: 140px; }
}

@media (max-width: 900px) {
    .hero-premium-layout { display: block; }
    .hero-insight-card { display: none; }
    .credential-inner { grid-template-columns: 1fr; gap: 10px; padding-block: 24px; }
    .credential-inner > p { padding: 0 0 14px; border-right: 0; border-bottom: 1px solid var(--border); }
}

@media (max-width: 720px) {
    .hero-status { max-width: 100%; font-size: 8px; letter-spacing: .12em; }
    .home-hero::after { background-size: 48px 48px; }
    .credential-logos { grid-template-columns: 1fr 1fr; }
    .credential-logos > span { padding-left: 0; }
    .credential-logos > span:nth-child(2)::after { display: none; }
    .stats-grid > div:nth-child(2)::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-ready { opacity: 1; transform: none; }
}

/* Authentic brand assets */
.brand-logo-link { position: relative; width: 124px; height: 60px; overflow: hidden; display: block; flex-shrink: 0; background: #0a0a0a; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; box-shadow: 0 8px 28px rgba(0,0,0,.16); }
.brand-logo { position: absolute; top: 50%; left: 0; width: 100%; height: auto; transform: translateY(-50%); }
.site-header.scrolled .brand-logo-link, .site-header.menu-active .brand-logo-link { border-color: rgba(var(--brand-rgb), .22); box-shadow: 0 6px 20px rgba(15,32,35,.12); }
.footer-brand.brand-logo-link { width: 172px; height: 84px; border-color: #1b3437; box-shadow: none; }
.footer-logo { width: 100%; }
.whatsapp-float { position: fixed; z-index: 80; right: 22px; bottom: 22px; width: auto; height: auto; display: flex; align-items: center; gap: 10px; color: #fff; background: transparent; border: 0; border-radius: 999px; box-shadow: none; font-size: 13px; font-weight: 800; }
.whatsapp-label { padding: 10px 14px; color: var(--text); background: var(--card); border: 1px solid var(--border); border-radius: 999px; box-shadow: 0 10px 30px rgba(0,0,0,.16); opacity: 0; transform: translateX(10px); transition: opacity .22s, transform .22s; }
.whatsapp-icon { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 58px; background: #25d366; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 12px 32px rgba(0,0,0,.25), 0 0 0 7px rgba(37,211,102,.12); transition: transform .2s, box-shadow .2s; }
.whatsapp-icon svg { width: 29px; height: 29px; fill: #fff; }
.whatsapp-float:hover .whatsapp-label, .whatsapp-float:focus-visible .whatsapp-label { opacity: 1; transform: translateX(0); }
.whatsapp-float:hover .whatsapp-icon { transform: translateY(-2px) scale(1.04); box-shadow: 0 16px 38px rgba(0,0,0,.28), 0 0 0 9px rgba(37,211,102,.15); }

@media (max-width: 720px) {
    .brand-logo-link { width: 108px; height: 54px; }
    .whatsapp-float { right: 14px; bottom: 14px; }
    .whatsapp-label { display: none; }
    .whatsapp-icon { width: 55px; height: 55px; flex-basis: 55px; }
}

/* GRS Longevity theme */
:root {
    --brand-rgb: 31 128 107;
    --accent-rgb: 201 169 105;
    --brand: #1f806b;
    --brand-strong: #125747;
    --brand-light: #6bc6a8;
    --brand-soft: #e4f1eb;
    --accent: #c9a969;
    --accent-strong: #a88649;
    --accent-soft: #f4ead7;
    --bg: #f8f6ef;
    --surface-1: #fffefa;
    --surface-2: #eef3ec;
    --surface-3: #dee9df;
    --border: #dce5dc;
    --text: #102c25;
    --text-2: #52665f;
    --muted: #7c8c86;
    --nav-bg: rgba(248,246,239,.94);
    --card: #fffefa;
    --hero-overlay: linear-gradient(96deg, rgba(4,28,23,.95) 0%, rgba(7,47,38,.84) 42%, rgba(12,59,46,.26) 72%, rgba(8,31,25,.12) 100%);
    --band: linear-gradient(135deg, #071f1a, #123f34 60%, #1f6655);
}
.dark {
    --brand-rgb: 89 185 151;
    --accent-rgb: 224 193 126;
    --brand: #59b997;
    --brand-strong: #3a9a7b;
    --brand-light: #83d4b7;
    --brand-soft: #17382e;
    --accent: #e0c17e;
    --accent-strong: #c8a35a;
    --accent-soft: #352f20;
    --bg: #071612;
    --surface-1: #0d211b;
    --surface-2: #122b23;
    --surface-3: #19372e;
    --border: #25483d;
    --text: #f2f6f0;
    --text-2: #adc1b9;
    --muted: #7f9b91;
    --nav-bg: rgba(7,22,18,.94);
    --card: #0d211b;
    --hero-overlay: linear-gradient(96deg, rgba(2,16,13,.97), rgba(5,35,28,.88) 45%, rgba(10,53,42,.4) 75%);
}
body { font-family: "Segoe UI Variable Text", "Aptos", Inter, ui-sans-serif, system-ui, sans-serif; }
h1, h2, h3 { letter-spacing: -.038em; }
.feature-copy h2 em, .longevity-hero h1 em { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-style: italic; }
.longevity-brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; color: #fff; }
.grs-logo-crop { position: relative; display: block; overflow: hidden; }
.grs-logo-switch { width: 84px; height: 58px; flex: 0 0 84px; }
.grs-logo { position: absolute; top: 0; left: 0; width: 100%; height: auto; max-width: none; }
.grs-logo-switch .grs-logo { transition: opacity .2s ease; }
.grs-logo-dark { opacity: 0; }
.longevity-brand-name { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.3); font-size: 12px; font-weight: 650; letter-spacing: .2em; text-transform: uppercase; }
.site-header.scrolled .longevity-brand, .site-header.menu-active .longevity-brand { color: var(--text); }
.site-header.scrolled .grs-logo-light, .site-header.menu-active .grs-logo-light { opacity: 0; }
.site-header.scrolled .grs-logo-dark, .site-header.menu-active .grs-logo-dark { opacity: 1; }
.site-header.scrolled .longevity-brand-name, .site-header.menu-active .longevity-brand-name { border-color: var(--border); }
.dark .site-header.scrolled .grs-logo-light, .dark .site-header.menu-active .grs-logo-light { opacity: 1; }
.dark .site-header.scrolled .grs-logo-dark, .dark .site-header.menu-active .grs-logo-dark { opacity: 0; }
.footer-longevity-brand { align-items: center; color: #fff; }
.footer-grs-logo { width: 128px; height: 88px; flex: 0 0 128px; }
.footer-longevity-brand .longevity-brand-name { font-size: 14px; }
.longevity-hero { background: #071f1a; }
.longevity-hero::before { background-position: center center; }
.longevity-hero .hero-overlay { background: var(--hero-overlay); }
.longevity-hero h1 { font-size: clamp(2.7rem, 5.7vw, 5rem); line-height: 1.02; }
.longevity-hero h1 em { display: inline-block; }
.longevity-hero .hero-copy > p { max-width: 660px; }
.longevity-insight { border-color: rgba(218,196,141,.32); background: linear-gradient(145deg, rgba(9,47,38,.72), rgba(7,31,26,.55)); }
.longevity-orbit { background: conic-gradient(var(--accent) 0 82%, rgba(255,255,255,.12) 82% 100%); }
.longevity-orbit > div { background: rgba(5,30,24,.96); }
.longevity-orbit strong { font-size: 35px; }
.longevity-pillars strong { color: var(--brand-strong); }
.dark .longevity-pillars strong { color: var(--brand-light); }
.longevity-stats { background: linear-gradient(115deg, #0b392e, #1c765f 55%, #265e4e); }

/* Cinematic forest retreat intro */
.longevity-intro { position: fixed; z-index: 9999; inset: 0; overflow: hidden; color: #fff; background: #07120d; opacity: 1; visibility: visible; transition: opacity 1s ease, visibility 1s ease; }
.longevity-intro::before, .longevity-intro::after { position: absolute; z-index: 7; right: 0; left: 0; height: 7vh; content: ""; background: #030907; pointer-events: none; animation: introCurtain .9s .15s cubic-bezier(.7,0,.2,1) forwards; }
.longevity-intro::before { top: 0; transform-origin: top; }
.longevity-intro::after { bottom: 0; transform-origin: bottom; }
.intro-seen .longevity-intro { display: none; }
.longevity-intro.is-closing { opacity: 0; visibility: hidden; }
body.intro-active { overflow: hidden; }
.intro-media { position: absolute; inset: 0; overflow: hidden; background: #07120d; }
.intro-film { position: absolute; inset: -3%; background-image: var(--intro-image); background-position: center 54%; background-size: cover; transform: scale(1.08); animation: introFallback 8.6s ease-out forwards; }
.intro-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; opacity: 0; transform: scale(1.035); transition: opacity .7s ease; animation: introVideoDrift 8.6s linear forwards; }
.intro-video.is-ready { opacity: 1; }
.video-fallback .intro-video { display: none; }
.intro-film-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,15,10,.85) 0%, rgba(3,15,10,.54) 35%, rgba(3,15,10,.08) 69%, rgba(3,15,10,.18) 100%), linear-gradient(0deg, rgba(3,12,9,.6), transparent 44%); animation: introLight 3.5s ease-out forwards; }
.intro-skip { position: absolute; z-index: 5; top: 30px; right: 36px; padding: 9px 14px; color: rgba(255,255,255,.84); background: rgba(4,19,13,.24); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; backdrop-filter: blur(10px); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.intro-skip span { margin-left: 7px; color: #e2c886; }
.intro-cinematic-copy { position: absolute; z-index: 3; left: clamp(24px, 7vw, 104px); top: 50%; width: min(680px, calc(100% - 48px)); transform: translateY(-46%); }
.intro-wordmark { display: inline-flex; align-items: center; gap: 16px; margin-bottom: 48px; opacity: 0; transform: translateY(16px); animation: introReveal .85s .45s forwards; }
.intro-grs-logo { width: 156px; height: 108px; flex: 0 0 156px; }
.intro-wordmark span { font-size: 14px; letter-spacing: .32em; text-transform: uppercase; }
.intro-kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: rgba(255,255,255,.76); font-size: 9px; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; opacity: 0; transform: translateY(16px); animation: introReveal .85s .8s forwards; }
.intro-kicker > span { width: 34px; height: 1px; background: #e2c886; }
.intro-cinematic-copy h2 { margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6.3vw, 6.6rem); font-weight: 400; line-height: .96; letter-spacing: -.055em; text-shadow: 0 8px 34px rgba(0,0,0,.28); opacity: 0; transform: translateY(25px); animation: introReveal 1s 1.05s forwards; }
.intro-cinematic-copy h2 span, .intro-cinematic-copy h2 em { display: inline-block; }
.intro-cinematic-copy h2 em { color: #e2c886; font-weight: 400; }
.intro-enter { display: inline-flex; align-items: center; gap: 18px; margin-top: 38px; padding: 13px 0; color: #fff; background: transparent; border: 0; border-bottom: 1px solid rgba(226,200,134,.75); font-size: 10px; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; opacity: 0; transform: translateY(16px); animation: introReveal .8s 1.55s forwards; }
.intro-enter span { color: #e2c886; font-size: 18px; transition: transform .2s; }
.intro-enter:hover span { transform: translateX(6px); }
.intro-scene-label { position: absolute; z-index: 4; right: 36px; bottom: 52px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.8); opacity: 0; animation: introReveal .8s 1.8s forwards; }
.intro-scene-label > span { color: #e2c886; font: 30px/1 Georgia, serif; }
.intro-scene-label p { margin: 0; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.3); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.intro-scene-label small { display: block; margin-top: 4px; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 600; letter-spacing: .12em; }
.intro-progress { position: absolute; z-index: 4; right: 36px; bottom: 28px; left: 36px; height: 1px; overflow: hidden; background: rgba(255,255,255,.2); }
.intro-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #7cae91, #e2c886); transform: translateX(-100%); animation: introProgress 8.4s linear forwards; }
@keyframes introCurtain { to { transform: scaleY(0); } }
@keyframes introFallback { to { transform: scale(1.01); } }
@keyframes introVideoDrift { to { transform: scale(1); } }
@keyframes introLight { from { opacity: .92; } to { opacity: 1; } }
@keyframes introReveal { to { opacity: 1; transform: translateY(0); } }
@keyframes introProgress { to { transform: translateX(0); } }

/* Fixed contact rail */
.contact-rail { position: fixed; z-index: 90; right: 18px; top: 50%; padding: 2px; overflow: hidden; border-radius: 22px; isolation: isolate; opacity: 1; transform: translateY(-50%); box-shadow: 0 22px 60px rgba(0,0,0,.35), 0 0 24px rgba(201,169,105,.13); transition: opacity .24s ease, transform .24s ease; }
.contact-rail.is-scrolling { opacity: .42; }
.contact-rail::before { position: absolute; z-index: 0; left: 50%; top: 50%; width: 500px; height: 500px; margin: -250px 0 0 -250px; content: ""; background: conic-gradient(from 0deg, transparent 0 67%, rgba(215,180,91,.18) 74%, #d7b45b 81%, #fff0b0 84%, #d7b45b 87%, transparent 94%); animation: contactRailOrbit 5s linear infinite; pointer-events: none; }
.contact-rail::after { position: absolute; z-index: 0; inset: 2px; content: ""; border: 1px solid rgba(255,255,255,.07); border-radius: 20px; pointer-events: none; }
.contact-rail-inner { position: relative; z-index: 1; width: 62px; display: flex; align-items: center; flex-direction: column; gap: 7px; padding: 8px; border-radius: 20px; background: linear-gradient(160deg, rgba(26,34,29,.98), rgba(7,13,10,.99)); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.contact-rail-action { position: relative; width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; padding: 0; color: #fff; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.contact-rail-action:hover, .contact-rail-action:focus-visible { transform: translateX(-3px); border-color: rgba(255,255,255,.25); }
.contact-rail-action img { width: 20px; height: 20px; object-fit: contain; filter: brightness(0) invert(1); }
.contact-rail-action > span:last-child { position: absolute; right: calc(100% + 11px); top: 50%; min-width: max-content; padding: 8px 11px; color: #fff; background: rgba(7,13,10,.96); border: 1px solid rgba(226,200,134,.3); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.25); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: 0; visibility: hidden; transform: translate(6px,-50%); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; pointer-events: none; }
.contact-rail-action:hover > span:last-child, .contact-rail-action:focus-visible > span:last-child { opacity: 1; visibility: visible; transform: translate(0,-50%); }
.contact-rail-glyph { color: #fff; font: 21px/1 Georgia, serif; }
.contact-rail-book { color: #1a2b22; background: linear-gradient(145deg, #f0d994, #b99142); border-color: rgba(255,240,176,.75); }
.contact-rail-book .contact-rail-glyph { color: #17382d; }
.contact-rail-whatsapp:hover { background: #21b85d; }
.contact-rail-phone:hover { background: #236c5a; }
.contact-rail-email:hover { background: #365b50; }
.contact-rail-instagram:hover { background: linear-gradient(135deg,#833ab4,#e1306c,#fcb045); }
.contact-rail-location:hover { background: #326e8e; }
.contact-rail-scroll { background: rgba(201,169,105,.18); }
.contact-rail-scroll img { transition: transform .25s ease; }
.contact-rail-scroll.is-up img { transform: rotate(180deg); }
@keyframes contactRailOrbit { to { transform: rotate(360deg); } }

/* Longevity programs */
.longevity-programs { position: relative; overflow: hidden; }
.longevity-programs::before { position: absolute; top: -260px; left: 50%; width: 680px; height: 680px; content: ""; background: radial-gradient(circle, rgba(var(--brand-rgb),.10), transparent 68%); transform: translateX(-50%); }
.longevity-programs > .container { position: relative; }
.longevity-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: programs; }
.longevity-program-card { position: relative; min-height: 300px; display: flex; align-items: flex-start; flex-direction: column; padding: 28px; overflow: hidden; background: var(--card); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); transition: transform .25s, box-shadow .25s, border-color .25s; }
.longevity-program-card::after { position: absolute; right: -45px; bottom: -70px; width: 160px; height: 160px; content: ""; background: radial-gradient(circle, var(--brand-soft), transparent 68%); border-radius: 50%; transition: transform .35s; }
.longevity-program-card:hover { transform: translateY(-6px); border-color: rgba(var(--brand-rgb),.45); box-shadow: var(--shadow-hover); }
.longevity-program-card:hover::after { transform: scale(1.25); }
.longevity-program-card.featured { color: #fff; background: linear-gradient(145deg, #0d3d32, #1f715d); border-color: rgba(201,169,105,.4); }
.longevity-program-card.featured p { color: rgba(255,255,255,.68); }
.program-no { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 30px; }
.longevity-program-card > i { margin: 32px 0 9px; color: var(--brand); font-size: 9px; font-weight: 850; font-style: normal; letter-spacing: .18em; text-transform: uppercase; }
.longevity-program-card.featured > i { color: var(--accent); }
.longevity-program-card h3 { margin-bottom: 13px; font-size: 23px; }
.longevity-program-card p { font-size: 14px; }
.longevity-program-card > strong { position: relative; z-index: 1; margin-top: auto; color: var(--brand); font-size: 12px; }
.longevity-program-card.featured > strong { color: var(--accent); }

/* Blueprint dashboard */
.longevity-blueprint { background: var(--bg); }
.blueprint-board { position: relative; min-height: 560px; padding: 30px; overflow: hidden; color: #eaf4ef; background: linear-gradient(145deg, #071f1a, #103d32); border: 1px solid rgba(201,169,105,.3); border-radius: 24px; box-shadow: 0 30px 80px rgba(7,31,26,.26); }
.blueprint-board::before { position: absolute; inset: 0; content: ""; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 42px 42px; }
.board-head { position: relative; display: flex; justify-content: space-between; color: rgba(255,255,255,.48); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.board-head i { padding: 4px 8px; color: #82d3b5; background: rgba(89,185,151,.12); border: 1px solid rgba(89,185,151,.28); border-radius: 99px; font-style: normal; }
.bio-age-ring { position: relative; width: 220px; height: 220px; display: grid; place-items: center; margin: 35px auto; padding: 8px; background: conic-gradient(var(--accent) 0 68%, rgba(255,255,255,.10) 68%); border-radius: 50%; }
.bio-age-ring::after { position: absolute; inset: -17px; content: ""; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.bio-age-ring > div { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; background: #0b2b23; border-radius: 50%; }
.bio-age-ring small { color: rgba(255,255,255,.45); font-size: 8px; letter-spacing: .2em; }
.bio-age-ring strong { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 54px; font-weight: 400; line-height: 1.1; }
.bio-age-ring span { color: var(--accent); font-size: 10px; }
.board-metrics { position: relative; display: grid; gap: 12px; }
.board-metrics > div { display: grid; grid-template-columns: 75px 1fr 25px; gap: 10px; align-items: center; font-size: 10px; }
.board-metrics b { height: 4px; overflow: hidden; background: rgba(255,255,255,.1); border-radius: 99px; }
.board-metrics b::after { width: var(--score); height: 100%; display: block; content: ""; background: linear-gradient(90deg, var(--brand-light), var(--accent)); border-radius: inherit; }
.board-metrics strong { color: var(--accent); font-size: 11px; }
.board-note { position: relative; display: flex; gap: 12px; margin-top: 25px; padding: 14px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 11px; }
.board-note > span { color: var(--accent); }
.board-note p { margin: 0; }
.board-note strong, .board-note small { display: block; }
.board-note strong { color: #fff; font-size: 11px; }
.board-note small { color: rgba(255,255,255,.5); font-size: 9px; }

.longevity-method { position: relative; overflow: hidden; color: #fff; background: var(--band); }
.longevity-method::before { position: absolute; inset: 0; content: ""; opacity: .14; background: radial-gradient(circle at 50% 0%, rgba(201,169,105,.3), transparent 38%); }
.longevity-method > .container { position: relative; }
.longevity-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.15); }
.longevity-steps article { position: relative; min-height: 270px; padding: 34px 26px; border-right: 1px solid rgba(255,255,255,.12); }
.longevity-steps article:last-child { border-right: 0; }
.longevity-steps article > span { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 30px; }
.longevity-steps small { display: block; margin: 42px 0 8px; color: var(--brand-light); font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.longevity-steps h3 { color: #fff; font-size: 20px; }
.longevity-steps p { color: rgba(255,255,255,.58); font-size: 13px; }
.longevity-values div { border-color: rgba(var(--brand-rgb),.18); }
.longevity-values span { color: var(--accent); }

@media (max-width: 900px) {
    .longevity-program-grid { grid-template-columns: 1fr 1fr; }
    .longevity-steps { grid-template-columns: 1fr 1fr; }
    .longevity-steps article:nth-child(2) { border-right: 0; }
    .longevity-steps article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
}

@media (max-width: 720px) {
    .longevity-brand { gap: 8px; }
    .grs-logo-switch { width: 68px; height: 47px; flex-basis: 68px; }
    .longevity-brand-name { padding-left: 8px; font-size: 9px; }
    .intro-film { inset: -2%; background-position: 58% center; }
    .intro-video { object-position: 55% center; }
    .intro-film-shade { background: linear-gradient(90deg, rgba(3,15,10,.74), rgba(3,15,10,.08)), linear-gradient(0deg, rgba(3,12,9,.58), transparent 55%); }
    .intro-cinematic-copy { left: 24px; top: 55%; width: calc(100% - 48px); }
    .intro-wordmark { margin-bottom: 35px; }
    .intro-grs-logo { width: 116px; height: 80px; flex-basis: 116px; }
    .intro-cinematic-copy h2 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
    .intro-skip { top: 18px; right: 18px; }
    .intro-scene-label { display: none; }
    .intro-progress { right: 18px; bottom: 18px; left: 18px; }
    .contact-rail { right: 8px; top: 50%; transform: translateY(-50%); border-radius: 18px; }
    .contact-rail-inner { width: 50px; gap: 5px; padding: 6px; border-radius: 16px; }
    .contact-rail-action { width: 38px; height: 38px; border-radius: 12px; }
    .contact-rail-action img { width: 18px; height: 18px; }
    .contact-rail-action > span:last-child { display: none; }
    .longevity-hero h1 { font-size: 3rem; }
    .longevity-program-grid, .longevity-steps { grid-template-columns: 1fr; }
    .longevity-program-card { min-height: 265px; }
    .longevity-steps article, .longevity-steps article:nth-child(2) { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .blueprint-board { min-height: 520px; padding: 22px 18px; }
    .bio-age-ring { width: 190px; height: 190px; }
}

@media (prefers-reduced-motion: reduce) {
    .longevity-intro * { animation-duration: .01ms !important; animation-delay: 0ms !important; }
    .contact-rail::before { animation: none; }
}

/* B2B consulting experience */
.b2b-header .nav-shell { max-width: 1440px; }
.b2b-nav .nav-link { padding-inline: 9px; font-size: 12px; }
.language-switch { min-width: 38px; height: 38px; display: grid; place-items: center; color: inherit; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.scrolled .language-switch, .menu-active .language-switch { border-color: var(--border); }
.b2b-hero { min-height: 820px; padding: 130px 0 75px; }
.b2b-hero::before { transform: scale(1.025); }
.b2b-hero .hero-overlay { background: linear-gradient(95deg,rgba(3,24,19,.97) 0%,rgba(5,39,31,.9) 43%,rgba(9,49,38,.4) 72%,rgba(5,28,22,.28)); }
.b2b-hero h1 { max-width: 810px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.2rem,5.9vw,6.2rem); font-weight: 400; line-height: .98; letter-spacing: -.06em; }
.b2b-hero .hero-copy > p { max-width: 720px; font-size: 17px; }
.hero-minimal-layout { min-height: calc(820px - 205px); display: flex; align-items: center; }
.hero-minimal-layout .hero-copy { max-width: 760px; }
.hero-minimal-layout .hero-actions { margin-top: 34px; }
.b2b-strategy-card { width: min(100%,430px); justify-self: end; padding: 28px; color: #fff; background: linear-gradient(150deg,rgba(10,45,36,.9),rgba(5,22,18,.8)); border: 1px solid rgba(226,200,134,.3); border-radius: 22px; box-shadow: 0 30px 80px rgba(0,0,0,.25); backdrop-filter: blur(16px); }
.strategy-card-head { display: flex; justify-content: space-between; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.strategy-card-head i { color: var(--accent); font-style: normal; }
.b2b-strategy-card h2 { margin: 45px 0 24px; color: #fff; font-family: Georgia,"Times New Roman",serif; font-size: 31px; font-weight: 400; }
.strategy-layers { border-top: 1px solid rgba(255,255,255,.14); }
.strategy-layers > div { display: grid; grid-template-columns: 32px 1fr 20px; gap: 10px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.strategy-layers span { color: var(--accent); font: 16px Georgia,serif; }
.strategy-layers strong { font-size: 12px; font-weight: 650; }
.strategy-layers i { color: rgba(255,255,255,.42); font-style: normal; }
.b2b-strategy-card > a { display: inline-flex; gap: 9px; margin-top: 22px; color: var(--accent); font-size: 11px; font-weight: 750; }
.b2b-trust-band { color: #fff; background: #071d18; border-top: 1px solid rgba(255,255,255,.08); }
.b2b-trust-band .container { min-height: 96px; display: flex; align-items: center; gap: 55px; }
.b2b-trust-band .container > span { color: var(--accent); font-size: 8px; font-weight: 850; letter-spacing: .22em; }
.b2b-trust-band .container > div { flex: 1; display: grid; grid-template-columns: repeat(4,1fr); }
.b2b-trust-band strong { padding: 8px 22px; border-left: 1px solid rgba(255,255,255,.12); font-size: 12px; font-weight: 600; }
.b2b-heading { max-width: 850px; }
.b2b-heading h2 { font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.35rem,4.5vw,4.7rem); font-weight: 400; line-height: 1.04; }
.b2b-heading.centered { margin-inline: auto; }
.sector-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.sector-card { overflow: hidden; background: var(--card); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); transition: transform .28s ease,box-shadow .28s ease; }
.sector-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-hover); }
.sector-image { position: relative; height: 250px; overflow: hidden; }
.sector-image::after { position: absolute; inset: 0; content:""; background: linear-gradient(0deg,rgba(4,31,24,.5),transparent 60%); }
.sector-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sector-card:hover .sector-image img { transform: scale(1.04); }
.sector-image > span { position: absolute; z-index: 2; left: 22px; bottom: 16px; color:#fff; font: 30px Georgia,serif; }
.sector-card > div:last-child { padding: 26px; }
.sector-card small { color: var(--brand); font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.sector-card h2,.sector-card h3 { margin: 12px 0; font: 400 27px/1.08 Georgia,"Times New Roman",serif; }
.sector-card p { font-size: 13px; }
.sector-card strong { color: var(--brand); font-size: 11px; }
.sector-grid-listing .sector-card { display: grid; grid-template-columns: .9fr 1.1fr; grid-column: 1/-1; }
.sector-grid-listing .sector-image { height: 330px; }
.sector-grid-listing .sector-card > div:last-child { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: 48px; }
.b2b-services-band { position: relative; color: #fff; background: linear-gradient(145deg,#061b16,#103b30); }
.b2b-services-band::before { position:absolute;inset:0;content:"";background:radial-gradient(circle at 85% 0%,rgba(201,169,105,.14),transparent 35%); }
.b2b-services-band .container { position:relative; }
.b2b-services-band .b2b-heading p { color:rgba(255,255,255,.62); }
.advisory-grid { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14); }
.advisory-card { min-height:290px;display:flex;align-items:flex-start;flex-direction:column;padding:28px;color:#fff;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transition:background .22s; }
.advisory-card:hover { background:rgba(255,255,255,.055); }
.advisory-card > span { color:var(--accent);font:25px Georgia,serif; }
.advisory-card h3 { margin:40px 0 12px;color:#fff;font-size:19px; }
.advisory-card p { color:rgba(255,255,255,.55);font-size:12px; }
.advisory-card strong { margin-top:auto;color:var(--accent);font-size:10px; }
.section-action { display:flex;justify-content:center;margin-top:38px; }
.model-timeline { display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--border); }
.model-step { position:relative;min-height:285px;padding:28px 20px;border-right:1px solid var(--border); }
.model-step:last-child { border-right:0; }
.model-step::before { position:absolute;top:-5px;left:20px;width:9px;height:9px;content:"";background:var(--accent);border-radius:50%;box-shadow:0 0 0 6px var(--accent-soft); }
.model-step > span { color:var(--accent);font:26px Georgia,serif; }
.model-step h3 { margin:55px 0 10px;font-size:17px; }
.model-step p { font-size:12px; }
.b2b-why { background:var(--surface-1); }
.b2b-why-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center; }
.b2b-why-grid > div:last-child > h2 { font:400 clamp(2.2rem,4.3vw,4.5rem)/1.04 Georgia,serif; }
.b2b-why-visual { position:relative;min-height:610px;overflow:hidden;border-radius:24px; }
.b2b-why-visual img { width:100%;height:100%;position:absolute;object-fit:cover; }
.b2b-why-visual::after { position:absolute;inset:0;content:"";background:linear-gradient(0deg,rgba(4,27,21,.75),transparent 55%); }
.b2b-why-visual > div { position:absolute;z-index:2;right:30px;bottom:28px;left:30px;display:flex;align-items:center;gap:18px;color:#fff; }
.b2b-why-visual strong { font:40px Georgia,serif;color:var(--accent); }
.b2b-why-visual span { max-width:240px;padding-left:18px;border-left:1px solid rgba(255,255,255,.3);font-size:12px; }
.why-list { margin:30px 0; }
.why-list article { display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--border); }
.why-list article > span { color:var(--accent); }
.why-list h3 { margin:0 0 4px;font-size:16px; }
.why-list p { margin:0;font-size:13px; }
.article-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.article-card { min-height:280px;display:flex;align-items:flex-start;flex-direction:column;padding:30px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);transition:transform .22s,border-color .22s; }
.article-card:hover { transform:translateY(-5px);border-color:rgba(var(--brand-rgb),.42); }
.article-card > span { color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase; }
.article-card h2,.article-card h3 { margin:35px 0 12px;font:400 25px/1.15 Georgia,serif; }
.article-card p { font-size:13px; }
.article-card strong { margin-top:auto;color:var(--brand);font-size:11px; }
.consultation-section { background:linear-gradient(180deg,var(--bg),var(--surface-2)); }
.b2b-page-hero { min-height:560px;padding:155px 0 85px; }
.b2b-page-hero.no-image { background:linear-gradient(135deg,#071f1a,#174f41); }
.b2b-page-hero h1 { max-width:900px;font:400 clamp(2.8rem,5.8vw,5.8rem)/1.02 Georgia,serif; }
.b2b-page-hero p { max-width:760px;font-size:17px; }
.b2b-editorial-grid,.detail-lead-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start; }
.b2b-editorial-grid h2,.detail-lead-grid h2 { font:400 clamp(2.2rem,4vw,4.1rem)/1.06 Georgia,serif; }
.expertise-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.expertise-grid article { min-height:230px;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:16px; }
.expertise-grid article > span { color:var(--accent);font-size:22px; }
.expertise-grid h3 { margin:44px 0 10px;font-size:18px; }
.expertise-grid p { font-size:13px; }
.editorial-list { margin:0;padding:0;list-style:none; }
.editorial-list li { display:grid;grid-template-columns:190px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--border); }
.editorial-list span { color:var(--text-2);font-size:13px; }
.verification-note { display:flex;gap:14px;margin-top:24px;padding:18px;background:var(--brand-soft);border-radius:12px; }
.verification-note > span { width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;color:#fff;background:var(--brand);border-radius:50%;font-size:12px; }
.verification-note p { margin:0;font-size:12px; }
.two-column-detail { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start; }
.scope-list { margin-top:28px; }
.scope-list > div { display:grid;grid-template-columns:40px 1fr;gap:15px;padding:17px 0;border-top:1px solid var(--border); }
.scope-list span { color:var(--accent);font:20px Georgia,serif; }
.scope-list p { margin:0; }
.outputs-panel { padding:38px;color:#fff;background:linear-gradient(145deg,#0b3027,#165544);border-radius:20px;box-shadow:0 24px 60px rgba(5,35,28,.18); }
.outputs-panel h2 { color:#fff;font:400 34px/1.1 Georgia,serif; }
.outputs-panel ul { margin:28px 0 0;padding:0;list-style:none; }
.outputs-panel li { padding:16px 0;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.82); }
.scope-card-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.scope-card-grid article { min-height:180px;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:14px; }
.scope-card-grid span { color:var(--accent);font:24px Georgia,serif; }
.scope-card-grid h3 { margin:42px 0 0;font-size:17px; }
.compact-process { display:grid;grid-template-columns:repeat(4,1fr); }
.compact-process > div { min-height:150px;display:flex;align-items:center;gap:16px;padding:25px;border-top:1px solid var(--border);border-right:1px solid var(--border); }
.compact-process > div:last-child { border-right:0; }
.compact-process span { width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;color:#fff;background:var(--brand);border-radius:50%; }
.services-list-grid { display:grid;gap:22px; }
.service-list-card { display:grid;grid-template-columns:340px 1fr;min-height:260px;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow); }
.service-list-image { position:relative;overflow:hidden; }
.service-list-image img { width:100%;height:100%;object-fit:cover; }
.service-list-image span { position:absolute;left:22px;bottom:18px;color:#fff;font:34px Georgia,serif;text-shadow:0 3px 16px rgba(0,0,0,.35); }
.service-list-card > div:last-child { display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:42px; }
.service-list-card h2 { font:400 30px/1.08 Georgia,serif; }
.service-list-card strong { color:var(--brand);font-size:11px; }
.process-journey { position:relative;max-width:1000px;margin:auto; }
.process-journey::before { position:absolute;top:0;bottom:0;left:47px;width:1px;content:"";background:var(--border); }
.process-journey article { position:relative;display:grid;grid-template-columns:95px 1fr;gap:35px;padding:0 0 70px; }
.journey-number { position:relative;z-index:1;width:94px;height:94px;display:grid;place-items:center;color:var(--accent);background:var(--bg);border:1px solid var(--border);border-radius:50%;font:30px Georgia,serif; }
.process-journey small { color:var(--brand);font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase; }
.process-journey h2 { margin:8px 0 10px;font:400 34px Georgia,serif; }
.process-journey p { max-width:680px; }
.journey-output { display:inline-flex;margin-top:8px;padding:8px 12px;color:var(--brand);background:var(--brand-soft);border-radius:99px;font-size:11px;font-weight:700; }
.knowledge-filter { display:flex;gap:9px;flex-wrap:wrap;margin-bottom:35px; }
.knowledge-filter span { padding:8px 13px;background:var(--surface-2);border:1px solid var(--border);border-radius:99px;font-size:11px; }
.article-grid-large .article-card { min-height:360px; }
.article-hero { padding:170px 0 80px;background:var(--surface-2); }
.article-hero h1 { font:400 clamp(2.8rem,5.5vw,5.4rem)/1.02 Georgia,serif; }
.article-hero p { font-size:18px; }
.article-body { font-family:Georgia,"Times New Roman",serif; }
.article-body > p { font-size:20px;line-height:1.85; }
.article-body > h2 { margin:55px 0 18px;font-size:35px; }
.article-cta { margin-top:55px;padding:32px;background:var(--brand-soft);border-radius:18px; }
.faq-layout { display:grid;grid-template-columns:320px 1fr;gap:70px;align-items:start; }
.faq-intro { position:sticky;top:120px; }
.faq-list details { border-top:1px solid var(--border); }
.faq-list summary { display:grid;grid-template-columns:38px 1fr 25px;gap:16px;align-items:center;padding:25px 0;cursor:pointer;font-weight:750;list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary > span { color:var(--accent);font:19px Georgia,serif; }
.faq-list summary i { font-size:20px;font-style:normal;transition:transform .2s; }
.faq-list details[open] summary i { transform:rotate(45deg); }
.faq-list details p { padding:0 45px 25px 54px; }
.b2b-contact-card { max-width:none; }
.b2b-contact-card .form-row { gap:14px; }
.b2b-office-card { position:sticky;top:115px; }
.btn-whatsapp { color:#fff;background:#1da851; }
.footer-cta-link { color:var(--accent)!important;font-weight:750!important; }

@media (max-width:1250px) {
    .b2b-nav .nav-link { padding-inline:7px;font-size:11px; }
    .b2b-header .longevity-brand-name { display:none; }
    .model-timeline { grid-template-columns:repeat(3,1fr); }
    .model-step:nth-child(3) { border-right:0; }
}
@media (max-width:1000px) {
    .b2b-hero { min-height:auto; }
    .b2b-hero .hero-premium-layout { grid-template-columns:1fr; }
    .b2b-strategy-card { width:100%;max-width:none;justify-self:stretch; }
    .sector-grid,.article-grid { grid-template-columns:1fr 1fr; }
    .sector-card:last-child { grid-column:1/-1; }
    .advisory-grid,.expertise-grid,.scope-card-grid { grid-template-columns:1fr 1fr; }
    .b2b-why-grid,.b2b-editorial-grid,.detail-lead-grid,.two-column-detail { grid-template-columns:1fr;gap:40px; }
    .b2b-why-visual { min-height:480px; }
    .compact-process { grid-template-columns:1fr 1fr; }
    .faq-layout { grid-template-columns:1fr; }
    .faq-intro { position:static; }
}
@media (max-width:720px) {
    .b2b-hero { padding-top:115px; }
    .b2b-hero h1 { font-size:clamp(2.65rem,12vw,4rem); }
    .b2b-trust-band .container { align-items:flex-start;flex-direction:column;gap:18px;padding-block:24px; }
    .b2b-trust-band .container > div { width:100%;grid-template-columns:1fr 1fr; }
    .b2b-trust-band strong { padding:10px 8px;border-left:0;border-top:1px solid rgba(255,255,255,.1);font-size:10px; }
    .sector-grid,.article-grid,.advisory-grid,.expertise-grid,.scope-card-grid { grid-template-columns:1fr; }
    .sector-card:last-child { grid-column:auto; }
    .sector-grid-listing .sector-card,.service-list-card { grid-template-columns:1fr; }
    .sector-grid-listing .sector-image,.service-list-image { height:230px; }
    .sector-grid-listing .sector-card > div:last-child,.service-list-card > div:last-child { padding:28px; }
    .model-timeline { grid-template-columns:1fr; }
    .model-step,.model-step:nth-child(3) { min-height:auto;border-right:0;border-bottom:1px solid var(--border); }
    .b2b-why-visual { min-height:390px; }
    .editorial-list li { grid-template-columns:1fr;gap:5px; }
    .compact-process { grid-template-columns:1fr; }
    .compact-process > div { border-right:0; }
    .process-journey::before { left:27px; }
    .process-journey article { grid-template-columns:55px 1fr;gap:18px; }
    .journey-number { width:54px;height:54px;font-size:20px; }
    .article-body > p { font-size:17px; }
    .article-hero { padding-top:135px; }
}

/* Future hospitality editorial */
.future-hotel-section{background:#f3f5ef;overflow:hidden}.future-hotel-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(35px,7vw,100px);align-items:end;margin-bottom:48px}.future-hotel-head h2{max-width:820px;margin:.65rem 0 0;font-size:clamp(2.25rem,4.6vw,4.9rem);line-height:1.02}.future-hotel-head>p{font-size:1.03rem;line-height:1.85;color:var(--text-soft);margin:0}.future-hotel-stage{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);min-height:650px;background:#0d342d;border-radius:3px;overflow:hidden;box-shadow:0 35px 90px rgba(11,48,41,.16)}.future-hotel-visual{position:relative;min-height:560px;overflow:hidden}.future-hotel-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,39,33,.05) 30%,rgba(9,39,33,.92) 100%)}.future-hotel-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.future-hotel-stage:hover .future-hotel-visual img{transform:scale(1.025)}.future-hotel-visual>div{position:absolute;z-index:1;left:35px;right:35px;bottom:35px;color:#fff;display:grid;gap:7px}.future-hotel-visual small{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#d5bd82}.future-hotel-visual strong{font:400 clamp(1.45rem,2vw,2.1rem) Georgia,serif}.future-pillar-list{padding:22px clamp(24px,4vw,62px);display:grid;align-content:center}.future-pillar-list article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.future-pillar-list article:last-child{border-bottom:0}.future-pillar-list article>span{color:#c8ac70;font:400 1.1rem Georgia,serif;padding-top:3px}.future-pillar-list h3{font:400 1.45rem Georgia,serif;margin:0 0 7px}.future-pillar-list p{margin:0;color:rgba(255,255,255,.62);line-height:1.62;font-size:.9rem}.instagram-editorial{background:#0a2d27;color:#fff;position:relative;overflow:hidden}.instagram-editorial:before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(198,169,106,.12);border-radius:50%;right:-250px;top:-310px;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012)}.instagram-editorial-grid{display:grid;grid-template-columns:160px minmax(0,1fr) 270px;gap:clamp(30px,5vw,75px);align-items:center;position:relative;z-index:1}.instagram-editorial-mark{aspect-ratio:1;border:1px solid rgba(255,255,255,.17);display:grid;place-items:center;align-content:center;gap:15px;border-radius:50%;background:rgba(255,255,255,.035)}.instagram-editorial-mark img{width:39px;height:39px;filter:brightness(0) invert(1)}.instagram-editorial-mark span{font-size:.7rem;letter-spacing:.08em;color:rgba(255,255,255,.64)}.instagram-editorial h2{font-size:clamp(2rem,3.8vw,4.15rem);line-height:1.04;margin:.7rem 0 1rem;max-width:800px}.instagram-editorial p{color:rgba(255,255,255,.66);line-height:1.75;max-width:750px;margin:0 0 24px}.instagram-topic-stack{display:grid}.instagram-topic-stack span{padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.13);font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.68)}.instagram-topic-stack span:before{content:"✦";color:#c8ac70;margin-right:11px}
@media(max-width:960px){.future-hotel-head,.future-hotel-stage{grid-template-columns:1fr}.future-hotel-stage{min-height:0}.future-hotel-visual{min-height:480px}.instagram-editorial-grid{grid-template-columns:120px 1fr}.instagram-topic-stack{grid-column:1/-1;grid-template-columns:1fr 1fr}.instagram-topic-stack span:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:640px){.future-hotel-head{grid-template-columns:1fr}.future-hotel-stage{border-radius:0}.future-hotel-visual{min-height:390px}.future-pillar-list{padding:16px 22px}.future-pillar-list article{grid-template-columns:38px 1fr;padding:20px 0}.instagram-editorial-grid{grid-template-columns:1fr}.instagram-editorial-mark{width:126px}.instagram-topic-stack{grid-template-columns:1fr}.instagram-topic-stack span:nth-last-child(2){border-bottom:1px solid rgba(255,255,255,.13)}}
.future-hotel-head>p{color:var(--text-2)}

/* GRS Longevity cinematic opening */
.intro-v2{background:#020806;isolation:isolate;transition:opacity 1.2s cubic-bezier(.65,0,.25,1),visibility 1.2s}.intro-v2::before,.intro-v2::after{display:none}.intro-v2 .intro-sequence{position:absolute;inset:0;overflow:hidden;background:#020806}.intro-v2 .intro-scene{position:absolute;inset:-1.5%;opacity:0;overflow:hidden;transform:scale(1.06);transition:opacity 1.35s ease,transform 7s cubic-bezier(.17,.67,.22,1),clip-path 1.55s cubic-bezier(.65,0,.18,1);will-change:opacity,transform,clip-path}.intro-v2 .intro-scene.is-active{opacity:1;transform:scale(1)}.intro-v2 .intro-scene video,.intro-v2 .intro-scene img{width:100%;height:100%;display:block;object-fit:cover}.intro-v2 .intro-scene video{filter:saturate(.82) contrast(1.08) brightness(.74)}.intro-v2 .intro-scene-forest{clip-path:inset(0)}.intro-v2 .intro-scene-forest video{object-position:center 58%}.intro-v2 .intro-scene-thermal{clip-path:circle(0 at 50% 57%)}.intro-v2 .intro-scene-thermal.is-active{clip-path:circle(82% at 50% 57%)}.intro-v2 .intro-scene-thermal video{object-position:center 58%;filter:saturate(.68) contrast(1.12) brightness(.65)}.intro-v2 .intro-scene-reveal{clip-path:circle(0 at 50% 56%);transform:scale(1.12)}.intro-v2 .intro-scene-reveal.is-active{clip-path:circle(86% at 50% 56%);transform:scale(1.015)}.intro-v2 .intro-scene-reveal img{object-position:center 54%;animation:introRevealPush 6s ease-out forwards}.intro-v2 .intro-cinema-grade{position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 50% 54%,transparent 10%,rgba(1,12,8,.1) 42%,rgba(0,7,5,.62) 110%),linear-gradient(180deg,rgba(1,10,7,.45),transparent 25%,transparent 62%,rgba(1,9,6,.6));pointer-events:none}.intro-v2 .intro-light-sweep{position:absolute;z-index:3;inset:-25%;background:linear-gradient(112deg,transparent 38%,rgba(221,201,147,.03) 45%,rgba(243,225,170,.19) 49%,rgba(255,255,255,.035) 53%,transparent 61%);transform:translateX(-70%);animation:introLightSweep 11s 1.1s cubic-bezier(.55,0,.25,1) forwards;pointer-events:none}.intro-v2 .intro-film-grain{position:absolute;z-index:4;inset:-50%;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");animation:introGrain .22s steps(2) infinite;pointer-events:none}.intro-v2 .intro-forest-gate{position:absolute;z-index:5;top:-12%;bottom:-12%;width:54%;opacity:.95;pointer-events:none;will-change:transform}.intro-v2 .intro-forest-gate-left{left:-12%;background:linear-gradient(90deg,#020806 0%,rgba(2,10,7,.98) 50%,rgba(2,10,7,.72) 68%,rgba(2,10,7,.35) 84%,transparent);transform-origin:left;animation:introGateLeft 3.2s .3s cubic-bezier(.72,0,.18,1) forwards}.intro-v2 .intro-forest-gate-right{right:-12%;background:linear-gradient(270deg,#020806 0%,rgba(2,10,7,.98) 50%,rgba(2,10,7,.72) 68%,rgba(2,10,7,.35) 84%,transparent);transform-origin:right;animation:introGateRight 3.2s .3s cubic-bezier(.72,0,.18,1) forwards}.intro-v2 .intro-system{position:absolute;z-index:8;inset:0;color:#fff;pointer-events:none}.intro-v2 .intro-system-top{position:absolute;top:30px;left:50%;display:flex;align-items:center;gap:14px;transform:translateX(-50%);font-size:8px;letter-spacing:.24em;white-space:nowrap;color:rgba(255,255,255,.5)}.intro-v2 .intro-system-top i{width:46px;height:1px;background:linear-gradient(90deg,transparent,#cfb677,transparent)}.intro-v2 .intro-focus-frame{position:absolute;inset:clamp(70px,9vh,110px) clamp(28px,5vw,78px) clamp(68px,9vh,98px)}.intro-v2 .intro-focus-frame i{position:absolute;width:35px;height:35px;border-color:rgba(230,211,160,.45);border-style:solid}.intro-v2 .intro-focus-frame i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.intro-v2 .intro-focus-frame i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.intro-v2 .intro-focus-frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.intro-v2 .intro-focus-frame i:nth-child(4){bottom:0;left:0;border-width:0 0 1px 1px}.intro-v2 .intro-pulse-rings{position:absolute;left:50%;top:52%;width:min(54vw,720px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:0;transition:opacity 1.2s ease}.intro-v2.brand-is-visible .intro-pulse-rings{opacity:1}.intro-v2 .intro-pulse-rings i{position:absolute;inset:20%;border:1px solid rgba(218,196,136,.15);border-radius:50%;animation:introPulseRing 3.4s ease-out infinite}.intro-v2 .intro-pulse-rings i:nth-child(2){animation-delay:.8s}.intro-v2 .intro-pulse-rings i:nth-child(3){animation-delay:1.6s}.intro-v2 .intro-coordinate{position:absolute;top:50%;font-size:7px;line-height:1.8;letter-spacing:.18em;color:rgba(255,255,255,.38);writing-mode:vertical-rl}.intro-v2 .intro-coordinate-left{left:20px;transform:translateY(-50%) rotate(180deg)}.intro-v2 .intro-coordinate-right{right:20px;transform:translateY(-50%)}.intro-v2 .intro-skip{z-index:12;top:28px;right:34px;padding:9px 13px;border-color:rgba(255,255,255,.18);background:rgba(3,13,9,.22);color:rgba(255,255,255,.64);cursor:pointer}.intro-v2 .intro-brand-reveal{position:absolute;z-index:10;top:49%;left:50%;width:min(760px,calc(100% - 48px));text-align:center;color:#fff;opacity:0;filter:blur(16px);transform:translate(-50%,-42%) scale(.88);transition:opacity 1.4s ease,filter 1.4s ease,transform 1.7s cubic-bezier(.16,.78,.2,1);pointer-events:none}.intro-v2.brand-is-visible .intro-brand-reveal{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1);pointer-events:auto}.intro-v2 .intro-brand-halo{position:absolute;left:50%;top:48%;width:min(60vw,700px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(218,194,130,.15),rgba(34,89,70,.05) 40%,transparent 68%);z-index:-1}.intro-v2 .intro-brand-lockup{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2vw,32px)}.intro-v2 .intro-brand-logo{width:clamp(132px,14vw,220px);height:clamp(88px,9.3vw,146px);flex:0 0 auto}.intro-v2 .intro-brand-logo img{width:100%;filter:drop-shadow(0 7px 24px rgba(0,0,0,.25))}.intro-v2 .intro-brand-divider{width:1px;height:clamp(45px,5vw,78px);background:linear-gradient(180deg,transparent,rgba(229,208,151,.8),transparent);transform:scaleY(0);transition:transform 1s .45s ease}.intro-v2.brand-is-visible .intro-brand-divider{transform:scaleY(1)}.intro-v2 .intro-brand-lockup strong{font:400 clamp(2.3rem,5.4vw,6.1rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.045em;text-shadow:0 10px 45px rgba(0,0,0,.4)}.intro-v2 .intro-brand-reveal>p{margin:18px 0 0;font-size:clamp(9px,.8vw,12px);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.7)}.intro-v2 .intro-enter{margin:34px auto 0;padding:12px 0;display:inline-flex;opacity:1;transform:none;animation:none;border-color:rgba(223,201,141,.72);cursor:pointer}.intro-v2 .intro-enter i{font-style:normal;color:#dfc98d;font-size:17px;transition:transform .25s}.intro-v2 .intro-enter:hover i{transform:translateX(6px)}.intro-v2 .intro-chapter{position:absolute;z-index:10;left:clamp(28px,5vw,78px);bottom:31px;display:flex;align-items:center;gap:14px;color:#fff}.intro-v2 .intro-chapter>span{font:400 2rem/1 Georgia,serif;color:#d3b873;min-width:39px}.intro-v2 .intro-chapter div{display:grid;gap:4px;padding-left:13px;border-left:1px solid rgba(255,255,255,.22)}.intro-v2 .intro-chapter small{font-size:6px;letter-spacing:.24em;color:rgba(255,255,255,.38)}.intro-v2 .intro-chapter strong{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.74)}.intro-v2 .intro-timeline{position:absolute;z-index:10;right:clamp(28px,5vw,78px);bottom:37px;width:min(38vw,460px);height:2px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.intro-v2 .intro-timeline i{display:block;background:rgba(255,255,255,.18);transition:background .7s ease}.intro-v2 .intro-timeline i.is-active{background:#d3b873}.intro-v2 .intro-timeline span{position:absolute;left:0;top:7px;width:100%;height:1px;background:rgba(255,255,255,.08)}.intro-v2.sequence-is-complete .intro-timeline i{background:#d3b873}.intro-v2.is-closing{opacity:0;visibility:hidden;transform:scale(1.015)}
@keyframes introGateLeft{0%{transform:translateX(0) scaleX(1.1)}100%{transform:translateX(-88%) scaleX(.8)}}@keyframes introGateRight{0%{transform:translateX(0) scaleX(1.1)}100%{transform:translateX(88%) scaleX(.8)}}@keyframes introLightSweep{0%{transform:translateX(-70%)}45%{transform:translateX(-20%)}100%{transform:translateX(72%)}}@keyframes introGrain{0%{transform:translate(0,0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(2%,2%)}100%{transform:translate(-3%,-3%)}}@keyframes introPulseRing{0%{transform:scale(.4);opacity:0}25%{opacity:.65}100%{transform:scale(1.65);opacity:0}}@keyframes introRevealPush{0%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:720px){.intro-v2 .intro-system-top{top:20px;font-size:6px;max-width:58%;overflow:hidden}.intro-v2 .intro-skip{top:16px;right:16px}.intro-v2 .intro-focus-frame{inset:64px 17px 66px}.intro-v2 .intro-coordinate{display:none}.intro-v2 .intro-scene-forest video{object-position:52% center}.intro-v2 .intro-scene-thermal video{object-position:58% center}.intro-v2 .intro-scene-reveal img{object-position:55% center}.intro-v2 .intro-brand-reveal{top:51%;width:calc(100% - 34px)}.intro-v2 .intro-brand-lockup{gap:12px}.intro-v2 .intro-brand-logo{width:112px;height:75px}.intro-v2 .intro-brand-lockup strong{font-size:clamp(2.1rem,11vw,3.65rem)}.intro-v2 .intro-brand-reveal>p{font-size:7px;line-height:1.8;letter-spacing:.18em}.intro-v2 .intro-enter{margin-top:25px}.intro-v2 .intro-chapter{left:18px;bottom:23px}.intro-v2 .intro-timeline{right:18px;bottom:30px;width:40vw}.intro-v2 .intro-pulse-rings{width:110vw}}
@media(prefers-reduced-motion:reduce){.intro-v2 .intro-scene,.intro-v2 .intro-scene-reveal img,.intro-v2 .intro-brand-reveal{transition:none;animation:none}.intro-v2 .intro-forest-gate,.intro-v2 .intro-light-sweep,.intro-v2 .intro-film-grain,.intro-v2 .intro-pulse-rings{display:none}}

/* Intro performance: colour grading is baked into the compressed video files. */
.intro-v2 .intro-scene video{filter:none;transform:translateZ(0);backface-visibility:hidden}
.intro-v2 .intro-scene-thermal video{filter:none}
.intro-v2 .intro-film-grain{inset:0;opacity:.045;background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.3) 0 1px,transparent 1px),radial-gradient(circle at 75% 70%,rgba(0,0,0,.36) 0 1px,transparent 1px);background-size:5px 5px,7px 7px;animation:none}
@media(max-width:720px){.intro-v2 .intro-film-grain{display:none}.intro-v2 .intro-light-sweep{opacity:.68}.intro-v2 .intro-pulse-rings i:nth-child(n+2){display:none}}

/* Immersive homepage journey */
.longevity-journey{position:relative;height:390vh;color:#fff;background:#020a07;--parallax-x:0px;--parallax-y:0px;--forest-x:0px;--forest-y:0px;--resort-opacity:1;--forest-opacity:0;--resort-scale:1.035;--system-opacity:0;--orbit-opacity:0;--journey-progress:0%}
.longevity-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;background:#05130e}
.journey-media,.journey-grade{position:absolute;inset:0}
.journey-media{z-index:0;overflow:hidden;background:#071a13}
.journey-media video,.journey-media>img{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;backface-visibility:hidden;will-change:transform,opacity}
.journey-forest-video{opacity:var(--forest-opacity);transform:translate3d(var(--forest-x),var(--forest-y),0) scale(1.08)}
.journey-resort{opacity:var(--resort-opacity);transform:translate3d(var(--parallax-x),var(--parallax-y),0) scale(var(--resort-scale));transform-origin:52% 55%}
.journey-grade{z-index:2;pointer-events:none;background:radial-gradient(circle at 51% 50%,transparent 5%,rgba(1,13,9,.1) 45%,rgba(1,8,6,.72) 115%),linear-gradient(180deg,rgba(1,11,8,.58),transparent 28%,transparent 57%,rgba(1,9,6,.68));transition:background 1.4s ease}
.longevity-stage[data-time="morning"] .journey-grade{background:radial-gradient(circle at 72% 24%,rgba(226,207,154,.09),transparent 28%),linear-gradient(180deg,rgba(3,19,14,.46),transparent 35%,rgba(1,10,7,.6))}
.longevity-stage[data-time="night"] .journey-grade{background:linear-gradient(180deg,rgba(1,8,14,.72),rgba(2,19,18,.35) 48%,rgba(1,8,9,.78)),radial-gradient(circle at 70% 25%,rgba(73,131,151,.12),transparent 32%)}
/* Perf: soft edges are baked into the gradients instead of live filter blur / blend modes. */
.journey-light{position:absolute;z-index:2;top:-42%;right:-10%;width:64%;height:125%;pointer-events:none;background:linear-gradient(118deg,transparent 30%,rgba(245,221,157,.05) 40%,rgba(245,221,157,.15) 48%,rgba(255,255,255,.03) 55%,transparent 68%);transform:rotate(-4deg);will-change:transform,opacity;animation:journeyLight 12s ease-in-out infinite alternate}
.journey-fog{position:absolute;z-index:3;width:85%;height:32%;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,rgba(214,224,208,.15),rgba(160,186,172,.07) 38%,rgba(126,158,140,.03) 58%,transparent 76%);will-change:transform}
.journey-fog-one{left:-15%;top:28%;animation:journeyFog 20s ease-in-out infinite alternate}
.journey-fog-two{right:-25%;top:48%;opacity:.52;animation:journeyFog 27s -8s ease-in-out infinite alternate-reverse}
.journey-water-light{position:absolute;z-index:3;left:28%;right:8%;bottom:0;height:34%;overflow:hidden;opacity:.45;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 45%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 45%,transparent)}
.journey-water-light::after{position:absolute;inset:0;height:200%;content:"";background:repeating-linear-gradient(174deg,transparent 0 10px,rgba(230,205,143,.07) 11px,transparent 13px);will-change:transform;animation:journeyWater 8s linear infinite}
.journey-particles{position:absolute;z-index:4;inset:0;pointer-events:none}
.journey-particles i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#e8d59c;box-shadow:0 0 8px rgba(230,209,150,.7);opacity:.15;will-change:transform,opacity;animation:journeyParticle 7s var(--delay) ease-in-out infinite}
.journey-particles i:nth-child(n+15){display:none}
.journey-orbit{position:absolute;z-index:5;left:50%;top:51%;width:min(50vw,680px);aspect-ratio:1;opacity:var(--orbit-opacity);pointer-events:none;transform:translate(-50%,-50%) scale(.96)}
.journey-orbit i{position:absolute;inset:12%;border:1px solid rgba(229,209,151,.32);border-radius:50%;animation:journeyOrbit 16s linear infinite}
.journey-orbit i:nth-child(2){inset:22%;border-color:rgba(255,255,255,.2);animation-duration:12s;animation-direction:reverse}
.journey-orbit i:nth-child(3){inset:32%;border-style:dashed;animation-duration:22s}
.journey-orbit span{position:absolute;inset:42%;border-radius:50%;background:radial-gradient(circle,rgba(214,192,129,.22),transparent 68%);animation:journeyBreath 5s ease-in-out infinite}
.journey-system-map{position:absolute;z-index:7;left:50%;top:51%;width:min(72vw,940px);aspect-ratio:1;opacity:var(--system-opacity);pointer-events:none;transform:translate(-50%,-50%) scale(.96)}
.journey-system-map::before,.journey-system-map::after{position:absolute;inset:16%;content:"";border:1px solid rgba(214,193,133,.28);border-radius:50%}
.journey-system-map::after{inset:30%;border-style:dashed;animation:journeyOrbit 19s linear infinite}
.system-core{position:absolute;left:50%;top:50%;width:150px;height:150px;display:grid;place-content:center;text-align:center;border:1px solid rgba(226,205,146,.65);border-radius:50%;background:rgba(3,23,17,.78);box-shadow:0 0 80px rgba(193,172,112,.18);transform:translate(-50%,-50%)}
.system-core span{font:400 40px/1 Georgia,serif}.system-core strong{margin-top:8px;color:#d9c17e;font-size:8px;letter-spacing:.24em}
.system-node{position:absolute;padding:9px 14px;color:#fff;background:rgba(3,22,16,.78);border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:9px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 9px 35px rgba(0,0,0,.2)}
.node-sleep{left:11%;top:27%}.node-nutrition{right:7%;top:31%}.node-movement{left:4%;bottom:27%}.node-recovery{right:11%;bottom:23%}.node-diagnostics{left:50%;top:7%;transform:translateX(-50%)}
.longevity-stage.is-revealing .journey-resort{filter:saturate(.65) brightness(.62)}
.journey-meta{position:absolute;z-index:8;top:50%;display:flex;gap:20px;color:rgba(255,255,255,.48);font-size:7px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;pointer-events:none}
.journey-meta-left{left:24px;transform:translateY(-50%) rotate(180deg)}.journey-meta-right{right:24px;transform:translateY(-50%)}
.journey-spatial-labels{position:absolute;z-index:6;inset:0;opacity:var(--orbit-opacity);pointer-events:none}
.journey-spatial-labels span{position:absolute;font-size:8px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 20px #000}
.journey-spatial-labels span:nth-child(1){left:8%;top:46%}.journey-spatial-labels span:nth-child(2){right:10%;top:39%}.journey-spatial-labels span:nth-child(3){left:17%;bottom:18%}.journey-spatial-labels span:nth-child(4){right:16%;bottom:20%}
.journey-copy{position:absolute;z-index:10;left:50%;top:50%;width:min(1120px,calc(100% - 96px));text-align:center;opacity:0;transform:translate(-50%,-44%);pointer-events:none;will-change:opacity,transform;backface-visibility:hidden}
.journey-copy-hero{opacity:1;pointer-events:auto}
.journey-copy h1{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .22em;margin:0;color:#fff;font:400 clamp(3.4rem,7.3vw,8.2rem)/.88 Georgia,"Times New Roman",serif;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 8px 50px rgba(0,0,0,.4)}
.journey-word{display:inline-block;will-change:transform,opacity;transform:translate3d(var(--word-x,0),var(--word-y,0),0) rotate(var(--word-r,0deg));opacity:var(--word-opacity,1)}
.journey-primary{margin-top:38px;pointer-events:auto}
.journey-kicker{display:inline-flex;margin-bottom:21px;color:#d9c17e;font-size:9px;font-weight:800;letter-spacing:.26em;text-transform:uppercase}
.journey-copy h2{max-width:1000px;margin:0 auto;color:#fff;font:400 clamp(2.7rem,5.6vw,6.2rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.05em;text-wrap:balance;text-shadow:0 8px 50px rgba(0,0,0,.4)}
.journey-copy-future>a{display:inline-flex;margin-top:28px;padding-bottom:7px;color:#fff;border-bottom:1px solid rgba(255,255,255,.54);font-size:11px;font-weight:750;letter-spacing:.08em;pointer-events:auto}
.journey-hold{position:absolute;z-index:12;left:50%;bottom:35px;display:flex;align-items:center;gap:11px;padding:10px 14px;color:rgba(255,255,255,.74);background:rgba(2,19,14,.62);border:1px solid rgba(255,255,255,.2);border-radius:99px;transform:translateX(-50%);font-size:8px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;transition:color .25s,border-color .25s,background .25s}
.journey-hold i{width:8px;height:8px;border:1px solid #dcc681;border-radius:50%;box-shadow:0 0 0 0 rgba(220,198,129,.3);animation:journeyHold 2.6s ease-out infinite}.journey-hold:active,.journey-hold[aria-pressed="true"]{color:#fff;background:rgba(18,61,49,.74);border-color:#dcc681}
.journey-scroll{position:absolute;z-index:9;left:42px;bottom:37px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.52);font-size:7px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.journey-scroll i{position:relative;width:58px;height:1px;overflow:hidden;background:rgba(255,255,255,.2)}.journey-scroll i::after{position:absolute;inset:0;content:"";background:#dcc681;transform:translateX(-100%);animation:journeyScroll 2.4s ease-in-out infinite}
.journey-progress{position:absolute;z-index:9;right:82px;bottom:40px;width:160px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:rgba(255,255,255,.5);font-size:7px;letter-spacing:.12em}.journey-progress i{position:relative;grid-column:2;grid-row:1;height:1px;overflow:hidden;background:rgba(255,255,255,.2)}.journey-progress i::after{position:absolute;inset:0;content:"";background:#dcc681;transform:scaleX(var(--p,0));transform-origin:left;will-change:transform}.journey-progress span:first-of-type{grid-column:1;grid-row:1}.journey-progress span:last-child{grid-column:3;grid-row:1}
@keyframes journeyLight{to{transform:translateX(-8%) rotate(-1deg);opacity:.62}}
@keyframes journeyFog{to{transform:translate3d(28%,8%,0) scale(1.12)}}
@keyframes journeyWater{to{transform:translate3d(0,-50%,0)}}
@keyframes journeyParticle{0%,100%{transform:translateY(14px);opacity:.08}50%{transform:translateY(-18px);opacity:.42}}
@keyframes journeyOrbit{to{transform:rotate(360deg)}}
@keyframes journeyBreath{50%{transform:scale(1.28);opacity:.45}}
@keyframes journeyHold{80%,100%{box-shadow:0 0 0 12px rgba(220,198,129,0)}}
@keyframes journeyScroll{50%,100%{transform:translateX(100%)}}

/* Context-aware cursor inspired by the referenced editorial experiences. */
@media(pointer:fine){html.has-custom-cursor,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor [data-cursor]{cursor:none!important}}
.site-cursor-dot,.site-cursor-ring{position:fixed;z-index:100000;left:0;top:0;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:opacity .2s ease}
.site-cursor-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:#e1ca87;border-radius:50%;box-shadow:0 0 14px rgba(225,202,135,.85)}
.site-cursor-ring{width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;border:1px solid rgba(239,220,166,.72);border-radius:50%;background:rgba(10,45,35,.08);backdrop-filter:blur(2px);transition:width .25s ease,height .25s ease,margin .25s ease,background .25s ease,border-color .25s ease,opacity .2s ease}
.site-cursor-ring span{max-width:55px;overflow:hidden;color:#fff;font-size:7px;font-weight:800;letter-spacing:.12em;text-align:center;white-space:nowrap;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s}
.site-cursor-dot.is-visible,.site-cursor-ring.is-visible{opacity:1}.site-cursor-ring.is-active{width:76px;height:76px;margin:-38px 0 0 -38px;background:rgba(9,55,41,.5);border-color:#e1ca87}.site-cursor-ring.is-active span{opacity:1;transform:scale(1)}
@media(max-width:720px){.longevity-journey{height:330vh}.journey-copy{width:calc(100% - 36px)}.journey-copy h1{gap:.02em .16em;font-size:clamp(3rem,13.5vw,4.8rem);line-height:.9}.journey-copy h2{font-size:clamp(2.55rem,11.5vw,4rem)}.journey-primary{margin-top:28px}.journey-meta,.journey-spatial-labels span:nth-child(n+3){display:none}.journey-spatial-labels span:nth-child(1){left:7%;top:34%}.journey-spatial-labels span:nth-child(2){right:7%;top:36%}.journey-orbit{width:100vw}.journey-system-map{width:128vw}.system-core{width:112px;height:112px}.system-core span{font-size:29px}.system-node{padding:7px 9px;font-size:7px}.journey-hold{bottom:72px;max-width:74%;text-align:left}.journey-scroll{left:18px;bottom:28px}.journey-scroll span{display:none}.journey-progress{right:18px;bottom:31px;width:116px}.journey-fog{filter:blur(20px)}.journey-water-light{display:none}}
@media(prefers-reduced-motion:reduce){.longevity-journey{height:100svh}.journey-forest-video,.journey-fog,.journey-light,.journey-water-light,.journey-particles,.journey-orbit,.journey-system-map,.journey-spatial-labels,.journey-hold,.journey-scroll,.journey-progress{display:none}.journey-resort{opacity:1!important;transform:none!important}.journey-copy:not(.journey-copy-hero){display:none}.journey-word{transform:none!important;opacity:1!important}.site-cursor-dot,.site-cursor-ring{display:none!important}}

.intro-v2 .intro-timeline{grid-template-columns:repeat(2,1fr)}

/* Refined cinematic scroll transitions */
/* Perf: media transforms are driven per-frame by JS (lerped), so no CSS transform transition here — only the filter used by hold-to-reveal. */
.journey-media video,.journey-media>img{transition:filter .7s ease}
.journey-transition-veil{position:absolute;z-index:9;inset:0;overflow:hidden;pointer-events:none;opacity:0}
.journey-transition-veil i{position:absolute;top:-20%;bottom:-20%;width:28%;opacity:0;transform:translateX(-180%) skewX(-12deg);background:linear-gradient(90deg,transparent,rgba(236,217,160,.06) 25%,rgba(236,217,160,.13) 45%,rgba(255,255,255,.16) 55%,rgba(236,217,160,.06) 75%,transparent)}
.journey-transition-veil i:last-child{width:44%;background:linear-gradient(90deg,transparent,rgba(85,157,129,.05) 30%,rgba(85,157,129,.11) 50%,rgba(85,157,129,.05) 70%,transparent)}
.longevity-stage.is-phase-changing .journey-transition-veil{opacity:1}
.longevity-stage.is-phase-changing .journey-transition-veil i{animation:journeyVeil .9s cubic-bezier(.55,0,.22,1) both}
.longevity-stage.is-phase-changing .journey-transition-veil i:last-child{animation-delay:.08s}
.journey-depth-frame{position:absolute;z-index:8;inset:clamp(96px,11vh,128px) clamp(24px,3vw,52px) clamp(62px,8vh,88px) clamp(88px,10vw,132px);pointer-events:none;opacity:.42}
.journey-depth-frame i{position:absolute;width:32px;height:32px;border-style:solid;border-color:rgba(233,218,171,.32)}
.journey-depth-frame i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.journey-depth-frame i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.journey-depth-frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.journey-depth-frame i:nth-child(4){left:0;bottom:0;border-width:0 0 1px 1px}
.journey-chapter-indicator{position:absolute;z-index:11;left:50%;top:88px;display:grid;grid-template-columns:auto 54px auto;gap:12px;align-items:center;color:rgba(255,255,255,.56);transform:translateX(-50%);font-size:7px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;pointer-events:none}
.journey-chapter-indicator span{color:#dcc681;font:400 15px/1 Georgia,serif;letter-spacing:0}.journey-chapter-indicator i{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),#dcc681,rgba(255,255,255,.12))}.journey-chapter-indicator strong{min-width:88px;font:inherit;color:inherit}
.longevity-journey[data-phase="nature"] .journey-grade{background:radial-gradient(circle at 50% 44%,rgba(55,111,78,.04),transparent 35%),linear-gradient(180deg,rgba(1,15,9,.58),rgba(2,24,15,.1) 42%,rgba(1,10,7,.72))}
.longevity-journey[data-phase="science"] .journey-grade{background:radial-gradient(circle at 50% 53%,rgba(59,138,111,.08),transparent 36%),linear-gradient(180deg,rgba(1,12,10,.63),transparent 42%,rgba(1,12,9,.72))}
.longevity-journey[data-phase="future"] .journey-grade{background:radial-gradient(circle at 50% 51%,rgba(217,193,127,.07),transparent 33%),linear-gradient(180deg,rgba(1,11,8,.58),transparent 38%,rgba(1,9,6,.76))}
@keyframes journeyVeil{0%{opacity:0;transform:translateX(-180%) skewX(-12deg)}28%{opacity:1}100%{opacity:0;transform:translateX(520%) skewX(-12deg)}}
@media(max-width:720px){.journey-chapter-indicator{top:72px;grid-template-columns:auto 34px auto}.journey-chapter-indicator strong{min-width:64px}.journey-depth-frame{inset:64px 14px 64px}.journey-depth-frame i{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.journey-transition-veil,.journey-depth-frame,.journey-chapter-indicator{display:none}}

/* Unified modern longevity design system — soft, organic and cinematic. */
:root{
  --radius:28px;
  --radius-lg:38px;
  --radius-xl:52px;
  --modern-border:rgba(var(--brand-rgb),.13);
  --modern-shadow:0 24px 70px rgba(6,31,25,.10);
  --modern-shadow-hover:0 32px 90px rgba(6,31,25,.17);
  --modern-ease:cubic-bezier(.22,.61,.36,1);
  --text-soft:var(--text-2)
}
html{scroll-padding-top:92px}
body{background-color:var(--bg);background-image:radial-gradient(circle at 8% 12%,rgba(var(--brand-rgb),.055),transparent 27rem),radial-gradient(circle at 94% 42%,rgba(204,177,102,.055),transparent 31rem)}
main{overflow:clip}
.section{position:relative;padding-block:clamp(72px,9vw,124px)}
.surface-alt{background:linear-gradient(145deg,rgba(var(--brand-rgb),.045),rgba(255,255,255,.32) 46%,rgba(204,177,102,.035))}
.section-heading,.b2b-heading{max-width:820px}
.section-heading h2,.b2b-heading h2{text-wrap:balance;letter-spacing:-.035em}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid rgba(var(--brand-rgb),.14);border-radius:999px;background:rgba(var(--brand-rgb),.045);line-height:1}
.eyebrow::before{width:6px;height:6px;content:"";border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(204,177,102,.11)}

/* Floating navigation instead of a rigid full-width bar. */
.site-header.scrolled,.site-header.menu-active{background:transparent;box-shadow:none;backdrop-filter:none}
.site-header.scrolled .nav-shell,.site-header.menu-active .nav-shell{min-height:68px;margin-top:10px;padding-inline:18px 13px;border:1px solid rgba(var(--brand-rgb),.12);border-radius:999px;background:rgba(249,250,246,.9);box-shadow:0 16px 55px rgba(4,27,21,.13);backdrop-filter:blur(14px) saturate(130%)}
.nav-link,.language-trigger,.theme-toggle,.menu-toggle{border-radius:999px}
.nav-link{transition:color .25s ease,background .25s ease,transform .25s ease}
.nav-link:hover{background:rgba(var(--brand-rgb),.065);transform:translateY(-1px)}
.dropdown-panel{padding:10px;border:1px solid rgba(var(--brand-rgb),.12);border-radius:22px;background:rgba(250,251,248,.94);box-shadow:0 24px 70px rgba(3,25,19,.18);backdrop-filter:blur(22px)}
.dropdown-panel a{border-radius:13px}
.mobile-menu{margin:9px 14px 0;padding:16px;border:1px solid rgba(var(--brand-rgb),.12);border-radius:26px;background:rgba(249,250,246,.95);box-shadow:0 28px 70px rgba(3,25,19,.18);backdrop-filter:blur(22px)}

/* Buttons and controls share one tactile language. */
.btn{min-height:50px;padding:13px 23px;border-radius:999px;box-shadow:0 9px 26px rgba(5,35,27,.08);transition:transform .35s var(--modern-ease),box-shadow .35s ease,background .25s ease,border-color .25s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(5,35,27,.16)}
.btn-primary,.btn-accent{position:relative;overflow:hidden}
.btn-primary::after,.btn-accent::after{position:absolute;inset:-60% auto -60% -35%;width:28%;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg);transition:transform .7s var(--modern-ease)}
.btn-primary:hover::after,.btn-accent:hover::after{transform:translateX(520%) skewX(-18deg)}

/* Internal page heroes become atmospheric, layered canvases. */
.page-hero,.b2b-page-hero,.article-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:0 0 clamp(34px,5vw,72px) clamp(34px,5vw,72px);box-shadow:0 28px 90px rgba(3,23,18,.18)}
.page-hero::after,.b2b-page-hero::after,.article-hero::after{position:absolute;z-index:-1;top:-25%;right:-12%;width:min(58vw,760px);aspect-ratio:1;content:"";border:1px solid rgba(230,212,157,.18);border-radius:50%;background:radial-gradient(circle,rgba(217,196,136,.15),rgba(22,86,65,.08) 40%,transparent 69%);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018);filter:blur(.2px);pointer-events:none}
.page-hero h1,.b2b-page-hero h1,.article-hero h1{text-wrap:balance;letter-spacing:-.045em}
.page-hero p,.b2b-page-hero p,.article-hero p{text-wrap:pretty}
.page-hero.compact{min-height:450px}

/* One reusable soft-card treatment for the whole site. */
.service-card,.benefit-card,.sector-card,.advisory-card,.article-card,.service-list-card,
.expertise-grid article,.scope-card-grid article,.audience-cards article,.change-grid article,
.contact-card,.office-card,.b2b-contact-card,.b2b-office-card,.outputs-panel,.article-aside,
.mini-stat-grid div,.number-grid>div,.number-grid>a,.audience-grid div,.verification-note{
  border:1px solid var(--modern-border);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,250,245,.76));box-shadow:var(--modern-shadow);transition:transform .45s var(--modern-ease),box-shadow .45s ease,border-color .35s ease
}
.service-card:hover,.benefit-card:hover,.sector-card:hover,.advisory-card:hover,.article-card:hover,
.service-list-card:hover,.expertise-grid article:hover,.scope-card-grid article:hover,.audience-cards article:hover,
.change-grid article:hover,.number-grid>a:hover{transform:translateY(-7px);border-color:rgba(var(--brand-rgb),.25);box-shadow:var(--modern-shadow-hover)}
.sector-card,.service-list-card,.article-card{overflow:hidden}
.sector-image,.service-list-image,.article-card img,.feature-visual img{transition:transform .8s var(--modern-ease),filter .5s ease}
.sector-card:hover .sector-image,.service-list-card:hover .service-list-image,.article-card:hover img{transform:scale(1.035);filter:saturate(1.06)}
.feature-visual img{border-radius:var(--radius-lg);box-shadow:var(--modern-shadow)}
.floating-label{border-radius:20px;background:rgba(250,251,247,.86);box-shadow:0 18px 55px rgba(4,28,22,.15);backdrop-filter:blur(16px)}

/* Replace hard table-like layouts with breathable modular panels. */
.advisory-grid,.model-timeline{gap:14px;border:0;background:transparent}
.advisory-card,.model-step{min-width:0;padding:clamp(24px,3vw,38px)}
.model-step{border:1px solid var(--modern-border);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(246,250,245,.76));box-shadow:0 18px 52px rgba(4,28,22,.08)}
.model-step::before{top:22px;right:22px;left:auto;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(var(--brand-rgb),.14);border-radius:50%;background:rgba(var(--brand-rgb),.055)}
.why-list,.editorial-list,.scope-list,.compact-process,.future-pillar-list{gap:12px}
.why-list article,.editorial-list li,.scope-list>div,.compact-process>div{padding:20px 22px;border:1px solid var(--modern-border);border-radius:20px;background:rgba(255,255,255,.7);box-shadow:0 12px 36px rgba(4,28,22,.06);transition:transform .35s var(--modern-ease),border-color .35s ease}
.why-list article:hover,.editorial-list li:hover,.scope-list>div:hover,.compact-process>div:hover{transform:translateX(5px);border-color:rgba(var(--brand-rgb),.26)}
.b2b-why-visual,.future-hotel-stage{overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 30px 90px rgba(3,25,19,.18)}
.future-hotel-visual{border-radius:inherit}
.instagram-topic-stack span,.knowledge-filter span{border-radius:999px}

/* Process, FAQ and long-form content flow as calm, connected chapters. */
.process-journey::before{left:47px;background:linear-gradient(var(--accent),rgba(var(--brand-rgb),.12),transparent)}
.process-journey article>div:last-child{padding:26px 30px;border:1px solid var(--modern-border);border-radius:var(--radius);background:rgba(255,255,255,.74);box-shadow:0 16px 52px rgba(4,28,22,.07);backdrop-filter:blur(10px)}
.journey-number{box-shadow:0 13px 35px rgba(5,36,28,.15)}
.faq-list{display:grid;gap:12px}
.faq-list details{overflow:hidden;border:1px solid var(--modern-border);border-radius:22px;background:rgba(255,255,255,.76);box-shadow:0 13px 40px rgba(4,28,22,.065);transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}
.faq-list details[open]{border-color:rgba(var(--brand-rgb),.24);background:rgba(255,255,255,.95);box-shadow:0 20px 54px rgba(4,28,22,.1)}
.faq-list summary{padding:22px}
.faq-list details p{padding:0 24px 24px 76px}
.article-body{padding:clamp(28px,5vw,68px);border:1px solid var(--modern-border);border-radius:var(--radius-lg);background:rgba(255,255,255,.86);box-shadow:var(--modern-shadow)}
.article-cta{border-radius:var(--radius);box-shadow:0 20px 60px rgba(3,29,22,.16)}

/* Forms feel like a premium concierge interaction. */
.form-layout{gap:clamp(28px,5vw,70px)}
.contact-card,.office-card,.b2b-contact-card,.b2b-office-card{padding:clamp(24px,4vw,42px)}
.contact-form input,.contact-form select,.contact-form textarea,
.b2b-contact-form input,.b2b-contact-form select,.b2b-contact-form textarea{
  min-height:54px;padding:14px 17px;border:1px solid rgba(var(--brand-rgb),.14);border-radius:16px;background:rgba(246,249,245,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:border-color .25s ease,box-shadow .25s ease,background .25s ease
}
.contact-form textarea,.b2b-contact-form textarea{min-height:145px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,
.b2b-contact-form input:focus,.b2b-contact-form select:focus,.b2b-contact-form textarea:focus{outline:0;border-color:rgba(var(--brand-rgb),.48);background:#fff;box-shadow:0 0 0 5px rgba(var(--brand-rgb),.08),0 10px 30px rgba(4,28,22,.07)}
.form-alert{border-radius:17px}

/* Softer section endings and footer silhouette. */
.b2b-trust-band{padding:18px 0;background:linear-gradient(100deg,#061c15,#103c30 55%,#09251d)}
.b2b-trust-band .container{padding:15px 22px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.045);backdrop-filter:blur(12px)}
.closing-cta,.consultation-section{margin-inline:clamp(10px,2vw,28px);overflow:hidden;border-radius:var(--radius-xl);box-shadow:0 30px 90px rgba(3,24,18,.2)}
.closing-inner{position:relative;z-index:1}
.site-footer,.b2b-footer{position:relative;margin-top:24px;overflow:hidden;border-radius:clamp(34px,5vw,66px) clamp(34px,5vw,66px) 0 0;background:radial-gradient(circle at 82% 12%,rgba(77,139,112,.2),transparent 28rem),linear-gradient(145deg,#041713,#09251e 58%,#061a17);box-shadow:0 -24px 80px rgba(4,27,21,.09)}
.footer-bottom{border-color:rgba(255,255,255,.1)}

/* Progressive editorial reveal: added only when JavaScript and motion are available. */
/* Perf: reveal uses only compositor-friendly opacity/transform (no blur, no permanent will-change). */
.modern-motion .modern-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .85s var(--modern-ease) var(--reveal-delay,0ms),transform .95s var(--modern-ease) var(--reveal-delay,0ms)}
.modern-motion .modern-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}

/* Dark theme keeps the same depth without introducing bright card flashes. */
.dark .surface-alt{background:linear-gradient(145deg,rgba(89,185,151,.055),rgba(13,33,27,.42) 46%,rgba(224,193,126,.035))}
.dark .site-header.scrolled .nav-shell,.dark .site-header.menu-active .nav-shell{border-color:rgba(255,255,255,.1);background:rgba(7,22,18,.88);box-shadow:0 18px 58px rgba(0,0,0,.34)}
.dark .dropdown-panel,.dark .mobile-menu{border-color:rgba(255,255,255,.1);background:rgba(10,29,23,.95);box-shadow:0 25px 72px rgba(0,0,0,.42)}
.dark .service-card,.dark .benefit-card,.dark .sector-card,.dark .advisory-card,.dark .article-card,
.dark .service-list-card,.dark .expertise-grid article,.dark .scope-card-grid article,.dark .audience-cards article,
.dark .change-grid article,.dark .contact-card,.dark .office-card,.dark .b2b-contact-card,.dark .b2b-office-card,
.dark .outputs-panel,.dark .article-aside,.dark .mini-stat-grid div,.dark .number-grid>div,.dark .number-grid>a,
.dark .audience-grid div,.dark .verification-note,.dark .model-step{
  border-color:rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(17,43,35,.96),rgba(9,29,23,.88));box-shadow:0 24px 70px rgba(0,0,0,.24)
}
.dark .why-list article,.dark .editorial-list li,.dark .scope-list>div,.dark .compact-process>div,
.dark .process-journey article>div:last-child,.dark .faq-list details,.dark .article-body{border-color:rgba(255,255,255,.09);background:rgba(13,34,28,.82);box-shadow:0 18px 55px rgba(0,0,0,.2)}
.dark .faq-list details[open]{border-color:rgba(89,185,151,.3);background:rgba(18,45,37,.96)}
.dark .contact-form input,.dark .contact-form select,.dark .contact-form textarea,
.dark .b2b-contact-form input,.dark .b2b-contact-form select,.dark .b2b-contact-form textarea{border-color:rgba(255,255,255,.11);color:var(--text);background:rgba(5,23,18,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.dark .contact-form input:focus,.dark .contact-form select:focus,.dark .contact-form textarea:focus,
.dark .b2b-contact-form input:focus,.dark .b2b-contact-form select:focus,.dark .b2b-contact-form textarea:focus{background:#102b23}

@media(max-width:920px){
  .site-header.scrolled .nav-shell,.site-header.menu-active .nav-shell{margin-inline:10px;border-radius:24px}
  .model-timeline,.advisory-grid{gap:12px}
  .closing-cta,.consultation-section{border-radius:36px}
}
@media(max-width:680px){
  :root{--radius:22px;--radius-lg:28px;--radius-xl:34px}
  .section{padding-block:68px}
  .page-hero,.b2b-page-hero,.article-hero{border-radius:0 0 32px 32px}
  .page-hero::after,.b2b-page-hero::after,.article-hero::after{right:-48%;width:110vw}
  .process-journey::before{left:25px}
  .process-journey article{grid-template-columns:52px 1fr;gap:14px;padding-bottom:30px}
  .process-journey article>div:last-child{padding:21px}
  .faq-list summary{grid-template-columns:28px 1fr 20px;gap:10px;padding:19px 17px}
  .faq-list details p{padding:0 17px 20px 55px}
  .article-body{padding:25px 19px}
  .closing-cta,.consultation-section{margin-inline:8px;border-radius:28px}
  .b2b-trust-band .container{margin-inline:10px;border-radius:20px}
}
@media(prefers-reduced-motion:reduce){
  .modern-motion .modern-reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  .btn-primary::after,.btn-accent::after{display:none}
}

/* Visual QA corrections: resolve legacy/new component collisions and palette drift. */
.intro-v2 .intro-enter{
  width:auto;min-width:224px;height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin:34px auto 0;padding:5px 6px 5px 23px;
  color:#fff;background:linear-gradient(120deg,rgba(5,26,19,.82),rgba(15,55,43,.68));border:1px solid rgba(225,202,135,.68);border-radius:999px;
  box-shadow:0 15px 42px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px);line-height:1;white-space:nowrap;
  transition:transform .35s var(--modern-ease),background .35s ease,border-color .35s ease,box-shadow .35s ease
}
.intro-v2 .intro-enter>span{display:block;margin:0;color:#fff;font-size:10px;font-weight:800;line-height:1;letter-spacing:.16em;text-transform:uppercase}
.intro-v2 .intro-enter>i{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;margin:0;color:#102c25;background:linear-gradient(145deg,#ead89f,#c5a45d);border:1px solid rgba(255,243,192,.7);border-radius:50%;font:400 18px/1 Georgia,serif;box-shadow:0 7px 20px rgba(0,0,0,.2);transition:transform .35s var(--modern-ease),box-shadow .35s ease}
.intro-v2 .intro-enter:hover,.intro-v2 .intro-enter:focus-visible{transform:translateY(-3px);border-color:#ead89f;background:linear-gradient(120deg,rgba(9,39,29,.92),rgba(24,80,62,.78));box-shadow:0 21px 55px rgba(0,0,0,.36),0 0 0 5px rgba(225,202,135,.08)}
.intro-v2 .intro-enter:hover>i,.intro-v2 .intro-enter:focus-visible>i{transform:translateX(2px) rotate(-4deg);box-shadow:0 9px 25px rgba(0,0,0,.28)}
.intro-v2 .intro-enter:focus-visible,.intro-v2 .intro-skip:focus-visible{outline:2px solid #ead89f;outline-offset:4px}
.intro-v2 .intro-skip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;color:rgba(255,255,255,.78);background:rgba(4,20,14,.48);border-color:rgba(225,202,135,.28);box-shadow:0 8px 28px rgba(0,0,0,.16)}
.intro-v2 .intro-skip span{margin:0;color:#e1ca87;font-size:13px;line-height:1}

/* Gold actions use dark ink for accessible, brand-consistent contrast. */
.btn-accent{color:#102c25;background:linear-gradient(135deg,#e4ce91,#c2a05a);border-color:rgba(151,116,48,.22);box-shadow:0 11px 30px rgba(132,101,41,.2)}
.btn-accent:hover{color:#0a211a;background:linear-gradient(135deg,#eddba7,#c9a969);border-color:rgba(151,116,48,.32)}
.eyebrow.light{color:#f5ead0!important;background:rgba(225,202,135,.08);border-color:rgba(225,202,135,.28)}
.eyebrow.light::before{background:#e1ca87;box-shadow:0 0 0 5px rgba(225,202,135,.1)}

/* Components that intentionally live on dark canvases must stay dark. */
.b2b-services-band .advisory-card{
  color:#fff;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-color:rgba(255,255,255,.13);
  box-shadow:0 20px 55px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.035)
}
.b2b-services-band .advisory-card h3{color:#fff}
.b2b-services-band .advisory-card p{color:rgba(255,255,255,.64)}
.b2b-services-band .advisory-card:hover{border-color:rgba(225,202,135,.35);background:linear-gradient(145deg,rgba(51,117,91,.34),rgba(255,255,255,.035));box-shadow:0 28px 72px rgba(0,0,0,.24)}
.outputs-panel{color:#fff;background:radial-gradient(circle at 100% 0%,rgba(225,202,135,.12),transparent 38%),linear-gradient(145deg,#092b22,#154f3f);border-color:rgba(225,202,135,.18);box-shadow:0 25px 70px rgba(4,31,24,.2)}
.outputs-panel h2{color:#fff}
.outputs-panel .eyebrow{color:#f5ead0;background:rgba(225,202,135,.08);border-color:rgba(225,202,135,.25)}
.outputs-panel li{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.12)}

/* Keep public pages inside the forest-and-gold longevity palette. */
.future-hotel-section{background:linear-gradient(145deg,var(--surface-2),var(--bg) 58%,rgba(var(--brand-rgb),.045))}
.instagram-editorial{background:radial-gradient(circle at 82% 12%,rgba(201,169,105,.1),transparent 30rem),linear-gradient(145deg,#061f19,#0b342b)}
.consultation-section{background:linear-gradient(150deg,var(--bg),var(--surface-2) 58%,rgba(var(--brand-rgb),.08))}
.article-hero{background:radial-gradient(circle at 84% 20%,rgba(var(--brand-rgb),.1),transparent 30rem),linear-gradient(145deg,var(--surface-2),var(--bg))}
.contact-rail-phone:hover,.contact-rail-email:hover,.contact-rail-location:hover{background:#1d6653}
.contact-rail-instagram:hover{background:linear-gradient(145deg,#8b7441,#c9a969)}
.text-link,.sector-card strong,.article-card strong,.service-list-card strong{color:var(--brand-strong)}
.dark .text-link,.dark .sector-card strong,.dark .article-card strong,.dark .service-list-card strong{color:var(--brand-light)}

/* Prevent pale form/card chrome from leaking into dark theme sections. */
.dark .future-hotel-section{background:linear-gradient(145deg,#0d241d,var(--bg) 58%,rgba(89,185,151,.04))}
.dark .consultation-section{background:linear-gradient(150deg,var(--bg),var(--surface-2) 60%,rgba(89,185,151,.07))}
.dark .article-hero{background:radial-gradient(circle at 84% 20%,rgba(89,185,151,.08),transparent 30rem),linear-gradient(145deg,var(--surface-2),var(--bg))}
.dark .btn-accent{color:#0a211a}

@media(max-width:720px){
  .intro-v2 .intro-enter{min-width:210px;height:50px;margin-top:25px;padding-left:20px}
  .intro-v2 .intro-enter>span{font-size:9px;letter-spacing:.14em}
  .intro-v2 .intro-enter>i{width:38px;height:38px;flex-basis:38px}
}

/* ==================================================================
   MOTION SYSTEM v3 — site-wide editorial choreography
   Rules: animate only opacity/transform (compositor), no live blur or
   blend modes, single rAF scheduler in JS, `html.low-power` fallback.
   Full reference: tema.md
   ================================================================== */
:root{
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-in-out:cubic-bezier(.76,0,.24,1);
  --ease-expo:cubic-bezier(.16,1,.3,1);
  --dur-fast:.28s;
  --dur-base:.55s;
  --dur-slow:.95s;
  --dur-cinematic:1.6s;
  --gold:#e1ca87;
  --gold-rgb:225 202 135;
}
.longevity-stage{contain:layout paint}

/* --- Page transition veil --------------------------------------- */
.page-veil{position:fixed;z-index:9500;inset:0;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(31,102,85,.55),transparent 45rem),linear-gradient(135deg,#071f1a,#123f34 60%,#1f6655);transform:translate3d(0,102%,0);will-change:transform;transition:transform var(--dur-base) var(--ease-in-out)}
.page-veil-mark{display:grid;justify-items:center;gap:16px;opacity:0;transform:translate3d(0,14px,0);transition:opacity .3s ease,transform .5s var(--ease-out)}
.page-veil-mark{position:relative}
.page-veil-mark img{width:96px;height:66px;object-fit:cover;object-position:top;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}
.page-veil-mark i{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .6s .1s var(--ease-out)}
.page-leaving .page-veil{transform:translate3d(0,0,0)}
.page-leaving .page-veil-mark{opacity:1;transform:none;transition-delay:.18s}
.page-leaving .page-veil-mark i{transform:scaleX(1)}
.page-leaving body{pointer-events:none}
.page-entering .page-veil{transform:translate3d(0,0,0);transition:none;animation:veilSafety .7s 2.4s var(--ease-in-out) forwards}
.page-entering .page-veil-mark{opacity:1;transform:none;transition:none}
.page-entering .page-veil-mark i{transform:scaleX(1);transition:none}
.page-entering.page-revealing .page-veil{animation:none;transform:translate3d(0,-102%,0);transition:transform .75s .04s var(--ease-in-out)}
.page-entering.page-revealing .page-veil-mark{opacity:0;transform:translate3d(0,-10px,0);transition:opacity .22s ease,transform .3s ease}
@keyframes veilSafety{to{transform:translate3d(0,-102%,0)}}

/* --- Internal-page hero choreography ----------------------------- */
.page-hero,.article-hero{--hero-shift:0px;--hero-fade:1}
.page-hero::before{inset:-14% 0;transform:translate3d(0,var(--hero-shift),0);will-change:transform;backface-visibility:hidden}
.modern-motion .page-hero::before{scale:1.18;transition:scale 2.8s var(--ease-expo)}
.modern-motion .page-hero.is-hero-ready::before{scale:1.06}
.modern-motion .page-hero>.container,.modern-motion .article-hero>.container{transform:translate3d(0,calc(var(--hero-shift) * -.42),0);opacity:var(--hero-fade)}
.modern-motion .page-hero .container>*,.modern-motion .article-hero .container>*,.modern-motion .not-found .container>*{opacity:0;transform:translate3d(0,28px,0);transition:opacity var(--dur-slow) var(--ease-out),transform 1.05s var(--ease-out)}
.modern-motion .is-hero-ready .container>*{opacity:1;transform:translate3d(0,0,0)}
.modern-motion .is-hero-ready .container>:nth-child(1){transition-delay:.12s}
.modern-motion .is-hero-ready .container>:nth-child(2){transition-delay:.22s}
.modern-motion .is-hero-ready .container>:nth-child(3){transition-delay:.36s}
.modern-motion .is-hero-ready .container>:nth-child(4){transition-delay:.5s}
.modern-motion .is-hero-ready .container>:nth-child(5){transition-delay:.62s}
.modern-motion .page-hero::after,.modern-motion .b2b-page-hero::after,.modern-motion .article-hero::after{opacity:0;scale:.8;transition:opacity 1.6s .3s ease,scale 2.2s .2s var(--ease-expo)}
.modern-motion .is-hero-ready::after{opacity:1;scale:1}
.modern-motion :is(.modern-reveal,.page-hero,.article-hero,.not-found) .eyebrow::before,.modern-motion .eyebrow.modern-reveal::before{transform:scale(0);transition:transform .6s .4s var(--ease-expo)}
.modern-motion :is(.is-visible,.is-hero-ready) .eyebrow::before,.modern-motion .eyebrow.is-visible::before{transform:scale(1)}
.modern-motion .not-found span{display:inline-block}

/* --- Split text (word masks) -------------------------------------- */
.split-text .sw{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.08em .03em .12em 0;margin:-.08em 0 -.12em}
.split-text .sw>span{display:inline-block;transform:translate3d(0,118%,0) rotate(3deg);transform-origin:0 100%;transition:transform var(--dur-slow) var(--ease-expo);transition-delay:calc(var(--i,0) * 42ms)}
.split-text.is-visible .sw>span{transform:translate3d(0,0,0) rotate(0)}
.is-hero-ready .split-text .sw>span{transition-delay:calc(.2s + var(--i,0) * 55ms)}
.modern-motion .split-text.modern-reveal{transform:none}

/* --- Media reveal (image wipe on scroll) -------------------------- */
.modern-motion .media-reveal{transition-duration:.65s}
.modern-motion .media-reveal img{clip-path:inset(0 0 100% 0);transform:scale(1.08);transition:clip-path .78s var(--ease-expo) var(--media-delay,0ms),transform .95s var(--ease-expo) var(--media-delay,0ms),filter .35s ease}
.modern-motion .media-reveal.is-visible img{clip-path:inset(0 0 0 0);transform:scale(1)}
.modern-motion .media-reveal.is-media-primed img{will-change:clip-path,transform}
.modern-motion .sector-card.media-reveal.is-visible:hover .sector-image img,.modern-motion .service-list-card.media-reveal.is-visible:hover .service-list-image img{transform:scale(1.04)}
.modern-motion .media-reveal .sector-image,.modern-motion .media-reveal .service-list-image{transform:none}
.modern-motion .future-hotel-stage.media-reveal.is-visible:hover .future-hotel-visual img{transform:scale(1.025)}

/* --- Tilt + spotlight cards --------------------------------------- */
.tilt-card{position:relative;--tx:0deg;--ty:0deg;--mx:50%;--my:50%;--lift:0px;transform-style:preserve-3d}
.modern-motion .tilt-card.is-visible,.modern-motion .tilt-card:not(.modern-reveal){transform:perspective(1100px) rotateX(var(--tx)) rotateY(var(--ty)) translate3d(0,var(--lift),0);transition:transform .7s var(--ease-out) var(--reveal-delay,0ms),box-shadow .45s ease,border-color .35s ease,opacity .85s var(--ease-out) var(--reveal-delay,0ms)}
.modern-motion .tilt-card:hover{--lift:-7px}
.tilt-card::after{position:absolute;z-index:4;inset:0;content:"";border-radius:inherit;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.16),rgba(255,255,255,.04) 28%,transparent 52%);opacity:0;pointer-events:none;transition:opacity .4s ease}
.tilt-card:hover::after{opacity:1}
.b2b-services-band .tilt-card::after{background:radial-gradient(circle at var(--mx) var(--my),rgba(var(--gold-rgb),.16),transparent 50%)}
.dark .tilt-card::after{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.08),transparent 50%)}

/* --- Magnetic controls ------------------------------------------- */
.magnetic{--mag-x:0px;--mag-y:0px}
.btn.magnetic{transform:translate3d(var(--mag-x),var(--mag-y),0);transition:transform .45s var(--ease-out),box-shadow .35s ease,background .25s ease,border-color .25s ease}
.btn.magnetic:hover{transform:translate3d(var(--mag-x),calc(var(--mag-y) - 3px),0)}
.btn>span,.btn>i{display:inline-block;transition:transform .4s var(--ease-expo)}
.btn:hover>span,.btn:hover>i{transform:translateX(5px)}
.btn.is-submitting{pointer-events:none;opacity:.78}
.btn.is-submitting>span{animation:submitPulse 1s ease-in-out infinite}
@keyframes submitPulse{50%{transform:translateX(7px);opacity:.5}}
.language-switch.magnetic,.menu-toggle.magnetic{transform:translate3d(var(--mag-x),var(--mag-y),0);transition:transform .45s var(--ease-out),border-color .25s ease,background .25s ease}
.intro-v2 .intro-enter.magnetic{transform:translate3d(var(--mag-x),var(--mag-y),0)}
.intro-v2 .intro-enter.magnetic:hover,.intro-v2 .intro-enter.magnetic:focus-visible{transform:translate3d(var(--mag-x),calc(var(--mag-y) - 3px),0)}
.journey-hold.magnetic{transform:translate3d(calc(-50% + var(--mag-x)),var(--mag-y),0)}

/* --- Header behaviour -------------------------------------------- */
.site-header{transition:transform .6s var(--ease-in-out),background .25s,box-shadow .25s,color .25s}
.site-header.is-hidden{transform:translate3d(0,-115%,0)}
.desktop-nav a.nav-link{position:relative}
.desktop-nav a.nav-link::after{position:absolute;right:11px;bottom:6px;left:11px;height:1px;content:"";background:currentColor;opacity:.75;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-expo)}
.desktop-nav a.nav-link:hover::after,.desktop-nav a.nav-link.active::after{transform:scaleX(1);transform-origin:left}
.nav-dropdown .dropdown-panel a{transform:translate3d(-6px,0,0);opacity:0;transition:opacity .35s ease,transform .45s var(--ease-expo),color .18s,background .18s}
.nav-dropdown:hover .dropdown-panel a,.nav-dropdown:focus-within .dropdown-panel a{transform:none;opacity:1}
.nav-dropdown .dropdown-panel a:nth-child(1){transition-delay:.03s}.nav-dropdown .dropdown-panel a:nth-child(2){transition-delay:.07s}.nav-dropdown .dropdown-panel a:nth-child(3){transition-delay:.11s}.nav-dropdown .dropdown-panel a:nth-child(4){transition-delay:.15s}.nav-dropdown .dropdown-panel a:nth-child(5){transition-delay:.19s}.nav-dropdown .dropdown-panel a:nth-child(6){transition-delay:.23s}.nav-dropdown .dropdown-panel a:nth-child(n+7){transition-delay:.27s}
.dropdown-panel{transition:opacity .28s ease,transform .45s var(--ease-expo),visibility .28s}
.menu-active .mobile-menu>a,.menu-active .mobile-menu>.btn{animation:menuItemIn .6s var(--ease-expo) both;animation-delay:calc(60ms + var(--i,0) * 45ms)}
@keyframes menuItemIn{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.header-progress{transition:none}

/* --- Footer marquee ---------------------------------------------- */
.brand-marquee{position:relative;overflow:hidden;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.08);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brand-marquee-track{display:flex;width:max-content;will-change:transform;animation:marquee 46s linear infinite}
.brand-marquee-half{display:flex;align-items:center;gap:38px;padding-right:38px}
.brand-marquee-half span{color:rgba(255,255,255,.72);font:400 clamp(1.6rem,3vw,2.6rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.03em;white-space:nowrap}
.brand-marquee-half i{color:var(--gold);font-size:14px;font-style:normal}
.brand-marquee:hover .brand-marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}

/* --- Process timeline line grows with reading -------------------- */
.modern-motion .process-journey::before{transform:scaleY(var(--line-scale,0));transform-origin:top;will-change:transform}
.modern-motion .process-journey .journey-number{transition:transform .7s var(--ease-expo),border-color .5s ease,color .5s ease}
.modern-motion .process-journey article.is-visible .journey-number{border-color:rgba(var(--accent-rgb),.5)}
.modern-motion .process-journey article:not(.is-visible) .journey-number{transform:scale(.7)}

/* --- FAQ + small interactions ------------------------------------ */
.faq-list summary i{transition:transform .5s var(--ease-expo),color .3s}
.faq-list details[open] summary i{color:var(--accent)}
.faq-list summary:hover>span{color:var(--brand)}
.knowledge-filter span{transition:transform .35s var(--ease-out),border-color .3s,background .3s}
.knowledge-filter span:hover{transform:translateY(-2px);border-color:rgba(var(--brand-rgb),.35)}
.text-link,.footer-cta-link,.journey-copy-future>a,.back-link{position:relative;display:inline-block}
.text-link::after,.footer-cta-link::after,.back-link::after{position:absolute;right:0;bottom:-2px;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-expo)}
.text-link:hover::after,.footer-cta-link:hover::after,.back-link:hover::after{transform:scaleX(1);transform-origin:left}
.footer-grid>div:not(:first-child) a{transition:color .3s,transform .4s var(--ease-expo)}
.footer-grid>div:not(:first-child) a:hover{transform:translateX(6px)}
.contact-rail-action{transition:transform .45s var(--ease-expo),background .25s ease,border-color .25s ease}
.cookie-banner:not([hidden]){animation:cookieIn .7s var(--ease-expo) both}
@keyframes cookieIn{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
.site-cursor-ring.is-pressed{transform-origin:center}
.site-cursor-ring.is-pressed span{transform:scale(.85)}
.site-cursor-ring.is-media{width:92px;height:92px;margin:-46px 0 0 -46px;background:rgba(9,55,41,.35);border-color:rgba(var(--gold-rgb),.9)}
.modern-motion .not-found span{opacity:0;transform:translate3d(0,40px,0) scale(.86);transition:opacity 1s var(--ease-out),transform 1.3s var(--ease-expo)}
.modern-motion .not-found.is-hero-ready span{opacity:1;transform:none}

/* --- Reveal refinements ------------------------------------------ */
.modern-motion .modern-reveal.section-heading,.modern-motion .modern-reveal.b2b-heading{transform:translate3d(0,22px,0)}
.modern-motion .modern-reveal.is-visible.section-heading,.modern-motion .modern-reveal.is-visible.b2b-heading{transform:translate3d(0,0,0)}
.modern-motion .modern-reveal.footer-grid>*{transition-duration:1s}
.modern-motion .brand-marquee.modern-reveal{transform:none}

/* --- Low-power tier: same design, lighter layers ----------------- */
.low-power .journey-particles,.low-power .journey-fog-two,.low-power .journey-water-light,.low-power .journey-light,.low-power .intro-film-grain,.low-power .intro-light-sweep,.low-power .intro-pulse-rings i:nth-child(n+2),.low-power .journey-orbit i:nth-child(n+2),.low-power .journey-transition-veil,.low-power .tilt-card::after{display:none}
.low-power .site-header.scrolled .nav-shell,.low-power .site-header.menu-active .nav-shell,.low-power .dropdown-panel,.low-power .mobile-menu,.low-power .b2b-trust-band .container,.low-power .floating-label,.low-power .site-cursor-ring,.low-power .intro-v2 .intro-enter,.low-power .intro-v2 .intro-skip,.low-power .process-journey article>div:last-child{backdrop-filter:none;-webkit-backdrop-filter:none}
.low-power .site-header.scrolled .nav-shell,.low-power .site-header.menu-active .nav-shell{background:rgba(249,250,246,.97)}
.dark.low-power .site-header.scrolled .nav-shell,.dark.low-power .site-header.menu-active .nav-shell{background:rgba(7,22,18,.97)}
.low-power .intro-v2 .intro-brand-reveal{filter:none!important}
.low-power .media-reveal img{transition-duration:.9s}
.low-power .page-hero::before{scale:1.06!important;transition:none!important}
.low-power .brand-marquee-track{animation-duration:70s}

/* --- Accessibility: reduced motion keeps every state final ------ */
@media(prefers-reduced-motion:reduce){
  .page-veil{display:none}
  .split-text .sw>span,.media-reveal img,.tilt-card,.btn.magnetic,.site-header{transform:none!important;transition:none!important;clip-path:none!important}
  .brand-marquee-track,.menu-active .mobile-menu>a,.menu-active .mobile-menu>.btn,.cookie-banner:not([hidden]){animation:none!important}
  .page-hero .container>*,.article-hero .container>*,.not-found .container>*,.not-found span{opacity:1!important;transform:none!important}
  .page-hero::before{scale:1.04!important}
}
@media(max-width:720px){
  .brand-marquee{padding:16px 0}
  .brand-marquee-half{gap:24px;padding-right:24px}
  .page-hero::before{inset:-10% 0}
  .modern-motion .page-hero>.container,.modern-motion .article-hero>.container{transform:none;opacity:1}
}

/* --- Pear-style left dock + fullscreen chapter menu --- */
.nav-dock-header{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff;pointer-events:none}
.nav-dock-header .header-progress{left:0;top:0;width:var(--scroll-progress,0%);height:2px;background:linear-gradient(90deg,var(--brand-light),var(--accent));opacity:.72;box-shadow:0 0 14px rgba(var(--accent-rgb),.45)}
.nav-dock-header.is-journey-immersive .header-progress{opacity:.5}
.nav-dock{position:fixed;z-index:170;left:clamp(14px,2.2vw,26px);top:clamp(14px,2vw,24px);display:flex;flex-direction:column;align-items:flex-start;gap:10px;pointer-events:auto;transition:transform .65s var(--ease-in-out),opacity .45s ease}
.nav-dock-header.is-journey-immersive .header-progress{opacity:0;pointer-events:none}
.nav-dock-brand{flex-direction:column;align-items:flex-start;gap:0;color:inherit}
.nav-dock-brand .grs-logo-switch{width:72px;height:50px;flex-basis:50px}
.nav-dock-trigger{display:inline-flex;align-items:center;gap:9px;margin-left:2px;padding:4px 2px;color:rgba(255,255,255,.68);background:transparent;border:0;font-size:8px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .25s ease,transform .35s var(--ease-out)}
.nav-dock-trigger-dots{display:grid;grid-template-columns:repeat(2,4px);gap:3px}
.nav-dock-trigger-dots i{width:4px;height:4px;border-radius:50%;background:rgba(225,202,135,.85);transition:transform .35s var(--ease-expo),opacity .25s}
.nav-dock-header.nav-dock-open .nav-dock-trigger{color:rgba(255,255,255,.92)}
.nav-dock-header.nav-dock-open .nav-dock-trigger-dots i:nth-child(odd){transform:translateX(1px)}
.nav-dock-header.nav-dock-open .nav-dock-brand{color:#fff}
.nav-dock-trigger-label{opacity:.82}
.nav-dock-panel{position:fixed;z-index:165;inset:0;display:flex;align-items:stretch;justify-content:center;padding:clamp(88px,11vh,120px) clamp(16px,4vw,48px) clamp(24px,4vh,40px);overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .45s var(--ease-out),visibility .45s}
.nav-dock-header.nav-dock-open .nav-dock-panel:not([hidden]){pointer-events:auto;visibility:visible;opacity:1}
.nav-dock-backdrop{position:absolute;inset:0;background:rgba(4,18,15,.58);backdrop-filter:blur(22px) saturate(120%);-webkit-backdrop-filter:blur(22px) saturate(120%);opacity:0;transition:opacity .5s ease}
.nav-dock-header.nav-dock-open .nav-dock-backdrop{opacity:1}
body.nav-menu-open{overflow:hidden}
body.nav-menu-open #main-content{filter:blur(10px) saturate(.92);transform:scale(1.008);transition:filter .45s ease,transform .55s var(--ease-expo)}
.nav-dock-stage{position:relative;z-index:2;display:flex;flex-direction:column;width:min(980px,100%);max-height:100%;overflow:hidden;padding-left:clamp(36px,6vw,88px);border-left:1px solid rgba(225,202,135,.22);transform:translate3d(0,16px,0);opacity:0;transition:opacity .55s var(--ease-out) .08s,transform .7s var(--ease-expo) .08s}
.nav-dock-header.nav-dock-open .nav-dock-stage{transform:none;opacity:1}
.nav-dock-canvas{display:grid;gap:0;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;align-content:start;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(225,202,135,.45) transparent}
.nav-dock-canvas::-webkit-scrollbar{width:5px}
.nav-dock-canvas::-webkit-scrollbar-track{background:transparent}
.nav-dock-canvas::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(225,202,135,.65),rgba(var(--brand-rgb),.45));border-radius:999px}
.nav-chapter-sub{overflow-wrap:anywhere}
body.nav-menu-open{max-width:100vw;overflow-x:hidden}
.nav-chapter-group{padding:clamp(10px,1.6vh,14px) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.nav-chapter-group:last-child{border-bottom:0}
.nav-chapter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.nav-chapter{flex:1;display:grid;gap:4px;color:#fff;text-decoration:none;transition:transform .45s var(--ease-expo)}
.nav-chapter-toggle{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;margin-top:6px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.04);color:rgba(225,202,135,.9);cursor:pointer;transition:border-color .25s ease,background .25s ease,transform .35s var(--ease-expo)}
.nav-chapter-toggle:hover{border-color:rgba(225,202,135,.45);background:rgba(255,255,255,.08)}
.nav-chapter-chevron{display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .35s var(--ease-expo)}
.nav-chapter-group.is-expanded .nav-chapter-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-chapter-subs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:8px 0 0;padding:0 0 0 2px;list-style:none}
.nav-chapter-group:not(.is-expanded) .nav-chapter-subs{display:none!important}
.nav-chapter-id{font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(225,202,135,.72)}
.nav-chapter-title{font:400 clamp(1.55rem,3.2vw,2.85rem)/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.03em;text-wrap:balance;transition:color .25s ease}
.nav-chapter:hover,.nav-chapter:focus-visible{transform:translateX(6px)}
.nav-chapter.is-active .nav-chapter-title{color:#ead89f}
.nav-chapter-subs li{display:contents}
.nav-chapter-sub{display:block;padding:5px 0;color:rgba(255,255,255,.58);font-size:clamp(11px,1.05vw,13px);line-height:1.35;text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease,transform .35s var(--ease-out)}
.nav-chapter-sub:hover,.nav-chapter-sub:focus-visible{color:rgba(225,202,135,.95);transform:translateX(4px)}
.nav-chapter-sub.is-active{color:#ead89f}
.nav-dock-stage-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(14px,2vh,22px);padding-top:clamp(12px,1.8vh,18px);border-top:1px solid rgba(255,255,255,.12)}
.nav-dock-lang{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;font-size:10px;font-weight:850;letter-spacing:.08em}
.nav-dock-apply{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.86);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.nav-dock-apply span{color:#e1ca87;font-size:16px;transition:transform .35s var(--ease-expo)}
.nav-dock-apply:hover span{transform:translateX(5px)}
.nav-dock-header.scrolled:not(.is-journey-immersive):not(.nav-dock-open) .nav-dock-trigger{color:var(--text-2)}
.nav-dock-header.scrolled:not(.is-journey-immersive):not(.nav-dock-open) .nav-dock-brand{color:var(--text)}
.nav-dock-header.scrolled:not(.is-journey-immersive):not(.nav-dock-open) .nav-dock-trigger-dots i{background:var(--brand)}
.nav-dock-header.is-journey-immersive .nav-dock{top:clamp(16px,2.4vw,28px)}
body.intro-active .nav-dock-header{z-index:10001}
body.intro-active .nav-dock-panel{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-height:860px){
  .nav-chapter-group{padding:8px 0}
  .nav-chapter-title{font-size:clamp(1.35rem,2.8vw,2.35rem)}
  .nav-chapter-subs{margin-top:6px;gap:4px 14px}
  .nav-dock-stage-foot{margin-top:10px;padding-top:10px}
}
@media(max-width:900px){
  .nav-dock-stage{padding-left:28px}
  .nav-chapter-subs{grid-template-columns:1fr}
  .nav-chapter-title{font-size:clamp(1.45rem,7vw,2.2rem)}
}
@media(max-width:720px){
  .nav-dock-brand .grs-logo-switch{width:62px;height:43px;flex-basis:43px}
}

/* Homepage scroll story — left gold spine (expands in place) */
.home-story{position:relative}
.story-spine{position:fixed;z-index:88;left:0;top:50%;width:38px;max-height:min(72vh,640px);transform:translateY(-50%);overflow:hidden;border-radius:0 2px 2px 0;background:linear-gradient(180deg,#e8cf88,#d4b45e 42%,#c9a969);box-shadow:inset -1px 0 0 rgba(255,255,255,.22),4px 0 24px rgba(4,27,21,.12);pointer-events:none;opacity:0;transition:width .78s var(--ease-expo),opacity .45s ease,box-shadow .5s ease}
html[data-home-story] .story-spine{opacity:1;pointer-events:auto}
.story-spine.is-open{width:min(300px,calc(100vw - 20px));box-shadow:inset -1px 0 0 rgba(255,255,255,.28),8px 0 36px rgba(4,27,21,.16)}
.story-spine-inner{display:flex;width:min(300px,calc(100vw - 20px));min-height:120px;max-height:min(72vh,640px)}
.story-spine-handle{flex:0 0 38px;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;gap:10px;width:38px;padding:14px 0;border:0;background:transparent;color:#1a332b;cursor:pointer}
.story-spine-num{font:700 14px/1 Georgia,"Times New Roman",serif;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}
.story-spine-bar{position:relative;width:3px;height:56px;border-radius:999px;background:rgba(26,51,43,.18);overflow:hidden}
.story-spine-bar i{position:absolute;inset:0;background:#1a332b;transform:scaleY(var(--p,0));transform-origin:top;opacity:.85}
.story-spine-menu{flex:1;min-width:0;display:flex;flex-direction:column;padding:12px 14px 12px 4px;color:#1a332b;opacity:0;transform:translate3d(-12px,0,0);transition:opacity .45s var(--ease-out) .12s,transform .62s var(--ease-expo) .12s;pointer-events:none}
.story-spine.is-open .story-spine-menu{opacity:1;transform:none;pointer-events:auto}
.story-spine-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(26,51,43,.16);font-size:8px;font-weight:850;letter-spacing:.22em;text-transform:uppercase;opacity:.72}
.story-spine-close{width:26px;height:26px;border:0;border-radius:2px;background:rgba(26,51,43,.08);color:#1a332b;font-size:16px;line-height:1;cursor:pointer;transition:background .25s ease}
.story-spine-close:hover{background:rgba(26,51,43,.14)}
.story-spine-list{margin:0;padding:0;list-style:none;display:grid;gap:2px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(26,51,43,.35) transparent}
.story-spine-list::-webkit-scrollbar{width:4px}
.story-spine-list::-webkit-scrollbar-thumb{background:rgba(26,51,43,.35);border-radius:999px}
.story-spine-list li button{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:baseline;width:100%;padding:8px 6px;border:0;border-radius:2px;background:transparent;color:rgba(26,51,43,.72);font:inherit;text-align:left;cursor:pointer;transition:background .28s ease,color .28s ease,transform .38s var(--ease-out)}
.story-spine-list li button span{font:700 13px/1 Georgia,serif;color:#1a332b}
.story-spine-list li button em{font-style:normal;font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;line-height:1.35}
.story-spine-list li.is-active button,.story-spine-list li button:hover{background:rgba(26,51,43,.1);color:#1a332b;transform:translateX(4px)}
.story-spine-list li.is-active button span{color:#0b2a22}
html.story-is-navigating .home-story-chapter{transition:opacity .55s var(--ease-out),transform .65s var(--ease-out)}
html.story-is-navigating .home-story-chapter:not(.is-story-active){opacity:.55;transform:translate3d(0,10px,0)}
html.story-is-navigating .home-story-chapter.is-story-target{opacity:1;transform:none}
.home-story-chapter{position:relative;scroll-margin-top:96px}
.home-story-chapter::before{position:absolute;top:0;right:0;left:0;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.16),transparent);opacity:0;transition:opacity .8s ease}
.home-story-chapter.is-story-active::before{opacity:1}
.story-chapter-head{max-width:820px;margin-bottom:clamp(20px,3.5vw,40px);padding-top:clamp(4px,1.2vw,12px)}
.story-chapter-head p{margin:0;color:var(--text-2);font-size:clamp(.95rem,2vw,1.15rem);line-height:1.6;font-family:Georgia,"Times New Roman",serif;font-style:italic;max-width:640px}
.story-chapter-head-light p{color:rgba(255,255,255,.72)}
.modern-motion .home-story-chapter .story-chapter-head{opacity:0;transform:translate3d(0,28px,0);transition:opacity .85s var(--ease-out),transform .95s var(--ease-out)}
.modern-motion .home-story-chapter.is-story-active .story-chapter-head{opacity:1;transform:none}
.modern-motion .home-story-chapter .container:not(.story-chapter-head):not(.model-layout){transition:opacity .7s var(--ease-out) .12s,transform .85s var(--ease-out) .12s}
.modern-motion .home-story-chapter:not(.is-story-active) .container:not(.story-chapter-head):not(.model-layout){opacity:.72;transform:translate3d(0,12px,0)}
.modern-motion .home-story-chapter.is-story-active .container:not(.story-chapter-head):not(.model-layout){opacity:1;transform:none}
@media(max-width:900px){
  .contact-rail,.story-spine{top:50%;transform:translateY(-50%)}
  .story-spine.is-open{transform:translateY(-50%)}
  .story-spine{width:26px;max-height:min(52vh,460px);box-shadow:inset -1px 0 0 rgba(255,255,255,.2),2px 0 14px rgba(4,27,21,.08)}
  .story-spine:not(.is-open){height:auto;max-height:none}
  .story-spine.is-open{width:min(268px,calc(100vw - 16px))}
  .story-spine-inner{width:min(268px,calc(100vw - 16px));min-height:0}
  .story-spine:not(.is-open) .story-spine-inner{width:26px;min-height:0;max-height:none}
  .story-spine-handle{flex-basis:26px;width:26px;padding:10px 0;gap:6px;grid-template-rows:auto auto;align-content:center;justify-content:center}
  .story-spine-num{font-size:11px;letter-spacing:.04em}
  .story-spine-bar{width:2px;height:42px}
  .story-spine-menu{padding:10px 10px 10px 2px}
  .story-spine-list li button{grid-template-columns:26px 1fr;padding:7px 4px}
  .story-spine-list li button span{font-size:12px}
  .story-spine-list li button em{font-size:7px;line-height:1.25}
  .home-story-chapter{scroll-margin-top:72px}
}
@media(max-width:720px){
  .story-spine{width:20px;max-height:min(46vh,380px)}
  .story-spine:not(.is-open) .story-spine-inner{width:20px}
  .story-spine-handle{flex-basis:20px;width:20px;padding:8px 0;gap:4px}
  .story-spine-num{font-size:9px}
  .story-spine-bar{width:2px;height:30px}
  .story-spine.is-open{width:min(252px,calc(100vw - 12px))}
  .story-spine-inner{width:min(252px,calc(100vw - 12px))}
}

/* Intro → journey handoff ("Deneyimi Başlat") */
.intro-v2.intro-handoff .intro-brand-reveal,.intro-v2.intro-handoff .intro-system,.intro-v2.intro-handoff .intro-chapter,.intro-v2.intro-handoff .intro-timeline,.intro-v2.intro-handoff .intro-skip{opacity:0!important;transition:opacity .42s ease,transform .55s var(--ease-expo)!important;pointer-events:none}
.intro-v2.intro-handoff .intro-brand-reveal{transform:translate(-50%,-54%) scale(1.03)!important;filter:none!important}
.intro-v2.intro-handoff .intro-sequence{transform:scale(1.04);transition:transform 1.15s var(--ease-expo),filter .9s ease}
.intro-v2.intro-handoff .intro-scene.is-active{transition:opacity .55s ease,transform 1.15s var(--ease-expo),clip-path .9s var(--ease-expo)!important}
.intro-v2.intro-handoff .intro-scene-reveal.is-active{clip-path:circle(100% at 50% 50%)!important;transform:scale(1)!important}
.intro-v2.intro-handoff .intro-forest-gate-left{animation:introGateCloseLeft .85s var(--ease-in-out) forwards!important}
.intro-v2.intro-handoff .intro-forest-gate-right{animation:introGateCloseRight .85s var(--ease-in-out) forwards!important}
.intro-v2.intro-handoff.is-closing{opacity:0;transform:scale(1.015);transition:opacity .75s ease .12s,visibility .75s .12s,transform .95s var(--ease-expo)!important}
@keyframes introGateCloseLeft{to{transform:translateX(-6%) scaleX(1.02);opacity:.35}}
@keyframes introGateCloseRight{to{transform:translateX(6%) scaleX(1.02);opacity:.35}}
html.journey-revealing .longevity-journey{animation:journeyHandoffIn 1.05s var(--ease-expo) both}
@keyframes journeyHandoffIn{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}

/* ===== Home story: transformation chapters (reference-driven motion) ===== */
.story-manifesto{position:relative;overflow:hidden;background:var(--bg,#fff)}
.story-blinds{position:absolute;inset:0;z-index:3;display:grid;grid-template-rows:repeat(6,1fr);pointer-events:none}
.story-blinds i{display:block;background:#0f1a17;transform-origin:50% 0;transform:scaleY(1);transition:transform 1.05s var(--ease-expo)}
.story-blinds i:nth-child(2){transition-delay:.06s}.story-blinds i:nth-child(3){transition-delay:.12s}.story-blinds i:nth-child(4){transition-delay:.18s}.story-blinds i:nth-child(5){transition-delay:.24s}.story-blinds i:nth-child(6){transition-delay:.3s}
.story-manifesto.is-blinds-open .story-blinds i{transform:scaleY(0)}
html:not(.modern-motion) .story-blinds,.low-power .story-blinds{display:none}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.manifesto-lead h2{font-size:clamp(34px,4.4vw,60px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 20px}
.manifesto-intro{font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--text-soft);max-width:34ch}
.manifesto-copy{display:grid;gap:18px;padding-top:clamp(8px,1.6vw,22px)}
.manifesto-copy p{font-size:clamp(16px,1.15vw,18px);line-height:1.7;color:var(--text-soft);margin:0}
.manifesto-copy p:first-child{color:var(--text);font-weight:500}
.manifesto-statement{position:relative;margin:14px 0 0;padding:26px 30px 26px 56px;border-left:3px solid rgb(var(--accent-rgb));background:rgb(var(--brand-rgb)/.05);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-size:clamp(19px,1.6vw,24px);line-height:1.4;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.manifesto-statement>span{position:absolute;left:18px;top:8px;font-size:60px;line-height:1;color:rgb(var(--accent-rgb));font-family:Georgia,serif;opacity:.8}
.manifesto-trust{margin-top:clamp(44px,6vw,80px)}
.home-story-chapter .manifesto-trust .container{opacity:1!important;transform:none!important}

/* --- Film strip reel (video 1) --- */
.b2b-solutions .story-reel{position:relative;height:260vh;margin:calc(-1 * clamp(72px,9vw,124px)) 0 clamp(40px,5vw,72px);background:#0d1614;color:#f3eee2;--reel-p:0;--reel-mid:0}
.story-reel-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.story-reel-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgb(var(--brand-rgb)/.28),transparent 62%);pointer-events:none}
.reel-words{position:absolute;inset:0;display:grid;place-content:center;gap:clamp(4px,1vw,14px);text-align:center;font-weight:700;letter-spacing:-.04em;line-height:.92;font-size:clamp(46px,11vw,150px);text-transform:uppercase;z-index:1}
.reel-word{display:block}
.story-reel.is-reel-active .reel-word{will-change:transform}
.reel-word-a{transform:translate3d(calc(var(--reel-mid) * -9vw),calc(var(--reel-mid) * -24vh),0)}
.reel-word-b{color:rgb(var(--accent-rgb));transform:translate3d(calc(var(--reel-mid) * 9vw),calc(var(--reel-mid) * 24vh),0)}
.reel-caption{position:absolute;left:50%;bottom:clamp(22px,4vh,44px);transform:translateX(-50%);margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgb(243 238 226/.6);z-index:4;white-space:nowrap}
.reel-track{position:absolute;inset:0;z-index:2;perspective:2400px;perspective-origin:50% 50%;pointer-events:none}
.reel-strip{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:translate3d(calc(-120vw + var(--reel-p) * 240vw),calc(46vh - var(--reel-p) * 92vh),0) rotateZ(-9deg)}
.reel-frame{position:absolute;left:0;top:0;width:clamp(190px,17vw,250px);aspect-ratio:4/3;margin:0;background:#1a1a1a;padding:16px 7px;box-shadow:0 26px 60px rgb(0 0 0/.5);transform:translate3d(calc(var(--i) * (clamp(190px,17vw,250px) + 14px)),0,0) translate(-50%,-50%) rotateY(calc(var(--i) * 2.5deg));backface-visibility:hidden}
.reel-frame::before,.reel-frame::after{content:"";position:absolute;left:10px;right:10px;height:8px;background-image:radial-gradient(circle,#0d1614 0 2.6px,transparent 3px);background-size:16px 8px;background-repeat:repeat-x;opacity:.95}
.reel-frame::before{top:5px}.reel-frame::after{bottom:5px}
.reel-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}
.reel-frame figcaption{position:absolute;left:12px;bottom:26px;display:flex;gap:8px;align-items:baseline;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f3eee2;background:rgb(13 22 20/.72);padding:5px 9px;border-radius:3px}
.reel-frame figcaption small{color:rgb(var(--accent-rgb));font-size:10px}
.story-reel.is-reel-active .reel-frame{will-change:transform}
.low-power .reel-frame{transform:translate3d(calc(var(--i) * (clamp(190px,17vw,250px) + 14px)),0,0) translate(-50%,-50%)}
@media (prefers-reduced-motion:reduce){.b2b-solutions .story-reel{height:auto}.story-reel-stage{position:relative;height:auto;padding:80px 0 60px}.reel-words{position:relative}.reel-track{display:none}.reel-caption{position:relative;left:auto;bottom:auto;transform:none;margin-top:24px}}

/* --- Model stage: sticky monolith + chapters --- */
.story-model .section-heading p{max-width:62ch;color:var(--text-soft);margin-top:14px}
.model-stage{margin-top:clamp(24px,4vw,56px)}
.model-layout{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr);gap:clamp(28px,5vw,88px);align-items:start}
.model-monolith{position:sticky;top:clamp(84px,12vh,120px)}
.monolith{position:relative;min-height:min(560px,calc(100vh - 160px));padding:30px 30px 26px;border-radius:14px;background:linear-gradient(170deg,#102320,#0b1512 60%,#0a110f);color:#f3eee2;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px rgb(7 14 12/.35)}
.monolith::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgb(var(--accent-rgb)/.26),transparent 55%);pointer-events:none}
.monolith-mark img{height:46px;width:auto;opacity:.9}
.monolith-nums{position:relative;margin-top:auto;height:clamp(96px,11vw,160px)}
.monolith-nums span,.monolith-titles strong{position:absolute;left:0;top:0;transition:opacity .55s var(--ease-out),transform .75s var(--ease-expo)}
.monolith-nums span{font-size:clamp(96px,11vw,160px);line-height:1;font-weight:700;letter-spacing:-.06em;color:rgb(var(--accent-rgb));opacity:0;transform:translate3d(0,24px,0)}
.monolith-titles{position:relative;height:3.2em;margin-top:14px;font-size:clamp(17px,1.3vw,21px);line-height:1.25}
.monolith-titles strong{width:100%;opacity:0;transform:translate3d(0,14px,0);font-weight:600}
.monolith-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:26px}
.monolith-progress i{display:block;height:3px;background:rgb(243 238 226/.14);border-radius:2px;overflow:hidden;position:relative}
.monolith-progress i::after{content:"";position:absolute;inset:0;background:rgb(var(--accent-rgb));transform-origin:0 50%;transform:scaleX(0);transition:transform .7s var(--ease-expo)}
.monolith-counter{display:block;margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgb(243 238 226/.55)}
.monolith-counter span{color:#f3eee2}
.story-model[data-active-step="1"] [data-n="1"],.story-model[data-active-step="2"] [data-n="2"],.story-model[data-active-step="3"] [data-n="3"],.story-model[data-active-step="4"] [data-n="4"],.story-model[data-active-step="5"] [data-n="5"],.story-model[data-active-step="6"] [data-n="6"]{opacity:1;transform:none}
.story-model[data-active-step="1"] .monolith-progress i:nth-child(-n+1)::after,.story-model[data-active-step="2"] .monolith-progress i:nth-child(-n+2)::after,.story-model[data-active-step="3"] .monolith-progress i:nth-child(-n+3)::after,.story-model[data-active-step="4"] .monolith-progress i:nth-child(-n+4)::after,.story-model[data-active-step="5"] .monolith-progress i:nth-child(-n+5)::after,.story-model[data-active-step="6"] .monolith-progress i:nth-child(-n+6)::after{transform:scaleX(1)}
.model-chapters{display:grid;gap:clamp(40px,6vw,96px)}
.model-chapter{position:relative;padding-top:8px;transition:opacity .5s var(--ease-out)}
.modern-motion .model-chapter{opacity:.42}
.modern-motion .model-chapter.is-model-active{opacity:1}
.model-chapter-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px}
.model-chapter-num{flex:none;font-size:13px;letter-spacing:.2em;font-weight:700;color:rgb(var(--accent-rgb));padding-top:8px}
.model-chapter-head small{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-soft);margin-bottom:8px}
.model-chapter-head h3{font-size:clamp(24px,2.3vw,34px);line-height:1.1;letter-spacing:-.02em;margin:0}
.model-chapter-lead{font-size:clamp(17px,1.25vw,20px);line-height:1.5;color:var(--text);font-weight:500}
.model-chapter>p{margin:0 0 16px;line-height:1.7;color:var(--text-soft)}
.model-chapter-points{margin:22px 0;padding:22px 24px;border:var(--modern-border);border-radius:var(--radius-lg);background:rgb(var(--brand-rgb)/.035)}
.model-chapter-points span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--brand-rgb));margin-bottom:12px;font-weight:700}
.model-chapter-points ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.model-chapter-points li{position:relative;padding-left:20px;line-height:1.5}
.model-chapter-points li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:rgb(var(--accent-rgb));transform:rotate(45deg)}
.model-chapter-statement{font-weight:600;font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:var(--text);padding-left:18px;border-left:2px solid rgb(var(--accent-rgb));margin:0!important}
.model-chain{display:flex;flex-wrap:wrap;gap:10px;align-items:center;list-style:none;margin:clamp(48px,6vw,84px) 0 0;padding:0}
.model-chain li{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:var(--modern-border);border-radius:999px;font-size:14px;font-weight:500;background:#fff}
.model-chain li span{font-size:11px;letter-spacing:.14em;color:rgb(var(--accent-rgb));font-weight:700}
.model-chain li:not(:last-child)::after{content:"→";margin-left:4px;color:var(--text-soft)}
.capability-block{margin-top:clamp(36px,5vw,64px)}
.capability-block h3{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.015em;margin:0 0 18px}
.capability-cloud{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.capability-cloud li{padding:9px 14px;border-radius:6px;background:rgb(var(--brand-rgb)/.07);color:var(--text);font-size:14px;line-height:1.3}

/* --- Segments: dark cards + outlined ghost type (video 2) --- */
.story-segments{padding-bottom:0!important}
.segment-stage{position:relative;margin-top:clamp(56px,8vw,112px);padding:clamp(72px,9vw,124px) 0 clamp(80px,10vw,140px);background:linear-gradient(180deg,#0f1b18,#0a1311);color:#f3eee2;overflow:hidden}
.segment-stage .section-heading h2{color:#f3eee2}
.segment-stage .eyebrow{color:rgb(var(--accent-rgb))}
.segment-ghost{position:absolute;left:50%;bottom:-.16em;transform:translateX(-50%);font-size:clamp(56px,13.5vw,230px);font-weight:800;letter-spacing:-.04em;line-height:1;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgb(243 238 226/.14);white-space:nowrap;pointer-events:none;user-select:none}
.segment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);margin-top:clamp(32px,4vw,56px);position:relative;z-index:1}
.segment-card{position:relative;padding:clamp(28px,3vw,44px);border-radius:16px;background:rgb(243 238 226/.05);border:1px solid rgb(243 238 226/.1);overflow:hidden;transition:transform .7s var(--ease-expo),border-color .4s ease}
.segment-card:hover{transform:translate3d(0,-6px,0);border-color:rgb(var(--accent-rgb)/.5)}
.segment-index{position:absolute;right:22px;top:14px;font-size:clamp(56px,6vw,92px);font-weight:800;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgb(var(--accent-rgb)/.45);line-height:1}
.segment-card small{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--accent-rgb));margin-bottom:14px}
.segment-card h3{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.02em;line-height:1.1;margin:0 0 18px;max-width:14ch;color:#f3eee2}
.segment-card p{margin:0 0 14px;line-height:1.7;color:rgb(243 238 226/.72)}
.segment-link{display:inline-flex;gap:8px;align-items:center;margin-top:10px;color:#f3eee2;font-weight:600;text-decoration:none;border-bottom:1px solid rgb(var(--accent-rgb)/.6);padding-bottom:4px}
.segment-link span{transition:transform .4s var(--ease-expo)}
.segment-link:hover span{transform:translateX(4px)}
.form-intro-statement{font-weight:600;color:var(--text)!important;border-left:2px solid rgb(var(--accent-rgb));padding-left:16px}

@media (max-width:1024px){.model-layout{grid-template-columns:minmax(220px,.38fr) minmax(0,.62fr);gap:28px}}
@media (max-width:900px){
.manifesto-grid{grid-template-columns:1fr;gap:28px}
.b2b-solutions .story-reel{height:170vh}
.reel-words{font-size:clamp(40px,13vw,88px)}
.reel-frame{width:150px;padding:12px 5px}
.reel-frame::before,.reel-frame::after{height:6px;background-size:12px 6px}
.reel-frame figcaption{display:none}
.reel-frame:nth-child(n+8){display:none}
.reel-word-a{transform:translate3d(calc(var(--reel-mid) * -14vw),calc(var(--reel-mid) * -10vh),0)}
.reel-word-b{transform:translate3d(calc(var(--reel-mid) * 14vw),calc(var(--reel-mid) * 10vh),0)}
.reel-track{perspective:none}
.reel-strip{transform:translate3d(calc(-70vw + var(--reel-p) * 140vw),calc(30vh - var(--reel-p) * 60vh),0) rotateZ(-12deg)}
.reel-frame{transform:translate3d(calc(var(--i) * 164px),0,0) translate(-50%,-50%)}
.reel-caption{font-size:10px;letter-spacing:.18em;white-space:normal;text-align:center;width:min(90%,420px)}
.model-layout{grid-template-columns:1fr;gap:28px}
.model-monolith{top:98px;z-index:5}
.monolith{min-height:0;padding:14px 16px 20px;border-radius:10px;flex-direction:row;align-items:center;gap:14px;box-shadow:0 18px 40px rgb(7 14 12/.28)}
.monolith-mark{display:none}
.monolith-nums{margin-top:0;height:44px;width:58px;flex:none}
.monolith-nums span{font-size:44px}
.monolith-titles{flex:1;height:2.6em;margin:0;font-size:14px}
.monolith-progress{position:absolute;left:16px;right:16px;bottom:8px;margin:0;gap:4px}
.monolith-progress i{height:2px}
.monolith-counter{display:none}
.modern-motion .model-chapter{opacity:1}
.segment-grid{grid-template-columns:1fr}
.segment-ghost{font-size:clamp(44px,13vw,120px)}
/* Story metinleri sol sırtın (spine) altında kalmasın: içerik biraz sağdan başlar. */
.home-story .container{width:auto;margin-left:46px;margin-right:18px}
.home-story .b2b-trust-band .container{margin-left:40px;margin-right:12px}
/* İletişim ray'ı mobilde alt kenara sabitlenir. */
.contact-rail{top:auto;bottom:0;left:0;right:0;transform:none;padding:0 0 env(safe-area-inset-bottom);border-radius:0;box-shadow:0 -12px 34px rgba(0,0,0,.3)}
.contact-rail.is-scrolling{opacity:.7}
.contact-rail::before{display:none}
.contact-rail::after{inset:0;border-radius:0;border-width:1px 0 0}
.contact-rail-inner{width:100%;flex-direction:row;justify-content:space-evenly;gap:4px;padding:7px 8px;border-radius:0;background:linear-gradient(180deg,rgba(26,34,29,.98),rgba(7,13,10,.99))}
.contact-rail-action{width:40px;height:40px;border-radius:12px}
.contact-rail-action:hover,.contact-rail-action:focus-visible{transform:translateY(-2px)}
.contact-rail-action > span:last-child{display:none}
body{padding-bottom:58px}
.cookie-banner{bottom:68px}
}
