/* Galleon Atlas: a new composition for SurfGalleon.
   The stock Night Sea stylesheet remains underneath for vendor components. */
:root {
  --ga-ink: #102a34;
  --ga-deep: #071d29;
  --ga-sea: #1b6470;
  --ga-sea-light: #2e8290;
  --ga-gold: #be873d;
  --ga-gold-light: #edc77c;
  --ga-paper: #f1e9d8;
  --ga-paper-light: #faf6eb;
  --ga-paper-deep: #e3d6bb;
  --ga-rule: #c8b993;
  --ga-muted: #50626a;
  --ga-title: 'Cormorant Garamond', Georgia, serif;
  --ga-code: 'IBM Plex Mono', Consolas, monospace;
}
html { scroll-behavior: smooth; }
body.ga-site {
  color: var(--ga-ink);
  background: var(--ga-paper);
  background-image: repeating-linear-gradient(0deg, transparent 0 39px, rgba(36,76,83,.023) 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(36,76,83,.023) 40px);
  background-attachment: fixed;
  font-family: Alegreya, Georgia, serif;
  font-size: 17px;
}
.ga-site h1, .ga-site h2, .ga-site h3, .ga-site h4, .ga-site h5 { color: var(--ga-ink); }
.ga-site p { max-width: 72ch; }
.ga-site a { color: var(--ga-sea); }
.ga-site a:hover { color: #9c622e; }
.ga-site hr { border-top-color: var(--ga-rule); }
.ga-site :focus-visible { outline: 3px solid var(--ga-gold); outline-offset: 3px; }
.ga-shell { max-width: 1240px; margin: 0 auto; padding: 0 26px; }

/* A small ship's signal over a compact masthead. No duplicate form. */
.ga-signal { color: #d8c8a6; background: #061923; border-bottom: 1px solid #315363; font: 600 10px/1.2 var(--ga-code); letter-spacing: .15em; }
.ga-signal .ga-shell { display: flex; justify-content: space-between; padding-top: 8px; padding-bottom: 8px; }
.ga-signal i { color: var(--ga-gold-light); font-style: normal; margin: 0 8px; }
.ga-masthead {
  background: radial-gradient(ellipse at 15% -50%, #2c6070, transparent 55%), linear-gradient(112deg, #102f3e, #071c27 75%);
  border-bottom: 1px solid rgba(237,199,124,.35);
}
.ga-masthead-inner { min-height: 116px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.ga-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.ga-brand img { display: block; width: 282px; height: auto; max-height: 96px; object-fit: contain; filter: drop-shadow(0 4px 6px rgba(0,0,0,.2)); }
.ga-masthead-actions { display: flex; align-items: center; justify-content: flex-end; gap: 23px; color: #e6decb; font-family: var(--ga-code); font-size: 11px; letter-spacing: .065em; text-transform: uppercase; }
.ga-mast-note { color: #adbdba; border-right: 1px solid #46616a; padding-right: 23px; }
.ga-welcome { color: #d4cbb5; text-transform: none; letter-spacing: 0; }
.ga-welcome strong { color: #ffe2a2; }
.ga-site .ga-mast-link { color: #efe8d8; }
.ga-site .ga-mast-link:hover { color: #ffdf99; }
.ga-site .ga-mast-cta, .ga-site .ga-button-gold {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 23px;
  color: #182c31; background: linear-gradient(#f0d597,#d1a253);
  border: 1px solid #f9dfaa; box-shadow: inset 0 0 0 2px rgba(93,57,13,.15), 3px 3px 0 #835d2f;
  font: 700 11px/1.2 var(--ga-code); letter-spacing: .085em; text-transform: uppercase;
  padding: 14px 18px; transition: transform .15s, box-shadow .15s, background .15s;
}
.ga-site .ga-mast-cta:hover, .ga-site .ga-button-gold:hover { color: #10242e; transform: translate(2px,2px); box-shadow: inset 0 0 0 2px rgba(93,57,13,.15), 1px 1px 0 #835d2f; background: #f6dda8; }

/* Existing LFMTE menu logic is retained; its presentation becomes a deck rail. */
.lfm_menu_bar { position: relative; top: auto; background: #0c2632; border-bottom: 4px solid var(--ga-gold); box-shadow: 0 9px 20px rgba(0,0,0,.12); }
.lfm_menu_bar::after { content: ''; display: block; height: 5px; background: repeating-linear-gradient(90deg, transparent 0 19px, rgba(214,171,88,.22) 19px 20px); }
.lfm_menu_bar .navbar { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.lfm_menu_bar .sg-navbrand-desktop { display: none !important; }
.lfm_menu_bar .nav > li > a, .lfm_menu_bar .navbar-nav > li > a, .lfm_menu_bar .nav-link {
  color: #e6dfcd !important; font: 600 11px/1.3 var(--ga-code) !important; letter-spacing: .095em !important; text-transform: uppercase;
  border: 0 !important; border-right: 1px solid #244654 !important; border-radius: 0 !important; padding: 14px 17px !important;
}
.lfm_menu_bar .nav > li > a:hover, .lfm_menu_bar .navbar-nav > li > a:hover, .lfm_menu_bar .nav-link:hover { color: #fff2d6 !important; background: #1c4752 !important; }
.lfm_menu_bar .nav-item.lfm_tab_opened > a.nav-link, .lfm_menu_bar .nav > li.active > a, .lfm_menu_bar .nav > li > a.active,
.lfm_menu_bar .sg-nav-cta > a.nav-link, .lfm_menu_bar .sg-nav-cta > a { background: #ca984e !important; color: #10242d !important; border-color: #e9c783 !important; }
.lfm_menu_bar .nav-item.lfm_tab_opened > a.nav-link span, .lfm_menu_bar .sg-nav-cta > a span { color: #10242d !important; }
.lfm_menu_bar ul.lfm_menu_tab { background: #153844; border-top: 1px solid #6d6247; }
.lfm_menu_bar ul.lfm_menu_tab > li > a { color: #e3dfd1; }
.lfm_menu_bar ul.lfm_menu_tab > li > a:hover { color: #f9dea7; background: #225461; }
.lfm_menu_bar .dropdown-menu { background: #102f3b; border: 1px solid #ad854e; }
.lfm_menu_bar .dropdown-item { color: #eee3cb; }
.lfm_menu_bar .dropdown-item:hover { color: white; background: #245360; }

/* Home / opening spread: editorial type beside a hand drawn route chart. */
.ga-homehero { background: radial-gradient(circle at 15% 10%, #fff8e8 0, transparent 40%), #eee3cc; border-bottom: 1px solid #bda980; }
.ga-homehero-grid { display: grid; grid-template-columns: 1fr .93fr; gap: clamp(26px,5vw,80px); align-items: center; padding-top: 68px; padding-bottom: 75px; }
.ga-kicker, .ga-section-no, .ga-card-code, .ga-chart-top, .ga-chart-bottom, .ga-captain-label, .ga-deck-panel-head span, .ga-deck-stat-label {
  font: 600 10px/1.35 var(--ga-code); letter-spacing: .15em; text-transform: uppercase;
}
.ga-kicker { display: flex; align-items: center; gap: 12px; color: #86602f; }
.ga-kicker-line { width: 34px; height: 1px; background: #86602f; }
.ga-kicker span:last-child { margin-left: auto; color: #879088; }
.ga-homehero h1 { font: 600 clamp(52px,5.8vw,87px)/.91 var(--ga-title); letter-spacing: -.055em; margin: 32px 0 26px; max-width: 11ch; }
.ga-homehero h1 em, .ga-section h2 em, .ga-final h2 em, .ga-dashboard h1 em { color: #94682f; font-weight: 500; }
.ga-homehero-lede { color: #3f565c; font-size: 19px; line-height: 1.55; max-width: 39ch; }
.ga-homehero-actions { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; margin: 31px 0 41px; }
.ga-site .ga-button { text-decoration: none; min-width: 242px; }
.ga-site .ga-textlink, .ga-site .ga-underlink { color: #1b5662; border-bottom: 1px solid #1b5662; font: 600 11px/1.4 var(--ga-code); letter-spacing: .035em; padding-bottom: 5px; }
.ga-site .ga-textlink:hover, .ga-site .ga-underlink:hover { color: #9c622e; border-color: #9c622e; }
.ga-homehero-fine { display: flex; gap: 14px; flex-wrap: wrap; font: 600 9px/1.4 var(--ga-code); letter-spacing: .11em; color: #607275; }
.ga-homehero-fine span + span::before { content: '◆'; font-size: 6px; color: #bc8743; margin-right: 13px; vertical-align: 2px; }
.ga-chart { position: relative; height: min(43vw,550px); min-height: 440px; color: #6a593c; background: #e8dcc0; border: 1px solid #a98c57; box-shadow: 0 24px 44px rgba(44,48,38,.21), inset 0 0 0 7px #ede2c9, inset 0 0 0 8px #b29b70; transform: rotate(1.2deg); overflow: hidden; }
.ga-chart::before, .ga-chart::after { content: ''; position: absolute; width: 70px; height: 70px; border: 2px solid rgba(158,127,76,.35); border-radius: 50%; pointer-events: none; }
.ga-chart::before { left: -39px; bottom: 40px; }.ga-chart::after { right: -43px; top: 170px; }
.ga-chart-top, .ga-chart-bottom { position: absolute; z-index: 1; left: 35px; right: 35px; display: flex; justify-content: space-between; color: #6e5a36; }
.ga-chart-top { top: 28px; }.ga-chart-bottom { bottom: 28px; }
.ga-chart-drawing { display: block; width: 100%; height: 100%; }
.ga-broadsheet { color: #e7d6ac; background: #0c2b38; border-bottom: 4px solid #b9853f; }
.ga-broadsheet .ga-shell { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 17px; padding-bottom: 17px; font: 600 10px/1.4 var(--ga-code); letter-spacing: .14em; }
.ga-broadsheet span:nth-child(even) { color: #c08a40; }
.ga-section { padding-top: 105px; padding-bottom: 110px; }
.ga-section-no { color: #956a31; margin-bottom: 20px; }
.ga-section h2, .ga-final h2 { font: 600 clamp(46px,5vw,70px)/.98 var(--ga-title); letter-spacing: -.04em; margin: 0 0 20px; }
.ga-how-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px,9vw,145px); }
.ga-section-intro p { color: var(--ga-muted); font-size: 18px; max-width: 35ch; margin: 24px 0 30px; }
.ga-steps { border-top: 2px solid var(--ga-ink); }
.ga-step { display: grid; grid-template-columns: 48px 1fr 25px; gap: 24px; padding: 26px 0; border-bottom: 1px solid #bba983; }
.ga-step-no { color: #9a6c30; font: 600 14px var(--ga-code); }
.ga-step h3 { font: 600 32px/1.1 var(--ga-title); margin: 0 0 5px; }
.ga-step p { color: var(--ga-muted); margin: 0; font-size: 16px; }
.ga-step > span:last-child { color: #a47940; font-size: 22px; }
.ga-manifest { background: #dce3dc; border-top: 1px solid #bacac3; border-bottom: 1px solid #bacac3; }
.ga-manifest-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 38px; }
.ga-manifest-heading p { color: #4f6264; max-width: 30ch; font-size: 18px; }
.ga-manifest-grid { display: grid; grid-template-columns: 1.13fr .86fr .86fr; gap: 14px; }
.ga-manifest-grid article { min-height: 345px; padding: 32px 30px; display: flex; flex-direction: column; border: 1px solid #a5b4ad; background: #f6f4e8; position: relative; }
.ga-manifest-main { background: #0c2d3b !important; color: #e7e2d2; border-color: #0c2d3b !important; }
.ga-card-code { color: #8b672e; }.ga-manifest-main .ga-card-code { color: #e4b66f; }
.ga-helm-art { position: absolute; right: 15px; top: 55px; font: 230px/1 Georgia,serif; color: rgba(217,183,117,.1); transform: rotate(12deg); }
.ga-manifest-grid h3 { font: 600 38px/.95 var(--ga-title); margin: auto 0 10px; }
.ga-manifest-main h3 { color: #faf0d5; }.ga-manifest-grid p { margin: 0 0 15px; font-size: 16px; line-height: 1.45; }
.ga-manifest-main p { color: #d1ddd8; }.ga-manifest-main a { color: #f0c87f; font: 600 11px var(--ga-code); text-transform: uppercase; letter-spacing: .08em; }
.ga-card-symbol { font: 72px/1 Georgia,serif; color: #af8545; margin: 42px 0 0; }
.ga-promise { background: #f4eddd; }
.ga-promise-grid { display: grid; grid-template-columns: .65fr 1fr; gap: 9%; align-items: center; }
.ga-promise-mark { width: min(100%,290px); aspect-ratio: 1; border: 2px solid #b18f55; border-radius: 50%; display: grid; place-items: center; margin: auto; color: #ac8041; font: 600 94px var(--ga-title); position: relative; }
.ga-promise-mark::before, .ga-promise-mark::after { content: ''; position: absolute; inset: 10px; border: 1px solid #b18f55; border-radius: 50%; }.ga-promise-mark::after { inset: 24px; border-style: dashed; }
.ga-promise-mark span { position: absolute; bottom: 40px; font: 25px Georgia,serif; }
.ga-promise p { color: var(--ga-muted); font-size: 19px; max-width: 52ch; }
.ga-final { background: linear-gradient(112deg,#0e3542,#071c27); color: #ede3cc; border-top: 6px double #bd8e49; }
.ga-final-grid { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-top: 76px; padding-bottom: 78px; }
.ga-final .ga-section-no { color: #e9bd74; }.ga-final h2 { color: #f7edd5; font-size: clamp(50px,5.5vw,76px); }.ga-final h2 em { color: #e7b96e; }.ga-final p { color: #cdd8d2; font-size: 19px; }

/* The Quarter Deck is a ledger with a strong left captain card. */
.ga-dashboard { padding: 10px 0 55px; }
.ga-dashboard-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; border-bottom: 2px solid var(--ga-ink); padding-bottom: 25px; margin-bottom: 26px; }
.ga-dashboard h1 { font: 600 clamp(39px,4.8vw,64px)/1 var(--ga-title); margin: 0 0 8px; }.ga-dashboard-heading p { color: var(--ga-muted); margin: 0; }
.ga-dashboard-layout { display: grid; grid-template-columns: 300px 1fr; gap: 24px; align-items: start; }
.ga-captain-card { background: #102f3c; color: #f1e7cc; padding: 24px; min-height: 486px; border: 5px double #b48849; box-shadow: 7px 8px 0 #cabc9a; position: relative; overflow: hidden; }
.ga-captain-label { display: flex; justify-content: space-between; color: #e2bb76; font-size: 9px; }.ga-captain-compass { position: absolute; right: -25px; top: 40px; font: 190px Georgia,serif; color: rgba(233,190,116,.07); }
.ga-captain-overline, .ga-captain-unit { display: block; color: #d0dcd3; font: 600 10px var(--ga-code); letter-spacing: .13em; }
.ga-captain-overline { margin-top: 65px; }.ga-captain-balance { display: block; color: #f5d08b; font: 600 65px/1 var(--ga-title); margin-top: 8px; overflow-wrap: anywhere; }.ga-captain-unit { margin-top: 8px; }
.ga-captain-divider { height: 1px; background: rgba(234,195,118,.44); margin: 30px 0 20px; }.ga-captain-detail { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid rgba(234,195,118,.22); padding: 11px 0; font-size: 15px; }.ga-captain-detail strong { color: #f5d08b; font-family: var(--ga-code); font-size: 12px; }
.ga-site .ga-captain-link { color: #eac787; display: inline-block; margin-top: 26px; border-bottom: 1px solid #eac787; font: 600 11px var(--ga-code); text-transform: uppercase; }
.ga-dashboard-main { min-width: 0; }.ga-deck-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 20px; }
.ga-deck-stats > div { background: #f9f5e9; border: 1px solid #cabc9a; padding: 20px 18px; min-width: 0; }.ga-deck-stat-label { display: block; color: #627476; font-size: 9px; }.ga-deck-stats strong { display: block; color: #205a64; font: 600 42px/1 var(--ga-title); margin: 10px 0 2px; }.ga-deck-stats small { color: #61716e; }
.ga-deck-panel { border: 1px solid #cabc9a; background: #fcf8ed; padding: 24px; margin-bottom: 20px; box-shadow: 3px 4px 0 rgba(115,100,63,.12); }
.ga-deck-panel-head { display: flex; justify-content: space-between; align-items: end; gap: 15px; border-bottom: 1px solid #cabd9c; padding-bottom: 14px; margin-bottom: 8px; }.ga-deck-panel-head span { color: #936c36; font-size: 9px; }.ga-deck-panel-head h2 { font: 600 32px/1 var(--ga-title); margin: 6px 0 0; }.ga-deck-panel-head a { white-space: nowrap; font: 600 11px var(--ga-code); }
.ga-fleet-rows > div { display: grid; grid-template-columns: 1fr 155px 75px; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #ded4bc; }.ga-fleet-rows > div:last-child { border-bottom: 0; }.ga-fleet-rows strong { font: 600 12px var(--ga-code); color: #295e66; }.ga-fleet-rows a { font: 600 11px var(--ga-code); text-align: right; }
.ga-deck-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.ga-deck-pair .ga-deck-panel { margin: 0; }.ga-deck-pair p { color: #43575b; margin: 12px 0; }.ga-deck-recruit input { width: 100%; max-width: 100%; }.ga-deck-recruit small { color: #687875; display: block; margin-top: 7px; }
.ga-deck-destinations { margin-top: 32px; }.ga-destination-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.ga-site .ga-destination-grid a { display: grid; align-content: start; min-height: 135px; background: #f8f2e3; border: 1px solid #cabb99; padding: 17px; color: var(--ga-ink); transition: transform .16s, border-color .16s; }.ga-site .ga-destination-grid a:hover { transform: translateY(-3px); border-color: #a3783d; }.ga-destination-grid span { color: #aa7b3d; font-size: 28px; line-height: 1; }.ga-destination-grid strong { font: 600 24px/1.1 var(--ga-title); margin-top: 14px; }.ga-destination-grid small { color: #5d6d6d; margin-top: 5px; }

/* All other pages inherit paper forms, tables and content panels. */
.container, .container-fluid { max-width: 1180px; }.ga-site > .container.pt-4 { min-height: 46vh; }.ga-site .sg-pagehead, .ga-site .sg-pagehead-auto, .ga-site .sg-doc-head { border-bottom: 2px solid #baa87e; padding-bottom: 20px; margin-bottom: 25px; }.ga-site .sg-pagehead h1, .ga-site .sg-doc h1 { font: 600 clamp(39px,4.6vw,60px)/1 var(--ga-title); }.ga-site .sg-pagehead-sub, .ga-site .sg-doc-lede { color: #52676a; }
.ga-site .card, .ga-site .panel, .ga-site .well, .ga-site .sg-card, .ga-site .sg-perk, .ga-site .sg-doc-cta, .ga-site .sg-faq-cat, .ga-site .sg-support-form { color: var(--ga-ink); background: #fbf7ed; border: 1px solid #c9bb9a; border-radius: 0; box-shadow: 3px 4px 0 rgba(115,100,63,.1); }
.ga-site .card-header { color: var(--ga-ink); background: #e8dbc0; border-color: #c9bb9a; }.ga-site .card-body, .ga-site .sg-card h3, .ga-site .sg-doc h2, .ga-site .sg-perk-t { color: var(--ga-ink); }.ga-site .sg-card-note, .ga-site .sg-perk-d, .ga-site .sg-doc p { color: #56686a; }
.ga-site .bg-white, .ga-site .bg-light { background: #fbf7ed !important; color: var(--ga-ink) !important; }.ga-site .text-dark, .ga-site .text-body { color: var(--ga-ink) !important; }.ga-site .text-muted { color: #596b6c !important; }.ga-site .border { border-color: #c9bb9a !important; }
.ga-site label, .ga-site .form-label { color: #3e5b60; }.ga-site input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), .ga-site select, .ga-site textarea, .ga-site .form-control { color: #172f38; background: #fffdf6; border: 1px solid #b4a37e; border-radius: 0; }.ga-site input:focus, .ga-site select:focus, .ga-site textarea:focus, .ga-site .form-control:focus { color: #172f38; background: #fffdf6; border-color: #2b7882; box-shadow: 0 0 0 3px rgba(43,120,130,.15); }
.ga-site .btn, .ga-site input[type=submit], .ga-site input[type=button], .ga-site button:not(.navbar-toggler) { border-radius: 0; font: 600 11px var(--ga-code); letter-spacing: .06em; text-transform: uppercase; }.ga-site .btn-primary, .ga-site .btn-success, .ga-site input[type=submit], .ga-site input[type=button] { color: #172b30; background: linear-gradient(#f0d597,#d1a253); border: 1px solid #a6793b; }.ga-site .btn-primary:hover, .ga-site .btn-success:hover, .ga-site input[type=submit]:hover { color: #172b30; background: #f4dda9; border-color: #a6793b; }.ga-site .btn-secondary, .ga-site .btn-default, .ga-site .btn-outline-secondary { color: var(--ga-ink); background: transparent; border: 1px solid #8e805f; }.ga-site .btn-secondary:hover, .ga-site .btn-default:hover, .ga-site .btn-outline-secondary:hover { color: #fff; background: var(--ga-ink); }
.ga-site table, .ga-site .table { color: var(--ga-ink); border-color: #c9bb9a; }.ga-site .table > :not(caption) > * > * { color: var(--ga-ink); border-bottom-color: #c9bb9a; }.ga-site table thead th, .ga-site .table thead th { color: #3e5a60; background: #e7dbc1; border-color: #c9bb9a !important; }.ga-site .table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(218,199,157,.18); color: var(--ga-ink); }.ga-site .table-hover > tbody > tr:hover > * { background: rgba(210,180,116,.25); color: var(--ga-ink); }.ga-site .table-bordered > :not(caption) > * > * { border-color: #c9bb9a; }
.ga-site .alert { color: var(--ga-ink); background: #fcf6e6; border-radius: 0; }.ga-site .alert-success { background: #e5f0e4; }.ga-site .alert-danger { background: #f8e4de; }.ga-site .alert-info { background: #e3eeee; }.ga-site .alert-warning { background: #fff0cc; }.ga-site .progress { background: #d7c8aa; }

.ga-footer { background: #071d29; color: #d6ded4; border-top: 6px double #c4924b; }.ga-footer-rule { display: flex; gap: 20px; align-items: center; justify-content: center; color: #d5a85e; font: 600 10px var(--ga-code); letter-spacing: .18em; border-bottom: 1px solid #2c4b53; padding: 20px 0; }.ga-footer-grid { display: grid; grid-template-columns: 1.6fr .8fr 1fr; gap: 50px; padding: 62px 0 55px; }.ga-footer-name { color: #f3e5c6; font: 600 42px/1 var(--ga-title); }.ga-footer-name span { color: #e9ba6d; }.ga-footer-brand p { color: #bdccc6; max-width: 34ch; }.ga-footer h2 { color: #e3b66f; font: 600 11px var(--ga-code); letter-spacing: .13em; text-transform: uppercase; margin-bottom: 18px; }.ga-footer a { color: #dce3d9 !important; display: block; margin: 10px 0; }.ga-footer a:hover { color: #f0c677 !important; }.ga-footer-bottom { color: #97ada9; display: flex; justify-content: space-between; border-top: 1px solid #2c4b53; padding: 20px 0 25px; font: 11px var(--ga-code); }

@media (max-width: 1040px) {
  .ga-homehero-grid { grid-template-columns: 1fr .87fr; gap: 28px; }.ga-homehero h1 { font-size: 65px; }.ga-chart { min-height: 410px; }.ga-manifest-grid { grid-template-columns: 1fr 1fr; }.ga-manifest-main { grid-column: 1 / -1; min-height: 260px !important; }.ga-dashboard-layout { grid-template-columns: 255px 1fr; }.ga-deck-pair { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .ga-signal .ga-shell span:last-child { display: none; }.ga-masthead-inner { min-height: 95px; }.ga-mast-note, .ga-welcome { display: none; }.ga-homehero-grid, .ga-how-grid, .ga-promise-grid { grid-template-columns: 1fr; }.ga-homehero h1 { max-width: 14ch; }.ga-chart { height: 520px; max-width: 620px; width: 100%; margin: 0 auto; }.ga-section { padding-top: 70px; padding-bottom: 75px; }.ga-dashboard-layout { grid-template-columns: 1fr; }.ga-captain-card { min-height: 0; }.ga-captain-overline { margin-top: 32px; }.ga-footer-grid { gap: 30px; }
}
@media (max-width: 600px) {
  .ga-shell { padding-left: 18px; padding-right: 18px; }.ga-masthead-inner { min-height: 86px; gap: 8px; }.ga-brand img { width: 170px; }.ga-masthead-actions { gap: 8px; }.ga-mast-link { display: none; }.ga-site .ga-mast-cta { padding: 11px 10px; font-size: 9px; gap: 5px; }.lfm_menu_bar .navbar { padding: 0 10px; }.lfm_menu_bar .navbar-toggler { color: #f1e5c9 !important; }.lfm_menu_bar ul.lfm_menu_tab { background: transparent; }
  .ga-homehero-grid { padding-top: 44px; padding-bottom: 50px; }.ga-homehero h1 { font-size: clamp(50px,12vw,70px); margin-top: 22px; }.ga-homehero-lede { font-size: 17px; }.ga-homehero-actions { gap: 20px; margin-bottom: 27px; }.ga-site .ga-button { width: 100%; }.ga-homehero-fine { gap: 8px; }.ga-chart { height: 390px; min-height: 0; }.ga-chart-top, .ga-chart-bottom { left: 22px; right: 22px; font-size: 8px; }.ga-broadsheet .ga-shell { flex-wrap: wrap; justify-content: center; font-size: 9px; }.ga-broadsheet span:nth-child(6) { display: none; }
  .ga-section h2, .ga-final h2 { font-size: 53px; }.ga-step { gap: 12px; grid-template-columns: 30px 1fr 15px; }.ga-step h3 { font-size: 29px; }.ga-manifest-heading { display: block; }.ga-manifest-grid { grid-template-columns: 1fr; }.ga-manifest-main { grid-column: auto; }.ga-manifest-grid article { min-height: 260px; }.ga-promise-mark { width: 195px; font-size: 66px; }.ga-promise-mark span { bottom: 22px; }.ga-final-grid { display: block; padding-top: 55px; padding-bottom: 55px; }.ga-final .ga-button { margin-top: 26px; }
  .ga-dashboard-heading { display: block; }.ga-dashboard-heading .ga-button { margin-top: 22px; }.ga-deck-stats { grid-template-columns: 1fr 1fr; }.ga-deck-stats > div:first-child { grid-column: 1 / -1; }.ga-fleet-rows > div { grid-template-columns: 1fr auto; }.ga-fleet-rows a { grid-column: 2; }.ga-destination-grid { grid-template-columns: 1fr 1fr; }.ga-footer-grid { grid-template-columns: 1fr 1fr; }.ga-footer-brand { grid-column: 1 / -1; }.ga-footer-bottom { display: block; }.ga-footer-bottom span { display: block; margin: 4px 0; }
}
@media (max-width: 390px) { .ga-brand img { width: 145px; }.ga-site .ga-mast-cta { font-size: 8px; }.ga-chart { height: 330px; }.ga-destination-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Vendor signup/login forms are tables. Put the actual form in a ship's paper card. */
.sg-page-signup #main-content, .sg-page-login #main-content, .sg-page-lostpass #main-content { padding-top: 50px !important; padding-bottom: 75px !important; }
.sg-page-signup #main-content form[name="loginfrm"], .sg-page-login #main-content form[name="loginfrm"] {
  width: min(100%, 750px); margin: 0 auto !important; padding: 34px 46px 42px !important;
  background: #fcf8ed; border: 1px solid #bba77d; box-shadow: 7px 8px 0 #d6c6a4;
}
.sg-page-signup #main-content form[name="loginfrm"]::before, .sg-page-login #main-content form[name="loginfrm"]::before {
  content: 'SURFGALLEON   /   SHIP’S PAPERS'; display: block; color: #976e36;
  border-bottom: 1px solid #c8b993; padding-bottom: 15px; margin-bottom: 15px;
  font: 600 10px var(--ga-code); letter-spacing: .14em;
}
.sg-page-signup #main-content form[name="loginfrm"] > table,
.sg-page-login #main-content form[name="loginfrm"] > table { width: 100% !important; border: 0 !important; background: transparent; }
.sg-page-signup #main-content form[name="loginfrm"] > table tr:first-child:has(td:only-child) { display: none; }
.sg-page-signup #main-content tr.membertdbold td,
.sg-page-login #main-content form[name="loginfrm"] > table tr:first-child td {
  padding: 2px 0 24px !important; color: var(--ga-ink) !important; background: transparent !important;
  font: 600 46px/1 var(--ga-title); text-align: left !important; border: 0 !important;
}
.sg-page-signup #main-content form[name="loginfrm"] td,
.sg-page-login #main-content form[name="loginfrm"] td { border: 0 !important; background: transparent !important; padding: 9px 8px !important; vertical-align: middle; }
.sg-page-signup #main-content form[name="loginfrm"] td:first-child,
.sg-page-login #main-content form[name="loginfrm"] td:first-child { width: 38%; }
.sg-page-signup #main-content .formlabelbold,
.sg-page-login #main-content form[name="loginfrm"] strong { color: #3d5d62; font: 600 11px var(--ga-code); letter-spacing: .08em; text-transform: uppercase; }
.sg-page-signup #main-content form[name="loginfrm"] input:not([type=checkbox]):not([type=submit]),
.sg-page-signup #main-content form[name="loginfrm"] select,
.sg-page-login #main-content form[name="loginfrm"] input:not([type=submit]) { width: 100%; max-width: 100%; min-height: 44px; }
.sg-page-signup #main-content form[name="loginfrm"] input[name="captcha"] { width: 90px !important; display: inline-block; }
.sg-page-signup #main-content form[name="loginfrm"] input[type=submit],
.sg-page-login #main-content form[name="loginfrm"] input[type=submit] { min-width: 200px; padding: 13px 24px; }
.sg-page-login #main-content > table { max-width: 860px; margin: 0 auto; }
.sg-page-login #main-content form[name="loginfrm"] { max-width: 580px; }
.sg-page-login #main-content form[name="loginfrm"] > table tr:first-child td { font-size: 43px; }
.sg-page-login #main-content { padding-top: 24px !important; }
.sg-page-login #main-content > table > tbody > tr > td > br,
.sg-page-login #main-content > table > tbody > tr > td > p:empty { display: none; }
.sg-page-login #main-content form[name="loginfrm"] > table tr:first-child { background: transparent !important; }
.sg-page-login #main-content form[name="loginfrm"] > table tr:first-child td strong {
  color: var(--ga-ink); font: 600 43px/1 var(--ga-title); letter-spacing: -.025em; text-transform: none;
}
.ga-site .sg-doc { counter-reset: ga-question; }
.ga-site details.sg-faq { background: #fcf8ed; border: 1px solid #c7b894; border-radius: 0; margin-bottom: 8px; }
.ga-site details.sg-faq > summary { color: var(--ga-ink); padding: 18px 48px 18px 62px; font: 600 26px/1.15 var(--ga-title); }
.ga-site details.sg-faq > summary::before { counter-increment: ga-question; content: counter(ga-question, decimal-leading-zero); position: absolute; left: 17px; top: 22px; color: #a37436; font: 600 11px var(--ga-code); }
.ga-site details.sg-faq > summary::after { color: #a37436; }
.ga-site details.sg-faq[open] > summary { color: var(--ga-ink); border-bottom: 1px solid #c7b894; background: #f2e7cd; }
.ga-site details.sg-faq > summary:hover { color: #805621; background: #f3ead6; }
.ga-site details.sg-faq .sg-faq-a { padding: 20px 26px 8px 62px; }
.ga-site details.sg-faq .sg-faq-a p { color: #465b5d; font-size: 17px; }
.ga-site details.sg-faq .sg-faq-a strong { color: var(--ga-ink); }
.ga-site .sg-doc-cta { background: #103441; border: 3px double #b88c49; border-radius: 0; padding: 36px 28px; }
.ga-site .sg-doc-cta h3 { color: #f2e4c7; font: 600 39px/1 var(--ga-title); }
.ga-site .sg-doc-cta p { color: #cedbd2; }
@media (max-width: 600px) {
  .sg-page-signup #main-content form[name="loginfrm"], .sg-page-login #main-content form[name="loginfrm"] { padding: 25px 18px !important; }
  .sg-page-signup #main-content form[name="loginfrm"] td:first-child, .sg-page-login #main-content form[name="loginfrm"] td:first-child { width: 40%; }
  .sg-page-signup #main-content tr.membertdbold td, .sg-page-login #main-content form[name="loginfrm"] > table tr:first-child td { font-size: 34px; }
}
