
:root {
    --white: #ffffff;
    --white-soft: #fcfcfc;
    --white-ash: #f5f5f3;
    --black: #050505;
    --black-soft: #111111;
    --text: #111111;
    --text-soft: rgba(0, 0, 0, 0.64);
    --text-muted: rgba(0, 0, 0, 0.42);
    --line: rgba(0, 0, 0, 0.08);
    --line-strong: rgba(0, 0, 0, 0.14);
    --line-soft: rgba(0, 0, 0, 0.05);
    --line-light: rgba(255, 255, 255, 0.14);
    --shadow-soft: 0 30px 86px rgba(0, 0, 0, 0.06);
    --shadow-deep: 0 84px 210px rgba(0, 0, 0, 0.28);
    --container: 1780px;
    --ease: 320ms cubic-bezier(.2,.7,.2,1);
    --serif: 'Cormorant Garamond', serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-rendering: optimizeLegibility; }
body { margin: 0; font-family: 'Manrope', sans-serif; background: var(--white); color: var(--text); -webkit-font-smoothing: antialiased; }
body.v2-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.v2-main { overflow: clip; }
.v2-container { width: 100%; max-width: var(--container); margin: 0 auto; padding-left: 64px; padding-right: 64px; }

.v2-kicker,
.v2-principle-no,
.v2-system-no,
.v2-selected-meta,
.v2-doctrine-label,
.v2-final-code,
.v2-meta,
.v2-hero-note-label,
.v2-maison-label,
.v2-signature-moment-label,
.v2-final-eyebrow,
.v2-footer-eyebrow,
.v2-footer-mini-title { text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.71rem; font-weight: 700; }

.v2-kicker, .v2-meta, .v2-footer-eyebrow, .v2-footer-mini-title, .v2-hero-note-label { color: rgba(0,0,0,0.38); }
.v2-kicker-light, .v2-final-eyebrow, .v2-final-code, .v2-maison-label { color: rgba(255,255,255,0.58); }
.v2-section-title { margin: 0; font-size: clamp(3.2rem, 5.7vw, 6.9rem); line-height: 0.9; letter-spacing: -0.086em; font-weight: 800; color: var(--black); }
.v2-large-copy { margin: 0 0 20px; max-width: 1180px; font-size: clamp(1.72rem, 2.68vw, 2.62rem); line-height: 1.28; letter-spacing: -0.048em; font-weight: 600; color: var(--black); }
.v2-regular-copy, .v2-contact-text { margin: 0 0 18px; font-size: 1.03rem; line-height: 1.92; color: var(--text-soft); }

.v2-btn { min-height: 60px; display: inline-flex; align-items: center; justify-content: center; padding: 0 30px; border-radius: 999px; border: 1px solid transparent; font-size: 0.95rem; font-weight: 700; letter-spacing: -0.012em; transition: transform var(--ease), background var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease); }
.v2-btn:hover { transform: translateY(-2px); }
.v2-btn-dark { color: #fff; background: linear-gradient(180deg,#0a0a0a 0%,#050505 100%); box-shadow: 0 16px 34px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.06); }
.v2-btn-dark:hover { background: linear-gradient(180deg,#111 0%,#080808 100%); box-shadow: 0 22px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.07); }
.v2-btn-ghost { background: rgba(255,255,255,.7); color: var(--black); border-color: rgba(0,0,0,.11); box-shadow: 0 10px 24px rgba(0,0,0,.03), 0 1px 0 rgba(255,255,255,.85) inset; }
.v2-btn-ghost:hover { background: rgba(255,255,255,.92); border-color: rgba(0,0,0,.16); box-shadow: 0 14px 30px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.88) inset; }
.v2-btn-white { background: linear-gradient(180deg,#fff 0%,#f6f6f6 100%); color: var(--black); box-shadow: 0 16px 34px rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.92); }
.v2-btn-white:hover { background: linear-gradient(180deg,#fff 0%,#f2f2f2 100%); box-shadow: 0 22px 40px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.96); }

.v2-header { position: sticky; top: 0; z-index: 1200; background: rgba(255,255,255,.84); backdrop-filter: blur(26px); -webkit-backdrop-filter: blur(26px); border-bottom: 1px solid rgba(0,0,0,.045); box-shadow: 0 14px 48px rgba(0,0,0,.04), 0 1px 0 rgba(255,255,255,.82) inset; }
.v2-header::after { content: ''; position: absolute; left:0; right:0; bottom:0; height:1px; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 18%, rgba(0,0,0,.08) 82%, rgba(0,0,0,0) 100%); }
.v2-header-inner { min-height: 102px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.v2-brand { display:inline-flex; align-items:center; gap:18px; flex-shrink:0; transition: transform var(--ease), opacity var(--ease); }
.v2-brand:hover { transform: translateY(-1px); opacity: .97; }
.v2-brand-mark { width:60px; height:60px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 60px; }
.v2-brand-logo { max-width:60px; max-height:60px; width:auto; height:auto; object-fit:contain; }
.v2-brand-fallback { width:10px; height:10px; border-radius:999px; background:var(--black); }
.v2-brand-word { position:relative; font-size:1.12rem; font-weight:800; letter-spacing:-.055em; color:var(--black); white-space:nowrap; }
.v2-brand-word::after { content:''; position:absolute; left:0; bottom:-8px; width:100%; height:1px; background: linear-gradient(90deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.04) 100%); transform:scaleX(0); transform-origin:left; transition: transform var(--ease); }
.v2-brand:hover .v2-brand-word::after { transform:scaleX(1); }
.v2-nav { display:flex; align-items:center; gap:36px; }
.v2-nav a { position:relative; font-size:.91rem; font-weight:650; letter-spacing:-.012em; color:rgba(0,0,0,.5); transition: color var(--ease), transform var(--ease); white-space:nowrap; }
.v2-nav a::after { content:''; position:absolute; left:0; bottom:-13px; width:100%; height:1px; background:var(--black); transform:scaleX(0); transform-origin:left; transition: transform var(--ease); }
.v2-nav a:hover { color:var(--black); transform:translateY(-1px); }
.v2-nav a:hover::after { transform:scaleX(1); }
.v2-header-mail { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 25px; border-radius:999px; background: rgba(255,255,255,.8); border:1px solid rgba(0,0,0,.085); color:var(--black); font-size:.87rem; font-weight:700; box-shadow:0 12px 30px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.9) inset; transition: transform var(--ease), border-color var(--ease), background var(--ease), box-shadow var(--ease); }
.v2-header-mail:hover { transform:translateY(-1px); background:rgba(255,255,255,.92); border-color:rgba(0,0,0,.16); box-shadow:0 18px 34px rgba(0,0,0,.07), 0 1px 0 rgba(255,255,255,.94) inset; }
.v2-hamburger { display:none; width:54px; height:54px; border-radius:999px; border:1px solid rgba(0,0,0,.09); background:rgba(255,255,255,.84); appearance:none; -webkit-appearance:none; align-items:center; justify-content:center; flex-direction:column; gap:6px; box-shadow:0 12px 28px rgba(0,0,0,.055), 0 1px 0 rgba(255,255,255,.9) inset; transition: transform var(--ease), border-color var(--ease), background var(--ease), box-shadow var(--ease); }
.v2-hamburger:hover { transform:translateY(-1px); background:rgba(255,255,255,.94); border-color:rgba(0,0,0,.14); }
.v2-hamburger span { display:block; width:18px; height:1.5px; background:var(--black); transition: transform var(--ease), opacity var(--ease); }
body.v2-menu-open .v2-hamburger span:first-child { transform: translateY(3.75px) rotate(45deg); }
body.v2-menu-open .v2-hamburger span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
.v2-mobile-nav-wrap { display:none; background:rgba(255,255,255,.96); backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px); border-top:1px solid rgba(0,0,0,.045); box-shadow:0 22px 54px rgba(0,0,0,.05); }
body.v2-menu-open .v2-mobile-nav-wrap { display:block; }
.v2-mobile-nav { display:grid; padding:18px 0 26px; gap:4px; }
.v2-mobile-nav a { position:relative; padding:16px 0; font-size:1.02rem; font-weight:680; letter-spacing:-.012em; color:rgba(0,0,0,.82); border-bottom:1px solid rgba(0,0,0,.055); }
.v2-mobile-nav a::after { content:''; position:absolute; left:0; bottom:-1px; width:0; height:1px; background:rgba(0,0,0,.22); transition: width var(--ease); }
.v2-mobile-nav a:hover::after { width:100%; }

.v2-home, .v2-subpage, .v2-page { background: radial-gradient(circle at top left, rgba(0,0,0,.018) 0%, rgba(0,0,0,0) 30%), linear-gradient(to bottom, #fff 0%, #fcfcfc 18%, #fff 100%); }

.v2-hero, .v2-subhero, .v2-page-hero { position:relative; overflow:hidden; }
.v2-hero { padding:148px 0 184px; }
.v2-subhero, .v2-page-hero { padding:126px 0 96px; }
.v2-subhero-compact, .v2-page-hero-compact { padding-bottom:52px; }
.v2-hero-ambient, .v2-subhero-ambient { position:absolute; inset:0; pointer-events:none; z-index:0; }
.v2-ambient-orb, .v2-subhero-orb { position:absolute; top:64px; right:5%; width:820px; height:820px; border-radius:999px; background: radial-gradient(circle, rgba(0,0,0,.068) 0%, rgba(0,0,0,.016) 32%, rgba(0,0,0,0) 74%); filter: blur(18px); }
.v2-subhero-orb { width:620px; height:620px; top:110px; right:8%; background: radial-gradient(circle, rgba(0,0,0,.05) 0%, rgba(0,0,0,.014) 34%, rgba(0,0,0,0) 74%); }
.v2-ambient-ring, .v2-subhero-ring { position:absolute; top:140px; right:10%; width:470px; height:470px; border-radius:999px; border:1px solid rgba(0,0,0,.09); }
.v2-subhero-ring { width:360px; height:360px; top:158px; right:12%; border-color:rgba(0,0,0,.07); }
.v2-gridlines { position:absolute; inset:0; pointer-events:none; z-index:1; }
.v2-gridlines span { position:absolute; top:0; bottom:0; width:1px; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.045) 10%, rgba(0,0,0,.08) 52%, rgba(0,0,0,.015) 100%); }
.v2-gridlines span:nth-child(1){left:6%} .v2-gridlines span:nth-child(2){left:30%} .v2-gridlines span:nth-child(3){left:70%} .v2-gridlines span:nth-child(4){right:6%}
.v2-top-meta { position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:4px 0 80px; }
.v2-hero-shell, .v2-subhero-shell { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.32fr); gap:164px; align-items:end; }
.v2-subhero-shell { gap:128px; }
.v2-hero-main, .v2-subhero-main, .v2-page-head { min-width:0; max-width:1420px; position:relative; z-index:2; }
.v2-hero-title { margin:0 0 38px; max-width:1420px; font-size: clamp(7.2rem,14.4vw,16.4rem); line-height:.67; letter-spacing:-.12em; font-weight:800; color:var(--black); text-wrap:balance; }
.v2-subhero-title, .v2-page-title { margin:0 0 24px; max-width:980px; font-size: clamp(3.8rem,6.35vw,7.2rem); line-height:.88; letter-spacing:-.086em; font-weight:800; color:var(--black); }
.v2-hero-subline { display:flex; flex-wrap:wrap; gap:12px 20px; margin-bottom:38px; padding-left:6px; }
.v2-hero-subline span { font-size:1.05rem; font-weight:690; color:rgba(0,0,0,.74); }
.v2-hero-lead { margin:0 0 52px; max-width:770px; font-size:1.16rem; line-height:1.98; color:rgba(0,0,0,.62); }
.v2-subhero-lead, .v2-page-lead { margin:0; max-width:810px; font-size:1.14rem; line-height:1.94; color:rgba(0,0,0,.62); }
.v2-hero-actions, .v2-final-actions { display:flex; flex-wrap:wrap; gap:16px; }
.v2-hero-note, .v2-subhero-note { position:relative; display:flex; flex-direction:column; gap:18px; padding-bottom:10px; }
.v2-hero-note::before, .v2-subhero-note::after { content:''; position:absolute; left:-30px; top:0; bottom:0; width:1px; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 18%, rgba(0,0,0,.08) 82%, rgba(0,0,0,0) 100%); }
.v2-hero-note-line, .v2-subhero-note-line { width:100%; height:1px; background:var(--line-strong); }
.v2-hero-note p, .v2-subhero-note p { margin:0; max-width:270px; font-size:.95rem; line-height:1.9; color:rgba(0,0,0,.58); }
.v2-signature-moment { position:relative; z-index:2; margin-top:138px; padding-top:42px; border-top:1px solid var(--line-strong); display:grid; grid-template-columns:180px 1fr 280px; gap:28px; align-items:end; }
.v2-signature-moment-word { font-size: clamp(5.5rem,12vw,11.8rem); line-height:.75; letter-spacing:-.12em; font-weight:800; color:rgba(0,0,0,.026); user-select:none; }
.v2-signature-moment-text { text-align:right; padding-bottom:18px; font-size:.98rem; font-weight:700; color:rgba(0,0,0,.72); }
.v2-doctrine { position:relative; z-index:2; margin-top:62px; padding-top:28px; border-top:1px solid var(--line-strong); display:grid; grid-template-columns:220px 1fr; gap:22px; align-items:center; }
.v2-doctrine-items { display:flex; flex-wrap:wrap; gap:18px 30px; }
.v2-doctrine-items span { position:relative; font-size:1.02rem; font-weight:730; letter-spacing:-.018em; color:var(--black); }
.v2-doctrine-items span:not(:last-child)::after, .v2-signature-strip-inner span:not(:last-child)::after { content:''; position:absolute; right:-16px; top:50%; width:3px; height:3px; border-radius:999px; background:rgba(0,0,0,.28); transform:translateY(-50%); }

.v2-positioning, .v2-principles, .v2-selected, .v2-system, .v2-final, .v2-subsection, .v2-subcta, .v2-page-section, .v2-page-cta, .v2-signature-strip, .v2-maison-block { padding-bottom:164px; position:relative; }
.v2-positioning::before, .v2-principles::before, .v2-selected::before, .v2-system::before, .v2-subsection::before, .v2-page-section::before { content:''; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.18) 22%, rgba(255,255,255,0) 100%); opacity:.5; }
.v2-editorial-grid { display:grid; grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr); gap:104px; align-items:start; }
.v2-principles-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:58px; }
.v2-principle, .v2-system-item { border-top:1px solid rgba(0,0,0,.12); padding-top:34px; }
.v2-principle h3 { margin:0 0 15px; font-size: clamp(1.82rem,2.15vw,2.3rem); line-height:.98; letter-spacing:-.048em; font-weight:800; color:var(--black); }
.v2-principle p, .v2-system-item p { margin:0; font-size:.99rem; line-height:1.9; color:var(--text-soft); }
.v2-signature-strip-inner { display:flex; flex-wrap:wrap; gap:16px 28px; padding:28px 0; border-top:1px solid rgba(0,0,0,.12); border-bottom:1px solid rgba(0,0,0,.12); }
.v2-signature-strip-inner span { position:relative; font-size:1rem; font-weight:650; letter-spacing:-.02em; color:var(--black); }
.v2-selected-head, .v2-system-head { margin-bottom:58px; }
.v2-selected-stack { display:grid; gap:40px; }
.v2-selected-row { position:relative; display:grid; grid-template-columns:360px 1fr; gap:40px; align-items:start; padding:68px 0; border-top:1px solid rgba(0,0,0,.12); transition: transform var(--ease); }
.v2-selected-row:last-child { border-bottom:1px solid rgba(0,0,0,.12); }
.v2-selected-row:hover { transform: translateX(4px); }
.v2-selected-row::after { content:''; position:absolute; left:0; bottom:-1px; width:0; height:1px; background:rgba(0,0,0,.22); transition: width var(--ease); }
.v2-selected-row:hover::after { width:100%; }
.v2-selected-content h3 { margin:0 0 16px; font-size: clamp(2.72rem,3.42vw,4.25rem); line-height:.93; letter-spacing:-.07em; font-weight:800; color:var(--black); }
.v2-selected-content p { margin:0; max-width:800px; font-size:1.04rem; line-height:1.92; color:var(--text-soft); }
.v2-system-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:46px; }
.v2-system-item h3 { margin:0 0 16px; font-size:1.42rem; line-height:1.02; letter-spacing:-.042em; font-weight:800; color:var(--black); }

