@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@300;400;500&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --a: #1a4f8a; --aL: #e6f1fb; --aM: #378add; --aD: #0c447c;
  --h1: #0c2d54; --h2: #1a4f8a; --oL: #0c447c; --oD: #7fc0f5;
  --tr: all 0.45s cubic-bezier(0.4,0,0.2,1);
  --color-bg: #ffffff; --color-bg-secondary: #f5f5f3;
  --color-text: #1a1a1a; --color-text-secondary: #6b6b6b;
  --color-border: rgba(0,0,0,0.12); --color-border-secondary: rgba(0,0,0,0.2);
  --radius-md: 8px; --radius-lg: 12px;
  --px: clamp(1.5rem, 5vw, 5rem);
  --mw: 1200px;
}

body { font-family:'DM Sans',sans-serif; color:var(--color-text); background:var(--color-bg); min-height:100vh; }
.site,.page { font-family:'DM Sans',sans-serif; color:var(--color-text); width:100%; background:var(--color-bg); min-height:100vh; }

/* inner content wrapper used inside full-bleed sections */
.inner { max-width:var(--mw); margin:0 auto; padding-left:var(--px); padding-right:var(--px); }
.section-wrap { padding:3rem var(--px); max-width:var(--mw); margin:0 auto; }

/* EA STRIP */
.ea-strip { background:var(--a); padding:9px var(--px); display:flex; align-items:center; gap:8px; transition:background var(--tr); }
.ea-strip span { font-size:12px; font-weight:300; color:rgba(255,255,255,0.9); }
.ea-strip strong { font-weight:500; color:white; }
.ea-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.55); flex-shrink:0; }

/* NAV */
nav { display:flex; align-items:center; justify-content:space-between; padding:0 var(--px); height:64px; background:var(--h1); border-bottom:1px solid rgba(255,255,255,0.08); transition:background var(--tr); position:sticky; top:0; z-index:100; }
.logo { font-family:'Playfair Display',serif; font-size:18px; font-weight:500; color:white; letter-spacing:-0.3px; text-decoration:none; }
.logo span { font-size:10px; font-family:'DM Sans',sans-serif; font-weight:300; color:rgba(255,255,255,0.5); display:block; letter-spacing:2.5px; text-transform:uppercase; margin-top:1px; }
.nav-links { display:flex; gap:2rem; }
.nav-links a { font-size:13px; font-weight:400; color:rgba(255,255,255,0.7); text-decoration:none; cursor:pointer; transition:color 0.2s; }
.nav-links a:hover,.nav-links a.active { color:white; }
.nav-links a.active { border-bottom:2px solid var(--aM); padding-bottom:2px; }
.nav-cta { font-size:13px; font-weight:500; background:var(--aM); color:white; border:none; padding:8px 18px; border-radius:6px; cursor:pointer; transition:background var(--tr); text-decoration:none; display:inline-block; }

/* PAGE HERO */
.page-hero { background:var(--h1); padding:3.5rem 0 0; position:relative; overflow:hidden; transition:background var(--tr); }
.ph-grid { position:absolute; inset:0; opacity:0.04; background-image:linear-gradient(rgba(255,255,255,0.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.5) 1px,transparent 1px); background-size:40px 40px; }
.ph-circle { position:absolute; right:5%; top:-80px; width:420px; height:420px; border-radius:50%; background:var(--h2); opacity:0.3; transition:background var(--tr); }
.ph-circle2 { position:absolute; left:-40px; bottom:-60px; width:220px; height:220px; border-radius:50%; background:var(--aM); opacity:0.1; }
.ph-inner { position:relative; z-index:2; padding-bottom:3rem; max-width:var(--mw); margin:0 auto; padding-left:var(--px); padding-right:var(--px); }
.breadcrumb { font-size:11px; color:rgba(255,255,255,0.45); margin-bottom:1.25rem; }
.breadcrumb a { color:rgba(255,255,255,0.65); text-decoration:none; }
.breadcrumb span { color:rgba(255,255,255,0.7); }
.ph-eyebrow { font-size:11px; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--oD); margin-bottom:1rem; transition:color var(--tr); }

/* Fix: white h1 regardless of nesting depth inside ph-inner */
.ph-inner h1,
.ph-inner div h1 {
  font-family:'Playfair Display',serif; font-size:clamp(26px,3.2vw,42px); font-weight:400;
  color:white !important; line-height:1.15; margin-bottom:1.25rem; max-width:620px;
}
.ph-inner h1 em,
.ph-inner div h1 em { font-style:italic; color:var(--oD); transition:color var(--tr); }
.ph-inner p { font-size:15px; font-weight:300; color:rgba(255,255,255,0.72); max-width:560px; line-height:1.75; margin-bottom:1.5rem; }
.ph-wave { display:block; width:100%; height:48px; }

