/* Three Wing Solutions Brand Guidelines v1.0 tokens */
:root{
  --navy:#0E2F57; --white:#ffffff; --slate:#586675; --cool:#E8ECF0; --soft:#F5F7F9;
  --forest:#18563B; --blue:#3E6F9E; --lightblue:#89A9C5;
  --ink:#0E2F57; --body:#2b3541;
  --font:"Inter",Arial,Helvetica,Aptos,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--font);color:var(--body);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
h1,h2,h3{color:var(--navy);letter-spacing:-.02em;line-height:1.15}
h1{font-weight:700}
h2{font-weight:600}
h3{font-weight:600}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--cool)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.brand img{height:36px;width:auto;display:block}
/* text wordmark, shown only until logo.svg is added */
.wm{display:flex;flex-direction:column;line-height:1}
.wm b{font-weight:700;font-size:1.05rem;letter-spacing:.04em}
.wm span{font-weight:500;font-size:.62rem;letter-spacing:.32em;margin-top:5px;padding-left:1px}
.brand.has-logo .wm{display:none}
.navlinks{display:none;gap:28px;font-size:.92rem;font-weight:500}
.navlinks a{text-decoration:none;color:var(--slate)}
.navlinks a:hover{color:var(--navy)}
.navcta{background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;padding:10px 18px;border-radius:6px}
.navcta:hover{background:#0b2646}
@media(min-width:820px){.navlinks{display:flex}}

/* buttons */
.btns{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;padding:14px 24px;border-radius:6px;font-weight:600;text-decoration:none;font-size:1rem;background:var(--navy);color:#fff;border:1.5px solid var(--navy);font-family:inherit;cursor:pointer}
.btn:hover{background:#0b2646;border-color:#0b2646}
.btn.secondary{background:#fff;color:var(--navy)}
.btn.secondary:hover{background:var(--soft)}
.btn.rev{background:#fff;color:var(--navy);border-color:#fff}
.btn.rev:hover{background:var(--cool)}
.link{font-weight:600;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--lightblue)}
.link:hover{border-color:var(--navy)}

/* hero: soft gray with an angled lower edge */
.hero{background:var(--soft);padding:96px 0 120px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 44px));position:relative}
.kicker{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}
.hero h1{font-size:clamp(2.4rem,6.5vw,4rem);max-width:17ch}
.hero p.sub{margin-top:26px;font-size:1.2rem;color:var(--slate);max-width:54ch}

/* sections */
section{padding:80px 0}
section.soft{background:var(--soft)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
h2{font-size:clamp(1.7rem,4.2vw,2.5rem);max-width:22ch}
.lead{margin-top:16px;color:var(--slate);max-width:60ch;font-size:1.08rem}

/* sound familiar */
.familiar{margin-top:36px;display:grid;border-top:1px solid var(--cool)}
.familiar div{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--cool)}
.familiar .pain{font-weight:600;color:var(--navy)}
.familiar .fix{color:var(--slate)}
@media(min-width:760px){.familiar div{grid-template-columns:1fr 1fr;gap:40px}}

/* accordion */
.acc{margin-top:36px;border-top:2px solid var(--navy)}
details{border-bottom:1px solid var(--cool)}
summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:4px 8px;padding:24px 0}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
summary .n{color:var(--blue);font-weight:600;font-size:.95rem}
summary .t{font-weight:600;color:var(--navy);font-size:clamp(1.15rem,2.6vw,1.45rem);letter-spacing:-.01em;line-height:1.25}
summary .tag{grid-column:2;color:var(--slate);font-size:.98rem}
summary .pm{grid-row:1;grid-column:3;font-size:1.6rem;line-height:1;color:var(--slate);transition:transform .2s;text-align:right;font-weight:400}
details[open] summary .pm{transform:rotate(45deg);color:var(--navy)}
.body{padding:2px 0 30px 52px;display:grid;gap:22px;max-width:760px}
@media(min-width:760px){.body{grid-template-columns:1fr 1fr;max-width:none;padding-right:36px}.body.one{grid-template-columns:1fr}}
.body h4{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:8px;font-weight:600}
.body p,.body li{font-size:.99rem}
.body ul{list-style:none}
.body li{padding:4px 0 4px 18px;position:relative}
.body li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:2px;background:var(--blue)}

