:root {
  --ink: #071114;
  --ink-soft: #172326;
  --paper: #f5f4ef;
  --paper-deep: #e8e9e3;
  --muted: #6f7977;
  --line: rgba(7, 17, 20, .14);
  --white-line: rgba(245, 244, 239, .2);
  --lime: #c6ef5e;
  --lime-soft: #e6f9b5;
  --blue: #9ed7ff;
  --violet: #d4b7ff;
  --orange: #ff9c67;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 24px;
  --page: min(1320px, calc(100% - 96px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.site-shell { overflow: hidden; }
.section-pad { width: var(--page); margin: 0 auto; }
.site-header { width: var(--page); margin: 0 auto; min-height: 88px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; letter-spacing: -.06em; }
.brand-dot { color: #8cb82d; }
.brand-mark { width: 24px; height: 24px; display: inline-flex; gap: 3px; align-items: flex-end; }
.brand-mark i { display: block; width: 5px; border-radius: 3px; background: var(--ink); transform: skew(-24deg); }
.brand-mark i:nth-child(1) { height: 11px; opacity: .46; }
.brand-mark i:nth-child(2) { height: 17px; opacity: .72; }
.brand-mark i:nth-child(3) { height: 23px; background: #97c53d; }
.desktop-nav { display: flex; align-items: center; gap: 31px; margin-left: 100px; }
.desktop-nav a, .header-cta, .text-link, .footer-bottom, .contact-phone { font-size: 12px; font-weight: 700; letter-spacing: -.01em; }
.desktop-nav a { color: #56615f; transition: color .25s ease; }
.desktop-nav a:hover { color: var(--ink); }
.header-cta { border: 1px solid var(--ink); border-radius: 50px; padding: 12px 16px; transition: background .25s ease, color .25s ease; }
.header-cta span, .button span, .product-link span, .light-link span { margin-left: 8px; font-size: 16px; }
.header-cta:hover { background: var(--ink); color: var(--paper); }
.menu-toggle, .mobile-menu { display: none; }

.hero { display: grid; grid-template-columns: .92fr 1.08fr; gap: 7.5%; min-height: 635px; align-items: center; padding-top: 55px; padding-bottom: 90px; }
.eyebrow, .section-kicker, .product-topline, .status, .product-category, .product-index, .hero-visual-top, .hero-visual-bottom, .signal-strip, .product-details span, .mini-details span, .roadmap-item small, .foundation-tags, .capability-number, .contact-signal, .footer-location, .quote-source, .footnote-dot, .lesson-label { font-family: var(--mono); text-transform: uppercase; letter-spacing: .045em; font-size: 10px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: #65706d; margin-bottom: 23px; }
.eyebrow-dot, .contact-signal i, .live-pulse i, .status i, .footnote-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: #9ac43d; box-shadow: 0 0 0 5px rgba(154, 196, 61, .14); }
.hero h1 { font-size: clamp(51px, 6vw, 92px); line-height: .94; letter-spacing: -.085em; margin: 0; font-weight: 800; }
.hero h1 em, h2 em, h3 em { font-style: normal; color: #7b8a85; }
.hero-lede { color: #59635f; max-width: 500px; line-height: 1.62; font-size: 16px; margin: 31px 0 31px; }
.hero-actions { display: flex; align-items: center; gap: 27px; }
.button { display: inline-flex; align-items: center; justify-content: center; border-radius: 50px; padding: 14px 18px; font-size: 12px; font-weight: 800; letter-spacing: -.01em; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7,17,20,.12); }
.button-dark { background: var(--ink); color: var(--paper); }
.button-outline { border: 1px solid var(--ink); color: var(--ink); }
.button-lime { background: var(--lime); color: var(--ink); }
.text-link, .product-link, .light-link { display: inline-flex; align-items: center; font-size: 12px; font-weight: 800; }
.text-link { color: #5d6965; }
.text-link:hover, .product-link:hover, .light-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.hero-visual { min-height: 500px; border-radius: var(--radius); overflow: hidden; background: #0b191c; position: relative; color: var(--paper); display: flex; align-items: center; justify-content: center; isolation: isolate; }
.signal-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(198,239,94,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(198,239,94,.25) 1px, transparent 1px); background-size: 45px 45px; mask-image: radial-gradient(circle at center, #000, transparent 74%); }
.hero-visual::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 54% 46%, rgba(198,239,94,.17), transparent 24%), radial-gradient(circle at 15% 85%, rgba(158,215,255,.14), transparent 28%); }
.hero-visual-top, .hero-visual-bottom { position: absolute; left: 28px; right: 28px; display: flex; justify-content: space-between; z-index: 3; color: rgba(245,244,239,.6); }
.hero-visual-top { top: 27px; }.hero-visual-bottom { bottom: 26px; font-size: 9px; color: rgba(245,244,239,.48); }
.live-pulse { color: var(--lime); }.live-pulse i { width: 5px; height: 5px; margin-right: 6px; box-shadow: none; }
.orbit { position: absolute; border: 1px solid rgba(198,239,94,.25); border-radius: 50%; left: 50%; top: 49%; transform: translate(-50%, -50%) rotate(-24deg); z-index: 1; }
.orbit-outer { width: 390px; height: 210px; }.orbit-inner { width: 270px; height: 150px; border-color: rgba(158,215,255,.25); transform: translate(-50%, -50%) rotate(44deg); }
.core-node { width: 115px; height: 115px; border-radius: 50%; background: linear-gradient(145deg, rgba(198,239,94,.88), rgba(123,159,48,.92)); color: var(--ink); display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; z-index: 2; box-shadow: 0 0 50px rgba(198,239,94,.25), 0 0 0 1px rgba(198,239,94,.5); }
.core-node .core-symbol { font-size: 24px; line-height: 1; margin-bottom: 4px; }.core-node strong { font-size: 20px; letter-spacing: -.07em; }.core-node small { font-family: var(--mono); font-size: 7px; text-transform: uppercase; margin-top: 6px; opacity: .75; }
.orbit-label { position: absolute; z-index: 3; display: flex; flex-direction: column; gap: 4px; font-size: 11px; color: rgba(245,244,239,.82); }.orbit-label span { font: 9px var(--mono); color: var(--lime); }.label-a { top: 29%; left: 13%; }.label-b { top: 39%; right: 12%; }.label-c { bottom: 25%; left: 29%; }
.orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .7; z-index: 1; }.orb-a { width: 7px; height: 7px; background: var(--lime); left: 21%; top: 38%; box-shadow: 0 0 24px 4px rgba(198,239,94,.6); }.orb-b { width: 5px; height: 5px; background: var(--blue); right: 22%; top: 60%; box-shadow: 0 0 22px 4px rgba(158,215,255,.6); }.orb-c { width: 5px; height: 5px; background: var(--violet); left: 36%; bottom: 22%; box-shadow: 0 0 22px 4px rgba(212,183,255,.5); }

.signal-strip { width: 100%; background: var(--ink); color: var(--paper); display: grid; grid-template-columns: repeat(4, 1fr); padding: 22px max(48px, calc((100% - 1320px) / 2)); gap: 25px; }.signal-strip div { display: flex; gap: 12px; align-items: center; }.signal-strip b { font: 500 18px var(--mono); color: var(--lime); letter-spacing: -.07em; }.signal-strip span { color: rgba(245,244,239,.63); }

.thesis { padding-top: 135px; padding-bottom: 150px; }.section-kicker { color: #65706d; display: flex; align-items: center; gap: 9px; margin-bottom: 34px; }.section-kicker span { color: #9bad9f; }.thesis-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 11%; }.thesis h2, .portfolio h2, .roadmap h2, .foundation h2, .capabilities h2, .trust h2, .contact h2 { font-size: clamp(39px, 4.5vw, 68px); line-height: 1; letter-spacing: -.08em; margin: 0; font-weight: 800; }.thesis-body { padding-top: 7px; }.thesis-body > p { color: #58635f; line-height: 1.65; font-size: 16px; max-width: 480px; margin: 0 0 38px; }.quote-card { background: var(--paper-deep); padding: 27px 29px 25px; border-radius: 18px; position: relative; }.quote-mark { font-size: 40px; color: #9cbb53; line-height: .5; }.quote-card p { font-size: 16px; line-height: 1.43; letter-spacing: -.03em; margin: 9px 0 22px; max-width: 390px; }.quote-source { color: #7c8984; }

.portfolio { padding-bottom: 150px; }.portfolio-intro { margin-bottom: 59px; }.portfolio-title-row { display: grid; grid-template-columns: 1fr .55fr; gap: 11%; align-items: end; }.portfolio-title-row p { line-height: 1.6; color: #66716c; font-size: 14px; margin: 0 0 6px; max-width: 350px; }.product-stack { display: flex; flex-direction: column; gap: 18px; }.product-card { border-radius: var(--radius); padding: 28px 32px 27px; position: relative; overflow: hidden; }.product-quality { background: #dceec0; min-height: 525px; }.product-buddy { background: #d8eff6; }.product-tutor { background: #ebdefa; }.product-index { color: rgba(7,17,20,.47); }.product-topline { display: flex; justify-content: space-between; align-items: center; margin: 19px 0 27px; }.status { border: 1px solid rgba(7,17,20,.25); border-radius: 50px; padding: 7px 10px 6px; display: inline-flex; align-items: center; gap: 7px; color: rgba(7,17,20,.75); }.status i { width: 5px; height: 5px; box-shadow: none; }.status-poc i { background: #5e9fb1; }.product-category { color: rgba(7,17,20,.52); }.product-main { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5%; align-items: center; }.product-title h3 { font-size: clamp(38px, 4.2vw, 61px); line-height: .94; letter-spacing: -.08em; margin: 0 0 24px; max-width: 530px; }.product-title p, .product-card > p { color: rgba(7,17,20,.67); line-height: 1.55; font-size: 14px; max-width: 420px; margin: 0; }.product-visual { min-height: 240px; position: relative; }.quality-visual { border-left: 1px solid rgba(7,17,20,.15); }.quality-ring { position: absolute; width: 178px; height: 178px; border: 1px solid rgba(7,17,20,.28); border-radius: 50%; top: 50%; left: 51%; transform: translate(-50%, -50%); display: grid; place-items: center; font: 18px var(--mono); color: rgba(7,17,20,.68); box-shadow: inset 0 0 0 28px rgba(255,255,255,.09); }.quality-ring::after { content: ""; position: absolute; inset: 27px; border-radius: 50%; border: 1px dashed rgba(7,17,20,.3); }.quality-lines { position: absolute; inset: 0 11% 0 8%; display: flex; flex-direction: column; justify-content: center; gap: 13px; opacity: .48; }.quality-lines span { height: 1px; background: linear-gradient(90deg, transparent, #577234, transparent); }.quality-chip { position: absolute; z-index: 2; font: 9px var(--mono); text-transform: uppercase; background: rgba(245,244,239,.7); border: 1px solid rgba(7,17,20,.13); padding: 9px 10px; border-radius: 7px; color: rgba(7,17,20,.64); backdrop-filter: blur(5px); }.quality-chip b { display: block; color: var(--ink); font-size: 11px; margin-top: 4px; }.chip-1 { top: 14%; left: 4%; }.chip-2 { top: 61%; right: 2%; }.chip-3 { bottom: 3%; left: 24%; }.product-details { border-top: 1px solid rgba(7,17,20,.16); display: grid; grid-template-columns: 1.2fr 1.35fr .9fr; gap: 3%; margin-top: 24px; padding-top: 18px; }.product-details div, .mini-details div { display: flex; flex-direction: column; gap: 6px; }.product-details span, .mini-details span { color: rgba(7,17,20,.5); }.product-details strong, .mini-details strong { font-size: 12px; font-weight: 700; line-height: 1.35; letter-spacing: -.02em; }.product-link { margin-top: 23px; }.product-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.product-pair .product-card { min-height: 527px; padding: 27px 29px; }.product-pair h3 { font-size: clamp(38px, 4vw, 54px); letter-spacing: -.08em; margin: 0 0 19px; line-height: .95; }.product-pair h3 span { color: rgba(7,17,20,.54); }.product-pair > article > p { max-width: 400px; margin-bottom: 22px; }.buddy-visual { height: 204px; position: relative; margin: 10px 0 18px; }.avatar { position: absolute; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 17px; border: 1px solid rgba(7,17,20,.22); z-index: 2; }.avatar-main { width: 75px; height: 75px; background: var(--ink); color: var(--lime); left: 42%; top: 31%; }.avatar-1, .avatar-2, .avatar-3 { width: 43px; height: 43px; background: rgba(245,244,239,.63); color: var(--ink); font-size: 12px; }.avatar-1 { left: 12%; top: 12%; }.avatar-2 { right: 11%; top: 16%; }.avatar-3 { left: 20%; bottom: 8%; }.connection { position: absolute; height: 1px; background: rgba(7,17,20,.28); transform-origin: left; z-index: 1; }.c-1 { width: 117px; top: 41%; left: 27%; transform: rotate(15deg); }.c-2 { width: 112px; top: 44%; right: 28%; transform: rotate(-20deg); }.c-3 { width: 105px; top: 53%; left: 29%; transform: rotate(60deg); }.buddy-caption { position: absolute; right: 0; bottom: 0; font: 9px var(--mono); text-transform: uppercase; color: rgba(7,17,20,.44); }.mini-details { border-top: 1px solid rgba(7,17,20,.17); padding-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.tutor-visual { height: 204px; margin: 10px 0 18px; position: relative; display: grid; place-items: center; }.lesson-card { width: 83%; padding: 21px 20px 17px; background: rgba(245,244,239,.68); border: 1px solid rgba(7,17,20,.1); border-radius: 13px; transform: rotate(-3deg); box-shadow: 8px 10px 0 rgba(7,17,20,.08); }.lesson-label { font-size: 8px; color: rgba(7,17,20,.47); }.lesson-card strong { display: block; font-size: 18px; letter-spacing: -.06em; margin: 12px 0 18px; }.lesson-card small { font: 9px var(--mono); color: rgba(7,17,20,.54); }.lesson-bar { height: 5px; border-radius: 10px; background: rgba(7,17,20,.1); margin-bottom: 8px; overflow: hidden; }.lesson-bar i { display: block; width: 78%; height: 100%; background: #a779db; border-radius: inherit; }.tutor-spark { position: absolute; right: 2%; bottom: 7%; font-size: 35px; color: #ae78e6; transform: rotate(15deg); }
.product-footnote { display: flex; align-items: center; gap: 10px; margin: 19px 0 0; color: #7b8680; font: 10px var(--mono); line-height: 1.5; }.footnote-dot { width: 5px; height: 5px; box-shadow: none; background: #a7b1a6; flex: 0 0 auto; }

.roadmap { max-width: none; width: 100%; padding-left: max(48px, calc((100% - 1320px) / 2)); padding-right: max(48px, calc((100% - 1320px) / 2)); background: var(--ink); color: var(--paper); padding-top: 135px; padding-bottom: 125px; }.roadmap-header { display: grid; grid-template-columns: .8fr 1.25fr .7fr; gap: 7%; align-items: end; }.section-kicker.light { color: rgba(245,244,239,.58); }.roadmap h2 { color: var(--paper); }.roadmap h2 em { color: rgba(245,244,239,.48); }.roadmap-header p { color: rgba(245,244,239,.58); line-height: 1.6; font-size: 14px; margin: 0 0 6px; }.roadmap-track { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 112px; }.roadmap-line { position: absolute; top: 17px; left: 10px; right: 10px; height: 1px; background: rgba(245,244,239,.22); }.line-progress { display: block; width: 73%; height: 2px; background: var(--lime); box-shadow: 0 0 14px rgba(198,239,94,.6); }.roadmap-item { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }.roadmap-dot { width: 35px; height: 35px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(245,244,239,.28); background: var(--ink); color: rgba(245,244,239,.57); font: 9px var(--mono); z-index: 2; }.roadmap-item strong { font-size: 12px; font-weight: 700; letter-spacing: -.03em; }.roadmap-item small { color: rgba(245,244,239,.47); }.roadmap-item.done .roadmap-dot { border-color: var(--lime); color: var(--lime); }.roadmap-item.active .roadmap-dot, .roadmap-item.current .roadmap-dot { background: var(--lime); border-color: var(--lime); color: var(--ink); }.roadmap-item.current .roadmap-dot { box-shadow: 0 0 0 7px rgba(198,239,94,.13); }.roadmap-note { margin-top: 106px; border-top: 1px solid rgba(245,244,239,.18); padding-top: 24px; display: grid; grid-template-columns: .4fr 1fr .7fr; align-items: center; gap: 7%; }.note-number { font: 42px var(--mono); letter-spacing: -.12em; color: var(--lime); }.roadmap-note p { color: rgba(245,244,239,.64); line-height: 1.5; font-size: 13px; max-width: 460px; margin: 0; }.light-link { color: var(--paper); justify-self: end; }

.foundation { padding-top: 135px; padding-bottom: 140px; }.foundation-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12%; align-items: center; }.foundation-copy h2 { margin-bottom: 25px; }.foundation-copy p { color: #66716c; line-height: 1.63; font-size: 15px; max-width: 380px; margin: 0 0 29px; }.foundation-map { min-height: 470px; background: #e5ebdf; border-radius: var(--radius); position: relative; overflow: hidden; background-image: linear-gradient(rgba(7,17,20,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(7,17,20,.06) 1px, transparent 1px); background-size: 33px 33px; }.foundation-map::before, .foundation-map::after { content: ""; position: absolute; background: rgba(7,17,20,.17); transform-origin: left; left: 50%; top: 50%; height: 1px; width: 39%; }.foundation-map::before { transform: rotate(-38deg); }.foundation-map::after { transform: rotate(38deg); }.map-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 180px; height: 180px; border-radius: 50%; background: var(--ink); color: var(--paper); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; z-index: 2; box-shadow: 0 0 0 13px rgba(7,17,20,.06), 0 0 0 14px rgba(7,17,20,.14); }.map-core span, .map-core small { font: 8px var(--mono); text-transform: uppercase; color: var(--lime); }.map-core strong { font-size: 24px; line-height: .88; letter-spacing: -.08em; margin: 13px 0; }.map-core small { color: rgba(245,244,239,.5); font-size: 7px; }.map-branch { position: absolute; z-index: 3; background: rgba(245,244,239,.76); border: 1px solid rgba(7,17,20,.14); border-radius: 9px; padding: 12px 14px; min-width: 155px; backdrop-filter: blur(5px); }.map-branch i { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); margin-bottom: 10px; }.map-branch strong { display: block; font-size: 11px; letter-spacing: -.04em; }.map-branch small { display: block; color: #7d8981; font: 8px var(--mono); text-transform: uppercase; margin-top: 5px; }.branch-top { left: 50%; transform: translateX(-50%); top: 8%; }.branch-right { right: 6%; top: 45%; }.branch-bottom { left: 50%; transform: translateX(-50%); bottom: 8%; }.branch-left { left: 6%; top: 45%; }.foundation-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px; color: #69756e; }.foundation-tags span { border: 1px solid rgba(7,17,20,.15); padding: 10px 13px; border-radius: 50px; }

.capabilities { padding-top: 135px; padding-bottom: 145px; background: #e7e9e2; max-width: none; width: 100%; padding-left: max(48px, calc((100% - 1320px) / 2)); padding-right: max(48px, calc((100% - 1320px) / 2)); display: grid; grid-template-columns: .82fr 1.18fr; gap: 12%; }.capabilities-intro h2 { margin-bottom: 25px; }.capabilities-intro p { color: #66716c; line-height: 1.6; font-size: 14px; max-width: 350px; }.capability-list { border-top: 1px solid rgba(7,17,20,.18); }.capability-row { display: grid; grid-template-columns: 48px 1fr 1.15fr 20px; gap: 20px; align-items: center; padding: 21px 0; border-bottom: 1px solid rgba(7,17,20,.18); transition: padding .25s ease, color .25s ease; }.capability-row:hover { padding-left: 12px; color: #668c20; }.capability-number { color: #8b9891; }.capability-row strong { font-size: 17px; letter-spacing: -.05em; }.capability-note { font-size: 12px; color: #7c8680; }.capability-arrow { font-size: 18px; text-align: right; }

.trust { background: var(--paper); padding-top: 0; padding-bottom: 135px; }.trust-card { background: var(--ink); color: var(--paper); border-radius: var(--radius); padding: 62px 67px; display: grid; grid-template-columns: 1fr 1fr; gap: 13%; }.trust h2 { color: var(--paper); font-size: clamp(36px, 4.2vw, 61px); }.trust h2 em { color: rgba(245,244,239,.45); }.trust-copy > p { color: rgba(245,244,239,.6); font-size: 14px; line-height: 1.65; max-width: 455px; margin: 29px 0 0; }.trust-list { border-top: 1px solid rgba(245,244,239,.2); }.trust-list > div { display: grid; grid-template-columns: 40px 1fr; column-gap: 15px; padding: 19px 0; border-bottom: 1px solid rgba(245,244,239,.2); }.trust-list span { color: var(--lime); font: 10px var(--mono); }.trust-list strong { font-size: 14px; }.trust-list p { grid-column: 2; color: rgba(245,244,239,.55); font-size: 12px; line-height: 1.45; margin: 6px 0 0; }

.contact { padding-bottom: 120px; }.contact-card { border: 1px solid rgba(7,17,20,.18); border-radius: var(--radius); padding: 51px 60px 57px; background: linear-gradient(130deg, #e9edce, #e7edf0); position: relative; overflow: hidden; }.contact-card::before { content: ""; position: absolute; right: -10%; top: -55%; width: 65%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(7,17,20,.11); box-shadow: 0 0 0 42px rgba(7,17,20,.025), 0 0 0 84px rgba(7,17,20,.025), 0 0 0 126px rgba(7,17,20,.025); }.contact-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }.contact-signal { display: flex; align-items: center; gap: 8px; color: #6f7d75; }.contact-signal i { width: 5px; height: 5px; box-shadow: none; }.contact-card h2 { font-size: clamp(47px, 6vw, 84px); margin: 34px 0 20px; position: relative; z-index: 1; }.contact-card h2 em { color: #7d8b83; }.contact-card > p { color: #64716a; line-height: 1.6; font-size: 14px; max-width: 420px; position: relative; z-index: 1; }.contact-actions { display: flex; gap: 25px; align-items: center; margin-top: 31px; position: relative; z-index: 1; }.contact-phone { color: #58665e; }
.site-footer { padding-top: 0; padding-bottom: 32px; }.footer-brand p { color: #7d8882; font-size: 12px; margin: 16px 0 0; }.footer-location { display: flex; flex-direction: column; gap: 8px; color: #7d8882; margin-top: 56px; }.footer-location span:first-child { color: #4c5b54; }.footer-bottom { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(7,17,20,.14); color: #8a948d; display: flex; justify-content: space-between; gap: 20px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.reveal.visible { opacity: 1; transform: translateY(0); }.delay-1 { transition-delay: .12s; }

@media (max-width: 960px) {
  :root { --page: min(100% - 48px, 720px); }
  .desktop-nav { margin-left: 0; gap: 16px; }.desktop-nav a { font-size: 11px; }.header-cta { padding: 10px 12px; font-size: 11px; }
  .hero { grid-template-columns: 1fr; gap: 45px; padding-top: 55px; }.hero-visual { min-height: 430px; }.thesis-grid, .foundation-grid, .trust-card { grid-template-columns: 1fr; gap: 50px; }.portfolio-title-row { grid-template-columns: 1fr; gap: 27px; }.product-main { grid-template-columns: 1fr; gap: 20px; }.quality-visual { border-left: 0; min-height: 225px; }.roadmap-header { grid-template-columns: 1fr; gap: 26px; }.roadmap-track { gap: 10px; }.roadmap-item strong { font-size: 10px; }.roadmap-item small { font-size: 8px; }.roadmap-note { grid-template-columns: .3fr 1fr; gap: 18px; }.roadmap-note .light-link { grid-column: 2; justify-self: start; }.capabilities { grid-template-columns: 1fr; gap: 55px; }.trust-card { padding: 45px 36px; }.footer-bottom { flex-wrap: wrap; }
}

@media (max-width: 680px) {
  :root { --page: calc(100% - 36px); }.site-header { min-height: 75px; }.desktop-nav, .header-cta { display: none; }.menu-toggle { display: block; border: 1px solid var(--ink); background: transparent; border-radius: 50px; font-size: 11px; font-weight: 700; padding: 8px 12px; cursor: pointer; }.mobile-menu { display: none; position: absolute; top: 64px; left: 0; right: 0; padding: 12px 0 20px; background: var(--paper); border-bottom: 1px solid var(--line); }.mobile-menu.open { display: flex; flex-direction: column; gap: 18px; }.mobile-menu a { font-size: 14px; font-weight: 700; padding: 0 3px; }.mobile-menu .mobile-cta { color: #668f20; }.hero { padding-top: 50px; padding-bottom: 70px; min-height: 0; }.hero h1 { font-size: 55px; }.hero-lede { font-size: 14px; }.hero-actions { flex-wrap: wrap; gap: 18px; }.hero-visual { min-height: 380px; }.hero-visual-top, .hero-visual-bottom { left: 18px; right: 18px; font-size: 8px; }.hero-visual-bottom span:last-child { display: none; }.orbit-outer { width: 310px; height: 180px; }.orbit-inner { width: 225px; height: 130px; }.core-node { width: 100px; height: 100px; }.label-a { left: 6%; }.label-b { right: 6%; }.label-c { bottom: 22%; left: 20%; }.signal-strip { padding: 19px 18px; grid-template-columns: 1fr 1fr; gap: 17px 13px; font-size: 8px; }.signal-strip b { font-size: 15px; }.thesis, .foundation, .capabilities { padding-top: 92px; padding-bottom: 95px; }.thesis h2, .portfolio h2, .roadmap h2, .foundation h2, .capabilities h2, .trust h2 { font-size: 42px; }.thesis-body > p { font-size: 14px; }.quote-card { padding: 23px; }.portfolio { padding-bottom: 93px; }.product-card { padding: 22px; border-radius: 19px; }.product-quality { min-height: 0; }.product-topline { margin: 16px 0 23px; }.product-title h3 { font-size: 42px; }.product-title p, .product-card > p { font-size: 13px; }.product-details { grid-template-columns: 1fr; gap: 15px; }.product-pair { grid-template-columns: 1fr; }.product-pair .product-card { min-height: 0; }.buddy-visual, .tutor-visual { height: 180px; }.roadmap { padding: 92px 18px; }.roadmap-track { display: flex; flex-direction: column; margin-top: 61px; gap: 17px; padding-left: 10px; }.roadmap-line { top: 15px; bottom: 15px; left: 27px; width: 1px; height: auto; right: auto; }.line-progress { width: 1px; height: 70%; }.roadmap-item { display: grid; grid-template-columns: 35px 1fr; align-items: center; column-gap: 15px; }.roadmap-item small { grid-column: 2; margin-top: -7px; }.roadmap-note { margin-top: 65px; grid-template-columns: 1fr; }.roadmap-note .light-link { grid-column: 1; }.foundation-map { min-height: 410px; }.map-core { width: 140px; height: 140px; }.map-core strong { font-size: 19px; }.map-branch { min-width: 124px; padding: 9px; }.map-branch strong { font-size: 9px; }.map-branch small { font-size: 6px; }.branch-left { left: 3%; }.branch-right { right: 3%; }.capabilities { padding-left: 18px; padding-right: 18px; }.capability-row { grid-template-columns: 30px 1fr 20px; gap: 10px; }.capability-note { grid-column: 2; font-size: 10px; margin-top: -5px; }.capability-arrow { grid-column: 3; grid-row: 1 / span 2; }.trust { padding-bottom: 90px; }.trust-card { padding: 34px 24px; border-radius: 19px; }.contact { padding-bottom: 85px; }.contact-card { padding: 35px 24px 39px; }.contact-top { align-items: flex-start; gap: 15px; flex-direction: column; }.contact-card h2 { font-size: 52px; margin-top: 28px; }.contact-actions { flex-direction: column; align-items: flex-start; gap: 19px; }.footer-location { margin-top: 42px; font-size: 8px; }.footer-bottom { gap: 12px; font-size: 9px; }.footer-bottom a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } .reveal { opacity: 1; transform: none; } }

/* Dedicated contact route */
.contact-page-hero { padding-top: 105px; padding-bottom: 125px; }
.contact-page-hero h1 { font-size: clamp(54px, 7vw, 100px); line-height: .92; letter-spacing: -.09em; margin: 0 0 27px; }
.contact-page-hero h1 em { font-style: normal; color: #7b8a85; }
.contact-page-hero > p { color: #64716a; line-height: 1.65; font-size: 16px; max-width: 560px; margin: 0 0 58px; }
.contact-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-page-card { padding: 34px 34px 36px; border-radius: 20px; background: #e5ebdf; min-height: 270px; display: flex; flex-direction: column; align-items: flex-start; }
.contact-page-card:nth-child(2) { background: #d8eff6; }
.contact-card-label { font: 10px var(--mono); text-transform: uppercase; color: #738077; }
.contact-page-card h2 { font-size: 28px; line-height: 1.02; letter-spacing: -.07em; margin: 20px 0 13px; max-width: 300px; }
.contact-page-card p { color: #66716c; font-size: 13px; line-height: 1.5; max-width: 360px; margin: 0 0 27px; }
.contact-page-card .button { margin-top: auto; }
.contact-page-meta { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 55px; color: #7d8882; font: 10px var(--mono); text-transform: uppercase; }
.contact-page-meta a { color: #56645b; }
@media (max-width: 680px) {
  .contact-page-hero { padding-top: 72px; padding-bottom: 82px; }
  .contact-page-hero h1 { font-size: 55px; }
  .contact-page-hero > p { font-size: 14px; margin-bottom: 38px; }
  .contact-page-grid { grid-template-columns: 1fr; }
  .contact-page-card { min-height: 245px; padding: 26px 23px 28px; }
  .contact-page-card h2 { font-size: 25px; }
}


/* Expertaid enquiry and current-site footer */
.enquiry-form { position: relative; z-index: 1; margin-top: 28px; max-width: 820px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px; }
.enquiry-form label { display: block; }
.enquiry-form label > span { display: block; color: #748078; font: 9px var(--mono); text-transform: uppercase; letter-spacing: .05em; margin: 0 0 7px; }
.enquiry-form input, .enquiry-form textarea, .newsletter-line input { width: 100%; border: 1px solid rgba(7,17,20,.2); border-radius: 9px; padding: 13px 14px; background: rgba(245,244,239,.62); color: var(--ink); font: 12px var(--sans); outline: none; }
.enquiry-form textarea { resize: vertical; min-height: 102px; }
.enquiry-form input:focus, .enquiry-form textarea:focus, .newsletter-line input:focus { border-color: #7d9e37; box-shadow: 0 0 0 3px rgba(198,239,94,.2); }
.form-note { color: #718078; font-size: 11px; margin: 9px 0 0; min-height: 16px; }
.enquiry-form .contact-actions { margin-top: 21px; }
.enquiry-form button { border: 0; cursor: pointer; }
.footer-columns { display: grid; grid-template-columns: 1.35fr 1fr 1.1fr 1fr; gap: 45px; padding-bottom: 42px; border-bottom: 1px solid rgba(7,17,20,.14); }
.footer-brand p { color: #7d8882; font-size: 12px; line-height: 1.55; max-width: 265px; margin: 17px 0 20px; }
.footer-follow { color: #7d8882; font: 10px var(--mono); text-transform: uppercase; display: flex; gap: 8px; align-items: center; }
.footer-follow span { display: inline-grid; place-items: center; width: 22px; height: 22px; color: var(--ink); background: #e7e9e2; border-radius: 50%; font: 10px var(--sans); text-transform: none; }
.footer-service-list, .footer-contact-list, .footer-newsletter { display: flex; flex-direction: column; gap: 9px; }
.footer-columns h4 { margin: 4px 0 10px; color: #53615a; font: 10px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.footer-service-list a, .footer-contact-list a, .footer-contact-list span { color: #7d8882; font-size: 11px; line-height: 1.42; }
.footer-service-list a:hover, .footer-contact-list a:hover { color: var(--ink); }
.footer-newsletter p { color: #7d8882; font-size: 11px; line-height: 1.45; margin: -3px 0 4px; }
.newsletter-line { display: flex; align-items: stretch; }
.newsletter-line input { border-radius: 8px 0 0 8px; padding: 10px; font-size: 10px; }
.newsletter-line button { width: 42px; border: 0; border-radius: 0 8px 8px 0; background: var(--ink); color: var(--lime); cursor: pointer; }
.consent { display: flex; align-items: flex-start; gap: 7px; color: #89938d; font-size: 9px; line-height: 1.35; margin-top: 6px; }
.consent input { width: 12px; height: 12px; flex: 0 0 auto; margin-top: 1px; accent-color: #7d9e37; }
.contact-page-form { max-width: 900px; margin-top: 42px; }
.contact-page-form label > span { color: #738077; }
.contact-page-form .contact-actions { margin-top: 24px; }
@media (max-width: 960px) { .footer-columns { grid-template-columns: 1fr 1fr; gap: 38px 28px; } }
@media (max-width: 680px) { .form-grid { grid-template-columns: 1fr; gap: 15px; margin-bottom: 15px; } .footer-columns { grid-template-columns: 1fr 1fr; gap: 35px 21px; } .footer-brand { grid-column: 1 / -1; } .footer-newsletter { grid-column: 1 / -1; } .enquiry-form .contact-actions { align-items: flex-start; } .contact-page-form { margin-top: 30px; } }


/* Contact panel refinement */
.contact { padding-bottom: 132px; }
.contact-card { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: stretch; padding: 58px 62px 62px; background: linear-gradient(135deg, #e7efcf 0%, #edf0e7 52%, #e1edf1 100%); }
.contact-card::before { right: -7%; top: -70%; width: 58%; opacity: .7; }
.contact-copy { position: relative; z-index: 1; display: flex; flex-direction: column; }
.contact-copy h2 { margin-top: 63px; font-size: clamp(43px, 4.8vw, 70px); }
.contact-copy > p { color: #64716a; max-width: 335px; line-height: 1.58; font-size: 14px; margin: 24px 0 0; }
.contact-copy .contact-top { position: absolute; inset: 0 auto auto 0; width: 100%; }
.contact-direct { margin-top: auto; padding-top: 38px; display: flex; flex-direction: column; gap: 8px; }
.contact-direct > span { color: #738077; font: 9px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.contact-direct a { width: fit-content; color: #435349; font-size: 13px; font-weight: 700; }
.contact-direct a:hover { color: #698d25; }
.contact-direct b { color: #7ea32e; margin-left: 5px; }
.contact-card .enquiry-form { align-self: stretch; margin: 0; padding: 29px 29px 26px; background: rgba(245,244,239,.73); border: 1px solid rgba(7,17,20,.12); border-radius: 17px; box-shadow: 0 12px 35px rgba(7,17,20,.06); backdrop-filter: blur(8px); }
.form-heading { display: flex; flex-direction: column; gap: 5px; margin-bottom: 25px; }
.form-heading span { color: #77847c; font: 9px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.form-heading strong { color: var(--ink); font-size: 18px; letter-spacing: -.05em; }
.contact-card .enquiry-form input, .contact-card .enquiry-form textarea { background: rgba(255,255,255,.57); border-color: rgba(7,17,20,.16); }
.contact-card .enquiry-form input, .contact-card .enquiry-form textarea { padding: 12px 13px; }
.form-assurance { color: #7d8981; font-size: 10px; line-height: 1.35; max-width: 230px; }
.contact-card .form-note { margin-left: 2px; }
/* Footer refinement */
.site-footer { width: 100%; max-width: none; margin: 0; padding: 72px max(48px, calc((100% - 1320px) / 2)) 30px; background: var(--ink); color: var(--paper); }
.site-footer .footer-columns { width: 100%; padding-bottom: 55px; border-bottom-color: rgba(245,244,239,.17); }
.site-footer .brand { color: var(--paper); }
.site-footer .brand-mark i:nth-child(1), .site-footer .brand-mark i:nth-child(2) { background: var(--paper); }
.site-footer .brand-mark i:nth-child(3) { background: var(--lime); }
.site-footer .footer-brand p, .site-footer .footer-service-list a, .site-footer .footer-contact-list a, .site-footer .footer-contact-list span, .site-footer .footer-newsletter p { color: rgba(245,244,239,.58); }
.site-footer .footer-columns h4 { color: var(--lime); }
.site-footer .footer-service-list a:hover, .site-footer .footer-contact-list a:hover { color: var(--paper); }
.site-footer .footer-follow { color: rgba(245,244,239,.52); }
.site-footer .footer-follow span { background: rgba(245,244,239,.12); color: var(--paper); }
.site-footer .newsletter-line input { background: rgba(245,244,239,.08); border-color: rgba(245,244,239,.22); color: var(--paper); }
.site-footer .newsletter-line input::placeholder { color: rgba(245,244,239,.45); }
.site-footer .newsletter-line button { background: var(--lime); color: var(--ink); }
.site-footer .consent { color: rgba(245,244,239,.48); }
.site-footer .footer-bottom { margin-top: 22px; padding-top: 0; border-top: 0; color: rgba(245,244,239,.45); }
.site-footer .footer-bottom a { color: rgba(245,244,239,.68); }
.site-footer .footer-bottom a:hover { color: var(--lime); }
.contact-page .site-footer { margin-top: 20px; }
@media (max-width: 960px) {
  .contact-card { grid-template-columns: 1fr; gap: 34px; padding: 44px 42px 48px; }
  .contact-copy { min-height: 330px; }
  .contact-copy h2 { margin-top: 54px; }
}
@media (max-width: 680px) {
  .contact { padding-bottom: 90px; }
  .contact-card { padding: 32px 22px 24px; border-radius: 20px; }
  .contact-copy { min-height: 355px; }
  .contact-copy h2 { font-size: 48px; margin-top: 58px; }
  .contact-card .enquiry-form { padding: 23px 18px 20px; }
  .form-assurance { max-width: 190px; }
  .site-footer { padding: 55px 18px 24px; }
  .site-footer .footer-columns { padding-bottom: 38px; }
  .site-footer .footer-bottom { row-gap: 11px; }
  .site-footer .footer-bottom a { color: var(--lime); }
}

/* Supplied Expertaid wordmark */
.brand-logo { display: block; width: 135px; height: 50px; object-fit: contain; object-position: left center; }
.site-footer .brand-logo { width: 135px; height: 50px; }
@media (max-width: 680px) {
  .brand-logo, .site-footer .brand-logo { width: 122px; height: 45px; }
}

/* Header contrast treatment for the supplied white Expertaid wordmark */
.site-header {
  background: var(--ink);
  border-radius: 18px;
  padding: 0 22px;
  margin-top: 14px;
  min-height: 76px;
}
.site-header .desktop-nav a { color: rgba(245,244,239,.72); }
.site-header .desktop-nav a:hover { color: var(--lime); }
.site-header .header-cta { border-color: var(--lime); color: var(--lime); }
.site-header .header-cta:hover { background: var(--lime); color: var(--ink); }
.site-header .menu-toggle { border-color: var(--lime); color: var(--lime); }
.site-header .mobile-menu { background: var(--ink); border-bottom-color: rgba(245,244,239,.18); }
.site-header .mobile-menu a { color: var(--paper); }
.site-header .mobile-menu .mobile-cta { color: var(--lime); }
@media (max-width: 680px) {
  .site-header { min-height: 68px; padding: 0 15px; margin-top: 10px; border-radius: 15px; }
  .site-header .mobile-menu { top: 58px; padding: 17px 15px 22px; border-radius: 0 0 15px 15px; }
}
