/* michaelhv.no. Hand-made, no framework. Tokens first, then fonts, then the page, then print. E2: pilot book. */
:root{--bg:#FCFCFB;--water:#FFFFFF;--ink:#1F1F1E;--ink2:#5A5A57;--rule:#E3E3DF;--rule2:#8E8E89;--tone:#F4F4F2;--accent:#1D4A7A;--onAccent:#FFFFFF;--land:#EFEEEA;--landSe:#F6F5F2;--coast:#33332F;--contour:#A9BDB3;--grid:#D6DDD9;--gridLand:#DAD9D3;--sound:#4F6B60;--tick:#1F1F1E;--lampFlare:#1D4A7A;--lampEdge:#1F1F1E;--lampDot:#FFFFFF;--lampArc:#1D4A7A;--fishBody:#E4E4E0;--fishBack:#4F6B80;--fishLine:#1F1F1E;--fishEye:#1F1F1E;--serif:'Newsreader','Iowan Old Style',Georgia,serif;--cond:'Fira Sans Condensed','Arial Narrow','Helvetica Neue',sans-serif;--mono:'Fira Mono',ui-monospace,'SF Mono',Menlo,monospace;color-scheme:light;}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#151515;--water:#151515;--ink:#E8E8E6;--ink2:#A8A8A4;--rule:#2C2C2B;--rule2:#6C6C6A;--tone:#1D1D1C;--accent:#8DB4DE;--onAccent:#101010;--land:#2A2A28;--landSe:#222221;--coast:#B4B4AF;--contour:#52645B;--grid:#2A2D2B;--gridLand:#3A3A38;--sound:#9CB0A6;--tick:#E8E8E6;--lampFlare:#8DB4DE;--lampEdge:#E8E8E6;--lampDot:#151515;--lampArc:#8DB4DE;--fishBody:#D6D6D2;--fishBack:#7E97AA;--fishLine:#151515;--fishEye:#151515;color-scheme:dark;}
}
:root[data-theme="dark"]{--bg:#151515;--water:#151515;--ink:#E8E8E6;--ink2:#A8A8A4;--rule:#2C2C2B;--rule2:#6C6C6A;--tone:#1D1D1C;--accent:#8DB4DE;--onAccent:#101010;--land:#2A2A28;--landSe:#222221;--coast:#B4B4AF;--contour:#52645B;--grid:#2A2D2B;--gridLand:#3A3A38;--sound:#9CB0A6;--tick:#E8E8E6;--lampFlare:#8DB4DE;--lampEdge:#E8E8E6;--lampDot:#151515;--lampArc:#8DB4DE;--fishBody:#D6D6D2;--fishBack:#7E97AA;--fishLine:#151515;--fishEye:#151515;color-scheme:dark;}

/* fonts: latin and latin-ext only */
/* fonts: latin and latin-ext only */
@font-face{font-family:'Fira Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fira Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fira Sans Condensed';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-sans-condensed-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fira Sans Condensed';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-sans-condensed-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/newsreader-italic-400-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/newsreader-italic-400-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/newsreader-400-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/newsreader-400-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}


html{background:var(--bg)}
body{margin:0}
.d02-root{position:relative;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.62;font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--side:230px;--gap:56px;--off:calc(var(--side) + var(--gap));--col:600px}
.d02-root *,.d02-root *::before,.d02-root *::after{box-sizing:border-box}
:where(.d02-root) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0;padding:0}
:where(.d02-root) :where(h1,h2,h3,h4){font-weight:inherit}
:where(.d02-root) :where(ul,ol){list-style:none}
:where(.d02-root) a{color:inherit}
:where(.d02-root) p{text-wrap:pretty}
:where(.d02-root) :where(h1,h2,h3,h4,blockquote){text-wrap:balance}
.d02-root a:focus-visible,.d02-root button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.d02-wrap{max-width:1120px;margin:0 auto;padding:0 40px}
.d02-a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.d02-a:hover{text-decoration-color:currentColor;text-decoration-thickness:1.5px}

/* header */
body > header{position:relative;z-index:30}
.d02-nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.d02-brand{font:italic 500 23px/1.3 var(--serif);letter-spacing:-.005em;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.d02-navright{display:flex;align-items:center}
.d02-navlinks{display:flex;gap:2px}
.d02-navlinks a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font:400 16px/1.4 var(--serif);color:var(--ink2);text-decoration:none}
.d02-navlinks a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.d02-jumpwrap{position:relative;margin-left:12px}
.d02-jump,.d02-theme{display:inline-flex;align-items:center;gap:10px;min-height:44px;border:1px solid var(--rule2);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.d02-jump{padding:0 14px;font:400 15px/1 var(--serif)}
.d02-theme{justify-content:center;width:44px;margin-left:12px;padding:0}
.d02-jump:hover,.d02-theme:hover{border-color:var(--ink);background:var(--tone)}
.d02-kbd{font:400 12px/1 var(--cond);letter-spacing:.04em;border:1px solid var(--rule2);padding:3px 5px;color:var(--ink2)}

/* profile dividers */
.e2-div{margin-top:88px;margin-bottom:0}
.e2-prof{display:block;width:100%;height:46px;overflow:hidden}
.e2-hz,.e2-sk,.e2-lh{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.e2-hz{stroke:var(--rule2);stroke-width:1px}
.e2-sk{stroke:var(--ink2);stroke-width:1px}
.e2-lh{stroke:var(--ink);stroke-width:1px}
.e2-lamp{fill:var(--accent);stroke:none}
.e2-flip{transform:scaleX(-1)}

/* hero */
.d02-hero{position:relative;padding:48px 0 0}
.d02-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 480px;column-gap:56px;align-items:start}
.d02-h1{font:400 68px/1.04 var(--serif);letter-spacing:-.028em}
.d02-h1-sub{display:block;margin-top:.42em;font-size:.5em;font-style:italic;line-height:1.22;letter-spacing:-.01em;max-width:17em}
.d02-intro{font:400 21px/1.55 var(--serif);max-width:29em;margin-top:32px}
.d02-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.d02-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:400 17px/1 var(--serif);text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.d02-btn:hover{background:var(--ink);color:var(--bg)}
.d02-btn-p{background:var(--accent);border-color:var(--accent);color:var(--onAccent)}
.d02-btn-p:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.d02-facts{margin-top:48px;max-width:29em;border-top:1px solid var(--rule2)}
.d02-facts li{padding:9px 0;border-bottom:1px solid var(--rule);font:400 17px/1.45 var(--serif)}
.d02-facts li:last-child{font-style:italic;color:var(--ink2)}
.d02-hero-side{position:relative}
.d02-hero-strip,.d02-portrait,.d02-chart-d,.d02-chart-m,.d02-locator{padding:8px;border:1px solid var(--rule2);background:var(--bg)}
.d02-hero-strip{width:100%}
.d02-hero-strip svg{outline:1px solid var(--ink);outline-offset:0}
.d02-portrait{position:absolute;z-index:2;top:22px;right:22px;width:43%;margin:0}
.d02-portrait-in{padding:0}
.d02-portrait img{display:block;width:100%;height:auto}
.d02-portrait figcaption{padding:8px 2px 0;font:italic 400 14px/1.35 var(--serif);color:var(--ink2)}

/* sections */
.d02-sec,.d02-band{padding:48px 0 0}
.d02-head{display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--gap);align-items:baseline}
.d02-h2{font:400 30px/1.2 var(--serif);letter-spacing:-.012em}
.d02-lede{font:italic 400 26px/1.38 var(--serif);letter-spacing:-.008em;max-width:25em}
.d02-h3{font:500 34px/1.1 var(--serif);letter-spacing:-.018em}
.d02-h4{font:500 19px/1.3 var(--serif)}
.d02-status{font:italic 400 16px/1.4 var(--serif);color:var(--ink2);margin-top:8px}
.d02-cap{font:italic 400 15px/1.45 var(--serif);color:var(--ink2)}
.d02-p{font:400 19px/1.62 var(--serif)}
.d02-why{font:italic 400 17px/1.55 var(--serif);color:var(--ink2);margin-top:14px}

/* things I built */
.d02-key{display:flex;flex-wrap:wrap;gap:8px 28px;margin:36px 0 0 var(--off);font:italic 400 15px/1.2 var(--serif);color:var(--ink2)}
.d02-key li{display:inline-flex;align-items:center;gap:10px}
.d02-key svg{width:18px;height:18px}
.d02-legend{margin-top:20px}
.d02-row{display:grid;grid-template-columns:26px calc(var(--side) - 26px + var(--gap)) minmax(0,1fr);column-gap:0;padding:44px 0 48px;border-top:1px solid var(--rule)}
.d02-sym{padding-top:11px}
.d02-sym svg{width:18px;height:18px;display:block}
.d02-rbody{max-width:31em}
.d02-rbody,.d02-rmeta,.d02-rextra{grid-column:3}
.d02-rmeta{margin-top:16px;font:italic 400 16px/1.5 var(--serif);color:var(--ink2);display:flex;flex-wrap:wrap;gap:4px 24px}
.d02-rmeta a{overflow-wrap:anywhere}
.d02-rextra{margin-top:36px}
.d02-plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.05fr);column-gap:24px;align-items:start}
.d02-plate{padding:8px;border:1px solid var(--rule2)}
.d02-plate img{display:block;width:100%;height:auto;background:var(--tone)}
.d02-plate figcaption{font:italic 400 14px/1.3 var(--serif);color:var(--ink2);padding:8px 2px 2px}
.d02-nott{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:6px}
.d02-nott img{display:block;width:120px;height:auto}
.d02-nott p{font:italic 400 22px/1.3 var(--serif)}
.d02-cmd{background:var(--tone);border:1px solid var(--rule2);padding:20px 24px}
.d02-cmds li{display:grid;grid-template-columns:minmax(0,25ch) minmax(0,1fr);column-gap:28px;align-items:baseline;padding:4px 0}
.d02-cmds li:first-child code{grid-column:1 / -1}
.d02-cmds code{font:400 14px/1.7 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.d02-cmds span{font:italic 400 16px/1.5 var(--serif);color:var(--ink2)}
.d02-cmd .d02-cap{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule2);font-size:16px}
.d02-inl{font:400 .84em var(--mono);background:var(--tone);padding:1px 5px}

