:root {
  --radius: 0.5rem;
  color-scheme: light;
  --background: oklch(1 0 0);
  --foreground: oklch(0.178 0 0);
  --card: oklch(0.975 0 0);
  --card-foreground: var(--foreground);
  --popover: var(--background);
  --popover-foreground: var(--foreground);
  --primary: oklch(0.5354 0.1984 25.82);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.95 0 0);
  --secondary-foreground: var(--foreground);
  --muted: var(--secondary);
  --muted-foreground: oklch(0.46 0 0);
  --accent: oklch(0.95 0 0);
  --accent-foreground: var(--foreground);
  --destructive: var(--primary);
  --destructive-foreground: var(--primary-foreground);
  --border: oklch(0.86 0 0);
  --input: var(--border);
  --ring: var(--primary);
  --site-accent: var(--primary);
  --site-accent-foreground: var(--primary-foreground);
  --site-hero-border: oklch(1 0 0 / 76%);
  --site-hero-surface: oklch(0.178 0 0 / 10%);
  --site-hero-foreground: oklch(1 0 0);
  --site-hero-hover: oklch(1 0 0 / 18%);
  --site-deep: oklch(0.178 0 0);
  --site-deep-foreground: oklch(1 0 0);
  --site-paper: oklch(0.976 0.0025 106);
  --site-paper-foreground: var(--foreground);
  --site-logo-surface: oklch(1 0 0);
  --site-logo-foreground: oklch(0.178 0 0);
  --site-overlay: oklch(0.178 0 0 / 70%);
  --site-shadow: 0 8px 20px oklch(0 0 0 / 7%);
  --font-body: "DM Sans", sans-serif;
  --font-editorial: "Instrument Serif", Georgia, serif;
}
html[data-theme="dark"], .dark {
  color-scheme: dark;
  --background: oklch(0.178 0 0);
  --foreground: oklch(0.97 0 0);
  --card: oklch(0.222 0 0);
  --secondary: oklch(0.26 0 0);
  --muted-foreground: oklch(0.74 0 0);
  --accent: oklch(0.26 0 0);
  --border: oklch(0.36 0 0);
  --site-paper: oklch(0.222 0 0);
}
html[data-theme="light"] { color-scheme: light; }

