/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing:.25rem;--radius-md:6px;--radius-lg:8px;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.w-4{width:calc(var(--spacing) * 4)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light;--bg:#fff;--bg-elev:#fafafa;--bg-elev2:#f3f4f6;--line:#1118271a;--line-strong:#1118272e;--fg:#111827;--fg-dim:#374151;--muted:#6b7280;--muted-2:#7c8390;--accent:oklch(48% .13 155);--accent-strong:oklch(42% .13 155);--accent-soft:oklch(48% .13 155/.1);--accent-line:oklch(48% .13 155/.4);--accent-2:oklch(52% .14 250);--warn:oklch(56% .15 58);--warn-soft:oklch(75% .15 70/.14);--fail:oklch(55% .2 27);--radius:4px;--radius-lg:8px;--maxw:1240px;--pad-x:clamp(16px, 5vw, 48px);--font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body:var(--font-sans);--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}::selection{background:var(--accent-soft);color:var(--fg)}a{color:inherit;text-decoration:none}img,svg{display:block}main,header,footer{z-index:1;position:relative}.wrap{max-width:var(--maxw);padding-inline:var(--pad-x);margin:0 auto}.eyebrow{font-family:var(--font-sans);color:var(--muted);margin:0;font-size:15px;font-weight:500}.section-title,.section-h{font-family:var(--font-sans);letter-spacing:-.022em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:600;line-height:1.1}.section-title{margin-top:14px}.section-sub{color:var(--fg-dim);max-width:56ch;margin:18px 0 0;font-size:clamp(17px,1.4vw,19px);line-height:1.55}.titled{width:fit-content;max-width:100%}.wave-rule{width:0;min-width:100%;margin:14px 0 0;display:block}.wave-rule path{fill:none;stroke:#69aed5;stroke-width:2px;stroke-linecap:round}.js .reveal .wave-rule path{stroke-dasharray:1;stroke-dashoffset:1px}.js .reveal.visible .wave-rule path{animation:2.4s linear .25s forwards line-draw}.step .wave-rule{margin-top:12px}.step .wave-rule+p{margin-top:14px}.kicker{font-family:var(--font-sans);color:var(--accent);margin:0 0 18px;font-size:16px;font-weight:500}section.band{border-bottom:1px solid var(--line);padding-block:clamp(88px,10vw,150px)}.btn{border-radius:var(--radius-md);height:46px;font-family:var(--font-sans);border:1px solid var(--line-strong);color:var(--fg);background:var(--bg);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding-inline:22px;font-size:15.5px;font-weight:500;transition:border-color .18s,background .18s;display:inline-flex}.btn:hover{border-color:var(--fg)}.btn-primary{border-color:var(--fg);background:var(--fg);color:#fff}.btn-primary:hover{background:#1f2937;border-color:#1f2937}.btn-sm{height:36px;padding-inline:14px;font-size:13.5px}header.site{z-index:50;-webkit-backdrop-filter:blur();backdrop-filter:blur();inset-inline:0;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;top:0}header.site.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line);background:#ffffffd6}.nav{justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.01em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand .mark{background:url(/truecourse-mark-twin-light.svg) 50%/contain no-repeat;flex:none;width:26px;height:26px}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{font-family:var(--font-sans);color:var(--fg-dim);white-space:nowrap;border-radius:var(--radius);padding:8px 12px;font-size:14.5px;font-weight:500;transition:color .18s,background .18s}.nav-links a:hover{color:var(--fg);background:var(--bg-elev2)}.nav-actions{align-items:center;gap:18px;display:flex}.nav-signin{color:var(--fg-dim);white-space:nowrap;font-size:14.5px;font-weight:500}.nav-signin:hover{color:var(--fg)}.icon-btn{border:1px solid var(--line-strong);border-radius:var(--radius-md);width:36px;height:36px;color:var(--muted);background:var(--bg);justify-content:center;align-items:center;transition:color .18s,border-color .18s;display:inline-flex}.icon-btn:hover{color:var(--fg);border-color:var(--fg)}.icon-btn svg{fill:currentColor;width:18px;height:18px}@media(max-width:860px){.nav-links,.nav-actions .desktop-only{display:none}}.mobile-toggle{display:none}.mobile-menu{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5}.mobile-menu a{font-family:var(--font-sans);color:var(--fg-dim);align-items:center;gap:10px;padding:12px 0;font-size:15px;display:flex}.mobile-menu a:hover{color:var(--fg)}.mobile-menu a svg{fill:currentColor;width:18px;height:18px}.mobile-menu .row{flex-direction:column;padding-block:8px 18px;display:flex}@media(max-width:860px){.mobile-toggle{display:inline-flex}}.screen{border:1px solid var(--line-strong);background:var(--bg);border-radius:10px;overflow:hidden;box-shadow:0 30px 70px -34px #1118274d,0 1px 2px #1118270f}.screen svg{width:100%;height:auto;display:block}.hero{border-bottom:1px solid var(--line);text-align:center;padding-top:clamp(140px,18vh,200px);padding-bottom:max(150px,11vw);position:relative;overflow:hidden}.hero-line{z-index:0;pointer-events:none;width:100%;height:160px;position:absolute;bottom:0;left:0}.hero-line>path{fill:none;stroke:#69aed5;stroke-width:1px;opacity:.7}.hero{background:linear-gradient(#d2ecff,#f5fbff 44%,#fff 60%);background:linear-gradient(color(xyz 0.744 0.81 1.102),color(xyz 0.901 0.957 1.106) 44%,#fff 60%)}.clouds{z-index:0;pointer-events:none;width:100%;height:auto;position:absolute;left:0;right:0}.hero-clouds{top:0}.hero-clouds.narrow{display:none}.hero-clouds.narrow .cloud{opacity:.95}@media(max-width:640px){.hero-clouds.wide{display:none}.hero-clouds.narrow{display:block}}.cloud{fill:#fff;opacity:.85}.js .cloud-a{animation:90s linear -20s infinite alternate cloud-drift}.js .cloud-b{animation:120s linear -70s infinite alternate-reverse cloud-drift}.js .cloud-c{animation:150s linear -40s infinite alternate cloud-drift}.gust{fill:none;stroke:#fff;stroke-linecap:round;opacity:0}.js .gust{animation:gust var(--dur,15s) linear var(--delay,0s) infinite}@keyframes gust{0%{opacity:0;translate:-360px}12%{opacity:.85}85%{opacity:.85}to{opacity:0;translate:1500px}}@keyframes cloud-drift{0%{translate:-60px}to{translate:60px}}.cta{background:linear-gradient(#fff,#f9efdb 34%)}.cta:before{content:"";z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0 0.2 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000,#000 34%);mask-image:linear-gradient(#0000,#000 34%)}.cta .wrap,.cta .sea-say,.cta .sea{z-index:1;position:relative}#enterprise{border-bottom:0}footer.site{color:var(--fg);background:#8bc6ef}footer.site .foot-about p,footer.site .foot-col a,footer.site .foot-bottom{color:var(--fg)}footer.site .foot-col a:hover{text-decoration:underline}footer.site .foot-bottom{border-top-color:#11182740}footer.site .icon-btn{color:var(--fg);background:#ffffff8c;border-color:#1118274d}.water{stroke:none}.water-0{fill:#d6efff;fill:oklch(94% .035 235)}.water-1{fill:#c4e5fa}.water-2{fill:#b2dbf4}.water-3{fill:#a0d0ee}.js .water-1{animation:14s ease-in-out -2s infinite alternate swell-drift}.js .water-2{animation:19s ease-in-out -7s infinite alternate-reverse swell-drift}.js .water-3{animation:25s ease-in-out -11s infinite alternate swell-drift}.shore{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.shore-sand{fill:#f9efdb}.cta .sea-say{color:var(--fg-dim)}.shore-wet{fill:#e6d5bb;opacity:.6}.shore-foam{fill:none;stroke:#fff;stroke-width:5px;opacity:.8}.shore-swell{fill:none;stroke:#fff;stroke-width:1.2px;opacity:.32}.js .shore-swell-0{animation:16s ease-in-out -3s infinite alternate swell-drift}.js .shore-swell-1{animation:21s ease-in-out -9s infinite alternate-reverse swell-drift}.js .shore-swell-2{animation:27s ease-in-out -14s infinite alternate swell-drift}@keyframes swell-drift{0%{translate:-120px}to{translate:120px}}@keyframes line-draw{to{stroke-dashoffset:0}}.hero-wind{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.boat-hull{fill:var(--fg)}.boat-main{fill:#fff;stroke:var(--fg);stroke-width:1.2px;stroke-linejoin:round}.boat-jib{fill:var(--accent)}.boat-mast{stroke:var(--fg);stroke-width:2px;stroke-linecap:round}.boat-pennant{fill:var(--accent)}.boat-clear{fill:var(--bg)}.hero-inner{z-index:1;position:relative}.hero h1{font-family:var(--font-sans);letter-spacing:-.03em;text-wrap:balance;margin:0 auto;font-size:clamp(36px,4.4vw,56px);font-weight:600;line-height:1.06}.hero .sub{color:var(--fg-dim);text-wrap:balance;max-width:50ch;margin:24px auto 0;font-size:clamp(17px,1.6vw,21px);line-height:1.5}.cta-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.backing{letter-spacing:.01em;color:var(--muted-2);justify-content:center;align-items:center;gap:9px;margin-top:28px;font-size:13px;display:flex}.backing img{width:auto;height:15px;display:block}.hero-stage{max-width:1080px;margin:clamp(36px,4.5vw,56px) auto 0}.tour-stage{position:relative}.tour-scene{display:none}.tour-scene.still{display:block}.js .tour-scene{opacity:0;pointer-events:none;transition:opacity .6s;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.js .tour-scene.on{opacity:1}.tour-dots{justify-content:center;gap:8px;margin-top:18px;display:none}.js .tour-dots{display:flex}.tour-dots button{background:var(--line-strong);cursor:pointer;border:0;border-radius:4px;width:8px;height:8px;padding:0;transition:width .3s,background .3s}.tour-dots button.on{background:var(--accent);width:24px}.tour-dots button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.steps{--steps-gap:clamp(64px, 8vw, 120px);--edge:28px;--dot:9px;padding:0 0 0 var(--edge);gap:var(--steps-gap);flex-direction:column;margin:clamp(36px,5vw,56px) 0 0;list-style:none;display:flex;position:relative}.course-boat{left:calc(var(--dot) / 2);pointer-events:none;width:26px;height:26px;position:absolute;top:0;transform:translate(-50%,calc(10px - 50%))}.course-boat svg{width:100%;height:100%;display:block}.js .course-boat{transition:transform 1.2s cubic-bezier(.4,0,.2,1)}.step{grid-template-columns:1fr;align-items:start;gap:28px;display:grid;position:relative}.step-text{max-width:58ch}.step-n{font-family:var(--font-sans);letter-spacing:.02em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;line-height:20px;display:inline-block;position:relative}.step-n:before{content:"";left:calc(-1 * var(--edge));top:calc(10px - var(--dot) / 2);width:var(--dot);height:var(--dot);background:var(--accent);border-radius:50%;position:absolute}.step-seg{left:calc(-1 * var(--edge) + var(--dot) / 2);width:1px;height:calc(100% - 16px + var(--steps-gap) + 10px);background:var(--accent);opacity:.55;transform-origin:top;position:absolute;top:16px}@media(max-width:860px){.step-seg{height:calc(100% + var(--steps-gap));top:10px}}.js .step-seg{transition:transform 1.1s cubic-bezier(.4,0,.2,1) var(--seg-delay,.3s);transform:scaleY(0)}.js .step.visible .step-seg{transform:scaleY(1)}.js .step:first-child .step-seg{--seg-delay:1.5s}.step h3{font-family:var(--font-sans);letter-spacing:-.02em;text-wrap:balance;margin:10px 0 0;font-size:clamp(24px,2.4vw,30px);font-weight:600;line-height:1.15}.step p{color:var(--fg-dim);margin:12px 0 0;font-size:17px;line-height:1.55}.diagram{margin-top:clamp(48px,6vw,72px)}.diagram svg{width:100%;height:auto;display:block}.strip{border-bottom:1px solid var(--line);padding-block:32px}.strip-rows{flex-direction:column;align-items:center;gap:14px;display:flex}.strip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;display:flex}.strip-label{font-family:var(--font-sans);color:var(--muted-2);white-space:nowrap;font-size:13.5px;font-weight:500}.strip-item{font-family:var(--font-sans);color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.strip-item svg{fill:currentColor;width:18px;height:18px}.strip-more{font-family:var(--font-sans);color:var(--muted-2);white-space:nowrap;font-size:13.5px}.ent{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.ent-text .btn{margin-top:30px}.ent-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ent-list li{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;display:grid}.ent-list h3{font-family:var(--font-sans);color:var(--fg);margin:0;font-size:16px;font-weight:600}.ent-list p{color:var(--fg-dim);margin:0;font-size:15.5px;line-height:1.5}@media(max-width:860px){.ent{grid-template-columns:1fr}.ent-list li{grid-template-columns:1fr;gap:6px}}.grid{gap:16px;display:grid}.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:920px){.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cols-4{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);padding:22px;box-shadow:0 1px 2px #11182708}.ico{border:1px solid var(--accent-line);border-radius:var(--radius-md);width:40px;height:40px;color:var(--accent);background:var(--accent-soft);flex:none;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.ico svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.card h3{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--fg);margin:0;font-size:17px;font-weight:700}.card p{color:var(--fg-dim);margin:8px 0 0;font-size:14.5px;line-height:1.5}.fine{font-family:var(--font-sans);color:var(--muted-2);margin-top:18px;font-size:13px}.fine a{color:var(--accent)}.cta{text-align:center;padding-block:clamp(96px,11vw,160px) 0;position:relative;overflow:hidden}.cta .sea{touch-action:pan-y;cursor:crosshair;height:clamp(240px,26vw,320px);margin-top:28px;position:relative}.cta .sea.sailing{touch-action:none}.cta .sea canvas{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.cta .sea-say{color:var(--muted);margin:22px 0 0;font-size:14px}.cta h2{font-family:var(--font-sans);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(34px,4.6vw,60px);font-weight:600;line-height:1.06}.cta .cta-row{margin-top:28px}footer.site{padding-block:72px 40px}.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:40px;display:grid}@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px}}.foot-about p{color:var(--muted);max-width:34ch;margin:18px 0 0;font-size:14.5px;line-height:1.6}.foot-social{gap:10px;margin-top:22px;display:flex}.foot-col h4{font-family:var(--font-sans);color:var(--fg);margin:0 0 16px;font-size:14px;font-weight:600}.foot-col ul{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.foot-col a{color:var(--muted);font-size:14.5px;transition:color .18s}.foot-col a:hover{color:var(--fg)}.foot-bottom{border-top:1px solid var(--line);color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:48px;padding-top:24px;font-size:13px;display:flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.js .reveal{opacity:0;transition:opacity .6s cubic-bezier(.16,.84,.3,1);transition-delay:var(--delay,0s)}.js .reveal.rise{transition:opacity .7s cubic-bezier(.16,.84,.3,1),transform .7s cubic-bezier(.16,.84,.3,1);transition-delay:var(--delay,0s);transform:translateY(16px)}.js .reveal.visible{opacity:1;transform:none}.js .reveal .sc-in,.js .tour-scene .sc-in{opacity:0}.js .reveal.visible .sc-in,.js .tour-scene.on .sc-in{animation:.45s cubic-bezier(.16,.84,.3,1) both sc-fade;animation-delay:calc(var(--at,0s) + var(--i,0) * var(--step,70ms))}.js .reveal.visible .sc-rise,.js .tour-scene.on .sc-rise{animation-name:sc-rise}.js .reveal.visible .sc-flip,.js .tour-scene.on .sc-flip{animation-name:sc-flip;animation-duration:.3s}.js .tour-scene.done .sc-in{opacity:1}.js .tour-scene.done .sc-out{opacity:0}.sc-rise,.sc-flip{transform-box:fill-box;transform-origin:50%}.sc-out{opacity:0}.js .reveal .sc-out,.js .tour-scene .sc-out{opacity:1}.js .reveal.visible .sc-out,.js .tour-scene.on .sc-out{animation:.2s both sc-out;animation-delay:calc(var(--at,0s) + var(--i,0) * var(--step,70ms))}.sc-beat{opacity:0}.js .reveal.visible .sc-beat{animation:1.1s both sc-beat;animation-delay:var(--at,0s)}@keyframes sc-beat{0%{opacity:0}30%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes sc-fade{0%{opacity:0}to{opacity:1}}@keyframes sc-rise{0%{opacity:0;transform:translateY(var(--rise,6px))}to{opacity:1;transform:none}}@keyframes sc-flip{0%{opacity:0;transform:scaleX(.1)}to{opacity:1;transform:none}}@keyframes sc-out{0%{opacity:1}to{opacity:0}}.tour-pointer{opacity:0;transform:translate(var(--x0),var(--y0))}.js .tour-scene.on .tour-pointer{animation:tour-pointer 1.4s cubic-bezier(.4,0,.2,1) var(--pointer-at,1.3s) both}.js .tour-scene.done .tour-pointer{opacity:1;transform:translate(var(--x1),var(--y1))}@keyframes tour-pointer{0%{opacity:0;transform:translate(var(--x0),var(--y0))}30%{opacity:1;transform:translate(var(--x0),var(--y0))}to{opacity:1;transform:translate(var(--x1),var(--y1))}}.tour-click{opacity:0;transform-box:fill-box;transform-origin:50%}.js .tour-scene.on .tour-click{animation:tour-click .5s ease-out var(--click-at,2.75s) both}@keyframes tour-click{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.2)}}.screen-tour .hd-grey,.screen-tour .hd-lit{--at:.3s;--step:.22s}.screen-tour .hd-hl{--at:1.5s}.screen-tour .hd-tally{--at:1.7s}.screen-tour .rn-tile{--at:.2s;--step:.11s}.screen-tour .rn-step{--at:.7s;--step:70ms}.screen-tour .rn-line{--at:1s;--step:90ms}.screen-context .sc-dim{--at:.45s}.screen-context .sc-dialog{--at:.55s;--rise:10px}.screen-context .sc-press{--at:1.2s}.screen-context .sc-done{--at:1.8s}.screen-context .sc-leave{--at:2.25s}.screen-context .sc-hl{--at:2.45s}.sc-spin{transform-box:fill-box;transform-origin:50%}.js .reveal.visible .sc-spin{animation:.8s linear infinite spin}.screen-connect .sc-dim{--at:.4s}.screen-connect .sc-dialog{--at:.5s;--rise:10px}.screen-connect .sc-press{--at:1s}.screen-connect .sc-done{--at:1.5s}.screen-connect .sc-leave{--at:1.9s}.screen-connect .sc-page{--at:1.95s}.screen-connect .sc-row{--at:2.05s;--step:55ms}.screen-connect .sc-tally{--at:2.5s}.screen-flows .sc-row{--at:.3s;--step:55ms}.screen-flows .sc-beat{--at:.7s}.screen-flows .fl-leave{--at:1.45s}.screen-flows .fl-run{--at:1.5s}.screen-flows .rn-tile{--at:1.6s;--step:.1s}.screen-flows .rn-step{--at:1.95s;--step:70ms}.screen-flows .rn-line{--at:2.25s;--step:80ms}.screen-pr .pr-pass{--at:.3s;--step:.14s}.screen-pr .pr-guard{--at:.58s}.screen-pr .pr-flip{--at:.88s}.screen-pr .pr-quote{--at:1.05s}.screen-pr .pr-hl{--at:1.15s}.screen-pr .pr-observed{--at:1.18s}.screen-pr .pr-foot{--at:1.38s}.screen-cc .cc-beat-0{--at:.3s}.screen-cc .cc-beat-1{--at:.7s}.screen-cc .cc-beat-2{--at:1.2s}.screen-cc .cc-beat-3{--at:1.8s}.screen-cc .cc-beat-4{--at:2.2s}.screen-cc .cc-flip{--at:2.4s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1!important;transition:none!important;transform:none!important}.js .reveal .sc-in,.js .tour-scene .sc-in{opacity:1!important;animation:none!important}.js .reveal .sc-out,.js .reveal .sc-beat,.js .tour-scene .sc-out{opacity:0!important;animation:none!important}.js .tour-scene{transition:none!important}.js .tour-scene .tour-pointer,.js .tour-scene .tour-click{opacity:0!important;animation:none!important}.tour-dots button{transition:none!important}.js .step-seg{transition:none!important;transform:none!important}.js .course-boat{transition:none!important}.js .reveal .wave-rule path{stroke-dashoffset:0!important;animation:none!important}.js .water,.js .shore-swell,.js .gust,.js .cloud{animation:none!important}header.site,.btn,.post-card,.pc-read{transition:none!important}}.post-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;padding:26px 28px;transition:border-color .2s;display:flex;box-shadow:0 1px 2px #11182708}.post-card:hover{border-color:var(--accent-line)}.pc-tag{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11px}.post-card h3{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--fg);margin:14px 0 0;font-size:18px;font-weight:700;line-height:1.35}.post-card p{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.6}.post-card .pc-meta{font-family:var(--font-mono);color:var(--muted-2);flex-wrap:wrap;align-items:center;gap:9px;margin-top:auto;padding-top:22px;font-size:12px;display:flex}.pc-ava{background:linear-gradient(135deg,#6ea8fe,#5865f2);border-radius:50%;flex:none;width:20px;height:20px}.pc-ava.author{background:linear-gradient(135deg,var(--accent),oklch(50% .12 200));color:#fff;font-family:var(--font-mono);letter-spacing:.02em;justify-content:center;align-items:center;font-size:8.5px;font-weight:700;display:inline-flex}.post-card.featured{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(28px,4vw,56px);padding:clamp(24px,3.5vw,44px);display:grid}@media(max-width:920px){.post-card.featured{grid-template-columns:1fr}}.post-card.featured h3{margin-top:16px;font-size:clamp(21px,2.4vw,28px);line-height:1.25}.post-card.featured p{max-width:52ch;margin-top:16px;font-size:15px}.post-card.featured .pc-meta{padding-top:26px}.pc-read{color:var(--accent);white-space:nowrap;margin-left:auto;font-weight:500;transition:transform .18s}.post-card.featured:hover .pc-read{transform:translate(3px)}.pcf-side{background:#12151a;border-radius:8px;justify-content:center;align-items:center;padding:20px 22px;display:flex;overflow:hidden}.pcf-chart{width:100%;height:auto;display:block}.blog-index{z-index:1;padding-top:clamp(120px,15vh,170px);padding-bottom:90px;position:relative}.bi-list{border-top:1px solid var(--line);margin-top:48px}.bi-row{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr auto auto;align-items:center;gap:clamp(16px,3vw,40px);padding:26px 8px;transition:background .18s;display:grid}.bi-row:hover{background:var(--bg-elev)}.bi-date{font-family:var(--font-mono);color:var(--muted-2);white-space:nowrap;font-size:13px}.bi-main{flex-direction:column;gap:6px;min-width:0;display:flex}.bi-title{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);font-size:17px;font-weight:700;line-height:1.35}.bi-row:hover .bi-title{color:var(--accent)}.bi-sub{color:var(--muted);font-size:14px;line-height:1.5}.bi-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:11px}.bi-arr{color:var(--muted-2);font-size:16px;transition:transform .18s,color .18s}.bi-row:hover .bi-arr{color:var(--accent);transform:translate(3px)}@media(max-width:720px){.bi-row{grid-template-columns:1fr auto}.bi-date{order:3}.bi-tag{display:none}}.post-wrap{max-width:800px;padding:clamp(120px,15vh,170px) var(--pad-x) 90px;z-index:1;margin:0 auto;position:relative}.post-back{font-family:var(--font-mono);color:var(--muted);font-size:13px;transition:color .18s}.post-back:hover{color:var(--accent)}.post-wrap h1{font-family:var(--font-mono);letter-spacing:-.02em;text-wrap:balance;margin:26px 0 0;font-size:clamp(28px,4.4vw,44px);font-weight:700;line-height:1.15}.post-byline{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);align-items:center;gap:10px;margin-top:24px;padding-bottom:28px;font-size:13px;display:flex}.byline-li{color:var(--muted);vertical-align:-2px;align-items:center;margin-left:8px;transition:color .18s;display:inline-flex}.byline-li:hover{color:var(--accent)}.byline-li svg{fill:currentColor;width:14px;height:14px}.post-body{margin-top:36px}.post-body p{color:var(--fg-dim);margin:0 0 24px;font-size:16px;line-height:1.75}.post-body h2{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);margin:44px 0 18px;font-size:24px;font-weight:700}.post-body a{color:var(--accent);border-bottom:1px solid var(--accent-line)}.post-body a:hover{border-bottom-color:var(--accent)}.post-body blockquote{border-left:3px solid var(--accent-line);color:var(--fg);margin:28px 0;padding:4px 0 4px 20px;font-style:italic}.post-body blockquote p{color:var(--fg);margin:0}.post-body pre{background:var(--bg-elev2);border:1px solid var(--line);border-radius:var(--radius-lg);font-family:var(--font-mono);color:var(--fg-dim);margin:0 0 24px;padding:18px 20px;font-size:13px;line-height:1.7;overflow-x:auto}.post-body pre .cmt{color:var(--accent-2);font-style:italic}.post-body code{font-family:var(--font-mono);color:var(--fg);background:var(--bg-elev2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:3px;padding:1px 6px;font-size:.92em}.post-body a code{color:var(--accent);border-color:var(--accent-line);transition:background .15s,border-color .15s}.post-body a:has(code){border-bottom:none}.post-body a:hover code{background:var(--accent-soft);border-color:var(--accent)}.post-body pre code{background:0 0;border:none;padding:0}.post-body h3{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);margin:34px 0 14px;font-size:19px;font-weight:700}.post-body ul,.post-body ol{color:var(--fg-dim);margin:0 0 24px;padding-left:22px;font-size:16px;line-height:1.75}.post-body ul{list-style:outside}.post-body ol{list-style:decimal}.post-body li{margin:0 0 8px}.post-body li::marker{color:var(--muted)}.post-body .post-lede{color:var(--muted);margin-bottom:34px;font-size:14.5px;font-style:italic;line-height:1.65}.post-body .post-note{color:var(--muted);margin-bottom:0;font-size:13px;line-height:1.7}.post-body figure{max-width:860px;margin:36px auto}.post-body img{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;height:auto;display:block}.post-body figcaption{font-family:var(--font-mono);color:var(--muted);text-align:center;margin-top:12px;font-size:12.5px}.post-body .post-video{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-elev);max-width:860px;margin:36px auto;overflow:hidden}.post-body .post-video iframe,.post-body .post-video video{border:0;width:100%;height:100%;display:block}.post-body .pv-poster{cursor:pointer;background:linear-gradient(#0d0f1259,#0d0f1280),url(/blog/demo-poster.jpg) 50%/cover no-repeat;border:0;justify-content:center;align-items:center;width:100%;height:100%;transition:background .25s;display:flex}.post-body .pv-poster:hover{background:linear-gradient(#0d0f1233,#0d0f1261),url(/blog/demo-poster.jpg) 50%/cover no-repeat}.post-body .pv-play{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#ffffff38;border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;transition:transform .2s,background .2s;display:flex;box-shadow:0 10px 34px -10px #000000b3}.post-body .pv-play svg{fill:currentColor;width:30px;height:30px}.post-body .pv-poster:hover .pv-play{background:#ffffff57;transform:scale(1.07)}.post-table{max-width:680px;margin:0 0 24px;overflow-x:auto}.post-body table{border-collapse:collapse;width:100%;font-size:14.5px}.post-body th,.post-body td{text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;padding:10px 14px}.post-body th{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg);background:var(--bg-elev);font-size:12px;font-weight:700}.post-body td{color:var(--fg-dim)}.post-body td:first-child{white-space:normal}.post-table.post-table--full{max-width:none}.post-table.post-table--full th,.post-table.post-table--full td{white-space:normal;vertical-align:top;padding:9px 10px}.post-table.post-table--full th{vertical-align:bottom;line-height:1.35}.post-table.post-table--full td:first-child{white-space:nowrap}.post-body table code{padding:1px 5px;font-size:.9em}.post-body hr{border:none;border-top:1px solid var(--line);margin:40px 0 28px}.post-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:56px;padding-top:28px;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
