:root{--bg:#0d1117;--surface:#121927;--surface-2:#0a0e14;--line:#263245;--text:#f5f7fb;--muted:#b8c2d1;--accent:#8cb4ff;--danger:#ffadad;--success:#9ee6b0;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 14px;background:white;color:#111;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:20;top:0;background:rgba(13,17,23,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.site-nav{display:flex;max-width:1280px;margin:auto;padding:16px 5%;align-items:center;justify-content:space-between;gap:24px}.logo{color:white;font-size:1.3rem;font-weight:800;text-decoration:none}.nav-links{display:flex;align-items:center;gap:20px}.nav-links a{color:var(--muted);font-size:.94rem;text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:white}.nav-cta{padding:9px 15px;border:1px solid var(--accent);border-radius:999px}.menu-button{display:none;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:white}.hero,.page-hero{padding:clamp(76px,10vw,130px) 6%;text-align:center;background:radial-gradient(circle at top,rgba(79,140,255,.22),transparent 42%)}.hero{min-height:72vh;display:grid;place-items:center}.hero-content,.page-hero>*{max-width:820px;margin-left:auto;margin-right:auto}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:20px;font-size:clamp(2.7rem,7vw,5rem);line-height:1.03}h2{margin-bottom:12px;font-size:clamp(1.55rem,3.5vw,2.7rem);line-height:1.15}h3{margin-bottom:8px;font-size:1.25rem}p,li{color:var(--muted);font-size:1.08rem}.hero-text,.page-hero>p:last-child{font-size:1.25rem}.button-group,.cookie-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;min-height:48px;padding:12px 22px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;font-weight:800;text-decoration:none}.primary-button{background:white;color:#0d1117}.secondary-button{border-color:#536177;background:transparent;color:white}.button:hover{transform:translateY(-1px)}.section{padding:80px 6%}.section-heading{max-width:760px;margin:0 auto 36px;text-align:center}.alt-section{background:var(--surface-2)}.card-grid,.process-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:var(--max);margin:auto;gap:20px}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.process-card,.portfolio-card,form,aside{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.card h2,.portfolio-card h2{font-size:1.45rem}.process-card span,.project-label{display:inline-block;margin-bottom:16px;color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.unstyled{padding:0;list-style:none}.centred-action{text-align:center;margin-top:30px}.text-link{font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:960px;margin:auto}.cta{max-width:1000px;margin:30px auto 80px;border:1px solid var(--line);border-radius:24px;background:var(--surface);text-align:center}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;padding:60px max(6%,calc((100% - var(--max))/2));border-top:1px solid var(--line);background:var(--surface-2)}.site-footer h2{font-size:1rem}.site-footer>div>a:not(.logo),.link-button{display:block;margin:8px 0;color:var(--muted);background:none;border:0;padding:0;text-align:left}.site-footer address{color:var(--muted);font-style:normal}.footer-base{grid-column:1/-1;margin:0;padding-top:24px;border-top:1px solid var(--line);font-size:.9rem}.footer-base span{float:right}.legal-copy,.narrow{max-width:850px;margin:auto;padding:70px 6%}.legal-copy h2{margin-top:42px;font-size:1.55rem}.legal-copy li{margin-bottom:10px}.notice{padding:18px;border-left:4px solid var(--accent);background:var(--surface)}code{padding:2px 5px;background:var(--surface);color:white}.form-section{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;max-width:1100px;margin:auto}.form-section aside{align-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}label,legend{color:white;font-weight:700}label span{color:var(--muted);font-weight:400}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #526078;border-radius:8px;background:#0b1019;color:white}textarea{resize:vertical}.full,fieldset{grid-column:1/-1}fieldset{padding:18px;border:1px solid var(--line);border-radius:10px}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.checks label,.checkbox{display:flex;gap:9px;align-items:flex-start;font-weight:400}.checks input,.checkbox input{width:auto;margin-top:6px}.honeypot{position:absolute;left:-10000px}.form-status{margin:16px 0 0}.form-status.error{color:var(--danger)}.form-status.success{color:var(--success)}.cookie-panel{position:fixed;z-index:50;right:18px;bottom:18px;width:min(520px,calc(100% - 36px));padding:24px;border:1px solid var(--line);border-radius:18px;background:#151e2e;box-shadow:0 20px 70px #000}.cookie-panel h2{font-size:1.4rem}.cookie-panel p{font-size:.95rem}.preference{display:flex;gap:8px;margin:10px 0;font-weight:400}.preference input{width:auto;margin:5px 0 0}.cookie-actions{justify-content:flex-start;margin-top:18px}.cookie-actions .button{font-size:.9rem}.invoice-page{background:#eef1f5;color:#111}.invoice{max-width:900px;margin:30px auto;padding:52px;background:white;box-shadow:0 10px 50px #bbc1cc}.invoice p,.invoice dd,.invoice dt{color:#333}.invoice header,.invoice-parties{display:flex;justify-content:space-between;gap:40px}.invoice dl{display:grid;grid-template-columns:auto auto;gap:6px 24px}.invoice dd{margin:0;text-align:right}.invoice-parties{margin:45px 0}.table-wrap{overflow:auto}.invoice table{width:100%;border-collapse:collapse}.invoice th,.invoice td{padding:12px;border-bottom:1px solid #ccd1d9;text-align:left}.invoice th:last-child,.invoice td:last-child{text-align:right}.invoice-totals{display:flex;justify-content:flex-end;margin:30px 0}.invoice-totals .balance{padding-top:12px;border-top:2px solid #111;font-weight:800}.invoice-notes h2{margin-top:26px;font-size:1.2rem}.helper{font-size:.9rem;margin-top:12px}.invoice [contenteditable=true]:focus{outline:2px solid #326cff;background:#eef4ff}@media(max-width:800px){.menu-button{display:block}.nav-links{display:none;position:absolute;top:69px;right:4%;left:4%;padding:18px;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.nav-links.is-open{display:flex}.nav-links a{padding:6px}.process-grid,.card-grid,.portfolio-grid,.split,.form-section{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.full,fieldset{grid-column:auto}.hero{min-height:auto}.footer-base span{float:none;display:block}.invoice{margin:0;padding:26px}.invoice header,.invoice-parties{display:block}}@media(max-width:480px){.site-footer{grid-template-columns:1fr}.site-footer>div:first-child{grid-column:auto}.checks{grid-template-columns:1fr}.button-group .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.invoice-page{background:white}.invoice{max-width:none;margin:0;padding:20mm;box-shadow:none}.no-print{display:none!important}@page{size:A4;margin:0}}
.page-hero>.eyebrow{margin-left:auto;margin-right:auto;text-align:center}
.radio-options{display:flex;gap:14px 28px;flex-wrap:wrap}.radio-options label{display:flex;align-items:center;gap:9px;font-weight:400}.radio-options input{width:auto;margin:0}.choice-group:focus-within{border-color:var(--accent)}@media(max-width:480px){.radio-options{display:grid;grid-template-columns:1fr}.narrow form{padding:22px 18px}}
