/* CAELIS — production styles */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0a0a0a;color:#ecebe8;font-family:'Schibsted Grotesk',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#ecebe8;text-decoration:none}
a:hover{color:#ffffff}
::selection{background:#ecebe8;color:#0a0a0a}
input::placeholder{color:#5c5c58}
img{max-width:100%;height:auto}

@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(0,0)}}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:0.3}}

.grain{position:fixed;inset:-5%;width:110%;height:110%;pointer-events:none;z-index:50;opacity:0.05;animation:grainShift 0.9s steps(4) infinite;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='300' height='300' filter='url(%23n)' opacity='0.6'/></svg>")}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,48px);height:64px;background:rgba(10,10,10,0.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.07)}
.nav-brand{font-weight:700;letter-spacing:0.22em;font-size:15px}
.nav-links{display:flex;align-items:center;gap:clamp(16px,3vw,36px)}
.nav-link{font-size:13.5px;color:#9a9a95;transition:color 0.25s ease}
.nav-link:hover{color:#fff}

/* buttons */
.btn{display:inline-block;font-size:14.5px;font-weight:600;font-family:inherit;background:#ecebe8;color:#0a0a0a;border:none;padding:15px 32px;border-radius:999px;cursor:pointer;transition:background 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.btn:hover{background:#fff;color:#0a0a0a;transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,255,255,0.08)}
.btn-sm{font-size:13px;padding:9px 18px}
.btn-sm:hover{transform:translateY(-1px);box-shadow:none}
.btn-md{font-size:14px;padding:14px 30px}
.btn-block{display:block;width:100%;text-align:center;padding:15px 28px}
.btn-outline{display:inline-flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:#ecebe8;background:transparent;border:1px solid rgba(255,255,255,0.2);padding:14px 28px;border-radius:999px;transition:all 0.25s ease}
.btn-outline:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.04);transform:translateY(-1px)}

/* text link with rule */
.link-rule{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:#ecebe8;border-bottom:1px solid rgba(255,255,255,0.3);padding-bottom:4px;transition:border-color 0.25s ease}
.link-rule:hover{border-color:#fff}
.footer-link{color:#8a8a85;transition:color 0.25s ease}
.footer-link:hover{color:#fff}

/* interactive rows + cards */
.row{transition:padding-left 0.3s ease}
.row:hover{padding-left:12px}
.row-lg{transition:padding-left 0.35s ease}
.row-lg:hover{padding-left:14px}
.card{display:flex;flex-direction:column;background:#121211;border:1px solid rgba(255,255,255,0.1);border-radius:4px;padding:clamp(28px,4vw,44px);transition:border-color 0.3s ease,transform 0.3s ease}
.card:hover{border-color:rgba(255,255,255,0.32);transform:translateY(-4px)}
.field{flex:1;min-width:240px;background:transparent;border:1px solid rgba(255,255,255,0.18);border-radius:999px;padding:15px 24px;font-size:15px;color:#ecebe8;font-family:inherit;outline:none;transition:border-color 0.25s ease}
.field:focus{border-color:rgba(255,255,255,0.5)}

/* layout helpers */
.wrap{max-width:1200px;margin:0 auto;padding-left:clamp(20px,6vw,80px);padding-right:clamp(20px,6vw,80px);box-sizing:border-box}
.wrap-narrow{max-width:1000px;margin:0 auto;padding-left:clamp(20px,6vw,80px);padding-right:clamp(20px,6vw,80px);box-sizing:border-box}
.rule-top{border-top:1px solid rgba(255,255,255,0.07)}
.surface{background:#0e0e0e}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.4em;color:#8a8a85;margin:0}
.eyebrow-sm{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.3em;color:#8a8a85;margin:0}
.mono{font-family:'IBM Plex Mono',monospace}
.outline-num{font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(236,235,232,0.35);letter-spacing:-0.02em;line-height:1}
.foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-top:56px;padding-bottom:56px}
.foot-nav{display:flex;gap:8px;align-items:center;font-size:13px;color:#8a8a85;flex-wrap:wrap}