.v2-maison-inner, .v2-selected-row-dark, .v2-final-wrap, .v2-page-cta-box { position:relative; overflow:hidden; color:#fff; box-shadow: 0 86px 210px rgba(0,0,0,.28), 0 22px 48px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.086), inset 0 -1px 0 rgba(255,255,255,.02); }
.v2-maison-inner { border-radius:70px; padding:104px 92px; background: radial-gradient(circle at 84% 14%, rgba(255,255,255,.15) 0%, rgba(255,255,255,.035) 22%, rgba(255,255,255,0) 54%), radial-gradient(circle at 16% 118%, rgba(255,255,255,.055) 0%, rgba(255,255,255,0) 50%), linear-gradient(180deg, #010101 0%, #090909 44%, #121212 100%); }
.v2-selected-row-dark { border-radius:68px; padding:76px; border:none; background: radial-gradient(circle at 84% 14%, rgba(255,255,255,.13) 0%, rgba(255,255,255,.035) 22%, rgba(255,255,255,0) 55%), linear-gradient(180deg, #020202 0%, #0a0a0a 50%, #121212 100%); }
.v2-final-wrap, .v2-page-cta-box { border-radius:74px; padding:110px 96px; background: radial-gradient(circle at 84% 14%, rgba(255,255,255,.15) 0%, rgba(255,255,255,.04) 22%, rgba(255,255,255,0) 55%), radial-gradient(circle at 14% 120%, rgba(255,255,255,.045) 0%, rgba(255,255,255,0) 48%), linear-gradient(180deg, #010101 0%, #0a0a0a 46%, #121212 100%); }
.v2-maison-inner::before, .v2-selected-row-dark::before, .v2-final-wrap::before, .v2-page-cta-box::before { content:''; position:absolute; top:-150px; right:-95px; width:510px; height:510px; border-radius:999px; background: radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,.03) 34%, rgba(255,255,255,0) 74%); pointer-events:none; }
.v2-maison-text { position:relative; z-index:2; max-width:1380px; font-size: clamp(3.4rem,6.45vw,7.6rem); line-height:.84; letter-spacing:-.092em; font-weight:800; color:#fff; text-shadow:0 1px 0 rgba(255,255,255,.03); }
.v2-maison-text span { display:block; margin-top:12px; font-family:var(--serif); font-style:italic; font-weight:600; letter-spacing:-.02em; color:rgba(255,255,255,.92); }
.v2-selected-row-dark .v2-selected-meta, .v2-selected-row-dark .v2-selected-content h3, .v2-selected-row-dark .v2-selected-content p, .v2-final-top, .v2-final-title, .v2-final-text, .v2-final-actions, .v2-page-cta-title, .v2-page-cta-text { position:relative; z-index:2; }
.v2-selected-row-dark .v2-selected-content h3, .v2-final-title, .v2-page-cta-title { text-shadow:0 1px 0 rgba(255,255,255,.03); }
.v2-selected-row-dark .v2-selected-content h3 { color:#fff; }
.v2-selected-row-dark .v2-selected-content p, .v2-final-text, .v2-page-cta-text { color:rgba(255,255,255,.81); }
.v2-final-top { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:20px; }
.v2-final-title, .v2-page-cta-title { margin:0 0 28px; max-width:1220px; font-size: clamp(3.7rem,6.85vw,7.5rem); line-height:.84; letter-spacing:-.1em; font-weight:800; color:#fff; }
.v2-final-text, .v2-page-cta-text { margin:0 0 40px; max-width:940px; font-size:1.09rem; line-height:1.94; }

.v2-contact-grid { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); gap:38px; align-items:start; }
.v2-contact-sidecard, .v2-contact-form-card, .v2-legal-lux-card, .v2-contact-card, .v2-legal-card, .v2-contact-hero-card { position:relative; overflow:hidden; border-radius:58px; border:1px solid rgba(0,0,0,.07); background: radial-gradient(circle at top right, rgba(0,0,0,.018) 0%, rgba(0,0,0,0) 32%), linear-gradient(180deg, #fff 0%, #fcfcfc 100%); box-shadow: 0 46px 112px rgba(0,0,0,.078), 0 16px 38px rgba(0,0,0,.042), 0 1px 0 rgba(255,255,255,.95) inset; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); transition: transform var(--ease), box-shadow var(--ease); }
.v2-contact-sidecard:hover, .v2-contact-form-card:hover, .v2-legal-lux-card:hover, .v2-contact-card:hover, .v2-legal-card:hover, .v2-contact-hero-card:hover { transform: translateY(-2px); }
.v2-contact-sidecard::before, .v2-contact-form-card::before, .v2-legal-lux-card::before, .v2-contact-card::before, .v2-legal-card::before, .v2-contact-hero-card::before { content:''; position:absolute; top:-90px; right:-70px; width:260px; height:260px; border-radius:999px; background: radial-gradient(circle, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 36%, rgba(0,0,0,0) 72%); }
.v2-contact-sidecard, .v2-contact-form-card, .v2-contact-hero-card, .v2-legal-lux-card, .v2-contact-card, .v2-legal-card { padding:58px; }
.v2-contact-mail { display:inline-block; margin-top:12px; font-size: clamp(2.28rem,4.2vw,3.9rem); line-height:.95; letter-spacing:-.06em; font-weight:800; color:var(--black); }
.v2-form { display:grid; gap:24px; }
.v2-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.v2-form-field { display:grid; gap:11px; }
.v2-form-field label { font-size:.91rem; font-weight:770; color:rgba(0,0,0,.74); letter-spacing:-.012em; }
.v2-form-field input, .v2-form-field textarea { width:100%; border:1px solid rgba(0,0,0,.095); border-radius:28px; padding:20px 22px; background: linear-gradient(180deg,#fff 0%,#fbfbfb 100%); color:var(--black); font-size:1rem; letter-spacing:-.012em; box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 8px 24px rgba(0,0,0,.02); outline:none; transition: border-color var(--ease), box-shadow var(--ease), transform var(--ease); }
.v2-form-field input::placeholder, .v2-form-field textarea::placeholder { color:rgba(0,0,0,.34); }
.v2-form-field input:hover, .v2-form-field textarea:hover { border-color:rgba(0,0,0,.16); }
.v2-form-field input:focus, .v2-form-field textarea:focus { border-color:rgba(0,0,0,.24); box-shadow:0 0 0 5px rgba(0,0,0,.04), 0 16px 32px rgba(0,0,0,.035), 0 1px 0 rgba(255,255,255,.94) inset; }
.v2-form-field textarea { resize:vertical; min-height:230px; }
.v2-form-actions .v2-btn { min-width:240px; }
.v2-form-alert { margin-bottom:20px; border-radius:26px; padding:17px 20px; font-size:.93rem; font-weight:600; }
.v2-form-alert-success { background:rgba(9,120,69,.08); color:#0f5132; border:1px solid rgba(9,120,69,.14); }
.v2-form-alert-error { background:rgba(185,28,28,.08); color:#991b1b; border:1px solid rgba(185,28,28,.14); }
.v2-legal-lux-card, .v2-legal-card { display:grid; gap:36px; }
.v2-legal-lux-block, .v2-legal-block { padding-top:26px; border-top:1px solid rgba(0,0,0,.1); }
.v2-legal-lux-block:first-child, .v2-legal-block:first-child { padding-top:0; border-top:0; }
.v2-legal-lux-block h2, .v2-legal-block h2 { margin:0 0 14px; font-size:1.5rem; line-height:1.02; letter-spacing:-.048em; font-weight:800; color:var(--black); }
.v2-legal-lux-block p, .v2-legal-block p { margin:0; white-space:pre-line; }

.v2-footer { position:relative; overflow:hidden; background: radial-gradient(circle at top right, rgba(0,0,0,.022) 0%, rgba(0,0,0,0) 28%), linear-gradient(to bottom, rgba(0,0,0,.022) 0%, rgba(0,0,0,.05) 100%); border-top:1px solid rgba(0,0,0,.06); }
.v2-footer::before { content:''; position:absolute; top:-140px; right:-120px; width:360px; height:360px; border-radius:999px; background: radial-gradient(circle, rgba(0,0,0,.045) 0%, rgba(0,0,0,.01) 36%, rgba(0,0,0,0) 72%); }
.v2-footer-top { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr .85fr; gap:100px; padding:102px 0 52px; align-items:start; }
.v2-footer-brand { margin-bottom:14px; font-size: clamp(1.76rem,2.1vw,2.18rem); line-height:.96; letter-spacing:-.068em; font-weight:800; color:var(--black); }
.v2-footer-copy { margin:0; max-width:530px; font-size:1rem; line-height:1.98; color:rgba(0,0,0,.63); }
.v2-footer-center, .v2-footer-links { display:grid; align-content:start; gap:12px; }
.v2-footer-mail { font-size:1.04rem; font-weight:750; letter-spacing:-.02em; color:var(--black); }
.v2-footer-links a { font-size:1rem; font-weight:620; color:rgba(0,0,0,.62); }
.v2-footer-divider { height:1px; background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.1) 18%, rgba(0,0,0,.1) 82%, rgba(0,0,0,0) 100%); }
.v2-footer-bottom { position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; padding:24px 0 42px; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(0,0,0,.48); }

@media (max-width:1279.98px) {
  .v2-hero-shell, .v2-subhero-shell, .v2-editorial-grid, .v2-principles-grid, .v2-system-grid, .v2-signature-moment, .v2-contact-grid, .v2-footer-top { grid-template-columns:1fr; }
  .v2-doctrine, .v2-selected-row { grid-template-columns:1fr; }
  .v2-signature-moment-text { text-align:left; padding-bottom:0; }
}
@media (max-width:991.98px) {
  .v2-nav, .v2-header-mail { display:none; }
  .v2-hamburger { display:inline-flex; }
}
@media (max-width:767.98px) {
  .v2-container { padding-left:20px; padding-right:20px; }
  .v2-section-title { font-size: clamp(2.36rem,9.6vw,4.1rem); line-height:.94; letter-spacing:-.054em; }
  .v2-large-copy { font-size: clamp(1.5rem,6.6vw,2.1rem); line-height:1.28; letter-spacing:-.042em; }
  .v2-regular-copy, .v2-page-copy, .v2-page-lead, .v2-subhero-lead, .v2-contact-text, .v2-legal-lux-block p, .v2-legal-block p { font-size:1rem; line-height:1.8; }
  .v2-header-inner { min-height:86px; gap:14px; }
  .v2-brand { gap:14px; min-width:0; }
  .v2-brand-mark { width:50px; height:50px; flex:0 0 50px; }
  .v2-brand-logo { max-width:50px; max-height:50px; }
  .v2-brand-word { font-size:1rem; }
  .v2-hamburger { width:54px; height:54px; }
  .v2-mobile-nav { padding:14px 0 20px; }
  .v2-mobile-nav a { padding:15px 0; font-size:.99rem; }
  .v2-hero { padding:50px 0 100px; }
  .v2-subhero, .v2-page-hero { padding:50px 0 76px; }
  .v2-top-meta { padding:4px 0 24px; flex-direction:column; gap:10px; }
  .v2-hero-shell, .v2-subhero-shell { gap:30px; }
  .v2-hero-title { margin:0 0 18px; font-size: clamp(3.24rem,12.6vw,5rem); line-height:.9; letter-spacing:-.07em; max-width:100%; }
  .v2-subhero-title, .v2-page-title { font-size: clamp(2.82rem,11vw,4.8rem); line-height:.92; letter-spacing:-.062em; max-width:100%; }
  .v2-hero-subline { margin-bottom:18px; padding-left:0; gap:8px 14px; }
  .v2-hero-subline span { font-size:.97rem; }
  .v2-hero-lead { margin:0 0 26px; font-size:1rem; line-height:1.8; max-width:100%; }
  .v2-btn { width:100%; min-height:56px; padding:0 24px; font-size:.93rem; }
  .v2-hero-actions, .v2-final-actions { flex-direction:column; align-items:stretch; }
  .v2-hero-note::before, .v2-subhero-note::after, .v2-ambient-orb, .v2-ambient-ring, .v2-subhero-orb, .v2-subhero-ring, .v2-gridlines span:nth-child(4) { display:none; }
  .v2-hero-note, .v2-subhero-note { padding-bottom:0; }
  .v2-hero-note p, .v2-subhero-note p { max-width:100%; font-size:.92rem; line-height:1.72; }
  .v2-signature-moment { margin-top:66px; padding-top:18px; gap:14px; }
  .v2-signature-moment-word { font-size: clamp(3.7rem,17vw,5.6rem); line-height:.84; letter-spacing:-.074em; }
  .v2-doctrine { margin-top:34px; padding-top:16px; gap:14px; }
  .v2-doctrine-items { gap:10px 18px; }
  .v2-doctrine-items span { font-size:.9rem; line-height:1.45; }
  .v2-positioning, .v2-principles, .v2-selected, .v2-system, .v2-final, .v2-subsection, .v2-subcta, .v2-page-section, .v2-page-cta, .v2-signature-strip, .v2-maison-block { padding-bottom:100px; }
  .v2-signature-strip-inner { gap:12px 20px; }
  .v2-selected-row { padding:40px 0; gap:14px; }
  .v2-selected-content h3 { font-size: clamp(2.25rem,10.3vw,3.6rem); line-height:.96; letter-spacing:-.055em; }
  .v2-system-grid { gap:28px; }
  .v2-system-item h3 { font-size:1.3rem; }
  .v2-maison-inner, .v2-selected-row-dark, .v2-final-wrap, .v2-page-cta-box { border-radius:38px; padding:32px; }
  .v2-maison-text { font-size: clamp(2.76rem,10.2vw,4.8rem); line-height:.9; letter-spacing:-.062em; }
  .v2-final-title, .v2-page-cta-title { font-size: clamp(2.95rem,11.2vw,5.2rem); line-height:.9; letter-spacing:-.074em; }
  .v2-final-text, .v2-page-cta-text { font-size:1rem; line-height:1.82; }
  .v2-contact-grid { gap:24px; }
  .v2-contact-sidecard, .v2-contact-form-card, .v2-contact-hero-card, .v2-legal-lux-card, .v2-contact-card, .v2-legal-card { padding:32px; border-radius:38px; }
  .v2-contact-mail { font-size: clamp(2rem,10.2vw,3.2rem); line-height:.98; letter-spacing:-.05em; }
  .v2-form-grid { grid-template-columns:1fr; gap:18px; }
  .v2-form-field input, .v2-form-field textarea { border-radius:24px; padding:18px 18px; }
  .v2-form-field textarea { min-height:190px; }
  .v2-form-actions .v2-btn { min-width:0; width:100%; }
  .v2-footer-top { gap:32px; padding:58px 0 30px; }
  .v2-footer-brand { font-size: clamp(1.54rem,7.2vw,1.95rem); line-height:.98; }
  .v2-footer-copy { font-size:.99rem; line-height:1.9; }
  .v2-footer-bottom { flex-direction:column; gap:10px; padding:20px 0 30px; }
}

/* =========================================================
   ASHINA CONSTRUCTION LANGUAGE
========================================================= */

/* global construction feel */
.v2-home,
.v2-subpage,
.v2-page {
    background:
        linear-gradient(to bottom, rgba(255,255,255,0.98) 0%, rgba(252,252,252,1) 22%, rgba(255,255,255,1) 100%);
}

/* construction lines become more precise */
.v2-gridlines {
    opacity: 1;
}

.v2-gridlines span {
    width: 1px;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,0.028) 12%,
        rgba(0,0,0,0.055) 50%,
        rgba(0,0,0,0.018) 100%
    );
}

/* architectural circle: no longer decorative, only structural */
.v2-ambient-ring,
.v2-subhero-ring {
    border-width: 1px;
    border-style: solid;
    border-color: rgba(0,0,0,0.045);
    opacity: 0.42;
}

.v2-ambient-orb,
.v2-subhero-orb {
    background: radial-gradient(
        circle,
        rgba(0,0,0,0.028) 0%,
        rgba(0,0,0,0.008) 34%,
        rgba(0,0,0,0) 72%
    );
    filter: blur(10px);
    opacity: 0.45;
}

/* hero note becomes technical side annotation */
.v2-hero-note,
.v2-subhero-note {
    gap: 12px;
}

.v2-hero-note-line,
.v2-subhero-note-line {
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.12) 0%,
        rgba(0,0,0,0.05) 100%
    );
}

.v2-hero-note-label,
.v2-subhero-note .v2-hero-note-label {
    letter-spacing: 0.22em;
    color: rgba(0,0,0,0.44);
}

.v2-hero-note p,
.v2-subhero-note p {
    color: rgba(0,0,0,0.58);
    line-height: 1.82;
}

/* signature and doctrine become more blueprint-like */
.v2-signature-moment {
    border-top: 1px solid rgba(0,0,0,0.12);
}

.v2-signature-moment-word {
    color: rgba(0,0,0,0.022);
    letter-spacing: -0.115em;
}

.v2-doctrine {
    border-top: 1px solid rgba(0,0,0,0.12);
}

.v2-doctrine-items span::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    margin-right: 10px;
    background: rgba(0,0,0,0.22);
    vertical-align: middle;
    transform: translateY(-1px);
}

/* white sections: subtle technical drafting surface */
.v2-positioning::before,
.v2-principles::before,
.v2-selected::before,
.v2-system::before,
.v2-subsection::before,
.v2-page-section::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.14) 24%, rgba(255,255,255,0) 100%);
    opacity: 0.35;
}

/* selected rows feel like architectural references */
.v2-selected-row {
    border-top: 1px solid rgba(0,0,0,0.11);
}

.v2-selected-row::after {
    background: rgba(0,0,0,0.18);
}

/* cards feel more like objects placed on a drafting table */
.v2-contact-sidecard,
.v2-contact-form-card,
.v2-legal-lux-card,
.v2-contact-card,
.v2-legal-card,
.v2-contact-hero-card {
    border-color: rgba(0,0,0,0.065);
    box-shadow:
        0 34px 94px rgba(0,0,0,0.06),
        0 10px 28px rgba(0,0,0,0.03),
        0 1px 0 rgba(255,255,255,0.94) inset;
}

/* footer also follows construction language */
.v2-footer-divider {
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,0.08) 18%,
        rgba(0,0,0,0.08) 82%,
        rgba(0,0,0,0) 100%
    );
}

/* mobile: construction language must stay quiet */
@media (max-width: 767.98px) {
    .v2-ambient-ring,
    .v2-subhero-ring {
        opacity: 0.22;
    }

    .v2-ambient-orb,
    .v2-subhero-orb {
        opacity: 0.18;
        filter: blur(8px);
    }

    .v2-gridlines span {
        background: linear-gradient(
            to bottom,
            rgba(0,0,0,0) 0%,
            rgba(0,0,0,0.02) 14%,
            rgba(0,0,0,0.04) 50%,
            rgba(0,0,0,0.014) 100%
        );
    }

    .v2-doctrine-items span::before {
        width: 8px;
        margin-right: 8px;
    }
}

/* =========================================================
   HOME HERO CONSTRUCTION MASTER
========================================================= */

.v2-hero-construction {
    position: relative;
}

.v2-hero-construction .v2-hero-main {
    position: relative;
}

.v2-hero-title-wrap {
    position: relative;
    padding-top: 18px;
    padding-bottom: 18px;
}

.v2-hero-axis {
    position: relative;
    width: 100%;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.12) 0%,
        rgba(0,0,0,0.04) 100%
    );
}

