:root { --ink:#101010; --paper:#f7f7f4; --line:#d8d8d2; --muted:#61615d; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; } .site-header { height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid var(--line); } .brand { display:flex; gap:11px; align-items:center; text-decoration:none; color:var(--ink); font-size:14px; font-weight:500; letter-spacing:1.4px; } .brand b { font-weight:800; } .brand-mark { display:grid; place-items:center; width:32px; height:32px; background:var(--ink); color:var(--paper); font-family:'DM Mono',monospace; font-size:10px; letter-spacing:-1px; }
.brand-logo{
    width:55px;
    height:55px;
    object-fit:contain;
    display:block;
}
 .nav { display:flex; align-items:center; gap:28px; } .nav a { color:var(--ink); text-decoration:none; font-size:13px; font-weight:600; } .nav .nav-cta { padding:11px 16px; background:var(--ink); color:white; } .menu-button { display:none; background:none; border:0; font:600 13px Manrope; }
.hero { min-height:635px; display:grid; grid-template-columns:1.08fr .92fr; border-bottom:1px solid var(--line); } .hero-copy { padding:clamp(75px,12vw,155px) 7vw 70px 5vw; } .eyebrow { margin:0 0 23px; font:500 10px 'DM Mono',monospace; letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); } h1,h2,h3,p { margin-top:0; } h1 { max-width:660px; margin-bottom:25px; font-size:clamp(47px,5.8vw,85px); line-height:.99; letter-spacing:-4.3px; } em { font-style:normal; font-weight:400; } .hero-text { max-width:475px; font-size:16px; line-height:1.7; color:var(--muted); } .hero-actions { display:flex; align-items:center; gap:28px; margin-top:35px; } .button { text-decoration:none; font-weight:700; font-size:13px; padding:15px 19px; transition:transform .25s ease,background-color .25s ease,color .25s ease; } .button:hover { transform:translateY(-3px); } .button-dark { color:white; background:var(--ink); } .button span,.text-link span { display:inline-block; margin-left:10px; transition:transform .25s ease; } .button:hover span,.text-link:hover span { transform:translateX(4px); } .text-link { color:var(--ink); text-decoration:none; font-size:13px; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:4px; }.hero-art { position:relative; overflow:hidden; min-height:400px; background:#07101a; border-left:1px solid var(--line); } .hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(2,7,12,.04),rgba(2,7,12,.5)); pointer-events:none; } .hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:hero-image-pan 15s ease-in-out infinite alternate; } .coordinate { position:absolute; z-index:2; font:10px 'DM Mono',monospace; letter-spacing:1px; color:#f7f7f4; text-shadow:0 1px 8px rgba(0,0,0,.8); }.coordinate.bottom { bottom:18px; left:28px; } .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); } .reveal.is-visible { opacity:1; transform:none; } @keyframes hero-image-pan { to { transform:scale(1.06); } }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }.trust-strip div { display:flex; gap:16px; padding:27px 5vw; border-right:1px solid var(--line); }.trust-strip div:last-child { border:0; }.trust-strip span,.product-grid span,.process-list span { font:11px 'DM Mono',monospace; color:var(--muted); }.trust-strip p { margin:0; font-size:13px; line-height:1.45; font-weight:700; }.section { padding:112px 5vw; border-bottom:1px solid var(--line); }.section-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:9vw; }.section h2,.contact h2 { margin:0; font-size:clamp(34px,4vw,57px); letter-spacing:-2.7px; line-height:1.08; }.section-grid > div p,.section-heading > p { color:var(--muted); font-size:15px; line-height:1.8; }.section-grid .text-link { display:inline-block; margin-top:18px; }.section-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; }.section-heading > p { max-width:330px; margin-bottom:0; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; border-top:1px solid var(--ink); }.product-grid article { min-height:226px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background-color .25s ease; }.product-grid article:hover { background:#ecece7; }.product-grid article:nth-child(3n+1) { padding-left:0; }.product-grid article:nth-child(3n) { border-right:0; padding-right:0; }.product-grid article:nth-last-child(-n+3) { border-bottom:0; }.product-grid h3,.process-list h3 { font-size:17px; letter-spacing:-.5px; margin:46px 0 12px; }.product-grid p,.process-list p { color:var(--muted); font-size:13px; line-height:1.7; }.process { background:#ecece7; }.process-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:55px; gap:5vw; }.process-list div { border-top:1px solid var(--ink); padding-top:18px; }.process-list h3 { margin-top:37px; font-size:22px; }.contact { background:var(--ink); color:var(--paper); padding:110px 10vw 100px; display:grid; grid-template-columns:1.2fr .8fr; gap:7vw; }.contact .eyebrow { color:#a8a8a1; }.enquiry-form { border-top:1px solid #777; padding-top:21px; }.enquiry-form > p:first-child { color:#c5c5be; font-size:14px; line-height:1.7; margin-bottom:25px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.enquiry-form label { display:block; margin-bottom:18px; color:#c5c5be; font:10px 'DM Mono',monospace; letter-spacing:.7px; text-transform:uppercase; }.enquiry-form input,.enquiry-form textarea { display:block; width:100%; margin-top:9px; padding:10px 0; border:0; border-bottom:1px solid #777; outline:none; background:transparent; color:var(--paper); border-radius:0; font:400 14px Manrope,sans-serif; }.enquiry-form textarea { resize:vertical; line-height:1.55; }.enquiry-form input:focus,.enquiry-form textarea:focus { border-bottom-color:var(--paper); }.enquiry-form input::placeholder,.enquiry-form textarea::placeholder { color:#8e8e88; }.button-light { display:inline-block; cursor:pointer; margin-top:3px; border:1px solid var(--paper); background:var(--paper); color:var(--ink); font-family:Manrope,sans-serif; }.form-note { margin:14px 0 0; color:#a8a8a1; font-size:11px; } footer { display:flex; justify-content:space-between; padding:22px 5vw; font:10px 'DM Mono',monospace; letter-spacing:.5px; color:var(--muted); }
@media (max-width:1020px) { .hero { grid-template-columns:1fr; }.hero-copy { padding:90px 7vw 72px; }.hero-art { min-height:430px; border-left:0; border-top:1px solid var(--line); }.trust-strip { grid-template-columns:1fr 1fr; }.trust-strip div { padding:25px 7vw; }.trust-strip div:nth-child(2) { border-right:0; }.product-grid { grid-template-columns:repeat(2,1fr); }.product-grid article:nth-child(n) { padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.product-grid article:nth-child(odd) { padding-left:0; }.product-grid article:nth-child(even) { padding-right:0; border-right:0; }.product-grid article:nth-last-child(-n+2) { border-bottom:0; } }
@media (max-width:760px) { .site-header { height:68px; }.nav { display:flex; position:absolute; z-index:5; top:68px; right:0; left:0; max-height:0; overflow:hidden; padding:0 5vw; flex-direction:column; align-items:stretch; opacity:0; visibility:hidden; transform:translateY(-12px); pointer-events:none; background:var(--paper); border-bottom:0; transition:max-height .35s ease,padding .35s ease,opacity .22s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s; }.nav.open { max-height:280px; padding:18px 5vw; opacity:1; visibility:visible; transform:none; pointer-events:auto; border-bottom:1px solid var(--line); transition:max-height .35s ease,padding .35s ease,opacity .25s ease .05s,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s; }.nav a { padding:9px 0; opacity:0; transform:translateY(-7px); transition:opacity .2s ease,transform .25s ease; }.nav.open a { opacity:1; transform:none; }.nav.open a:nth-child(1) { transition-delay:.08s; }.nav.open a:nth-child(2) { transition-delay:.13s; }.nav.open a:nth-child(3) { transition-delay:.18s; }.nav.open a:nth-child(4) { transition-delay:.23s; }.nav .nav-cta { text-align:center; }.menu-button { display:block; }.hero { grid-template-columns:1fr; }.hero-copy { padding:75px 7vw 63px; }.hero-art { min-height:390px; border-left:0; }.trust-strip { grid-template-columns:1fr 1fr; }.trust-strip div { padding:22px 7vw; }.trust-strip div:nth-child(2) { border-right:0; }.section { padding:75px 7vw; }.section-grid,.contact { grid-template-columns:1fr; gap:35px; }.section-heading { display:block; }.section-heading > p { margin-top:25px; }.product-grid,.process-list { grid-template-columns:1fr; }.product-grid { margin-top:40px; }.product-grid article,.product-grid article:nth-child(n) { min-height:auto; padding:22px 0; border-right:0; border-bottom:1px solid var(--line); }.product-grid article:last-child { border-bottom:0; }.product-grid h3 { margin-top:25px; }.process-list { gap:25px; margin-top:40px; }.form-row { grid-template-columns:1fr; gap:0; }.contact { padding:75px 7vw; } footer { padding:18px 7vw; flex-direction:column; gap:8px; } h1 { letter-spacing:-2.8px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }