@import url('https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700;800&display=swap');

:root{
  --color-ink:#191A24;
  --color-ink-soft:#4E5063;
  --color-ink-faint:#7B7D8E;
  --color-bg:#F7F4EE;
  --color-bg-alt:#EFEAE0;
  --color-surface:#FFFFFF;
  --color-surface-tint:#F2EFE7;
  --color-primary:#242A5C;
  --color-primary-dark:#161A3D;
  --color-primary-soft:#E7E7F4;
  --color-secondary:#0E8C82;
  --color-secondary-soft:#DDF2EF;
  --color-accent:#E1793F;
  --color-accent-soft:#FBE6D6;
  --color-line:#E4DFD3;
  --color-line-strong:#D3CBBA;

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:34px;
  --radius-pill:999px;

  --space-3xs:.25rem;
  --space-2xs:.5rem;
  --space-xs:.75rem;
  --space-sm:1.125rem;
  --space-md:1.75rem;
  --space-lg:2.75rem;
  --space-xl:4.5rem;
  --space-2xl:7rem;

  --shadow-sm: 0 1px 2px rgba(25,26,36,.06), 0 1px 1px rgba(25,26,36,.05);
  --shadow-md: 0 4px 10px rgba(25,26,36,.06), 0 10px 24px rgba(25,26,36,.08);
  --shadow-lg: 0 12px 24px rgba(25,26,36,.10), 0 24px 48px rgba(25,26,36,.12);
  --shadow-xl: 0 20px 40px rgba(25,26,36,.14), 0 36px 72px rgba(25,26,36,.16);

  --transition-fast: .2s cubic-bezier(.4,0,.2,1);
  --transition-base: .35s cubic-bezier(.4,0,.2,1);
  --transition-slow: .6s cubic-bezier(.16,1,.3,1);
}

@property --border-angle{
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family:'Onest', sans-serif;
  color: var(--color-ink);
  background: var(--color-bg);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
h1,h2,h3,h4{ font-family:'Onest', sans-serif; color: var(--color-primary); line-height:1.2; margin:0 0 .5em; font-weight:700; }
p{ margin:0 0 1em; color: var(--color-ink-soft); }
small{ color: var(--color-ink-faint); font-size:.85rem; }
mark{
  background: linear-gradient(100deg, rgba(225,121,63,.28), rgba(225,121,63,.5));
  color: var(--color-primary-dark);
  padding: .05em .35em;
  border-radius: 6px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.no-scroll-state{ overflow:hidden; }
[hidden]{ display:none !important; }

h1{ font-size: clamp(2.4rem, 4vw + 1rem, 4.2rem); font-weight:800; letter-spacing:-.01em; }
h2{ font-size: clamp(1.9rem, 2.4vw + 1rem, 2.8rem); letter-spacing:-.01em; }
h3{ font-size: clamp(1.15rem, .6vw + 1rem, 1.4rem); }

main article{ padding: var(--space-xl) 6vw; }

.section-heading-group{ max-width:760px; margin: 0 auto var(--space-lg); text-align:center; }
.section-heading-group--split{ display:grid; grid-template-columns:1fr 1fr; gap: var(--space-lg); text-align:left; max-width:1200px; align-items:center; }
.section-eyebrow-label{
  text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:600;
  color: var(--color-secondary); margin-bottom: var(--space-xs);
}
.section-heading-description{ color: var(--color-ink-soft); margin-top: var(--space-sm); }

.button-primary-filled, .button-secondary-outline{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding: .95em 1.8em; border-radius: var(--radius-pill);
  font-weight:600; font-size:.98rem;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-base), color var(--transition-base), border-color var(--transition-base);
  min-height:48px;
}
.button-primary-filled{
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color:#fff;
  box-shadow: var(--shadow-md);
  position:relative; overflow:hidden;
}
.button-primary-filled::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.25) 45%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .6s ease;
}
.button-primary-filled:hover{ transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.button-primary-filled:hover::after{ transform: translateX(120%); }
.button-primary-filled:active{ transform: translateY(-1px); }

.button-secondary-outline{
  background: transparent; color: var(--color-primary);
  border: 1.5px solid var(--color-line-strong);
}
.button-secondary-outline:hover{
  border-color: var(--color-secondary); color: var(--color-secondary);
  background: var(--color-secondary-soft); transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}


.main-site-header{
  position: sticky; top:0; z-index:500;
  background: transparent;
  transition: background var(--transition-base), box-shadow var(--transition-base), backdrop-filter var(--transition-base);
}
.main-site-header.header-scrolled-state{
  background: rgba(247,244,238,.9);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow-sm);
}
.main-navigation-container{
  display:flex; align-items:center; justify-content:space-between;
  padding: var(--space-sm) 6vw;
  max-width:1440px; margin:0 auto;
}
.main-navigation-logo-image{ height:28px; width:auto; transition: transform var(--transition-fast); }
.main-navigation-brand-link:hover .main-navigation-logo-image{ transform: scale(1.03); }
.main-navigation-links-list{ display:flex; gap: var(--space-md); align-items:center; }
.main-navigation-links-list li a{
  position:relative; font-weight:500; padding:.4em .1em;
  color: var(--color-ink); transition: color var(--transition-fast), opacity var(--transition-fast);
}
.main-navigation-links-list li a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background: var(--color-accent); transform: scaleX(0); transform-origin:right;
  transition: transform var(--transition-base);
}
.main-navigation-links-list li a:hover::after,
.main-navigation-links-list li a[aria-current="page"]::after{ transform: scaleX(1); transform-origin:left; }
.main-navigation-links-list:has(li a:hover) li a:not(:hover){ opacity:.55; }

