:root{--ink:#0e1419;--steel:#16232e;--slate:#2a3d4d;--bone:#e6e2d8;--mist:#b8c2c9;--copper:#c47a3a;--copper-bright:#e09a52;--spark:#4aa3ff;--font-display:"Syne", sans-serif;--font-hero:"Big Shoulders Display", sans-serif;--font-body:"Figtree", sans-serif;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--bone);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.55}img,svg{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--spark);outline-offset:3px}.skip-link{z-index:20;background:var(--bone);color:var(--ink);padding:.65rem 1rem;font-weight:600;text-decoration:none;transition:transform .16s;position:absolute;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem clamp(1.25rem,4vw,3rem);display:flex;position:absolute;inset:0 0 auto}.brand-mark{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:1.125rem;font-weight:700;text-decoration:none}.site-nav{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:1.5rem;display:flex}.site-nav a{color:var(--mist);font-size:.95rem;text-decoration:none;transition:color .16s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--bone)}.nav-signin{color:#b8c2c9b8;font-weight:500}@media (width<=30rem){.site-header{gap:.65rem;padding-inline:1rem}.brand-mark{letter-spacing:.03em;font-size:1rem}.site-nav{gap:.7rem}.site-nav a{font-size:.875rem}}.nav-signin:hover{color:var(--mist)}.btn-signin{color:var(--mist);background:0 0;border-color:#e8e2d838;font-weight:500}.btn-signin:hover{color:var(--bone);border-color:#e8e2d866}.hero{isolation:isolate;align-items:end;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero-visual{z-index:0;background:#05080c;position:absolute;inset:0}.bleed-photo{object-fit:cover;width:100%;height:100%;animation:1.4s cubic-bezier(.22,1,.36,1) both photo-settle}.hero-scrim{z-index:1;background:linear-gradient(#05080c57 0%,#05080c14 38%,#05080c94 70%,#05080ce6 100%);position:absolute;inset:0}.hero-copy{z-index:2;width:min(40rem,100%);padding:0 clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem);position:relative}.hero-brand{font-family:var(--font-hero);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .75rem;font-size:clamp(3.75rem,12vw,7.25rem);font-weight:800;line-height:.88;animation:.7s cubic-bezier(.22,1,.36,1) both rise-in}.hero-line{max-width:28ch;font-family:var(--font-display);color:var(--bone);margin:0 0 1rem;font-size:clamp(1.35rem,3.2vw,2rem);font-weight:600;line-height:1.2;animation:.7s cubic-bezier(.22,1,.36,1) .12s both rise-in}.hero-support{max-width:36ch;color:var(--mist);margin:0 0 1.75rem;font-size:1.05rem;animation:.7s cubic-bezier(.22,1,.36,1) .22s both rise-in}.cta-row{flex-wrap:wrap;gap:.85rem;animation:.7s cubic-bezier(.22,1,.36,1) .32s both rise-in;display:flex}.btn{min-height:2.75rem;font-family:var(--font-body);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1.25rem;font-size:.98rem;font-weight:600;text-decoration:none;transition:transform .16s,background-color .16s,border-color .16s,color .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--copper);color:var(--ink)}.btn-primary:hover{background:var(--copper-bright)}.btn-ghost{color:var(--bone);background:#0e141940;border-color:#e8e2d859}.btn-ghost:hover{border-color:var(--bone)}.page{background:radial-gradient(90% 60% at 100% 0%, #4aa3ff14, transparent 50%), linear-gradient(180deg, var(--steel), var(--ink) 55%);min-height:100vh;position:relative}.page--contact{isolation:isolate;background:#05080c;overflow-x:hidden}.page--contact .page-visual{z-index:0;background:#05080c;position:absolute;inset:0}@media (width<=48rem){.page--contact .bleed-photo{object-position:70% 62%!important;transform-origin:70% 58%!important}}.page--contact .page-scrim{z-index:1;pointer-events:none;background:linear-gradient(105deg,#05080cf0 0%,#05080cb8 40%,#05080c47 72%,#05080c2e 100%),radial-gradient(70% 60% at 78% 28%,#c47a3a24,#0000 55%);position:absolute;inset:0}.page--contact>.page-main{z-index:2;position:relative}.page-main{width:min(40rem,100%);padding:7.5rem clamp(1.25rem,4vw,3rem) 4rem}.page-main h1,.page-main h2{font-family:var(--font-hero);letter-spacing:.02em;text-transform:uppercase;margin:0 0 .85rem;font-size:clamp(2.75rem,8vw,4rem);font-weight:800;line-height:.95;animation:.65s cubic-bezier(.22,1,.36,1) both rise-in}.page-main p{color:var(--mist);margin:0 0 1.25rem;font-size:1.05rem;animation:.65s cubic-bezier(.22,1,.36,1) .1s both rise-in}.contact-form{gap:1.1rem;margin:1.5rem 0 0;animation:.65s cubic-bezier(.22,1,.36,1) .18s both rise-in;display:grid}.contact-form .field{gap:.4rem;display:grid}.contact-form label{color:var(--bone);font-size:.92rem;font-weight:600}.contact-form input,.contact-form textarea{width:100%;max-width:100%;color:var(--bone);font:inherit;background:#0e14198c;border:1px solid #e8e2d838;border-radius:0;padding:.75rem .9rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b8c2c98c}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--spark);outline-offset:2px;border-color:#0000}.form-hint{color:#b8c2c9d9;margin:.25rem 0 0;font-size:.92rem}.form-hint-email{color:var(--copper-bright);text-underline-offset:.15em;font-weight:600;text-decoration:underline}.form-hint-email:hover{color:var(--copper)}.contact-form .cta-row{margin-top:.35rem}.contact-form .btn{cursor:pointer;appearance:none}@keyframes rise-in{0%{opacity:0;transform:translateY(1.1rem)}to{opacity:1;transform:translateY(0)}}@keyframes photo-settle{0%{opacity:.7;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.bleed-photo{opacity:1;transform:none}}