.v2-hero-axis-top {
    margin-bottom: 22px;
    max-width: 420px;
}

.v2-hero-axis-bottom {
    margin-top: 26px;
    max-width: 540px;
}

.v2-hero-construction .v2-hero-title {
    max-width: 1320px;
    font-size: clamp(7rem, 14vw, 15.8rem);
    line-height: 0.68;
    letter-spacing: -0.116em;
}

.v2-hero-construction .v2-hero-subline {
    position: relative;
    padding-left: 18px;
    margin-bottom: 34px;
}

.v2-hero-construction .v2-hero-subline::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 1px;
    background: rgba(0,0,0,0.22);
    transform: translateY(-50%);
}

.v2-hero-note-construction {
    position: relative;
    padding-top: 6px;
}

.v2-hero-note-construction::after {
    content: "";
    position: absolute;
    left: -48px;
    top: 0;
    width: 14px;
    height: 14px;
    border-top: 1px solid rgba(0,0,0,0.12);
    border-left: 1px solid rgba(0,0,0,0.12);
    opacity: 0.9;
}

.v2-hero-construction .v2-signature-moment {
    margin-top: 128px;
}

.v2-hero-construction .v2-signature-moment-word {
    color: rgba(0,0,0,0.02);
}

.v2-hero-construction .v2-doctrine-items span::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    margin-right: 10px;
    background: rgba(0,0,0,0.22);
    vertical-align: middle;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .v2-hero-title-wrap {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .v2-hero-axis-top {
        margin-bottom: 14px;
        max-width: 180px;
    }

    .v2-hero-axis-bottom {
        margin-top: 16px;
        max-width: 220px;
    }

    .v2-hero-construction .v2-hero-title {
        font-size: clamp(3.2rem, 12.4vw, 4.9rem);
        line-height: 0.9;
        letter-spacing: -0.068em;
    }

    .v2-hero-construction .v2-hero-subline {
        padding-left: 14px;
        margin-bottom: 18px;
    }

    .v2-hero-construction .v2-hero-subline::before {
        width: 8px;
    }

    .v2-hero-note-construction::after {
        display: none;
    }
}
/* =========================================================
   SUBHERO CONSTRUCTION MASTER
========================================================= */