/* columns */
.cols{margin-top:36px;display:grid;border-top:2px solid var(--navy)}
.col{padding:24px 0;border-bottom:1px solid var(--cool)}
.col h3{font-size:1.25rem;margin-bottom:6px}
.col .when{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.col p{color:var(--slate);font-size:.98rem}
@media(min-width:820px){
 .cols.three{grid-template-columns:repeat(3,1fr)}
 .cols.three .col{padding:26px 28px;border-bottom:0;border-right:1px solid var(--cool)}
 .cols.three .col:first-child{padding-left:0}.cols.three .col:last-child{border-right:0}
 .cols.four{grid-template-columns:repeat(4,1fr)}
 .cols.four .col{padding:26px 24px;border-bottom:0;border-right:1px solid var(--cool)}
 .cols.four .col:first-child{padding-left:0}.cols.four .col:last-child{border-right:0}}
.step .num{font-size:2rem;font-weight:700;color:var(--blue);line-height:1;margin-bottom:12px}

/* selected work placeholders */
.work{margin-top:36px;display:grid;gap:18px}
@media(min-width:820px){.work{grid-template-columns:repeat(3,1fr)}}
.proj{background:#fff;border:1.5px dashed var(--lightblue);padding:24px;border-radius:6px}
.proj .ph{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:12px;font-weight:600}
.proj h3{font-size:1.15rem;margin-bottom:8px}
.proj p{color:var(--slate);font-size:.95rem}

/* about */
.split{display:grid;gap:30px}
@media(min-width:820px){.split{grid-template-columns:1fr 1.3fr;gap:70px}}
.split p{color:var(--body)}
.split p+p{margin-top:16px}
.themes{margin-top:26px;border-top:1px solid var(--cool)}
.themes div{padding:16px 0;border-bottom:1px solid var(--cool)}
.themes strong{display:block;color:var(--navy);font-weight:600;margin-bottom:2px}
.themes span{color:var(--slate);font-size:.96rem}

/* contact: navy with angled top edge */
.contact{background:var(--navy);color:#fff;padding:120px 0 84px;clip-path:polygon(0 44px,100% 0,100% 100%,0 100%);margin-top:-44px}
.contact .eyebrow{color:var(--lightblue)}
.contact h2{color:#fff}
.contact .lead{color:#c3d0de}
.cta-grid{margin-top:34px;display:grid;gap:22px}
@media(min-width:820px){.cta-grid{grid-template-columns:1fr 1fr;gap:34px}}
.panel{border:1px solid rgba(255,255,255,.22);padding:28px;border-radius:8px}
.panel h3{font-size:1.3rem;margin-bottom:8px;color:#fff}
.panel p{color:#c3d0de;font-size:.98rem;margin-bottom:20px}
.panel .btn{width:100%;text-align:center}
.chip{display:inline-block;background:var(--forest);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:99px;margin-bottom:12px}
.cta-options{margin-top:34px;max-width:640px}
.cta-options .btn{max-width:100%;text-align:center}
.next{margin-top:6px;color:#c3d0de;font-size:.95rem}
.mail{margin-top:22px;color:#c3d0de;font-size:.95rem}
.mail a{color:#fff;font-weight:500}

/* careers */
.pagehead{background:var(--soft);padding:88px 0 96px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 36px))}
.pagehead h1{font-size:clamp(2.2rem,6vw,3.4rem);max-width:16ch}
.pagehead p{margin-top:22px;color:var(--slate);font-size:1.15rem;max-width:56ch}
.openings{margin-top:10px;padding:28px;border:1px solid var(--cool);background:var(--soft);border-radius:8px;max-width:720px}

footer{background:#fff;border-top:1px solid var(--cool);color:var(--slate);padding:32px 0;font-size:.88rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:center}
footer a{text-decoration:none}
footer a:hover{color:var(--navy)}

/* founder */
.founder{margin-top:18px;display:grid;gap:34px}
@media(min-width:820px){.founder{grid-template-columns:300px 1fr;gap:60px;align-items:start}}
.photo{aspect-ratio:4/5;background:var(--cool);border:1.5px dashed var(--lightblue);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--slate);font-weight:500;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.bio h2{max-width:none;font-size:clamp(1.7rem,4vw,2.2rem)}
.bio .role{color:var(--blue);font-weight:600;margin:6px 0 20px}
.bio p+p{margin-top:16px}

/* selected work */
.wins{margin-top:30px;border-top:2px solid var(--navy)}
.win{display:grid;gap:18px;padding:34px 0;border-bottom:1px solid var(--cool)}
@media(min-width:820px){.win{grid-template-columns:240px 1fr;gap:50px}}
.win .tagline{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.win h3{font-size:clamp(1.25rem,2.8vw,1.6rem);margin-bottom:12px}
.win p{color:var(--body)}
.win p+p{margin-top:12px}
.win .result{color:var(--navy);font-weight:600}
.attrib{margin-top:16px;color:var(--slate);font-size:.92rem}
figure.viz{margin-top:22px;max-width:520px}
figure.viz svg{width:100%;height:auto;display:block}
figure.viz figcaption{margin-top:6px;font-size:.82rem;color:var(--slate)}
.note-box{margin-top:18px;padding:16px 18px;background:var(--soft);border-left:3px solid var(--blue);border-radius:0 6px 6px 0;font-size:.95rem}
.note-box strong{color:var(--navy)}

/* chart */
figure.viz{max-width:640px;background:#fff;border:1px solid var(--cool);border-radius:10px;padding:18px 18px 14px}
.viz .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.viz .chips span{font-size:.85rem;color:var(--slate);background:var(--soft);border-radius:99px;padding:5px 12px}
.viz .chips b{color:var(--navy);font-weight:600}
.viz.anim .curve{stroke-dasharray:1;stroke-dashoffset:1}
.viz.anim .fill{opacity:0}
.viz.anim.in .curve{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1)}
.viz.anim.in .fill{opacity:1;transition:opacity 1s ease .9s}

/* hero watermark (icon-only use is approved for watermarks) */
.hero{overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero-mark{position:absolute;right:-8%;top:46%;transform:translateY(-50%);width:min(56%,620px);height:auto;opacity:.07;pointer-events:none;user-select:none}
@media(max-width:700px){.hero-mark{width:92%;right:-34%;opacity:.06}}
.brand img.logo{height:32px;width:auto;display:block}

/* three-wing mark that turns into three principles. Default (no JS, reduced motion) shows the final state. */
.mark .txt b{font-size:5.6cqw;font-weight:700;letter-spacing:-.01em;line-height:1.15}
.mark .txt span{font-size:2.9cqw;line-height:1.4;color:#c3d0de;margin-top:.8cqw;max-width:36em}
.mark .c1{clip-path:polygon(calc(3.25% + -3.25% * var(--e)) calc(81.71% + -79.71% * var(--e)), calc(5.04% + -1.06% * var(--e)) calc(77.34% + -75.34% * var(--e)), calc(6.83% + 1.13% * var(--e)) calc(72.97% + -70.97% * var(--e)), calc(8.62% + 3.32% * var(--e)) calc(68.60% + -66.60% * var(--e)), calc(10.41% + 5.51% * var(--e)) calc(64.23% + -62.23% * var(--e)), calc(13.99% + 9.90% * var(--e)) calc(55.50% + -53.50% * var(--e)), calc(17.57% + 14.28% * var(--e)) calc(46.76% + -44.76% * var(--e)), calc(20.41% + 16.49% * var(--e)) calc(41.76% + -39.76% * var(--e)), calc(22.31% + 17.12% * var(--e)) calc(39.95% + -37.95% * var(--e)), calc(28.37% + 18.63% * var(--e)) calc(35.42% + -33.42% * var(--e)), calc(34.44% + 20.13% * var(--e)) calc(30.89% + -28.89% * var(--e)), calc(40.50% + 21.64% * var(--e)) calc(26.35% + -24.35% * var(--e)), calc(46.57% + 23.15% * var(--e)) calc(21.82% + -19.82% * var(--e)), calc(52.63% + 24.65% * var(--e)) calc(17.29% + -15.29% * var(--e)), calc(58.70% + 26.16% * var(--e)) calc(12.76% + -10.76% * var(--e)), calc(64.76% + 27.67% * var(--e)) calc(8.22% + -6.22% * var(--e)), calc(70.83% + 29.17% * var(--e)) calc(3.69% + -1.69% * var(--e)), calc(71.72% + 28.28% * var(--e)) calc(3.77% + 7.89% * var(--e)), calc(71.07% + 28.93% * var(--e)) calc(6.07% + 24.93% * var(--e)), calc(66.75% + 24.00% * var(--e)) calc(15.83% + 15.17% * var(--e)), calc(62.43% + 19.06% * var(--e)) calc(25.59% + 5.41% * var(--e)), calc(59.59% + 16.65% * var(--e)) calc(30.76% + 0.24% * var(--e)), calc(56.51% + 15.61% * var(--e)) calc(33.55% + -2.55% * var(--e)), calc(51.08% + 14.10% * var(--e)) calc(37.67% + -6.67% * var(--e)), calc(45.65% + 12.59% * var(--e)) calc(41.80% + -10.80% * var(--e)), calc(40.22% + 11.08% * var(--e)) calc(45.92% + -14.92% * var(--e)), calc(34.79% + 9.57% * var(--e)) calc(50.04% + -19.04% * var(--e)), calc(33.25% + 8.67% * var(--e)) calc(52.17% + -21.17% * var(--e)), calc(30.98% + 6.20% * var(--e)) calc(57.14% + -26.14% * var(--e)), calc(28.70% + 3.72% * var(--e)) calc(62.10% + -31.10% * var(--e)), calc(26.86% + 2.87% * var(--e)) calc(64.23% + -33.23% * var(--e)), calc(21.05% + 1.25% * var(--e)) calc(68.66% + -37.66% * var(--e)), calc(15.24% + -0.37% * var(--e)) calc(73.09% + -42.09% * var(--e)), calc(9.42% + -1.99% * var(--e)) calc(77.52% + -46.52% * var(--e)), calc(3.61% + -3.61% * var(--e)) calc(81.95% + -50.95% * var(--e)), calc(3.43% + -3.43% * var(--e)) calc(81.83% + -65.33% * var(--e)));--y0:2%;--h:29%}
.mark .c2{clip-path:polygon(calc(23.73% + -23.73% * var(--e)) calc(87.12% + -51.12% * var(--e)), calc(25.37% + -21.32% * var(--e)) calc(83.29% + -47.29% * var(--e)), calc(27.01% + -18.90% * var(--e)) calc(79.45% + -43.45% * var(--e)), calc(28.65% + -16.49% * var(--e)) calc(75.62% + -39.62% * var(--e)), calc(30.30% + -14.08% * var(--e)) calc(71.78% + -35.78% * var(--e)), calc(31.94% + -11.67% * var(--e)) calc(67.95% + -31.95% * var(--e)), calc(33.58% + -9.26% * var(--e)) calc(64.11% + -28.11% * var(--e)), calc(36.86% + -4.43% * var(--e)) calc(56.44% + -20.44% * var(--e)), calc(38.82% + -2.80% * var(--e)) calc(53.57% + -17.57% * var(--e)), calc(44.42% + -0.40% * var(--e)) calc(49.43% + -13.43% * var(--e)), calc(50.01% + 2.00% * var(--e)) calc(45.28% + -9.28% * var(--e)), calc(55.61% + 4.40% * var(--e)) calc(41.14% + -5.14% * var(--e)), calc(61.21% + 6.80% * var(--e)) calc(37.00% + -1.00% * var(--e)), calc(66.81% + 9.19% * var(--e)) calc(32.85% + 3.15% * var(--e)), calc(72.41% + 11.59% * var(--e)) calc(28.71% + 7.29% * var(--e)), calc(78.01% + 13.99% * var(--e)) calc(24.57% + 11.43% * var(--e)), calc(83.61% + 16.39% * var(--e)) calc(20.43% + 15.57% * var(--e)), calc(84.32% + 15.68% * var(--e)) calc(20.67% + 24.46% * var(--e)), calc(83.73% + 16.27% * var(--e)) calc(22.72% + 42.28% * var(--e)), calc(81.46% + 12.89% * var(--e)) calc(27.99% + 37.01% * var(--e)), calc(79.20% + 9.51% * var(--e)) calc(33.26% + 31.74% * var(--e)), calc(74.67% + 2.75% * var(--e)) calc(43.81% + 21.19% * var(--e)), calc(72.78% + 0.90% * var(--e)) calc(46.92% + 18.08% * var(--e)), calc(69.41% + -0.82% * var(--e)) calc(49.88% + 15.12% * var(--e)), calc(64.28% + -3.10% * var(--e)) calc(53.67% + 11.33% * var(--e)), calc(59.14% + -5.39% * var(--e)) calc(57.47% + 7.53% * var(--e)), calc(54.01% + -7.68% * var(--e)) calc(61.26% + 3.74% * var(--e)), calc(48.88% + -9.96% * var(--e)) calc(65.05% + -0.05% * var(--e)), calc(47.63% + -10.96% * var(--e)) calc(66.78% + -1.78% * var(--e)), calc(45.15% + -14.32% * var(--e)) calc(72.11% + -7.11% * var(--e)), calc(43.55% + -15.50% * var(--e)) calc(74.16% + -9.16% * var(--e)), calc(38.68% + -17.64% * var(--e)) calc(77.71% + -12.71% * var(--e)), calc(33.82% + -19.79% * var(--e)) calc(81.26% + -16.26% * var(--e)), calc(28.95% + -21.94% * var(--e)) calc(84.80% + -19.80% * var(--e)), calc(24.08% + -24.08% * var(--e)) calc(88.35% + -23.35% * var(--e)), calc(23.55% + -23.55% * var(--e)) calc(88.11% + -35.69% * var(--e)));--y0:36%;--h:29%}
.mark .c3{clip-path:polygon(calc(41.30% + -41.30% * var(--e)) calc(95.16% + -25.16% * var(--e)), calc(44.16% + -36.50% * var(--e)) calc(88.80% + -18.80% * var(--e)), calc(47.01% + -31.71% * var(--e)) calc(82.44% + -12.44% * var(--e)), calc(49.87% + -26.91% * var(--e)) calc(76.09% + -6.09% * var(--e)), calc(52.72% + -22.11% * var(--e)) calc(69.73% + 0.27% * var(--e)), calc(54.79% + -20.03% * var(--e)) calc(66.86% + 3.14% * var(--e)), calc(59.59% + -17.32% * var(--e)) calc(63.72% + 6.28% * var(--e)), calc(64.38% + -14.60% * var(--e)) calc(60.58% + 9.42% * var(--e)), calc(69.17% + -11.88% * var(--e)) calc(57.44% + 12.56% * var(--e)), calc(73.96% + -9.17% * var(--e)) calc(54.31% + 15.69% * var(--e)), calc(76.75% + -7.56% * var(--e)) calc(52.41% + 17.59% * var(--e)), calc(79.54% + -5.94% * var(--e)) calc(50.51% + 19.49% * var(--e)), calc(82.33% + -4.33% * var(--e)) calc(48.62% + 21.38% * var(--e)), calc(85.12% + -2.72% * var(--e)) calc(46.72% + 23.28% * var(--e)), calc(87.91% + -1.11% * var(--e)) calc(44.82% + 25.18% * var(--e)), calc(90.70% + 0.50% * var(--e)) calc(42.92% + 27.08% * var(--e)), calc(96.27% + 3.73% * var(--e)) calc(39.13% + 30.87% * var(--e)), calc(96.69% + 3.31% * var(--e)) calc(39.38% + 37.46% * var(--e)), calc(96.15% + 3.85% * var(--e)) calc(41.26% + 57.74% * var(--e)), calc(93.67% + -0.41% * var(--e)) calc(46.70% + 52.30% * var(--e)), calc(91.18% + -4.66% * var(--e)) calc(52.13% + 46.87% * var(--e)), calc(88.70% + -8.92% * var(--e)) calc(57.57% + 41.43% * var(--e)), calc(86.21% + -13.17% * var(--e)) calc(63.00% + 36.00% * var(--e)), calc(84.02% + -15.60% * var(--e)) calc(66.20% + 32.80% * var(--e)), calc(81.75% + -17.16% * var(--e)) calc(68.05% + 30.95% * var(--e)), calc(79.47% + -18.71% * var(--e)) calc(69.89% + 29.11% * var(--e)), calc(77.12% + -20.16% * var(--e)) calc(71.49% + 27.51% * var(--e)), calc(74.77% + -21.61% * var(--e)) calc(73.08% + 25.92% * var(--e)), calc(70.07% + -24.51% * var(--e)) calc(76.27% + 22.73% * var(--e)), calc(65.38% + -27.40% * var(--e)) calc(79.46% + 19.54% * var(--e)), calc(60.68% + -30.30% * var(--e)) calc(82.65% + 16.35% * var(--e)), calc(55.98% + -33.20% * var(--e)) calc(85.84% + 13.16% * var(--e)), calc(51.29% + -36.10% * var(--e)) calc(89.03% + 9.97% * var(--e)), calc(46.59% + -39.00% * var(--e)) calc(92.22% + 6.78% * var(--e)), calc(41.89% + -41.89% * var(--e)) calc(95.41% + 3.59% * var(--e)), calc(41.60% + -41.60% * var(--e)) calc(95.28% + -10.78% * var(--e)));--y0:70%;--h:29%}

/* mobile menu */
.navr{display:flex;align-items:center;gap:10px}
.mnav{border:0;position:static}
.mnav summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--cool);border-radius:6px;cursor:pointer}
.mnav i{display:block;width:18px;height:2px;background:var(--navy);box-shadow:0 -6px 0 var(--navy),0 6px 0 var(--navy);transition:box-shadow .2s,transform .2s}
.mnav[open] i{box-shadow:none;transform:rotate(45deg)}
.mnav[open] i::after{content:"";display:block;width:18px;height:2px;background:var(--navy);transform:rotate(-90deg)}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--cool);box-shadow:0 14px 24px rgba(14,47,87,.08);padding:6px 22px 20px;display:flex;flex-direction:column}
.mnav nav a{padding:15px 0;border-bottom:1px solid var(--cool);text-decoration:none;color:var(--navy);font-weight:500}
.mnav nav a.mcta{margin-top:16px;border:0;background:var(--navy);color:#fff;text-align:center;border-radius:6px;font-weight:600;padding:14px}
@media(min-width:820px){.mnav{display:none}}
@media(max-width:479px){.navcta{display:none}}

/* about: scroll-scrubbed mark (--p is set from scroll position; 1 = finished state) */
.fly{padding:72px 0 24px}
.fly-stage{--p:1;--sw:clamp(0, calc((var(--p) - .38) * 60), 1);--e:clamp(0, calc((var(--p) - .40) / .4), 1)}
.fly-head{text-align:center;max-width:680px;margin:0 auto 44px}
.fly-head h2{max-width:none}
.fly-head .lead{margin-left:auto;margin-right:auto}
.mark{position:relative;container-type:inline-size;aspect-ratio:1690/1219;width:100%;max-width:580px;margin:0 auto}
.mark-img{position:absolute;inset:0;width:100%;height:100%;opacity:calc(1 - var(--sw))}
.mark .card{position:absolute;inset:0;background:#05264E;opacity:var(--sw)}
.mark .c1{--e:clamp(0, calc((var(--p) - .40) / .4), 1)}
.mark .c2{--e:clamp(0, calc((var(--p) - .50) / .4), 1)}
.mark .c3{--e:clamp(0, calc((var(--p) - .58) / .4), 1)}
.mark .txt{position:absolute;left:0;top:var(--y0);height:var(--h);width:100%;padding:0 5.5cqw;display:flex;flex-direction:column;justify-content:center;color:#fff;opacity:clamp(0, calc((var(--e) - .75) * 6), 1)}
.mark .txt b{font-size:5.6cqw;font-weight:700;letter-spacing:-.01em;line-height:1.15}
.mark .txt span{font-size:2.9cqw;line-height:1.4;color:#c3d0de;margin-top:.8cqw;max-width:36em}
.wings{list-style:none;margin:26px auto 0;max-width:520px;border-top:1px solid var(--cool);opacity:clamp(0, calc((var(--p) - .9) * 12), 1)}
.wings li{padding:12px 0 12px 34px;border-bottom:1px solid var(--cool);position:relative}
.wings li::before{content:"";position:absolute;left:2px;top:20px;width:18px;height:9px;background:#05264E;transform:skewX(-24deg);border-radius:2px}
.wings strong{display:block;color:var(--navy);font-weight:600}
.wings span{color:var(--slate);font-size:.96rem}
@media(min-width:880px){.wings{display:none}}
@media(max-width:879px){.mark .txt span{display:none}.mark .txt b{font-size:5.8cqw}}
.guides{padding-top:56px}

/* founder photo: whole photo, never cropped, scales with the device */
.founder{gap:30px}
@media(min-width:720px){.founder{grid-template-columns:minmax(220px,300px) 1fr;gap:56px;align-items:start}}
.photo.filled{aspect-ratio:auto;border:0;background:none;display:block;width:100%;max-width:280px;overflow:visible}
@media(min-width:720px){.photo.filled{max-width:300px}}
.photo.filled img{width:100%;height:auto;object-fit:contain;border-radius:8px;display:block}
.personal{margin-top:26px;padding-top:22px;border-top:1px solid var(--cool)}
.bio .in{margin-top:18px;font-size:.92rem}

/* chart comparison */
.compare{margin-top:14px;display:grid;gap:0;border-top:1px solid var(--cool)}
.compare .row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--cool);font-size:.92rem;align-items:baseline}
.compare .row.h{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-weight:600}
.compare .k{color:var(--slate)}
.compare .a{color:var(--slate);font-weight:600}
.compare .b{color:var(--navy);font-weight:700}
.compare-note{margin-top:12px;font-size:.88rem;color:var(--slate);line-height:1.55}

.brand{gap:10px}.brand img.logo-mark{height:29px;width:auto;display:block}

/* reduced motion: no smooth scrolling */
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* health check teaser (home) */
.teaser{padding:0 0 72px}
.teaser-box{background:var(--soft);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:28px 28px 30px;display:grid;gap:18px;align-items:center}
.teaser-box h2{font-size:clamp(1.4rem,3.2vw,1.8rem);max-width:none}
.teaser-box p.lead{margin-top:8px;font-size:1rem}
.teaser-box .eyebrow{margin-bottom:8px}
.teaser-box .btn{justify-self:start;text-align:center}
@media(min-width:820px){.teaser-box{grid-template-columns:1fr auto;gap:40px;padding:32px 36px}}
.hc-nudge{margin-top:14px;color:#c3d0de;font-size:.95rem}
.hc-nudge a{color:#fff;font-weight:500}

/* how we handle your data (home) */
section.divide{border-top:1px solid var(--cool)}
.principles{margin-top:36px;display:grid;border-top:2px solid var(--navy)}
.principles div{padding:22px 0;border-bottom:1px solid var(--cool)}
.principles strong{display:block;color:var(--navy);font-weight:600;font-size:1.1rem;margin-bottom:4px}
.principles p{color:var(--slate);font-size:.98rem}
@media(min-width:760px){.principles{grid-template-columns:1fr 1fr;column-gap:48px}}
.keep{margin-top:56px}
.keep h3{font-size:1.25rem}
.keep-cards{margin-top:18px;display:grid;gap:14px}
@media(min-width:560px){.keep-cards{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.keep-cards{grid-template-columns:repeat(4,1fr)}}
.keep-cards div{background:var(--soft);border:1px solid var(--cool);border-radius:8px;padding:18px 18px 20px}
.keep-cards strong{display:block;color:var(--navy);font-weight:600;margin-bottom:4px}
.keep-cards p{color:var(--slate);font-size:.94rem;line-height:1.55}

/* data health check page */
.hc{padding-top:56px}
.hc-progress{position:sticky;top:68px;z-index:5;background:#fff;border-bottom:1px solid var(--cool);padding:12px 0;margin-bottom:8px}
.hc-progress p{font-size:.92rem;font-weight:600;color:var(--navy)}
.hc-track{margin-top:6px;height:6px;background:var(--cool);border-radius:99px;overflow:hidden}
.hc-track span{display:block;height:100%;width:0;background:var(--blue);border-radius:99px;transition:width .25s ease}
.hc-group{margin-top:40px}
.hc-group h2{font-size:clamp(1.25rem,3vw,1.5rem);max-width:none;padding-bottom:10px;border-bottom:2px solid var(--navy)}
.hc-q{border:0;padding:20px 0 22px;border-bottom:1px solid var(--cool)}
.hc-q legend{font-weight:600;color:var(--navy);font-size:1.05rem;line-height:1.4;padding:0;margin-bottom:12px;float:left;width:100%}
.hc-q legend .qn{color:var(--blue);margin-right:6px}
.hc-opts{clear:both;display:grid;gap:8px}
@media(min-width:600px){.hc-opts{grid-template-columns:repeat(3,1fr)}}
.seg{position:relative;display:block;cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.seg span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 14px;border:1.5px solid var(--cool);border-radius:6px;background:#fff;color:var(--navy);font-weight:500;text-align:center;transition:background .15s,border-color .15s}
.seg:hover span{border-color:var(--lightblue)}
.seg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.seg input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.hc-submit{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.btn:disabled{background:var(--cool);border-color:var(--cool);color:var(--slate);cursor:not-allowed}
.btn:focus-visible,.textbtn:focus-visible,.link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.hc-submit .hint{color:var(--slate);font-size:.92rem}
.hc-result{margin-top:56px;padding-top:40px;border-top:2px solid var(--navy)}
.hc-result h2{max-width:none}
.hc-result h2:focus{outline:none}
.hc-result h2:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.hc-score{margin-top:6px;color:var(--slate);font-weight:600}
.hc-line{margin-top:12px;font-size:1.1rem;max-width:60ch}
.bars{margin-top:30px;display:grid;gap:14px;max-width:720px}
.bar{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline}
.bar .bl{font-weight:500;color:var(--navy)}
.bar .bv{font-size:.92rem;color:var(--slate);font-weight:600}
.bar .bt{grid-column:1/-1;height:12px;background:var(--cool);border-radius:99px;overflow:hidden}
.bar .bt span{display:block;height:100%;background:var(--lightblue);border-radius:99px;transition:width .5s ease}
.bar.top .bl{font-weight:700}
.bar.top .bv{color:var(--navy)}
.bar.top .bt span{background:var(--navy)}
.bar .flag{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--forest);padding:2px 8px;border-radius:99px;vertical-align:2px}
.start-card{margin-top:34px;max-width:720px;background:var(--soft);border-left:3px solid var(--navy);border-radius:0 8px 8px 0;padding:22px 24px}
.start-card .eyebrow{margin-bottom:6px}
.start-card h3{font-size:1.3rem;margin-bottom:6px}
.start-card p{color:var(--body)}
.start-card p+p{margin-top:12px}
.hc-honest{margin-top:18px;font-size:.9rem;color:var(--slate);max-width:62ch}
.hc-offer{margin-top:36px;padding-top:28px;border-top:1px solid var(--cool);max-width:720px}
.hc-offer p{max-width:60ch}
.hc-offer .btns{margin-top:20px}
.textbtn{background:none;border:0;padding:8px 2px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer;text-decoration:underline;text-decoration-color:var(--lightblue);text-decoration-thickness:2px;text-underline-offset:4px}
.textbtn:hover{text-decoration-color:var(--navy)}
.hc-nojs{margin-top:10px;padding:22px 24px;background:var(--soft);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;max-width:720px}
.hc-nojs a{color:var(--navy);font-weight:600}
@media (prefers-reduced-motion: reduce){.hc-track span,.bar .bt span,.seg span{transition:none}}

/* 404 */
.notfound .btns{margin-top:30px}

/* email help panel (mail-help.js): shown on every mailto click, in case no email app opens */
.mh{position:fixed;z-index:60;left:12px;right:12px;bottom:12px;background:#fff;color:var(--body);border:1px solid var(--cool);border-radius:10px;box-shadow:0 12px 40px rgba(14,47,87,.22);padding:20px 20px 16px;max-width:440px}
@media(min-width:620px){.mh{left:auto;right:24px;bottom:24px}}
.mh-title{font-weight:600;color:var(--navy);font-size:1.05rem;padding-right:28px;outline:none}
.mh-text{font-size:.92rem;margin-top:4px;overflow-wrap:anywhere}
.mh-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.mh-btns .btn{padding:10px 12px;font-size:.88rem;text-align:center}
.mh-status{font-size:.85rem;color:var(--forest);min-height:1.3em;margin-top:8px}
.mh-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:1.6rem;line-height:1;color:var(--slate);cursor:pointer;padding:4px 8px;border-radius:6px}
.mh-x:hover{color:var(--navy);background:var(--soft)}
.mh-x:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media print{.mh{display:none}}
