:root {
  color-scheme:dark;
  --bg:#07111f;
  --panel:#0d1c2e;
  --line:#293c53;
  --text:#edf4fc;
  --muted:#acbed0;
  --accent:#83e1f4;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:95px;
}
body {
  margin:0;
  background:var(--bg);
  overflow-x:clip;
  color:var(--text);
  font-family:var(--font);
  line-height:1.65;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,select,textarea {
  font:inherit;
}
a,button,summary,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}
:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px;
}
.wrap {
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto;
}
.site-header {
  padding:24px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--line);
}
.brand {
  display:inline-flex;
  align-items:center;
  font-size:25px;
  font-weight:650;
  letter-spacing:-1px;
  white-space:nowrap;
}
.brand-mark {
  width: 38px;
  height: 32px;
  margin-right: 12px;
  color: var(--accent);
  flex-shrink: 0;
  object-fit: contain;
}

.accent,em {
  color:var(--accent);
}
nav {
  display:flex;
  gap:30px;
  align-items:center;
  font-size:14px;
}
nav a:hover,.text-link:hover {
  color:var(--accent);
}
.nav-cta {
  border:1px solid var(--line);
  padding:9px 16px;
  border-radius:4px;
}
.nav-cta span {
  margin-left:15px;
}
.hero {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  align-items:center;
  gap:80px;
  padding-block:100px 110px;
}
.eyebrow {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:600;
  color:var(--accent);
  margin:0 0 25px;
}
h1,h2,h3,p {
  margin-top:0;
}
h1 {
  font-size:clamp(48px,5.5vw,76px);
  line-height:1.08;
  letter-spacing:-3.5px;
  font-weight:500;
  margin-bottom:28px;
}
em {
  font-family:Georgia,serif;
  font-weight:400;
}
p {
  color:var(--muted);
}
.intro {
  max-width:560px;
  font-size:18px;
  line-height:1.75;
}
.actions {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:32px;
  flex-wrap:wrap;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  background:var(--accent);
  color:var(--bg);
  border:1px solid var(--accent);
  border-radius:4px;
  padding:13px 20px;
  font-size:14px;
  font-weight:650;
  cursor:pointer;
  transition:background .15s;
}
.button:hover {
  background:#b5f0fc;
}
.button:disabled {
  opacity:.65;
  cursor:wait;
}
.text-link {
  font-size:14px;
  font-weight:550;
  display:inline-flex;
  gap:14px;
  align-items:center;
}
.hero-note {
  font-size:12px;
  margin:22px 0 0;
}
.tiny-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}
.cloud-scene { position: relative; }
.cloud-scene svg { display: block; width: 100%; overflow: visible; }
.cloud-scene::after { content: ""; position: absolute; left: 50%; top: 77%; bottom: -245px; width: 120px; transform: translateX(-50%); opacity: .2; background: linear-gradient(90deg, transparent 0 16%, #72def3 16% 17%, transparent 17% 48%, #72def3 48% 49%, transparent 49% 80%, #72def3 80% 81%, transparent 81%); mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 90%, transparent); pointer-events: none; }
.cloud-caption { text-align: center; font-size: 11px; letter-spacing: 1.2px; margin: -12px 0 0; color: var(--muted); }
.section {
  position:relative;
  padding-block:85px;
  border-top:1px solid var(--line);
}
.podl-section { border-top:0; }
.podl-section .section-heading > div { max-width: 680px; }
.section-heading {
  display:grid;
  grid-template-columns:140px minmax(0, 1fr);
  gap:40px;
  margin-bottom:45px;
}
.section-heading>.eyebrow {
  padding-top:8px;
}
h2 {
  font-size:clamp(32px,3.4vw,46px);
  font-weight:450;
  letter-spacing:-1.8px;
  line-height:1.18;
  margin-bottom:24px;
}
.section-heading p:not(.eyebrow) {
  max-width:690px;
  font-size:17px;
  margin-bottom:0;
}
.benefits {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.benefit {
  display:flex;
  flex-direction:column;
  border-top:1px solid #487891;
  padding-top:25px;
}
.card-number {
  font-size:11px;
  color:var(--accent);
  margin-bottom:35px;
}
.benefit h3 {
  font-size:21px;
  letter-spacing:-.5px;
  line-height:1.3;
  font-weight:500;
  margin-bottom:16px;
}
.benefit>p {
  font-size:15px;
  margin-bottom:28px;
}
.benefit details {
  margin-top:auto;
}
details {
  border-top:1px solid var(--line);
}
summary {
  list-style:none;
  cursor:pointer;
  padding:16px 0;
  display:flex;
  justify-content:space-between;
  gap:18px;
  font-size:13px;
  color:var(--text);
}
summary::-webkit-details-marker {
  display:none;
}
summary>span {
  color:var(--accent);
  font-size:18px;
  line-height:1.2;
}
details[open] summary>span {
  transform:rotate(45deg);
}
summary:hover {
  color:var(--accent);
}
.detail-copy p {
  font-size:14px;
  margin:0 0 15px;
}
.podl-footnote {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:40px;
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted);
}
.podl-footnote p {
  margin:0;
  max-width:580px;
}
.principles {
  background:#0c1a2b;
}
.principles-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px;
}
.principles h2 {
  margin-bottom:0;
}
.principle-copy {
  padding-top:35px;
}
.principle-copy p {
  font-size:16px;
}
.principle-copy .text-link {
  margin-top:10px;
}
.research-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding:35px 40px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:6px;
}
.status {
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:11px;
  color:var(--accent);
  margin-bottom:22px;
}
.research-panel h3 {
  font-size:25px;
  font-weight:450;
  letter-spacing:-.6px;
  margin-bottom:15px;
}
.research-panel p {
  font-size:15px;
}
.research-detail {
  padding-top:3px;
}
.contact {
  background:#0c1a2b;
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
}
.contact-grid>div>p {
  max-width:440px;
}
.contact-note {
  font-size:14px;
  border-left:1px solid var(--accent);
  padding-left:20px;
  margin-top:30px;
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
label {
  display:block;
  font-size:12px;
  margin-bottom:7px;
}
label span {
  color:var(--muted);
}
input,select,textarea {
  display:block;
  width:100%;
  min-width:0;
  background:var(--bg);
  border:1px solid #3e556d;
  color:var(--text);
  border-radius:3px;
  padding:10px 12px;
  margin-bottom:18px;
  font-size:14px;
}
textarea {
  resize:vertical;
}
input:focus,select:focus,textarea:focus {
  border-color:var(--accent);
}
::placeholder {
  color:#91a7bc;
}
.form-note,.captcha-note {
  font-size:11px;
  line-height:1.7;
}
.captcha-note {
  margin:15px 0 0;
}
.captcha-note a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.form-status {
  font-size:14px;
  margin:12px 0 0;
}
.form-status:empty {
  display:none;
}
.form-status[data-state=error] {
  color:#ffc7b8;
}
.form-status[data-state=success] {
  color:var(--accent);
}
footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:32px;
}
footer>span,footer small {
  font-size:11px;
  color:var(--muted);
}
.skip-link {
  position:absolute;
  top:-100px;
  left:20px;
  background:var(--accent);
  color:var(--bg);
  padding:10px;
  z-index:10;
}
.skip-link:focus {
  top:10px;
}
@media(min-width:1500px) {
  .hero {
    padding-block:120px;
  }
}
@media(max-width:1000px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .site-header {
    padding-inline:32px;
  }
  .hero {
    gap:35px;
    padding-block:75px;
  }
  .hero h1 {
    font-size:53px;
    letter-spacing:-2px;
  }
  .actions {
    gap:18px;
  }
  .principles-grid,.contact-grid {
    gap:45px;
  }
  .benefits {
    gap:22px;
  }
  .benefit h3 {
    font-size:19px;
  }
  .research-panel {
    gap:35px;
    padding:30px;
  }
}
@media(max-width:720px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .site-header {
    padding:19px 20px;
    gap:15px;
  }
  .brand {
    font-size:22px;
  }
  .brand-mark {
    display:none;
  }
  nav {
    gap:18px;
    font-size:12px;
  }
  .nav-cta {
    padding:0;
    border:0;
  }
  .nav-cta span {
    display:none;
  }
  .hero {
    grid-template-columns:1fr;
    padding-block:55px 60px;
    gap:40px;
  }
  .hero h1 {
    font-size:clamp(43px,9vw,62px);
  }
  .intro {
    font-size:16px;
  }
  .hero-note {
    font-size:11px;
  }

  .section {
    padding-block:55px;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:35px;
  }
  .section-heading>.eyebrow {
    margin-bottom:18px;
  }
  .section-heading p:not(.eyebrow) {
    font-size:16px;
  }
  h2 {
    font-size:35px;
  }
  .benefits {
    grid-template-columns:1fr;
    gap:30px;
  }
  .card-number {
    margin-bottom:18px;
  }
  .benefit h3 {
    font-size:23px;
  }
  .benefit>p {
    margin-bottom:15px;
  }
  .podl-footnote {
    grid-template-columns:1fr;
    gap:10px;
    margin-top:30px;
  }
  .principles-grid,.research-panel,.contact-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .principle-copy {
    padding-top:0;
  }
  .research-panel {
    padding:25px;
    gap:10px;
  }
  .contact-grid {
    gap:35px;
  }
  footer {
    flex-wrap:wrap;
    padding-block:25px;
    gap:15px;
  }
  footer>span {
    display:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
  .puddle-drop {
    animation:none;
    opacity:.7;
    transform:none;
  }
}

/* Cloud light stays behind the content; all artwork is static. */
body {
  background-image: radial-gradient(ellipse 70% 550px at 85% 160px, #17365355, transparent), radial-gradient(ellipse 65% 350px at 0% 600px, #142c4533, transparent);
}
.site-header { background: #07111fa6; }
.hero { gap: 50px; }
.hero { padding-bottom:45px; }
.hero h1 em { text-shadow: 0 0 45px #68d9ff20; }
nav [aria-current="page"] { color: var(--accent); }
.puddle-mark { position: absolute; top: 250px; right: 11%; width: 220px; opacity: .7; pointer-events: none; z-index: 1; }
.puddle-mark svg { display: block; width: 100%; }
.sprout-mark { position: absolute; top: 190px; right: 11%; width: 220px; opacity: .7; pointer-events: none; z-index: 1; }
.sprout-mark svg { display: block; width: 100%; }
.puddle-drop { transform-origin: 120px 78px; animation: puddle-drop 3.4s ease-in infinite; }
@keyframes puddle-drop { 0%, 54% { opacity: 0; transform: translateY(-15px) scale(.65); } 68% { opacity: .85; transform: translateY(19px) scale(.9); } 73%, 100% { opacity: 0; transform: translateY(30px) scale(1); } }
.approach-hero { padding-block: 80px 65px; border-bottom: 1px solid var(--line); }
.approach-hero h1 { font-size: clamp(40px, 4.5vw, 62px); letter-spacing: -2px; }
.approach-hero .intro { max-width: 750px; margin-bottom: 0; }
.approach-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 70px; padding-block: 60px; }
.page-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; align-self: start; position: sticky; top: 30px; }
.approach-content { max-width: 800px; }
.approach-section { padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid var(--line); }
.approach-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.approach-section h2 { font-size: clamp(28px, 3vw, 38px); }
.approach-section details { margin-top: 25px; }
.process-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 25px 0; margin: 25px 0; list-style: none; border-block: 1px solid var(--line); }
.process-flow li { min-width: 0; font-size: 13px; color: var(--muted); }
.process-flow span { display: block; color: var(--accent); font-size: 17px; margin-bottom: 8px; }
.briefing-note { padding: 30px; margin-top: 35px; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
.briefing-note h3 { font-size: 23px; font-weight: 500; }
@media (max-width: 1000px) {
  .site-header { padding-inline: 24px; }
  nav { gap: 22px; }
  .approach-layout { gap: 35px; grid-template-columns: 150px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .puddle-mark { display:none; }
  .sprout-mark { display:none; }
  .cloud-scene::after { display:none; }
}
@media (max-width: 720px) {
  .site-header { flex-wrap: wrap; padding: 18px 20px; gap: 18px; }
  .site-header .brand-mark { display: block; width: 30px; height: 26px; margin-right: 8px; }
  .site-header nav { width: 100%; justify-content: space-between; gap: 12px; }
  .hero { gap: 15px; }
  .hero { padding-bottom:60px; }
  .puddle-mark { display:none; }
  .cloud-scene::after { display:none; }
  .puddle-mark { top: 12px; right: 2px; width: 130px; opacity: .45; }
  .cloud-scene { width: min(100%, 400px); margin-inline: auto; }
  .cloud-caption { margin-top: -20px; }
  .approach-hero { padding-block: 50px; }
  .approach-layout { grid-template-columns: 1fr; gap: 35px; padding-block: 30px; }
  .page-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 12px 22px; }
  .process-flow { grid-template-columns: repeat(2, 1fr); gap: 15px; }
  .briefing-note { padding: 22px; }
}