.v2-subhero,
.v2-page-hero {
    position: relative;
}

.v2-subhero .v2-subhero-main,
.v2-page-hero .v2-page-head {
    position: relative;
}

/* title construction frame */
.v2-subhero .v2-subhero-title,
.v2-page-hero .v2-page-title {
    position: relative;
    margin-bottom: 26px;
}

.v2-subhero .v2-subhero-title::before,
.v2-page-hero .v2-page-title::before {
    content: "";
    display: block;
    width: 220px;
    height: 1px;
    margin-bottom: 18px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.12) 0%,
        rgba(0,0,0,0.04) 100%
    );
}

.v2-subhero .v2-subhero-title::after,
.v2-page-hero .v2-page-title::after {
    content: "";
    display: block;
    width: 320px;
    height: 1px;
    margin-top: 20px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.1) 0%,
        rgba(0,0,0,0.03) 100%
    );
}

/* cleaner technical note */
.v2-subhero-note {
    gap: 16px;
    padding-top: 6px;
}

.v2-subhero-note::before {
    content: "";
    position: absolute;
    left: -46px;
    top: 0;
    width: 14px;
    height: 14px;
    border-top: 1px solid rgba(0,0,0,0.12);
    border-left: 1px solid rgba(0,0,0,0.12);
    opacity: 0.9;
}

.v2-subhero-note::after {
    content: "";
    position: absolute;
    left: -30px;
    top: 22px;
    bottom: 0;
    width: 1px;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,0.08) 18%,
        rgba(0,0,0,0.08) 82%,
        rgba(0,0,0,0) 100%
    );
}

.v2-subhero-note-line {
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,0.12) 0%,
        rgba(0,0,0,0.05) 100%
    );
}

.v2-subhero-note .v2-hero-note-label {
    letter-spacing: 0.22em;
    color: rgba(0,0,0,0.44);
}

.v2-subhero-note p {
    color: rgba(0,0,0,0.58);
    line-height: 1.84;
    max-width: 270px;
}

/* subhero spacing + architectural tension */
.v2-subhero-shell {
    align-items: end;
    gap: 132px;
}

.v2-subhero-main {
    max-width: 1160px;
}

.v2-subhero-title,
.v2-page-title {
    max-width: 980px;
    font-size: clamp(4rem, 6.6vw, 7.4rem);
    line-height: 0.86;
    letter-spacing: -0.09em;
}

.v2-subhero-lead,
.v2-page-lead {
    max-width: 820px;
    font-size: 1.15rem;
    line-height: 1.96;
    color: rgba(0,0,0,0.62);
}

/* gridlines calmer, more technical */
.v2-subhero .v2-gridlines span,
.v2-page-hero .v2-gridlines span {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,0.024) 12%,
        rgba(0,0,0,0.05) 52%,
        rgba(0,0,0,0.016) 100%
    );
}

/* rings more construction, less decoration */
.v2-subhero-ring {
    border-color: rgba(0,0,0,0.05);
    opacity: 0.42;
}

.v2-subhero-orb {
    background: radial-gradient(
        circle,
        rgba(0,0,0,0.025) 0%,
        rgba(0,0,0,0.008) 34%,
        rgba(0,0,0,0) 74%
    );
    filter: blur(9px);
    opacity: 0.44;
}

/* contact hero also belongs to same system */
.v2-page-hero .v2-page-head {
    max-width: 1160px;
}

/* mobile */
@media (max-width: 767.98px) {
    .v2-subhero-shell {
        gap: 30px;
        align-items: start;
    }

    .v2-subhero-title,
    .v2-page-title {
        margin-bottom: 20px;
        font-size: clamp(2.9rem, 11.2vw, 4.95rem);
        line-height: 0.9;
        letter-spacing: -0.064em;
    }

    .v2-subhero .v2-subhero-title::before,
    .v2-page-hero .v2-page-title::before {
        width: 120px;
        margin-bottom: 12px;
    }

    .v2-subhero .v2-subhero-title::after,
    .v2-page-hero .v2-page-title::after {
        width: 160px;
        margin-top: 14px;
    }

    .v2-subhero-lead,
    .v2-page-lead {
        font-size: 1rem;
        line-height: 1.8;
    }

    .v2-subhero-note {
        padding-top: 0;
        gap: 14px;
    }

    .v2-subhero-note::before,
    .v2-subhero-note::after {
        display: none;
    }

    .v2-subhero-note p {
        max-width: 100%;
        font-size: 0.92rem;
        line-height: 1.74;
    }

    .v2-subhero-ring {
        opacity: 0.22;
    }

    .v2-subhero-orb {
        opacity: 0.18;
        filter: blur(8px);
    }
}

@media (min-width: 992px) {
    .v2-header-inner {
        min-height: 116px;
    }

    .v2-brand-mark {
        width: 58px;
        height: 58px;
        flex: 0 0 58px;
    }

    .v2-brand-logo {
        width: 58px;
        height: 58px;
    }

    .v2-brand-textblock {
        min-height: 58px;
    }

    .v2-brand-word {
        font-size: 1.52rem;
        letter-spacing: -0.078em;
        transform: translateY(1px);
    }

    .v2-hero {
        padding-top: 92px;
        padding-bottom: 244px;
    }

    .v2-top-meta {
        padding-bottom: 38px;
    }

    .v2-hero-title-wrap {
        padding-top: 18px;
        padding-bottom: 24px;
    }

    .v2-hero-axis-top {
        margin-bottom: 20px;
    }

    .v2-hero-axis-bottom {
        margin-top: 22px;
    }

    .v2-hero-title {
        margin-bottom: 46px;
    }

    .v2-hero-subline {
        margin-bottom: 34px;
    }

    .v2-hero-lead {
        margin-bottom: 52px;
    }
}