.main-navigation-cta-button{
  padding:.7em 1.4em; border-radius: var(--radius-pill);
  background: var(--color-primary); color:#fff; font-weight:600; font-size:.92rem;
  transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
.main-navigation-cta-button:hover{ background: var(--color-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-md); }

.mobile-menu-toggle-button{
  display:none; flex-direction:column; gap:5px; width:44px; height:44px;
  align-items:center; justify-content:center; z-index:1100; position:relative;
}
.mobile-menu-toggle-icon-bar{
  width:24px; height:2px; background: var(--color-ink); border-radius:2px;
  transition: transform var(--transition-base), opacity var(--transition-base);
}
.mobile-menu-toggle-button[aria-expanded="true"] .mobile-menu-toggle-icon-bar:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.mobile-menu-toggle-button[aria-expanded="true"] .mobile-menu-toggle-icon-bar:nth-child(2){ opacity:0; }
.mobile-menu-toggle-button[aria-expanded="true"] .mobile-menu-toggle-icon-bar:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.mobile-menu-overlay-panel{
  position: fixed; inset:0; z-index:1000;
  background: linear-gradient(150deg, var(--color-primary-dark), var(--color-primary));
  clip-path: polygon(100% 0%, 100% 0%, 100% 0%, 100% 0%);
  transition: clip-path .7s cubic-bezier(.65,0,.35,1);
  display:flex; align-items:center; justify-content:center;
}
.mobile-menu-overlay-panel.is-open{
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.mobile-menu-links-list{ display:flex; flex-direction:column; gap: var(--space-md); text-align:center; }
.mobile-menu-links-list li a{
  font-size: clamp(1.6rem, 5vw, 2.4rem); font-weight:700; color:#fff;
  opacity:0; transform: translateY(16px);
  transition: opacity .5s ease, transform .5s ease, color var(--transition-fast);
}
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li a{ opacity:1; transform:none; }
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li:nth-child(1) a{ transition-delay:.35s; }
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li:nth-child(2) a{ transition-delay:.42s; }
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li:nth-child(3) a{ transition-delay:.49s; }
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li:nth-child(4) a{ transition-delay:.56s; }
.mobile-menu-overlay-panel.is-open .mobile-menu-links-list li:nth-child(5) a{ transition-delay:.63s; }
.mobile-menu-links-list li a:hover{ color: var(--color-accent-soft); }


.breadcrumb-navigation-trail{ padding: var(--space-sm) 6vw 0; max-width:1440px; margin:0 auto; }
.breadcrumb-navigation-trail ol{ display:flex; gap:.5em; flex-wrap:wrap; font-size:.88rem; color: var(--color-ink-faint); }
.breadcrumb-navigation-trail li:not(:last-child)::after{ content:"›"; margin-left:.5em; color: var(--color-line-strong); }
.breadcrumb-navigation-trail a{ transition: color var(--transition-fast); }
.breadcrumb-navigation-trail a:hover{ color: var(--color-secondary); }
.breadcrumb-navigation-trail li[aria-current="page"]{ color: var(--color-primary); font-weight:600; }


.homepage-hero-section{
  display:grid; grid-template-columns:1.1fr .9fr; gap: var(--space-xl);
  align-items:center; padding-top: var(--space-lg); padding-bottom: var(--space-2xl);
  background: radial-gradient(ellipse at top right, var(--color-primary-soft), transparent 60%), var(--color-bg);
}
.homepage-hero-eyebrow-label{
  text-transform:uppercase; letter-spacing:.14em; font-size:.8rem; font-weight:600;
  color: var(--color-secondary); margin-bottom: var(--space-sm);
}
.homepage-hero-headline{ margin-bottom: var(--space-sm); }
.homepage-hero-headline .char{
  display:inline-block; opacity:0; transform: translateY(.6em) rotate(4deg);
  animation: char-wave-reveal .8s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: calc(var(--char-index) * 28ms);
}
@keyframes char-wave-reveal{ to{ opacity:1; transform:none; } }
.homepage-hero-subheadline{ font-size:1.08rem; max-width:560px; }
.homepage-hero-cta-group{ display:flex; gap: var(--space-sm); flex-wrap:wrap; margin-top: var(--space-md); }

.homepage-hero-visual-widgets{ position:relative; }
.hero-visual-primary-image-figure{
  margin:0; border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-xl);
}
.hero-visual-primary-image-figure img{ aspect-ratio:4/5; object-fit:cover; }
.hero-floating-widget-card{
  position:absolute; background: var(--color-surface); border-radius: var(--radius-md);
  padding: var(--space-sm); box-shadow: var(--shadow-lg); width:210px;
  animation: gentle-float 5s ease-in-out infinite;
}
.hero-floating-widget-card i{ color: var(--color-accent); font-size:1.3rem; margin-bottom:.4em; display:block; }
.hero-floating-widget-card p{ font-size:.85rem; font-weight:600; color: var(--color-ink); margin-bottom:.3em; }
.hero-floating-widget-card span{ font-size:.82rem; color: var(--color-ink-soft); }
.hero-floating-widget-card meter{ width:100%; }
.hero-floating-widget-card--top{ top:-8%; left:-12%; animation-delay:0s; }
.hero-floating-widget-card--bottom{ bottom:-6%; right:-10%; animation-delay:1.4s; }
@keyframes gentle-float{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-10px);} }

meter{ width:100%; height:10px; border-radius: var(--radius-pill); }
meter::-webkit-meter-bar{ background: var(--color-line); border-radius: var(--radius-pill); border:none; }
meter::-webkit-meter-optimum-value{ background: linear-gradient(90deg, var(--color-secondary), var(--color-accent)); border-radius: var(--radius-pill); }


.homepage-modules-overview-section{ background: var(--color-bg); }
.modules-cards-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); max-width:1300px; margin:0 auto; }
.module-card-figure{
  margin:0; background: var(--color-surface); border-radius: var(--radius-lg); overflow:hidden;
  box-shadow: var(--shadow-md); transition: transform var(--transition-base), box-shadow var(--transition-base);
  display:flex; flex-direction:column;
}
.module-card-figure:has(img){ position:relative; }
.module-card-figure img{ height:190px; width:100%; object-fit:cover; transition: transform var(--transition-slow); }
.module-card-figure:hover img{ transform: scale(1.07); }
.module-card-figure:hover{ transform: translateY(-8px); box-shadow: var(--shadow-xl); }
.module-card-figure figcaption{ padding: var(--space-md); position:relative; }
.module-card-number{
  position:absolute; top:-22px; right: var(--space-md); background: var(--color-accent); color:#fff;
  font-weight:700; font-size:.85rem; width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius: 50%; box-shadow: var(--shadow-md); border:4px solid var(--color-surface);
}