/* smaller, safer, easier */
.d02-three{margin:56px 0 0 var(--off)}
.d02-ch{grid-template-rows:auto auto 1fr;display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:40px;align-items:start;padding:36px 0 14px;border-top:1px solid var(--rule)}
.d02-chh{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:12px;font:500 30px/1.15 var(--serif);letter-spacing:-.014em}
.d02-chh .d02-letter{font-size:20px}
.d02-chl{grid-column:1;grid-row:2;font:italic 400 17px/1.45 var(--serif);color:var(--ink2);margin-top:8px}
.d02-three .d02-notes{grid-column:2;grid-row:1 / span 3;margin-top:4px}
.d02-notes li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;padding:0 0 26px}
.d02-notes .d02-p{font-size:17.5px;line-height:1.6;margin-top:4px}
.d02-letter{font:italic 400 17px/1.5 var(--serif);color:var(--ink2)}
.d02-notes .d02-letter{padding-top:2px}
.d02-stack{margin:22px 0 0 var(--off);border-top:1px solid var(--rule)}
.d02-stack > div{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:24px;padding:14px 0}
.d02-stack dt{font:italic 400 16px/1.7 var(--serif);color:var(--ink2)}
.d02-stack dd{font:400 17.5px/1.6 var(--serif)}

/* people */
.d02-people{row-gap:24px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--gap);align-items:baseline}
.d02-people > div{display:contents}
.d02-people .d02-h2{grid-column:1;grid-row:1}
.d02-people .d02-lede{grid-column:2;grid-row:1}
.d02-prose{grid-column:2;display:flex;flex-direction:column;gap:20px;max-width:32em}
.d02-quote{grid-column:2;position:relative;margin-top:48px;font:italic 400 42px/1.2 var(--serif);letter-spacing:-.018em;max-width:17em}
.d02-quote::before{content:"\201C";position:absolute;right:100%;top:0;margin-right:.08em;font-style:normal;color:var(--accent)}