/* =========================================================
   STABILITY FIX PASS
   current-structure safe overrides only
========================================================= */

/* HERO HIGHER AGAIN */
.v2-hero {
    padding-top: 18px !important;
    padding-bottom: 220px !important;
}

.v2-top-meta {
    padding: 0 0 10px !important;
}

.v2-hero-shell {
    align-items: start !important;
    gap: 108px !important;
}

.v2-hero-title-wrap {
    padding-top: 2px !important;
    padding-bottom: 6px !important;
}

.v2-hero-axis-top {
    margin-bottom: 8px !important;
    max-width: 240px !important;
}

.v2-hero-axis-bottom {
    margin-top: 10px !important;
    max-width: 340px !important;
}

.v2-hero-title,
.v2-hero-construction .v2-hero-title {
    margin: 0 0 14px !important;
    max-width: 1120px !important;
    font-size: clamp(5.6rem, 11.2vw, 12.2rem) !important;
    line-height: .81 !important;
    letter-spacing: -.08em !important;
}

.v2-hero-subline,
.v2-hero-construction .v2-hero-subline {
    margin-bottom: 14px !important;
}

.v2-hero-lead {
    max-width: 780px !important;
    margin-bottom: 28px !important;
    font-size: 1.04rem !important;
    line-height: 1.76 !important;
}

.v2-signature-moment {
    margin-top: 72px !important;
    padding-top: 18px !important;
}

.v2-doctrine {
    margin-top: 22px !important;
    padding-top: 12px !important;
}

/* CONTACT EMAIL NEVER CLIPPED */
.v2-contact-mail {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.4rem, 3.2vw, 2.8rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
}

.v2-contact-sidecard,
.v2-contact-form-card,
.v2-contact-hero-card,
.v2-contact-card,
.v2-legal-card,
.v2-legal-lux-card {
    overflow: hidden !important;
}

.v2-final-actions {
    overflow: visible !important;
    flex-wrap: wrap !important;
}

.v2-final-actions .v2-btn {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* SELECTED WORK KEEP STABLE PREMIUM ROWS */
.v2-selected {
    padding-bottom: 142px !important;
}

.v2-selected-head {
    max-width: 980px !important;
    margin-bottom: 48px !important;
}

.v2-selected-stack {
    display: grid !important;
    gap: 26px !important;
}

.v2-selected-row,
.v2-selected-row-dark {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 320px 1fr !important;
    gap: 30px !important;
    align-items: start !important;
    padding: 46px 0 !important;
    border-top: 1px solid rgba(0,0,0,.11) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
}

.v2-selected-row:last-child,
.v2-selected-row-dark:last-child {
    border-bottom: 1px solid rgba(0,0,0,.11) !important;
}

.v2-selected-row::before,
.v2-selected-row::after,
.v2-selected-row-dark::before,
.v2-selected-row-dark::after {
    display: none !important;
}

.v2-selected-meta {
    font-size: .74rem !important;
    line-height: 1.7 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: rgba(0,0,0,.40) !important;
}

.v2-selected-row-dark .v2-selected-meta {
    color: rgba(0,0,0,.40) !important;
}

.v2-selected-content h3 {
    margin: 0 0 12px !important;
    font-size: clamp(2.15rem, 2.9vw, 3.35rem) !important;
    line-height: .96 !important;
    letter-spacing: -.058em !important;
    font-weight: 800 !important;
    color: var(--black) !important;
    text-shadow: none !important;
}

.v2-selected-row-dark .v2-selected-content h3 {
    color: var(--black) !important;
}

.v2-selected-content p {
    margin: 0 !important;
    max-width: 760px !important;
    font-size: .99rem !important;
    line-height: 1.8 !important;
    color: rgba(0,0,0,.62) !important;
}

.v2-selected-row-dark .v2-selected-content p {
    color: rgba(0,0,0,.62) !important;
}

@media (max-width: 1279.98px) {
    .v2-hero-shell {
        gap: 42px !important;
    }

    .v2-selected-row,
    .v2-selected-row-dark {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 34px 0 !important;
    }
}

@media (max-width: 767.98px) {
    .v2-hero {
        padding-top: 14px !important;
        padding-bottom: 88px !important;
    }

    .v2-top-meta {
        padding-bottom: 8px !important;
    }

    .v2-hero-shell {
        gap: 20px !important;
    }

    .v2-hero-title-wrap {
        padding-top: 2px !important;
        padding-bottom: 4px !important;
    }

    .v2-hero-axis-top {
        margin-bottom: 6px !important;
        max-width: 120px !important;
    }

    .v2-hero-axis-bottom {
        margin-top: 8px !important;
        max-width: 150px !important;
    }

    .v2-hero-title,
    .v2-hero-construction .v2-hero-title {
        margin-bottom: 12px !important;
        font-size: clamp(2.9rem, 11.8vw, 4.4rem) !important;
        line-height: .92 !important;
        letter-spacing: -.062em !important;
    }

    .v2-hero-subline {
        margin-bottom: 12px !important;
    }

    .v2-hero-lead {
        margin-bottom: 20px !important;
        font-size: .96rem !important;
        line-height: 1.7 !important;
    }

    .v2-signature-moment {
        margin-top: 48px !important;
        padding-top: 14px !important;
    }

    .v2-doctrine {
        margin-top: 18px !important;
        padding-top: 10px !important;
    }

    .v2-contact-mail {
        font-size: clamp(1.2rem, 7vw, 1.95rem) !important;
        line-height: 1.08 !important;
    }

    .v2-selected {
        padding-bottom: 92px !important;
    }

    .v2-selected-head {
        margin-bottom: 28px !important;
    }

    .v2-selected-content h3 {
        font-size: clamp(1.75rem, 8.8vw, 2.45rem) !important;
        line-height: .98 !important;
        letter-spacing: -.046em !important;
    }

    .v2-selected-content p {
        font-size: .95rem !important;
        line-height: 1.72 !important;
    }
}


/* =========================================================
   CONTACT RECOVERY
   ultra layout + hero/contact harmony + proportion tuning
========================================================= */

.v2-contact-page-ultra .v2-page-head {
    max-width: 1120px;
}

.v2-contact-hero-harmony {
    padding-bottom: 46px;
}

.v2-contact-hero-harmony .v2-page-title {
    max-width: 10ch;
}

.v2-contact-hero-harmony .v2-page-lead {
    max-width: 36ch;
    font-size: 1.06rem;
    line-height: 1.9;
}

.v2-contact-hero-signature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
}

.v2-contact-hero-signature-line {
    display: block;
    width: 38px;
    height: 1px;
    background: rgba(0,0,0,.18);
}

.v2-contact-hero-signature-text {
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.42);
}

.v2-contact-section-harmony {
    padding-top: 8px;
}

.v2-contact-grid-ultra {
    display: grid;
    grid-template-columns: minmax(300px, 0.76fr) minmax(640px, 1.24fr);
    gap: 68px;
    align-items: stretch;
}

.v2-contact-side-ultra {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 66px 44px 0;
    overflow: hidden;
    border-radius: 68px;
    color: #fff;
    background:
        radial-gradient(circle at 84% 12%, rgba(255,255,255,.1) 0%, rgba(255,255,255,.02) 24%, rgba(255,255,255,0) 56%),
        radial-gradient(circle at 12% 118%, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 42%),
        linear-gradient(180deg, #020202 0%, #080808 48%, #101010 100%);
    box-shadow:
        0 58px 132px rgba(0,0,0,.14),
        0 18px 44px rgba(0,0,0,.055),
        inset 0 1px 0 rgba(255,255,255,.055);
}

.v2-contact-side-ultra-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}

.v2-contact-side-ultra-kicker,
.v2-contact-side-ultra-code {
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    line-height: 1.2;
    color: rgba(255,255,255,.72);
    white-space: nowrap;
}

.v2-contact-side-ultra-mail {
    display: inline-block;
    margin-bottom: 22px;
    font-size: clamp(2.15rem, 3.7vw, 3.75rem);
    line-height: .94;
    letter-spacing: -.072em;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.v2-contact-side-ultra-lead {
    max-width: 24ch;
    margin: 0;
    font-size: 1rem;
    line-height: 1.86;
    color: rgba(255,255,255,.76);
}

.v2-contact-side-ultra-divider {
    height: 1px;
    margin: 28px 0 22px;
    background: linear-gradient(90deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.03) 100%);
}

.v2-contact-side-ultra-points {
    display: grid;
    gap: 22px;
}

.v2-contact-side-ultra-point {
    display: grid;
    grid-template-columns: 14px 1fr;
    gap: 14px;
    align-items: start;
}

.v2-contact-side-ultra-line {
    display: block;
    width: 14px;
    height: 1px;
    background: rgba(255,255,255,.22);
    transform: translateY(12px);
}

.v2-contact-side-ultra-point strong {
    display: block;
    margin-bottom: 6px;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255,255,255,.9);
}

.v2-contact-side-ultra-point span:last-child {
    display: block;
    font-size: .98rem;
    line-height: 1.76;
    color: rgba(255,255,255,.68);
}

.v2-contact-side-ultra-panel {
    margin-top: auto;
    padding: 30px 28px 32px;
    border-top: 1px solid rgba(255,255,255,.045);
    background:
        radial-gradient(circle at 84% 18%, rgba(255,255,255,.03) 0%, rgba(255,255,255,.008) 30%, rgba(255,255,255,0) 68%),
        linear-gradient(180deg, rgba(255,255,255,.004) 0%, rgba(255,255,255,.002) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.012);
}

.v2-contact-side-ultra-panel-top {
    margin-bottom: 20px;
}

.v2-contact-side-ultra-panel-top span {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.44);
}

.v2-contact-side-ultra-panel-top span::before {
    content: "";
    display: block;
    width: 32px;
    height: 1px;
    background: rgba(255,255,255,.16);
}

.v2-contact-side-ultra-panel h3 {
    margin: 0 0 12px;
    max-width: 8ch;
    font-size: clamp(1.9rem, 2.8vw, 2.9rem);
    line-height: .94;
    letter-spacing: -.07em;
    font-weight: 800;
    color: rgba(255,255,255,.985);
}

.v2-contact-side-ultra-panel p {
    margin: 0;
    max-width: 28ch;
    font-size: .98rem;
    line-height: 1.82;
    color: rgba(255,255,255,.68);
}

.v2-contact-side-ultra-panel-bottom {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.045);
}

.v2-contact-side-ultra-panel-bottom span:last-child {
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.42);
}