.dashboard-widgets-showcase-section{ background: var(--color-bg-alt); }
.dashboard-widgets-grid{
  display:grid; grid-template-columns: repeat(12, 1fr); gap: var(--space-md);
  grid-auto-rows: minmax(150px, auto); grid-auto-flow:dense; max-width:1300px; margin:0 auto;
}
.dashboard-widget-card{
  background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-md);
  box-shadow: var(--shadow-md); border:1px solid transparent;
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
  position:relative;
}
.dashboard-widget-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--color-line); }
.dashboard-widget-card--wide{ grid-column: span 8; }
.dashboard-widget-card--tall{ grid-column: span 4; grid-row: span 2; padding:0; overflow:hidden; }
.dashboard-widget-card--small{ grid-column: span 4; }
.dashboard-widget-card--medium{ grid-column: span 6; }
.dashboard-widget-icon{
  width:48px; height:48px; border-radius: var(--radius-md); background: var(--color-secondary-soft);
  color: var(--color-secondary); display:flex; align-items:center; justify-content:center; font-size:1.25rem;
  margin-bottom: var(--space-sm); transition: transform var(--transition-base), background var(--transition-base);
}
.dashboard-widget-card:hover .dashboard-widget-icon{ transform: rotate(-6deg) scale(1.08); background: var(--color-accent-soft); color: var(--color-accent); }
.dashboard-widget-checklist{ margin-top: var(--space-sm); display:flex; flex-direction:column; gap:.5em; }
.dashboard-widget-checklist li{ display:flex; align-items:center; gap:.6em; font-size:.92rem; color: var(--color-ink-soft); }
.dashboard-widget-checklist i{ color: var(--color-secondary); }
.dashboard-widget-meter-group{ display:flex; align-items:center; justify-content:space-between; gap: var(--space-sm); margin-top: var(--space-sm); font-size:.85rem; }
.dashboard-widget-meter-group meter{ max-width:120px; }

.dashboard-widget-image-figure{ margin:0; height:100%; position:relative; }
.dashboard-widget-image-figure img{ height:220px; width:100%; object-fit:cover; }
.dashboard-widget-image-figure figcaption{ padding: var(--space-md); }

.dashboard-widget-card--featured{ position:relative; }
.dashboard-widget-card--featured::before{
  content:""; position:absolute; inset:-2px; border-radius: inherit; padding:2px;
  background: conic-gradient(from var(--border-angle), transparent 0%, var(--color-accent) 12%, transparent 26%, transparent 74%, var(--color-secondary) 88%, transparent 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:0; transition: opacity .4s ease; pointer-events:none;
}
.dashboard-widget-card--featured:hover::before{ opacity:1; animation: border-angle-rotate 2.4s linear infinite; }
@keyframes border-angle-rotate{ to{ --border-angle: 360deg; } }

.dashboard-widgets-showcase-section:has(.dashboard-widget-card--featured:hover){
  background: linear-gradient(180deg, var(--color-bg-alt), var(--color-secondary-soft) 140%);
}


.who-its-for-section{ background: var(--color-bg); }
.who-its-for-list{ max-width:900px; margin:0 auto; display:flex; flex-direction:column; gap: var(--space-sm); }
.who-its-for-item{
  display:flex; gap: var(--space-md); align-items:flex-start; background: var(--color-surface);
  padding: var(--space-md); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm);
  transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}
