:root{--eco-h: 40px;--eco-bg: #05070C;--eco-fg: rgb(255 255 255 / .62);--eco-fg-hi: #fff;--eco-lit-bg: #fff;--eco-lit-fg: #05070C;--eco-font: ui-monospace,"SFMono-Regular",Menlo,monospace;--eco-size: 13px;--eco-track: -.005em;--eco-case: none;--eco-weight: 500;--eco-tab-h: 28px;--eco-tab-radius: 999px;--eco-tab-hover: rgb(255 255 255 / .07);--eco-dot: #7C9BFF;--eco-panel-bg: #fff;--eco-panel-fg: #0B0F19;--eco-panel-muted: #5B6472;--eco-panel-line: #E6E8EC;--eco-accent: #1F4FE0;--eco-radius: 18px;--eco-display: inherit;--eco-ease: cubic-bezier(.2,.7,.2,1);--eco-dim: rgb(5 7 12 / .5);}.eco{position: relative;z-index: 60;height: var(--eco-h);background: var(--eco-bg);color: var(--eco-fg);border-bottom: 1px solid rgb(255 255 255 / .06);font: var(--eco-weight) var(--eco-size)/1 var(--eco-font);letter-spacing: var(--eco-track);text-transform: var(--eco-case);}.eco__in{display: flex;align-items: stretch;justify-content: space-between;gap: 24px;height: 100%;max-width: var(--eco-max,1440px);margin: 0 auto;padding: 0 var(--eco-pad,72px);}.eco__nav{display: flex;min-width: 0;}.eco__list{display: flex;align-items: center;gap: 2px;margin: 0 0 0 -12px;padding: 0;list-style: none;}.eco__item{position: relative;display: flex;align-items: center;height: 100%;}.eco__tab{display: flex;align-items: center;height: var(--eco-tab-h);padding: 0 12px;border-radius: var(--eco-tab-radius);color: inherit;text-decoration: none;white-space: nowrap;transition: color .2s,background-color .2s;}.eco__tab:hover,.eco__tab:focus-visible,.eco__item.is-open .eco__tab{color: var(--eco-fg-hi);background: var(--eco-tab-hover);}.eco__item.is-active .eco__tab{background: var(--eco-lit-bg);color: var(--eco-lit-fg);font-weight: 600;}.eco__tab:focus-visible{outline: 2px solid var(--eco-accent);outline-offset: 2px;}.eco__promo{display: flex;align-items: center;gap: 10px;margin: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.eco__promo::before{content: "";flex: none;width: 6px;height: 6px;border-radius: 50%;background: var(--eco-dot);}.eco__promo a{color: var(--eco-fg-hi);text-decoration: none;}.eco__panel{position: absolute;top: 100%;left: 0;width: 560px;padding-top: 8px;visibility: hidden;opacity: 0;transform: translateY(-6px);transition: opacity .28s var(--eco-ease),transform .28s var(--eco-ease),visibility 0s linear .28s;text-transform: none;letter-spacing: normal;font-family: var(--eco-display);}.eco__item:hover .eco__panel,.eco__item:focus-within .eco__panel,.eco__item.is-open .eco__panel{visibility: visible;opacity: 1;transform: none;transition-delay: .08s,.08s,0s;}.eco__panel-in{display: grid;grid-template-columns: 190px 1fr;overflow: hidden;border-radius: var(--eco-radius);background: var(--eco-panel-bg);color: var(--eco-panel-fg);box-shadow: 0 30px 60px -30px rgb(5 7 12 / .55),0 0 0 1px var(--eco-panel-line);}.eco__panel-img{position: relative;min-height: 100%;background: var(--eco-panel-line);}.eco__panel-img img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;}.eco__panel-copy{display: flex;flex-direction: column;gap: 8px;padding: 22px 24px 22px;}.eco__domain{font: 500 11px/1 var(--eco-font);letter-spacing: .08em;text-transform: uppercase;color: var(--eco-panel-muted);}.eco__headline{margin: 2px 0 0;font-size: 19px;font-weight: 700;line-height: 1.2;letter-spacing: -.015em;}.eco__lines{margin: 0;font-size: 14px;line-height: 1.5;color: var(--eco-panel-muted);}.eco__cta{align-self: flex-start;margin-top: 6px;color: var(--eco-accent);font-size: 14px;font-weight: 600;text-decoration: none;}.eco__cta:hover .eco-arr,.eco__cta:focus-visible .eco-arr{transform: translateX(3px);}.eco-arr{display: inline-block;transition: transform .2s;}.eco-dim{position: fixed;inset: 0;z-index: 45;background: var(--eco-dim);opacity: 0;pointer-events: none;transition: opacity .28s var(--eco-ease);}html.is-dim .eco-dim{opacity: 1;}.eco-foot{display: flex;flex-wrap: wrap;align-items: baseline;gap: 10px 22px;}.eco-foot__parent,.eco-foot__label{font-weight: 600;color: inherit;text-decoration: none;}.eco-foot__list{display: flex;flex-wrap: wrap;gap: 8px 22px;margin: 0;padding: 0;list-style: none;}.eco-foot__list a{color: inherit;text-decoration: none;opacity: .75;transition: opacity .2s;}.eco-foot__list a:hover,.eco-foot__list a:focus-visible,.eco-foot__parent:hover{opacity: 1;text-decoration: underline;text-underline-offset: 3px;}.kform{--kf-line: #E6E8EC;--kf-bg: #fff;--kf-fg: inherit;--kf-muted: #5B6472;--kf-accent: var(--eco-accent);--kf-radius: 14px;}.kform__grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px 18px;}.kform__field{display: flex;flex-direction: column;gap: 7px;min-width: 0;}.kform__field--full{grid-column: 1 / -1;}.kform__field label{font-size: 14px;font-weight: 600;}.kform__field label span{font-weight: 400;color: var(--kf-muted);}.kform input,.kform select,.kform textarea{width: 100%;min-height: 48px;padding: 12px 16px;border: 1px solid var(--kf-line);border-radius: var(--kf-radius);background: var(--kf-bg);color: var(--kf-fg);font: inherit;font-size: 16px;transition: border-color .2s,box-shadow .2s;}.kform textarea{min-height: 120px;resize: vertical;}.kform input:focus,.kform select:focus,.kform textarea:focus{outline: none;border-color: var(--kf-accent);box-shadow: 0 0 0 3px color-mix(in srgb,var(--kf-accent) 22%,transparent);}.kform [aria-invalid="true"]{border-color: #C2361A;}.kform__foot{display: flex;flex-wrap: wrap;align-items: center;gap: 12px 20px;margin-top: 20px;}.kform__note{margin: 0;font-size: 13px;color: var(--kf-muted);}.kform__status{margin: 12px 0 0;font-size: 14px;color: var(--kf-muted);}.kform__status:empty{display: none;}.kform.is-sending .kform__submit{opacity: .6;pointer-events: none;}html.is-ad [data-ad-hide]{display: none !important;}@media (max-width: 1100px){.eco__in{padding: 0 var(--eco-pad-m,32px);}}@media (max-width: 900px){.eco__promo{display: none;}.eco__nav{overflow-x: auto;scrollbar-width: none;}.eco__nav::-webkit-scrollbar{display: none;}.eco__in{padding: 0;}.eco__item{position: static;}.eco__list{margin-left: 0;padding: 0 8px;}.eco__tab{padding: 0 11px;font-size: 12.5px;}.eco__panel{left: 12px;right: 12px;width: auto;}}@media (max-width: 560px){.eco__panel-in{grid-template-columns: 1fr;}.eco__panel-img{height: 120px;min-height: 0;}.kform__grid{grid-template-columns: 1fr;}}@media (prefers-reduced-motion: reduce){.eco__panel,.eco-dim,.eco__tab,.eco-arr{transition: none !important;}}@font-face{font-family: "Manrope";font-style: normal;font-weight: 400 800;font-display: swap;src: url("/cgi/asset/manrope-latin_y5pkv_m0FTkHjMZ9bYxKF.woff2") format("woff2");}@font-face{font-family: "JetBrains Mono";font-style: normal;font-weight: 400 500;font-display: swap;src: url("/cgi/asset/jetbrains-mono-latin_KdKLSgMouhqDxRPhaaAn0.woff2") format("woff2");}:root{--ink: #0B0F19;--ink-deep: #05070C;--paper: #FFFFFF;--mist: #EEF0F3;--hairline: #E6E8EC;--muted: #5B6472;--body-2: #3C4454;--accent: #1F4FE0;--accent-hover: #1A42BF;--accent-soft: #7C9BFF;--live: #22C55E;--field: linear-gradient(160deg,#263150 0%,#141A2B 46%,#0B0F19 100%);--on-dark: rgb(255 255 255 / .74);--on-dark-muted: rgb(255 255 255 / .56);--dark-line: rgb(255 255 255 / .12);--sans: "Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono: "JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--margin: clamp(20px,5vw,72px);--max: 1296px;--gutter: 32px;--sec: clamp(72px,9vw,128px);--r-panel: 22px;--r-card: 18px;--r-pill: 999px;--ease: cubic-bezier(.2,.7,.2,1);--lift: 0 30px 60px -30px rgb(11 15 25 / .35);--hd-h: 72px;--eco-font: var(--sans);--eco-display: var(--sans);--eco-accent: var(--accent);--eco-bg: var(--ink-deep);--eco-pad: var(--margin);--eco-pad-m: var(--margin);--eco-max: calc(var(--max) + 2 * var(--margin));}*,*::before,*::after{box-sizing: border-box;}html{-webkit-text-size-adjust: 100%;scroll-padding-top: calc(var(--hd-h) + 24px);}body{margin: 0;background: var(--paper);color: var(--ink);font: 400 16px/1.5 var(--sans);-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: clip;}img,svg,video{display: block;max-width: 100%;height: auto;}a{color: inherit;}p,h1,h2,h3,h4,ul,ol,dl,dd,figure,blockquote{margin: 0;}ul,ol{padding: 0;}button{font: inherit;color: inherit;background: none;border: 0;padding: 0;cursor: pointer;}:focus-visible{outline: 2px solid var(--accent);outline-offset: 3px;border-radius: 6px;}.wrap{width: min(100% - 2 * var(--margin),var(--max));margin-inline: auto;}.skip{position: absolute;left: 12px;top: -60px;z-index: 100;padding: 10px 16px;border-radius: var(--r-pill);background: var(--accent);color: #fff;font-weight: 600;text-decoration: none;transition: top .2s;}.skip:focus{top: 12px;}main{display: block;}b,strong{font-weight: 700;}h1,h2,h3{text-wrap: balance;}.h1,.phero h1,.dhero h1{font-weight: 700;font-size: clamp(40px,5.6vw,84px);line-height: .98;letter-spacing: -.04em;}.h2{font-weight: 700;font-size: clamp(34px,4.4vw,64px);line-height: .98;letter-spacing: -.035em;text-wrap: balance;}.h3{font-weight: 700;font-size: clamp(26px,2.6vw,36px);line-height: 1.05;letter-spacing: -.03em;}.lede{max-width: 40em;margin-top: 20px;font-size: clamp(17px,1.4vw,20px);line-height: 1.5;color: var(--body-2);text-wrap: pretty;}.body{color: var(--body-2);}.eyebrow{display: flex;align-items: center;gap: 14px;margin-bottom: 22px;font: 500 12px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.eb-n{color: var(--muted);}.eb-rule{display: inline-block;width: 32px;height: 1px;background: currentColor;opacity: .6;}.idx{display: flex;align-items: center;gap: 14px;font: 500 12px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--on-dark-muted);}.idx i{width: 32px;height: 1px;background: currentColor;opacity: .7;}.shead{margin-bottom: clamp(36px,4vw,56px);}.shead--center{text-align: center;}.shead--center .eyebrow{justify-content: center;}.shead--center .lede{margin-inline: auto;}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: 52px;padding: 0 26px;border: 1px solid transparent;border-radius: var(--r-pill);background: var(--accent);color: #fff;font: 600 15px/1 var(--sans);letter-spacing: -.005em;text-decoration: none;white-space: nowrap;transition: background-color .2s,color .2s,border-color .2s;}.btn:hover{background: var(--accent-hover);}.btn--accent,.btn--blue{background: var(--accent);color: #fff;}.btn--light{background: #fff;color: var(--ink);}.btn--light:hover{background: var(--mist);}.btn--ghost{background: transparent;color: var(--ink);border-color: rgb(11 15 25 / .22);}.btn--ghost:hover{background: transparent;border-color: var(--ink);}.btn--ghost-light{background: transparent;color: #fff;border-color: rgb(255 255 255 / .32);}.btn--ghost-light:hover{background: rgb(255 255 255 / .06);border-color: #fff;}.btn--sm{min-height: 44px;padding: 0 20px;font-size: 14px;}.btns,.hero__cta{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 32px;}.arr{display: inline-block;transition: transform .25s var(--ease);}a:hover .arr,a:focus-visible .arr{transform: translateX(4px);}.link{display: inline-flex;align-items: center;gap: 8px;color: var(--accent);font-weight: 600;text-decoration: none;}.link:hover{text-decoration: underline;text-underline-offset: 4px;}.link--light{color: #fff;}.soon-link{color: inherit;}.nw{white-space: nowrap;}.draft{display: inline-flex;align-items: center;padding: 4px 9px;border: 1px dashed rgb(91 100 114 / .55);border-radius: 6px;font: 500 10.5px/1.3 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);vertical-align: middle;max-width: 100%;}.need{margin-top: 12px;color: var(--muted);font-size: 15px;}.need .draft{margin-right: 6px;}.live-dot{position: relative;display: inline-block;width: 8px;height: 8px;border-radius: 50%;background: var(--live);flex: none;}.live-dot::after{content: "";position: absolute;inset: -4px;border-radius: 50%;border: 2px solid var(--live);opacity: 0;animation: pulse 2.4s var(--ease) infinite;}@keyframes pulse{0%{transform: scale(.6);opacity: .7;}70%,100%{transform: scale(1.6);opacity: 0;}}.hd{position: sticky;top: 0;z-index: 50;background: var(--ink);color: #fff;border-bottom: 1px solid var(--dark-line);transition: background-color .3s,box-shadow .3s;}.hd.is-scrolled{background: rgb(11 15 25 / .94);backdrop-filter: saturate(140%) blur(12px);box-shadow: 0 12px 30px -20px rgb(0 0 0 / .6);}.hd__in{display: flex;align-items: center;gap: 28px;height: var(--hd-h);}.hd__brand{display: inline-flex;align-items: center;gap: 10px;flex: none;margin-right: 16px;color: #fff;font-weight: 700;font-size: 18px;letter-spacing: -.02em;text-decoration: none;}.hd__brand img{width: 26px;height: 26px;}.hd__nav{flex: 1;min-width: 0;}.hd__list{display: flex;align-items: center;justify-content: safe center;gap: 2px;list-style: none;}.hd__item{position: static;}.hd__link{display: inline-flex;align-items: center;gap: 6px;height: 40px;padding: 0 11px;border-radius: 10px;color: rgb(255 255 255 / .82);font-size: 15px;font-weight: 500;text-decoration: none;white-space: nowrap;transition: color .2s,background-color .2s;}.hd__link:hover,.hd__item.is-open>.hd__link{color: #fff;background: rgb(255 255 255 / .06);}.hd__link--mega i{width: 7px;height: 7px;margin-top: -3px;border-right: 1.5px solid currentColor;border-bottom: 1.5px solid currentColor;transform: rotate(45deg);transition: transform .28s var(--ease);opacity: .7;}.hd__item.is-open>.hd__link--mega i{transform: rotate(-135deg);margin-top: 3px;}.is-soon{opacity: .5;cursor: default;}.is-soon small{margin-left: 6px;font: 500 9px/1 var(--mono);letter-spacing: .06em;text-transform: uppercase;padding: 3px 5px;border: 1px solid currentColor;border-radius: 4px;}.hd__link.is-soon:hover{background: none;color: rgb(255 255 255 / .82);}.hd__actions{display: flex;align-items: center;gap: 14px;flex: none;}.hd__phone{display: inline-flex;align-items: center;gap: 9px;color: #fff;font-size: 14px;font-weight: 600;text-decoration: none;white-space: nowrap;}.hd__phone-num{display: none;color: var(--on-dark);font-family: var(--mono);font-weight: 500;font-size: 13px;}.hd__menu{display: none;align-items: center;gap: 10px;height: 44px;padding: 0 16px;border: 1px solid rgb(255 255 255 / .28);border-radius: var(--r-pill);font-size: 14px;font-weight: 600;}.hd__menu i{position: relative;width: 16px;height: 1.5px;background: currentColor;}.hd__menu i::before,.hd__menu i::after{content: "";position: absolute;left: 0;width: 16px;height: 1.5px;background: currentColor;transition: transform .28s var(--ease);}.hd__menu i::before{top: -5px;}.hd__menu i::after{top: 5px;}html.menu-open .hd__menu i{background: transparent;}html.menu-open .hd__menu i::before{transform: translateY(5px) rotate(45deg);}html.menu-open .hd__menu i::after{transform: translateY(-5px) rotate(-45deg);}.mega{position: absolute;left: 0;right: 0;top: 100%;background: var(--paper);color: var(--ink);border-top: 1px solid var(--hairline);box-shadow: 0 40px 60px -40px rgb(5 7 12 / .5);visibility: hidden;opacity: 0;transform: translateY(-8px);transition: opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear .28s;}.hd__item.is-open .mega{visibility: visible;opacity: 1;transform: none;transition-delay: 0s;}.mega__tiles{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 14px;padding: 28px 0 22px;}.mega__tile{display: flex;flex-direction: column;gap: 8px;padding: 22px 22px 20px;border: 1px solid var(--hairline);border-radius: var(--r-card);transition: border-color .2s,background-color .2s;}.mega__tile:hover{background: #F7F8FA;border-color: #D9DCE2;}.mega__n{font: 500 11px/1 var(--mono);color: var(--muted);letter-spacing: .06em;}.mega__t{display: inline-flex;align-items: center;gap: 8px;margin-top: 6px;font-size: 18px;font-weight: 700;letter-spacing: -.02em;color: var(--ink);text-decoration: none;}.mega__t.is-soon small{color: var(--muted);}.mega__tile p{color: var(--muted);font-size: 14px;line-height: 1.45;}.mega__tile ul{display: flex;flex-wrap: wrap;gap: 6px 14px;margin-top: 6px;list-style: none;}.mega__l{color: var(--accent);font-size: 14px;font-weight: 600;text-decoration: none;}.mega__l:hover{text-decoration: underline;text-underline-offset: 3px;}.mega__bar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px 24px;padding: 18px 0 24px;border-top: 1px solid var(--hairline);}.mega__bar p{color: var(--body-2);font-size: 15px;}.mega__go{display: inline-flex;gap: 8px;color: var(--ink);font-weight: 700;font-size: 15px;text-decoration: none;}.field{position: absolute;inset: 0;overflow: hidden;background: var(--field);}.field__glow{position: absolute;border-radius: 50%;filter: blur(80px);opacity: .55;will-change: transform;}.field__glow--a{width: 62%;aspect-ratio: 1;right: -8%;top: -18%;background: radial-gradient(circle,rgb(31 79 224 / .55),transparent 65%);animation: drift-a 17s ease-in-out infinite alternate;}.field__glow--b{width: 48%;aspect-ratio: 1;left: -14%;bottom: -30%;background: radial-gradient(circle,rgb(124 155 255 / .25),transparent 65%);animation: drift-b 16s ease-in-out infinite alternate;}@keyframes drift-a{to{transform: translate3d(-8%,8%,0);}}@keyframes drift-b{to{transform: translate3d(8%,-6%,0);}}.grain,.phero::after,.dhero::after,.band::after,.openmat::after,.cta__in::after,.sec--navy::after{content: "";position: absolute;inset: 0;pointer-events: none;opacity: .13;mix-blend-mode: overlay;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}.hero{position: relative;isolation: isolate;overflow: hidden;color: #fff;background: var(--ink);}.hero__grid{position: relative;z-index: 1;display: grid;grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr);gap: clamp(28px,4vw,64px);align-items: center;padding: clamp(48px,6vw,88px) 0 clamp(56px,7vw,104px);}.hero__h{margin-top: 26px;font-weight: 500;font-size: clamp(46px,6.5vw,100px);line-height: .94;letter-spacing: -.045em;text-wrap: balance;}.hero__h b{font-weight: 800;}.hero__lede{max-width: 33em;margin-top: 26px;color: var(--on-dark);font-size: clamp(17px,1.4vw,20px);line-height: 1.5;text-wrap: pretty;}.hero__corner{margin-top: 30px;font: 500 11px/1.4 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--on-dark-muted);}.hero__stage{position: relative;align-self: stretch;display: flex;align-items: center;justify-content: center;min-height: 520px;}.hero__rings{position: absolute;inset: 4% 2% 10%;display: grid;place-items: center;}.hero__rings i{grid-area: 1 / 1;border-radius: 50%;border: 1px solid rgb(255 255 255 / .1);aspect-ratio: 1;}.hero__rings i:nth-child(1){width: 100%;max-width: 620px;border-color: rgb(255 255 255 / .07);}.hero__rings i:nth-child(2){width: 76%;max-width: 470px;border-style: dashed;border-color: rgb(255 255 255 / .1);animation: spin 60s linear infinite;}.hero__rings i:nth-child(3){width: 52%;max-width: 320px;background: radial-gradient(circle,rgb(31 79 224 / .32),transparent 70%);border-color: rgb(255 255 255 / .12);}@keyframes spin{to{transform: rotate(360deg);}}.hero__art{position: relative;z-index: 1;width: min(100%,600px);filter: drop-shadow(0 30px 40px rgb(0 0 0 / .45));-webkit-mask-image: linear-gradient(#000 78%,transparent 99%);mask-image: linear-gradient(#000 78%,transparent 99%);}.hero__chip{position: absolute;z-index: 2;display: flex;align-items: center;gap: 10px;padding: 11px 16px;border-radius: 14px;background: rgb(255 255 255 / .09);border: 1px solid rgb(255 255 255 / .16);backdrop-filter: blur(14px) saturate(140%);-webkit-backdrop-filter: blur(14px) saturate(140%);color: #fff;font-size: 14px;line-height: 1.3;box-shadow: 0 20px 40px -24px rgb(0 0 0 / .7);}.hero__chip b{font-weight: 700;}.hero__chip--a{left: -2%;top: 30%;}.hero__chip--b{right: -1%;top: 6%;flex-direction: column;align-items: flex-start;gap: 2px;max-width: 230px;}.hero__chip--b span{color: var(--on-dark);font-size: 13px;}.score{position: absolute;z-index: 3;right: -2%;bottom: -4%;width: min(360px,78%);padding: 18px 18px 14px;border-radius: 20px;background: rgb(11 15 25 / .72);border: 1px solid var(--dark-line);backdrop-filter: blur(16px) saturate(140%);-webkit-backdrop-filter: blur(16px) saturate(140%);box-shadow: 0 30px 60px -30px rgb(0 0 0 / .8);}.score__head{display: flex;align-items: center;justify-content: space-between;gap: 12px;font-size: 14px;}.score__tag{font: 500 10px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--on-dark-muted);padding: 4px 7px;border: 1px solid var(--dark-line);border-radius: 6px;}.score__chart{position: relative;margin-top: 14px;padding-top: 12px;border-top: 1px solid var(--dark-line);}.score__chart p{font-size: 12.5px;color: var(--on-dark-muted);margin-bottom: 8px;}.score__plot{position: relative;height: 70px;}.score__chart svg{width: 100%;height: 70px;overflow: visible;}.score__dot{position: absolute;width: 9px;height: 9px;margin: -4.5px 0 0 -4.5px;border-radius: 50%;background: #5B83FF;box-shadow: 0 0 0 4px rgb(91 131 255 / .25);}.score__chart .score__dot{top: auto;}.score__stats{display: grid;grid-template-columns: repeat(3,1fr);margin-top: 12px;border-top: 1px solid var(--dark-line);}.score__stats div{padding: 12px 0 2px;}.score__stats div + div{padding-left: 12px;border-left: 1px solid var(--dark-line);}.score__stats b{display: block;font: 500 22px/1 var(--mono);letter-spacing: -.02em;font-variant-numeric: tabular-nums;}.score__stats div>span{display: block;margin-top: 6px;font-size: 11.5px;color: var(--on-dark-muted);}.score__note{margin-top: 10px;font: 500 9.5px/1.3 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--on-dark-muted);}.ticker{overflow: hidden;border-bottom: 1px solid var(--hairline);background: var(--paper);}.ticker__track{display: flex;align-items: center;gap: 28px;width: max-content;padding: 20px 0;animation: tick 48s linear infinite;}.ticker:hover .ticker__track{animation-play-state: paused;}.ticker span{font-size: 19px;font-weight: 600;letter-spacing: -.01em;color: var(--body-2);white-space: nowrap;}.ticker i{width: 6px;height: 6px;border-radius: 2px;background: var(--accent);opacity: .8;}@keyframes tick{to{transform: translateX(-50%);}}.counts{border-bottom: 1px solid var(--hairline);}.counts__in{display: grid;grid-template-columns: repeat(4,1fr);}.count{padding: 46px 24px 44px;}.count + .count{border-left: 1px solid var(--hairline);}.count:first-child{padding-left: 0;}.count b{display: block;font: 500 clamp(34px,3.6vw,52px)/1 var(--mono);letter-spacing: -.04em;font-variant-numeric: tabular-nums;}.count>span{display: block;max-width: 18em;margin-top: 12px;color: var(--muted);font-size: 14px;}.sec{position: relative;padding: var(--sec) 0;}.sec--tight{padding: clamp(48px,6vw,88px) 0;}.sec.cta{padding-top: 0;}.sec--mist,.sec--sky{background: #F6F7F9;}.sec--navy{color: #fff;background: var(--field);isolation: isolate;overflow: hidden;}.sec--navy .eyebrow,.sec--navy .eb-n{color: var(--on-dark-muted);}.sec--navy .lede,.sec--navy p{color: var(--on-dark);}.has-bg>.wrap{position: relative;z-index: 1;}.sec__bg{position: absolute;inset: 0;z-index: 0;overflow: hidden;}.sec__bg img{width: 100%;height: 100%;object-fit: cover;}.sec__bg--navy::after{content: "";position: absolute;inset: 0;background: linear-gradient(90deg,rgb(11 15 25 / .94),rgb(11 15 25 / .78) 55%,rgb(11 15 25 / .55));}.sec__bg--light img{opacity: .08;filter: grayscale(1);}.sec--navy :is(.steps,.system,.stats,.faq,.faq details){border-color: var(--dark-line);}.sec--navy :is(.steps li + li,.system li + li,.stat + .stat){border-color: var(--dark-line);}.sec--navy :is(.steps p,.system span,.stat>span,.card p,.tags span,li){color: var(--on-dark);}.sec--navy :is(.steps b,.system b,b,strong,h3){color: #fff;}.sec--navy .draft{border-color: rgb(255 255 255 / .35);color: var(--on-dark);}:is(.sec--navy,.sec--mist,.sec--sky,.band,.phero,.dhero) + .sec.cta{padding-top: var(--sec);}.eco-sec{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(32px,5vw,80px);align-items: center;}.family{list-style: none;border-top: 1px solid var(--hairline);}.family a{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;padding: 18px 2px;border-bottom: 1px solid var(--hairline);font-size: 18px;font-weight: 500;text-decoration: none;transition: color .2s,padding-left .25s var(--ease);}.family a:hover{color: var(--accent);padding-left: 8px;}.family small{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.orbit{width: 100%;max-width: 560px;margin-inline: auto;overflow: visible;}.orbit__ring{fill: none;stroke: #DDE1E7;stroke-width: 1;}.orbit__ring--dash{stroke-dasharray: 3 7;}.orbit__spin{transform-origin: 300px 300px;animation: spin 60s linear infinite;}.orbit__sat{fill: #A6AEBB;}.orbit__node circle{fill: var(--accent);}.orbit__node text{font: 500 13px var(--mono);letter-spacing: .08em;fill: var(--muted);}.orbit__core{fill: var(--ink);}.orbit__label{font: 700 24px var(--sans);letter-spacing: -.02em;fill: #fff;}.doors{display: grid;gap: 14px;}.door{display: grid;grid-template-columns: 56px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) 40px;gap: 24px;align-items: start;padding: 34px 32px;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);color: var(--ink);text-decoration: none;transition: transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}.door:hover{transform: translateY(-5px);box-shadow: var(--lift);border-color: #D9DCE2;}.door__k{padding-top: 12px;font: 500 12px/1 var(--mono);color: var(--muted);}.door__t{font-size: clamp(36px,4.2vw,60px);font-weight: 700;line-height: 1;letter-spacing: -.045em;}.door__col{display: flex;flex-direction: column;gap: 8px;padding-top: 6px;font-size: 16px;color: var(--body-2);}.door__col small{margin-bottom: 4px;font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.door__go{justify-self: end;padding-top: 12px;font-size: 22px;}.door:hover .arr{transform: translateX(5px);}.band{position: relative;isolation: isolate;overflow: hidden;color: #fff;background: var(--ink);}.band__img{position: absolute;inset: 0;z-index: -1;}.band__img img{width: 100%;height: 100%;object-fit: cover;object-position: 60% 40%;}.band__img::after{content: "";position: absolute;inset: 0;background: linear-gradient(90deg,rgb(11 15 25 / .92) 0%,rgb(11 15 25 / .72) 42%,rgb(11 15 25 / .15) 100%);}.band__in{display: flex;align-items: center;min-height: clamp(460px,48vw,640px);padding: 80px 0;}.band__copy{max-width: 560px;}.band .eyebrow{color: var(--on-dark-muted);}.band .lede{color: var(--on-dark);margin-bottom: 28px;}.case{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);gap: clamp(28px,4vw,56px);align-items: stretch;}.case__photo{display: grid;place-items: center;min-height: 420px;border-radius: var(--r-panel);background: var(--mist);font: 500 12px var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.case__copy{display: flex;flex-direction: column;justify-content: center;}.case__meta{color: var(--muted);font-size: 14px;}.case__quote{margin-top: 14px;font-size: clamp(28px,3vw,42px);font-weight: 700;line-height: 1.08;letter-spacing: -.03em;}.case__rows{margin-top: 36px;border-top: 1px solid var(--hairline);}.case__row{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;padding: 18px 0;border-bottom: 1px solid var(--hairline);}.case__k{color: var(--muted);font-size: 15px;}.case__v{font: 500 clamp(20px,2vw,28px)/1 var(--mono);letter-spacing: -.02em;}.case__need{margin-top: 22px;color: var(--muted);font-size: 15px;}.case__need .draft{margin-right: 6px;}.openmat{position: relative;isolation: isolate;overflow: hidden;display: grid;grid-template-columns: auto minmax(0,1.25fr) minmax(0,1fr);gap: clamp(28px,4vw,56px);align-items: center;padding: clamp(32px,4.5vw,64px);border-radius: 26px;background: var(--field);color: #fff;}.openmat__date b{display: block;font-size: clamp(88px,9vw,132px);font-weight: 800;line-height: .82;letter-spacing: -.06em;}.openmat__date span{display: block;margin-top: 14px;font: 500 12px var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--on-dark-muted);}.openmat__eb{font: 500 12px/1.3 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--accent-soft);}.openmat__h{margin-top: 14px;font-size: clamp(26px,2.6vw,38px);font-weight: 700;line-height: 1.05;letter-spacing: -.03em;}.openmat__copy>p:last-child{margin-top: 14px;color: var(--on-dark);}.openmat .draft{border-color: rgb(255 255 255 / .35);color: var(--on-dark);margin-right: 6px;}.openmat .kform{--kf-line: rgb(255 255 255 / .16);--kf-bg: rgb(255 255 255 / .06);--kf-fg: #fff;--kf-muted: var(--on-dark-muted);--kf-accent: #7C9BFF;}.openmat .kform__grid{grid-template-columns: 1fr;}.openmat .kform__field label{color: var(--on-dark);font-weight: 500;font-size: 13px;}.openmat .kform input::placeholder{color: rgb(255 255 255 / .4);}.openmat .kform__submit{width: 100%;background: #fff;color: var(--ink);}.openmat .kform__submit:hover{background: var(--mist);}.openmat .kform__note,.openmat .kform__status{color: var(--on-dark-muted);}.res{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 16px;}.res__card{position: relative;display: flex;flex-direction: column;overflow: hidden;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);color: var(--ink);text-decoration: none;transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.res__card:hover{transform: translateY(-5px);box-shadow: var(--lift);}.res__img{display: block;aspect-ratio: 16 / 11;overflow: hidden;background: var(--mist);}.res__img img{width: 100%;height: 100%;object-fit: cover;transition: transform .8s var(--ease);}.res__card:hover .res__img img{transform: scale(1.04);}.res__tag{margin: 22px 22px 0;font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.res__t{margin: 12px 22px 0;font-size: 19px;font-weight: 700;line-height: 1.2;letter-spacing: -.02em;}.res__go{margin: auto 22px 22px;padding-top: 18px;color: var(--accent);}.cta__in{position: relative;isolation: isolate;overflow: hidden;display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);min-height: 460px;border-radius: 28px;background: var(--ink);color: #fff;}.cta__photo{position: relative;order: 2;}.cta__photo img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;}.cta__photo::before{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(90deg,var(--ink) 0%,rgb(11 15 25 / .35) 40%,transparent 70%);}.cta__copy{position: relative;z-index: 2;display: flex;flex-direction: column;justify-content: center;padding: clamp(32px,5vw,72px);}.cta__h{font-size: clamp(34px,4.4vw,62px);font-weight: 700;line-height: .98;letter-spacing: -.04em;text-wrap: balance;}.cta__copy p{max-width: 30em;margin-top: 18px;color: var(--on-dark);font-size: 18px;}.phero,.dhero{position: relative;isolation: isolate;overflow: hidden;color: #fff;background: var(--field);}.phero>.wrap,.dhero>.wrap{position: relative;z-index: 1;}.phero{padding: clamp(44px,5.5vw,80px) 0 clamp(56px,6.5vw,96px);}.phero__grid{display: grid;grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);gap: clamp(28px,4vw,64px);align-items: center;}.phero__grid--solo{grid-template-columns: minmax(0,860px);}.phero .eyebrow,.dhero .eyebrow{color: var(--on-dark-muted);margin-top: 26px;}.phero h1 span,.dhero h1 span{font-weight: 800;}.phero .lede,.dhero .lede{color: var(--on-dark);}.phero__need{margin-top: 18px;color: var(--muted);font-size: 15px;}.phero .need,.dhero .need,.phero .phero__need{margin-top: 18px;color: var(--on-dark-muted);font-size: 15px;}.phero .draft,.dhero .draft{border-color: rgb(255 255 255 / .35);color: var(--on-dark);}.phero .btn--ghost,.dhero .btn--ghost{color: #fff;border-color: rgb(255 255 255 / .32);}.phero .btn--ghost:hover,.dhero .btn--ghost:hover{border-color: #fff;background: rgb(255 255 255 / .06);}.phero__img{overflow: hidden;border-radius: var(--r-panel);aspect-ratio: 4 / 3.4;background: rgb(255 255 255 / .04);box-shadow: 0 40px 80px -40px rgb(0 0 0 / .8);}.phero__img img{width: 100%;height: 100%;object-fit: cover;}.phero__img--contain{padding: 24px;}.phero__img--contain img{object-fit: contain;}.crumb{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;font: 500 12px/1.4 var(--mono);letter-spacing: .04em;color: var(--on-dark-muted);}.crumb a{color: var(--on-dark);text-decoration: none;}.crumb a:hover{color: #fff;text-decoration: underline;text-underline-offset: 3px;}.crumb [aria-current]{color: var(--on-dark-muted);}.meta-row{display: flex;flex-wrap: wrap;gap: 8px;margin: 0 0 20px;}.meta-row span{padding: 5px 10px;border-radius: var(--r-pill);border: 1px solid var(--hairline);font: 500 11px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.phero .meta-row span{border-color: var(--dark-line);color: var(--on-dark-muted);}.proofs{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 0;margin-top: 44px;list-style: none;border-top: 1px solid var(--dark-line);}.proofs li{padding: 22px 24px 4px 0;}.proofs li + li{padding-left: 24px;border-left: 1px solid var(--dark-line);}.proofs b{display: block;font: 700 clamp(22px,2.2vw,30px)/1.1 var(--sans);letter-spacing: -.025em;}.proofs li>span{display: block;margin-top: 10px;color: var(--on-dark-muted);font-size: 15px;}.phero--404{padding: clamp(72px,9vw,140px) 0;}.phero--404 h1{margin-top: 26px;font-size: clamp(46px,7vw,104px);font-weight: 500;line-height: .94;letter-spacing: -.045em;}.phero--404 h1 b{font-weight: 800;}.nf__links{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 14px;margin-top: 44px;}.nf__card{display: flex;flex-direction: column;gap: 8px;padding: 22px;border-radius: var(--r-card);border: 1px solid var(--dark-line);background: rgb(255 255 255 / .05);color: #fff;text-decoration: none;transition: transform .35s var(--ease),background-color .3s;}.nf__card:hover{transform: translateY(-4px);background: rgb(255 255 255 / .09);}.nf__card span{color: var(--on-dark-muted);font-size: 14px;}.dhero{padding: clamp(44px,5.5vw,80px) 0 clamp(56px,6.5vw,96px);}.dhero__in{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);gap: clamp(28px,4vw,64px);align-items: center;}.dhero--photo .dhero__bg{position: absolute;inset: 0;z-index: 0;}.dhero--photo .dhero__bg img{width: 100%;height: 100%;object-fit: cover;object-position: 75% 30%;}.dhero--photo .dhero__bg::after{content: "";position: absolute;inset: 0;background: linear-gradient(90deg,rgb(11 15 25 / .95) 0%,rgb(11 15 25 / .8) 45%,rgb(11 15 25 / .25) 100%);}.dhero--photo .dhero__in{grid-template-columns: minmax(0,720px);min-height: 460px;}.dhero__chips{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 28px;list-style: none;}.dhero__chips li{padding: 7px 13px;border-radius: var(--r-pill);border: 1px solid var(--dark-line);background: rgb(255 255 255 / .06);font: 500 11px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--on-dark);}.dhero__art{position: relative;min-height: 380px;}.dhero__tablet{position: relative;z-index: 1;width: 84%;margin-left: auto;filter: drop-shadow(0 30px 40px rgb(0 0 0 / .5));}.dhero__laptop{position: absolute;left: 0;bottom: -4%;z-index: 2;width: 52%;filter: drop-shadow(0 24px 30px rgb(0 0 0 / .55));}.dhero__badge{position: absolute;z-index: 3;display: grid;place-items: center;height: 46px;padding: 0 16px;border-radius: 14px;background: #fff;box-shadow: 0 20px 40px -20px rgb(0 0 0 / .6);}.dhero__badge img{height: 22px;width: auto;}.dhero__badge--keppan{right: 4%;top: 2%;}.dhero__badge--tama{right: 10%;bottom: 6%;}.grid2,.grid3,.grid5,.cards3{display: grid;gap: 16px;}.grid2{grid-template-columns: repeat(2,minmax(0,1fr));}.grid3,.cards3{grid-template-columns: repeat(3,minmax(0,1fr));}.grid5{grid-template-columns: repeat(5,minmax(0,1fr));}.split,.split2{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(28px,5vw,80px);align-items: start;}.stack{display: flex;flex-direction: column;gap: 18px;}.statement{max-width: 820px;}.statement .lede{margin-top: 18px;}.card{position: relative;display: flex;flex-direction: column;gap: 10px;padding: 28px 26px 26px;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.sec--mist .card{border-color: transparent;}.card:hover{transform: translateY(-4px);box-shadow: var(--lift);}.card__num{font: 500 12px/1 var(--mono);color: var(--muted);}.card__tag{font: 500 11px/1.2 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.card__t{font-size: 21px;font-weight: 700;line-height: 1.2;letter-spacing: -.02em;}.card p{color: var(--body-2);font-size: 15.5px;}.card .link{margin-top: auto;padding-top: 8px;}.card--navy{background: var(--field);color: #fff;border-color: transparent;}.card--navy p{color: var(--on-dark);}.card--navy .card__num{font: 500 clamp(30px,3vw,40px)/1 var(--mono);letter-spacing: -.04em;color: #fff;}.card--navy .link{color: #fff;}.tiers{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px;align-items: stretch;}.tier{display: flex;flex-direction: column;gap: 14px;padding: 32px 28px;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);}.tier--hl{background: var(--field);color: #fff;border-color: transparent;position: relative;overflow: hidden;}.tier__name{font-size: 30px;font-weight: 700;letter-spacing: -.03em;}.tier__for{color: var(--muted);}.tier.tier--hl .tier__for,.tier.tier--hl li{color: var(--on-dark);}.tier--hl .draft{border-color: rgb(255 255 255 / .35);color: var(--on-dark);}.tier--hl .need{color: var(--on-dark);}.tier ul{display: flex;flex-direction: column;gap: 10px;margin: 6px 0 10px;list-style: none;}.tier li{position: relative;padding-left: 22px;color: var(--body-2);font-size: 15.5px;}.tier li::before{content: "";position: absolute;left: 0;top: .55em;width: 10px;height: 1.5px;background: var(--accent);}.tier--hl li::before{background: var(--accent-soft);}.tier .btn{margin-top: auto;align-self: flex-start;}.tier--hl .btn--ghost{color: #fff;border-color: rgb(255 255 255 / .32);}.steps{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 0;list-style: none;counter-reset: step;border-top: 1px solid var(--hairline);}.steps li{position: relative;padding: 28px 24px 8px 0;counter-increment: step;}.steps li + li{padding-left: 24px;border-left: 1px solid var(--hairline);}.steps li::before{content: counter(step,decimal-leading-zero);display: block;margin-bottom: 14px;font: 500 12px/1 var(--mono);color: var(--accent);}.steps b{display: block;font-size: 18px;font-weight: 700;letter-spacing: -.015em;}.steps p{margin-top: 8px;color: var(--body-2);font-size: 15px;}.compare{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;}.compare>div{padding: 30px 28px;border-radius: var(--r-panel);border: 1px solid var(--hairline);background: var(--paper);}.compare>div:last-child{background: var(--field);color: #fff;border-color: transparent;}.compare h3{font-size: 20px;font-weight: 700;letter-spacing: -.02em;margin-bottom: 14px;}.compare ul{display: flex;flex-direction: column;gap: 10px;list-style: none;}.compare li{position: relative;padding-left: 24px;color: var(--body-2);}.compare>div:last-child li{color: var(--on-dark);}.compare li::before{content: "–";position: absolute;left: 0;color: var(--muted);}.compare>div:last-child li::before{content: "✓";color: var(--accent-soft);}.faq{max-width: 920px;border-top: 1px solid var(--hairline);}.faq details{border-bottom: 1px solid var(--hairline);}.faq summary{position: relative;display: block;padding: 22px 48px 22px 0;cursor: pointer;list-style: none;font-size: 18px;font-weight: 600;letter-spacing: -.01em;}.faq summary::-webkit-details-marker{display: none;}.faq summary::before,.faq summary::after{content: "";position: absolute;right: 6px;top: 50%;width: 14px;height: 1.5px;background: var(--ink);transition: transform .3s var(--ease);}.faq summary::after{transform: rotate(90deg);}.faq details[open] summary::after{transform: rotate(0);}.faq .ans{padding: 0 48px 24px 0;color: var(--body-2);}.faq .ans p + p{margin-top: 10px;}.faq .ans a{color: var(--accent);}.pillars{display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: 16px;}.pillar{padding: 26px 24px;border-radius: var(--r-panel);background: var(--paper);border: 1px solid var(--hairline);}.sec--mist .pillar{border-color: transparent;}.split .pillars{grid-template-columns: repeat(2,minmax(0,1fr));}.pillar b{display: block;font-size: 19px;letter-spacing: -.02em;}.pillar p{margin-top: 8px;color: var(--body-2);font-size: 15px;}.stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));border-top: 1px solid var(--hairline);margin-top: 32px;}.stat{padding: 26px 24px 4px 0;}.stat + .stat{padding-left: 24px;border-left: 1px solid var(--hairline);}.stat b{display: block;font: 500 clamp(28px,2.8vw,40px)/1 var(--mono);letter-spacing: -.04em;font-variant-numeric: tabular-nums;}.stat>span{display: block;margin-top: 10px;color: var(--muted);font-size: 14px;}.sec--navy .stats,.sec--navy .stat + .stat{border-color: var(--dark-line);}.sec--navy .stat>span{color: var(--on-dark-muted);}.callout{position: relative;margin-top: 32px;padding: 28px 30px;border-radius: var(--r-panel);background: #F6F7F9;border-left: 3px solid var(--accent);}.callout>* + *{margin-top: 12px;}.callout .eyebrow{margin-bottom: 0;}.callout .h2,.callout h2{font-size: clamp(24px,2.4vw,32px);}.callout .btn{margin-top: 18px;}.box{margin: 22px 0;padding: 22px 24px;border-radius: 16px;background: #F6F7F9;border: 1px solid var(--hairline);}.box p + p{margin-top: 10px;}.checks{display: flex;flex-direction: column;gap: 10px;list-style: none;}.checks li{position: relative;padding-left: 26px;}.checks li::before{content: "✓";position: absolute;left: 0;color: var(--accent);font-weight: 700;}.tags{display: flex;flex-wrap: wrap;gap: 6px;margin-top: 12px;}.tags span{padding: 5px 10px;border-radius: var(--r-pill);background: #F2F4F7;font: 500 11px/1.2 var(--mono);letter-spacing: .03em;color: var(--body-2);}.placeholder{display: flex;flex-direction: column;align-items: flex-start;gap: 14px;padding: 40px;border: 1px dashed #CBD1DA;border-radius: var(--r-panel);color: var(--muted);}.article{display: grid;grid-template-columns: 240px minmax(0,1fr);gap: clamp(32px,5vw,80px);align-items: start;}.toc{position: sticky;top: calc(var(--hd-h) + 28px);display: flex;flex-direction: column;gap: 2px;padding-left: 14px;border-left: 1px solid var(--hairline);}.toc p{margin-bottom: 10px;font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.toc a{padding: 6px 0;color: var(--muted);font-size: 14px;line-height: 1.35;text-decoration: none;transition: color .2s;}.toc a:hover,.toc a.is-on{color: var(--ink);}.toc a.is-on{font-weight: 600;}.prose{max-width: 740px;font-size: 17px;line-height: 1.7;color: var(--body-2);}.prose>* + *{margin-top: 18px;}.prose h2{margin-top: 56px;font-size: clamp(26px,2.4vw,34px);line-height: 1.1;letter-spacing: -.03em;color: var(--ink);scroll-margin-top: calc(var(--hd-h) + 24px);}.prose h3{margin-top: 34px;font-size: 21px;letter-spacing: -.02em;color: var(--ink);}.prose ul,.prose ol{padding-left: 22px;}.prose li + li{margin-top: 8px;}.prose a{color: var(--accent);text-underline-offset: 3px;}.prose strong{color: var(--ink);}.tbl{overflow-x: auto;border: 1px solid var(--hairline);border-radius: 16px;}.tbl table{width: 100%;border-collapse: collapse;font-size: 15px;}.tbl th{padding: 14px 18px;text-align: left;background: #F6F7F9;font: 500 11px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.tbl td{padding: 14px 18px;border-top: 1px solid var(--hairline);vertical-align: top;}.ideas-group + .ideas-group{margin-top: 64px;}.ideas{list-style: none;border-top: 1px solid var(--hairline);}.idea{position: relative;padding: 24px 0 24px 64px;border-bottom: 1px solid var(--hairline);counter-increment: idea;}.idea::before{content: counter(idea,decimal-leading-zero);position: absolute;left: 0;top: 26px;font: 500 13px/1 var(--mono);color: var(--accent);}.idea b{font-size: 18px;letter-spacing: -.015em;color: var(--ink);}.idea p{margin-top: 6px;color: var(--body-2);}.deckstack{display: grid;gap: 24px;}.deck{position: sticky;top: calc(var(--hd-h) + 24px + var(--i,0) * 14px);display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 32px;align-items: center;padding: clamp(24px,3vw,40px);border: 1px solid var(--hairline);border-radius: 26px;background: var(--paper);box-shadow: 0 -20px 50px -40px rgb(11 15 25 / .4);}.deck__n{font: 500 12px/1 var(--mono);color: var(--accent);}.deck__t{margin-top: 14px;font-size: clamp(24px,2.4vw,34px);font-weight: 700;line-height: 1.05;letter-spacing: -.03em;}.deck__copy p{margin-top: 12px;color: var(--body-2);}.deck__media{overflow: hidden;border-radius: 18px;aspect-ratio: 16 / 10;background: var(--mist);}.deck__media img{width: 100%;height: 100%;object-fit: cover;}.deck__media--contain img{object-fit: contain;padding: 18px;}.techs{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;}.tech{display: flex;flex-direction: column;overflow: hidden;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);color: var(--ink);text-decoration: none;transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.tech:hover{transform: translateY(-5px);box-shadow: var(--lift);}.tech__img{aspect-ratio: 16 / 9;background: #F6F7F9;display: grid;place-items: center;padding: 24px;}.tech__img img{max-height: 100%;width: auto;object-fit: contain;}.tech__body{display: flex;flex-direction: column;gap: 10px;padding: 26px;}.tech__tag{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.tech__logo img{height: 30px;width: auto;}.tech__d{color: var(--body-2);}.prod{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: clamp(28px,5vw,72px);align-items: center;}.prod--flip .prod__copy{order: 2;}.prod__logo img{height: 40px;width: auto;}.prod__copy>* + *{margin-top: 16px;}.prod__copy p{color: var(--body-2);}.prod__links{display: flex;flex-wrap: wrap;gap: 10px 24px;}.prod__media{overflow: hidden;border-radius: var(--r-panel);background: #F6F7F9;padding: clamp(18px,3vw,40px);}.feat__h{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.feat{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 8px 20px;list-style: none;}.feat li{position: relative;padding-left: 18px;font-size: 15px;color: var(--body-2);}.feat li::before{content: "";position: absolute;left: 0;top: .6em;width: 8px;height: 8px;border-radius: 2px;background: var(--accent);}.statcard{display: flex;flex-direction: column;gap: 6px;padding: 22px 24px;border-radius: var(--r-card);background: var(--field);color: #fff;}.statcard b{font: 500 clamp(30px,3vw,42px)/1 var(--mono);letter-spacing: -.04em;}.statcard>span{color: var(--on-dark);font-size: 15px;}.statcard small{font: 500 11px/1.3 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--on-dark-muted);}.flow{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px;list-style: none;counter-reset: flow;}.flow li{position: relative;display: flex;flex-direction: column;gap: 10px;padding: 26px;border-radius: var(--r-panel);border: 1px solid var(--hairline);background: var(--paper);}.flow li + li::before{content: "→";position: absolute;left: -14px;top: 50%;transform: translate(-50%,-50%);color: var(--accent);font-size: 18px;}.flow__logo{display: flex;align-items: center;height: 34px;}.flow__logo img{max-height: 30px;width: auto;}.flow p{color: var(--body-2);font-size: 15px;}.system{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 0;list-style: none;border-top: 1px solid var(--hairline);}.prose .system{padding: 0;}.system li{padding: 26px 22px 6px 0;margin: 0;}.system li + li{padding-left: 22px;border-left: 1px solid var(--hairline);}.system small{display: block;margin-bottom: 12px;font: 500 12px/1 var(--mono);color: var(--accent);}.system b{display: block;color: var(--ink);font-size: 18px;letter-spacing: -.015em;line-height: 1.25;}.system span{display: block;margin-top: 8px;color: var(--body-2);font-size: 15px;line-height: 1.5;}.system__loop{margin-top: 18px;font: 500 12px/1.4 var(--mono);letter-spacing: .04em;color: var(--muted);}.gbento{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 16px;}.gtile{position: relative;display: flex;flex-direction: column;overflow: hidden;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);color: var(--ink);text-decoration: none;transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.gtile:hover{transform: translateY(-5px);box-shadow: var(--lift);}.gtile--big{grid-row: span 2;}.gtile__img{aspect-ratio: 16 / 10;overflow: hidden;background: var(--mist);}.gtile--big .gtile__img{flex: 1;aspect-ratio: auto;min-height: 260px;}.gtile__img img{width: 100%;height: 100%;object-fit: cover;}.gtile__body{display: flex;flex-direction: column;gap: 8px;padding: 24px;}.gtile__tag{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.gtile__t{font-size: 22px;font-weight: 700;letter-spacing: -.02em;}.gtile p{color: var(--body-2);font-size: 15px;}.gtile .link{margin-top: 6px;}.gtile--navy{background: var(--field);color: #fff;border-color: transparent;}.gtile--navy p,.gtile--navy .gtile__tag{color: var(--on-dark);}.gtile--navy .link{color: #fff;}.tierpair{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 14px;}.tierpair__card{display: flex;flex-direction: column;gap: 6px;padding: 24px;border-radius: var(--r-panel);background: var(--field);color: #fff;}.tierpair__card span{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--on-dark-muted);}.tierpair__card b{font-size: 28px;letter-spacing: -.03em;}.tierpair__card p{color: var(--on-dark);font-size: 15px;}.eps{display: grid;gap: 12px;list-style: none;}.eps li{display: grid;grid-template-columns: 220px minmax(0,1fr) auto;gap: 26px;align-items: center;padding: 14px 22px 14px 14px;border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.eps li:hover{transform: translateY(-4px);box-shadow: var(--lift);}.eps li img{width: 100%;aspect-ratio: 16 / 9;object-fit: cover;border-radius: 12px;background: var(--mist);}.eps li b{display: block;font-size: 19px;font-weight: 700;line-height: 1.25;letter-spacing: -.02em;}.eps li span{display: block;margin-top: 8px;font: 500 12px/1.4 var(--mono);letter-spacing: .04em;text-transform: uppercase;color: var(--muted);}.ep,.post{display: flex;flex-direction: column;overflow: hidden;border-radius: var(--r-panel);border: 1px solid var(--hairline);background: var(--paper);color: var(--ink);text-decoration: none;transition: transform .35s var(--ease),box-shadow .35s var(--ease);}.sec--navy .ep{border-color: var(--dark-line);background: rgb(255 255 255 / .04);color: #fff;}.ep:hover,.post:hover{transform: translateY(-5px);box-shadow: var(--lift);}.ep__img,.post__img{aspect-ratio: 16 / 9;overflow: hidden;background: var(--mist);}.ep__img img,.post__img img{width: 100%;height: 100%;object-fit: cover;}.ep__body,.post__body{display: flex;flex-direction: column;gap: 8px;padding: 22px;}.ep__meta,.post__meta{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.sec--navy .ep__meta{color: var(--on-dark-muted);}.ep__t,.post__t{font-size: 19px;font-weight: 700;line-height: 1.2;letter-spacing: -.02em;}.post__d{color: var(--body-2);font-size: 15px;}.embed{overflow: hidden;border-radius: var(--r-panel);background: var(--mist);}.kform-card{padding: clamp(24px,3vw,40px);border: 1px solid var(--hairline);border-radius: var(--r-panel);background: var(--paper);}.kform__submit{display: inline-flex;align-items: center;justify-content: center;min-height: 52px;padding: 0 28px;border-radius: var(--r-pill);background: var(--accent);color: #fff;font-weight: 600;font-size: 15px;transition: background-color .2s;}.kform__submit:hover{background: var(--accent-hover);}.form,.field,.form__two{display: grid;gap: 14px;}.form__two{grid-template-columns: repeat(2,minmax(0,1fr));}.field label{font-size: 14px;font-weight: 600;}.field input,.field select,.field textarea{width: 100%;min-height: 48px;padding: 12px 16px;border: 1px solid var(--hairline);border-radius: 14px;font: inherit;font-size: 16px;}.form__done{display: none;}.contact-list{display: flex;flex-direction: column;border-top: 1px solid var(--hairline);}.contact-list div{display: flex;flex-direction: column;gap: 6px;padding: 22px 0;border-bottom: 1px solid var(--hairline);}.contact-list small{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.contact-list a,.contact-list span{font-size: 20px;font-weight: 600;letter-spacing: -.015em;text-decoration: none;}.contact-list a:hover{color: var(--accent);}.photo-slot{display: grid;place-items: center;aspect-ratio: 4 / 5;border-radius: var(--r-panel);background: var(--mist);font: 500 12px var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.plain-list{display: flex;flex-direction: column;list-style: none;border-top: 1px solid var(--hairline);}.plain-list a{display: block;padding: 18px 0;border-bottom: 1px solid var(--hairline);font-size: 18px;font-weight: 600;letter-spacing: -.015em;text-decoration: none;}.plain-list a:hover{color: var(--accent);}.calendar-slot{display: flex;flex-direction: column;align-items: center;gap: 14px;padding: clamp(40px,6vw,80px) 24px;border: 1px dashed #CBD1DA;border-radius: var(--r-panel);text-align: center;color: var(--muted);}.calendar-slot__t{font-size: 20px;font-weight: 600;color: var(--ink);}.legal{max-width: 920px;}.legal [name="termly-embed"] + [name="termly-embed"]{margin-top: 40px;}.legal [name="termly-embed"]:first-child{min-height: 100vh;}.ft{position: relative;overflow: hidden;border-top: 1px solid var(--hairline);background: var(--paper);color: var(--ink);}.ft__top{display: grid;grid-template-columns: minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap: 32px;padding: clamp(56px,6vw,88px) 0 48px;}.ft__logo{display: inline-flex;align-items: center;gap: 10px;font-weight: 700;font-size: 18px;letter-spacing: -.02em;text-decoration: none;}.ft__logo img{width: 28px;height: 28px;filter: invert(1) brightness(.12);}.ft__tag{margin-top: 14px;color: var(--body-2);}.ft address{display: flex;flex-direction: column;gap: 6px;margin-top: 20px;font-style: normal;color: var(--muted);font-size: 14px;}.ft address a{text-decoration: none;}.ft address a:hover{color: var(--accent);}.ft__col h3{margin-bottom: 16px;font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);}.ft__col ul{display: flex;flex-direction: column;gap: 10px;list-style: none;}.ft__l{color: var(--body-2);font-size: 15px;text-decoration: none;}a.ft__l:hover{color: var(--accent);}.ft__l.is-soon{color: var(--muted);}.ft__eco{padding: 22px 0;border-top: 1px solid var(--hairline);font-size: 14px;}.ft__eco .eco-foot__label{font: 500 11px/1 var(--mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted);font-weight: 500;}.ft__eco .eco-foot__list a{color: var(--body-2);opacity: 1;}.ft__eco .eco-foot__list a:hover{color: var(--accent);}.ft__legal{display: flex;flex-wrap: wrap;align-items: center;gap: 12px 28px;padding: 20px 0 8px;border-top: 1px solid var(--hairline);color: var(--muted);font-size: 13px;}.ft__legal nav{display: flex;flex-wrap: wrap;gap: 8px 20px;}.ft__legal a{text-decoration: none;}.ft__legal a:hover{color: var(--ink);}.ft__social{margin-left: auto;}.ft__word{overflow: hidden;padding: 12px 0 0;pointer-events: none;user-select: none;}.ft__word span{display: block;width: max-content;margin: 0 auto;font-size: clamp(44px,12vw,186px);font-weight: 800;line-height: .8;letter-spacing: -.055em;color: var(--mist);transform: translateY(12%);}@keyframes rise{from{opacity: 0;transform: translateY(20px);}to{opacity: 1;transform: none;}}.js .rise{animation: rise .9s var(--ease) var(--d,0ms) both;}.js .rv{opacity: 0;transform: translateY(20px);}.js .rv.is-in{opacity: 1;transform: none;transition: opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms);}.js .card.rv.is-in:hover,.js .door.rv.is-in:hover,.js .res__card.rv.is-in:hover{transform: translateY(-5px);transition: transform .35s var(--ease),box-shadow .35s var(--ease);}@media (min-width: 1500px){.hd__phone-num{display: inline;}.hd__phone-label{display: none;}}@media (max-width: 1240px){.hd__menu{display: inline-flex;}.hd__phone{display: none;}.hd__nav{position: fixed;inset: var(--hd-top,112px) 0 0;z-index: 49;overflow-y: auto;background: var(--ink);padding: 12px var(--margin) 40px;visibility: hidden;opacity: 0;transform: translateY(-8px);transition: opacity .28s var(--ease),transform .28s var(--ease),visibility 0s linear .28s;}html.menu-open .hd__nav{visibility: visible;opacity: 1;transform: none;transition-delay: 0s;}html.menu-open{overflow: hidden;}.hd__list{flex-direction: column;align-items: stretch;gap: 0;}.hd__item{border-bottom: 1px solid var(--dark-line);}.hd__link{width: 100%;height: 60px;justify-content: space-between;padding: 0;font-size: 20px;font-weight: 600;border-radius: 0;}.hd__link:hover,.hd__item.is-open>.hd__link{background: none;}.mega{position: static;display: none;visibility: visible;opacity: 1;transform: none;box-shadow: none;background: transparent;color: #fff;border: 0;}.hd__item.is-open .mega{display: block;}.mega .wrap{width: 100%;}.mega__tiles{grid-template-columns: 1fr;gap: 10px;padding: 4px 0 14px;}.mega__tile{border-color: var(--dark-line);}.mega__tile:hover{background: rgb(255 255 255 / .04);border-color: var(--dark-line);}.mega__t{color: #fff;}.mega__tile p{color: var(--on-dark-muted);}.mega__l{color: var(--accent-soft);}.mega__bar{border-color: var(--dark-line);padding: 14px 0 20px;}.mega__bar p{color: var(--on-dark);}.mega__go{color: #fff;}.door{grid-template-columns: 40px minmax(0,1fr) minmax(0,1fr) 32px;}.door__t{grid-column: 2 / -1;}.door__col:nth-of-type(1){grid-column: 2;}.door__go{grid-row: 1;grid-column: 4;}.res{grid-template-columns: repeat(2,minmax(0,1fr));}.grid5{grid-template-columns: repeat(3,minmax(0,1fr));}.ft__top{grid-template-columns: repeat(2,minmax(0,1fr));}.ft__brand{grid-column: 1 / -1;}}@media (max-width: 980px){.hero__grid,.phero__grid,.dhero__in,.eco-sec,.case,.split,.split2,.prod,.article{grid-template-columns: minmax(0,1fr);}.hero__stage{min-height: 0;padding: 20px 0 150px;}.score{right: 50%;transform: translateX(50%);bottom: 0;width: min(380px,100%);}.hero__chip--a{left: 0;top: 18%;}.hero__chip--b{right: 0;top: 0;}.openmat{grid-template-columns: minmax(0,1fr);}.counts__in{grid-template-columns: repeat(2,1fr);}.count:nth-child(3){border-left: 0;padding-left: 0;}.count:nth-child(n + 3){border-top: 1px solid var(--hairline);}.count:first-child{padding-left: 0;}.count + .count{padding-left: 24px;}.count:nth-child(3){padding-left: 0;}.toc{position: static;}.prod--flip .prod__copy{order: 0;}.tiers,.grid3,.cards3,.flow,.nf__links,.proofs{grid-template-columns: minmax(0,1fr);}.proofs li + li{padding-left: 0;border-left: 0;border-top: 1px solid var(--dark-line);}.flow li + li::before{left: 50%;top: -8px;content: "↓";}.system{grid-template-columns: repeat(2,minmax(0,1fr));}.system li:nth-child(3){padding-left: 0;border-left: 0;}.gbento{grid-template-columns: repeat(2,minmax(0,1fr));}.gtile--big{grid-column: 1 / -1;grid-row: auto;}.cta__in{grid-template-columns: minmax(0,1fr);}.cta__photo{order: 0;min-height: 240px;}.cta__photo::before{background: linear-gradient(0deg,var(--ink) 0%,transparent 70%);}.deck{position: relative;top: 0;grid-template-columns: minmax(0,1fr);}.dhero__art{min-height: 300px;}}@media (max-width: 640px){:root{--hd-h: 64px;}.hd__in{gap: 12px;}.hd__brand span{font-size: 16px;}.hd__book{display: none;}.hero__h{font-size: clamp(40px,11.5vw,56px);}.hero__stage{padding-bottom: 210px;}.hero__chip{font-size: 12.5px;padding: 9px 12px;}.hero__chip--b{max-width: 180px;}.score{width: 100%;}.counts__in{grid-template-columns: minmax(0,1fr);}.count,.count + .count{padding: 40px 0 36px;border-left: 0;}.count + .count{border-top: 1px solid var(--hairline);}.btn{white-space: normal;text-align: center;line-height: 1.25;padding: 12px 22px;}.door{grid-template-columns: minmax(0,1fr) 28px;padding: 26px 22px;gap: 16px;}.door__k{display: none;}.door__t{grid-column: 1;}.door__col,.door__col:nth-of-type(1){grid-column: 1 / -1;}.door__go{grid-column: 2;grid-row: 1;}.res,.grid2,.grid5,.compare,.techs,.gbento,.tierpair,.feat,.system,.form__two{grid-template-columns: minmax(0,1fr);}.system li + li{padding-left: 0;border-left: 0;border-top: 1px solid var(--hairline);}.eps li{grid-template-columns: 116px minmax(0,1fr);gap: 14px 16px;padding: 12px;}.eps li .btn{grid-column: 1 / -1;justify-self: start;}.eps li b{font-size: 16px;}.steps li + li{padding-left: 0;border-left: 0;}.stat + .stat{padding-left: 0;border-left: 0;border-top: 1px solid var(--hairline);}.ft__top{grid-template-columns: repeat(2,minmax(0,1fr));gap: 36px 20px;}.ft__social{margin-left: 0;}.orbit__node text{font-size: 24px;}.orbit__label{font-size: 34px;}.eco__nav{-webkit-mask-image: linear-gradient(90deg,#000 85%,transparent);mask-image: linear-gradient(90deg,#000 85%,transparent);}.case__photo{min-height: 260px;}.ticker span{font-size: 16px;}.openmat__date b{font-size: 88px;}.idea{padding-left: 44px;}}.phero--blog{padding-bottom: clamp(104px,12vw,176px);}.blog-hero{max-width: 980px;}.blog-hero h1{font-size: clamp(34px,4.6vw,66px);line-height: 1.02;}.blog__by{display: flex;flex-wrap: wrap;gap: 8px 0;margin-top: 28px;font: 500 12.5px/1.4 var(--mono);letter-spacing: .05em;text-transform: uppercase;color: var(--on-dark-muted);}.blog__by span + span::before{content: "/";margin: 0 12px;opacity: .5;}.blog__by a{color: #fff;text-decoration: none;}.blog__by a:hover{text-decoration: underline;text-underline-offset: 3px;}.sec--blog{padding-top: 0;}.blog__img{position: relative;z-index: 1;max-width: 1080px;margin: calc(-1 * clamp(72px,9vw,128px)) auto 0;overflow: hidden;border-radius: var(--r-panel);background: var(--mist);box-shadow: 0 40px 80px -40px rgb(11 15 25 / .5);}.blog__img img{width: 100%;height: auto;}.blog__body{display: flex;flex-direction: column;gap: 20px;max-width: 720px;margin: clamp(48px,6vw,80px) auto 0;font-size: 18px;line-height: 1.75;color: var(--body-2);overflow-wrap: break-word;}.blog__body h2{margin-top: 28px;font-size: clamp(26px,2.4vw,34px);line-height: 1.12;letter-spacing: -.03em;color: var(--ink);}.blog__body h3{margin-top: 12px;font-size: 22px;line-height: 1.25;letter-spacing: -.02em;color: var(--ink);}.blog__body h4{font-size: 18px;line-height: 1.35;color: var(--ink);}.blog__body ul,.blog__body ol{padding-left: 24px;}.blog__body li + li{margin-top: 10px;}.blog__body li::marker{color: var(--accent);}.blog__body a{color: var(--accent);text-decoration: underline;text-decoration-thickness: 1px;text-underline-offset: 3px;}.blog__body a:hover{color: var(--accent-hover);}.blog__body strong,.blog__body b{color: var(--ink);}.blog__body img{align-self: center;max-width: 100%;height: auto;border-radius: var(--r-card);}.blog__body blockquote{padding-left: 20px;border-left: 3px solid var(--accent);color: var(--ink);}.blog__body table{width: 100%;border-collapse: collapse;font-size: 16px;}.blog__body td,.blog__body th{padding: 10px 12px;border-bottom: 1px solid var(--hairline);text-align: left;vertical-align: top;}.blog__body .blog__intro{font-size: clamp(20px,1.8vw,23px);line-height: 1.55;font-weight: 500;letter-spacing: -.01em;color: var(--ink);}.blog__video{position: relative;aspect-ratio: 16 / 9;overflow: hidden;border-radius: var(--r-card);background: var(--ink);}.blog__video iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0;}.blog__back{max-width: 720px;margin: 56px auto 0;padding-top: 28px;border-top: 1px solid var(--hairline);}.blog-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: clamp(36px,4vw,52px) clamp(20px,2.4vw,32px);}.bcard{display: flex;flex-direction: column;gap: 18px;color: var(--ink);text-decoration: none;}.bcard__img{display: block;overflow: hidden;border-radius: var(--r-card);aspect-ratio: 16 / 9;background: var(--mist);}.bcard__img img{width: 100%;height: 100%;object-fit: cover;transition: transform .7s var(--ease);}.bcard:hover .bcard__img img{transform: scale(1.04);}.bcard__img--whole{background: #fff;box-shadow: inset 0 0 0 1px var(--hairline);}.bcard__img--whole img{object-fit: contain;}.bcard__body{display: flex;flex-direction: column;gap: 10px;}.bcard__date{font: 500 12px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.bcard__t{font-size: 19px;font-weight: 700;line-height: 1.25;letter-spacing: -.015em;text-wrap: balance;transition: color .2s;}.bcard:hover .bcard__t{color: var(--accent);}.bcard__d{color: var(--body-2);font-size: 16.5px;line-height: 1.55;}.bcard--big{grid-column: 1 / -1;display: grid;grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);align-items: center;gap: clamp(24px,4vw,64px);padding-bottom: clamp(36px,4vw,52px);border-bottom: 1px solid var(--hairline);}.bcard--big .bcard__img{border-radius: var(--r-panel);}.bcard--big .bcard__body{gap: 16px;}.bcard--big .bcard__t{font-size: clamp(28px,3vw,44px);line-height: 1.04;letter-spacing: -.035em;}.blog-years{border-top: 1px solid var(--ink);}.blog-years details{border-bottom: 1px solid var(--hairline);}.blog-years summary{display: flex;align-items: baseline;gap: 18px;padding: 24px 0;cursor: pointer;list-style: none;}.blog-years summary::-webkit-details-marker{display: none;}.blog-years summary b{font: 500 clamp(30px,3.2vw,44px)/1 var(--mono);letter-spacing: -.04em;color: var(--ink);}.blog-years summary span{font: 500 12px/1.2 var(--mono);letter-spacing: .06em;text-transform: uppercase;color: var(--muted);}.blog-years summary::after{content: "+";margin-left: auto;font: 400 28px/1 var(--sans);color: var(--muted);transition: transform .3s var(--ease);}.blog-years details[open] summary::after{transform: rotate(45deg);}.blog-years summary:hover b{color: var(--accent);}.blog-list{columns: 2;column-gap: 48px;padding-bottom: 28px;list-style: none;}.blog-list li{break-inside: avoid;}.blog-list a{display: flex;justify-content: space-between;align-items: baseline;gap: 20px;padding: 13px 0;border-top: 1px solid var(--hairline);font-size: 16px;font-weight: 600;line-height: 1.4;letter-spacing: -.01em;text-decoration: none;}.blog-list a:hover span{color: var(--accent);}.blog-list small{flex: none;font: 500 11.5px/1.4 var(--mono);letter-spacing: .04em;color: var(--muted);white-space: nowrap;}@media (max-width: 980px){.blog-grid{grid-template-columns: repeat(2,minmax(0,1fr));}.bcard--big{grid-template-columns: minmax(0,1fr);}.blog-list{columns: 1;}}@media (max-width: 640px){.blog-grid{grid-template-columns: minmax(0,1fr);}.blog__body{font-size: 17px;}.blog__body h2{margin-top: 20px;}.blog-list a{flex-direction: column;gap: 4px;}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important;scroll-behavior: auto !important;}.js .rv,.js .rise{opacity: 1 !important;transform: none !important;}}.site-top,.site-bottom{display: contents;}html{grid-template-columns: minmax(0,1fr);}html{white-space: normal;}

/* ==== EcosystemSwitcher ==== */
/* ==========================================================================
   EcosystemSwitcher — shared strip above the brand nav on Ground Standard,
   Keppan and More Students Less Work. One static bar, same order everywhere.

   Markup roots carry two data attributes that drive every color below:
     data-eco-theme="dark" | "light"      dark: GSA, MSLW   light: Keppan, TAMA
     data-eco-active="gs" | "keppan" | "mslw" | "tama" | "gxgs"

   CSS VARIABLES (set on the root element or any ancestor to override)
   --------------------------------------------------------------------------
   --eco-strip-bg        Strip background. #05070D on dark sites, #141413 on light.
   --eco-active-bg       Surface of the active (stepped-down) tab. Rule (2026-11-05): it
                         must contrast >= 3:1 with --eco-strip-bg AND visually join the
                         header surface below it. Where the header is transparent over
                         imagery, or the nav colour is within 3:1 of the strip, the tab
                         uses the brand accent as its surface instead.
                         gs #FFFFFF (19:1) · keppan #FFFFFF (18:1) · mslw #C6F03A (15:1) · tama #FFFFFF (18:1).
                         The navy nav (#0E1424) is 1.1:1 against the strip, so GS uses white.
   --eco-active-role     Role word on the active tab. Defaults to --eco-accent; set to an
                         ink when the surface IS the accent (mslw #090D1A, 14.7:1).
   --eco-active-focus    Focus ring on the active tab. Defaults to --eco-focus; ink on
                         light/accent surfaces.
   --eco-active-fg       Name color on the active tab (the nav's text color).
   --eco-accent          Role word on the active tab + active sheet row.
                         gs #FFFFFF · keppan #D1312B · mslw #C6F03A. Set per data-eco-active.
   --eco-dot             Status-line dot. gs #3DDC84 · keppan #D1312B · mslw #C6F03A.
   --eco-inactive-text   Inactive tab name + status text. #8d94a8 (dark) · #b7b7b2 (light).
   --eco-inactive-role   Inactive role word, one step dimmer. #8a93ab (dark, 6.3:1 on #090d1a) · #85857f (light, 4.97:1 on the light strip #141413); only the dark value changed 2026-11-07 for master B3.
                         (Spec listed #5c6378 / #7a7a75; those measure 3.4:1 and 4.3:1
                         against the strip, so they were lifted to 4.7:1 and 5.0:1.)
   --eco-hover-text      Inactive name on hover. #FFFFFF (dark) · #141413 (light).
   --eco-focus           Focus ring color. #FFFFFF (dark) · #141413 (light).
   --eco-font-sans       Name font. Defaults to the site's --sans, then Inter, system-ui.
   --eco-font-mono       Role-word font. Defaults to the site's --mono, then JetBrains Mono.
   --eco-pad             Horizontal page gutter. Defaults to the site's --margin.
   --eco-max             Content max width. Defaults to the site's --max (1296px).
   --eco-h               Desktop strip height (36px). --eco-h-m mobile strip height (44px).
   --eco-off             Current strip height, published on :root in CSS (no JS). Use it for
                         any bar that must sit below the strip. Override heights on :root.
   --eco-sheet-bg        Bottom sheet background. #141c30 (dark) · #FFFFFF (light).
   --eco-sheet-text      Sheet row name color.
   --eco-sheet-muted     Sheet label, descriptions, inactive role words.
   --eco-sheet-row-active  Active row background. #1c2742 (dark) · #F2F2EF (light).
   --eco-sheet-handle    Drag handle color.
   --eco-backdrop        Sheet backdrop.

   LAYOUT TIERS
   --------------------------------------------------------------------------
   >= 1180px   full names + role words + status line
   940–1179    full names, status line hidden
   768–939     short names (GS, Keppan, MSLW, TAMA, GXGS) on one row
   (boundaries measured on the rendered strip; ~60px slack at each edge)
   < 768       44px strip, five equal tabs, two lines each (12px name / 11px role),
               every tab a 44px-tall link box, logo opens the sheet
   ========================================================================== */

/* Layout contract (web standard 7.1b): the strip is the first in-flow element and the
   site header sits directly below it as position: sticky; top: 0. Nothing may depend
   on a value JavaScript computes at load, so the strip height is published on :root
   as --eco-off before any script runs. A site that still offsets a bar by the strip
   height uses var(--eco-off); override --eco-h / --eco-h-m on :root, not on .ecosw. */
:root {
  --eco-h: 36px;
  --eco-h-m: 44px;
  --eco-off: var(--eco-h);
}
@media (max-width: 767px) {
  :root {
    --eco-off: var(--eco-h-m);
  }
}

[data-eco-theme] {
  --eco-font-sans: var(--sans, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);
  --eco-font-mono: var(--mono, "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace);
  --eco-pad: var(--margin, clamp(16px, 5vw, 72px));
  --eco-max: var(--max, 1296px);
  --eco-h: 36px;
  --eco-h-m: 44px;
  --eco-accent: #ffffff;
  --eco-dot: var(--eco-accent);
  --eco-active-role: var(--eco-accent);
  --eco-active-focus: var(--eco-focus);
}

[data-eco-theme="dark"] {
  --eco-strip-bg: #05070D;
  --eco-active-bg: var(--ink, #0E1424);
  --eco-active-fg: #ffffff;
  --eco-inactive-text: #8d94a8;
  --eco-inactive-role: #8a93ab; /* 2026-11-07 HQ: 6.3:1 on #090d1a (was #717a93, 4.17:1, failed master B3 at 11 px) */
  --eco-hover-text: #ffffff;
  --eco-focus: #ffffff;
  --eco-sheet-bg: #141c30;
  --eco-sheet-text: #ffffff;
  --eco-sheet-muted: #8d94a8;
  --eco-sheet-row-active: #1c2742;
  --eco-sheet-handle: #3a4660;
  --eco-backdrop: rgb(5 7 13 / 0.62);
}

[data-eco-theme="light"] {
  --eco-strip-bg: #141413;
  --eco-active-bg: #ffffff;
  --eco-active-fg: #141413;
  --eco-inactive-text: #b7b7b2;
  --eco-inactive-role: #85857f; /* unchanged: 4.97:1 on the light strip #141413 (Keppan measured 2026-11-07); HQ's brief #6b6b66 change was measured against white, the wrong surface, and reverted */
  --eco-hover-text: #ffffff;
  --eco-focus: #ffffff;
  --eco-sheet-bg: #ffffff;
  --eco-sheet-text: #141413;
  --eco-sheet-muted: #5d5d58;
  --eco-sheet-row-active: #f2f2ef;
  --eco-sheet-handle: #d9d9d5;
  --eco-backdrop: rgb(20 20 19 / 0.5);
}

/* Per-site accent, and the active-tab surface where the nav surface cannot carry it
   (rule: >= 3:1 against the strip; accent surface when the header is transparent or
   within 3:1 of the strip). */
[data-eco-active="gs"]     { --eco-accent: #ffffff; --eco-dot: #3DDC84;
                             --eco-active-bg: #ffffff; --eco-active-fg: #0E1424;
                             --eco-active-role: #0E1424; --eco-active-focus: #0E1424; }
                             /* Bobby, 2026-11-05: white tab like Keppan (19:1 vs strip, 16:1 text);
                                blue and yellow candidates rejected. */
[data-eco-active="keppan"] { --eco-accent: #D1312B; --eco-dot: #D1312B; --eco-active-focus: #141413; }
[data-eco-active="mslw"]   { --eco-accent: #C6F03A; --eco-dot: #C6F03A;
                             --eco-active-bg: #C6F03A; --eco-active-fg: #090D1A;
                             --eco-active-role: #090D1A; --eco-active-focus: #090D1A; }
[data-eco-active="tama"]   { --eco-accent: #141413; --eco-dot: #3DDC84;
                             --eco-active-bg: #ffffff; --eco-active-fg: #141413;
                             --eco-active-role: #141413; --eco-active-focus: #141413; }
                             /* 2026-11-05: TAMA is black and white (brief §3) on a white header,
                                so it is a light site like Keppan: white tab on the #141413 strip
                                (18:1), ink name and role word (16:1). */

/* ---- strip ------------------------------------------------------------- */

.ecosw {
  position: relative;
  z-index: 60;
  background: var(--eco-strip-bg);
  font-family: var(--eco-font-sans);
  line-height: 1;
}

.ecosw__in {
  display: flex;
  align-items: stretch;
  height: var(--eco-h);
  width: min(100% - 2 * var(--eco-pad), var(--eco-max));
  margin-inline: auto;
}

.ecosw__nav {
  display: flex;
  align-items: stretch;
  flex: none;
  min-width: 0;
}

.ecosw__list {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ecosw__item {
  display: flex;
  align-items: stretch;
}

.ecosw__tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  color: var(--eco-inactive-text);
  font-size: 12.5px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s;
}

.ecosw__role {
  font-family: var(--eco-font-mono);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--eco-inactive-role);
}

/* Active state is keyed on BOTH aria-current="page" and .is-active: Webstudio's Link
   component drops aria-current on every page except the one the href points to. */
.ecosw__tab:not([aria-current]):not(.is-active):hover {
  color: var(--eco-hover-text);
}

.ecosw__tab[aria-current="page"],
.ecosw__tab.is-active {
  margin-top: 6px;
  margin-bottom: -1px;
  padding: 0 18px;
  border-radius: 8px 8px 0 0;
  background: var(--eco-active-bg);
  color: var(--eco-active-fg);
  font-weight: 700;
}

.ecosw__tab[aria-current="page"] .ecosw__role,
.ecosw__tab.is-active .ecosw__role {
  color: var(--eco-active-role);
}

.ecosw__tab:focus-visible {
  outline: 2px solid var(--eco-focus);
  outline-offset: -3px;
  border-radius: 6px;
}

.ecosw__tab[aria-current="page"]:focus-visible,
.ecosw__tab.is-active:focus-visible {
  border-radius: 8px 8px 0 0;
  outline-color: var(--eco-active-focus);
}

.ecosw__short { display: none; }

.ecosw__status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 0 auto;
  padding-left: 16px;
  color: var(--eco-inactive-text);
  font-size: 12px;
  white-space: nowrap;
}

.ecosw__status::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--eco-dot);
}

.ecosw__status a {
  color: inherit;
  text-decoration: none;
}

/* ---- tiers ------------------------------------------------------------- */

@media (max-width: 1179px) {
  .ecosw__status { display: none; }
  /* support link: icon only, 44 x 44 tap box; the five tabs share the rest (>= 49px each at 320px) */
  .ecosw__support { padding: 0; width: 44px; min-height: var(--eco-h-m); justify-content: center; }
  .ecosw__support-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (min-width: 768px) and (max-width: 939px) {
  /* keep the full name as the link's accessible name; show the short form visually */
  .ecosw__long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ecosw__short { display: inline; }
}

/* ---- support link (brief §14.27): headset + "Support", right edge, new tab -------- */

.ecosw__support {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  margin-left: auto;
  padding: 0 4px 0 14px;
  min-width: 44px;
  color: var(--eco-inactive-text);
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.ecosw__status + .ecosw__support { margin-left: 0; }
.ecosw__support:hover { color: var(--eco-hover-text); }
.ecosw__support:focus-visible {
  outline: 2px solid var(--eco-focus);
  outline-offset: -3px;
  border-radius: 6px;
}
.eco-headset { flex: none; width: 20px; height: 20px; }

@media (max-width: 767px) {
  .ecosw__in {
    height: var(--eco-h-m);
    width: auto;
    margin: 0;
    padding: 0 6px;
  }
  .ecosw__nav { flex: 1; }
  .ecosw__list { flex: 1; width: 100%; min-width: 0; }
  .ecosw__item { flex: 1; min-width: 0; }
  /* Rule 7.5 (2026-11-05): no visible text under 11px at phone widths, role words included.
     Short name 12px, role word 11px. Measured: five tabs fit at 320px (61px each) without wrapping. */
  .ecosw__tab {
    flex: 1;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-height: var(--eco-h-m);
    padding: 0 2px;
    font-size: 12px;
    text-align: center;
  }
  /* keep the full name as the link's accessible name; show the short form visually */
  .ecosw__long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ecosw__short { display: inline; }
  .ecosw__role { font-size: 11px; letter-spacing: 0.06em; }
  /* Active tab: the link box itself is the full 44px strip (rules 7.3 / 7.5), so any probe
     measures 44px; the stepped surface is drawn by ::before from 7px down, bleeding 1px
     into the header to join it. Text is centred within that surface via padding-top. */
  .ecosw__tab[aria-current="page"],
  .ecosw__tab.is-active {
    position: relative;
    z-index: 0;
    margin: 0 0 -1px 0;
    min-height: var(--eco-h-m);
    padding: 7px 2px 0;
    background: transparent;
  }
  .ecosw__tab[aria-current="page"]::before,
  .ecosw__tab.is-active::before {
    content: "";
    position: absolute;
    inset: 7px 0 0 0;
    z-index: -1;
    border-radius: 8px 8px 0 0;
    background: var(--eco-active-bg);
  }
  .ecosw__status { display: none; }
}

/* ---- brand button (mobile entry point) --------------------------------- */

.ecobrand {
  display: none;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: var(--eco-font-sans);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

@media (max-width: 359px) {
  .ecobrand { font-size: 15px; gap: 8px; }
}

.ecobrand img,
.ecobrand svg {
  display: block;
  width: 26px;
  height: 26px;
}

.ecobrand__caret {
  width: 7px;
  height: 7px;
  margin: -4px 0 0 -2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.7;
  transition: transform 0.2s;
}

.ecobrand[aria-expanded="true"] .ecobrand__caret {
  margin-top: 3px;
  transform: rotate(-135deg);
}

.ecobrand:focus-visible {
  outline: 2px solid var(--eco-focus);
  outline-offset: 4px;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .ecobrand { display: inline-flex; }
  [data-eco-brand-link] { display: none !important; }
}

/* ---- bottom sheet ------------------------------------------------------ */

.ecosheet {
  position: fixed;
  inset: 0;
  z-index: 90;
  font-family: var(--eco-font-sans);
  line-height: 1;
}

.ecosheet[hidden] { display: none; }

.ecosheet__backdrop {
  position: absolute;
  inset: 0;
  background: var(--eco-backdrop);
  opacity: 0;
  transition: opacity 0.2s;
}

.ecosheet__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 85vh;
  overflow-y: auto;
  padding: 0 12px calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius: 20px 20px 0 0;
  background: var(--eco-sheet-bg);
  color: var(--eco-sheet-text);
  box-shadow: 0 -10px 30px rgb(0 0 0 / 0.4);
  transform: translateY(100%);
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.ecosheet.is-open .ecosheet__backdrop { opacity: 1; }
.ecosheet.is-open .ecosheet__panel { transform: none; }

/* The close handle is a real 44px-tall button box (rule 7.3; probes and WCAG target-size
   measure the element box, not pseudo-elements). The visual pill sits 10px from the top. */
.ecosheet__handle {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 0 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.ecosheet__handle::before {
  content: "";
  display: block;
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: var(--eco-sheet-handle);
}

.ecosheet__handle:focus-visible {
  outline: 2px solid var(--eco-focus);
  outline-offset: -4px;
  border-radius: 8px;
}

.ecosheet__label {
  margin: 0;
  padding: 2px 12px 8px;
  font-family: var(--eco-font-mono);
  font-size: 11px; /* rule 7.5: sheet is phone-only, floor 11px */
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--eco-sheet-muted);
}

.ecosheet__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ecosheet__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--eco-sheet-text);
  text-decoration: none;
}

.ecosheet__row[aria-current="page"],
.ecosheet__row.is-active {
  background: var(--eco-sheet-row-active);
}

.ecosheet__row:focus-visible {
  outline: 2px solid var(--eco-focus);
  outline-offset: -2px;
}

.ecosheet__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }

.ecosheet__name { font-size: 15px; font-weight: 600; }
.ecosheet__row[aria-current="page"] .ecosheet__name,
.ecosheet__row.is-active .ecosheet__name { font-weight: 700; }

.ecosheet__desc {
  font-size: 12px;
  line-height: 1.3;
  color: var(--eco-sheet-muted);
}

.ecosheet__role {
  flex: none;
  font-family: var(--eco-font-mono);
  font-size: 11px; /* rule 7.5: sheet is phone-only, floor 11px */
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--eco-sheet-muted);
}

.ecosheet__row[aria-current="page"] .ecosheet__role,
.ecosheet__row.is-active .ecosheet__role { color: var(--eco-accent); }

.ecosheet__row--support {
  margin-top: 6px;
  border-top: 1px solid var(--eco-sheet-row-active);
  border-radius: 0 0 8px 8px;
}
.ecosheet__row--support .ecosheet__role { color: var(--eco-sheet-muted); }

html.eco-sheet-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .ecosw__tab,
  .ecobrand__caret,
  .ecosheet__backdrop,
  .ecosheet__panel { transition: none; }
}


/* ==== Compare pages: comparison table (appended to the gsa-site kit css) ==== */
.cmp { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.cmp th, .cmp td { padding: 14px 16px; border-bottom: 1px solid var(--hairline, #E6E8EC); vertical-align: top; text-align: left; }
.cmp thead th { font: 500 11px/1 var(--mono, ui-monospace, monospace); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted, #5B6472); border-bottom: 2px solid var(--ink, #0B0F19); }
.cmp tbody th { font-weight: 600; color: var(--ink, #0B0F19); width: 22%; }
.cmp td.is-gs { background: var(--mist, #EEF0F3); }
.verify { display: inline-block; margin-left: 6px; padding: 2px 6px; border: 1px dashed var(--muted, #5B6472); border-radius: 4px; font: 500 10px/1 var(--mono, ui-monospace, monospace); letter-spacing: 0.06em; color: var(--muted, #5B6472); }
.cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) { .cmp { font-size: 14px; } .cmp th, .cmp td { padding: 10px 10px; } .cmp tbody th { width: 30%; } }
.cmp-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.cmp-list li { padding: 10px 0; border-bottom: 1px solid var(--hairline, #E6E8EC); }
@media (max-width: 640px) { .cmp-list { grid-template-columns: minmax(0, 1fr); } }


/* ==== Home: "Five companies. One standard." band + school logo marquee (appended to the gsa-site kit css) ==== */
.ecoband { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 36px; }
.ecoband__tile { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 236px; padding: 26px 24px 22px; border: 1px solid var(--dark-line, rgb(255 255 255 / 0.12)); border-radius: var(--r-card, 18px); background: linear-gradient(160deg, #1b2440 0%, #121a2e 55%, #0b0f19 100%); color: #fff; text-decoration: none; transition: transform 0.35s var(--ease, ease), border-color 0.35s, box-shadow 0.35s; }
.ecoband__tile:hover, .ecoband__tile:focus-visible { transform: translateY(-4px); border-color: rgb(255 255 255 / 0.3); box-shadow: 0 30px 60px -30px rgb(5 7 12 / 0.7); outline: none; }
.ecoband__tile--gs { background: #fff; color: var(--ink, #0B0F19); border-color: transparent; }
.ecoband__role { font: 500 11px/1 var(--mono, ui-monospace, monospace); letter-spacing: 0.16em; text-transform: uppercase; color: rgb(255 255 255 / 0.62); }
.ecoband__tile--gs .ecoband__role { color: var(--muted, #5B6472); }
.ecoband__logo { display: flex; align-items: center; height: 56px; }
.ecoband__logo img { display: block; max-height: 44px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.ecoband__tile--gs .ecoband__logo img { filter: invert(1) brightness(0.1); }
.ecoband__name { font-size: 17px; font-weight: 700; letter-spacing: -0.015em; line-height: 1.15; }
.ecoband__desc { margin: 0; font-size: 14px; line-height: 1.5; color: rgb(255 255 255 / 0.72); }
.ecoband__tile--gs .ecoband__desc { color: var(--body-2, #3C4454); }
.ecoband__go { margin-top: auto; font-size: 13.5px; font-weight: 600; color: var(--accent-soft, #7C9BFF); }
.ecoband__tile--gs .ecoband__go { color: var(--accent, #1F4FE0); }
.ecoband__num { position: absolute; top: 18px; right: 20px; font: 500 11px/1 var(--mono, ui-monospace, monospace); letter-spacing: 0.12em; color: rgb(255 255 255 / 0.35); }
.ecoband__tile--gs .ecoband__num { color: var(--muted, #5B6472); }
@media (max-width: 1100px) { .ecoband { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .ecoband { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ecoband__tile { min-height: 0; padding: 20px 18px 18px; } }
@media (max-width: 420px) { .ecoband { grid-template-columns: minmax(0, 1fr); } }

/* school logo marquee (Keppan pattern) */
.logos { display: grid; gap: 22px; margin-top: 28px; overflow: hidden; contain: inline-size; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.logos__row { display: flex; width: max-content; gap: 40px; align-items: center; animation: logos-slide 70s linear infinite; }
.logos__row--rev { animation-direction: reverse; animation-duration: 84s; }
.logos:hover .logos__row { animation-play-state: paused; }
.logos img { display: block; height: 64px; width: 64px; border-radius: 14px; background: #fff; object-fit: contain; padding: 6px; transition: transform 0.45s var(--ease, ease); }
.logos img:hover { transform: scale(1.06); }
@keyframes logos-slide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .logos__row { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } .logos { mask: none; -webkit-mask: none; } }
.trusted__note { margin: 18px 0 0; font-size: 13px; color: var(--muted, #5B6472); }


/* ==== Card icons + accent tints (app/styles/icons.css, 2026-11-05). CSS-only: a modifier class per card draws a tinted chip with an inline-SVG icon, so no markup or hydration change. ==== */
.mega__tile--marketing{--card-hue:#1F4FE0;--card-tint:#EEF2FF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231F4FE0%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2011l18-5v12L3%2013v-2z%22%2F%3E%3Cpath%20d%3D%22M11.6%2016.8a3%203%200%201%201-5.8-1.6%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--operations{--card-hue:#6D28D9;--card-tint:#F3EEFF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%236D28D9%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2021v-7M4%2010V3M12%2021v-9M12%208V3M20%2021v-5M20%2012V3M1%2014h6M9%208h6M17%2016h6%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--starting{--card-hue:#15803D;--card-tint:#EAF7EE;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2315803D%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.5%2016.5c-1.5%201.26-2%205-2%205s3.74-.5%205-2c.71-.84.7-2.13-.09-2.91a2.18%202.18%200%200%200-2.91-.09z%22%2F%3E%3Cpath%20d%3D%22M12%2015l-3-3a22%2022%200%200%201%202-3.95A12.88%2012.88%200%200%201%2022%202c0%202.72-.78%207.5-6%2011a22.35%2022.35%200%200%201-4%202z%22%2F%3E%3Cpath%20d%3D%22M9%2012H4s.55-3.03%202-4c1.62-1.08%205%200%205%200%22%2F%3E%3Cpath%20d%3D%22M12%2015v5s3.03-.55%204-2c1.08-1.62%200-5%200-5%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--discipline{--card-hue:#C2410C;--card-tint:#FFF1EB;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23C2410C%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");}
.door--agency{--card-hue:#1F4FE0;--card-tint:#EEF2FF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231F4FE0%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2011l18-5v12L3%2013v-2z%22%2F%3E%3Cpath%20d%3D%22M11.6%2016.8a3%203%200%201%201-5.8-1.6%22%2F%3E%3C%2Fsvg%3E");}
.door--gear{--card-hue:#B45309;--card-tint:#FFF4E5;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B45309%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.38%203.46L16%202a4%204%200%200%201-8%200L3.62%203.46a2%202%200%200%200-1.34%202.23l.58%203.47a1%201%200%200%200%20.99.84H6v10c0%201.1.9%202%202%202h8a2%202%200%200%200%202-2V10h2.15a1%201%200%200%200%20.99-.84l.58-3.47a2%202%200%200%200-1.34-2.23z%22%2F%3E%3C%2Fsvg%3E");}
.door--technology{--card-hue:#0F766E;--card-tint:#E6F7F4;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230F766E%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Cpath%20d%3D%22M15%202v2M9%202v2M15%2020v2M9%2020v2M2%2015h2M2%209h2M20%2015h2M20%209h2%22%2F%3E%3C%2Fsvg%3E");}

/* header mega menu tiles */
.mega__tile[class*="mega__tile--"]::before{content:"";display:block;width:38px;height:38px;border-radius:11px;background:var(--card-tint) var(--card-ico) center/20px 20px no-repeat;margin-bottom:4px;}
.mega__tile[class*="mega__tile--"]{border-top:2px solid var(--card-tint);}
.mega__tile[class*="mega__tile--"]:hover{border-color:color-mix(in srgb,var(--card-hue) 35%,var(--hairline));border-top-color:var(--card-hue);}
.mega__tile[class*="mega__tile--"] .mega__n{color:var(--card-hue);}
.mega__tile[class*="mega__tile--"] .mega__t.is-soon small{color:var(--card-hue);border-color:color-mix(in srgb,var(--card-hue) 45%,transparent);background:var(--card-tint);opacity:1;}
.mega--dark .mega__tile[class*="mega__tile--"]::before,.hd--dark .mega__tile[class*="mega__tile--"]::before{background-color:color-mix(in srgb,var(--card-hue) 22%,transparent);}

/* home "three doors" rows */
.door[class*="door--"] .door__t{display:flex;align-items:center;gap:18px;}
.door[class*="door--"] .door__t::before{content:"";flex:none;width:54px;height:54px;border-radius:15px;background:var(--card-tint) var(--card-ico) center/26px 26px no-repeat;}
.door[class*="door--"] .door__col small{color:var(--card-hue);}
.door[class*="door--"]:hover{border-color:color-mix(in srgb,var(--card-hue) 40%,var(--hairline));}
.door[class*="door--"] .door__go{color:var(--card-hue);}
@media (max-width:640px){.door[class*="door--"] .door__t::before{width:44px;height:44px;border-radius:12px;background-size:22px 22px;}}

/* ==== Mega menu clarity (Bobby, 2026-11-05 14:30): tinted tiles, no greyed titles, intent line instead of a bare number, a question at the top of each panel ==== */
.mega__ask{margin:26px 0 2px;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink);}
.mega__ask + .mega__tiles{padding-top:14px;}
.mega__tile[class*="mega__tile--"]{background:var(--card-tint);border:1px solid color-mix(in srgb,var(--card-hue) 22%,transparent);border-top:3px solid var(--card-hue);}
.mega__tile[class*="mega__tile--"]:hover{background:color-mix(in srgb,var(--card-tint) 70%,#fff);border-color:color-mix(in srgb,var(--card-hue) 55%,transparent);border-top-color:var(--card-hue);}
.mega__tile[class*="mega__tile--"]::before{background-color:#fff;box-shadow:0 1px 2px rgb(5 7 12 / .06);}
.mega__tile[class*="mega__tile--"] .mega__n{font:600 12px/1.3 var(--sans,inherit);letter-spacing:0;text-transform:none;color:var(--card-hue);}
.mega__tile[class*="mega__tile--"] .mega__t.is-soon{opacity:1;}
.mega__tile[class*="mega__tile--"] .mega__t.is-soon small{opacity:.9;}
.mega__tile[class*="mega__tile--"] p{color:var(--body-2);}
.mega__tile[class*="mega__tile--"] ul li a{color:var(--card-hue);font-weight:600;}
.mega__tile--gear{--card-hue:#B45309;--card-tint:#FFF4E5;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23B45309%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.38%203.46L16%202a4%204%200%200%201-8%200L3.62%203.46a2%202%200%200%200-1.34%202.23l.58%203.47a1%201%200%200%200%20.99.84H6v10c0%201.1.9%202%202%202h8a2%202%200%200%200%202-2V10h2.15a1%201%200%200%200%20.99-.84l.58-3.47a2%202%200%200%200-1.34-2.23z%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--store{--card-hue:#0F766E;--card-tint:#E6F7F4;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230F766E%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%209l1-5h16l1%205M3%209v11a1%201%200%200%200%201%201h16a1%201%200%200%200%201-1V9M3%209h18M9%2021v-7h6v7%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--wholesale{--card-hue:#6D28D9;--card-tint:#F3EEFF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%236D28D9%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z%22%2F%3E%3Cpath%20d%3D%22M3.3%207l8.7%205%208.7-5M12%2022V12%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--pricing{--card-hue:#15803D;--card-tint:#EAF7EE;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2315803D%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.59%2013.41l-7.17%207.17a2%202%200%200%201-2.83%200L2%2012V2h10l8.59%208.59a2%202%200%200%201%200%202.82z%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%221.5%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--keppan{--card-hue:#1F4FE0;--card-tint:#EEF2FF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231F4FE0%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%226%22%20height%3D%226%22%2F%3E%3Cpath%20d%3D%22M15%202v2M9%202v2M15%2020v2M9%2020v2M2%2015h2M2%209h2M20%2015h2M20%209h2%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--frontdesk{--card-hue:#6D28D9;--card-tint:#F3EEFF;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%236D28D9%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015a2%202%200%200%201-2%202H7l-4%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%22%2F%3E%3C%2Fsvg%3E");}
.mega__tile--verified{--card-hue:#15803D;--card-tint:#EAF7EE;--card-ico:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2315803D%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E");}


/* ==== Brand lockups (app/styles/brand.css, 2026-11-05): the Ground Standard Agency logo replaces the plain wordmark text in the header, the mobile brand button and the footer. ==== */
.hd__brand img,.ecobrand img{width:auto;height:30px;}
.ecobrand img{height:26px;}
.ft__logo img{width:auto;height:34px;filter:none;}
.ft__word img{display:block;width:min(88vw,1240px);height:auto;margin:0 auto;opacity:.07;transform:translateY(14%);}
@media (max-width:640px){.hd__brand img{height:26px;}.ft__logo img{height:28px;}}

/* mobile header: menu button anchored right, no pill (Bobby, 2026-11-05 14:26) */
@media (max-width:1240px){
  .hd__actions{margin-left:auto;}
  .hd__menu{border:0;border-radius:0;padding:0 0 0 6px;background:transparent;height:auto;gap:8px;}
  .hd__menu i,.hd__menu i::before,.hd__menu i::after{width:20px;height:2px;}
}

/* podcast: latest episode click-to-play */
.embed{position:relative;}
.embed img{display:block;width:100%;height:auto;}
.yt-play{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;}
.yt-play span{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#1F4FE0;box-shadow:0 12px 32px rgb(5 7 12 / .35);transition:transform .25s;}
.yt-play span::after{content:"";position:absolute;left:30px;top:23px;border-style:solid;border-width:15px 0 15px 24px;border-color:transparent transparent transparent #fff;}
.yt-play:hover span,.yt-play:focus-visible span{transform:scale(1.07);}

/* home reviews block (replaced the numeric case study on 2026-11-05): quotes instead of figures, podcast still as the photo */
.case__photo{overflow:hidden;padding:0;}
.case__photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.case__quote{font-size:clamp(24px,2.5vw,34px);}
.case__row{align-items:flex-start;}
.case__row>span:first-child{flex:0 0 170px;font-size:14px;line-height:1.4;color:var(--muted);}
.case__row>span:last-child{flex:1;font:400 17px/1.5 inherit;font-family:inherit;letter-spacing:0;text-transform:none;color:var(--ink);}
@media (max-width:640px){.case__row{flex-direction:column;gap:6px;}.case__row>span:first-child{flex:none;}}

/* CLS: metric-matched fallback for Manrope so the swap does not reflow the hero (rule 6.x; home CLS was 0.157 when the font arrived late) */
@font-face{font-family:"Manrope Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:104%;ascent-override:97%;descent-override:27%;line-gap-override:0%;}
:root{--sans:"Manrope","Manrope Fallback",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;}

/* footer contact block, rule 7.4: every value is an unbreakable unit, letterhead address lines, column stacks before anything wraps */
.ft__brand address{display:flex;flex-direction:column;gap:6px;min-width:19ch;font-style:normal;}
.ft__brand address a,.ft__brand address span{white-space:nowrap;}

/* ==== Phone rules 7.3 / 7.5 (HQ probe 2026-11-05 21:46): 44px tap areas, 12px floor, no-wrap spans may wrap, h1 fits three lines at 360 ==== */
@media (max-width:767px){
  .nw{white-space:normal;}
  .hd__menu{min-height:44px;padding:0 4px 0 6px;}
  .ft__col a,.ft__legal a,.ft__social a,.eco-foot a,nav.crumb a,.mega__tile ul a:not(.btn),.mega__go,.blog__back a,.eps a:not(.btn),main .blog-list a,main li>a:only-child:not(.btn),.ft__legal nav a{display:inline-block;padding:10px 0;min-height:44px;box-sizing:border-box;line-height:24px;}
  .btn--sm{min-height:44px;}
  .eb-n,.mega__n,.door__col small,.card__tag,.crumb,.crumb a,.score__tag,.ft__legal,.ft__legal a,.ft__legal span,.eyebrow,.blog__by,.blog__by span,.meta-row,.meta-row span,.kform__note,.calendar-slot__t,.openmat__eb,.trusted__note,small{font-size:12px;}
}
@media (max-width:430px){
  .hero__h{font-size:clamp(34px,9.6vw,40px);line-height:.98;}
  .phero h1,.blog-hero h1{font-size:clamp(26px,7.6vw,32px);line-height:1.08;}
}

/* ==== Home "three doors" redesign (Bobby, 2026-11-05 17:16): hierarchy and relation, not colour. Agency = primary dark block; Gear + Technology = two bordered cards. ==== */
.door[class*="door--"] .door__t::before{display:none;}
.door[class*="door--"] .door__t{display:block;}
.door[class*="door--"]{border:2px solid var(--ink);box-shadow:none;}
.door[class*="door--"]:hover{border-color:var(--ink);transform:none;box-shadow:0 18px 40px -28px rgb(5 7 12 / .45);}
.door[class*="door--"] .door__col small,.door[class*="door--"] .door__go,.door[class*="door--"] .door__k{color:var(--muted);}
.door__rel{display:block;grid-column:2 / -1;margin-top:10px;font-size:16px;line-height:1.45;color:var(--body-2);max-width:52ch;}
.door__rel b{color:var(--ink);font-weight:700;}
.door--agency{background:var(--ink);color:#fff;border-color:var(--ink);}
.door--agency .door__t,.door--agency .door__col,.door--agency .door__rel b,.door--agency .door__go{color:#fff;}
.door--agency .door__rel,.door--agency .door__k{color:rgb(255 255 255 / .72);}
.door--agency .door__col small{color:rgb(255 255 255 / .6);}
@media (min-width:1025px){
  .doors{grid-template-columns:1fr 1fr;gap:18px;}
  .door--agency{grid-column:1 / -1;grid-template-columns:56px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) 40px;grid-template-areas:"k t c1 c2 go" "k rel c1 c2 go";}
  .door--agency .door__k{grid-area:k;} .door--agency .door__t{grid-area:t;} .door--agency .door__rel{grid-area:rel;grid-column:auto;} .door--agency .door__col:nth-of-type(1){grid-area:c1;} .door--agency .door__col:nth-of-type(2){grid-area:c2;} .door--agency .door__go{grid-area:go;}
  .door--gear,.door--technology{grid-template-columns:40px minmax(0,1fr) 32px;grid-template-areas:"k t go" "k rel go" "k c1 go" "k c2 go";gap:14px 20px;padding:30px 28px;}
  .door--gear .door__k,.door--technology .door__k{grid-area:k;} .door--gear .door__t,.door--technology .door__t{grid-area:t;font-size:clamp(32px,3vw,44px);} .door--gear .door__rel,.door--technology .door__rel{grid-area:rel;grid-column:auto;margin-top:0;}
  .door--gear .door__col:nth-of-type(1),.door--technology .door__col:nth-of-type(1){grid-area:c1;} .door--gear .door__col:nth-of-type(2),.door--technology .door__col:nth-of-type(2){grid-area:c2;} .door--gear .door__go,.door--technology .door__go{grid-area:go;}
}
@media (max-width:640px){.door__rel{grid-column:1 / -1;}}

/* ==== Reviews block: the owners behind the quotes (Bobby, 2026-11-05 evening). Headshot + name + school logo per quoted owner, link to the rest. ==== */
.case__faces{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr auto;gap:12px;padding:14px;place-items:stretch;align-content:stretch;min-height:420px;background:var(--mist);font:inherit;letter-spacing:0;text-transform:none;color:var(--ink);}
.face{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 16px;align-items:center;align-content:center;padding:22px 20px;background:#fff;border:1px solid var(--hairline);border-radius:14px;}
.case__faces .face>img:first-child{grid-row:1 / span 2;width:84px;height:84px;border-radius:50%;object-fit:cover;}
.face__who{display:flex;flex-direction:column;gap:3px;font-size:15px;line-height:1.3;color:var(--muted);}
.face__who b{font-size:19px;line-height:1.25;color:var(--ink);}
.case__faces .face .face__logo{grid-column:2;width:auto;max-width:150px;height:36px;object-fit:contain;object-position:left center;border-radius:0;}
.case__faces .face__more{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--hairline);border-radius:14px;}
.case__faces .face__more:hover{border-color:var(--ink);}
@media (max-width:640px){.case__faces{grid-template-columns:1fr;grid-template-rows:auto;padding:12px;min-height:0;}.face{padding:16px;grid-template-columns:64px minmax(0,1fr);}.case__faces .face>img:first-child{width:64px;height:64px;}}

/* ==== Rule 7.5 follow-ups from the 2026-11-06 00:15 probe: 44 px tap areas on footer contact links and the footer logo, standalone .link rows. ==== */
.ft address a{display:inline-flex;align-items:center;min-height:44px;}
.ft__logo{display:inline-flex;align-items:center;min-height:44px;}
.link{min-height:44px;}

/* ==== Rule 7.6 phone scroll (WEB-STANDARDS v1.2, 2026-11-06): no sideways pan, no scroll lag. ==== */
html,body{overflow-x:clip;}
@supports not (overflow-x:clip){main,footer{overflow-x:hidden;}} /* not on html/body: hidden there makes body the scroll container and the sticky header stops sticking */
.ticker,.logos,.field,.case__faces{contain:paint;} /* NOT .hero__stage or .hero__rings: the chips and the art overhang the stage by design; contain clipped them (Bobby 03:0x ET 2026-11-06) */
.hd.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgb(11 15 25 / .97);}
.field__glow{animation:none;}
.grain,.phero::after,.dhero::after,.band::after,.openmat::after,.cta__in::after,.sec--navy::after{mix-blend-mode:normal;opacity:.07;}
@media (max-width:1023px){.hero__chip,.score{backdrop-filter:none;-webkit-backdrop-filter:none;}.hero__chip{background:rgb(255 255 255 / .14);}.score{background:rgb(11 15 25 / .92);}.hero__rings i{animation:none;}}

/* ==== Rule 7.5 follow-ups from the 01:02 probe (pending next kit upload): menu button 44 px tall, family tags 11 px. ==== */
.menu-btn{min-height:44px;}
.fam__tag{font-size:11px;}

/* rule 7.5: hero scoreboard note was 9.5px mono */
.score__note{font-size:11px;}

/* ==== Home "Owners on camera": video testimonials from the reviews page (Bobby, 2026-11-06). Native <video>, poster only until play. ==== */
.vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
@media (max-width:980px){.vids{grid-template-columns:repeat(2,minmax(0,1fr));}}
.vid{margin:0;display:flex;flex-direction:column;gap:10px;}
.vid video{display:block;width:100%;height:auto;aspect-ratio:16 / 9;border-radius:var(--r-panel);background:var(--ink);object-fit:cover;}
.vid figcaption{display:flex;flex-direction:column;gap:2px;font-size:15px;line-height:1.3;color:var(--muted);}
.vid figcaption b{font-size:17px;color:var(--ink);}
@media (max-width:640px){.vids{grid-template-columns:minmax(0,1fr);gap:18px;}}

/* (door colour fill from 02:5x removed; see the premium pass below) */
.logostrip{padding:22px 0 18px;border-bottom:1px solid var(--hairline);background:var(--paper);contain:paint;}
.logostrip .logos{margin:0;}
.ticker.is-hidden,.sec.is-hidden{display:none;}

/* ==== Support portal link (Bobby 03:0x ET 2026-11-06): headset icon in the header, opens help.groundstandard.com in a new tab so the visitor keeps their place. ==== */
.hd__actions .w-html-embed{display:contents;}
.hd__help{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:rgb(255 255 255 / .82);border:1px solid rgb(255 255 255 / .14);background:rgb(255 255 255 / .06);transition:background .15s,color .15s;}
.hd__help:hover,.hd__help:focus-visible{color:#fff;background:rgb(255 255 255 / .14);}
.hd__help svg{display:block;}
/* strip marquee: one row, every logo once; the loop copy sits past the end of a 5000px row so no screen shows a logo twice */
.logos.is-hidden{display:none;}
.logostrip .logos--single .logos__row{animation-duration:120s;}
.logostrip .logos--single img{height:34px;width:auto;}

/* ==== Three doors, premium pass (Bobby 03:1x ET 2026-11-06): editorial dark cards, accent rule, soft glow, ruled offering lists, circular index + CTA, lift on hover. ==== */
.doors{gap:20px;}
.door[class*="door--"]{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,#121a2c 0%,#0b0f19 55%,#070a12 100%);border:1px solid rgb(255 255 255 / .09);border-radius:24px;padding:42px 44px 38px;box-shadow:0 40px 80px -50px rgb(5 7 12 / .9),inset 0 1px 0 rgb(255 255 255 / .06);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.door[class*="door--"]::before{content:"";position:absolute;left:44px;right:44px;top:0;height:2px;background:linear-gradient(90deg,var(--door-accent),transparent 72%);z-index:1;}
.door[class*="door--"]::after{content:"";position:absolute;right:-160px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--door-glow),transparent 62%);pointer-events:none;z-index:0;}
.door[class*="door--"]>*{position:relative;z-index:1;}
.door.door--agency{--door-accent:#fff;--door-glow:rgb(31 79 224 / .42);}
.door.door--gear{--door-accent:#4F7BFF;--door-glow:rgb(31 79 224 / .34);background:linear-gradient(155deg,#0f1a3a 0%,#0b1226 55%,#070a12 100%);}
.door.door--technology{--door-accent:#9DB4FF;--door-glow:rgb(124 155 255 / .22);background:linear-gradient(155deg,#15161a 0%,#0d0e12 55%,#070a12 100%);}
.door[class*="door--"]:hover{transform:translateY(-4px);border-color:rgb(255 255 255 / .2);box-shadow:0 50px 90px -50px rgb(5 7 12 / .95),inset 0 1px 0 rgb(255 255 255 / .08);}
.door[class*="door--"] .door__k{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgb(255 255 255 / .24);border-radius:50%;font:600 12px/1 var(--mono);letter-spacing:.04em;color:#fff;}
.door[class*="door--"] .door__t{font-size:clamp(44px,4.6vw,68px);font-weight:700;line-height:.95;letter-spacing:-.04em;color:#fff;}
.door[class*="door--"] .door__rel{font-size:17px;line-height:1.55;color:rgb(255 255 255 / .72);max-width:44ch;}
.door[class*="door--"] .door__rel b{color:#fff;font-weight:600;}
.door[class*="door--"] .door__col{gap:0;padding-top:16px;border-top:1px solid rgb(255 255 255 / .12);}
.door[class*="door--"] .door__col small{margin-bottom:10px;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:rgb(255 255 255 / .58);}
.door[class*="door--"] .door__col > span{padding:9px 0;border-bottom:1px solid rgb(255 255 255 / .07);font-size:16px;line-height:1.4;color:rgb(255 255 255 / .9);}
.door[class*="door--"] .door__col > span:last-child{border-bottom:0;}
.door[class*="door--"] .door__go{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgb(255 255 255 / .28);border-radius:50%;font-size:20px;color:#fff;transition:background .2s,color .2s,transform .2s;}
.door[class*="door--"]:hover .door__go{background:#fff;color:var(--ink);transform:translateX(4px);}
@media (min-width:981px){.door.door--agency{padding:48px 48px 44px;} .door.door--agency .door__t{font-size:clamp(56px,5.4vw,84px);} .door.door--agency .door__rel{font-size:18px;max-width:40ch;}}
@media (max-width:640px){.door[class*="door--"]{padding:28px 22px 26px;border-radius:18px;} .door[class*="door--"]::before{left:22px;right:22px;} .door[class*="door--"] .door__k{display:none;} .door[class*="door--"] .door__go{width:44px;height:44px;} .door[class*="door--"] .door__t{font-size:clamp(38px,11vw,52px);}}
/* strip follow-up: hide by class wherever it is applied; logos at a readable size (rule 7.5: marks ≥ 24px) */
.is-hidden{display:none !important;}
.logostrip .logos--single .logos__row{gap:56px;animation-duration:140s;}
.logostrip .logos--single img{height:44px;width:auto;max-width:none;object-fit:contain;}

/* hero scoreboard: keep the card inside the hero so the last stat line is not clipped by the hero overflow */
.score{bottom:16px;}
/* phone menu: Help center row (brief §14.27); the header icon covers ≥ 900px */
.hd__item--phone{display:none;}
@media (max-width:900px){.hd__item--phone{display:block;}}

/* ==== /reviews (Bobby 03:3x ET 2026-11-06): every owner review from the old reviews page, now on this site. ==== */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.rev{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--hairline);border-radius:18px;background:var(--paper);}
.rev__who{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;}
.rev__who>img:first-child{width:56px;height:56px;border-radius:50%;object-fit:cover;}
.rev__id{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.3;color:var(--muted);}
.rev__id b{font-size:16px;color:var(--ink);}
.rev .rev__logo{width:auto;max-width:72px;height:36px;object-fit:contain;}
.rev__stars{margin:0;font-size:14px;letter-spacing:.12em;color:#E8A317;}
.rev__q{margin:0;font-size:16px;line-height:1.55;color:var(--body-2);}
@media (max-width:980px){.revs{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.revs{grid-template-columns:minmax(0,1fr);gap:14px;}.rev{padding:18px;}}
/* video facade (rule 4.2 / 5.2): lazy poster image + play button; the <video> is injected on click */
.vid__play{position:relative;display:block;width:100%;padding:0;margin:0;border:0;border-radius:var(--r-panel);overflow:hidden;background:var(--ink);cursor:pointer;aspect-ratio:16 / 9;}
.vid__play img{display:block;width:100%;height:100%;object-fit:cover;}
.vid__btn{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:rgb(255 255 255 / .92);color:var(--ink);font-size:22px;padding-left:4px;box-shadow:0 10px 30px -10px rgb(0 0 0 / .6);transition:transform .15s;}
.vid__play:hover .vid__btn,.vid__play:focus-visible .vid__btn{transform:translate(-50%,-50%) scale(1.06);}
.vid__play:focus-visible{outline:2px solid #fff;outline-offset:2px;}

.vid__note{font-size:13px;color:var(--muted);}

/* ==== Doors, tablet band 641–980 px (Bobby 03:2x ET 2026-11-06: the mid widths inherited the desktop column template and squeezed the first list into the 40 px index column). Explicit areas: index + arrow, title, relation line, two lists side by side. ==== */
@media (min-width:641px) and (max-width:1024px){ /* up to the desktop door layout at 1025px; the base sheet's 1240px template would otherwise take 981–1024 */
  .door[class*="door--"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"k go" "t t" "rel rel" "c1 c2";gap:14px 24px;padding:32px 28px 30px;}
  .door[class*="door--"] .door__k{grid-area:k;}
  .door[class*="door--"] .door__go{grid-area:go;justify-self:end;}
  .door[class*="door--"] .door__t{grid-area:t;grid-column:auto;font-size:clamp(40px,7vw,56px);}
  .door[class*="door--"] .door__rel{grid-area:rel;grid-column:auto;max-width:none;}
  .door[class*="door--"] .door__col:nth-of-type(1){grid-area:c1;}
  .door[class*="door--"] .door__col:nth-of-type(2){grid-area:c2;}
}
@media (max-width:640px){
  .door[class*="door--"]{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"t go" "rel rel" "c1 c1" "c2 c2";gap:12px 16px;}
  .door[class*="door--"] .door__t{grid-area:t;grid-column:auto;}
  .door[class*="door--"] .door__go{grid-area:go;align-self:start;}
  .door[class*="door--"] .door__rel{grid-area:rel;grid-column:auto;}
  .door[class*="door--"] .door__col:nth-of-type(1){grid-area:c1;}
  .door[class*="door--"] .door__col:nth-of-type(2){grid-area:c2;}
}

/* ==== 7.2c (Bobby, staging walk 2026-11-06): text over imagery sits on a ≥92% surface at every width; no blur reliance ==== */
.hero__chip{background:rgb(11 15 25 / .94);border-color:rgb(255 255 255 / .22);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;}
.score{background:rgb(11 15 25 / .94);backdrop-filter:none;-webkit-backdrop-filter:none;}
@media (max-width:1023px){.hero__chip{background:rgb(11 15 25 / .94);}.score{background:rgb(11 15 25 / .94);}}

/* ==== Opt-in (brief §14.34): short form in a modal from every "Book a call" CTA, and in the footer ==== */
.kform--short .kform__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.kform--short .kform__foot{margin-top:14px;}
.kform--short .kform__note{font-size:13px;color:var(--muted);}
@media (max-width:560px){.kform--short .kform__grid{grid-template-columns:minmax(0,1fr);}}
.optin{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;}
.optin[hidden]{display:none;}
.optin__backdrop{position:absolute;inset:0;background:rgb(11 15 25 / .72);}
.optin__panel{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:28px 26px 24px;border-radius:20px;background:var(--paper,#fff);color:var(--ink);box-shadow:0 40px 90px -30px rgb(5 7 12 / .7);}
.optin__x{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;font-size:28px;line-height:1;color:var(--muted);cursor:pointer;}
.optin__x:hover,.optin__x:focus-visible{background:rgb(11 15 25 / .06);color:var(--ink);}
.optin__h{margin:6px 0 8px;font-size:clamp(24px,3vw,32px);line-height:1.1;letter-spacing:-.02em;}
.optin__lede{margin:0 0 18px;font-size:16px;line-height:1.5;color:var(--muted);}
html.optin-open{overflow:hidden;}
@media (max-width:560px){.optin{padding:0;align-items:end;}.optin__panel{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;padding:24px 18px 20px;}}
.ft__optin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:center;padding:40px 0 36px;border-bottom:1px solid rgb(255 255 255 / .1);}
.ft__optin-h{margin:6px 0 8px;font-size:clamp(26px,3.2vw,38px);line-height:1.05;letter-spacing:-.02em;color:#fff;}
.ft__optin-lede{margin:0;font-size:16px;line-height:1.5;color:rgb(255 255 255 / .72);max-width:42ch;}
.ft__optin .kform label{color:rgb(255 255 255 / .82);}
.ft__optin .kform input{background:rgb(255 255 255 / .06);border-color:rgb(255 255 255 / .18);color:#fff;}
.ft__optin .kform__note,.ft__optin .kform__status{color:rgb(255 255 255 / .7);}
@media (max-width:860px){.ft__optin{grid-template-columns:minmax(0,1fr);gap:20px;padding:32px 0 28px;}}
.fit__note{margin:0 0 14px;padding:12px 16px;border-radius:12px;background:var(--mist,#f3f5f9);font-size:15px;line-height:1.5;color:var(--ink);}
.fit__note[hidden]{display:none;}

/* ==== School logo strip (brief §14.35): two rows, opposite directions, every logo on a white tile; rule 7.6 (clipped track, transform only, paused under reduced motion) ==== */
.logostrip .logos--duo{display:grid;gap:14px;overflow:hidden;contain:paint;}
.logostrip .logos--duo .logos__row{display:flex;gap:18px;width:max-content;animation:tick 48s linear infinite;will-change:transform;}
.logostrip .logos--duo .logos__row--rev{animation-direction:reverse;}
.logostrip .logos--duo .logos__tile{display:grid;place-items:center;min-width:120px;height:92px;padding:14px 22px;border-radius:16px;background:#fff;box-shadow:0 14px 34px -20px rgb(11 15 25 / .5),0 1px 0 rgb(11 15 25 / .06);}
.logostrip .logos--duo img{display:block;height:60px;width:auto;max-width:200px;object-fit:contain;}
@media (max-width:640px){.logostrip .logos--duo .logos__row{gap:12px;animation-duration:36s;}.logostrip .logos--duo .logos__tile{min-width:96px;height:72px;padding:10px 16px;border-radius:14px;}.logostrip .logos--duo img{height:46px;max-width:150px;}}
.logostrip .logos--duo:hover .logos__row{animation-play-state:paused;}
@media (prefers-reduced-motion:reduce){.logostrip .logos--duo .logos__row{animation:none;}}

/* ==== Article closing line (rule 9.5): same 720px column as the body, a paragraph's gap above, regular weight; Bobby 15:34 EST 2026-11-06 ==== */
.blog__closing{max-width:720px;margin:28px auto 0;font-size:18px;line-height:1.75;color:var(--body-2);}
.blog__closing strong{font-weight:500;color:var(--ink);}

/* ==== Mega menus, premium pass (Bobby 00:17 EST 2026-11-07: tiles too light, white titles invisible on tints). Dark editorial panel on every width,
   the three-doors language: deep navy surface, one accent rule per tile in its hue, white titles, muted body, link pills, white icon tile. ==== */
.hd__item .mega{background:linear-gradient(180deg,#0f1426 0%,#0b0f19 100%);color:#fff;border-top:1px solid rgb(255 255 255 / .08);box-shadow:0 60px 90px -40px rgb(5 7 12 / .85);}
.mega__ask{color:#fff;font-size:20px;letter-spacing:-.02em;}
.mega__tiles{gap:14px;padding:22px 0 20px;}
.mega__tile,.mega__tile[class*="mega__tile--"]{position:relative;isolation:isolate;overflow:hidden;padding:22px 22px 20px;border:1px solid rgb(255 255 255 / .1);border-top:1px solid rgb(255 255 255 / .1);border-radius:18px;background:linear-gradient(155deg,rgb(255 255 255 / .06) 0%,rgb(255 255 255 / .025) 60%,rgb(255 255 255 / .015) 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .06);transition:transform .22s,border-color .22s,background-color .22s,box-shadow .22s;}
.mega__tile[class*="mega__tile--"]::after{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;background:linear-gradient(90deg,var(--card-hue),transparent 78%);z-index:1;pointer-events:none;}
.mega__tile[class*="mega__tile--"]:hover{background:linear-gradient(155deg,rgb(255 255 255 / .1) 0%,rgb(255 255 255 / .05) 60%,rgb(255 255 255 / .03) 100%);border-color:color-mix(in srgb,var(--card-hue) 55%,rgb(255 255 255 / .18));border-top-color:color-mix(in srgb,var(--card-hue) 55%,rgb(255 255 255 / .18));transform:translateY(-2px);box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 30px 50px -30px rgb(5 7 12 / .9);}
.mega__tile[class*="mega__tile--"]::before{width:40px;height:40px;border-radius:12px;background-color:#fff;box-shadow:0 8px 20px -10px rgb(5 7 12 / .8);margin-bottom:8px;}
.mega__tile[class*="mega__tile--"] .mega__n{color:color-mix(in srgb,var(--card-hue) 45%,#fff);font:600 12px/1.3 var(--sans,inherit);letter-spacing:0;}
.mega__t,.mega__tile[class*="mega__tile--"] .mega__t{color:#fff;font-size:19px;letter-spacing:-.02em;}
.mega__t:hover{color:#fff;text-decoration:none;}
.mega__t .arr{color:rgb(255 255 255 / .7);transition:transform .2s;}
.mega__t:hover .arr{transform:translateX(3px);}
.mega__tile p,.mega__tile[class*="mega__tile--"] p{color:rgb(255 255 255 / .72);font-size:14.5px;line-height:1.5;}
.mega__tile ul{gap:8px;margin-top:10px;}
.mega__tile ul li a,.mega__tile[class*="mega__tile--"] ul li a,.mega__l{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:1px solid rgb(255 255 255 / .16);border-radius:999px;background:rgb(255 255 255 / .04);color:#fff;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;transition:border-color .2s,background-color .2s;}
.mega__tile ul li a:hover,.mega__tile[class*="mega__tile--"] ul li a:hover,.mega__l:hover{border-color:color-mix(in srgb,var(--card-hue,#fff) 70%,#fff);background:rgb(255 255 255 / .1);text-decoration:none;}
.mega__bar{border-top:1px solid rgb(255 255 255 / .1);padding:18px 0 26px;}
.mega__bar p{color:rgb(255 255 255 / .72);}
.mega__go{color:#fff;}
.mega__go .arr{transition:transform .2s;}
.mega__go:hover .arr{transform:translateX(3px);}
@media (max-width:1023px){
  .mega__tiles{gap:12px;padding:6px 0 14px;}
  .mega__tile,.mega__tile[class*="mega__tile--"]{padding:20px 18px 18px;border-radius:16px;background:rgb(255 255 255 / .045);}
  .mega__tile[class*="mega__tile--"]::after{left:18px;right:18px;}
  .mega__tile[class*="mega__tile--"] ul li a{min-height:44px;padding:10px 14px;}
}

@media (max-width:1023px){.hd__item .mega{background:transparent;box-shadow:none;border-top:0;}}

/* ==== Legal pages: static policy text (2026-11-07, replaces the Termly iframes). Termly's HTML carries no headings; a paragraph that is only a bold run acts as one. ==== */
.legal{max-width:820px;font-size:17px;line-height:1.75;color:var(--body-2);}
.legal p{margin:0 0 16px;}
.legal p:has(> strong:only-child){margin-top:30px;font-size:21px;line-height:1.3;color:var(--ink);letter-spacing:-.01em;}
.legal p:first-child:has(> strong:only-child){margin-top:0;font-size:28px;}
.legal ul,.legal ol{margin:0 0 18px;padding-left:24px;}
.legal li{margin:0 0 8px;}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.legal strong{color:var(--ink);font-weight:600;}
.legal table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:15px;}
.legal td,.legal th{border:1px solid var(--hairline);padding:10px 12px;vertical-align:top;}

/* ==== Footer opt-in on its own dark surface (P0 2026-11-07: the footer is light, the opt-in tokens are dark-surface; white text sat on white). Background, text and field borders now come from one component. ==== */
.ft__optin{margin:40px 0 8px;padding:40px clamp(20px,4vw,48px) 36px;background:linear-gradient(180deg,#0f1426 0%,#0b0f19 100%);border:0;border-radius:var(--r-card,18px);color:#fff;}
.ft__optin .eyebrow{color:rgb(255 255 255 / .62);}
.ft__optin .kform input:focus{border-color:rgb(255 255 255 / .5);}
@media (max-width:860px){.ft__optin{padding:28px 20px 24px;}}
/* Every kform: the Turnstile slot precedes the submit button in .kform__foot; empty (invisible mode / not yet loaded) it still took a 20 px flex gap, so the button sat 20 px in from the fields. Give it its own row and cancel the row gap while empty. It must stay rendered (not display:none) so the lazy loader's IntersectionObserver still fires. */
.kform__foot .cf-turnstile{flex:0 0 100%;}
.kform__foot .cf-turnstile:empty{margin-bottom:-12px;}

/* ==== Section labels: number, rule, then text on every page (2026-11-07, Bobby: "Browse 02 —" read backwards). ~150 labels were authored text-first; .eyebrow is a flex row, so order puts the number and rule first without touching instances. ==== */
.eyebrow > .eb-n{order:-2;}
.eyebrow > .eb-rule{order:-1;}

/* ==== Blog pager (2026-11-07, Bobby: "Older" button glued to the cards). Space and a rule above, Newer left, Older right, same at every width. ==== */
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,64px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--hairline);}
.pager a[aria-label^="Next"]{margin-left:auto;}
.pager .btn{margin-top:0;align-self:center;}
@media (max-width:420px){.pager .btn{padding:0 20px;}}
.legal h2{margin:36px 0 12px;font-size:22px;line-height:1.3;letter-spacing:-.01em;color:var(--ink);}
.legal h3{margin:28px 0 10px;font-size:18px;line-height:1.35;color:var(--ink);}
.legal th{text-align:left;font-weight:600;color:var(--ink);}
@media (max-width:640px){.legal table{display:block;overflow-x:auto;}}
/* Termly auto-updating embeds (2026-11-07): the static policy text inside [name=termly-embed] is the server-rendered fallback; Termly swaps it for its iframe. The terms fallback spills into a second block (.legal-rest), hidden once the iframe is in. */
.legal [name="termly-embed"] iframe{display:block;width:100%;border:0;}
.legal:has([name="termly-embed"] iframe) .legal-rest{display:none;}
.legal .legal-loading{color:var(--muted);font-size:15px;}
/* After the kit loads: overscroll at the top stays dark like the header, at the bottom white like the footer (the first-paint canvas is dark). */
html{background:linear-gradient(#0b0f19 50%,#fff 50%) fixed;}
/* Consent gate note for the GHL survey/calendar (EEA/UK/CH time zones, before consent) */
.consent-gate{padding:28px;border:1px solid var(--hairline);border-radius:var(--r-card,18px);background:var(--mist,#f5f6f8);}
.consent-gate p{margin:0 0 14px;color:var(--body-2);font-size:16px;line-height:1.6;max-width:56ch;}
.consent-gate p:last-child{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.consent-gate{margin-bottom:24px;}
/* Chat facade (2026-11-07, TBT): same footprint as the GHL bubble until the real widget loads on first interaction */
.chat-facade{position:fixed;right:20px;bottom:20px;z-index:2147483000;display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:#155eef;box-shadow:0 6px 20px rgb(5 7 12 / .25);cursor:pointer;}
.chat-facade:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.chat-facade.is-loading svg{opacity:.55;}
@media print{.chat-facade{display:none;}}
/* Phone menu P0 (2026-11-07): every tap on a menu row visibly registers */
@media (max-width:1240px){.hd__nav a:active,.hd__nav button:active{opacity:.6;transition:opacity 0s;}}
/* Freshdesk web chat facade (2026-11-07): matches the Freshdesk launcher (60 px, #120E42, squared top-right corner, 33 px / 21 px from the corner) */
.chat-facade--fd{right:33px;bottom:21px;width:60px;height:60px;border-radius:30px 8px 30px 30px;background:#120e42;box-shadow:0 4px 14px rgb(18 14 66 / .35);}
/* Route loading bar (2026-11-07): hosting changes routes client-side and the data fetch can take seconds on a phone; html.is-routing from the tap until the new route renders */
html.is-routing::after{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:2147483647;background:linear-gradient(90deg,#1f4fe0,#7c9bff);transform-origin:0 50%;animation:gs-route 1.4s cubic-bezier(.2,.7,.2,1) infinite;pointer-events:none;}
@keyframes gs-route{0%{transform:scaleX(.05)}70%{transform:scaleX(.85)}100%{transform:scaleX(1);opacity:.2}}
@media (prefers-reduced-motion:reduce){html.is-routing::after{animation:none;transform:scaleX(.6);}}
/* Facade loading state: a pulse ring, no size or position change */
.chat-facade.is-loading{animation:gs-chat-pulse 1.1s ease-out infinite;}
.chat-facade.is-loading svg{opacity:.7;}
@keyframes gs-chat-pulse{0%{box-shadow:0 0 0 0 rgb(18 14 66 / .45),0 4px 14px rgb(18 14 66 / .35)}100%{box-shadow:0 0 0 14px rgb(18 14 66 / 0),0 4px 14px rgb(18 14 66 / .35)}}
@media (prefers-reduced-motion:reduce){.chat-facade.is-loading{animation:none;}}
/* one bubble at a time: Freshdesk's own launcher stays hidden while the facade is on screen (removed on widget:opened / widget:loaded) */
html.fd-facade #fd_frame{visibility:hidden !important;}
/* Whole-card links in the mega panels (2026-11-07): .mega__cover covers the card; the card's own links sit above it */
.mega__tile{position:relative;}
.mega__cover{position:absolute;inset:0;z-index:1;border-radius:inherit;}
.mega__tile a:not(.mega__cover),.mega__tile button{position:relative;z-index:2;}
.mega__cover:focus-visible{outline:2px solid #fff;outline-offset:-3px;}
.mega__tile:has(.mega__cover:hover) .mega__t .arr{transform:translateX(3px);}
/* Freshdesk chat on iPhone (2026-11-07, Bobby: zoomed, cut off left and top): iOS Safari sizes iframes to their content and ignores width:100%;
   the open mobile frame is anchored right/bottom, so the overflow was cut on the left and top. Pin the iframe to the frame (1px + min 100% trick). */
#fd_frame.fd-mobile-view.fd-open{max-width:100vw;max-height:100dvh;overflow:hidden;}
#fd_frame.fd-mobile-view.fd-open iframe{width:1px !important;min-width:100% !important;max-width:100% !important;height:1px !important;min-height:100% !important;max-height:100% !important;}
/* Squished-control fix (2026-11-07, Bobby: podcast "Watch" became a circle on phones): the 44 px tap-target rule above must never strip a .btn's padding;
   on phones the episode button spans the card under the meta at full width. */
@media (max-width:640px){.eps li .btn{justify-self:stretch;white-space:nowrap;min-width:0;padding:0 20px;}}
/* 14.2b Turnstile (2026-11-07): collapsed unless Cloudflare needs a click; when it does, it sits on the form's own surface (no grey strip, no success box) */
.cf-turnstile{height:0;overflow:hidden;background:transparent;}
.cf-turnstile.is-challenge{height:auto;overflow:visible;padding:6px 0;}
.kform__foot .cf-turnstile:not(.is-challenge){margin-bottom:-12px;}