/* SECTION LABELS */
.sec-ey { font-size:10px; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--color-text-secondary); margin-bottom:0.5rem; }
.sec-title { font-family:'Playfair Display',serif; font-size:clamp(22px,2.4vw,30px); font-weight:400; margin-bottom:1rem; line-height:1.2; }
.sec-title em { font-style:italic; color:var(--oL); }
.sec-sub { font-size:14px; font-weight:300; color:var(--color-text-secondary); margin-bottom:2rem; line-height:1.6; max-width:640px; }

/* HIGHLIGHT BLOCK */
.highlight-block { background:var(--aL); border-left:3px solid var(--a); border-radius:0 var(--radius-md) var(--radius-md) 0; padding:1rem 1.25rem; margin:1.25rem 0; transition:background var(--tr),border-color var(--tr); }
.highlight-block p { font-size:13px; font-weight:400; color:var(--oL); line-height:1.65; margin:0; transition:color var(--tr); }

/* BUTTONS */
.btn-primary { font-size:14px; font-weight:500; background:var(--a); color:white; border:none; padding:12px 26px; border-radius:6px; cursor:pointer; transition:background var(--tr); text-decoration:none; display:inline-block; }
.btn-primary:hover { background:var(--aD); }
.btn-outline { font-size:14px; font-weight:400; background:transparent; color:var(--oL); border:1px solid var(--a); padding:12px 26px; border-radius:6px; cursor:pointer; margin-left:10px; transition:var(--tr); text-decoration:none; display:inline-block; }
.btn-outline:hover { background:var(--aL); }

/* CTA BAND */
.cta-band { padding:3.5rem 0; position:relative; overflow:hidden; }
.cta-bg { position:absolute; inset:0; background:var(--color-bg-secondary); }
.cta-acc { position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--a); transition:background var(--tr); }
.cta-in { position:relative; z-index:1; max-width:var(--mw); margin:0 auto; padding:0 var(--px); }
.cta-band h2 { font-family:'Playfair Display',serif; font-size:clamp(22px,2.4vw,30px); font-weight:400; margin-bottom:0.5rem; }
.cta-band p { font-size:14px; font-weight:300; color:var(--color-text-secondary); margin-bottom:1.5rem; max-width:520px; }

/* FOOTER */
footer { padding:1.75rem var(--px); background:var(--h1); display:flex; align-items:center; justify-content:space-between; gap:12px; transition:background var(--tr); }
.logo-sm { font-family:'Playfair Display',serif; font-size:16px; color:white; }
.foot-sub { font-size:11px; color:rgba(255,255,255,0.4); margin-top:3px; }
.foot-links { display:flex; gap:1.5rem; }
.foot-links a { font-size:12px; color:rgba(255,255,255,0.5); text-decoration:none; cursor:pointer; }
.foot-links a:hover { color:white; }

/* INDUSTRY TABS */
.ind-panel { display: none; }

.ind-tab { font-size:13px; font-weight:400; padding:8px 18px; border-radius:20px; border:1px solid var(--color-border-secondary); background:var(--color-bg); color:var(--color-text-secondary); cursor:pointer; transition:var(--tr); }
.ind-tab.active { background:var(--a); border-color:var(--a); color:white; font-weight:500; }
.ind-tab:hover:not(.active) { border-color:var(--aM); color:var(--oL); }

/* INDUSTRY CARDS */
.ind-card { background:var(--color-bg); border:0.5px solid var(--color-border); border-radius:var(--radius-lg); padding:1.5rem; border-top:3px solid var(--a); transition:border-color var(--tr); }
.ind-icon { width:36px; height:36px; border-radius:8px; background:var(--aL); display:flex; align-items:center; justify-content:center; margin-bottom:14px; transition:background var(--tr); }
.ind-icon svg { width:18px; height:18px; stroke:var(--oL); fill:none; stroke-width:2; transition:stroke var(--tr); }
.ind-card h4 { font-size:15px; font-weight:500; color:var(--color-text); margin-bottom:8px; }
.ind-card p { font-size:13px; font-weight:300; color:var(--color-text-secondary); line-height:1.65; }

/* FEAT CHECK */
.feat-check { width:14px; height:14px; border-radius:50%; background:var(--aL); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; transition:background var(--tr); }
.feat-check svg { width:8px; height:8px; stroke:var(--oL); fill:none; stroke-width:2.5; transition:stroke var(--tr); }

/* HIDDEN */
.hidden { display:none !important; }

/* RESPONSIVE */
@media (max-width:900px) { .ph-circle { width:260px; height:260px; } }
@media (max-width:680px) {
  :root { --px:1.25rem; }
  nav { padding:0 var(--px); }
  .nav-links { display:none; }
  .sec-title { font-size:20px; }
  footer { flex-direction:column; align-items:flex-start; gap:1rem; }
}
