/* ── SHARED OSIVERIS DESIGN SYSTEM ── */
@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@400;600;700;800;900&family=Raleway:ital,wght@0,200;0,300;0,400;0,500;0,600;1,200;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap');

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

:root {
  --navy:   #1e3a8a;
  --navy2:  #2e4cb8;
  --navy3:  #102055;
  --orange: #d57329;
  --org2:   #e8894a;
  --beige:  #e1e0d8;
  --beige2: #eeecea;
  --beige3: #cac9bf;
  --white:  #ffffff;
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--navy); background: var(--beige2); overflow-x: hidden; }

/* ── ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(38px); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.in { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} .d4{transition-delay:.4s}

/* ── NAV ── */
#nav {
  position: fixed; inset: 0 0 auto 0; z-index:200; height:72px; padding:0 56px;
  display:flex; align-items:center; justify-content:space-between;
  transition: background .4s, box-shadow .4s;
}
#nav.scrolled { background:rgba(20,29,67,.97); box-shadow:0 1px 0 rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-word { font-family:'Big Shoulders Display',sans-serif; font-weight:700; font-size:22px; color:#fff; letter-spacing:.5px; }
.nav-menu { display:flex; align-items:center; gap:32px; list-style:none; }
.nav-menu a { color:rgba(255,255,255,.65); text-decoration:none; font-size:12px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; transition:color .2s; }
.nav-menu a:hover, .nav-menu a.active { color:var(--orange); }
.flag { font-size:16px; display:flex; align-items:center; gap:4px; cursor:pointer; }
.flag span { font-size:11px; font-weight:600; letter-spacing:1px; color:rgba(255,255,255,.6); }

/* ── FOOTER ── */
#footer { background: var(--navy3); padding: 72px 56px 40px; }
.foot-wrap { max-width:1200px; margin:0 auto; }
.foot-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; padding-bottom:52px; border-bottom:1px solid rgba(255,255,255,.06); margin-bottom:32px; }
.foot-brand p { font-size:13px; line-height:1.75; color:rgba(255,255,255,.3); margin-top:18px; max-width:250px; font-weight:300; }
.foot-col h4 { font-family:'Big Shoulders Display',sans-serif; font-size:14px; font-weight:700; text-transform:uppercase; color:#fff; letter-spacing:1px; margin-bottom:18px; }
.foot-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.foot-col ul a { color:rgba(255,255,255,.3); text-decoration:none; font-size:13px; font-weight:300; transition:color .2s; }
.foot-col ul a:hover { color:var(--orange); }
.foot-bottom { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:rgba(255,255,255,.18); font-weight:300; gap:20px; flex-wrap:wrap; }
.foot-socials { display:flex; gap:12px; }
.foot-social { width:34px; height:34px; border:1px solid rgba(255,255,255,.15); border-radius: 8px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); text-decoration:none; font-size:13px; font-weight:700; transition:border-color .2s, color .2s; }
.foot-social:hover { border-color:var(--orange); color:var(--orange); }
.foot-bottom a { color:var(--orange); text-decoration:none; opacity:.75; transition:opacity .2s; }
.foot-bottom a:hover { opacity:1; }
.foot-contact-btn { background:var(--orange); color:#fff; padding:10px 26px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; text-decoration:none; border-radius: 9999px; transition:background .2s; }
.foot-contact-btn:hover { background:var(--org2); }

/* ── BUTTONS ── */
.btn-orange { background:var(--orange); color:#fff; padding:14px 34px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; text-decoration:none; border-radius: 9999px; display:inline-block; border:none; cursor:pointer; transition:background .2s, transform .2s; }
.btn-orange:hover { background:var(--org2); transform:translateY(-2px); }
.btn-outline-white { color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.25); padding:13px 32px; font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius: 9999px; display:inline-block; transition:border-color .2s, color .2s; }
.btn-outline-white:hover { border-color:var(--orange); color:var(--orange); }

/* ── SECTION TAGS ── */
.tag { font-size:11px; font-weight:600; letter-spacing:4px; text-transform:uppercase; display:block; margin-bottom:20px; }
.tag-orange { color:var(--orange); }
.tag-beige { color:var(--beige3); }

/* ── HEADINGS ── */
.h-display { font-family:'Big Shoulders Display',sans-serif; font-weight:900; text-transform:uppercase; line-height:1.1; letter-spacing:-.01em; }
.h-elegant { font-family:'Raleway',sans-serif; font-style:italic; line-height:1.45; }

/* ── INNER WRAP ── */
.inner { max-width:1200px; margin:0 auto; }

/* ── ORANGE CTA BAND ── */
.cta-band { background:var(--orange); padding:100px 56px; text-align:center; }
.cta-band .tag { color:rgba(255,255,255,.7); }
.cta-band h2 { font-family:'Raleway',sans-serif; font-size:clamp(26px,3.5vw,46px); font-style:italic; color:#fff; line-height:1.35; max-width:680px; margin:0 auto 36px; font-weight:400; }
.cta-band .btn-navy { background:var(--navy); color:#fff; padding:16px 38px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; text-decoration:none; border-radius: 9999px; display:inline-block; transition:background .2s; }
.cta-band .btn-navy:hover { background:var(--navy2); }

/* ── PAGE HERO ── */
.page-hero { background:var(--navy); padding:160px 56px 100px; text-align:center; }
.page-hero h1 { font-family:'Big Shoulders Display',sans-serif; font-weight:900; font-size:clamp(64px,8vw,120px); text-transform:uppercase; color:#fff; line-height:1.1; letter-spacing:-.02em; }
.page-hero p { font-family:'Raleway',sans-serif; font-style:italic; font-size:20px; color:rgba(255,255,255,.5); margin-top:20px; max-width:520px; margin-left:auto; margin-right:auto; }
.page-hero .btn-orange { margin-top:36px; }