.v2-contact-form-ultra {
    position: relative;
    padding: 88px 84px 74px;
    border-radius: 68px;
    border: 1px solid rgba(0,0,0,.055);
    background:
        radial-gradient(circle at 92% 10%, rgba(0,0,0,.035) 0%, rgba(0,0,0,.01) 20%, rgba(0,0,0,0) 44%),
        linear-gradient(180deg, rgba(255,255,255,.994) 0%, rgba(248,248,248,.986) 100%);
    box-shadow:
        0 58px 132px rgba(0,0,0,.07),
        0 18px 44px rgba(0,0,0,.028),
        inset 0 1px 0 rgba(255,255,255,.97);
    overflow: hidden;
}

.v2-contact-form-ultra::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -90px;
    width: 320px;
    height: 320px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(0,0,0,.04) 0%, rgba(0,0,0,.012) 34%, rgba(0,0,0,0) 70%);
    pointer-events: none;
}

.v2-contact-form-ultra-intro,
.v2-form-ultra {
    position: relative;
    z-index: 2;
}

.v2-contact-form-ultra .v2-kicker {
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(0,0,0,.34);
}

.v2-contact-form-ultra h2 {
    margin: 14px 0 20px;
    max-width: 7.8ch;
    font-size: clamp(3.35rem, 5.2vw, 6.1rem);
    line-height: .86;
    letter-spacing: -.098em;
    font-weight: 800;
    color: var(--black);
}

.v2-contact-form-ultra p {
    margin: 0;
    max-width: 33ch;
    font-size: 1.08rem;
    line-height: 1.92;
    color: rgba(0,0,0,.6);
}

.v2-contact-form-ultra-intro {
    margin-bottom: 54px;
}

.v2-form-ultra {
    display: grid;
    gap: 34px;
}

.v2-form-ultra .v2-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px 30px;
}

.v2-form-ultra .v2-form-field {
    display: grid;
    gap: 12px;
}

.v2-form-ultra .v2-form-field label {
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(0,0,0,.74);
}

.v2-form-ultra .v2-form-field input:not([type="checkbox"]):not([type="radio"]),
.v2-form-ultra .v2-form-field textarea {
    width: 100%;
    border-radius: 40px;
    padding: 24px 25px;
    border: 1px solid rgba(0,0,0,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(250,250,250,1) 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.98) inset,
        0 10px 24px rgba(0,0,0,.018);
    outline: none;
}

.v2-form-ultra .v2-form-field input:not([type="checkbox"]):not([type="radio"]):focus,
.v2-form-ultra .v2-form-field textarea:focus {
    border-color: rgba(0,0,0,.16);
    box-shadow:
        0 0 0 5px rgba(0,0,0,.025),
        0 18px 34px rgba(0,0,0,.03),
        0 1px 0 rgba(255,255,255,.98) inset;
}

.v2-form-ultra .v2-form-field textarea {
    min-height: 252px;
    resize: vertical;
}

.v2-consent-block-clean .v2-consent-label {
    border-radius: 30px;
    padding: 22px 22px;
    border: 1px solid rgba(0,0,0,.07);
    background: linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(249,249,249,.99) 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.98) inset,
        0 8px 18px rgba(0,0,0,.014);
}

.v2-form-actions-ultra {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding-top: 16px;
}

.v2-btn-contact-ultra {
    min-width: 360px;
    min-height: 70px;
    padding: 0 44px;
    border-radius: 999px;
    font-size: .94rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    box-shadow:
        0 26px 48px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.v2-btn-contact-ultra:hover {
    transform: translateY(-2px);
    box-shadow:
        0 32px 58px rgba(0,0,0,.2),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.v2-form-subnote-ultra {
    font-size: .93rem;
    line-height: 1.72;
    color: rgba(0,0,0,.48);
    letter-spacing: -.01em;
}

.v2-contact-success-shell-ultra {
    margin-bottom: 44px;
}

.v2-contact-success-card-ultra {
    border-radius: 46px;
    padding: 34px 36px 36px;
    box-shadow:
        0 44px 110px rgba(8,58,36,.08),
        0 14px 32px rgba(0,0,0,.024),
        0 1px 0 rgba(255,255,255,.94) inset;
}

.v2-contact-success-mode .v2-contact-form-ultra {
    opacity: .72;
    transform: scale(.992);
    filter: saturate(.9);
}

.v2-contact-success-mode .v2-contact-side-ultra {
    opacity: .9;
}

@media (max-width: 1279.98px) {
    .v2-contact-grid-ultra {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .v2-contact-side-ultra {
        padding: 46px 36px 0;
    }

    .v2-contact-form-ultra {
        padding: 52px 40px 46px;
    }

    .v2-contact-form-ultra h2 {
        max-width: 8.5ch;
        font-size: clamp(2.9rem, 6vw, 4.8rem);
    }
}

@media (max-width: 767.98px) {
    .v2-contact-hero-signature {
        margin-top: 20px;
    }

    .v2-contact-side-ultra {
        padding: 38px 26px 0;
        border-radius: 34px;
    }

    .v2-contact-side-ultra-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 18px;
    }

    .v2-contact-side-ultra-panel {
        padding: 24px 22px 24px;
    }

    .v2-contact-side-ultra-panel h3 {
        max-width: none;
        font-size: clamp(1.8rem, 8vw, 2.6rem);
        line-height: .97;
    }

    .v2-contact-form-ultra {
        padding: 38px 26px 34px;
        border-radius: 34px;
    }

    .v2-contact-form-ultra h2 {
        max-width: none;
        font-size: clamp(2.35rem, 10.8vw, 3.8rem);
        line-height: .93;
    }

    .v2-contact-form-ultra-intro {
        margin-bottom: 34px;
    }

    .v2-form-ultra .v2-form-grid {
        grid-template-columns: 1fr;
    }

    .v2-btn-contact-ultra {
        width: 100%;
        min-width: 0;
        min-height: 60px;
        padding: 0 24px;
    }

    .v2-contact-success-mode .v2-contact-form-ultra,
    .v2-contact-success-mode .v2-contact-side-ultra {
        opacity: 1;
        transform: none;
        filter: none;
    }
}
/* =========================================================
   CONTACT CONSENT OVERLAP FIX
========================================================= */

.v2-consent-block,
.v2-consent-block-clean {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.v2-consent-label {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 16px !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 22px 22px !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.v2-consent-label input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.v2-consent-box {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin-top: 2px !important;
    align-self: start !important;
}

.v2-consent-text {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;

    font-size: 1rem !important;
    line-height: 1.8 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.v2-form-actions,
.v2-form-actions-clean,
.v2-form-actions-ultra {
    margin-top: 10px !important;
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 767.98px) {
    .v2-consent-label {
        grid-template-columns: 22px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 18px 18px !important;
        border-radius: 24px !important;
    }

    .v2-consent-box {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
    }

    .v2-consent-text {
        font-size: .96rem !important;
        line-height: 1.72 !important;
    }
}

/* =========================================================
   CONTACT CONSENT CHECKBOX VISIBILITY FIX
========================================================= */

.v2-consent-label {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    cursor: pointer !important;
}

.v2-consent-label input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.v2-consent-box {
    position: relative !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin-top: 3px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f2f2 100%) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.96) inset,
        0 6px 14px rgba(0,0,0,.04) !important;
    transition:
        background var(--ease),
        border-color var(--ease),
        box-shadow var(--ease),
        transform var(--ease) !important;
}

.v2-consent-box::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 3px !important;
    width: 7px !important;
    height: 12px !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) scale(0) !important;
    transform-origin: center !important;
    transition: transform var(--ease) !important;
}

.v2-consent-label input[type="checkbox"]:checked + .v2-consent-box {
    background: linear-gradient(180deg, #111111 0%, #050505 100%) !important;
    border-color: #050505 !important;
    box-shadow:
        0 12px 26px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.v2-consent-label input[type="checkbox"]:checked + .v2-consent-box::after {
    transform: rotate(45deg) scale(1) !important;
}

.v2-consent-label input[type="checkbox"]:focus + .v2-consent-box {
    box-shadow:
        0 0 0 4px rgba(0,0,0,.05),
        0 6px 16px rgba(0,0,0,.05) !important;
}

.v2-consent-text {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
}

@media (max-width: 767.98px) {
    .v2-consent-label {
        grid-template-columns: 26px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .v2-consent-box {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        border-radius: 7px !important;
    }

    .v2-consent-box::after {
        left: 6px !important;
        top: 2px !important;
        width: 6px !important;
        height: 11px !important;
    }
}

/* =========================================================
   CONTACT CONSENT LUXURY FINAL PASS
========================================================= */

.v2-consent-block,
.v2-consent-block-clean {
    margin-top: 2px !important;
}

.v2-consent-label {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px 22px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(0,0,0,.075) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(249,249,249,.99) 100%) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.98) inset,
        0 10px 24px rgba(0,0,0,.018) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition:
        border-color var(--ease),
        box-shadow var(--ease),
        transform var(--ease),
        background var(--ease) !important;
}

.v2-consent-label:hover {
    border-color: rgba(0,0,0,.12) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.99) inset,
        0 16px 30px rgba(0,0,0,.024) !important;
}

.v2-consent-label input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.v2-consent-box {
    position: relative !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin-top: 3px !important;
    align-self: start !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f1f1f1 100%) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.96) inset,
        0 6px 14px rgba(0,0,0,.04) !important;
    transition:
        background var(--ease),
        border-color var(--ease),
        box-shadow var(--ease),
        transform var(--ease) !important;
}

.v2-consent-box::after {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 3px !important;
    width: 7px !important;
    height: 12px !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) scale(0) !important;
    transform-origin: center !important;
    transition: transform var(--ease) !important;
}

.v2-consent-label input[type="checkbox"]:checked + .v2-consent-box {
    background: linear-gradient(180deg, #111111 0%, #050505 100%) !important;
    border-color: #050505 !important;
    box-shadow:
        0 14px 28px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.v2-consent-label input[type="checkbox"]:checked + .v2-consent-box::after {
    transform: rotate(45deg) scale(1) !important;
}

.v2-consent-label input[type="checkbox"]:focus + .v2-consent-box {
    box-shadow:
        0 0 0 4px rgba(0,0,0,.05),
        0 6px 16px rgba(0,0,0,.05) !important;
}

.v2-consent-text {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.82 !important;
    color: rgba(0,0,0,.72) !important;
    letter-spacing: -.01em !important;
    overflow-wrap: anywhere !important;
}

.v2-consent-text a {
    color: var(--black) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-color: rgba(0,0,0,.26) !important;
    transition: color var(--ease), text-decoration-color var(--ease) !important;
}

.v2-consent-text a:hover {
    text-decoration-color: rgba(0,0,0,.58) !important;
}

@media (max-width: 767.98px) {
    .v2-consent-label {
        grid-template-columns: 26px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 18px 18px !important;
        border-radius: 24px !important;
    }

    .v2-consent-box {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        border-radius: 7px !important;
    }

    .v2-consent-box::after {
        left: 6px !important;
        top: 2px !important;
        width: 6px !important;
        height: 11px !important;
    }

    .v2-consent-text {
        font-size: .96rem !important;
        line-height: 1.74 !important;
    }
}

/* =========================================================
   V2 LEGAL FINAL PASS
========================================================= */

.v2-legal-page {
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.016) 0%, rgba(0,0,0,0) 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 22%, #ffffff 100%);
}

.v2-legal-hero .v2-page-head {
    max-width: 1120px;
}

.v2-legal-hero .v2-page-title {
    max-width: 8ch;
}

.v2-legal-hero .v2-page-lead {
    max-width: 38ch;
    font-size: 1.06rem;
    line-height: 1.9;
}

.v2-legal-section {
    padding-top: 10px;
}

.v2-legal-grid {
    display: grid;
    grid-template-columns: minmax(300px, .74fr) minmax(620px, 1.26fr);
    gap: 54px;
    align-items: start;
}

.v2-legal-aside {
    position: sticky;
    top: 138px;
}

.v2-legal-aside-inner {
    position: relative;
    overflow: hidden;
    padding: 40px 34px;
    border-radius: 42px;
    color: #fff;
    background:
        radial-gradient(circle at 84% 14%, rgba(255,255,255,.12) 0%, rgba(255,255,255,.03) 24%, rgba(255,255,255,0) 60%),
        linear-gradient(180deg, #040404 0%, #121212 100%);
    box-shadow:
        0 40px 96px rgba(0,0,0,.14),
        0 12px 28px rgba(0,0,0,.05),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.v2-legal-aside-inner::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -70px;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,.02) 38%, rgba(255,255,255,0) 72%);
    pointer-events: none;
}

