/* DDC Financial Group - Apple-inspired site-wide refinement
   22 Aug 2026. Loaded after the existing site CSS. */

:root{
  --ddc-apple-black:#020407;
  --ddc-apple-ink:#07101f;
  --ddc-apple-deep:#081322;
  --ddc-apple-soft:#f5f5f7;
  --ddc-apple-blue:#1674ea;
  --ddc-apple-sky:#a8d8ff;
  --ddc-apple-line:rgba(7,16,31,.11);
  --ddc-apple-muted:#667085;
}

body{
  background:#fff;
  color:#121826;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  letter-spacing:-.01em;
}

body h1,body h2,body h3{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}
body h1,body h2{font-weight:720;letter-spacing:-.058em}
body h3{font-weight:690;letter-spacing:-.035em}
body .shell{width:min(calc(100% - 56px),1240px)}
body .section{padding:118px 0}
body .section-soft{background:var(--ddc-apple-soft)}
body .section-ink{background:#070b12}
body .eyebrow{letter-spacing:.12em}

/* One header language everywhere. */
body .site-header{
  height:72px;
  background:rgba(3,8,16,.36);
  border-bottom:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  backdrop-filter:saturate(160%) blur(20px);
  box-shadow:none;
}
body .site-header.is-scrolled{
  height:64px;
  background:rgba(4,9,17,.84);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  backdrop-filter:saturate(180%) blur(22px);
  box-shadow:none;
}
body .header-inner{gap:24px}
body .site-nav{gap:20px;font-size:.78rem;font-weight:620;letter-spacing:-.01em}
body .site-nav a{opacity:.78}
body .site-nav a:hover,body .site-nav a[aria-current=page]{opacity:1;color:#fff}
body .header-cta{
  min-height:38px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.10);
  box-shadow:none;
  font-size:.72rem;
}
body .header-cta:hover{background:#fff;color:var(--ddc-apple-ink);border-color:#fff;box-shadow:none}
body .header-socials,
body.home-page .header-socials{
  display:flex!important;
  align-items:center;
  gap:7px;
  margin-left:-8px;
}
body .header-social-button{
  width:36px;
  height:36px;
  opacity:.86;
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.24);
  box-shadow:none;
}
body .header-social-button:hover{transform:none;background:#fff;color:var(--ddc-apple-ink)}

/* Shared dark hero canvas - the DDC visual signature. */
body:not(.home-page) .page-hero,
body:not(.home-page) .legal-hero,
body:not(.home-page) .team-hero,
body:not(.home-page) .saudi-event-hero,
body:not(.home-page) .past-event-hero,
body:not(.home-page) .article-header,
body:not(.home-page) .error-page{
  position:relative;
  overflow:hidden;
  color:#f5f5f7;
  background:
    radial-gradient(ellipse at 52% 2%,rgba(40,104,255,.22),transparent 42%),
    radial-gradient(ellipse at 85% 28%,rgba(168,216,255,.08),transparent 28%),
    linear-gradient(180deg,#03070d 0%,#07101f 72%,#081322 100%)!important;
}
body:not(.home-page) .page-hero:after{display:none!important}
body:not(.home-page) .legal-hero,
body:not(.home-page) .team-hero{padding:150px 0 82px}
body:not(.home-page) .page-hero{padding:150px 0 86px}
body:not(.home-page) .saudi-event-hero{padding:148px 0 84px}
body:not(.home-page) .article-header{padding:150px 0 78px}
body:not(.home-page) .legal-hero h1,
body:not(.home-page) .team-hero h1,
body:not(.home-page) .page-hero h1,
body:not(.home-page) .saudi-event-hero h1,
body:not(.home-page) .article-header h1{
  color:#f5f5f7;
  font-weight:720;
  letter-spacing:-.065em;
  line-height:.95;
}
body:not(.home-page) .legal-hero p,
body:not(.home-page) .legal-hero span,
body:not(.home-page) .team-hero p,
body:not(.home-page) .page-hero p,
body:not(.home-page) .page-hero-lead,
body:not(.home-page) .saudi-event-tagline,
body:not(.home-page) .article-intro,
body:not(.home-page) .article-byline{
  color:rgba(229,236,246,.72);
}
body:not(.home-page) .saudi-event-tagline{font-family:inherit;font-weight:550;letter-spacing:-.035em}
body:not(.home-page) .saudi-event-facts{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  border-radius:24px;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
body:not(.home-page) .saudi-event-facts small{color:var(--ddc-apple-sky)}

/* Calm sticky event navigation. */
body:not(.home-page) .saudi-event-subnav{
  background:rgba(245,245,247,.9);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid rgba(7,16,31,.08);
  box-shadow:none;
}
body:not(.home-page) .saudi-event-subnav a{font-size:.78rem;font-weight:650;letter-spacing:-.01em}

/* Apple-like surfaces and cards throughout the internal pages. */
body:not(.home-page) .saudi-speaker-card,
body:not(.home-page) .saudi-sponsor-card,
body:not(.home-page) .athens-participant-card,
body:not(.home-page) .past-event-card,
body:not(.home-page) .team-card,
body:not(.home-page) .insight-list-card,
body:not(.home-page) .article-event-box,
body:not(.home-page) .ddc-hotel-venue-card,
body:not(.home-page) .ddc-hotel-visual-card,
body:not(.home-page) .values-list article{
  border:0!important;
  border-radius:26px!important;
  box-shadow:none!important;
  overflow:hidden;
}
body:not(.home-page) .saudi-speaker-card,
body:not(.home-page) .saudi-sponsor-card,
body:not(.home-page) .athens-participant-card,
body:not(.home-page) .past-event-card,
body:not(.home-page) .team-card,
body:not(.home-page) .insight-list-card,
body:not(.home-page) .article-event-box,
body:not(.home-page) .ddc-hotel-venue-card,
body:not(.home-page) .ddc-hotel-visual-card{background:var(--ddc-apple-soft)}
body:not(.home-page) .saudi-speaker-card:hover,
body:not(.home-page) .saudi-sponsor-card:hover,
body:not(.home-page) .past-event-card:hover,
body:not(.home-page) .team-card:hover,
body:not(.home-page) .insight-list-card:hover{transform:none!important;box-shadow:none!important}

body:not(.home-page) .saudi-agenda-item{
  border-radius:22px;
  border-color:rgba(7,16,31,.08);
  box-shadow:none;
}
body:not(.home-page) .saudi-agenda-day{font-family:inherit;font-weight:700;letter-spacing:-.045em}
body:not(.home-page) .saudi-speaker-body h3,
body:not(.home-page) .saudi-sponsor-card h3,
body:not(.home-page) .past-event-card h3,
body:not(.home-page) .team-card h2,
body:not(.home-page) .insight-list-card h2,
body:not(.home-page) .insight-list-card h3{font-family:inherit;font-weight:700;letter-spacing:-.04em}

/* Programme images should feel like product photography, not boxed widgets. */
body:not(.home-page) .saudi-speaker-photo-wrap,
body:not(.home-page) .event-page-photo-riyadh,
body:not(.home-page) .event-page-photo-athens{background:#e9ebef}
body:not(.home-page) .saudi-speaker-photo{filter:none}

/* Articles, legal and contact pages use the same quiet canvas. */
body:not(.home-page) .article-layout,
body:not(.home-page) .legal-layout{background:#fff}
body:not(.home-page) .article-key-stats div,
body:not(.home-page) .article-answer,
body:not(.home-page) .article-quote,
body:not(.home-page) .legal-layout aside{
  border:0;
  border-radius:22px;
  background:var(--ddc-apple-soft);
}
body:not(.home-page) .article-quote{border-left:0}
body:not(.home-page) .legal-layout aside{color:#394457}
body:not(.home-page) .contact-details>a{padding:17px 0}

/* Buttons and footer. */
body .button{box-shadow:none}
body .button:hover{box-shadow:none}
body:not(.home-page) .button-dark{background:var(--ddc-apple-ink);border-color:var(--ddc-apple-ink)}
body .site-footer{background:var(--ddc-apple-black)}
body .site-footer .footer-bottom{border-top-color:rgba(255,255,255,.12)}

/* Homepage header socials are intentionally visible again. */
body.home-page .header-socials{display:flex!important}
body.home-page .header-social-button{opacity:.86}

/* Fix the long Athens region label on the mobile event card. */
body.home-page #events .event-region{
  display:inline-block!important;
  max-width:calc(100% - 16px)!important;
  white-space:normal!important;
  line-height:1.3!important;
}

@media(max-width:1050px){
  body .header-inner{gap:16px}
  body .site-nav{gap:13px;font-size:.73rem}
  body .header-socials,body.home-page .header-socials{margin-left:auto}
}

@media(max-width:760px){
  body{font-size:16px}
  body .shell{width:min(calc(100% - 32px),1240px)}
  body .section{padding:86px 0}
  body .site-header{height:66px;background:rgba(3,8,16,.64)}
  body .site-header.is-scrolled{height:62px}
  body .site-header .brand-logo{width:var(--brand-logo-mobile-width,64px)}
  body .site-nav{inset:66px 0 auto;background:rgba(3,8,16,.98);padding:25px 22px 34px;gap:17px}
  body .header-socials,body.home-page .header-socials{
    display:flex!important;
    gap:5px;
    margin-left:auto;
    order:1;
  }
  body .menu-toggle{order:2;margin-left:0}
  body .header-social-button{width:32px;height:32px}
  body .header-social-button svg{width:15px;height:15px}
  body .nav-socials-mobile{display:none!important}
  body:not(.home-page) .legal-hero,
  body:not(.home-page) .team-hero,
  body:not(.home-page) .page-hero,
  body:not(.home-page) .saudi-event-hero,
  body:not(.home-page) .article-header{padding-top:124px;padding-bottom:62px}
  body:not(.home-page) .page-hero h1,
  body:not(.home-page) .legal-hero h1,
  body:not(.home-page) .team-hero h1,
  body:not(.home-page) .saudi-event-hero h1,
  body:not(.home-page) .article-header h1{
    font-size:clamp(2.85rem,13.6vw,4.25rem)!important;
    line-height:.96!important;
  }
  body.home-page #events .event-region{
    display:inline-block!important;
    max-width:calc(100% - 20px)!important;
    padding:7px 9px!important;
    font-size:.49rem!important;
    line-height:1.35!important;
    letter-spacing:.065em!important;
    white-space:normal!important;
  }
  body.home-page #events #athens .event-region{max-width:79%!important}
}

@media(max-width:420px){
  body .header-social-button{width:30px;height:30px}
  body .header-inner{gap:8px}
  body.home-page #events #athens .event-region{max-width:84%!important;font-size:.47rem!important}
}

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

/* 2026-08-22 final header logo refinement */
body .site-header .brand-logo{
  width:var(--brand-logo-width,64px);
  max-height:60px;
}
@media (max-width:760px){
  body .site-header .brand-logo{
    width:var(--brand-logo-mobile-width,48px);
    max-height:48px;
  }
}