.wrap { width: min(100% - 64px, 1240px); margin-inline: auto; }
.site-header { position: fixed; z-index: 20; inset: 0 0 auto; height: 92px; border-bottom: 1px solid oklch(1 0 0 / 20%); color: var(--site-hero-foreground); transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
.site-header.is-scrolled, .site-header:has(+ main.light-header-page) { border-color: var(--border); color: var(--foreground); background: var(--background); }
.site-header.is-scrolled { box-shadow: var(--site-shadow); }
.site-header:has(+ main.dark-header-page):not(.is-scrolled) { color: var(--site-hero-foreground); background: transparent; border-color: oklch(1 0 0 / 20%); }
.header-inner { width: min(100% - 64px, 1376px); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; width: 146px; height: 58px; padding: 4px 8px; background: var(--site-logo-surface); }
.brand img { display: block; width: 100%; height: auto; }
.main-nav { display: flex; align-items: center; gap: 25px; font-size: 12px; font-weight: 500; }
.main-nav > a:not(.nav-cta) { position: relative; padding-block: 12px; }
.main-nav > a:not(.nav-cta)::after { position: absolute; content: ""; inset: auto 100% 4px 0; height: 1px; background: currentColor; transition: inset 180ms ease; }
.main-nav > a:not(.nav-cta):hover::after { inset-inline-end: 0; }
.mobile-theme, .menu-toggle { display: none; color: inherit; }
.site-header .theme-toggle, .site-header .mobile-theme, .site-header .menu-toggle { color: inherit; }
.home-hero { position: relative; display: flex; align-items: center; min-height: 93svh; overflow: hidden; color: var(--site-hero-foreground); background: var(--site-deep); }
.hero-photo, .mice-feature > img, .project-detail-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-photo { object-position: center 46%; animation: hero-rise 1.1s ease-out both; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, oklch(0.1 0.01 260 / 80%) 0%, oklch(0.1 0.01 260 / 48%) 55%, oklch(0.1 0.01 260 / 15%) 100%), linear-gradient(0deg, oklch(0.1 0.01 260 / 50%), transparent 35%); }
.hero-content { position: relative; z-index: 1; padding-top: 110px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--muted-foreground); font-size: 10px; font-weight: 700; line-height: 1.4; text-transform: uppercase; }
.eyebrow > span { width: 23px; height: 1px; background: var(--site-accent); }
.home-hero .eyebrow, .mice-feature .eyebrow, .project-detail-hero .eyebrow { color: oklch(1 0 0 / 78%); }
.home-hero h1 { max-width: 900px; margin: 25px 0 18px; font-size: 82px; font-weight: 500; line-height: .98; letter-spacing: 0; }
h1 em, h2 em, .intro-band > p span { color: var(--site-accent); font-family: var(--font-editorial); font-weight: 400; }
.home-hero h1 em { color: var(--site-accent); }
.hero-content > p { max-width: 525px; color: oklch(1 0 0 / 83%); font-size: 16px; line-height: 1.8; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; }
.hero-scroll { position: absolute; bottom: 28px; left: 32px; display: flex; align-items: center; gap: 13px; color: oklch(1 0 0 / 84%); font-size: 10px; text-transform: uppercase; }
.hero-scroll svg { width: 15px; }
.hero-index { position: absolute; right: 32px; bottom: 28px; color: oklch(1 0 0 / 72%); font-size: 10px; }
.intro-band { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; padding-block: 105px 108px; }
.intro-band > p { margin: 0; max-width: 650px; font-size: 56px; font-weight: 500; line-height: 1.08; }
.intro-band > div > p:not(.eyebrow) { max-width: 480px; margin: 18px 0; color: var(--muted-foreground); font-size: 15px; line-height: 1.8; }
.text-link { display: inline-flex; align-items: center; gap: 14px; padding-block: 8px; border-bottom: 1px solid var(--site-accent); font-size: 12px; font-weight: 700; }
.text-link svg { width: 16px; height: 16px; }
.section { padding-block: 96px; }
.work-section { background: var(--site-paper); color: var(--site-paper-foreground); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 40px; }
.section h2, .services-heading h2, .founder-copy h2, .about-text h2, .service-visual h2, .project-detail-body h2 { margin: 17px 0 0; font-size: 54px; font-weight: 500; line-height: 1.06; }
.section-head .text-link { margin-bottom: 8px; }
.project-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 42px 24px; }
.project-card { min-width: 0; }
.project-card-2 { margin-top: 80px; }
.project-card-3 { margin-top: -22px; }
.project-card-4 { margin-top: 58px; }
.project-image { display: block; overflow: hidden; aspect-ratio: 1.44; background: var(--muted); }
.project-card-2 .project-image { aspect-ratio: 1.14; }
.project-card-3 .project-image { aspect-ratio: 1.24; }
.project-card-4 .project-image { aspect-ratio: 1.5; }
.project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(.2,.65,.2,1); }
.project-card:hover .project-image img { transform: scale(1.035); }
.project-caption { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 15px; }
.project-caption > span { display: grid; gap: 5px; }
.project-caption small { color: var(--muted-foreground); font-size: 10px; text-transform: uppercase; }
.project-caption strong { font-size: 18px; font-weight: 600; }
.project-caption > svg { width: 19px; height: 19px; }
.services-section, .founder-section { background: var(--background); }
.services-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.services-heading > p:not(.eyebrow) { max-width: 360px; margin: 20px 0 18px; color: var(--muted-foreground); font-size: 14px; line-height: 1.8; }
.service-list { border-top: 1px solid var(--border); }
.service-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 120px 22px; align-items: center; gap: 16px; min-height: 104px; border-bottom: 1px solid var(--border); }
.service-number { align-self: start; margin-top: 27px; color: var(--muted-foreground); font-size: 10px; }
.service-copy { display: grid; gap: 7px; padding-block: 18px; }
.service-copy strong { font-size: 17px; font-weight: 600; }
.service-copy > span { max-width: 380px; color: var(--muted-foreground); font-size: 11px; line-height: 1.6; }
.service-row > img { width: 120px; height: 70px; object-fit: cover; opacity: .9; transition: opacity 180ms ease; }
.service-row:hover > img { opacity: 1; }
.service-row > svg { width: 17px; height: 17px; }
.mice-feature { position: relative; display: flex; align-items: center; min-height: 540px; overflow: hidden; color: var(--site-hero-foreground); background: var(--site-deep); }
.mice-feature > img { object-position: center 40%; }
.mice-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, oklch(0.1 0.01 260 / 82%), oklch(0.1 0.01 260 / 45%) 64%, oklch(0.1 0.01 260 / 18%)); }
.mice-content { position: relative; padding-block: 90px; }
.mice-content h2 { margin: 24px 0 18px; font-size: 62px; font-weight: 500; line-height: 1.05; }
.mice-content h2 em, .contact-band h2 em { color: var(--site-accent); }
.mice-content > p { max-width: 510px; margin-bottom: 25px; color: oklch(1 0 0 / 80%); font-size: 15px; line-height: 1.8; }
.mice-stamp { position: absolute; right: 8%; bottom: 46px; display: grid; width: 105px; height: 105px; place-content: center; border: 1px solid oklch(1 0 0 / 50%); border-radius: 50%; color: oklch(1 0 0 / 84%); font-size: 10px; text-align: center; line-height: 1.2; }
.mice-stamp b { font-size: 20px; letter-spacing: 0; }
.founder-layout { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 90px; }
.founder-photo { height: 470px; overflow: hidden; background: var(--muted); }
.founder-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.founder-copy > p:not(.eyebrow):not(.founder-name) { max-width: 490px; margin: 22px 0; color: var(--muted-foreground); font-size: 15px; line-height: 1.8; }
.founder-name { display: grid; gap: 4px; margin: 28px 0 20px; }
.founder-name strong { font-size: 15px; }
.founder-name span { color: var(--muted-foreground); font-size: 12px; }
.contact-band, .site-footer { color: var(--site-deep-foreground); background: var(--site-deep); }
.contact-band { padding-block: 75px; }
.contact-band-inner { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.contact-band h2 { margin: 16px 0 0; font-size: 62px; font-weight: 500; line-height: 1.04; }
.contact-band-inner > div:last-child { max-width: 330px; padding-bottom: 8px; }
.contact-band-inner > div:last-child p { margin: 0 0 18px; color: oklch(1 0 0 / 72%); font-size: 14px; line-height: 1.7; }
.site-footer { padding-top: 52px; border-top: 1px solid oklch(1 0 0 / 12%); }
.footer-main { display: grid; grid-template-columns: 1.5fr .7fr .8fr; gap: 60px; padding-bottom: 45px; }
.footer-brand img { display: block; width: 140px; height: auto; padding: 4px; background: var(--site-logo-surface); }
.footer-brand p { max-width: 315px; color: oklch(1 0 0 / 66%); font-size: 12px; line-height: 1.7; }
.footer-main > div:not(.footer-brand) { display: grid; align-content: start; gap: 12px; color: oklch(1 0 0 / 76%); font-size: 12px; }
.footer-label { margin-bottom: 7px; color: oklch(1 0 0 / 52%); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 17px; border-top: 1px solid oklch(1 0 0 / 12%); color: oklch(1 0 0 / 55%); font-size: 10px; }
.page-intro { padding-top: 162px; padding-bottom: 70px; }
.page-intro h1 { margin: 22px 0 19px; font-size: 76px; font-weight: 500; line-height: 1.01; }
.page-intro > p:last-child { max-width: 650px; color: var(--muted-foreground); font-size: 16px; line-height: 1.8; }
.about-feature { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; padding: 40px max(32px, calc((100vw - 1240px) / 2)) 100px; }
.about-image { height: 430px; overflow: hidden; }
.about-image img { width: 100%; height: 100%; object-fit: cover; }
.about-text > p:not(.eyebrow) { color: var(--muted-foreground); font-size: 14px; line-height: 1.85; }
.about-text .text-link { margin-top: 14px; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.pillar-band { padding-block: 70px 100px; background: var(--site-paper); color: var(--site-paper-foreground); }
.pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 40px; border-top: 1px solid var(--border); }
.pillar-grid > div { padding: 24px 22px 12px 0; border-right: 1px solid var(--border); }
.pillar-grid > div:not(:first-child) { padding-left: 22px; }
.pillar-grid > div:last-child { border-right: 0; }
.pillar-grid > div > span { color: var(--muted-foreground); font-size: 10px; }
.pillar-grid h2 { margin: 28px 0 10px; font-size: 28px; font-weight: 500; }
.pillar-grid p { max-width: 210px; color: var(--muted-foreground); font-size: 12px; line-height: 1.7; }
.service-visual { background: var(--site-paper); color: var(--site-paper-foreground); }
.service-visual-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 75px; }
.service-visual-grid > img { width: 100%; height: 390px; object-fit: cover; }
.service-visual-grid > div > p:not(.eyebrow) { max-width: 450px; margin: 18px 0; color: var(--muted-foreground); font-size: 14px; line-height: 1.8; }
.contact-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; padding-bottom: 105px; }
.contact-details h2, .form-unavailable h2 { margin: 17px 0 0; font-size: 36px; font-weight: 500; }
.contact-details > p:not(.eyebrow) { margin: 14px 0 28px; color: var(--muted-foreground); font-size: 14px; line-height: 1.8; }
.contact-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 330px; padding-block: 15px; border-bottom: 1px solid var(--border); font-size: 14px; }
.address { margin-top: 25px !important; }
.form-unavailable { align-self: start; padding: 36px; border: 1px solid var(--border); background: var(--card); }
.form-unavailable > p:not(.eyebrow) { color: var(--muted-foreground); font-size: 14px; line-height: 1.8; }
.form-unavailable .eyebrow { margin-bottom: 18px; }
.project-detail-hero { position: relative; display: flex; align-items: end; min-height: 640px; overflow: hidden; color: var(--site-hero-foreground); background: var(--site-deep); }
.project-detail-hero .hero-shade { background: linear-gradient(0deg, oklch(0.1 0.01 260 / 78%), transparent 78%); }
.project-detail-copy { position: relative; padding-bottom: 70px; }
.project-detail-copy h1 { margin: 18px 0 9px; font-size: 76px; font-weight: 500; }
.project-detail-copy p { color: oklch(1 0 0 / 78%); }
.project-detail-body { max-width: 820px; padding-block: 90px 110px; }
.project-detail-body h2 { margin-bottom: 20px; }
.project-detail-body > p:not(.eyebrow) { max-width: 660px; margin-bottom: 22px; color: var(--muted-foreground); font-size: 15px; line-height: 1.85; }
@keyframes hero-rise { from { transform: scale(1.025); opacity: .75; } to { transform: scale(1); opacity: 1; } }
@media (max-width: 900px) {
  .home-hero h1 { font-size: 68px; }
  .intro-band > p { font-size: 48px; }
  .section h2, .services-heading h2, .founder-copy h2, .about-text h2, .service-visual h2, .project-detail-body h2 { font-size: 46px; }
  .mice-content h2, .contact-band h2 { font-size: 52px; }
  .page-intro h1, .project-detail-copy h1 { font-size: 66px; }
  .main-nav { gap: 16px; }
  .main-nav .nav-cta { display: none; }
  .intro-band { gap: 44px; }
  .services-layout { grid-template-columns: 1fr; gap: 36px; }
  .founder-layout { gap: 45px; }
  .about-feature, .service-visual-grid { gap: 38px; }
  .contact-main { gap: 45px; }
}
@media (max-width: 680px) {
  .wrap { width: min(100% - 40px, 1240px); }
  .site-header { height: 74px; }
  .header-inner { width: calc(100% - 32px); }
  .brand { width: 124px; height: 50px; }
  .mobile-theme, .menu-toggle { display: inline-flex; }
  .main-nav { position: absolute; top: 73px; inset-inline: 0; display: none; align-items: stretch; gap: 0; padding: 12px 20px 22px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--foreground); background: var(--background); box-shadow: 0 18px 26px oklch(0 0 0 / 10%); }
  .main-nav.is-open { display: flex; flex-direction: column; }
  .main-nav > a:not(.nav-cta) { padding: 14px 0; border-bottom: 1px solid var(--border); }
  .main-nav > .nav-cta { display: inline-flex; align-self: flex-start; margin-top: 14px; }
  .main-nav > button { display: none; }
  .home-hero { min-height: 93svh; align-items: end; }
  .hero-photo { object-position: 54% center; }
  .hero-shade { background: linear-gradient(0deg, oklch(0.1 0.01 260 / 82%) 0%, oklch(0.1 0.01 260 / 45%) 55%, oklch(0.1 0.01 260 / 15%) 100%); }
  .hero-content { padding-top: 120px; padding-bottom: 115px; }
  .home-hero h1 { margin-top: 19px; font-size: 48px; }
  .hero-content > p { font-size: 14px; }
  .hero-actions { flex-wrap: wrap; }
  .hero-scroll { left: 20px; bottom: 21px; }
  .hero-index { right: 20px; bottom: 21px; font-size: 8px; }
  .intro-band { grid-template-columns: 1fr; gap: 27px; padding-block: 70px; }
  .intro-band > p { font-size: 42px; }
  .section { padding-block: 70px; }
  .section-head { align-items: start; flex-direction: column; margin-bottom: 30px; }
  .section h2, .services-heading h2, .founder-copy h2, .about-text h2, .service-visual h2, .project-detail-body h2 { font-size: 40px; }
  .project-grid { grid-template-columns: 1fr; gap: 28px; }
  .project-card-2, .project-card-3, .project-card-4 { margin-top: 0; }
  .project-image, .project-card-2 .project-image, .project-card-3 .project-image, .project-card-4 .project-image { aspect-ratio: 1.3; }
  .project-caption strong { font-size: 16px; }
  .service-row { grid-template-columns: 28px 1fr 72px 16px; gap: 10px; min-height: 99px; }
  .service-row > img { width: 72px; height: 58px; }
  .service-copy strong { font-size: 14px; }
  .service-copy > span { font-size: 10px; }
  .service-number { font-size: 9px; }
  .mice-feature { min-height: 535px; }
  .mice-content { padding-block: 70px; }
  .mice-content h2 { font-size: 43px; }
  .mice-stamp { right: 20px; bottom: 22px; width: 78px; height: 78px; font-size: 8px; }
  .mice-stamp b { font-size: 15px; }
  .founder-layout { grid-template-columns: 1fr; gap: 28px; }
  .founder-photo { height: 410px; max-width: 100%; }
  .contact-band { padding-block: 60px; }
  .contact-band-inner { align-items: start; flex-direction: column; gap: 25px; }
  .contact-band h2 { font-size: 46px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .page-intro { padding-top: 130px; padding-bottom: 45px; }
  .page-intro h1 { font-size: 52px; }
  .page-intro > p:last-child { font-size: 14px; }
  .about-feature { grid-template-columns: 1fr; gap: 32px; padding: 20px 20px 70px; }
  .about-image { height: 290px; }
  .pillar-band { padding-block: 55px 65px; }
  .pillar-grid { grid-template-columns: 1fr 1fr; }
  .pillar-grid > div { padding-block: 18px; border-bottom: 1px solid var(--border); }
  .pillar-grid > div:nth-child(odd) { padding-left: 0; }
  .pillar-grid > div:nth-child(even) { padding-left: 18px; border-right: 0; }
  .pillar-grid h2 { margin-top: 18px; font-size: 23px; }
  .service-visual-grid { grid-template-columns: 1fr; gap: 30px; }
  .service-visual-grid > img { height: 280px; }
  .filter-row { gap: 7px; }
  .contact-main { grid-template-columns: 1fr; gap: 35px; padding-bottom: 70px; }
  .form-unavailable { padding: 24px; }
  .contact-details h2, .form-unavailable h2 { font-size: 31px; }
  .project-detail-hero { min-height: 580px; }
  .project-detail-copy { padding-bottom: 48px; }
  .project-detail-copy h1 { font-size: 53px; }
  .project-detail-body { padding-block: 65px 75px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Cinematic editorial sections; all surfaces follow semantic theme tokens. */
.site-header:has(+ main.light-header-page) { background: var(--background); color: var(--foreground); }
.home-hero h1 { font-size: 76px; line-height: 1.02; margin-top: 24px; }
.home-hero h1 > span { display: block; animation: text-rise .8s both; }
.home-hero h1 > span:nth-child(2) { animation-delay: .12s; }
.home-hero h1 > span:nth-child(3) { animation-delay: .24s; }
.hero-content { padding-block: 112px 80px; }
.hero-photo { transform: translateY(var(--hero-shift, 0px)) scale(1.08); animation: hero-mask 1.2s ease both; }
.hero-content > p, .hero-actions { animation: text-rise .8s .35s both; }
.certification-section { padding-block: 36px 38px; background: var(--site-logo-surface); color: var(--site-logo-foreground); border-bottom: 2px solid var(--site-accent); }
.certification-section h2 { margin: 0 0 24px; font-size: 28px; font-weight: 500; }
.certification-logos { display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: 36px; }
.certification-logos img { width: 100%; height: 82px; object-fit: contain; transition: transform .3s; }
.certification-logos img:hover { transform: scale(1.04); }
.divisions-section { padding-bottom: 0; }
.division-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.division-card { position: relative; display: block; overflow: hidden; background: var(--site-deep); color: var(--site-deep-foreground); aspect-ratio: .72; }
.division-card img { height: 100%; width: 100%; object-fit: contain; transition: transform .6s; }
.division-card:hover img { transform: scale(1.035); }
.division-caption { position: absolute; inset: auto 18px 18px; padding: 14px 16px; background: var(--site-overlay); }
.division-caption > strong { font-size: 24px; text-transform: uppercase; }
.division-caption > span { display: flex; justify-content: space-between; align-items: center; font-size: 12px; margin-top: 8px; }
.division-caption svg { width: 17px; transition: transform .3s; }
.division-card:hover svg { transform: translate(3px,-3px); }
.purpose-section { background: var(--site-paper); color: var(--foreground); overflow: hidden; }
.purpose-title { max-width: 1050px; margin: 22px 0 38px !important; font-size: 62px !important; line-height: 1.07 !important; }
.purpose-title > span { display: block; }
.purpose-line { height: 2px; background: var(--site-accent); transform-origin: left; margin-bottom: 60px; }
.mission-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.purpose-index { margin: 0 0 24px; font-size: 10px; font-weight: 600; color: var(--muted-foreground); }
.mission-copy h3, .vision-layout h3 { font-size: 43px; font-weight: 500; line-height: 1.1; margin: 0 0 28px; }
.mission-copy h3 em, .vision-layout h3 em, .entities-section h2 em { font-family: var(--font-editorial); font-weight: 400; color: var(--site-accent); }
.mission-statement { font-size: 20px; line-height: 1.65; max-width: 470px; }
.mission-support { color: var(--muted-foreground); font-size: 13px; line-height: 1.8; max-width: 370px; margin-top: 24px; }
.mission-photo { margin: 0; position: relative; aspect-ratio: .98; overflow: hidden; clip-path: polygon(0 0,93% 0,100% 7%,100% 100%,0 100%); }
.mission-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.mission-photo:hover img { transform: scale(1.04); }
.mission-photo figcaption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; gap: 14px; padding: 18px; font-size: 11px; color: var(--site-deep-foreground); background: var(--site-overlay); }
.mission-photo figcaption span { font-size: 9px; }
.vision-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-block: 62px 45px; margin-top: 60px; border-top: 1px solid var(--border); }
.vision-layout > div:last-child > p:last-child { font-size: 16px; line-height: 1.85; margin: 12px 0 0; color: var(--muted-foreground); }
.content-status { color: var(--muted-foreground); font-size: 10px; margin: 0; }
.values-heading { display: flex; justify-content: space-between; align-items: baseline; }
.values-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--border); }
.value-item { position: relative; padding: 24px 20px 20px; border-right: 1px solid var(--border); }
.value-item:first-child { padding-left: 0; }
.value-item:last-child { border-right: 0; }
.value-item::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--site-accent); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.value-item:hover::after { transform: scaleX(1); }
.value-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted-foreground); font-size: 10px; }
.value-top svg { width: 23px; height: 23px; transition: color .3s, transform .3s; }
.value-item:hover svg { transform: translateY(-3px); color: var(--site-accent); }
.value-item h3 { font-size: 19px; font-weight: 500; margin: 28px 0 12px; transition: color .3s; }
.value-item:hover h3 { color: var(--site-accent); }
.value-item p { color: var(--muted-foreground); font-size: 12px; line-height: 1.8; margin: 0; }
.entities-section h2 { font-size: 48px; font-weight: 500; }
.entity-list { border-top: 1px solid var(--border); }
.entity-list a { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); font-size: 24px; padding: 22px 0; transition: color .3s; }
.entity-list a:hover { color: var(--site-accent); }
.service-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; border-top: 0; }
.services-layout { grid-template-columns: 1fr; gap: 44px; }
.services-heading > p:not(.eyebrow) { max-width: 500px; }
.service-row { display: flex; flex-wrap: wrap; gap: 12px; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.service-row > img { order: -1; width: 100%; height: 240px; object-fit: cover; }
.service-copy { flex: 1; min-width: 0; }
.service-number { align-self: flex-start; margin-top: 20px; }
.service-row > svg { margin-top: 22px; }
.reveal-ready { opacity: .01; }
.reveal-enter { animation: text-rise .75s cubic-bezier(.2,.65,.2,1) both; }
[data-reveal="image"].reveal-enter, .founder-photo.reveal-enter, .about-image.reveal-enter { animation-name: image-reveal; animation-duration: 1s; }
.purpose-line.reveal-enter { animation: line-draw .9s ease both; }
.values-grid > :nth-child(2), .certification-logos > :nth-child(2) { animation-delay: .08s; }
.values-grid > :nth-child(3), .certification-logos > :nth-child(3) { animation-delay: .16s; }
.values-grid > :nth-child(4), .certification-logos > :nth-child(4) { animation-delay: .24s; }
.values-grid > :nth-child(5), .certification-logos > :nth-child(5) { animation-delay: .32s; }
@keyframes text-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes image-reveal { from { opacity: .3; clip-path: inset(0 0 100% 0); } to { opacity: 1; clip-path: inset(0); } }
@keyframes line-draw { from { opacity: 1; transform: scaleX(0); } to { opacity: 1; transform: scaleX(1); } }
@keyframes hero-mask { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }
@media(max-width: 1050px) {
  .purpose-title { font-size: 52px !important; }
  .mission-layout, .vision-layout { gap: 38px; }
  .mission-copy h3, .vision-layout h3 { font-size: 36px; }
  .value-item { padding-inline: 12px; }
  .value-item h3 { font-size: 17px; }
}
@media(max-width: 680px) {
  .home-hero h1 { font-size: 48px; }
  .hero-content { padding-block: 110px 90px; }
  .certification-section h2 { font-size: 24px; }
  .certification-logos { gap: 16px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .certification-logos img { height: 65px; }
  .division-grid { grid-template-columns: 1fr; gap: 28px; }
  .division-card { aspect-ratio: .85; }
  .purpose-title { font-size: 37px !important; }
  .purpose-line { margin-bottom: 38px; }
  .mission-layout, .vision-layout { grid-template-columns: 1fr; gap: 28px; }
  .mission-copy h3, .vision-layout h3 { font-size: 34px; }
  .mission-statement { font-size: 18px; }
  .vision-layout { margin-top: 40px; padding-top: 38px; }
  .vision-layout h3 { margin-bottom: 0; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .value-item { padding: 24px 16px; border-bottom: 1px solid var(--border); }
  .value-item:nth-child(odd) { padding-left: 0; }
  .value-item:nth-child(even) { border-right: 0; }
  .value-item:last-child { grid-column: 1 / -1; }
  .value-item h3 { font-size: 19px; }
  .entity-list a { font-size: 22px; }
  .entities-section h2 { font-size: 38px; }
  .service-list { grid-template-columns: 1fr; }
  .service-row > img { height: 220px; width: 100%; }
  .service-copy strong { font-size: 17px; }
  .service-copy > span { font-size: 12px; }
  .main-nav { min-height: calc(100svh - 74px); justify-content: center; }
  .main-nav.is-open > a { animation: text-rise .35s both; }
  .main-nav.is-open > a:nth-child(2) { animation-delay: .05s; }
  .main-nav.is-open > a:nth-child(3) { animation-delay: .1s; }
  .main-nav.is-open > a:nth-child(4) { animation-delay: .15s; }
}
@media(prefers-reduced-motion: reduce) { .reveal-ready { opacity: 1; } .hero-photo { transform: none; } }

* { box-sizing:border-box; } body { margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body); } html { scroll-behavior:smooth; } a { color:inherit;text-decoration:none; } button,input,textarea,select { font:inherit; } [hidden] { display:none!important; } .eyebrow::before { content:"";width:23px;height:1px;background:var(--site-accent); } .button { min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 18px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:600;cursor:pointer; } .button-orbit { background:var(--site-accent);color:var(--site-accent-foreground); } .button-hero-outline { border-color:var(--site-hero-border);color:var(--site-hero-foreground); } .icon-button { width:40px;height:40px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:19px; } .home-page .home-hero { min-height:93svh; } .site-header:has(+main:not(.home-page)) { background:var(--background);color:var(--foreground);border-color:var(--border); } .filter-row { display:flex;gap:8px;flex-wrap:wrap; } .filter-button { padding:9px 13px;border:1px solid var(--border);color:var(--foreground);background:var(--background);cursor:pointer; } .filter-button.is-active { color:var(--background);background:var(--foreground); } .form-wrap { padding:34px;border:1px solid var(--border);background:var(--card); } .form-wrap form,.form-wrap label { display:grid;gap:12px; } .form-wrap input,.form-wrap select,.form-wrap textarea { width:100%;min-height:44px;padding:10px;border:1px solid var(--border);color:var(--foreground);background:var(--background); } .form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px; } .honey { position:absolute;left:-10000px; } .form-notice { padding:12px;border-left:3px solid var(--site-accent); } .value-top svg { stroke:currentColor;fill:none; } @media(max-width:680px) { .form-row { grid-template-columns:1fr; } } a:focus-visible,button:focus-visible { outline:2px solid var(--site-accent);outline-offset:4px; }

/* Video portfolio & testimonials */
.endeavors-section, .testimonials-section { background: var(--site-deep); color: var(--site-deep-foreground); overflow: hidden; }
html[data-theme="light"] .testimonials-section { background: var(--site-paper); color: var(--foreground); }
.media-head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 48px; align-items: end; margin-bottom: 48px; }
.media-head h2 { font-family: var(--font-editorial); font-weight: 400; font-size: clamp(38px, 5vw, 68px); line-height: 1; margin: 14px 0 0; }
.media-head h2 em { color: var(--primary); display: block; }
.media-head > p { opacity: .75; line-height: 1.7; margin: 0; }
.endeavors-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 24px; }
.endeavors-side { display: grid; gap: 20px; }
.endeavors-side .video-card { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 16px; align-items: center; }
.video-card { min-width: 0; }
.video-frame { position: relative; aspect-ratio: 16/9; border-radius: 10px; overflow: hidden; background: oklch(0.1 0 0); box-shadow: var(--site-shadow); }
.video-frame iframe, .video-facade { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-facade { padding: 0; cursor: pointer; background: none; }
.video-facade img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s; filter: saturate(.9) brightness(.82); }
.video-facade::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, oklch(0 0 0 / 55%), transparent 55%); }
.video-facade:hover img, .video-facade:focus-visible img { transform: scale(1.07); filter: saturate(1) brightness(.95); }
.play-badge { position: absolute; z-index: 1; left: 50%; top: 50%; translate: -50% -50%; width: 64px; height: 64px; border-radius: 999px; display: grid; place-items: center; background: var(--primary); color: var(--primary-foreground); box-shadow: 0 0 0 0 color-mix(in oklab, var(--primary) 55%, transparent); transition: scale .3s, box-shadow .5s; }
.play-badge svg { width: 24px; height: 24px; fill: currentColor; margin-left: 3px; }
.is-featured .play-badge { width: 86px; height: 86px; }
button:hover > .play-badge, button:focus-visible > .play-badge { scale: 1.1; box-shadow: 0 0 0 14px color-mix(in oklab, var(--primary) 0%, transparent); animation: play-pulse 1.4s ease-out infinite; }
@keyframes play-pulse { from { box-shadow: 0 0 0 0 color-mix(in oklab, var(--primary) 55%, transparent); } to { box-shadow: 0 0 0 18px color-mix(in oklab, var(--primary) 0%, transparent); } }
.endeavors-side .play-badge { width: 46px; height: 46px; }
.endeavors-side .play-badge svg { width: 18px; height: 18px; }
.video-meta { padding-top: 16px; }
.endeavors-side .video-meta { padding-top: 0; }
.video-meta span { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--primary); font-weight: 600; }
.video-meta h3 { font-family: var(--font-editorial); font-weight: 400; font-size: 30px; margin: 6px 0 0; }
.video-meta h4 { font-size: 16px; font-weight: 600; line-height: 1.35; margin: 6px 0 0; }
.media-cta { margin-top: 44px; display: inline-flex; }
.testimonial-carousel { outline: none; }
.testimonial-stage { position: relative; height: 640px; touch-action: pan-y; user-select: none; }
.testimonial-card { position: absolute; left: 50%; top: 20px; width: min(360px, 82vw); height: 580px; translate: -50% 0; border-radius: 16px; overflow: hidden; background: var(--site-deep); border: 1px solid color-mix(in oklab, var(--foreground) 14%, transparent); box-shadow: 0 24px 50px oklch(0 0 0 / 28%); transition: transform .7s cubic-bezier(.2,.7,.2,1), opacity .5s; display: flex; flex-direction: column; }
.testimonial-card[data-offset="0"] { transform: translateX(0) scale(1); z-index: 3; border-color: var(--primary); }
.testimonial-card[data-offset="-1"] { transform: translateX(-108%) scale(.86); opacity: .55; z-index: 2; }
.testimonial-card[data-offset="1"] { transform: translateX(108%) scale(.86); opacity: .55; z-index: 2; }
.testimonial-card[data-offset="-2"] { transform: translateX(-200%) scale(.7); opacity: 0; pointer-events: none; }
.testimonial-card[data-offset="2"] { transform: translateX(200%) scale(.7); opacity: 0; pointer-events: none; }
.testimonial-card iframe { flex: 1; width: 100%; border: 0; background: var(--background); }
.testimonial-facade { position: relative; flex: 1; border: 0; cursor: pointer; color: var(--site-deep-foreground); background: radial-gradient(circle at 50% 35%, color-mix(in oklab, var(--primary) 45%, var(--site-deep)), var(--site-deep) 70%); }
.testimonial-facade img { position: absolute; top: 28px; left: 50%; translate: -50% 0; width: 96px; filter: brightness(0) invert(1); opacity: .9; }
.testimonial-label { position: absolute; bottom: 26px; left: 0; right: 0; text-align: center; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.testimonial-fallback { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; font-size: 13px; font-weight: 600; background: var(--site-deep); color: var(--site-deep-foreground); border-top: 1px solid color-mix(in oklab, var(--site-deep-foreground) 14%, transparent); transition: color .3s; }
.testimonial-fallback:hover { color: var(--primary); }
.testimonial-fallback svg { width: 16px; height: 16px; }
.carousel-controls { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 18px; }
.carousel-controls > button { width: 48px; height: 48px; border-radius: 999px; border: 1px solid currentColor; background: none; color: inherit; display: grid; place-items: center; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.carousel-controls > button:hover, .carousel-controls > button:focus-visible { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }
.carousel-dots { display: flex; gap: 6px; }
.carousel-dots button { width: 24px; height: 24px; border: 0; background: none; cursor: pointer; position: relative; padding: 0; }
.carousel-dots button::after { content: ""; position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 8px; height: 8px; border-radius: 99px; background: currentColor; opacity: .35; transition: width .3s, opacity .3s, background .3s; }
.carousel-dots button.is-active::after { width: 22px; opacity: 1; background: var(--primary); }
.whatsapp-float { position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 40; width: 58px; height: 58px; border-radius: 999px; display: grid; place-items: center; background: var(--primary); color: var(--primary-foreground); box-shadow: 0 12px 28px oklch(0 0 0 / 30%); animation: wa-float 3.2s ease-in-out infinite; transition: scale .3s; }
.whatsapp-float:hover { scale: 1.08; }
.whatsapp-float svg { width: 28px; height: 28px; }
@keyframes wa-float { 50% { translate: 0 -6px; } }
.contact-line svg.wa, .footer-wa svg { width: 16px; height: 16px; }
@media (max-width: 900px) {
  .media-head, .endeavors-grid { grid-template-columns: 1fr; gap: 24px; }
  .endeavors-side .video-card { grid-template-columns: 1fr; }
  .endeavors-side .video-meta { padding-top: 12px; }
  .testimonial-card[data-offset="-1"], .testimonial-card[data-offset="1"] { opacity: 0; pointer-events: none; }
  .testimonial-stage { height: 600px; }
  .testimonial-card { height: 560px; top: 10px; }
  .whatsapp-float { width: 52px; height: 52px; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .whatsapp-float, button:hover > .play-badge { animation: none; } .testimonial-card, .video-facade img { transition: none; } }

.play-badge svg{fill:currentColor}.carousel-controls>button{font-size:28px;line-height:1}

/* Original customer and conference logos */
.customers-section { background: var(--background); color: var(--foreground); }
.customers-heading { text-align: center; margin-bottom: 46px; }
.customers-heading h2 { margin: 0; font-size: 36px; font-weight: 700; line-height: 1.25; }
.customers-heading p { max-width: 1050px; margin: 24px auto 0; color: var(--muted-foreground); font-size: 20px; line-height: 1.6; }
.customers-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; list-style: none; padding: 0; margin: 0; }
.customer-logo { overflow: hidden; aspect-ratio: 3 / 1; background: var(--site-logo-surface); outline: 1px solid transparent; transition: outline-color 220ms ease; }
.customer-logo img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 300ms ease; }
.customer-logo:hover { outline-color: var(--site-accent); }
.customer-logo:hover img { transform: scale(1.035); }
@media (max-width: 1050px) {
  .customers-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 680px) {
  .customers-heading { margin-bottom: 30px; }
  .customers-heading h2 { font-size: 28px; }
  .customers-heading p { margin-top: 18px; font-size: 16px; }
  .customers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