.v2-legal-aside-inner > * {
    position: relative;
    z-index: 2;
}

.v2-legal-aside h2 {
    margin: 12px 0 14px;
    font-size: clamp(2rem, 2.6vw, 3rem);
    line-height: .94;
    letter-spacing: -.065em;
    font-weight: 800;
    color: #fff;
}

.v2-legal-aside p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.84;
    color: rgba(255,255,255,.76);
}

.v2-legal-aside-meta {
    display: grid;
    gap: 16px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.v2-legal-aside-meta strong {
    display: block;
    margin-bottom: 4px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.56);
}

.v2-legal-aside-meta span {
    display: block;
    font-size: .98rem;
    line-height: 1.72;
    color: rgba(255,255,255,.82);
}

.v2-legal-content {
    min-width: 0;
}

.v2-legal-v2-card {
    padding: 64px 58px;
    border-radius: 58px;
    border: 1px solid rgba(0,0,0,.06);
    background:
        radial-gradient(circle at 92% 10%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 22%, rgba(0,0,0,0) 48%),
        linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(249,249,249,.99) 100%);
    box-shadow:
        0 48px 116px rgba(0,0,0,.07),
        0 14px 34px rgba(0,0,0,.03),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-legal-v2-card .v2-legal-lux-block {
    padding-top: 30px;
    border-top: 1px solid rgba(0,0,0,.09);
}

.v2-legal-v2-card .v2-legal-lux-block:first-child {
    padding-top: 0;
    border-top: 0;
}

.v2-legal-v2-card .v2-kicker {
    display: inline-block;
    margin-bottom: 12px;
    color: rgba(0,0,0,.34);
}

.v2-legal-v2-card h2 {
    margin: 0 0 14px;
    font-size: clamp(1.75rem, 2.2vw, 2.35rem);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 800;
    color: var(--black);
}

.v2-legal-v2-card p {
    margin: 0;
    white-space: pre-line;
    font-size: 1rem;
    line-height: 1.9;
    color: rgba(0,0,0,.68);
}

@media (max-width: 1279.98px) {
    .v2-legal-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .v2-legal-aside {
        position: static;
    }

    .v2-legal-v2-card {
        padding: 44px 38px;
        border-radius: 42px;
    }

    .v2-legal-aside-inner {
        border-radius: 36px;
    }
}

@media (max-width: 767.98px) {
    .v2-legal-hero .v2-page-title {
        max-width: none;
    }

    .v2-legal-v2-card {
        padding: 32px 26px;
        border-radius: 34px;
    }

    .v2-legal-aside-inner {
        padding: 30px 24px;
        border-radius: 30px;
    }

    .v2-legal-aside h2 {
        font-size: clamp(1.75rem, 8vw, 2.3rem);
        line-height: .98;
    }

    .v2-legal-v2-card h2 {
        font-size: clamp(1.45rem, 7vw, 1.9rem);
        line-height: 1;
    }

    .v2-legal-v2-card p {
        font-size: .96rem;
        line-height: 1.8;
    }
}
/* =========================================================
   JOURNAL STABLE FINAL REPAIR
========================================================= */

/* index */

.v2-selected-row-link {
    text-decoration: none;
    color: inherit;
    display: grid;
    transition: transform var(--ease), border-color var(--ease);
}

.v2-selected-row-link:hover {
    transform: translateX(4px);
}

.v2-selected-row-link .v2-selected-content {
    position: relative;
}

.v2-selected-readmore {
    margin-top: 18px;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(0,0,0,.44);
    transition: color var(--ease), transform var(--ease);
}

.v2-selected-row-link:hover .v2-selected-readmore {
    color: rgba(0,0,0,.82);
    transform: translateX(4px);
}

/* article page */

.v2-journal-article-page {
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.016) 0%, rgba(0,0,0,0) 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 22%, #ffffff 100%);
}

.v2-journal-article-hero .v2-page-head {
    max-width: 1120px;
}

.v2-journal-article-head .v2-page-title {
    max-width: 12ch;
}

.v2-journal-article-head .v2-page-lead {
    max-width: 40ch;
    font-size: 1.06rem;
    line-height: 1.9;
}

.v2-journal-article-section {
    padding-top: 10px;
}

.v2-journal-article-wrap {
    display: flex;
    justify-content: center;
}

.v2-journal-article-card {
    width: 100%;
    max-width: 980px;
    padding: 64px 58px;
    border-radius: 58px;
    border: 1px solid rgba(0,0,0,.06);
    background:
        radial-gradient(circle at 92% 10%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 22%, rgba(0,0,0,0) 48%),
        linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(249,249,249,.99) 100%);
    box-shadow:
        0 48px 116px rgba(0,0,0,.07),
        0 14px 34px rgba(0,0,0,.03),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-journal-article-card p {
    margin: 0 0 22px;
    max-width: 42em;
    font-size: 1.04rem;
    line-height: 1.92;
    color: rgba(0,0,0,.72);
}

.v2-journal-article-card p:first-of-type {
    font-size: 1.12rem;
    line-height: 1.88;
    color: rgba(0,0,0,.84);
}

.v2-journal-article-cta {
    margin-top: 20px;
    padding-top: 28px;
    border-top: 1px solid rgba(0,0,0,.09);
}

.v2-journal-article-cta h2 {
    margin: 12px 0 20px;
    font-size: clamp(1.9rem, 2.6vw, 3rem);
    line-height: .96;
    letter-spacing: -.06em;
    font-weight: 800;
    color: var(--black);
    max-width: 16ch;
}

.v2-journal-article-cta .v2-btn {
    min-width: 260px;
}

@media (max-width: 767.98px) {
    .v2-journal-article-head .v2-page-title {
        max-width: none;
    }

    .v2-journal-article-card {
        padding: 32px 26px;
        border-radius: 34px;
    }

    .v2-journal-article-card p {
        font-size: .98rem;
        line-height: 1.84;
    }

    .v2-journal-article-card p:first-of-type {
        font-size: 1.04rem;
        line-height: 1.78;
    }

    .v2-journal-article-cta h2 {
        font-size: clamp(1.6rem, 8vw, 2.2rem);
        line-height: 1;
        max-width: none;
    }

    .v2-journal-article-cta .v2-btn {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   JOURNAL ARTICLE DE-BLOG LUXURY PASS
========================================================= */

.v2-journal-essay-page {
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.016) 0%, rgba(0,0,0,0) 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 22%, #ffffff 100%);
}

.v2-journal-essay-hero .v2-page-head {
    max-width: 960px;
}

.v2-journal-essay-head .v2-page-title {
    max-width: 8ch;
    font-size: clamp(3.4rem, 5.4vw, 5.8rem);
    line-height: .9;
    letter-spacing: -.085em;
    margin-bottom: 18px;
}

.v2-journal-essay-head .v2-page-lead {
    max-width: 32ch;
    font-size: 1.08rem;
    line-height: 1.92;
    color: rgba(0,0,0,.58);
}

.v2-journal-essay-signature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 24px;
}

.v2-journal-essay-signature-line {
    width: 36px;
    height: 1px;
    background: rgba(0,0,0,.18);
}

.v2-journal-essay-signature-text {
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.42);
}

.v2-journal-essay-section {
    padding-top: 8px;
}

.v2-journal-essay-card {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 76px 82px;
    border-radius: 60px;
    border: 1px solid rgba(0,0,0,.06);
    background:
        radial-gradient(circle at 92% 10%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 22%, rgba(0,0,0,0) 48%),
        linear-gradient(180deg, rgba(255,255,255,.996) 0%, rgba(249,249,249,.992) 100%);
    box-shadow:
        0 48px 116px rgba(0,0,0,.07),
        0 14px 34px rgba(0,0,0,.03),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-journal-essay-opener {
    margin-bottom: 36px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.v2-journal-essay-opener p {
    margin: 0;
    max-width: 30em;
    font-size: 1.34rem;
    line-height: 1.62;
    letter-spacing: -.03em;
    color: rgba(0,0,0,.86);
}

.v2-journal-essay-body p {
    margin: 0 0 24px;
    max-width: 41em;
    font-size: 1.05rem;
    line-height: 1.96;
    color: rgba(0,0,0,.72);
}

.v2-journal-essay-closing {
    margin-top: 12px;
    padding-top: 34px;
    border-top: 1px solid rgba(0,0,0,.09);
}

.v2-journal-essay-closing h2 {
    margin: 12px 0 16px;
    max-width: 15ch;
    font-size: clamp(1.95rem, 2.8vw, 3.05rem);
    line-height: .95;
    letter-spacing: -.06em;
    font-weight: 800;
    color: var(--black);
}

.v2-journal-essay-closing p {
    margin: 0 0 22px;
    max-width: 36ch;
    font-size: 1rem;
    line-height: 1.88;
    color: rgba(0,0,0,.62);
}

.v2-journal-essay-closing .v2-btn {
    min-width: 260px;
}

@media (max-width: 1279.98px) {
    .v2-journal-essay-card {
        padding: 52px 42px;
        border-radius: 40px;
    }
}

@media (max-width: 767.98px) {
    .v2-journal-essay-head .v2-page-title {
        max-width: none;
        font-size: clamp(2.6rem, 10vw, 4rem);
        line-height: .94;
    }

    .v2-journal-essay-head .v2-page-lead {
        max-width: none;
        font-size: 1rem;
        line-height: 1.78;
    }

    .v2-journal-essay-card {
        padding: 34px 24px;
        border-radius: 32px;
    }

    .v2-journal-essay-opener {
        margin-bottom: 26px;
        padding-bottom: 22px;
    }

    .v2-journal-essay-opener p {
        font-size: 1.12rem;
        line-height: 1.68;
    }

    .v2-journal-essay-body p {
        font-size: .98rem;
        line-height: 1.84;
    }

    .v2-journal-essay-closing h2 {
        max-width: none;
        font-size: clamp(1.6rem, 8vw, 2.2rem);
        line-height: 1;
    }

    .v2-journal-essay-closing .v2-btn {
        width: 100%;
        min-width: 0;
    }
}
/* =========================================================
   JOURNAL INDEX LUXURY REPAIR FINAL
========================================================= */

.v2-journal-index-page {
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.016) 0%, rgba(0,0,0,0) 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 22%, #ffffff 100%);
}

.v2-journal-index-hero .v2-page-head {
    max-width: 1040px;
}

.v2-journal-index-head .v2-page-title {
    max-width: 10ch;
}

.v2-journal-index-head .v2-page-lead {
    max-width: 36ch;
    font-size: 1.06rem;
    line-height: 1.9;
}

.v2-journal-index-section {
    padding-top: 8px;
}

.v2-journal-index-stack {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(0,0,0,.1);
}

.v2-journal-index-entry {
    position: relative;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 180px;
    gap: 34px;
    align-items: center;
    padding: 42px 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid rgba(0,0,0,.1);
    transition: transform var(--ease);
}

.v2-journal-index-entry:hover {
    transform: translateX(6px);
}

.v2-journal-index-entry::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background: rgba(0,0,0,.22);
    transition: width var(--ease);
}