/* route */
.d02-sheet{max-width:1120px;margin:48px auto 0;padding:0 40px;display:grid}
.d02-chart-m{display:none}
.d02-chart-d,.d02-chart-m{order:1}
.d02-chart{outline:1px solid var(--ink);outline-offset:0}
.d02-distwrap{display:contents}
.d02-distwrap > div:last-child{order:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;margin-top:14px}
.d02-keyl{display:inline-flex;align-items:center;gap:12px;font:italic 400 15px/1.3 var(--serif);color:var(--ink2)}
.d02-note{font:italic 400 15px/1.45 var(--serif);color:var(--ink2)}
.d02-legs{order:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px;margin-top:56px}
.d02-leg-col{padding:24px 0 0;border-top:1px solid var(--rule2)}
.d02-pin{display:flex;align-items:center;gap:12px}
.d02-num{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--onAccent);font:400 14px/1 var(--serif);font-variant-numeric:lining-nums}
.d02-place{font:500 29px/1.2 var(--serif);letter-spacing:-.014em}
.d02-when{font:italic 400 17px/1.3 var(--serif);color:var(--ink2);margin-top:8px}
.d02-what{font:400 21px/1.35 var(--serif);margin-top:12px}
.d02-years{margin-top:16px}
.d02-years li{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:10px;padding:10px 0;border-top:1px solid var(--rule);font:400 16.5px/1.55 var(--serif)}
.d02-years b{font-weight:600}
.d02-yr{font:italic 400 16.5px/1.55 var(--serif);color:var(--ink2);font-variant-numeric:lining-nums}
.d02-distwrap > div:first-child{order:4;margin-top:56px}
.d02-cap2{font:italic 400 16px/1.4 var(--serif);color:var(--ink2)}
.d02-dists{margin-top:10px;max-width:560px}
.d02-dists > div{display:flex;align-items:baseline;gap:14px;padding:5px 0}
.d02-dists dt{display:flex;flex:1 1 auto;align-items:baseline;gap:12px;font:400 18px/1.4 var(--serif)}
.d02-dists dt::after{content:"";flex:1 1 auto;min-width:16px;border-bottom:1px dotted var(--ink2);transform:translateY(-.28em)}
.d02-dists dd{font:400 18px/1.4 var(--serif);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;min-width:9.4em;text-align:right}