.who-its-for-item:hover{ transform: translateX(6px); box-shadow: var(--shadow-md); background: var(--color-surface-tint); }
.who-its-for-item-index{ font-weight:800; font-size:1.3rem; color: var(--color-accent); flex-shrink:0; }
.who-its-for-item p{ margin:0; color: var(--color-ink); }


.webinar-teaser-section{ background: var(--color-primary-soft); }
.webinar-teaser-grid, .webinar-topics-grid{ display:grid; grid-template-columns:1fr 1fr; gap: var(--space-sm); }
.webinar-topics-grid{ max-width:1100px; margin:0 auto; grid-template-columns: repeat(4, 1fr); }
.webinar-mini-card{
  background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-md);
  box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.webinar-mini-card i{ color: var(--color-accent); font-size:1.4rem; margin-bottom:.5em; display:block; }
.webinar-mini-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }


.contact-quick-cards-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); max-width:1100px; margin:0 auto; }
.contact-quick-card-figure{
  margin:0; text-align:center; background: var(--color-surface); border-radius: var(--radius-lg);
  padding: var(--space-lg) var(--space-md); box-shadow: var(--shadow-sm);
  transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);
}
.contact-quick-card-figure i{
  width:56px; height:56px; border-radius:50%; background: var(--color-secondary-soft); color: var(--color-secondary);
  display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); font-size:1.4rem;
  transition: transform var(--transition-base), background var(--transition-base), color var(--transition-base);
}
.contact-quick-card-figure:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); background: var(--color-surface-tint); }
.contact-quick-card-figure:hover i{ transform: scale(1.12) rotate(-8deg); background: var(--color-accent-soft); color: var(--color-accent); }
.contact-quick-card-figure a{ transition: color var(--transition-fast); font-weight:600; }
.contact-quick-card-figure a:hover{ color: var(--color-secondary); }


.final-cta-section{
  text-align:center; background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  border-radius: var(--radius-xl); color:#fff; max-width:1200px; margin: 0 auto var(--space-xl);
  padding: var(--space-2xl) var(--space-lg);
}
.final-cta-section h2, .final-cta-section p{ color:#fff; }
.final-cta-section mark{ background: linear-gradient(100deg, rgba(255,255,255,.2), rgba(255,255,255,.4)); color:#fff; }
.final-cta-section .homepage-hero-cta-group{ justify-content:center; }
.final-cta-section .button-secondary-outline{ color:#fff; border-color: rgba(255,255,255,.5); }
.final-cta-section .button-secondary-outline:hover{ background: rgba(255,255,255,.15); border-color:#fff; color:#fff; }


.page-header-section{ padding-top: var(--space-lg); padding-bottom: var(--space-lg); background: radial-gradient(ellipse at top right, var(--color-primary-soft), transparent 60%), var(--color-bg); }
.page-header-content{ max-width:760px; }
.page-header-content--legal{ max-width:820px; }


.content-split-section, .assessment-intro-section{
  display:grid; grid-template-columns:1fr 1fr; gap: var(--space-xl); align-items:center; max-width:1300px; margin:0 auto;
}
.content-split-section--reverse{ direction:rtl; }
.content-split-section--reverse > *{ direction:ltr; }
.content-split-image-figure{ margin:0; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-lg); }
.content-split-image-figure img{ aspect-ratio:4/3; object-fit:cover; transition: transform var(--transition-slow); }
.content-split-image-figure:hover img{ transform: scale(1.05); }


.principles-cards-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); max-width:1300px; margin:0 auto; }
.principle-card{
  background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-md);
  box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.principle-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.principle-card-number{ display:block; font-weight:800; font-size:1.5rem; color: var(--color-secondary); margin-bottom:.3em; }


.faq-accordion-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap: var(--space-xs); }
.faq-accordion-item{
  background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-sm) var(--space-md);
  box-shadow: var(--shadow-sm); transition: box-shadow var(--transition-base), background var(--transition-base);
}
.faq-accordion-item:hover{ box-shadow: var(--shadow-md); }
.faq-accordion-item summary{
  cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center;
  padding: .3em 0;
}
.faq-accordion-item summary::-webkit-details-marker{ display:none; }
.faq-accordion-item summary::after{
  content:"+"; font-size:1.3rem; color: var(--color-accent); transition: transform var(--transition-base);
}
.faq-accordion-item[open] summary::after{ transform: rotate(45deg); }
.faq-accordion-item[open]{ background: var(--color-surface-tint); }
.faq-accordion-item p{ margin-top:.6em; }


