/* Empirith Labs — base styles. Converted from the Claude Design helmet (Contact.dc.html). */
html{background:#F4F6F4;}
body{margin:0;background:#F4F6F4;color:#141C18;font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;}
a{color:#1D6A4E;text-decoration:none;}
a:hover{color:#141C18;}
::selection{background:#DEE9E3;color:#141C18;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:#C6D2CB;border-radius:8px;border:2px solid #F4F6F4;}
::-webkit-scrollbar-track{background:#EAEFEC;}
input,select,textarea,button{font:inherit;color:inherit;}
select option{background:#FBFCFB;color:#141C18;}
:focus-visible{outline:1.5px solid #35A47A;outline-offset:3px;}
@keyframes emMarquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
@keyframes emFloat{from{transform:translateY(-8px);}to{transform:translateY(8px);}}
@keyframes emPulse{0%{transform:scale(.35);opacity:.9;}100%{transform:scale(2.8);opacity:0;}}
@keyframes emBlink{0%,100%{opacity:1;}50%{opacity:.15;}}
@keyframes emCue{0%{transform:translateY(-110%);}100%{transform:translateY(110%);}}
@keyframes emEq{0%,100%{transform:scaleY(.25);}50%{transform:scaleY(1);}}
@keyframes emGrain{0%{background-position:0 0;}25%{background-position:-120px 64px;}50%{background-position:84px -140px;}75%{background-position:-64px -84px;}100%{background-position:104px 124px;}}
@keyframes emSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
}

/* Interactive states — converted from the design runtime's style-hover / style-focus attributes. */
.nav-link{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:0.24em;color:rgba(20,28,24,0.55);transition:color .3s ease;}
.nav-link:hover{color:#141C18;}
.nav-cta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:0.24em;color:#1D6A4E;border:1px solid rgba(29,106,78,0.35);border-radius:6px;padding:10px 18px;background:rgba(29,106,78,0.06);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;}
.nav-cta:hover{color:#1D6A4E;background:rgba(29,106,78,0.14);box-shadow:0 8px 22px rgba(29,106,78,0.2);border-color:rgba(29,106,78,0.7);}
.field{min-width:0;background:rgba(20,28,24,0.03);border:1px solid rgba(20,28,24,0.14);border-radius:6px;padding:13px 14px;font-size:14px;color:#141C18;outline:none;transition:border-color .3s ease;}
.field:focus{border-color:#35A47A;}
.field:focus-visible{outline:1.5px solid #35A47A;outline-offset:3px;}
.field--select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='rgba(20,28,24,0.45)' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;}
.submit-btn{background:#1D6A4E;border:1px solid #1D6A4E;border-radius:6px;padding:16px 26px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:0.24em;color:#F4F6F4;cursor:pointer;transition:box-shadow .35s ease,background .35s ease,color .35s ease,border-color .35s ease;}
.submit-btn:hover{box-shadow:0 12px 30px rgba(29,106,78,0.25);}

/* JS-independent responsive safety net — mirrors the runtime's setupResponsive
   breakpoints so layout holds at every viewport even if scripts fail. */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
@media (max-width:899px){[data-grid-2],[data-grid-3]{grid-template-columns:1fr !important;}}
@media (max-width:759px){[data-grid-4],[data-grid-5]{grid-template-columns:1fr 1fr !important;}}
@media (max-width:879px){[data-el="nav-links"]{display:none !important;}}
@media (max-width:479px){[data-el="brand-word"]{display:none !important;}}
@media (max-width:639px){[data-el="hero-fig"]{display:none !important;}}
@media (max-width:959px){
  [data-el="domains-wrap"]{flex-direction:column !important;}
  [data-el="domains-left"]{position:sticky !important;width:100% !important;height:38vh !important;height:38svh !important;top:0 !important;z-index:2 !important;background:#F4F6F4 !important;}
  [data-el="domains-right"]{width:100% !important;}
  [data-domain-panel]{min-height:auto !important;padding-top:52px !important;padding-bottom:52px !important;}
  [data-el="domain-idx"],[data-el="domain-name"]{display:none !important;}
}
/* Mobile flow: unwind desktop scroll-jacking (pinned horizontal-scroll,
   scrubbed philosophy, tall showcase scaffolds) into normal vertical flow.
   !important beats the JS-set inline transforms/opacity per the cascade. */
@media (max-width:899px){
  [data-el="hs"]{height:auto !important;}
  [data-el="hs"]>div{position:static !important;height:auto !important;overflow:visible !important;}
  [data-el="hs-track"]{flex-direction:column !important;transform:none !important;height:auto !important;}
  [data-el="hs-track"]>div{box-sizing:border-box !important;width:100% !important;min-height:auto !important;padding-top:72px !important;padding-bottom:72px !important;border-left:0 !important;}
  [data-el="phi"]{height:auto !important;}
  [data-el="phi"]>div{position:static !important;height:auto !important;overflow:visible !important;padding-top:96px !important;padding-bottom:96px !important;}
  [data-phi]{opacity:1 !important;filter:none !important;transform:none !important;}
  [data-show-item]{height:auto !important;}
  [data-show-item]>div{position:static !important;height:auto !important;}
  [data-show-visual],[data-show-text]{transform:none !important;}
  [data-el="hero-cue"]{display:none !important;}
  footer [data-para]{font-size:23vw !important;}
  [data-el="hero-content"]{top:60% !important;}
  [data-phi-acc]{color:#1D6A4E !important;}
}
@media (max-width:759px){[data-el="road-line"],[data-el="road-fill"]{display:none !important;}}
