
/* Fred Shamon: polished navy themes, with a small teal and warm-gold accent. */
:root, html[data-theme="dark"] {
  color-scheme:dark;
  --canvas:#0b1523; --surface:#101f31; --surface-alt:#14283e;
  --surface-raised:#192f47; --sky-panel:#172d44;
  --text:#edf4fb; --subtext:#c0cfe0; --muted-text:#9eb1c5;
  --border-theme:#2b4059; --accent:#8cbaff; --accent-strong:#5da8ff;
  --teal:#55c9bc; --gold:#f0c376;
  --navy:#0c1a2d; --navy-deep:#081422; --ink:#edf4fb; --paper:#0b1523; --white:#101f31;
  --line:#2b4059; --lightblue:#172d44; --blue:#5da8ff; --blue-bright:#8cbaff; --muted:#9eb1c5;
}
html[data-theme="light"] {
  color-scheme:light;
  --canvas:#f4f6f7; --surface:#ffffff; --surface-alt:#e9f0f8;
  --surface-raised:#fff; --sky-panel:#e2efff;
  --text:#172433; --subtext:#4d5d6c; --muted-text:#687682;
  --border-theme:#cbd8e5; --accent:#245ca8; --accent-strong:#245ca8;
  --teal:#167a76; --gold:#b17a20;
  --navy:#10243d; --navy-deep:#0a192b; --ink:#172433; --paper:#f4f6f7;
  --white:#fff; --line:#d5dce3; --lightblue:#e2efff; --blue:#377ce1; --blue-bright:#80b4ff; --muted:#687682;
}
html{scroll-padding-top:20px}
body{background:var(--canvas);color:var(--text);transition:background-color .2s,color .2s}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
/* A subtle accent system: blue for identity, teal for links, gold for one human detail. */
.brand-dot{background:var(--teal)}
.brand-period{color:var(--accent)}
.site-header{background:#081422}
.site-footer{background:#081422}
.highlight-word:after{background:var(--teal)}
.hero-refined .photo-caption{background:#a8cbfa}
.hero-social .icon-social a:hover,.hero-social .icon-social a:focus-visible{border-color:var(--teal);background:#213c50}
.interest-item:nth-child(2) .interest-symbol,.interest-item:nth-child(5) .interest-symbol{color:var(--teal)}
.interest-item:nth-child(4) .interest-symbol{color:var(--gold)}
.credential-nasdaq{position:relative}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;color:#e7f3ff;background:transparent;border:1px solid #415772;border-radius:999px;min-height:41px;padding:7px 11px;margin-left:2px;font:700 12px 'Barlow',Arial,sans-serif;white-space:nowrap;transition:background .2s,border-color .2s}
.theme-toggle:hover{border-color:#8bbcff;background:#142b43}
.theme-toggle svg{width:17px;height:17px}
.theme-toggle .icon-moon{display:none}.theme-toggle .icon-sun{display:flex}
html[data-theme="light"] .theme-toggle .icon-sun{display:none}
html[data-theme="light"] .theme-toggle .icon-moon{display:flex}
/* Preserve the existing light version as closely as possible. */
html[data-theme="light"] body{background:#f4f6f7;color:#172433}
/* Dark theme: all the inner pages and not just the hero. */
html[data-theme="dark"] .credentials-section{background:#14283d;border-color:#2b4059}
html[data-theme="dark"] .credential{border-color:#2b4059}
html[data-theme="dark"] .credential:hover{background:rgba(140,186,255,.07)}
html[data-theme="dark"] .credential strong{color:var(--text)}
html[data-theme="dark"] .credential-small{color:var(--muted-text)}
html[data-theme="dark"] .credential-go{color:#84c9c6}
html[data-theme="dark"] .nasdaq-fallback{color:#80bfff}
html[data-theme="dark"] .nasdaq-asset{background:#e6f0fd;border-radius:6px;padding:8px}
html[data-theme="dark"] .interest-section{background:#0b1523}
html[data-theme="dark"] .interest-heading .kicker{color:#7ec1c8}
html[data-theme="dark"] .interests-grid{border-top-color:#7fb3f0;border-bottom-color:#2b4059}
html[data-theme="dark"] .interest-item{border-color:#2b4059}
html[data-theme="dark"] .interest-item p{color:var(--subtext)}
html[data-theme="dark"] .interest-symbol{color:#89baff}
html[data-theme="dark"] .explore-section{background:#13273d}
html[data-theme="dark"] .explore-links a{border-color:#36516c}
html[data-theme="dark"] .explore-links span{color:var(--teal)}
html[data-theme="dark"] .kicker,html[data-theme="dark"] .kicker-blue{color:#89baff}
html[data-theme="dark"] .page-top{background:#14283f;border-color:#2c4660}
html[data-theme="dark"] .page-top h1,html[data-theme="dark"] .page-top h1 em{color:var(--text)}
html[data-theme="dark"] .page-top h1 em{color:#8bbcff}
html[data-theme="dark"] .page-lead{color:#c7d6e6}
html[data-theme="dark"] .aside-portrait{background:#192f47}
html[data-theme="dark"] .content-section{background:#0b1523}
html[data-theme="dark"] .content-section.work-detail-section{background:#0b1523}
html[data-theme="dark"] .readable p,html[data-theme="dark"] .intro-prose p,html[data-theme="dark"] .intro-prose p+p{color:#c4d2e1}
html[data-theme="dark"] .about-end{border-color:#2b4059}
html[data-theme="dark"] .experience-item p,html[data-theme="dark"] .experience-item p+p{color:#c4d2e1}
html[data-theme="dark"] .experience-item .caps-label{color:#8bbcff}
html[data-theme="dark"] .foot-note p{color:#9eb1c5}
html[data-theme="dark"] .ledger-item:hover{color:#84c9c6}
html[data-theme="dark"] .ledger-item>span:first-child{color:#8bbcff}
html[data-theme="dark"] .portfolio-future{background:#13283e}
html[data-theme="dark"] .future-grid article{background:#1a3048;border-color:#36516c}
html[data-theme="dark"] .future-grid p{color:#c4d2e1}
html[data-theme="dark"] .future-grid article>span,html[data-theme="dark"] .portfolio-note{color:#abc0d6}
html[data-theme="dark"] .future-icon{color:var(--teal)}
html[data-theme="dark"] .story-row p{color:#b4c5d7}
html[data-theme="dark"] .story-type{color:#8bbcff}
html[data-theme="dark"] .story-link{color:#75cfcb}
html[data-theme="dark"] .social-handle{color:#c0cfe0}
html[data-theme="dark"] .social-go{color:var(--teal)}
html[data-theme="dark"] .social-row:hover{background:#162b42}
html[data-theme="dark"] .contact-card input,html[data-theme="dark"] .contact-card textarea{background:#14283e;border-color:#45617a;color:#edf4fb}
html[data-theme="dark"] .contact-card input::placeholder,html[data-theme="dark"] .contact-card textarea::placeholder{color:#a4b7cb}
html[data-theme="dark"] .tiny-note{color:#9eb1c5}
html[data-theme="dark"] .work-spotlight,html[data-theme="dark"] .public-portfolio{background:#101f31}
html[data-theme="dark"] .work-card p{color:#c0cfe0}
html[data-theme="dark"] .heading-sub,html[data-theme="dark"] .portfolio-row p:not(.kicker){color:#c0cfe0}
html[data-theme="dark"] .takes-section{background:#0c1828}
html[data-theme="dark"] .take-small{background:#14283e;border-color:#2b4059}
html[data-theme="dark"] .take-small .caps-label{color:#8bbcff}
html[data-theme="dark"] .take-small .arrow-inline{color:#75cfcb}
html[data-theme="dark"] .life-section{background:#13283e}
html[data-theme="dark"] .life-grid p+p{color:#c0cfe0}
html[data-theme="dark"] .portfolio-side-row span{color:#a9c0d8}
html[data-theme="dark"] .take-feature{background:#1e3b5d}
html[data-theme="dark"] .proof-bar{background:#14283e;border-color:#36516c}
html[data-theme="dark"] .proof-grid>*{border-color:#36516c}
html[data-theme="dark"] .proof-grid .proof-label{color:#a5c3e4}
html[data-theme="dark"] .proof-detail,html[data-theme="dark"] .proof-side>span:last-child{color:#a6bed6}
html[data-theme="dark"] .proof-value span{color:#83c8c5}
html[data-theme="dark"] .btn-navy{background:#80b6f7;color:#0b1d32}
html[data-theme="dark"] .btn-navy:hover{background:#c9e1ff}
html[data-theme="dark"] .footer-main p{color:#afc0d2}
html[data-theme="dark"] .foot-bottom{color:#a2b4c6}
html[data-theme="dark"] .footer-navigation a{color:#e2ecf7}
/* On mobile, navigation moves to the bottom, leaving a simple top masthead and theme toggle. */
.bottom-nav,.bottom-more-panel,.bottom-more-backdrop{display:none}
[hidden]{display:none!important}
@media(max-width:1100px){.theme-toggle{padding:7px 10px}.theme-toggle-text{display:none}}
@media(max-width:850px){
  .site-header{position:relative}
  .header-grid{justify-content:space-between}
  .menu-button,.mobile-nav,.mobile-nav.open{display:none!important}
  .theme-toggle{margin-left:auto;display:inline-flex;padding:10px;border-radius:50%;height:42px;width:42px}
  .theme-toggle svg{width:20px;height:20px}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:110;background:#0b1b2c;box-shadow:0 -7px 28px rgba(0,0,0,.17);border-top:1px solid #3b516c;padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));min-height:70px}
  html[data-theme="light"] .bottom-nav{background:#ffffff;border-top-color:#c9d6e4;box-shadow:0 -7px 28px rgba(10,35,60,.10)}
  .bottom-nav-link{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;padding:5px 0;border:0;background:transparent;color:#adbfd5;font:700 11px 'Barlow',Arial,sans-serif;letter-spacing:0}
  html[data-theme="light"] .bottom-nav-link{color:#62758c}
  .bottom-nav-link span{line-height:1.2;white-space:nowrap}
  .bottom-nav-link svg{height:22px;width:22px;stroke-width:1.9}
  .bottom-nav-link:hover,.bottom-nav-link:focus-visible,.bottom-nav-link.is-current,.bottom-nav-link[aria-expanded="true"]{color:#8fc6ff}
  html[data-theme="light"] .bottom-nav-link:hover,html[data-theme="light"] .bottom-nav-link:focus-visible,html[data-theme="light"] .bottom-nav-link.is-current,html[data-theme="light"] .bottom-nav-link[aria-expanded="true"]{color:#215998}
  .bottom-nav-link.is-current svg{filter:drop-shadow(0 0 5px rgba(111,193,255,.22))}
  body{padding-bottom:calc(75px + env(safe-area-inset-bottom))}
  .bottom-more-backdrop:not([hidden]){display:block;position:fixed;inset:0 0 calc(72px + env(safe-area-inset-bottom));z-index:108;background:rgba(2,10,19,.5)}
  .bottom-more-panel:not([hidden]){display:flex;position:fixed;z-index:109;bottom:calc(78px + env(safe-area-inset-bottom));left:12px;right:12px;flex-direction:column;padding:18px 18px 10px;border-radius:18px;background:#14283f;border:1px solid #47627b;box-shadow:0 18px 58px rgba(0,0,0,.33);color:#f4f8ff;max-width:540px;margin-inline:auto}
  html[data-theme="light"] .bottom-more-panel:not([hidden]){background:#ffffff;border-color:#c2d1e2;color:#15293d}
  .bottom-more-title{display:flex;align-items:center;justify-content:space-between;font:800 19px 'Barlow',Arial,sans-serif;padding:0 6px 10px}
  .bottom-more-close{border:0;background:transparent;color:inherit;font-size:28px;line-height:1;padding:0 5px}
  .bottom-more-panel>a{padding:15px 7px;border-top:1px solid #3c546d;display:flex;align-items:center;justify-content:space-between;font:700 17px 'Barlow',Arial,sans-serif}
  html[data-theme="light"] .bottom-more-panel>a{border-color:#d2dee9}
  .bottom-more-panel>a span{color:#75c7cf}
  .site-footer{padding-bottom:28px}
}
@media(max-width:365px){.bottom-nav-link{font-size:10px}.bottom-nav-link svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){body{transition:none}}

/* Headerless masthead. The wordmark and theme control sit directly on each page,
   without a top bar, border, or separate navigation header. */
main{position:relative}
.site-masthead{position:absolute;top:0;left:0;right:0;z-index:45;pointer-events:none;color:#f3f8ff}
.masthead-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-masthead .brand,.site-masthead .theme-toggle{pointer-events:auto}
.site-masthead .brand{font-size:inherit}
.site-masthead .brand:hover .brand-name{color:#b8d7ff}
.site-masthead .theme-toggle{margin-left:auto}
.site-masthead .brand-icon{background:rgba(10,27,47,.22)}
/* Home hero stays navy, even with the light theme on. Inner pages switch with theme. */
html[data-theme="light"] .inner-route .site-masthead{color:#152942}
html[data-theme="light"] .inner-route .site-masthead .brand-icon{border-color:#326da8;background:rgba(255,255,255,.48)}
html[data-theme="light"] .inner-route .site-masthead .brand:hover .brand-name{color:#245ca8}
html[data-theme="light"] .inner-route .site-masthead .theme-toggle{color:#173757;border-color:#8aa5c0;background:rgba(255,255,255,.44)}
html[data-theme="light"] .inner-route .site-masthead .theme-toggle:hover{background:#fff}
.hero-refined{padding-top:102px}
.page-top{padding-top:163px}
/* With the top nav removed, the existing bottom navigation also serves desktop.
   It becomes a small floating dock on larger screens. */
@media(min-width:851px){
 .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:17px;left:50%;right:auto;transform:translateX(-50%);width:min(520px,calc(100% - 40px));z-index:110;background:#0b1b2c;border:1px solid #395673;border-radius:21px;box-shadow:0 9px 35px rgba(0,0,0,.38);padding:7px 12px;min-height:64px}
 html[data-theme="light"] .bottom-nav{background:#fff;border-color:#bfcede;box-shadow:0 9px 32px rgba(13,32,50,.15)}
 .bottom-nav-link{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:53px;padding:4px 1px;border:0;border-radius:12px;background:transparent;color:#b4c6db;font:700 11px 'Barlow',Arial,sans-serif}
 .bottom-nav-link svg{height:20px;width:20px;stroke-width:1.9}
 .bottom-nav-link span{line-height:1.2}
 html[data-theme="light"] .bottom-nav-link{color:#5a6f83}
 .bottom-nav-link:hover,.bottom-nav-link:focus-visible,.bottom-nav-link.is-current,.bottom-nav-link[aria-expanded="true"]{color:#9bceff;background:#1c3853}
 html[data-theme="light"] .bottom-nav-link:hover,html[data-theme="light"] .bottom-nav-link:focus-visible,html[data-theme="light"] .bottom-nav-link.is-current,html[data-theme="light"] .bottom-nav-link[aria-expanded="true"]{color:#1c5d9c;background:#e6f1ff}
 body{padding-bottom:104px}
 .bottom-more-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:108;background:rgba(2,10,19,.37)}
 .bottom-more-panel:not([hidden]){display:flex;position:fixed;z-index:109;bottom:98px;left:50%;right:auto;transform:translateX(-50%);width:480px;max-width:calc(100% - 42px);flex-direction:column;padding:18px 18px 10px;border-radius:18px;background:#14283f;border:1px solid #47627b;box-shadow:0 18px 58px rgba(0,0,0,.33);color:#f4f8ff}
 html[data-theme="light"] .bottom-more-panel:not([hidden]){background:#fff;border-color:#becbd9;color:#18314c}
 .bottom-more-title{display:flex;align-items:center;justify-content:space-between;font:800 19px 'Barlow',Arial,sans-serif;padding-bottom:10px;border-bottom:1px solid #47627b}
 .bottom-more-close{font-size:28px;color:inherit;border:0;background:none;line-height:1.2;padding:0 3px}
 .bottom-more-panel>a{display:flex;justify-content:space-between;align-items:center;font:700 16px 'Barlow',sans-serif;padding:14px 0;border-bottom:1px solid #38536d}
 html[data-theme="light"] .bottom-more-title,html[data-theme="light"] .bottom-more-panel>a{border-color:#d5e0ed}
 .bottom-more-panel>a:last-child{border:0}
 .bottom-more-panel>a span{color:#7ec1c8}
}
@media(max-width:850px){
 .masthead-inner{min-height:74px}
 .site-masthead .theme-toggle{margin-left:auto}
 .hero-refined{padding-top:78px}
 .page-top{padding-top:125px}
}
@media(max-width:560px){
 .masthead-inner{min-height:72px}
 .hero-refined{padding-top:68px}
 .page-top{padding-top:118px}
}

/* Mobile-only correction: remove the entire upper masthead, not just its background.
   The FS monogram is retained inside the bottom Home tab. */
.bottom-brand-monogram{display:none}
.appearance-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0 8px;border-top:1px solid #38536d;margin-top:4px}
.appearance-label{font:600 13px 'Barlow',Arial,sans-serif;color:#bfcee0}
.appearance-toggle{display:inline-flex;align-items:center;gap:8px;color:#e6f3ff;border:1px solid #526b85;background:#203d59;padding:10px 12px;border-radius:10px;font:700 13px 'Barlow',Arial,sans-serif;min-height:42px}
.appearance-toggle svg{height:17px;width:17px}
.appearance-toggle .appearance-moon{display:none}
html[data-theme="light"] .appearance-toggle .appearance-sun{display:none}
html[data-theme="light"] .appearance-toggle .appearance-moon{display:block}
html[data-theme="light"] .appearance-row{border-top-color:#d5e0ed}
html[data-theme="light"] .appearance-label{color:#455d77}
html[data-theme="light"] .appearance-toggle{background:#e5f0fe;border-color:#abc4df;color:#1a497d}
@media(max-width:850px){
  .site-masthead{display:none!important}
  .hero-refined{padding-top:20px}
  .page-top{padding-top:72px}
  .bottom-nav-link[data-route="/"] svg{display:none}
  .bottom-nav-link[data-route="/"] .bottom-brand-monogram{display:grid;place-items:center;width:25px;height:25px;border:1.6px solid currentColor;border-radius:5px;font:800 11px 'Barlow',Arial,sans-serif;letter-spacing:-.06em;line-height:1}
}
@media(max-width:560px){
  .hero-refined{padding-top:15px}
  .page-top{padding-top:61px}
}


/* 2026-11-07: compact About hero with a correctly constrained portrait. */
@media (min-width:851px){
  .about-refresh.page-top { padding-top:148px; padding-bottom:66px; }
  .about-refresh .page-top-grid { grid-template-columns:minmax(0,1fr) minmax(290px,360px); gap:clamp(42px,6.3vw,108px); align-items:center; }
  .about-refresh .page-top-grid > div:first-child { min-width:0; }
  .about-refresh .aside-portrait { width:100%; max-width:360px; align-self:center; margin:0; overflow:hidden; }
  .about-refresh .aside-portrait img { display:block; width:100%; height:390px; max-width:none; aspect-ratio:auto; object-fit:cover; object-position:center 25%; }
  .about-refresh .page-top h1 { font-size:clamp(58px,5.6vw,86px); margin-bottom:23px; }
  .about-refresh .page-lead { max-width:630px; font-size:clamp(19px,1.7vw,22px); line-height:1.55; }
}
@media (min-width:851px) and (max-width:1150px){
  .about-refresh .page-top-grid { grid-template-columns:minmax(0,1fr) 290px; gap:45px; }
  .about-refresh .aside-portrait img { height:340px; }
}

/* Recognition strip: don't overlay fallback text on top of the Nasdaq logo. */
.credentials-section .nasdaq-asset { width:154px; min-width:154px; height:66px; max-height:none; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.credentials-section .nasdaq-asset img { display:block; width:100%; height:auto; max-height:54px; object-fit:contain; }
.credentials-section .nasdaq-asset .nasdaq-fallback { display:none; position:static; transform:none; font:800 30px 'Barlow',Arial,sans-serif; white-space:nowrap; }
.credentials-section .nasdaq-asset.show-fallback img { display:none; }
.credentials-section .nasdaq-asset.show-fallback .nasdaq-fallback { display:block; }
@media(max-width:1100px){
  .credentials-section .nasdaq-asset { width:132px; min-width:132px; }
}
@media(max-width:560px){
  .credentials-section .nasdaq-asset { width:125px; min-width:125px; }
}

/* Quiet portfolio holding page. No placeholder service categories or fictitious projects. */
.portfolio-coming { min-height: min(65vh,620px); display:flex; align-items:center; padding:148px 0 110px; background:var(--surface-alt); }
.portfolio-coming .container { width:min(1250px,calc(100% - 88px)); }
.portfolio-coming-copy { max-width:690px; }
.portfolio-coming .kicker { margin-bottom:19px; }
.portfolio-coming h1 { font:800 clamp(60px,7vw,108px)/.98 'Barlow',Arial,sans-serif; letter-spacing:-.055em; color:var(--text); margin-bottom:22px; }
.portfolio-coming p:not(.kicker) { color:var(--subtext); font-size:clamp(18px,1.7vw,21px); line-height:1.55; max-width:580px; margin-bottom:0; }
.portfolio-coming .quiet-accent { height:4px; width:72px; background:var(--accent-strong); margin-bottom:34px; border-radius:2px; }
@media(max-width:850px){.portfolio-coming{min-height:70vh;padding:60px 0 100px}.portfolio-coming .container{width:calc(100% - 40px)}}
@media(max-width:560px){.portfolio-coming h1{font-size:clamp(53px,14vw,80px)}}