.assessment-checklist-section{ max-width:900px; margin:0 auto; }
.assessment-checklist-group{ display:flex; flex-direction:column; gap: var(--space-xs); }
.assessment-checklist-item{
  display:flex; gap: var(--space-sm); align-items:flex-start; background: var(--color-surface);
  padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
  cursor:pointer; transition: background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);
}
.assessment-checklist-item:hover{ background: var(--color-surface-tint); box-shadow: var(--shadow-md); transform: translateX(4px); }
.assessment-checklist-item input{ width:20px; height:20px; margin-top:.2em; accent-color: var(--color-secondary); flex-shrink:0; }
.assessment-checklist-item:has(input:checked){ border-left:4px solid var(--color-accent); background: var(--color-accent-soft); }
.assessment-result-widget{
  margin-top: var(--space-md); display:flex; gap: var(--space-md); align-items:center; background: var(--color-surface);
  padding: var(--space-md); border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
}
.assessment-result-widget i{ font-size:2rem; color: var(--color-accent); }
.assessment-result-widget meter{ max-width:280px; margin:.4em 0; }


.contact-form-section{ max-width:960px; margin:0 auto; }
.compact-inline-contact-form{
  background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-lg);
  box-shadow: var(--shadow-md); border:1.5px solid var(--color-line); transition: border-color var(--transition-base);
}
.compact-inline-contact-form:has(:focus){ border-color: var(--color-secondary); }
.form-row-primary{ display:flex; gap: var(--space-sm); flex-wrap:wrap; }
.field-group{ display:flex; flex-direction:column; gap:.35em; flex:1 1 160px; }
.contact-form-field-group--message{ flex:2 1 260px; }
.field-group label{ font-weight:600; font-size:.9rem; color: var(--color-ink); }
.field-group:has(input:focus) label, .field-group:has(textarea:focus) label{ color: var(--color-secondary); }
.field-group input, .field-group textarea{
  padding:.8em 1em; border-radius: var(--radius-sm); border:1.5px solid var(--color-line);
  font-family:inherit; font-size:.96rem; resize:none; transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  background: var(--color-bg);
}
.field-group input:hover, .field-group textarea:hover{ border-color: var(--color-line-strong); }
.field-group input:focus, .field-group textarea:focus{
  outline:none; border-color: var(--color-secondary); box-shadow: 0 0 0 3px var(--color-secondary-soft);
}
.field-hint{ font-size:.78rem; }
.form-error-alert-message{
  background: var(--color-accent-soft); color:#8a3d10; padding: .8em 1em; border-radius: var(--radius-sm);
  margin-bottom: var(--space-sm); font-size:.9rem;
}
.form-row-secondary{ display:flex; justify-content:space-between; align-items:center; gap: var(--space-md); margin-top: var(--space-md); flex-wrap:wrap; }
.privacy-checkbox-group{ display:flex; align-items:flex-start; gap:.6em; font-size:.85rem; color: var(--color-ink-soft); max-width:480px; }
.privacy-checkbox-group input{ margin-top:.3em; width:18px; height:18px; accent-color: var(--color-secondary); flex-shrink:0; }
.privacy-checkbox-group a{ text-decoration:underline; transition: color var(--transition-fast); }
.privacy-checkbox-group a:hover{ color: var(--color-secondary); }


