/* house.css -- DERIVED by `web_bucket brand apply` from https://horizenitservices.com/ (served object 7e6d2044f388815b), filtered through kit.dbx.
   Do not edit this file: change the apex or a kit row, then rerun the verb. */
:root { --void: #020204; --deep: #060610; --mid: #0a0a14; --center: #10101c; --bone: #ddd0b4; --bone-faint: #a89d88; --bone-ghost: #6a6050; --synth: #f0c868; --synth-bright: #fad580; --blue: #4a8fef; --cyan: #68dce6; --ember: #d08a48; --hair: rgba(232,184,88,.08); }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { background: var(--void); color: var(--bone); font-family: 'Archivo', sans-serif; min-height: 100vh; -webkit-font-smoothing: antialiased; overflow-x: hidden; position: relative; }
.surface { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.grain { position: absolute; inset: 0; opacity: .03; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); background-size: 128px; }
.vignette { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 50%, transparent 30%, rgba(2,2,4,.7) 100%); }
.page { position: relative; z-index: 1; overflow: hidden; }
.masthead { position: sticky; top: 0; z-index: 50; padding: 22px 6vw 18px; display: flex; justify-content: space-between; align-items: center; max-width: 1440px; margin: 0 auto; gap: 24px; flex-wrap: wrap; background: linear-gradient(to bottom, rgba(2,2,4,.85), rgba(2,2,4,0)); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); will-change: transform; }
.masthead .wordmark { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.masthead .name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: -.01em; color: var(--bone); }
.masthead .name span { color: var(--synth); }
.masthead .nav { display: flex; align-items: center; gap: 24px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.masthead .nav a { color: var(--bone-ghost); text-decoration: none; transition: color 160ms; }
.masthead .nav a:hover { color: var(--synth); }
.masthead .nav a.active { color: var(--bone); }
.masthead .nav a.active::after { content: ""; display: block; height: 1px; background: var(--synth); margin-top: 4px; opacity: .6; }
.mark-orb { width:14px;height:14px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle,#ffe6a0,#e8b858 40%,rgba(232,184,88,.15) 70%,transparent);box-shadow:0 0 8px rgba(232,184,88,.4),0 0 20px rgba(232,184,88,.1);animation:heartbeat 4s ease-in-out infinite;will-change:transform }
.section { padding: 112px 6vw; max-width: 1320px; margin: 0 auto; position: relative; }
.section.wide { max-width: 1560px; }
.section.tall { padding: 130px 6vw; }
.eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--synth); display: inline-flex; align-items: center; gap: 12px; margin-bottom: 24px; opacity: .7; }
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--synth); box-shadow: 0 0 10px var(--synth); animation: breathe 4s ease-in-out infinite; flex-shrink: 0; }
.eyebrow.center { justify-content: center; }
.eyebrow.center::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--synth); box-shadow: 0 0 10px var(--synth); animation: breathe 4s ease-in-out 2s infinite; flex-shrink: 0; }
h1, h2, h3 { font-family: 'Archivo', sans-serif; letter-spacing: -.02em; color: var(--bone); }
h2 { font-weight: 800; font-size: clamp(28px, 4.2vw, 52px); line-height: 1.06; max-width: 18ch; }
.flourish { color: var(--synth-bright); }
p.lede { font-family: 'Fraunces', serif; font-weight: 300; font-style: italic; font-variation-settings: "opsz" 36; font-size: clamp(17px, 1.9vw, 23px); line-height: 1.6; color: var(--bone-faint); max-width: 42ch; }
p.body { font-family: 'Archivo', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.7; color: var(--bone-faint); max-width: 62ch; margin-bottom: 1.1em; }
.glass { position: relative; border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), rgba(255,255,255,.015); box-shadow: 0 34px 110px rgba(0,0,0,.4), 0 10px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,255,255,.04); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); }
.glass::after { content: ''; position: absolute; inset: 0; border-radius: 18px; pointer-events: none; z-index: 0; background: linear-gradient(135deg, rgba(255,255,255,.06) 0%, transparent 40%, transparent 60%, rgba(78,201,212,.03) 85%, rgba(255,158,196,.02) 100%); }
.glass.warm { background: radial-gradient(ellipse 130% 100% at 50% 0%, rgba(232,184,88,.1), transparent 60%), linear-gradient(180deg, rgba(255,221,138,.05), rgba(255,221,138,.015)), rgba(255,255,255,.01); box-shadow: 0 34px 110px rgba(0,0,0,.35), 0 10px 34px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,236,190,.1), inset 0 0 0 1px rgba(232,184,88,.12); }
.glass.warm::after { background: linear-gradient(135deg, rgba(255,236,190,.08) 0%, transparent 40%, transparent 60%, rgba(232,184,88,.04) 100%); }
.btn-primary { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding: 14px 28px; border-radius: 999px; border: none; cursor: pointer; text-decoration: none; color: var(--void); background: linear-gradient(135deg, var(--synth-bright), var(--synth)); box-shadow: 0 0 0 1px rgba(232,184,88,.3), 0 12px 36px -10px rgba(232,184,88,.6); transition: transform 160ms, box-shadow 160ms; position: relative; overflow: visible; }
.btn-primary::before { content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 20px rgba(232,184,88,.12),0 0 0 1px rgba(232,184,88,.4),0 18px 44px -10px rgba(232,184,88,.7);opacity:0;animation:ctaPulseGlow 4s ease-in-out infinite;pointer-events:none;will-change:opacity }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 0 20px rgba(232,184,88,.2), 0 0 0 1px rgba(232,184,88,.5), 0 18px 44px -10px rgba(232,184,88,.75); }
.btn-primary:hover::before { animation:none;opacity:0 }
@keyframes ctaPulseGlow { 0%,100%{opacity:0}50%{opacity:1} }
.btn-ghost { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; padding: 13px 26px; border-radius: 999px; text-decoration: none; color: var(--bone-faint); background: rgba(255,255,255,.02); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); transition: color 160ms, box-shadow 160ms; }
.btn-ghost:hover { color: var(--synth-bright); box-shadow: inset 0 0 0 1px rgba(232,184,88,.4); }
@keyframes breathe { 0%,100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.04); opacity: 1; } }
@keyframes bloomIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
footer { padding: 36px 6vw 48px; display: flex; justify-content: space-between; align-items: center; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--bone-ghost); border-top: none; max-width: 1440px; margin: 60px auto 0; flex-wrap: wrap; gap: 14px; position: relative; }
footer::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(800px, 90vw); height: 2px; background: linear-gradient(90deg, transparent 5%, rgba(232,184,88,.4) 30%, rgba(78,201,212,.2) 50%, rgba(232,184,88,.4) 70%, transparent 95%); box-shadow: 0 0 30px rgba(232,184,88,.12), 0 0 60px rgba(232,184,88,.05); }
footer a { color: var(--bone-ghost); text-decoration: none; transition: color 150ms; }
footer a:hover { color: var(--synth); }
h2.rv { text-shadow:0 0 0 transparent;transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),text-shadow 1.8s ease }
h2.rv.visible { text-shadow:0 0 60px rgba(232,184,88,.12) }
.glass:hover { box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.04),0 0 40px rgba(232,184,88,.06),0 20px 60px -20px rgba(0,0,0,.6);transform:translateY(-3px);transition:box-shadow .4s,transform .3s }
.footer-signals { display:flex;gap:8px;align-items:center }
.f-dot { width:5px;height:5px;border-radius:50%;animation:breathe 4s ease-in-out infinite;box-shadow:0 0 8px currentColor }
h2.rv.visible { animation:bloomIn .8s cubic-bezier(.2,.7,.2,1) both }
@keyframes heartbeat { 0%,100%{transform:scale(1)}14%{transform:scale(1.05)}28%{transform:scale(1)}42%{transform:scale(1.03)} }
@keyframes drift { 0%,100%{transform:translate(0,0)}33%{transform:translate(6px,-8px)}66%{transform:translate(-4px,5px)} }
.sig-chip { display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid rgba(232,184,88,.06);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--bone-faint);background:rgba(255,255,255,.008);transition:all .3s;cursor:default }
.sig-chip:hover { border-color:var(--a,var(--synth));color:var(--a,var(--synth));background:var(--b,rgba(232,184,88,.06));transform:translateY(-2px) }
.sig-pip { width:6px;height:6px;border-radius:50%;flex-shrink:0 }
@media (max-width: 1180px) and (min-width: 981px) {
  .masthead .nav { gap: 16px; font-size: 9px; letter-spacing: .13em; }
}
@media (max-width: 980px) {
  .section { padding: 72px 6vw; }
}
@media (min-width: 1600px) {
  .section { max-width: 1480px; padding: 128px 5vw; }
  .section.wide { max-width: 1760px; }
}
@media (max-width: 680px) {
  .masthead { padding: 18px 6vw 14px; }
  .masthead .nav { width: 100%; gap: 18px; font-size: 9px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
  .masthead .nav::-webkit-scrollbar { display: none; }
  .masthead .nav a { flex: 0 0 auto; }
  footer { flex-direction: column; text-align: center; }
  .glass { backdrop-filter: blur(8px) saturate(120%); -webkit-backdrop-filter: blur(8px) saturate(120%); }
  .glass.warm { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mark-orb { animation: none; }
}