.v2-journal-index-entry:hover::after {
    width: 100%;
}

.v2-journal-index-no {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.32);
}

.v2-journal-index-meta {
    margin-bottom: 10px;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.36);
}

.v2-journal-index-main h2 {
    margin: 0 0 12px;
    font-size: clamp(2rem, 2.9vw, 3.5rem);
    line-height: .95;
    letter-spacing: -.065em;
    font-weight: 800;
    color: var(--black);
}

.v2-journal-index-main p {
    margin: 0;
    max-width: 42ch;
    font-size: 1.01rem;
    line-height: 1.84;
    color: rgba(0,0,0,.64);
}

.v2-journal-index-cta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.v2-journal-index-cta span {
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.44);
    transition: color var(--ease), transform var(--ease);
}

.v2-journal-index-entry:hover .v2-journal-index-cta span {
    color: rgba(0,0,0,.82);
    transform: translateX(5px);
}

@media (max-width: 1279.98px) {
    .v2-journal-index-entry {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 24px;
    }

    .v2-journal-index-cta {
        grid-column: 2;
        justify-content: flex-start;
        margin-top: 6px;
    }
}

@media (max-width: 767.98px) {
    .v2-journal-index-head .v2-page-title {
        max-width: none;
    }

    .v2-journal-index-entry {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 28px 0;
    }

    .v2-journal-index-no {
        font-size: .86rem;
    }

    .v2-journal-index-main h2 {
        font-size: clamp(1.65rem, 8vw, 2.35rem);
        line-height: .98;
    }

    .v2-journal-index-main p {
        font-size: .96rem;
        line-height: 1.74;
    }

    .v2-journal-index-cta {
        grid-column: auto;
        margin-top: 0;
    }
}
/* =========================================================
   V2 REFERENCE VISUAL SYSTEM
========================================================= */

.v2-references-section {
    position: relative;
    padding: clamp(88px, 10vw, 140px) 0;
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.018) 0%, rgba(0,0,0,0) 26%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 24%, #ffffff 100%);
}

.v2-references-head {
    max-width: 920px;
    margin-bottom: 42px;
}

.v2-references-head .v2-section-title {
    max-width: 8ch;
    margin-bottom: 16px;
}

.v2-references-head .v2-regular-copy {
    max-width: 44ch;
    color: rgba(0,0,0,.66);
    line-height: 1.9;
}

.v2-references-stack {
    display: grid;
    gap: 34px;
}

.v2-reference-entry {
    display: grid;
    grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
    gap: 34px;
    align-items: center;
    padding: 34px;
    border-radius: 42px;
    border: 1px solid rgba(0,0,0,.07);
    background:
        radial-gradient(circle at 92% 8%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 22%, rgba(0,0,0,0) 50%),
        linear-gradient(180deg, rgba(255,255,255,.996) 0%, rgba(249,249,249,.99) 100%);
    box-shadow:
        0 34px 76px rgba(0,0,0,.06),
        0 12px 28px rgba(0,0,0,.024),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-reference-entry-alt {
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr);
}

.v2-reference-entry-alt .v2-reference-copy {
    order: 2;
}

.v2-reference-entry-alt .v2-reference-visuals {
    order: 1;
}

.v2-reference-copy {
    min-width: 0;
}

.v2-reference-meta {
    margin-bottom: 12px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.36);
}

.v2-reference-copy h3 {
    margin: 0 0 14px;
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: .94;
    letter-spacing: -.065em;
    font-weight: 800;
    color: var(--black);
}

.v2-reference-lead {
    margin: 0 0 22px;
    max-width: 34ch;
    font-size: 1rem;
    line-height: 1.88;
    color: rgba(0,0,0,.68);
}

.v2-reference-facts {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 22px 0 0;
    list-style: none;
    border-top: 1px solid rgba(0,0,0,.08);
}

.v2-reference-facts li {
    position: relative;
    padding-left: 16px;
    font-size: .94rem;
    line-height: 1.7;
    color: rgba(0,0,0,.62);
}

.v2-reference-facts li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 6px;
    height: 1px;
    background: rgba(0,0,0,.28);
}

.v2-reference-visuals {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
    align-items: end;
}

.v2-reference-main,
.v2-reference-detail {
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(0,0,0,.08);
    background: #f5f5f5;
    box-shadow:
        0 22px 50px rgba(0,0,0,.08),
        0 8px 20px rgba(0,0,0,.03),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-reference-main {
    aspect-ratio: 16 / 10;
}

.v2-reference-detail {
    aspect-ratio: 4 / 5;
}

.v2-reference-main img,
.v2-reference-detail img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform var(--ease);
}

.v2-reference-entry:hover .v2-reference-main img,
.v2-reference-entry:hover .v2-reference-detail img {
    transform: scale(1.02);
}

@media (max-width: 1279.98px) {
    .v2-reference-entry,
    .v2-reference-entry-alt {
        grid-template-columns: 1fr;
    }

    .v2-reference-entry-alt .v2-reference-copy,
    .v2-reference-entry-alt .v2-reference-visuals {
        order: initial;
    }
}

@media (max-width: 767.98px) {
    .v2-reference-entry {
        padding: 22px;
        border-radius: 28px;
        gap: 24px;
    }

    .v2-reference-copy h3 {
        font-size: clamp(1.7rem, 8vw, 2.3rem);
        line-height: .98;
    }

    .v2-reference-visuals {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .v2-reference-main,
    .v2-reference-detail {
        border-radius: 20px;
    }

    .v2-reference-detail {
        aspect-ratio: 16 / 10;
    }
}

/* =========================================================
   V2 REFERENCE VISUAL SYSTEM
========================================================= */

.v2-references-section {
    position: relative;
    padding: clamp(88px, 10vw, 140px) 0;
    background:
        radial-gradient(circle at top left, rgba(0,0,0,.018) 0%, rgba(0,0,0,0) 26%),
        linear-gradient(180deg, #ffffff 0%, #fbfbfb 24%, #ffffff 100%);
}

.v2-references-head {
    max-width: 920px;
    margin-bottom: 42px;
}

.v2-references-head .v2-section-title {
    max-width: 8ch;
    margin-bottom: 16px;
}

.v2-references-head .v2-regular-copy {
    max-width: 44ch;
    color: rgba(0,0,0,.66);
    line-height: 1.9;
}

.v2-references-stack {
    display: grid;
    gap: 34px;
}

.v2-reference-entry {
    display: grid;
    grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
    gap: 34px;
    align-items: center;
    padding: 34px;
    border-radius: 42px;
    border: 1px solid rgba(0,0,0,.07);
    background:
        radial-gradient(circle at 92% 8%, rgba(0,0,0,.03) 0%, rgba(0,0,0,.008) 22%, rgba(0,0,0,0) 50%),
        linear-gradient(180deg, rgba(255,255,255,.996) 0%, rgba(249,249,249,.99) 100%);
    box-shadow:
        0 34px 76px rgba(0,0,0,.06),
        0 12px 28px rgba(0,0,0,.024),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-reference-entry-alt {
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, .78fr);
}

.v2-reference-entry-alt .v2-reference-copy {
    order: 2;
}

.v2-reference-entry-alt .v2-reference-visuals {
    order: 1;
}

.v2-reference-copy {
    min-width: 0;
}

.v2-reference-meta {
    margin-bottom: 12px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(0,0,0,.36);
}

.v2-reference-copy h3 {
    margin: 0 0 14px;
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: .94;
    letter-spacing: -.065em;
    font-weight: 800;
    color: var(--black);
}

.v2-reference-lead {
    margin: 0 0 22px;
    max-width: 34ch;
    font-size: 1rem;
    line-height: 1.88;
    color: rgba(0,0,0,.68);
}

.v2-reference-facts {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 22px 0 0;
    list-style: none;
    border-top: 1px solid rgba(0,0,0,.08);
}

.v2-reference-facts li {
    position: relative;
    padding-left: 16px;
    font-size: .94rem;
    line-height: 1.7;
    color: rgba(0,0,0,.62);
}

.v2-reference-facts li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 6px;
    height: 1px;
    background: rgba(0,0,0,.28);
}

.v2-reference-visuals {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
    align-items: end;
}

.v2-reference-main,
.v2-reference-detail {
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(0,0,0,.08);
    background: #f5f5f5;
    box-shadow:
        0 22px 50px rgba(0,0,0,.08),
        0 8px 20px rgba(0,0,0,.03),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.v2-reference-main {
    aspect-ratio: 16 / 10;
}

.v2-reference-detail {
    aspect-ratio: 4 / 5;
}

.v2-reference-main img,
.v2-reference-detail img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform var(--ease);
}

.v2-reference-entry:hover .v2-reference-main img,
.v2-reference-entry:hover .v2-reference-detail img {
    transform: scale(1.02);
}

@media (max-width: 1279.98px) {
    .v2-reference-entry,
    .v2-reference-entry-alt {
        grid-template-columns: 1fr;
    }

    .v2-reference-entry-alt .v2-reference-copy,
    .v2-reference-entry-alt .v2-reference-visuals {
        order: initial;
    }
}

@media (max-width: 767.98px) {
    .v2-reference-entry {
        padding: 22px;
        border-radius: 28px;
        gap: 24px;
    }

    .v2-reference-copy h3 {
        font-size: clamp(1.7rem, 8vw, 2.3rem);
        line-height: .98;
    }

    .v2-reference-visuals {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .v2-reference-main,
    .v2-reference-detail {
        border-radius: 20px;
    }

    .v2-reference-detail {
        aspect-ratio: 16 / 10;
    }
}