/* off the keyboard */
.d02-deep{position:relative;overflow:hidden;padding:48px 0 0}
.d02-hg{display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--gap);align-items:baseline}
.d02-hg > div{display:contents}
.d02-hg .d02-h2{grid-column:1}
.d02-big{grid-column:2;font:400 24px/1.45 var(--serif);letter-spacing:-.008em;max-width:var(--col)}
.d02-big + .d02-big{font-style:italic;margin-top:18px;color:var(--ink2)}
.d02-locator{grid-column:2;margin:40px 0 0;width:100%;max-width:var(--col)}
.d02-locator svg{outline:1px solid var(--ink);outline-offset:0}
.d02-locator figcaption{padding:10px 2px 2px;font:italic 400 15px/1.35 var(--serif);color:var(--ink2)}
.d02-brief{margin-top:80px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--gap);align-items:start}
.d02-brief > div{display:contents}
.d02-brief .d02-h3{grid-column:1;font-size:26px;line-height:1.2;letter-spacing:-.012em;font-weight:400}
.d02-wx{grid-column:2;color:var(--ink);border:1px solid var(--rule2);padding:8px;width:100%;max-width:var(--col)}
.d02-wx-in{padding:10px 14px 0}
.d02-wx-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.d02-wx-n{font:400 54px/1 var(--serif);letter-spacing:-.01em;font-variant-numeric:lining-nums}
.d02-wx-t{font:italic 400 21px/1.3 var(--serif)}
.d02-wx .d02-cap{margin-top:12px;padding:10px 0 8px;border-top:1px solid var(--rule)}
.d02-brief ul{grid-column:2;margin-top:36px;max-width:var(--col)}
.d02-brief li{padding:14px 0 15px;border-top:1px solid var(--rule);font:400 18px/1.55 var(--serif)}
.d02-brief li:last-child{border-bottom:1px solid var(--rule)}
.d02-sildrow{position:relative;margin:40px 0 0 var(--off);display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px 18px}
.d02-sild-cap{margin:0;font:italic 400 16px/1.4 var(--serif);color:var(--ink2)}
.d02-sild{display:inline-flex;align-items:center;gap:14px;min-height:46px;padding:0 18px 0 14px;border:1px solid var(--rule2);background:transparent;color:var(--ink);font:400 16px/1 var(--serif);cursor:pointer;transition:border-color .2s,background-color .2s;--fishBody:#D6D6D2;--fishBack:#6C7C88;--fishLine:var(--ink2);--fishEye:#151515}
.d02-sild:hover{border-color:var(--ink);background:var(--tone)}
.d02-sild b{font-weight:600}
.d02-sild-m{display:none}

/* say hi */
.d02-hi{padding:88px 0 0}
.d02-hi-in{display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--gap);align-items:baseline}
.d02-hi-in > div:first-child{display:contents}
.d02-hi .d02-h2{grid-column:1;grid-row:1}
.d02-hi .d02-big{grid-column:2;grid-row:1;max-width:25em}
.d02-hi-btns{grid-column:2;grid-row:2;margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.d02-hi-btns .d02-btn{min-width:160px;justify-content:space-between}
.d02-clock{display:flex;align-items:center;gap:10px;flex-basis:100%;margin-top:12px;font:italic 400 16px/1.4 var(--serif);color:var(--ink2)}
.d02-clock time{font-variant-numeric:lining-nums}
body > footer{margin-top:72px}
.d02-colo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:22px 0 44px;border-top:1px solid var(--rule);font:italic 400 15px/1.5 var(--serif);color:var(--ink2)}
.d02-rel{font-weight:500}

