/* Fine Line — unified navigation component (2026-07). One header for every page.
   Structure: <input.flnav-cb> + <header.flnav> + <div.flnav-sheet> as siblings. */

.flnav-cb{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

.flnav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 clamp(20px,4vw,56px);background:rgba(241,237,228,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.08)}
.flnav-fixed{position:fixed;left:0;right:0}
.flnav-clear{background:rgba(241,237,228,0);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:rgba(0,0,0,0)}

.flnav-logo{display:flex;align-items:center;flex:none}
.flnav-logo img{height:38px;display:block}

.flnav-links{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#6E6A60;white-space:nowrap}
.flnav-links>a,.flnav-worktrig{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;color:inherit;text-decoration:none;transition:color .18s ease}
.flnav-links>a:hover,.flnav-worktrig:hover{color:#FCB12B}
.flnav-links>a[aria-current="page"],.flnav-work[data-current="1"] .flnav-worktrig{color:#1A1917}
.flnav-links>a[aria-current="page"]::after,.flnav-work[data-current="1"] .flnav-worktrig::after{content:'';position:absolute;left:0;right:0;bottom:9px;height:2px;background:#FCB12B}
.flnav-caret{font-size:7px;line-height:1;opacity:.7}



/* ---- WORK dropdown panel ---- */
.flnav-work{position:relative;display:inline-flex}
.flnav-worktrig{background:none;border:0;padding:0;margin:0;font:inherit;letter-spacing:inherit;cursor:pointer}
.flnav-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:12px;z-index:130}
@media (hover:hover) and (pointer:fine){.flnav-work:hover .flnav-menu{display:block}}
.flnav-work[data-open="1"] .flnav-menu{display:block}
.flnav-menu-in{width:480px;max-width:calc(100vw - 24px);max-height:calc(100vh - 96px);overflow:auto;background:rgba(241,237,228,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(26,25,23,.14);box-shadow:0 18px 42px rgba(0,0,0,.14);padding:14px}
.flnav-all{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px 13px;margin-bottom:8px;border-bottom:1px solid rgba(26,25,23,.16);font:500 11px/1.4 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#1A1917;text-decoration:none;transition:color .18s ease}
.flnav-all:hover{color:#FCB12B}
.flnav-cats{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.flnav-cats a{display:flex;align-items:center;min-height:40px;padding:0 12px;font:500 11px/1.4 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#1A1917;text-decoration:none;transition:color .15s ease,background .15s ease}
.flnav-cats a:hover{color:#FCB12B;background:rgba(26,25,23,.04)}
.flnav-cats a[aria-current="page"]{color:#FCB12B;box-shadow:inset 2px 0 0 #FCB12B}

/* ---- hamburger ---- */
.flnav-burger{display:none;position:relative;width:44px;height:44px;flex:none;cursor:pointer;align-items:center;justify-content:center;flex-direction:column}
.flnav-burger span{display:block;width:20px;height:2px;background:#1A1917;margin:2.5px 0;transition:transform .2s ease,opacity .2s ease}
.flnav-burger:focus-visible{outline:2px solid #1A1917;outline-offset:2px}
.flnav-cb:checked~.flnav .flnav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.flnav-cb:checked~.flnav .flnav-burger span:nth-child(2){opacity:0}
.flnav-cb:checked~.flnav .flnav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- mobile sheet ---- */
.flnav-sheet{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;z-index:99;background:#F1EDE4;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px clamp(20px,5vw,32px) max(28px,env(safe-area-inset-bottom))}
.flnav-cb:checked~.flnav-sheet{display:block}
.flnav-sheet nav>a,.flnav-acc summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid rgba(26,25,23,.1);font:600 13px/1.4 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#1A1917;text-decoration:none}
.flnav-sheet nav>a[aria-current="page"]{box-shadow:inset 3px 0 0 #FCB12B;padding-left:12px}
.flnav-acc summary{cursor:pointer;list-style:none}
.flnav-acc summary::-webkit-details-marker{display:none}
.flnav-acc summary::after{content:'+';font:400 20px/1 'IBM Plex Mono',monospace;color:#6E6A60}
.flnav-acc[open] summary::after{content:'\2013'}
.flnav-accin{padding:4px 0 8px}
.flnav-accin a{display:flex;align-items:center;min-height:48px;padding-left:16px;font:500 12px/1.4 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#57534A;text-decoration:none;border-bottom:1px solid rgba(26,25,23,.05)}
.flnav-accin a[aria-current="page"]{color:#1A1917;box-shadow:inset 3px 0 0 #FCB12B}
.flnav-accall{color:#1A1917 !important;font-weight:600 !important}
.flnav-sheetcta{margin-top:14px;border:1px solid rgba(26,25,23,.35);justify-content:center !important;background:#1A1917;color:#F1EDE4 !important}

@media (max-width:940px){.flnav-links{display:none}.flnav-burger{display:flex}}
@media (min-width:941px){.flnav-sheet{display:none !important}}
body:has(.flnav-cb:checked){overflow:hidden}

@media (prefers-reduced-motion:reduce){
.flnav-links>a,.flnav-worktrig,.flnav-cta,.flnav-all,.flnav-cats a,.flnav-burger span{transition:none}
}

/* ---- unified pointer / text polish (site-wide) ---- */
::selection{background:#FCB12B;color:#1A1917}
input,textarea{caret-color:#FCB12B}
input[type="text"],input[type="email"],input[type="tel"],textarea{cursor:text}
a,button,summary,select,label[for],[role="button"]{cursor:pointer}
[disabled],[aria-disabled="true"]{cursor:not-allowed}
textarea{resize:vertical}

/* sheet-open header: solid cream, and page overlays (homepage amber viewframe,
   custom scrollbar) must not bleed through */
.flnav-cb:checked~.flnav{background:#F1EDE4 !important;border-bottom-color:rgba(0,0,0,.08) !important}
body:has(.flnav-cb:checked) [data-viewframe],body.flnav-open [data-viewframe],
body:has(.flnav-cb:checked) [data-flsb],body.flnav-open [data-flsb]{display:none !important}