.urgent-inquiry-callout-block{
  max-width:960px; margin:0 auto; display:flex; gap: var(--space-md); align-items:flex-start;
  background: var(--color-secondary-soft); border-radius: var(--radius-lg); padding: var(--space-md) var(--space-lg);
  border-left:5px solid var(--color-secondary); transition: box-shadow var(--transition-base);
}
.urgent-inquiry-callout-block:hover{ box-shadow: var(--shadow-md); }
.urgent-inquiry-icon{
  width:56px; height:56px; border-radius:50%; background: var(--color-surface); color: var(--color-secondary);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; box-shadow: var(--shadow-sm);
}
.urgent-inquiry-callout-block a{ font-weight:600; color: var(--color-primary); transition: color var(--transition-fast); }
.urgent-inquiry-callout-block a:hover{ color: var(--color-secondary); }


.contact-map-section{ max-width:1100px; margin:0 auto; }
.contact-map-embed-wrapper{ border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); }
.contact-map-embed-wrapper iframe{ width:100%; height:380px; border:0; display:block; }


.thanks-hero-gradient-section{
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  color:#fff; text-align:center; padding: var(--space-2xl) 6vw; margin: 0;
}
.thanks-hero-gradient-section h1{ color:#fff; }
.thanks-hero-gradient-section p{ color: rgba(255,255,255,.9); max-width:640px; margin:0 auto; }
.thanks-next-steps-section{ max-width:700px; margin:0 auto; text-align:center; background:#fff; }
.thanks-next-steps-list{ display:flex; flex-direction:column; gap: var(--space-2xs); margin: var(--space-md) 0; }
.thanks-next-steps-list a{
  display:inline-block; padding:.8em 1.2em; border-radius: var(--radius-md); background: var(--color-surface-tint);
  font-weight:600; transition: background var(--transition-fast), transform var(--transition-fast);
}
.thanks-next-steps-list a:hover{ background: var(--color-secondary-soft); transform: translateX(4px); }


.legal-document-section{ max-width:880px; margin:0 auto; }
.legal-document-section h2{ margin-top: var(--space-lg); }
.legal-data-table{ width:100%; border-collapse:collapse; margin: var(--space-sm) 0 var(--space-md); font-size:.92rem; }
.legal-data-table th, .legal-data-table td{ border:1px solid var(--color-line); padding:.7em .9em; text-align:left; }
.legal-data-table th{ background: var(--color-surface-tint); color: var(--color-primary); }
.legal-data-table tr{ transition: background var(--transition-fast); }
.legal-data-table tbody tr:hover{ background: var(--color-secondary-soft); }
.legal-terms-definition-list dt{ font-weight:700; color: var(--color-primary); margin-top: var(--space-sm); }
.legal-terms-definition-list dd{ margin:.2em 0 0; color: var(--color-ink-soft); }


.main-site-footer{ background: var(--color-primary-dark); color: rgba(255,255,255,.82); margin-top:auto; }
.footer-inner-wrapper{
  display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: var(--space-lg);
  padding: var(--space-xl) 6vw var(--space-lg); max-width:1440px; margin:0 auto;
}
.footer-logo-image{ height:24px; margin-bottom: var(--space-sm); filter: brightness(0) invert(1); }
.footer-brand-block p{ color: rgba(255,255,255,.65); font-size:.92rem; }
.footer-navigation-links h3, .footer-contact-details h3, .footer-legal-links h3{ color:#fff; font-size:.95rem; margin-bottom: var(--space-sm); }
.footer-navigation-links ul, .footer-legal-links ul{ display:flex; flex-direction:column; gap:.6em; }
.footer-navigation-links a, .footer-legal-links a, .footer-contact-details a{
  color: rgba(255,255,255,.72); position:relative; transition: color var(--transition-fast);
}
.footer-navigation-links a:hover, .footer-legal-links a:hover, .footer-contact-details a:hover{ color:#fff; padding-left:4px; }
.footer-contact-details p{ color: rgba(255,255,255,.72); margin-bottom:.5em; }
.footer-bottom-bar{ border-top:1px solid rgba(255,255,255,.12); padding: var(--space-sm) 6vw; text-align:center; }
.footer-bottom-bar small{ color: rgba(255,255,255,.55); }

body{ display:flex; flex-direction:column; min-height:100vh; }
main{ flex:1; }


.reveal-on-scroll-element{ opacity:0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal-on-scroll-element.is-visible-state{ opacity:1; transform:none; }


.cookie-consent-card{
  position: fixed; bottom:1.25rem; left:50%; transform: translateX(-50%);
  width:min(600px, 92vw); background: var(--color-surface); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl); padding: var(--space-md); z-index:900;
  transition: width .5s cubic-bezier(.2,.8,.2,1), max-height .5s ease, opacity .3s ease, transform .3s ease;
  max-height:260px; overflow:hidden;
}
.cookie-consent-card.is-expanded-state{ width:min(680px, 94vw); max-height:600px; }
.cookie-consent-card.is-dismissed-state{ opacity:0; transform: translateX(-50%) translateY(24px); pointer-events:none; }
.cookie-consent-message-row{ display:flex; gap: var(--space-sm); align-items:center; flex-wrap:wrap; }
.cookie-consent-message-text{ flex:1 1 260px; font-size:.9rem; margin:0; }
.cookie-consent-actions-group{ display:flex; gap:.6em; flex-shrink:0; }
.cookie-consent-actions-group button{ padding:.7em 1.2em; font-size:.86rem; }
.cookie-settings-panel{ margin-top: var(--space-sm); padding-top: var(--space-sm); border-top:1px solid var(--color-line); display:flex; flex-direction:column; gap: var(--space-xs); }
.cookie-category-row{ display:flex; justify-content:space-between; align-items:center; gap: var(--space-sm); }
.cookie-category-row h3{ font-size:.95rem; margin:0 0 .2em; }
.cookie-category-row p{ font-size:.8rem; margin:0; }
.cookie-category-row input{ width:38px; height:22px; accent-color: var(--color-secondary); flex-shrink:0; }
.cookie-consent-save-btn{ align-self:flex-end; padding:.7em 1.4em; font-size:.86rem; margin-top:.4em; }


@media (max-width: 1024px){
  .homepage-hero-section{ grid-template-columns:1fr; }
  .homepage-hero-visual-widgets{ order:-1; max-width:460px; margin:0 auto; }
  .modules-cards-grid{ grid-template-columns: repeat(2, 1fr); }
  .principles-cards-grid{ grid-template-columns: repeat(2, 1fr); }
  .webinar-topics-grid{ grid-template-columns: repeat(2, 1fr); }
  .footer-inner-wrapper{ grid-template-columns: 1fr 1fr; }
  .dashboard-widget-card--wide{ grid-column: span 12; }
  .dashboard-widget-card--tall{ grid-column: span 6; }
  .dashboard-widget-card--small{ grid-column: span 6; }
  .dashboard-widget-card--medium{ grid-column: span 6; }
}

@media (max-width: 780px){
  main article{ padding: var(--space-lg) 6vw; }
  .main-navigation-links-list, .main-navigation-cta-button{ display:none; }
  .mobile-menu-toggle-button{ display:flex; }
  .section-heading-group--split{ grid-template-columns:1fr; text-align:center; }
  .content-split-section, .content-split-section--reverse, .assessment-intro-section{
    grid-template-columns:1fr; direction:ltr;
  }
  .modules-cards-grid, .principles-cards-grid, .webinar-topics-grid, .contact-quick-cards-grid{ grid-template-columns:1fr; }
  .dashboard-widget-card--wide, .dashboard-widget-card--tall, .dashboard-widget-card--small, .dashboard-widget-card--medium{ grid-column: span 12; grid-row: span 1; }
  .footer-inner-wrapper{ grid-template-columns:1fr; text-align:left; }
  .form-row-primary{ flex-direction:column; }
  .form-row-secondary{ flex-direction:column; align-items:stretch; }
  .cookie-consent-save-btn{ align-self:stretch; }
  .final-cta-section{ padding: var(--space-xl) var(--space-md); }
  .urgent-inquiry-callout-block{ flex-direction:column; align-items:flex-start; }
}