
:root{
  --b30:#08415c; --b45:#1b6e8c; --b60:#3f9bb0; --b75:#93c9d6;
  --hot:#b5541f; --hot-lit:#e0762f;
  --deep:#0b1d2a;
  --paper:#f4f8f9; --card:#ffffff; --ink:#12232b; --ink2:#4a6069; --line:#dbe6ea;
  --onDeep:#eaf2f5; --onDeep2:#a9c3cf;
  --band:linear-gradient(90deg,var(--b30) 0%,var(--b45) 34%,var(--b60) 64%,var(--b75) 100%);
  --display:"Archivo","Liberation Sans",Arial,sans-serif;
  --body:"Source Sans 3","Liberation Sans",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Liberation Mono",monospace;
  --wrap:1180px;
}
:root:not([data-theme="light"]){@media (prefers-color-scheme:dark){
  --paper:#0e1f2b; --card:#14293605; --card:#142936; --ink:#e9f1f4; --ink2:#a7c0cb;
  --line:#22404f; --b75:#a7d5e0;
}}
:root[data-theme="dark"]{
  --paper:#0e1f2b; --card:#142936; --ink:#e9f1f4; --ink2:#a7c0cb;
  --line:#22404f; --b75:#a7d5e0;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.62 var(--body);
  -webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.022em;line-height:1.1}
p{margin:0}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:22px}
.rule{height:4px;background:var(--band)}
/* The kicker above every headline. It was 11.5px in the palest blue we have,
   which on the dark hero was close to invisible. Bigger, tighter tracking,
   and a colour chosen against the ground it actually sits on. */
