@font-face{font-family:Archivo;font-style:normal;font-weight:400 800;font-stretch:62% 125%;font-display:swap;src:url(/assets/fonts/archivo-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/plexmono-400-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/plexmono-500-latin.woff2) format("woff2")}
@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/caveat-600-latin.woff2) format("woff2")}
/* yachtledger.ai, the site stylesheet. Direction B, approved by Clark 17 Oct 2026. */
:root{
  --ground:#0C151E; --panel:#132030; --panel-2:#16273A; --hull:#22405A;
  --ink:#E6EDF3; --ink-soft:#9DB0C0; --ink-faint:#7C8FA3; --rule:#2A4058; --rule-strong:#57789A;
  --accent:#FF56A6; --accent-ink:#1A0410; --stbd:#3FCB86; --caution:#E3A93F;
  --sans:Archivo,"Helvetica Neue",Arial,sans-serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gutter:clamp(18px,5vw,48px); --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

.mast{position:sticky;top:0;z-index:5;background:rgba(12,21,30,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.mast .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.logo{height:22px;width:auto;display:block;color:var(--ink)}
.logo-mid{fill:var(--accent)}
.mast nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.mast nav a{text-decoration:none;color:var(--ink-soft);font-size:15px;font-weight:500;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center}
.mast nav a:hover{color:var(--ink)}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font:700 16px/1 var(--sans);border:0;cursor:pointer}
.btn.sm{min-height:44px;font-size:15px;padding:0 18px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule-strong)}
.menu{display:none}
@media (max-width:900px){
  .mast nav{display:none}
  .mast .btn.sm{margin-left:auto}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule-strong);border-radius:999px;font:500 14px var(--sans);padding:0 14px}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .drop{display:flex}
  .drop{display:none;position:absolute;right:0;top:54px;flex-direction:column;background:var(--panel);border:1px solid var(--rule-strong);border-radius:12px;min-width:220px;padding:6px}
  .drop a{text-decoration:none;padding:12px 14px;min-height:44px}
}

.shot{display:block;width:100%;height:auto;background:var(--panel)}

.hero{padding:clamp(48px,8vw,96px) 0 clamp(48px,7vw,88px);text-align:center;background:radial-gradient(900px 500px at 50% 0%,rgba(255,86,166,.13),transparent 70%)}
h1{font:800 clamp(38px,7vw,80px)/1.02 var(--sans);font-stretch:112%;letter-spacing:-.02em;max-width:15ch;margin:0 auto;text-wrap:balance}
h1 em{font-style:normal;color:var(--accent)}
.lede{font-size:clamp(17px,2vw,19px);color:var(--ink-soft);max-width:40em;margin:24px auto 32px}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

section.band{padding:clamp(64px,9vw,120px) 0;border-top:1px solid var(--rule)}
h2{font:800 clamp(30px,4.4vw,52px)/1.05 var(--sans);font-stretch:112%;letter-spacing:-.015em;margin-bottom:20px;text-wrap:balance}
h3{font:800 21px/1.2 var(--sans);font-stretch:108%;margin-bottom:8px}
.k{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.soft{color:var(--ink-soft);max-width:38em}
.soft + .soft{margin-top:14px}
.more{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--accent);font-weight:700;text-decoration:none}

/* text beside a screenshot; .flip puts the screenshot first on desktop */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.split.flip > .shot{order:-1}
.split > .shot{border:1px solid var(--rule-strong);border-radius:14px}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}.split.flip > .shot{order:0}}

/* big figures in a ruled strip */
.figs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:14px;overflow:hidden;margin:36px 0}
.figs div{background:var(--panel);padding:28px 24px}
.figs b{display:block;font:800 clamp(34px,4.6vw,56px)/1 var(--sans);font-stretch:112%;color:var(--ink)}
.figs span{display:block;margin-top:10px;color:var(--ink-soft);font-size:15px}
@media (max-width:700px){.figs{grid-template-columns:1fr}}

/* text tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.tile{background:var(--panel);border:1px solid var(--rule);border-radius:14px;padding:26px 24px}
.tile p{color:var(--ink-soft);font-size:16px}
.tile.ask-tile{border-color:var(--accent);grid-column:1/-1;background:radial-gradient(700px 240px at 0% 0%,rgba(255,86,166,.14),transparent 70%),var(--panel)}
.tile.ask-tile h3{color:var(--accent);font-size:clamp(24px,3vw,30px)}
.tile.ask-tile p{font-size:18px;color:var(--ink);max-width:68ch}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.tiles{grid-template-columns:1fr}}

.cta{text-align:center;padding:clamp(64px,9vw,120px) 0;border-top:1px solid var(--rule);background:radial-gradient(700px 360px at 50% 100%,rgba(255,86,166,.14),transparent 70%)}
.cta h2{margin-bottom:28px}

footer{border-top:1px solid var(--rule);color:var(--ink-soft);font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding-top:36px;padding-bottom:36px}
footer .logo{height:18px}
footer nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto}
footer a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
footer small{width:100%;font-size:13px;color:var(--ink-faint)}
@media (max-width:600px){footer .wrap{flex-direction:column;align-items:flex-start}footer nav{margin-left:0;flex-direction:column}}
@media (max-width:420px){.mast .logo{height:17px}.mast .btn.sm{padding:0 12px;font-size:14px}.mast .wrap{gap:10px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* screenshots open large (assets/zoom.js) */
img.shot[role=button]{cursor:zoom-in}
img.shot[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.zoomcue{position:absolute;z-index:4;width:36px;height:36px;border-radius:50%;border:1px solid var(--rule-strong);background:rgba(12,21,30,.88) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6EDF3' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center/18px no-repeat;pointer-events:none;opacity:0;transition:opacity .15s}
.zoomcue.on{opacity:1}
.lightbox{border:0;padding:16px;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:transparent;color:var(--ink)}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox::backdrop{background:rgba(5,9,13,.9)}
.lb-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 30px 120px rgba(0,0,0,.6);cursor:default}
.lb-close{position:fixed;top:12px;right:12px;z-index:1;width:48px;height:48px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--panel);color:var(--ink);font:400 30px/1 var(--sans);cursor:pointer}
@media (prefers-reduced-motion:no-preference){.lightbox[open]{animation:lbin .2s ease}}
@keyframes lbin{from{opacity:0}}
