/* Lucent Life Media — site styles. Most layout lives inline in each page; this file holds base rules, responsive switches and interactive states. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#0D0D0C;color:#F2EFE8}
img,video{max-width:100%}
a{color:#F2EFE8}a:hover{color:#C9D8E3}
input,textarea,select,button{font:inherit}
[hidden]{display:none !important}
:focus-visible{outline:2px solid #C9D8E3;outline-offset:2px}

/* Hero video + poster fallback */
.hero-bg{background:#0D0D0C url(/assets/hero-poster.jpg) center/cover no-repeat}
@media (prefers-reduced-motion: reduce){.hero-video{display:none}html{scroll-behavior:auto}}

/* Header / mobile menu */
.nav-toggle{display:none}
.nav-mobile{display:flex}
.nav-mobile a{text-decoration:none}
@media (max-width:900px){
  .nav-links,.nav-cta{display:none !important}
  .nav-toggle{display:inline-flex !important}
}
@media (min-width:901px){.nav-mobile{display:none !important}}

/* Desktop / mobile switches */
.show-sm{display:none}
@media (max-width:760px){
  .hide-sm{display:none !important}
  .show-sm{display:block !important}
  section > div{padding-top:64px !important;padding-bottom:64px !important}
}

/* "What we fix" tabs */
.fix-tab{font-family:'IBM Plex Mono',monospace;font-size:14px;text-transform:uppercase;letter-spacing:.06em;padding:14px 20px;min-height:48px;cursor:pointer;border:1px solid #3A3A36;background:transparent;color:#F2EFE8;font-weight:400}
.fix-tab[aria-selected="true"]{border-color:#1F3FBF;background:#1F3FBF;color:#FFFFFF;font-weight:600}
.fix-panel{display:flex}
.acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:transparent;border:0;padding:20px 0;min-height:60px;cursor:pointer;text-align:left;font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase;color:#F2EFE8}
.acc-btn[aria-expanded="true"]{color:#C9D8E3}

/* Contact chips */
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{font-family:'IBM Plex Sans',sans-serif;font-size:15px;padding:12px 18px;min-height:44px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #3A3A36;background:#161614;color:#F2EFE8}
.chip span::before{content:"+"}
.chip input:checked + span{border-color:#1F3FBF;background:#1F3FBF;color:#FFFFFF}
.chip input:checked + span::before{content:"\2713"}
.chip input:focus-visible + span{outline:2px solid #C9D8E3;outline-offset:2px}

/* Forms */
input::placeholder,textarea::placeholder{color:#77736B}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.js-form button[type="submit"][disabled]{opacity:.6;cursor:wait}
summary{cursor:pointer}

/* ---- WordPress / Kadence overrides: keep the theme from restyling the pasted sections ---- */
.llm{margin:0 !important;max-width:none !important}
.llm h1,.llm h2,.llm h3{color:inherit;letter-spacing:normal}
.llm p{max-width:none}
.llm button,.llm input,.llm select,.llm textarea{border-radius:0;box-shadow:none;text-shadow:none}
.llm a{box-shadow:none}
.llm ul{margin-left:0}
.llm li{margin:0}
.entry-content:has(> .llm), .entry-content-wrap:has(.llm){padding:0 !important;margin:0 !important}

/* ---- Field Notes (blog): post list + single posts, styled to match the site ---- */
body.blog, body.archive, body.single-post, body.search{background:#0D0D0C;color:#CFCBC2;font-family:'IBM Plex Sans',system-ui,sans-serif}
body.blog .entry-title, body.archive .entry-title, body.single-post .entry-title,
body.single-post .single-content h2, body.single-post .single-content h3,
body.blog .page-title, body.archive .page-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:normal;color:#F2EFE8;line-height:1}
body.single-post .entry-title{font-size:clamp(44px,7vw,96px)}
body.blog .page-title, body.archive .page-title{font-size:clamp(56px,9vw,120px)}
body.blog .entry-title, body.archive .entry-title{font-size:clamp(26px,3vw,36px)}
body.single-post .single-content h2{font-size:clamp(32px,4vw,48px);margin:2em 0 .5em}
body.single-post .single-content h3{font-size:clamp(24px,3vw,32px);margin:1.6em 0 .4em}
.entry-meta, .entry-meta a, .posted-on, .entry-taxonomies a, .category-links a{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C9D8E3;text-decoration:none}
body.blog .loop-entry, body.archive .loop-entry{background:#161614;border:1px solid #2A2A27;border-radius:0;box-shadow:none}
body.blog .loop-entry .entry-title a, body.archive .loop-entry .entry-title a{color:#F2EFE8;text-decoration:none}
body.blog .loop-entry .entry-title a:hover, body.archive .loop-entry .entry-title a:hover{color:#C9D8E3}
.entry-summary, .entry-summary p{color:#CFCBC2}
.more-link-wrap a, a.post-more-link{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C9D8E3}
body.single-post .single-content{font-size:19px;line-height:1.7;color:#CFCBC2;max-width:720px;margin-left:auto;margin-right:auto}
body.single-post .single-content a{color:#F2EFE8;text-decoration:underline;text-decoration-color:#1F3FBF;text-underline-offset:3px}
body.single-post .single-content a:hover{color:#C9D8E3}
body.single-post .single-content blockquote{border-left:0;border-top:2px solid #C9D8E3;margin:2em 0;padding:20px 0 0;font-family:'Anton',sans-serif;font-size:clamp(26px,3vw,36px);line-height:1.1;text-transform:uppercase;color:#F2EFE8;font-style:normal}
body.single-post .single-content ul li::marker{color:#C9D8E3}
body.single-post .single-content img, body.single-post .single-content video{height:auto}
body.single-post .wp-block-embed, body.single-post .wp-block-video{margin:2em 0}
body.single-post .wp-block-embed__wrapper iframe{width:100%;height:auto;aspect-ratio:16/9}
body.single-post .single-content code{background:#161614;border:1px solid #2A2A27;padding:2px 6px;color:#F2EFE8}
.post-navigation a, .entry-related .entry-title a{color:#F2EFE8}
.entry-related{background:#121211}

/* ---- Kadence header + footer, matched to the design ---- */
#masthead, .site-header, .site-header-row-container-inner, #mobile-header .site-header-row-container-inner{background:#0D0D0C !important}
.site-main-header-wrap .site-header-row-container-inner{border-bottom:1px solid #2A2A27}
/* Two-tone logo (Header builder > HTML element) */
.llm-logo{font-family:'Anton',sans-serif !important;font-size:26px;letter-spacing:.02em;line-height:1;color:#F2EFE8 !important;text-decoration:none !important;text-transform:uppercase;white-space:nowrap}
.llm-logo span{color:#C9D8E3}
.llm-logo:hover{color:#F2EFE8 !important}
/* Fallback if the standard Logo element is still used */
.site-branding .site-title{font-family:'Anton',sans-serif !important;font-weight:400 !important;font-size:26px !important;letter-spacing:.02em;text-transform:uppercase;color:#F2EFE8 !important}
/* Desktop menu */
.header-navigation .menu > li > a, .main-navigation .menu > li > a{font-family:'IBM Plex Mono',monospace !important;font-size:13px !important;font-weight:400 !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:#F2EFE8 !important;padding-left:18px !important;padding-right:18px !important}
.header-navigation .menu > li > a:hover, .main-navigation .menu > li > a:hover{color:#C9D8E3 !important}
.header-navigation .menu > li.current-menu-item > a, .main-navigation .menu > li.current-menu-item > a,
.header-navigation .menu > li.current_page_parent > a, .main-navigation .menu > li.current_page_parent > a{color:#C9D8E3 !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
/* Header button */
.header-button-wrap .header-button, a.header-button{font-family:'IBM Plex Sans',sans-serif !important;font-size:15px !important;font-weight:600 !important;letter-spacing:0 !important;text-transform:none !important;padding:12px 20px !important;border-radius:0 !important;background:#1F3FBF !important;color:#FFFFFF !important;border:0 !important;box-shadow:none !important}
.header-button-wrap .header-button:hover, a.header-button:hover{background:#1A35A3 !important;color:#FFFFFF !important}
/* Mobile menu */
.menu-toggle-open{color:#F2EFE8 !important;border:1px solid #3A3A36 !important;border-radius:0 !important}
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner{background:#0D0D0C !important}
.mobile-navigation ul li > a, .mobile-navigation ul li .drawer-nav-drop-wrap > a{font-family:'Anton',sans-serif !important;font-size:28px !important;text-transform:uppercase;letter-spacing:0;color:#F2EFE8 !important;border-bottom:1px solid #2A2A27 !important;padding:14px 0 !important}
.mobile-navigation ul li.current-menu-item > a{color:#C9D8E3 !important}
/* Footer */
.site-footer, .site-footer-row-container-inner{background:#0D0D0C !important;border-top:1px solid #2A2A27}
.site-footer, .site-footer a{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#A8A49A !important;text-decoration:none}
.site-footer a:hover{color:#C9D8E3 !important}
/* Section links (/#fix, /#studio) are never "the current page": no active state */
.header-navigation .menu > li > a[href*="#"], .main-navigation .menu > li > a[href*="#"]{color:#F2EFE8 !important;text-decoration:none !important}
.header-navigation .menu > li > a[href*="#"]:hover, .main-navigation .menu > li > a[href*="#"]:hover{color:#C9D8E3 !important}
.mobile-navigation ul li > a[href*="#"]{color:#F2EFE8 !important}