.eyebrow{font:700 13px/1.35 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--b45)}
.hero .eyebrow,.phead .eyebrow,.priv .eyebrow{color:var(--b75)}
.cap .eyebrow{font-size:11px;letter-spacing:.14em;color:var(--b45)}
.hdlogo{display:block;width:167px;height:auto}
@media(max-width:520px){.hdlogo{width:138px}}
/* The product, in the hero, directly above its own tagline. */
.heroproduct{display:flex;align-items:center;gap:15px;margin-bottom:26px}
.heroproduct>div{font:700 clamp(34px,4.4vw,48px)/1 var(--display);letter-spacing:-.035em;color:#fff}
.heroproduct i{font-style:normal;font-weight:400;color:var(--onDeep2)}
.heroproduct sup{font-size:.34em;vertical-align:super;color:var(--onDeep2);margin-left:2px}
.heroproduct img{flex:0 0 auto}
.covers{margin-top:24px;padding-top:18px;border-top:1px solid #24435a;font-size:15.5px;
  line-height:1.55;color:var(--onDeep2);max-width:54ch}
.covers b{color:#fff;font-weight:600}

/* ---- masthead ---- */
.top{background:var(--deep);color:var(--onDeep)}
.topin{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding-block:16px}
.lock{display:flex;align-items:center;gap:12px;margin-right:auto}
.lock img{display:block}
.wm{font:700 23px/1 var(--display);letter-spacing:-.03em;color:#fff}
.wm i{font-style:normal;font-weight:400;color:var(--onDeep2)}
.wm sup{font-size:9px;vertical-align:super;color:var(--onDeep2)}
nav{display:flex;gap:22px;flex-wrap:wrap;font:600 14.5px var(--body)}
nav a{color:var(--onDeep2);text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}
nav a:hover,nav a:focus-visible{color:#fff;border-bottom-color:var(--hot-lit)}

/* ---- hero ---- */
.hero{background:var(--deep);color:var(--onDeep);padding-block:52px 64px}
.heroin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:48px;align-items:center}
.hero h1{font-size:clamp(34px,4.4vw,54px);color:#fff;margin-block:16px 0}
.hero h1 em{font-style:normal;color:var(--hot-lit)}
.hero .lede{margin-top:20px;font-size:18.5px;color:var(--onDeep2);max-width:60ch}
.hero .lede b{color:#fff;font-weight:600}
.ctas{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}
.btn{font:600 15px var(--body);text-decoration:none;padding:12px 21px;border-radius:3px;
  border:1px solid transparent;display:inline-block}
.btn.p{background:var(--hot);color:#fff}
.btn.p:hover{background:var(--hot-lit)}
.btn.s{border-color:#2c5568;color:var(--onDeep)}
.btn.s:hover{border-color:var(--b60);color:#fff}
.player{border:1px solid #24435a;background:#000;border-radius:5px;overflow:hidden}
.player video{width:100%;aspect-ratio:16/9;background:#000}
.plabel{display:flex;justify-content:space-between;gap:12px;background:#12283a;
  padding:10px 14px;font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--onDeep2)}
.plabel b{color:var(--b60)}

/* ---- signal ---- */
.sec{padding-block:64px}
.sechead{max-width:64ch}
.sechead h2{font-size:clamp(26px,3vw,36px);margin-top:12px}
.sechead p{margin-top:14px;color:var(--ink2);font-size:18px}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:32px}
.sig{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--hot);
  padding:22px 24px}
.sig h3{font-size:19px;color:var(--b30)}
.sig .src{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink2);margin-bottom:9px}
.sig p{margin-top:9px;color:var(--ink2);font-size:16.5px}

/* ---- shots ---- */
.shots{display:grid;gap:30px;margin-top:34px}
.shot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:28px;align-items:center}
.shot:nth-child(even) .cap{order:2}
.shot img{border:1px solid var(--line);border-radius:4px}
.cap h3{font-size:22px;margin-top:10px}
.cap p{margin-top:11px;color:var(--ink2);font-size:16.5px}

/* ---- views ---- */
.views{margin-top:26px;border-top:1px solid var(--line)}
.view{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding-block:14px;
  border-bottom:1px solid var(--line)}
.view dt{font:600 16px var(--display);color:var(--b30)}
.view dd{margin:0;color:var(--ink2)}

/* ---- pricing ---- */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:32px}
.plan{background:var(--card);border:1px solid var(--line);padding:26px 26px 28px;
  display:flex;flex-direction:column}
.plan.lead{border-color:var(--b45);box-shadow:0 18px 40px -28px rgba(8,65,92,.55)}
.plan .tier{font:600 11.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--b60)}
.plan h3{font-size:23px;margin-top:7px;letter-spacing:.01em}
.plan h3 i{font-style:italic;font-weight:400;font-size:18px;letter-spacing:0;color:var(--ink2);
  font-family:var(--body)}
.planwhat{margin-top:9px;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.planwhat b{color:var(--ink);font-weight:600}
.amt{font:700 50px/1 var(--display);letter-spacing:-.04em;margin-top:16px;
  font-variant-numeric:tabular-nums}
.amt span{font:600 14px var(--body);color:var(--ink2);letter-spacing:0}
.plan ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px;font-size:16px;color:var(--ink2)}
.plan li{padding-left:18px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
  background:var(--b60);border-radius:50%}
.excl{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:15px;color:var(--ink2)}
.excl b{color:var(--ink)}
.rev{margin-top:22px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--b45);padding:22px 24px;font-size:16.5px;color:var(--ink2)}
.rev b{color:var(--ink)}

/* ---- privacy ---- */
.priv{background:var(--deep);color:var(--onDeep)}
.priv .wrap{padding-block:52px}
.priv h2{font-size:clamp(24px,2.6vw,31px);color:#fff}
.priv p{margin-top:14px;color:var(--onDeep2);font-size:17.5px;max-width:74ch}
.priv p b{color:#fff;font-weight:600}

/* ---- flight deck ---- */
.bridge{background:var(--card);border:1px solid var(--line);padding:26px 28px;margin-top:6px}
.bridge p{font:600 19px/1.45 var(--display);letter-spacing:-.015em}
.bridge p span{color:var(--hot)}
.deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:26px}
.lvl{background:var(--card);border:1px solid var(--line);padding:0 0 22px;overflow:hidden}
.lvl .bar{height:5px}
.lvl .in{padding:20px 22px 0}
.lvl .dur{font:600 11.5px var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--ink2)}
/* one wordmark rule everywhere: the prefix light, PILOT heavy. */
.lvl h3{font-size:21px;margin-top:8px;font-weight:400;color:var(--ink2);letter-spacing:-.02em}
.lvl h3 i{font-style:normal;font-weight:700;color:var(--ink)}
.lvl p{margin-top:11px;color:var(--ink2);font-size:16px}

/* ---- contact ---- */
.end{background:var(--deep);color:var(--onDeep);text-align:center}
.end .wrap{padding-block:64px}
.end h2{font-size:clamp(26px,3vw,38px);color:#fff}
.end p{margin-top:16px;color:var(--onDeep2);font-size:18px}
.endrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.cw{margin-top:34px;display:flex;justify-content:center}
.cw img{height:74px;border-radius:7px}
footer{background:var(--deep);color:#5f7a89;border-top:1px solid #1c3646}
footer .wrap{padding-block:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font:500 12px var(--mono);letter-spacing:.09em;text-transform:uppercase}
footer a{color:var(--b60);text-decoration:none}
@media(max-width:860px){
  .heroin,.shot{grid-template-columns:1fr}
  .shot:nth-child(even) .cap{order:0}
  .view{grid-template-columns:1fr;gap:4px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- shared page furniture added for the multi-page site ---- */
.phead{background:var(--deep);color:var(--onDeep);padding-block:54px 58px}
.phead h1{font-size:clamp(30px,4vw,46px);color:#fff;margin-top:14px}
.phead p{margin-top:18px;color:var(--onDeep2);font-size:18.5px;max-width:66ch}
.prose{max-width:70ch}
.prose h2{font-size:clamp(23px,2.6vw,30px);margin-top:42px}
.prose h3{font-size:20px;margin-top:30px;color:var(--b30)}
.prose p{margin-top:15px;color:var(--ink2);font-size:17.5px}
.prose p.stand{font:600 21px/1.45 var(--display);color:var(--ink);letter-spacing:-.015em;
  border-left:3px solid var(--hot);padding-left:18px;margin-top:30px}
.prose ul{margin-top:15px;padding-left:20px;color:var(--ink2);font-size:17.5px}
.prose li{margin-top:8px}
.prose a{color:var(--b45);text-decoration-thickness:1px;text-underline-offset:3px}
.meta{font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--onDeep2)}
.lvlfull{background:var(--card);border:1px solid var(--line);margin-top:20px;overflow:hidden}
.lvlfull .bar{height:5px}
.lvlfull .in{padding:24px 26px 26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:26px}
.lvlfull h2{font-size:26px;margin:0;font-weight:400;color:var(--ink2);letter-spacing:-.02em}
.lvlfull h2 i{font-style:normal;font-weight:700;color:var(--ink)}
.lvlfull .dur{font:600 11.5px var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--ink2)}
.lvlfull .quote{margin-top:10px;color:var(--ink);font-size:17px}
.lvlfull ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;color:var(--ink2);font-size:16.5px}
.lvlfull li{padding-left:18px;position:relative}
.lvlfull li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
  background:var(--b60);border-radius:50%}
.postlist{display:grid;gap:2px;margin-top:8px}
.post{background:var(--card);border:1px solid var(--line);padding:24px 26px;text-decoration:none;display:block}
.post:hover{border-color:var(--b60)}
.post .dt{font:600 11.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.post h2{font-size:24px;margin-top:8px}
.post p{margin-top:10px;color:var(--ink2);font-size:17px}
.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--b45);
  padding:20px 22px;margin-top:26px;font-size:16.5px;color:var(--ink2)}
.note b{color:var(--ink)}
@media(max-width:760px){.lvlfull .in{grid-template-columns:1fr}}


/* ---- Connolly Works, the parent mark ---------------------------------- */
footer .fin{align-items:flex-start;gap:30px}
.fbrand{display:block;flex:0 0 auto;text-decoration:none}
.fbrand img{display:block;width:196px;height:auto}
.fmeta{display:flex;flex-direction:column;gap:7px;align-items:flex-end;text-align:right;
  margin-left:auto;max-width:56ch}
.fmeta .fcopy{text-transform:none;letter-spacing:.02em;font:400 12.5px/1.6 var(--body);
  color:#5f7a89}
.fmeta .fcopy a{color:#5f7a89;border-bottom:1px solid #24435a}
.phead .plogo{display:block;width:clamp(230px,26vw,330px);height:auto;margin-bottom:26px}
.phead .plogo.small{width:clamp(160px,17vw,200px);margin-bottom:22px}
.maker{background:#eef4f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.makerin{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;
  padding-block:46px}
.makerin img{display:block;width:300px;height:auto}
.makerin h2{font:700 24px/1.15 var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
.makerin p{margin:0 0 10px;font-size:16.5px;line-height:1.6;color:var(--ink2);max-width:60ch}
.makerin .makerlinks{display:flex;gap:26px;margin-top:16px;font:600 15px var(--body)}
.makerin .makerlinks a{color:var(--b45);text-decoration:none;border-bottom:1px solid transparent}
.makerin .makerlinks a:hover{border-bottom-color:var(--hot)}
@media(max-width:860px){
  .makerin{grid-template-columns:1fr;gap:24px;padding-block:36px}
  .makerin img{width:230px}
  footer .fin{flex-direction:column}
  .fmeta{align-items:flex-start;text-align:left;margin-left:0}
}