/* map ink: printed plate, quiet two-tone */
.d02-defs{position:absolute;width:0;height:0;overflow:hidden}
.k-sea1{fill:var(--water);fill-rule:evenodd}
.k-sea2,.k-sea3,.k-sea4{fill:none;stroke:var(--contour);stroke-width:.7px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.k-sea4{display:none}
.k-isobath,.k-landline,.k-coast2,.k-in1,.k-in2{display:none}
.k-land{fill:var(--land);stroke:none}
.k-se{fill:var(--landSe);stroke:none}
.k-coast{fill:none;stroke:var(--coast);stroke-width:1px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.d02-night{display:none}
.d02-chart-d .d02-sx{font-size:4.3px}
.d02-sx{font-family:var(--serif);font-style:italic;fill:var(--sound);text-anchor:middle}
.d02-sg{font-family:var(--serif);font-style:italic;font-weight:400;fill:var(--ink2);letter-spacing:.02em;paint-order:stroke;stroke-width:1px;stroke-linejoin:round}
.d02-sgs{stroke:var(--water)}
.d02-sgl{stroke:var(--land)}
.d02-sd{font-family:var(--serif);font-style:italic;fill:var(--sound);paint-order:stroke;stroke:var(--water);stroke-width:1.2px;stroke-linejoin:round}
.d02-sn{font-family:var(--serif);font-style:italic;fill:var(--ink2)}
.d02-sl{font-family:var(--serif);font-weight:400;fill:var(--ink2)}
.d02-st,.d02-stl{font-family:var(--serif);font-weight:500;letter-spacing:.07em;fill:var(--ink);paint-order:stroke;stroke-width:1.1px;stroke-linejoin:round}
.d02-st{stroke:var(--water)}
.d02-stl{stroke:var(--land)}
.d02-loc{text-transform:uppercase}
.d02-sw,.d02-swl{font-family:var(--serif);font-weight:600;letter-spacing:.08em;fill:var(--ink);paint-order:stroke;stroke-width:1.3px;stroke-linejoin:round}
.d02-sw{stroke:var(--water)}
.d02-swl{stroke:var(--land)}
.d02-sw2,.d02-sw2l{font-family:var(--serif);font-style:italic;fill:var(--ink);paint-order:stroke;stroke-width:1.2px;stroke-linejoin:round}
.d02-sw2{stroke:var(--water)}
.d02-sw2l{stroke:var(--land)}
.d02-sw3,.d02-sw3l{font-family:var(--serif);font-style:italic;font-weight:400;fill:var(--ink2);paint-order:stroke;stroke-width:1.1px;stroke-linejoin:round}
.d02-sw3{stroke:var(--water)}
.d02-sw3l{stroke:var(--land)}

/* utilities generated from the board inline styles */
#top .u1{fill:none;stroke:currentColor;stroke-width:1.5}
#top .u2{fill:currentColor}
#top .u3{fill:none;stroke:currentColor;stroke-width:1.2}
#top .u5{fill:var(--water)}
#top .u6{fill:none;stroke:var(--grid);stroke-width:.6px;vector-effect:non-scaling-stroke}
#top .u7{fill:none;stroke:var(--gridLand);stroke-width:.6px;vector-effect:non-scaling-stroke}
#top .u8{fill:var(--tick);stroke:var(--tick);stroke-width:.3}
#top .u9{fill:var(--water);stroke:var(--tick);stroke-width:.3}
#top .u10{fill:none;stroke:var(--lampArc);stroke-width:.32;stroke-dasharray:1.1 .8}
#top .u11{fill:var(--lampFlare);stroke:var(--lampEdge);stroke-width:.34;stroke-linejoin:round}
#top .u17{display:block;width:100%;height:auto}
#top .u18{fill:var(--lampDot);stroke:var(--lampEdge);stroke-width:0.45}
#top .u19{fill:none;stroke:var(--accent);stroke-width:.4;opacity:.55}
#top .u20{fill:none;stroke:var(--accent);stroke-width:.5;opacity:.85}
#top .u21{fill:var(--accent);stroke:var(--water);stroke-width:.6}
#top .u24{fill:none;stroke:var(--accent);stroke-width:1.2}
#top .u25{fill:var(--accent)}
#top .u26{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:3.4 2.8}
#top .u32{fill:none;stroke:var(--grid);stroke-width:.6px;vector-effect:non-scaling-stroke}
#top .u33{fill:none;stroke:var(--gridLand);stroke-width:.6px;vector-effect:non-scaling-stroke}
#top .u34{letter-spacing:.26em}
#top .u35{letter-spacing:.3em}
#top .u36{letter-spacing:.9em}
#top .u37{letter-spacing:.6em}
#top .u38{fill:var(--ink)}
#top .u39{fill:var(--bg);stroke:var(--ink);stroke-width:.4}
#top .u40{fill:var(--lampDot);stroke:var(--lampEdge);stroke-width:0.54}
#top .u41{fill:none;stroke:var(--water);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}
#top .u42{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#top .u43{--r0:22%;--r1:25%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u44{--r0:35%;--r1:38%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u45{--r0:47%;--r1:50%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u46{--r0:57%;--r1:60%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u47{--r0:70%;--r1:73%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u48{--r0:85%;--r1:88%;fill:var(--accent);stroke:var(--water);stroke-width:.35;stroke-linejoin:round}
#top .u49{fill:var(--accent);stroke:var(--water);stroke-width:.9}
#top .u50{font-family:var(--serif);font-weight:500;font-size:4.6px;fill:var(--onAccent)}
#top .u51{--r0:55%;--r1:60%}
#top .u52{--r0:93%;--r1:98%}
#top .u53{display:none}
#top .u54{display:none}
#top .u55{fill:var(--water);fill-opacity:.86;stroke:none}
#top .u56{fill:none;stroke:var(--ink);stroke-width:.45}
#top .u57{fill:none;stroke:var(--ink);stroke-width:.3}
#top .u58{fill:var(--ink);stroke:var(--ink);stroke-width:.25;stroke-linejoin:round}
#top .u59{fill:var(--water);stroke:var(--ink);stroke-width:.25;stroke-linejoin:round}
#top .u60{fill:var(--water);stroke:var(--ink);stroke-width:.3}
#top .u61{fill:var(--accent);stroke:none}
#top .u62{font-family:var(--serif);font-weight:500;font-size:3.6px;letter-spacing:.04em;fill:var(--ink)}
#top .u63{letter-spacing:.2em}
#top .u64{fill:var(--lampDot);stroke:var(--lampEdge);stroke-width:0.78}
#top .u65{fill:none;stroke:var(--water);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}
#top .u66{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#top .u67{font-family:var(--serif);font-weight:500;font-size:6.4px;fill:var(--onAccent)}
#top .u68{fill:var(--accent);stroke:var(--ink);stroke-width:1;stroke-linejoin:round}
#top .u69{fill:var(--lampDot);stroke:var(--lampEdge);stroke-width:0.51}
#top .u70{fill:none;stroke:var(--accent);stroke-width:.35;opacity:.55}
#top .u71{fill:none;stroke:var(--accent);stroke-width:.5;opacity:.8}
#top .u72{fill:var(--accent);stroke:var(--water);stroke-width:.8}
#top .u76{fill:none;stroke:currentColor;stroke-width:1.6}
#top .u77{fill:none;stroke:currentColor;stroke-width:1.4}
#top .u78{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}


/* skip link */
.d02-skip{position:absolute;left:12px;top:-120px;z-index:100;padding:12px 16px;background:var(--ink);color:var(--bg);font:400 16px/1.2 var(--serif);text-decoration:none}
.d02-skip:focus{top:12px}
main:focus{outline:none}
.needs-js{visibility:hidden}
html[data-js] .needs-js{visibility:visible}

/* jump menu (native dialog) */
.d02-jumpdlg{position:fixed;inset:80px max(40px,calc((100vw - 1120px) / 2 + 40px)) auto auto;margin:0;width:290px;max-width:calc(100vw - 32px);padding:6px;background:var(--bg);color:var(--ink);border:1px solid var(--rule2);font-family:var(--serif)}
.d02-jumpdlg::backdrop{background:rgba(0,0,0,.3)}
.d02-jump-in{border:1px solid var(--rule);padding:0 0 6px}
.d02-jump-h{padding:10px 16px 8px;font:italic 400 15px/1.3 var(--serif);color:var(--ink2);border-bottom:1px solid var(--rule)}
.d02-jumpdlg li + li.d02-sep{border-top:1px solid var(--rule)}
.d02-jumpdlg a,.d02-jumpdlg button{display:flex;align-items:center;width:100%;min-height:44px;padding:0 16px;border:0;background:transparent;color:var(--ink);font:400 17px/1.2 var(--serif);text-decoration:none;text-align:left;cursor:pointer}
.d02-jumpdlg a:hover,.d02-jumpdlg button:hover,.d02-jumpdlg a:focus-visible,.d02-jumpdlg button:focus-visible{background:var(--tone);color:var(--accent);outline:none}
.d02-jumpdlg a:focus-visible,.d02-jumpdlg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* herring */
.k-fb{fill:var(--fishBody);stroke:var(--fishLine);stroke-width:.8;stroke-linejoin:round}
.k-fk{fill:var(--fishBack)}
.k-fe{fill:var(--fishEye)}
.d02-shoal{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}
.d02-f{position:absolute;left:100%;top:var(--y);width:var(--w);height:auto;display:block;animation:d02-swim var(--t) linear var(--d) both}
@media (prefers-reduced-motion: reduce){.d02-shoal{display:none}}
.d02-toast{position:fixed;left:50%;bottom:24px;z-index:41;transform:translateX(-50%);width:max-content;max-width:min(34rem,calc(100vw - 32px));margin:0;padding:12px 18px;background:var(--bg);color:var(--ink);border:1px solid var(--ink);font:italic 400 18px/1.4 var(--serif);text-align:center}
.d02-toast:empty,.d02-toast.is-sr{width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* weather note */
.d02-wx-g{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.d02-wx-barb{flex:none;opacity:0;margin-bottom:0;transform:translateY(25px)}
.d02-wx[data-state="ok"] .d02-wx-barb{opacity:1}
.d02-wx-n,.d02-wx-t{min-height:1em}

@media (hover:none),(pointer:coarse){
  .d02-kbd{display:none}
  .d02-sild-d{display:none}
  .d02-sild-m{display:inline}
}

/* tablet and phone: the side column folds above the text */
@media (max-width:1100px){
  .d02-root{--side:190px;--gap:40px}
  .d02-hero-grid{column-gap:40px;grid-template-columns:minmax(0,1fr) 400px}
  .d02-h1{font-size:64px}
  .d02-ch{grid-template-columns:170px minmax(0,1fr);column-gap:28px}
  .d02-legs{column-gap:32px}
}
@media (max-width:900px){
  .d02-root{--off:0px}
  .d02-jumpwrap{display:none}
  .d02-jumpdlg{inset:76px 16px auto auto}
  .d02-hero{padding-top:28px}
  .d02-hero-grid{grid-template-columns:minmax(0,1fr)}
  .d02-hero-text{display:contents}
  .d02-hero-side{order:3;margin-top:32px;max-width:520px}
  .d02-h1{order:1;font-size:60px}
  .d02-intro{order:2}
  .d02-actions{order:4}
  .d02-facts{order:5}
  .d02-head,.d02-people,.d02-hg,.d02-brief,.d02-hi-in{grid-template-columns:minmax(0,1fr);row-gap:16px}
  .d02-people .d02-h2,.d02-people .d02-lede,.d02-hi .d02-h2,.d02-hi .d02-big{grid-row:auto}
  .d02-people .d02-h2,.d02-hg .d02-h2,.d02-brief .d02-h3,.d02-hi .d02-h2{grid-column:1}
  .d02-people .d02-lede,.d02-prose,.d02-quote,.d02-big,.d02-locator,.d02-wx,.d02-brief ul,.d02-hi .d02-big,.d02-hi-btns{grid-column:1}
  .d02-hi-btns{grid-row:auto}
  .d02-quote{margin-top:40px;font-size:36px}
  .d02-quote::before{position:static;display:block;height:.5em;line-height:1}
  .d02-row{grid-template-columns:26px minmax(0,1fr)}
  .d02-rbody,.d02-rmeta,.d02-rextra{grid-column:1 / -1;margin-top:16px}
  .d02-rextra{margin-top:28px}
  .d02-plates{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .d02-nott{grid-column:1 / -1;flex-direction:row;align-items:center}
  .d02-ch{grid-template-columns:minmax(0,1fr);row-gap:8px}
  .d02-three .d02-notes{grid-column:1;grid-row:3;margin-top:14px}
  .d02-legs{grid-template-columns:minmax(0,1fr);row-gap:20px}
  .d02-sildrow{margin-top:36px}
  .d02-brief{margin-top:56px}
  .d02-wx a.d02-a{display:inline-block;padding:12px 0}
  .d02-rmeta a{display:inline-flex;align-items:center;min-height:44px}
  .d02-notes a.d02-a{padding:12px 0}
}
@media (max-width:720px){
  .d02-hero-side{display:contents}
  .d02-portrait{position:static;order:3;width:100%;max-width:none;margin-top:32px}
  .d02-portrait figcaption{font-size:15px}
  .d02-hero-strip{order:4;margin-top:28px}
  .d02-actions{order:5}
  .d02-facts{order:6}
  .d02-wrap,.d02-sheet{padding:0 20px}
  .d02-sild-d{display:none}
  .d02-sild-cap{display:none}
  .d02-sild-m{display:inline}
  .d02-sild{width:100%;justify-content:flex-start}
  .d02-chart-d{display:none}
  .d02-chart-m{display:block}
  .d02-h1{font-size:46px}
  .d02-h1-sub{font-size:.46em}
  .d02-intro{font-size:20px;margin-top:24px}
  .d02-actions{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .d02-actions .d02-btn-p{grid-column:1 / -1}
  .d02-facts{margin-top:36px}
  .d02-h2{font-size:28px}
  .d02-lede{font-size:23px}
  .d02-sec,.d02-band,.d02-deep{padding-top:36px}
  .e2-div{margin-top:64px}
  .e2-prof{height:38px}
  .d02-hi{padding-top:64px}
  .d02-navlinks a.d02-hide-m{display:none}
  .d02-navlinks a{padding:0 10px}
  .d02-brand{font-size:21px}
  .d02-h3{font-size:32px}
  .d02-plates{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:22px}
  .d02-nott{grid-column:auto;flex-direction:column;align-items:flex-start}
  .d02-cmds li{grid-template-columns:minmax(0,1fr);row-gap:0}
  .d02-cmds code{font-size:13px}
  .d02-dists > div{flex-direction:column;align-items:flex-start;gap:0;padding:8px 0}
  .d02-dists dt::after{display:none}
  .d02-dists dd{min-width:0;text-align:left}
  .d02-cmd{padding:16px}
  .d02-notes li{grid-template-columns:30px minmax(0,1fr);column-gap:8px}
  .d02-stack > div{grid-template-columns:minmax(0,1fr);row-gap:0}
  .d02-big{font-size:22px}
  .d02-wx-n{font-size:50px}
  .d02-quote{font-size:31px}
  .d02-place{font-size:27px}
  .d02-chart-d,.d02-chart-m{padding:7px}
  .d02-hi-btns .d02-btn{flex:1 1 100%}
}
@media (max-width:420px){
  .d02-h1{font-size:41px}
  .d02-brand{font-size:19px}
  .d02-navlinks{gap:0}
  .d02-navlinks a{padding:0 8px;font-size:15px}
  .d02-navlinks a.d02-hide-s{display:none}
  .d02-theme{margin-left:6px}
  .d02-cmds code{font-size:12.5px}
  .d02-cmd{padding:14px}
}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .d02-chart-d,.d02-chart-m{view-timeline:--d02c block}
    .d02-leg{stroke-dasharray:1 2;animation:d02-draw linear both;animation-timeline:--d02c}
    .d02-leg1{animation-range:entry 12% entry 58%}
    .d02-leg2{animation-range:entry 48% entry 96%}
    .d02-ar,.d02-wp{animation:d02-fade linear both;animation-timeline:--d02c;animation-range:entry var(--r0) entry var(--r1)}
  }
  .d02-wx-barb{transition:opacity .4s}
}
@keyframes d02-swim{0%{transform:translate(0,0)}25%{transform:translate(calc(-25vw - 25%),-6px)}50%{transform:translate(calc(-50vw - 50%),4px)}75%{transform:translate(calc(-75vw - 75%),-4px)}100%{transform:translate(calc(-100vw - 100%),0)}}
@keyframes d02-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes d02-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .d02-leg{animation:none !important;stroke-dasharray:none !important;stroke-dashoffset:0 !important}
  .d02-ar,.d02-wp{animation:none !important;opacity:1 !important}
}

/* 404 */
.d02-nf{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:72px;align-items:center;min-height:62vh;padding-top:56px;padding-bottom:72px}
.d02-nf .d02-h1 em{font-style:italic}
.d02-nf .d02-status{margin:0 0 18px}
.d02-nf-plate{margin:0;padding:8px;border:1px solid var(--rule2)}
.d02-nf-plate svg{display:block;width:100%;height:auto;outline:1px solid var(--ink)}
.d02-nf-sea{fill:var(--water)}
.d02-nf-grid{fill:none;stroke:var(--grid);stroke-width:1}
.d02-nf-course{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 6}
.d02-nf-pin{fill:var(--accent);stroke:var(--water);stroke-width:2}
.d02-nf-lost{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 4}
.d02-nf-tick{display:none}
@media (max-width:900px){
  .d02-nf{grid-template-columns:minmax(0,1fr);row-gap:44px;min-height:0;padding-top:40px}
}

/* print: black on white, no controls, no decorative charts, links with their address */
@media print{
  :root:root:root{--bg:#fff;--water:#fff;--land:#fff;--tone:#fff;--ink:#000;--ink2:#222;--accent:#000;--onAccent:#fff;--rule:#888;--rule2:#555;color-scheme:light}
  html,body{background:#fff !important;color:#000}
  body{font-size:11pt;line-height:1.45}
  .d02-skip,header,.d02-jumpdlg,.e2-div,.d02-hero-strip,.d02-chart-d,.d02-chart-m,.d02-locator,.d02-shoal,.d02-sildrow,.d02-toast,.d02-actions,.d02-key,.d02-sym,.d02-plates,.d02-clock,.d02-defs,.d02-wx-barb,.d02-distwrap > div:last-child{display:none !important}
  .d02-wrap,.d02-sheet{max-width:none;padding:0}
  .d02-hero,.d02-sec,.d02-band,.d02-deep,.d02-hi{padding:18pt 0;margin:0}
  .d02-hero-grid,.d02-head,.d02-people,.d02-hg,.d02-brief,.d02-hi-in,.d02-legs,.d02-sheet,.d02-three,.d02-ch,.d02-hero-side{display:block}
  .d02-three,.d02-stack,.d02-key,.d02-sildrow{margin-left:0}
  #top .d02-h1{font-size:30pt}
  #top .d02-h2{font-size:15pt}
  .d02-lede,.d02-big,.d02-quote{font-size:14pt}
  .d02-quote{margin-top:12pt}
  .d02-quote::before{display:none}
  .d02-portrait{position:static;max-width:3.5cm;margin:12pt 0}
  .d02-row{display:block;padding:12pt 0;break-inside:avoid}
  .d02-rmeta{margin-top:6pt}
  .d02-leg-col,.d02-notes li,.d02-wx{break-inside:avoid}
  .d02-btn{min-height:0;padding:0;border:0;background:none !important;color:#000 !important}
  .d02-btn svg{display:none}
  .d02-hi-btns{display:block}
  .d02-wx{border:1px solid #000;max-width:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;overflow-wrap:anywhere}
  .d02-a{color:#000}
}
