
.home-page,.public-page { --public-ink:#173e50; --public-blue:#83cce7; --public-coral:#ff9a80; --public-paper:#f7f5ed; --public-line:#173e5026; color:var(--public-ink); }
.home-page .btn,.public-page .btn { border-radius:0; }
.home-page svg,.public-page svg { flex-shrink:0; }
.home-page .eyebrow,.public-page .eyebrow { color:inherit; font-size:11px; font-weight:750; letter-spacing:.18em; line-height:1.5; }


.home-hero { min-height:620px; height:calc(100svh - 355px); max-height:850px; display:grid; grid-template-columns:48% 52%; background:var(--public-paper); border-bottom:1px solid var(--public-ink); }
.home-copy { min-width:0; padding:clamp(45px,4.5vw,88px) clamp(35px,6vw,116px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; }
.home-copy:before { content:""; position:absolute; width:26px; height:26px; left:28px; top:28px; border-top:1px solid #173e5060; border-left:1px solid #173e5060; }
.home-copy .eyebrow { display:flex; align-items:center; gap:14px; margin:0 0 28px; }
.home-copy .eyebrow:before { content:""; width:38px; height:2px; background:var(--public-ink); }
.home-copy h1 { margin:0; font-size:clamp(76px,6.5vw,132px); font-weight:780; letter-spacing:-.075em; line-height:1; }
.home-copy h1 span { display:block; margin-top:18px; font-size:clamp(29px,2.9vw,54px); font-weight:600; line-height:1.22; letter-spacing:-.045em; }
.home-intro { margin:30px 0 12px!important; font-size:clamp(17px,1.25vw,24px); line-height:1.6; font-weight:600; }
.home-description { max-width:470px; margin:0!important; color:#526976; font-size:14px; line-height:1.85; }
.home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.home-actions .btn { min-height:51px; padding:13px 21px; font-size:13px; border-color:var(--public-ink); }
.home-actions .btn.primary { background:var(--public-ink); color:var(--public-paper); }
.home-actions .btn.primary:hover { background:#2e596d; }
.home-actions .btn.secondary { background:transparent; color:var(--public-ink); }
.home-actions .btn.secondary:hover { background:#e5e9e3; }
.home-actions .btn svg { width:17px; height:17px; }
.home-download-link { display:inline-flex; align-items:center; gap:9px; font-size:12px; color:#557280; margin-top:25px; padding-bottom:5px; border-bottom:1px solid #173e5040; }
.home-download-link svg { width:14px; height:14px; }
.home-download-link svg:last-child { margin-left:12px; }
.home-seascape { isolation:isolate; position:relative; min-width:0; height:100%; background:var(--public-blue); overflow:hidden; }
.home-chart-caption { position:absolute; top:29px; left:36px; right:36px; display:flex; justify-content:space-between; font-size:10px; letter-spacing:.23em; color:#2d6076; z-index:5; }
.home-chart-caption span:first-child { padding-bottom:9px; border-bottom:1px solid #173e5055; }
.home-sea-disc { position:absolute; width:56%; aspect-ratio:1; background:var(--public-paper); left:23%; top:13%; border-radius:50%; z-index:1; }
.home-orbit { position:absolute; width:72%; aspect-ratio:1; border:1px solid #245b7157; border-radius:50%; left:15%; top:4%; z-index:2; }
.home-orbit-two { width:82%; left:10%; top:-2%; border-style:dashed; border-color:#245b7138; }
.home-chart { position:absolute; inset:0; width:100%; height:100%; z-index:2; overflow:visible; color:#2a62794b; }
.home-chart-grid { stroke-width:.7; }
.home-chart-grid .home-chart-route { stroke-width:1.5; color:#306c88; }
.home-chart-crosses { stroke-width:1; color:#2a62797a; }
.home-vessel { position:absolute; width:47%; height:71%; left:27.5%; top:9%; z-index:4; transform-origin:50% 85%; will-change:transform; }
.home-boat { width:100%; height:100%; object-fit:contain; }
.home-compass { position:absolute; right:6%; top:13%; width:91px; height:91px; z-index:5; border:1px solid #326b8266; border-radius:50%; color:var(--public-ink); display:grid; place-items:center; }
.home-compass:before { content:""; position:absolute; width:117%; height:1px; background:#326b8266; left:-8.5%; top:50%; }
.home-compass:after { content:""; position:absolute; height:117%; width:1px; background:#326b8266; top:-8.5%; left:50%; }
.home-compass-needle { display:grid; place-items:center; width:59px; height:59px; z-index:2; background:var(--public-blue); border-radius:50%; }
.home-compass-needle svg { width:49px!important; height:49px!important; stroke-width:1!important; }
.home-compass-north { position:absolute; top:-23px; font-size:10px; }
.home-compass-east { position:absolute; right:-21px; top:39px; font-size:9px; }
.home-spark { position:absolute; z-index:5; font-size:35px; font-weight:200; color:#276c8770; line-height:1; }
.home-spark-one { left:10%; top:18%; }
.home-spark-two { left:16%; bottom:23%; }
.home-buoy { position:absolute; right:13%; bottom:24%; width:28px; height:53px; z-index:4; }
.home-buoy span { position:absolute; width:24px; height:32px; bottom:0; background:var(--public-coral); clip-path:polygon(40% 0,60% 0,100% 100%,0 100%); }
.home-buoy i { position:absolute; left:11px; top:0; height:27px; width:2px; background:var(--public-ink); }
.home-buoy i:after { content:""; position:absolute; left:0; top:0; width:19px; height:12px; background:var(--public-coral); clip-path:polygon(0 0,100% 0,65% 50%,100% 100%,0 100%); }
.home-tides { position:absolute; left:0; bottom:-1px; width:100%; height:28%; z-index:5; overflow:visible; }
.home-tide-front,.home-tide-back { position:absolute; inset:0 auto auto 0; width:400%; max-width:none; height:100%; will-change:transform; transform-origin:center; }
.home-seascape-label { position:absolute; right:36px; left:36px; bottom:25px; display:flex; align-items:center; gap:10px; color:#e6f3f3; z-index:6; font-size:11px; letter-spacing:.09em; }
.home-seascape-label svg { width:17px; height:17px; }
.home-label-line { height:1px; background:#8db6c366; flex:1; margin-left:20px; }


.home-start-strip { display:grid; grid-template-columns:32% 68%; min-height:160px; border-bottom:1px solid var(--public-ink); background:var(--public-coral); }
.home-strip-title { padding:28px clamp(30px,4vw,77px); border-right:1px solid #173e5050; display:flex; flex-direction:column; justify-content:center; }
.home-strip-title .eyebrow { font-size:10px; margin-bottom:7px; }
.home-strip-title h2 { margin:0; font-size:23px; line-height:1.4; font-weight:650; letter-spacing:-.03em; }
.home-journey { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; }
.home-journey li { min-width:0; padding:28px 30px; display:flex; flex-direction:column; justify-content:center; gap:10px; border-right:1px solid #173e5030; font-size:15px; font-weight:600; line-height:1.5; position:relative; }
.home-journey li:last-child { border-right:0; }
.home-journey li span { font-size:31px; line-height:1; font-weight:400; letter-spacing:-.06em; color:#173e507a; }
.home-journey li:after { content:"↗"; position:absolute; right:26px; top:28px; font-size:22px; font-weight:300; }


.public-page.page-wrap { max-width:1440px; padding-top:48px; padding-bottom:80px; }
.public-heading { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 290px; min-height:335px; background:var(--public-blue); margin-bottom:48px; overflow:hidden; border:1px solid var(--public-ink); }
.public-heading[data-public-route="/downloads"],.public-heading[data-public-route="/contact"] { background:var(--public-coral); }
.public-heading[data-public-route="/privacy"],.public-heading[data-public-route="/terms"] { background:var(--public-paper); }
.public-heading-copy { position:relative; z-index:2; padding:43px 48px; align-self:center; }
.public-heading .eyebrow { margin:0 0 19px; display:flex; align-items:center; gap:12px; font-size:10px; }
.public-heading .eyebrow:before { content:""; width:27px; height:2px; background:currentColor; }
.public-heading h1 { font-size:clamp(31px,3.1vw,53px); font-weight:720; line-height:1.2; letter-spacing:-.05em; margin:0 0 22px; max-width:840px; text-wrap:balance; }
.public-heading .lead { font-size:14px; line-height:1.85; max-width:690px; margin:0; color:#375868; }
.public-heading-mark { position:relative; align-self:stretch; min-height:100%; color:#173e50; border-left:1px solid #173e5040; overflow:hidden; background:repeating-linear-gradient(90deg,transparent 0 57px,#173e5012 57px 58px),repeating-linear-gradient(0deg,transparent 0 57px,#173e5012 57px 58px); }
.public-heading-mark svg { position:absolute; width:170px; height:170px; left:calc(50% - 85px); top:calc(50% - 85px); opacity:.9; z-index:3; }
.public-mark-ring { width:220px; height:220px; position:absolute; left:calc(50% - 110px); top:calc(50% - 110px); border:1px solid #173e5066; border-radius:50%; }
.public-mark-ring:after { content:""; position:absolute; inset:-20px; border:1px dashed #173e5040; border-radius:50%; }
.public-mark-axis { position:absolute; width:100%; height:1px; top:50%; left:0; background:#173e5040; }
.public-mark-axis:after { content:""; position:absolute; top:-160px; left:50%; width:1px; height:320px; background:#173e5040; }
.public-mark-direction { position:absolute; top:calc(50% - 137px); left:calc(50% - 4px); font-size:9px; line-height:1; letter-spacing:.1em; }
.public-mark-wave { position:absolute; width:130%; height:75px; border-radius:50%; border-top:1px solid #173e5050; left:-15%; bottom:-26px; transform:rotate(-12deg); }
.public-section { padding-top:65px; padding-bottom:34px; }
.home-page>.public-section { padding-top:74px; padding-bottom:75px; background:var(--public-paper); max-width:none; padding-inline:clamp(24px,6vw,116px); }
.public-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:33px; }
.public-section-heading h2 { font-size:clamp(27px,2.7vw,43px); font-weight:680; letter-spacing:-.045em; line-height:1.3; margin:14px 0 0; }
.public-section-heading p { max-width:410px; font-size:13px; line-height:1.85; color:#5e7784; margin:0; }
.public-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--public-ink); }
.public-link-card { position:relative; padding:33px 36px 65px; min-height:295px; color:var(--public-ink); background:var(--public-blue); overflow:hidden; transition:background .3s,color .3s; }
.public-link-card+.public-link-card { border-left:1px solid var(--public-ink); }
.public-link-card:nth-child(2) { background:var(--public-coral); }
.public-link-card:nth-child(3) { background:var(--public-ink); color:var(--public-paper); }
.public-link-card:before { content:""; position:absolute; right:-47px; top:-66px; width:195px; height:195px; border:1px solid currentColor; border-radius:50%; opacity:.2; }
.public-link-card:after { content:""; position:absolute; right:49px; top:-22px; width:1px; height:152px; background:currentColor; opacity:.2; }
.public-link-card:hover { background:#a9ddec; }
.public-link-card:nth-child(2):hover { background:#ffb49f; }
.public-link-card:nth-child(3):hover { background:#295b70; }
.public-icon-tile { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; background:var(--public-ink); color:var(--public-paper); border-radius:0; flex:0 0 auto; }
.public-icon-tile.coral { background:var(--public-coral); color:var(--public-ink); }
.public-link-card .public-icon-tile { background:transparent; border:1px solid currentColor; color:inherit; width:45px; height:45px; }
.public-icon-tile svg { width:24px; height:24px; stroke-width:1.5; }
.public-link-card h3 { font-size:26px; font-weight:650; letter-spacing:-.03em; line-height:1.35; margin:22px 0 15px; position:relative; z-index:1; }
.public-link-card p { font-size:13px; line-height:1.85; margin:0; max-width:340px; opacity:.8; }
.public-arrow { position:absolute; right:29px; bottom:27px; display:grid; place-items:center; width:32px; height:32px; }
.public-arrow svg { width:26px; height:26px; transition:transform .25s; }
.public-link-card:hover .public-arrow svg { transform:translateX(4px); }
.public-bottom-callout.page-wrap { max-width:none; display:flex; align-items:center; justify-content:space-between; gap:48px; padding:57px clamp(24px,6vw,116px); background:var(--public-ink); color:var(--public-paper); border-top:1px solid var(--public-ink); position:relative; overflow:hidden; }
.public-bottom-callout:after { content:""; position:absolute; width:430px; height:430px; left:58%; top:-78px; border:1px solid #cce7ee22; border-radius:50%; pointer-events:none; }
.public-bottom-callout h2 { font-size:39px; letter-spacing:-.04em; font-weight:650; line-height:1.3; margin:14px 0; }
.public-bottom-callout p { font-size:14px; line-height:1.8; color:#aac2cc; margin:0; }
.public-bottom-callout>.btn { background:var(--public-coral); color:var(--public-ink); flex-shrink:0; padding:16px 24px; position:relative; z-index:1; }


.public-feature-hero { display:grid; grid-template-columns:1fr 1fr; background:var(--public-ink); color:var(--public-paper); border:1px solid var(--public-ink); }
.public-feature-hero>div { padding:43px; }
.public-feature-hero>div .public-icon-tile { background:var(--public-coral); color:var(--public-ink); }
.public-feature-hero>div h2 { font-size:31px; font-weight:650; line-height:1.3; letter-spacing:-.035em; margin:22px 0 18px; }
.public-feature-hero>div p { font-size:14px; line-height:1.9; color:#b2cbd4; margin:0 0 28px; max-width:510px; }
.public-feature-hero>.public-steps { padding:30px 40px; background:var(--public-paper); color:var(--public-ink); border-left:1px solid var(--public-ink); }
.public-steps { list-style:none; padding:0; margin:0; }
.public-steps>li { display:flex; gap:22px; padding:21px 0; }
.public-steps>li+li { border-top:1px solid var(--public-line); }
.public-step-number { font-size:32px; line-height:1; letter-spacing:-.06em; font-weight:400; flex:0 0 43px; color:#648997; margin-top:4px; }
.public-steps h3 { margin:0 0 8px; font-size:17px; font-weight:650; line-height:1.5; }
.public-steps p { margin:0; font-size:13px; line-height:1.85; color:#69818d; }
.public-support-list { border-top:2px solid var(--public-ink); }
.public-support-list>div { display:flex; align-items:center; gap:24px; padding:27px 4px; border-bottom:1px solid var(--public-line); }
.public-support-list>div>div { flex:1; }
.public-support-icon { display:flex; justify-content:center; flex:0 0 38px; color:#49788c; }
.public-support-icon svg { width:27px; height:27px; stroke-width:1.5; }
.public-support-list h3 { font-size:17px; font-weight:650; margin:0 0 8px; }
.public-support-list p { font-size:13px; color:#69818d; line-height:1.85; margin:0; }


.public-download-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:34px; align-items:start; }
.public-segmented { display:flex; background:var(--public-paper); border:1px solid var(--public-ink); margin-bottom:0; }
.public-segmented button { flex:1; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-right:1px solid var(--public-ink); border-radius:0; padding:18px 20px; background:transparent; color:#587684; font:inherit; font-size:14px; cursor:pointer; }
.public-segmented button:last-child { border-right:0; }
.public-segmented button.active { background:var(--public-ink); color:var(--public-paper); }
.public-segmented button svg { width:19px; height:19px; }
.public-download-card { padding:35px; border:1px solid var(--public-ink); border-top:0; background:#fff; }
.public-download-top { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.public-download-card h2 { font-size:31px; font-weight:650; letter-spacing:-.04em; line-height:1.3; margin:25px 0 16px; }
.public-download-card>p { font-size:13px; color:#6b818e; line-height:1.85; margin:0; max-width:550px; }
.public-detail-list { border-top:1px solid var(--public-line); margin:26px 0; }
.public-detail-row { display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid var(--public-line); padding:17px 0; font-size:13px; }
.public-detail-row>span { color:#6e858f; }
.public-detail-row strong { font-weight:500; color:#456776; text-align:right; }
.public-download-card>.public-small-note { font-size:11px; color:#8296a0; margin:17px 0 0; }
.public-download-aside { padding-top:0; }
.public-guide-box { position:relative; padding:35px; background:var(--public-blue); border:1px solid var(--public-ink); overflow:hidden; }
.public-guide-box:before { content:""; position:absolute; width:180px; height:180px; border:1px dashed #173e5033; border-radius:50%; right:-70px; top:-70px; pointer-events:none; }
.public-guide-box h2 { font-size:28px; font-weight:650; letter-spacing:-.035em; line-height:1.3; margin:17px 0; }
.public-guide-box p { font-size:13px; line-height:1.85; color:#406776; margin:12px 0 25px; }
.public-guide-box .btn { border:1px solid var(--public-ink); }
.public-guide-box .btn.secondary { background:transparent; }
.public-mini-steps { padding-left:20px; color:#406776; font-size:13px; line-height:1.8; margin:23px 0 28px; }
.public-mini-steps li { padding-left:7px; margin:12px 0; }
.public-mini-steps li::marker { color:#173e5077; }
.public-aside-note { display:flex; gap:15px; margin-top:29px; padding:0 5px; }
.public-aside-note>svg { width:20px; height:20px; margin-top:2px; color:#4d7d92; flex-shrink:0; }
.public-aside-note h3 { font-size:15px; font-weight:650; margin:0 0 11px; }
.public-aside-note p { font-size:12px; line-height:1.85; color:#748993; margin:0 0 14px; }
.public-text-link { font-size:13px; line-height:1.7; color:#335e73; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.public-text-link:hover { color:#173e50; }
.public-release-section { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:46px; padding:30px; border:1px solid var(--public-ink); background:var(--public-paper); }
.public-release-section h2 { font-size:24px; font-weight:650; letter-spacing:-.03em; margin:0 0 13px; }
.public-release-section p { font-size:13px; line-height:1.8; color:#728791; margin:0; }
.public-help-layout { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr); gap:58px; }
.public-subheading { font-size:27px; font-weight:650; letter-spacing:-.03em; margin:0 0 22px; }
.public-help-steps { border-top:2px solid var(--public-ink); }
.public-help-steps>li { padding:25px 0; }
.public-space-top { margin-top:45px; }
.public-faq { border-bottom:1px solid var(--public-line); }
.public-faq summary { display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; padding:23px 0; font-size:15px; font-weight:600; }
.public-faq summary::-webkit-details-marker { display:none; }
.public-faq summary>span { display:flex; color:#547e91; flex:0 0 auto; transition:transform .25s; }
.public-faq summary svg { width:18px; height:18px; }
.public-faq[open] summary>span { transform:rotate(45deg); }
.public-faq>p { font-size:13px; color:#6c828e; line-height:1.9; margin:-2px 28px 24px 0; }
.public-aside-link { display:flex; align-items:center; gap:11px; font-size:13px; padding:24px 0; margin-top:28px; border-top:1px solid var(--public-line); color:#4b7488; }
.public-aside-link svg { width:18px; height:18px; }
.public-aside-link svg:last-child { margin-left:auto; }
.public-narrow.page-wrap { max-width:1320px; }
.public-empty-state { position:relative; overflow:hidden; padding:59px 40px; text-align:center; background:var(--public-paper); border:1px solid var(--public-ink); }
.public-empty-state:before,.public-empty-state:after { content:""; width:230px; height:230px; border:1px solid var(--public-line); border-radius:50%; position:absolute; left:-160px; top:50%; pointer-events:none; }
.public-empty-state:after { left:auto; right:-160px; top:-130px; width:360px; height:360px; }
.public-empty-icon { display:inline-flex; align-items:center; justify-content:center; width:65px; height:65px; background:var(--public-blue); border:1px solid var(--public-ink); color:var(--public-ink); }
.public-empty-icon svg { width:29px; height:29px; stroke-width:1.3; }
.public-empty-state h2 { font-size:29px; font-weight:650; letter-spacing:-.03em; margin:25px 0 17px; }
.public-empty-state p { font-size:14px; color:#6d838e; line-height:1.9; max-width:550px; margin:0 auto 28px; }
.public-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--public-ink); margin-bottom:30px; }
.public-contact-card { padding:35px; background:var(--public-paper); }
.public-contact-card+.public-contact-card { border-left:1px solid var(--public-ink); background:var(--public-blue); }
.public-contact-card h2 { font-size:28px; font-weight:650; letter-spacing:-.03em; margin:24px 0 17px; }
.public-contact-card p { font-size:13px; color:#547483; line-height:1.85; margin:0 0 25px; }
.public-legal-placeholder { padding:43px; border:1px solid var(--public-ink); border-left:9px solid var(--public-blue); }
.public-legal-placeholder h2 { font-size:29px; font-weight:650; letter-spacing:-.035em; margin:24px 0 20px; }
.public-legal-placeholder p { font-size:14px; color:#6b828e; line-height:1.9; margin:0 0 29px; max-width:690px; }
.public-legal-status { display:flex; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid var(--public-line); padding-top:24px; }
.public-legal-status>span:last-child { color:#7f95a0; font-size:12px; }
.public-legal-links { display:flex; gap:30px; margin-top:27px; }
.public-announcement-list { display:grid; gap:20px; }
.public-announcement { padding:32px; border:1px solid var(--public-ink); border-left:8px solid var(--public-coral); background:#fff; overflow-wrap:anywhere; }
.public-announcement-meta { display:flex; align-items:center; gap:12px; margin-bottom:18px; color:#4b7b91; }
.public-announcement-meta>svg { width:19px; height:19px; }
.public-announcement h2 { font-size:27px; font-weight:650; margin-bottom:16px; letter-spacing:-.03em; }
.public-announcement>p { font-size:14px; line-height:1.9; color:#6e8590; white-space:pre-wrap; }

@media (min-width:1700px) {
  .home-copy { padding-top:55px; padding-bottom:55px; }
  .home-strip-title h2 { font-size:26px; }
  .home-journey li { padding-inline:43px; font-size:17px; }
  .home-journey li span { font-size:37px; }
}
@media (max-width:1200px) {
  .home-hero { min-height:590px; height:auto; }
  .home-copy { padding:55px 42px; }
  .home-copy h1 { font-size:76px; }
  .home-copy h1 span { font-size:32px; }
  .home-copy .eyebrow { margin-bottom:26px; }
  .home-actions .btn { font-size:12px; padding-inline:15px; }
  .home-seascape { min-height:590px; }
  .home-vessel { width:60%; left:20%; height:70%; top:10%; }
  .home-sea-disc { width:70%; left:15%; top:17%; }
  .home-orbit { width:88%; left:6%; top:10%; }
  .home-orbit-two { width:102%; left:-1%; top:4%; }
  .home-compass { width:68px; height:68px; right:8%; top:10%; }
  .home-compass-needle { width:47px; height:47px; }
  .home-compass-needle svg { width:38px!important; height:38px!important; }
  .home-compass-east { top:29px; }
  .home-strip-title { padding-inline:31px; }
  .home-strip-title h2 { font-size:21px; }
  .home-journey li { padding-inline:23px; font-size:13px; }
  .home-journey li:after { right:22px; }
  .public-heading { grid-template-columns:minmax(0,1fr) 245px; }
  .public-heading-copy { padding:36px; }
  .public-feature-hero>div { padding:34px; }
  .public-feature-hero>.public-steps { padding:24px 30px; }
  .public-help-layout { gap:35px; }
  .public-link-card { padding:29px 27px 62px; }
  .public-link-card h3 { font-size:23px; }
}
@media (max-width:900px) {
  .home-copy { padding:44px 28px; }
  .home-copy:before { left:15px; top:15px; width:17px; height:17px; }
  .home-copy h1 { font-size:64px; }
  .home-copy h1 span { font-size:28px; }
  .home-intro { font-size:17px; }
  .home-description { font-size:12px; }
  .home-hero,.home-seascape { min-height:560px; }
  .home-actions { gap:9px; }
  .home-actions .btn { padding:11px 12px; font-size:11px; }
  .home-compass { top:12%; }
  .home-chart-caption { left:24px; right:24px; }
  .home-start-strip { grid-template-columns:29% 71%; min-height:155px; }
  .home-strip-title { padding:25px 24px; }
  .home-strip-title h2 { font-size:19px; }
  .home-journey li { padding:27px 16px; gap:14px; font-size:12px; }
  .home-journey li:after { right:15px; font-size:18px; }
  .public-section-heading { display:block; }
  .public-section-heading p { margin-top:20px; max-width:600px; }
  .public-heading { grid-template-columns:minmax(0,1fr) 190px; min-height:310px; }
  .public-heading-copy { padding:29px; }
  .public-heading-mark svg { width:130px; height:130px; left:calc(50% - 65px); top:calc(50% - 65px); }
  .public-mark-ring { width:160px; height:160px; left:calc(50% - 80px); top:calc(50% - 80px); }
  .public-mark-direction { top:calc(50% - 107px); }
  .public-download-layout { grid-template-columns:1fr; }
  .public-download-aside { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
  .public-help-layout { grid-template-columns:1fr; }
  .public-help-aside { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
  .public-help-aside .public-aside-link { grid-column:1/-1; margin-top:0; }
  .public-help-aside .public-aside-note { margin-top:15px; }
  .public-feature-hero { grid-template-columns:1fr; }
  .public-feature-hero>.public-steps { border-left:0; border-top:1px solid var(--public-ink); }
  .public-bottom-callout h2 { font-size:31px; }
}
@media (max-width:640px) {
  .home-hero { display:flex; flex-direction:column; min-height:0; height:auto; max-height:none; }
  .home-copy { padding:39px 24px 35px; }
  .home-copy:before { display:none; }
  .home-copy .eyebrow { margin-bottom:22px; font-size:9px; }
  .home-copy .eyebrow:before { width:27px; }
  .home-copy h1 { font-size:78px; }
  .home-copy h1 span { font-size:33px; margin-top:12px; }
  .home-intro { font-size:18px; margin-top:24px!important; margin-bottom:10px!important; }
  .home-description { font-size:13px; max-width:400px; }
  .home-actions { margin-top:25px; gap:10px; }
  .home-actions .btn { min-height:47px; padding:11px 16px; font-size:12px; }
  .home-download-link { font-size:11px; margin-top:22px; }
  .home-seascape { min-height:0; height:410px; width:100%; border-top:1px solid var(--public-ink); }
  .home-chart-caption { left:22px; right:22px; top:22px; font-size:9px; }
  .home-vessel { width:59%; left:21%; top:8%; height:74%; }
  .home-sea-disc { width:64%; left:19%; top:17%; }
  .home-orbit { width:85%; left:8.5%; top:7%; }
  .home-orbit-two { width:101%; left:.5%; top:-1%; }
  .home-compass { right:7%; top:13%; width:55px; height:55px; }
  .home-compass-needle { width:39px; height:39px; }
  .home-compass-needle svg { width:33px!important; height:33px!important; }
  .home-compass-north { font-size:8px; top:-18px; }
  .home-compass-east { top:23px; right:-16px; font-size:8px; }
  .home-spark-one { left:8%; top:20%; }
  .home-spark-two { left:12%; bottom:26%; font-size:26px; }
  .home-buoy { right:9%; bottom:23%; transform:scale(.8); }
  .home-seascape-label { left:22px; right:22px; bottom:22px; font-size:10px; }
  .home-tides { height:26%; }
  .home-start-strip { display:block; }
  .home-strip-title { padding:25px 24px; border-right:0; border-bottom:1px solid #173e5044; }
  .home-strip-title .eyebrow { font-size:9px; margin-bottom:6px; }
  .home-strip-title h2 { font-size:24px; }
  .home-journey li { padding:23px 17px 25px; gap:14px; font-size:11px; line-height:1.7; }
  .home-journey li span { font-size:27px; }
  .home-journey li:after { top:22px; right:12px; font-size:16px; }
  .public-page.page-wrap { padding-top:23px; padding-bottom:44px; }
  .public-heading { grid-template-columns:minmax(0,1fr) 78px; min-height:0; margin-bottom:30px; }
  .public-heading-copy { padding:28px 24px; }
  .public-heading .eyebrow { font-size:8px; letter-spacing:.15em; margin-bottom:18px; gap:8px; }
  .public-heading .eyebrow:before { width:20px; }
  .public-heading h1 { font-size:30px; line-height:1.25; margin-bottom:19px; letter-spacing:-.045em; }
  .public-heading .lead { font-size:12px; line-height:1.9; }
  .public-heading-mark svg { width:100px; height:100px; left:calc(50% - 50px); top:calc(50% - 50px); opacity:.75; }
  .public-mark-ring { width:132px; height:132px; left:calc(50% - 66px); top:calc(50% - 66px); }
  .public-mark-direction { top:calc(50% - 99px); font-size:8px; }
  .public-section { padding-top:40px; padding-bottom:20px; }
  .home-page>.public-section { padding:43px 22px; }
  .public-section-heading { margin-bottom:27px; }
  .public-section-heading h2 { font-size:28px; line-height:1.35; }
  .public-section-heading p { margin-top:17px; font-size:12px; }
  .public-section .eyebrow { font-size:9px; }
  .public-link-grid { grid-template-columns:1fr; }
  .public-link-card { min-height:0; padding:28px 29px 50px; }
  .public-link-card+.public-link-card { border-left:0; border-top:1px solid var(--public-ink); }
  .public-link-card h3 { font-size:25px; margin:19px 0 12px; }
  .public-link-card p { font-size:12px; padding-right:14px; }
  .public-arrow { right:21px; bottom:17px; }
  .public-bottom-callout.page-wrap { display:block; padding:38px 24px; }
  .public-bottom-callout h2 { font-size:31px; margin-top:17px; }
  .public-bottom-callout p { font-size:13px; }
  .public-bottom-callout>.btn { margin-top:25px; padding:13px 19px; font-size:12px; }
  .public-feature-hero>div { padding:27px; }
  .public-feature-hero>div h2 { font-size:27px; }
  .public-feature-hero>div p { font-size:13px; }
  .public-feature-hero>.public-steps { padding:17px 24px; }
  .public-steps>li { gap:17px; }
  .public-step-number { flex-basis:33px; font-size:27px; margin-top:3px; }
  .public-steps h3 { font-size:15px; }
  .public-steps p { font-size:12px; }
  .public-support-list>div { flex-wrap:wrap; gap:13px; align-items:flex-start; padding:24px 0; }
  .public-support-list>div>div { flex-basis:calc(100% - 51px); }
  .public-support-list>div>.status-badge { margin-left:51px; }
  .public-support-list h3 { font-size:15px; }
  .public-support-list p { font-size:12px; }
  .public-download-card { padding:25px; }
  .public-download-card h2 { font-size:27px; }
  .public-download-card>p { font-size:12px; }
  .public-segmented button { padding:16px 10px; gap:9px; font-size:12px; }
  .public-segmented button svg { width:17px; height:17px; }
  .public-detail-row { font-size:12px; gap:15px; }
  .public-download-aside,.public-help-aside { display:block; }
  .public-guide-box { padding:27px; }
  .public-guide-box h2 { font-size:25px; }
  .public-release-section { display:block; padding:25px; margin-top:32px; }
  .public-release-section h2 { font-size:23px; }
  .public-release-section p { font-size:12px; }
  .public-release-section>.status-badge { margin-top:18px; }
  .public-help-layout { gap:33px; }
  .public-help-aside .public-aside-note { margin-top:25px; }
  .public-help-aside .public-aside-link { margin-top:26px; }
  .public-subheading { font-size:25px; }
  .public-space-top { margin-top:33px; }
  .public-faq summary { font-size:13px; line-height:1.7; padding-block:21px; }
  .public-faq>p { font-size:12px; margin-right:20px; }
  .public-empty-state { padding:39px 24px; }
  .public-empty-state h2 { font-size:25px; }
  .public-empty-state p { font-size:12px; }
  .public-contact-grid { grid-template-columns:1fr; }
  .public-contact-card { padding:27px; }
  .public-contact-card+.public-contact-card { border-left:0; border-top:1px solid var(--public-ink); }
  .public-contact-card h2 { font-size:25px; }
  .public-legal-placeholder { padding:28px 24px; border-left-width:5px; }
  .public-legal-placeholder h2 { font-size:25px; }
  .public-legal-placeholder p { font-size:12px; }
  .public-legal-links { flex-wrap:wrap; gap:16px 25px; }
  .public-announcement { padding:26px; border-left-width:5px; }
  .public-announcement h2 { font-size:24px; }
  .public-announcement>p { font-size:13px; }
}
@media (max-width:370px) {
  .home-copy h1 { font-size:69px; }
  .home-actions .btn { font-size:11px; padding-inline:12px; }
  .public-heading { grid-template-columns:minmax(0,1fr) 55px; }
  .public-heading-copy { padding:24px 20px; }
  .public-heading h1 { font-size:27px; }
}
@media (prefers-reduced-motion:reduce) {
  .public-link-card,.public-arrow svg,.public-faq summary>span { transition:none; }
  .public-link-card:hover .public-arrow svg { transform:none; }
  .home-vessel,.home-tide-front,.home-tide-back { will-change:auto; }
}
