/* Trixure Group — Phase 2 corporate design system */
:root {
  --v2-navy: #081525;
  --v2-navy-soft: #102238;
  --v2-ink: #132235;
  --v2-gold: #c8a96e;
  --v2-gold-deep: #a98950;
  --v2-ivory: #f6f4ef;
  --v2-line: rgba(19,34,53,.12);
  --v2-muted: #607083;
  --v2-max: 1240px;
  --v2-shadow: 0 24px 70px rgba(8,21,37,.12);
}

body.v2-site { background:#fff; color:var(--v2-ink); overflow-x:hidden; }
.v2-site a:focus-visible,.v2-site button:focus-visible { outline:2px solid var(--v2-gold); outline-offset:4px; }
.v2-shell { width:min(var(--v2-max),calc(100% - 64px)); margin-inline:auto; }
.v2-section { padding:96px 0; }
.v2-section.compact { padding:72px 0; }
.v2-kicker { display:flex; align-items:center; gap:12px; color:var(--v2-gold-deep); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px; }
.v2-kicker::before { content:""; width:28px; height:1px; background:currentColor; }
.v2-display { max-width:760px; color:var(--v2-ink); font-size:clamp(34px,4.3vw,58px); line-height:1.04; letter-spacing:-.025em; }
.v2-display em { color:var(--v2-gold-deep); font-weight:400; }
.v2-lead { max-width:660px; margin-top:22px; color:var(--v2-muted); font-size:17px; line-height:1.75; }
.v2-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--v2-ink); font-size:13px; font-weight:600; border-bottom:1px solid rgba(169,137,80,.45); padding-bottom:4px; }
.v2-text-link span { transition:transform .2s ease; }
.v2-text-link:hover span { transform:translateX(4px); }
.v2-anchor { display:block; position:relative; top:-82px; visibility:hidden; }

/* Premium global header */
.v2-header { position:fixed; inset:0 0 auto; z-index:1500; height:82px; transition:height .25s ease,background .25s ease,box-shadow .25s ease; }
.v2-header::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:rgba(255,255,255,.12); }
.v2-header.is-scrolled { height:70px; background:rgba(8,21,37,.96); backdrop-filter:blur(18px); box-shadow:0 12px 40px rgba(0,0,0,.14); }
.v2-header-inner { width:min(var(--v2-max),calc(100% - 64px)); height:100%; margin:auto; display:flex; align-items:center; gap:34px; }
.v2-brand { display:flex; align-items:center; flex:0 0 auto; }
.v2-brand img { width:154px; height:auto; }
.v2-nav { display:flex; align-items:stretch; justify-content:center; gap:4px; margin-left:auto; height:100%; }
.v2-nav-item { position:relative; display:flex; align-items:center; }
.v2-nav-link { display:flex; align-items:center; gap:6px; padding:0 14px; color:rgba(255,255,255,.72); font-size:12px; font-weight:500; letter-spacing:.025em; transition:color .2s ease; white-space:nowrap; }
.v2-nav-link:hover,.v2-nav-link.active { color:#fff; }
.v2-nav-link.active::after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:2px; background:var(--v2-gold); }
.v2-chevron { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s ease; }
.v2-nav-item:hover .v2-chevron,.v2-nav-item.open .v2-chevron { transform:rotate(180deg); }
.v2-mega { visibility:hidden; opacity:0; transform:translateY(8px); position:absolute; top:calc(100% - 1px); left:50%; width:610px; padding:10px; background:#fff; border:1px solid rgba(8,21,37,.08); box-shadow:0 24px 64px rgba(5,16,29,.2); transition:.2s ease; }
.v2-mega.narrow { width:390px; }
.v2-nav-item:hover .v2-mega,.v2-nav-item:focus-within .v2-mega,.v2-nav-item.open .v2-mega { visibility:visible; opacity:1; transform:translateY(0); }
.v2-mega-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.v2-mega-link { display:block; padding:15px 16px; border-radius:3px; transition:background .18s ease; }
.v2-mega-link:hover { background:var(--v2-ivory); }
.v2-mega-title { display:block; color:var(--v2-ink); font:600 13px/1.3 Inter,sans-serif; }
.v2-mega-desc { display:block; margin-top:5px; color:#718094; font:400 11px/1.45 Inter,sans-serif; }
.v2-header-cta { margin-left:8px; flex:0 0 auto; color:var(--v2-navy); background:var(--v2-gold); padding:11px 17px; border:1px solid var(--v2-gold); border-radius:2px; font-size:11px; font-weight:700; letter-spacing:.035em; transition:.2s ease; white-space:nowrap; }
.v2-header-cta:hover { background:#d8bc87; transform:translateY(-1px); }
.v2-menu-toggle { display:none; width:42px; height:42px; margin-left:auto; align-items:center; justify-content:center; flex-direction:column; gap:5px; border:1px solid rgba(255,255,255,.18); border-radius:2px; }
.v2-menu-toggle span { width:19px; height:1.5px; background:#fff; transition:.25s ease; }
.v2-mobile { display:none; position:fixed; inset:70px 0 0; z-index:1400; background:var(--v2-navy); overflow:auto; padding:20px 24px 36px; }
.v2-mobile.open { display:block; }
.v2-mobile details { border-bottom:1px solid rgba(255,255,255,.1); }
.v2-mobile summary,.v2-mobile-direct { display:flex; width:100%; justify-content:space-between; align-items:center; padding:18px 2px; color:#fff; font-size:14px; list-style:none; }
.v2-mobile summary::-webkit-details-marker { display:none; }
.v2-mobile-sub { display:grid; gap:2px; padding:0 0 16px 12px; }
.v2-mobile-sub a { color:rgba(255,255,255,.65); padding:9px 0; font-size:12px; }
.v2-mobile-cta { display:flex; justify-content:center; margin-top:24px; padding:14px; background:var(--v2-gold); color:var(--v2-navy); font-size:12px; font-weight:700; }

/* Homepage */
.v2-hero { min-height:760px; height:94vh; max-height:940px; position:relative; display:flex; align-items:flex-end; overflow:hidden; background:var(--v2-navy); }
.v2-hero-media,.v2-hero-media img,.v2-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.v2-hero-media img { object-fit:cover; object-position:center 48%; filter:saturate(.82) contrast(1.03); }
.v2-hero-shade { background:linear-gradient(90deg,rgba(6,16,29,.97) 0%,rgba(6,16,29,.88) 40%,rgba(6,16,29,.34) 72%,rgba(6,16,29,.2) 100%),linear-gradient(0deg,rgba(6,16,29,.55),transparent 45%); }
.v2-hero-content { position:relative; z-index:2; width:min(var(--v2-max),calc(100% - 64px)); margin:0 auto; padding:150px 0 92px; }
.v2-hero-copy { max-width:760px; }
.v2-hero .v2-kicker { color:var(--v2-gold); }
.v2-hero h1 { color:#fff; font-size:clamp(48px,6.1vw,84px); line-height:.98; letter-spacing:-.035em; max-width:820px; }
.v2-hero h1 em { color:var(--v2-gold); font-weight:400; }
.v2-hero-copy>p { max-width:650px; margin-top:26px; color:rgba(255,255,255,.67); font-size:17px; line-height:1.7; }
.v2-hero-actions { display:flex; gap:12px; margin-top:34px; flex-wrap:wrap; }
.v2-btn-gold,.v2-btn-ghost { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border-radius:2px; font-size:12px; font-weight:650; letter-spacing:.035em; transition:.2s ease; }
.v2-btn-gold { color:var(--v2-navy); background:var(--v2-gold); }
.v2-btn-gold:hover { background:#d8bc87; transform:translateY(-2px); }
.v2-btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.28); }
.v2-btn-ghost:hover { border-color:rgba(255,255,255,.7); background:rgba(255,255,255,.06); }
.v2-hero-proof { display:flex; gap:0; margin-top:66px; max-width:760px; border-top:1px solid rgba(255,255,255,.13); }
.v2-proof-item { min-width:190px; padding:20px 30px 0 0; margin-right:30px; border-right:1px solid rgba(255,255,255,.12); }
.v2-proof-item:last-child { border:0; }
.v2-proof-title { color:#fff; font:600 12px/1.4 Inter,sans-serif; }
.v2-proof-sub { display:block; color:rgba(255,255,255,.42); font-size:10px; margin-top:3px; }

.v2-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.v2-intro-copy p { color:var(--v2-muted); font-size:16px; line-height:1.85; }
.v2-intro-copy p+p { margin-top:18px; }
.v2-intro-copy .v2-text-link { margin-top:26px; }

.v2-capabilities { background:var(--v2-ivory); }
.v2-section-head { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:42px; }
.v2-section-head .v2-display { max-width:680px; }
.v2-cap-grid { display:grid; grid-template-columns:repeat(4,1fr); background:rgba(19,34,53,.12); gap:1px; border:1px solid rgba(19,34,53,.12); }
.v2-cap-card { min-height:330px; display:flex; flex-direction:column; padding:30px 28px; background:#fff; transition:background .25s ease,transform .25s ease; }
.v2-cap-card:hover { background:#fbfaf7; transform:translateY(-3px); }
.v2-cap-num { color:var(--v2-gold-deep); font-size:10px; letter-spacing:.14em; }
.v2-cap-card h3 { margin-top:54px; font-size:25px; color:var(--v2-ink); }
.v2-cap-card p { margin-top:14px; color:var(--v2-muted); font-size:13px; line-height:1.75; }
.v2-cap-card .v2-text-link { margin-top:auto; align-self:flex-start; }

.v2-corridor { background:var(--v2-navy); color:#fff; }
.v2-corridor-grid { display:grid; grid-template-columns:1fr 1fr; min-height:610px; }
.v2-corridor-media { position:relative; overflow:hidden; }
.v2-corridor-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.v2-corridor-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,21,37,.18),rgba(8,21,37,.7)); }
.v2-corridor-copy { padding:80px max(32px,calc((100vw - var(--v2-max))/2)) 80px 70px; display:flex; flex-direction:column; justify-content:center; }
.v2-corridor-copy .v2-display { color:#fff; font-size:clamp(36px,4.2vw,58px); }
.v2-corridor-copy .v2-lead { color:rgba(255,255,255,.62); font-size:15px; }
.v2-corridor-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; margin:30px 0 34px; }
.v2-corridor-list span { color:rgba(255,255,255,.78); font-size:12px; padding-left:16px; position:relative; }
.v2-corridor-list span::before { content:""; position:absolute; left:0; top:8px; width:5px; height:5px; background:var(--v2-gold); }

.v2-intelligence-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.v2-intelligence-panel { padding:42px; background:var(--v2-ivory); border:1px solid var(--v2-line); }
.v2-intel-row { display:grid; grid-template-columns:90px 1fr; gap:22px; padding:18px 0; border-bottom:1px solid var(--v2-line); }
.v2-intel-row:first-child { padding-top:0; }
.v2-intel-row:last-child { border:0; padding-bottom:0; }
.v2-intel-tag { color:var(--v2-gold-deep); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.v2-intel-row h3 { font:600 15px/1.4 Inter,sans-serif; color:var(--v2-ink); }
.v2-intel-row p { margin-top:5px; font-size:12px; color:var(--v2-muted); }

.v2-businesses { background:var(--v2-ivory); }
.v2-business-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.v2-business-card { min-height:220px; padding:25px 22px; background:#fff; border:1px solid var(--v2-line); display:flex; flex-direction:column; }
.v2-status { align-self:flex-start; color:var(--v2-gold-deep); background:rgba(200,169,110,.12); padding:5px 7px; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.v2-business-card h3 { margin-top:34px; font:600 16px/1.3 Inter,sans-serif; }
.v2-business-card p { margin-top:10px; color:var(--v2-muted); font-size:11.5px; line-height:1.65; }

.v2-evidence-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:62px; align-items:center; }
.v2-evidence-media { position:relative; min-height:520px; }
.v2-evidence-media img:first-child { width:84%; height:440px; object-fit:cover; }
.v2-evidence-media img:last-child { position:absolute; width:48%; height:230px; right:0; bottom:0; object-fit:cover; border:8px solid #fff; box-shadow:var(--v2-shadow); }
.v2-evidence-copy blockquote { margin:28px 0; padding-left:24px; border-left:2px solid var(--v2-gold); color:var(--v2-ink); font:400 23px/1.55 'Playfair Display',serif; }

.v2-final-cta { position:relative; overflow:hidden; background:var(--v2-navy); text-align:center; }
.v2-final-cta::before { content:""; position:absolute; width:480px; height:480px; border:1px solid rgba(200,169,110,.15); border-radius:50%; top:-300px; left:50%; transform:translateX(-50%); }
.v2-final-cta .v2-shell { position:relative; }
.v2-final-cta .v2-display { margin:auto; color:#fff; max-width:800px; }
.v2-final-cta .v2-lead { margin:20px auto 30px; color:rgba(255,255,255,.58); }

.v2-footer { background:#050e19; color:#fff; padding:64px 0 26px; }
.v2-footer-top { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:54px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.1); }
.v2-footer-brand img { width:150px; }
.v2-footer-brand p { max-width:320px; margin-top:20px; color:rgba(255,255,255,.47); font-size:12px; }
.v2-footer h4 { color:var(--v2-gold); font:600 10px/1 Inter,sans-serif; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
.v2-footer-links { display:grid; gap:10px; }
.v2-footer-links a { color:rgba(255,255,255,.57); font-size:11.5px; transition:color .2s ease; }
.v2-footer-links a:hover { color:#fff; }
.v2-footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:24px; color:rgba(255,255,255,.35); font-size:10px; }
.v2-footer-legal { display:flex; gap:18px; }

@media (max-width:1100px) {
  .v2-nav { display:none; }
  .v2-menu-toggle { display:flex; }
  .v2-header-cta { margin-left:0; }
  .v2-cap-grid { grid-template-columns:1fr 1fr; }
  .v2-business-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px) {
  .v2-shell,.v2-header-inner,.v2-hero-content { width:min(100% - 40px,var(--v2-max)); }
  .v2-section { padding:72px 0; }
  .v2-header,.v2-header.is-scrolled { height:68px; background:rgba(8,21,37,.96); }
  .v2-header-cta { display:none; }
  .v2-brand img { width:138px; }
  .v2-mobile { top:68px; }
  .v2-hero { min-height:700px; height:auto; align-items:flex-end; }
  .v2-hero-shade { background:linear-gradient(90deg,rgba(6,16,29,.94),rgba(6,16,29,.64)),linear-gradient(0deg,rgba(6,16,29,.82),transparent); }
  .v2-hero-content { padding:140px 0 58px; }
  .v2-hero h1 { font-size:clamp(43px,12vw,64px); }
  .v2-hero-proof { margin-top:46px; flex-wrap:wrap; }
  .v2-proof-item { min-width:46%; margin-bottom:14px; }
  .v2-intro,.v2-intelligence-grid,.v2-evidence-grid { grid-template-columns:1fr; gap:40px; }
  .v2-section-head { display:block; }
  .v2-section-head .v2-text-link { margin-top:20px; }
  .v2-corridor-grid { grid-template-columns:1fr; }
  .v2-corridor-media { min-height:360px; }
  .v2-corridor-copy { padding:60px 24px; }
  .v2-business-grid { grid-template-columns:1fr 1fr; }
  .v2-footer-top { grid-template-columns:1.4fr 1fr 1fr; }
  .v2-footer-brand { grid-column:1/-1; }
}
@media (max-width:560px) {
  .v2-shell,.v2-header-inner,.v2-hero-content { width:calc(100% - 32px); }
  .v2-section { padding:58px 0; }
  .v2-display { font-size:35px; }
  .v2-hero { min-height:720px; }
  .v2-hero h1 { font-size:43px; }
  .v2-hero-copy>p { font-size:14px; }
  .v2-hero-actions>* { width:100%; }
  .v2-proof-item { min-width:100%; border-right:0; padding-top:14px; }
  .v2-cap-grid,.v2-business-grid { grid-template-columns:1fr; }
  .v2-cap-card { min-height:250px; }
  .v2-cap-card h3 { margin-top:32px; }
  .v2-corridor-media { min-height:280px; }
  .v2-corridor-list { grid-template-columns:1fr; }
  .v2-intelligence-panel { padding:26px 22px; }
  .v2-intel-row { grid-template-columns:1fr; gap:6px; }
  .v2-evidence-media { min-height:390px; }
  .v2-evidence-media img:first-child { height:320px; }
  .v2-evidence-media img:last-child { height:170px; }
  .v2-footer-top { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .v2-footer-bottom { display:block; }
  .v2-footer-legal { margin-top:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .v2-site * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
