
*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#000000;--paper:#ffffff;--glass:rgba(0,0,0,.08)}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:"kern";background:var(--paper);color:var(--ink);font-weight:330;font-size:16px;line-height:1.45;letter-spacing:-.14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}
ul{list-style:none}
:focus-visible{outline:2px dashed var(--ink);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible{outline-color:#f7f5f1}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.mono{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.54px;font-weight:400}
.topbar{background:#151a20;color:#f7f5f1;font-size:12px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:10px;padding-bottom:10px;gap:16px}
.topbar a{text-decoration:underline;text-underline-offset:3px}
header.site{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--glass);z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo{font-weight:700;font-size:22px;letter-spacing:-.5px}
.logo span{font-weight:320}
nav.main ul{display:flex;gap:28px;font-size:16px;font-weight:480;letter-spacing:-.14px}
nav.main a{padding:6px 2px}
nav.main a:hover{color:rgba(0,0,0,.55)}
nav.main a[aria-current="page"]{border-bottom:2px solid var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;line-height:1.4;padding:8px 18px 10px;cursor:pointer;border:0;transition:opacity .15s ease}
.btn:hover{opacity:.82}
.btn-black{background:var(--ink);color:var(--paper)}
.btn-white{background:var(--paper);color:var(--ink)}
.btn-glass{background:rgba(255,255,255,.16);color:var(--paper)}
.btn-lg{font-size:18px;padding:12px 26px 14px}
.hero{padding:72px 0 64px;background:
 radial-gradient(900px 420px at 12% 0%,rgba(10,207,131,.16),transparent 60%),
 radial-gradient(900px 420px at 88% 8%,rgba(162,89,255,.16),transparent 60%),
 linear-gradient(180deg,#ffffff, #ffffff)}
.hero h1{font-size:clamp(44px,7vw,86px);font-weight:450;line-height:1.0;letter-spacing:-1.72px;font-feature-settings:"kern";max-width:16ch}
.hero .lead{font-size:20px;font-weight:340;line-height:1.4;letter-spacing:-.1px;max-width:56ch;margin:24px 0 32px;color:rgba(0,0,0,.82)}
.eyebrow{display:inline-block;margin-bottom:20px;background:var(--glass);border-radius:50px;padding:6px 14px 7px;font-size:12px;letter-spacing:.6px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-photo{margin-top:48px;background:linear-gradient(115deg,#0acf83,#fcff4d 34%,#a259ff 68%,#ff7262);border-radius:8px;padding:18px}
.hero-photo img{height:440px !important;border-radius:6px !important}
.strip{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:72px 0}
h2{font-size:clamp(32px,4.5vw,64px);font-weight:450;line-height:1.1;letter-spacing:-.96px}
.strip p{font-size:18px;font-weight:320;line-height:1.45;margin-top:18px;max-width:52ch}
.services{padding:72px 0;background:#fafafa;border-top:1px solid var(--glass);border-bottom:1px solid var(--glass)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.section-head p{font-size:20px;font-weight:340;letter-spacing:-.1px;max-width:44ch;color:rgba(0,0,0,.75)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--paper);border-radius:8px;border:1px solid var(--glass);padding:16px 16px 24px;display:flex;flex-direction:column;gap:14px;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.09)}
.card h3{font-size:24px;font-weight:700;line-height:1.45;letter-spacing:0}
.card p{font-size:16px;font-weight:330;color:rgba(0,0,0,.75);flex:1}
.card a{font-weight:480;text-decoration:underline;text-underline-offset:4px}
.tag{font-size:12px;letter-spacing:.6px;color:rgba(0,0,0,.6)}
.stats{padding:72px 0}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:left}
.stat b{display:block;font-size:40px;font-weight:540;line-height:1.1;letter-spacing:-.96px}
.stat span{display:block;margin-top:8px;font-size:12px;color:rgba(0,0,0,.6)}
.process{padding:72px 0;background:#fafafa;border-top:1px solid var(--glass)}
ol.steps{counter-reset:s;margin-top:32px;display:grid;gap:20px}
ol.steps li{counter-increment:s;display:flex;gap:16px;align-items:baseline;font-size:18px;font-weight:340}
ol.steps li::before{content:counter(s,decimal-leading-zero);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.6px;border:1px solid var(--ink);border-radius:50%;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;transform:translateY(6px)}
.cta{margin:0;padding:88px 0;background:linear-gradient(115deg,#0acf83,#fcff4d 30%,#a259ff 66%,#ff7262)}
.cta-inner{background:var(--ink);color:var(--paper);border-radius:8px;padding:56px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{color:var(--paper);max-width:18ch}
.cta p{margin-top:14px;font-size:18px;font-weight:320;color:rgba(255,255,255,.78);max-width:44ch}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap}
footer.site{background:#151a20;color:#f7f5f1;padding:64px 0 32px;margin-top:0}
footer.site a:hover{color:#ffffff;text-decoration:underline;text-underline-offset:3px}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer.site h4{font-size:12px;letter-spacing:.6px;margin-bottom:16px;color:rgba(247,245,241,.6)}
footer.site li{margin-bottom:10px;font-size:16px;font-weight:340}
footer.site .blurb{font-size:16px;font-weight:320;color:rgba(247,245,241,.75);max-width:34ch;margin-top:14px}
.f-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(247,245,241,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.6px;color:rgba(247,245,241,.6)}
@media (max-width:960px){
nav.main ul{display:none}
.strip{grid-template-columns:1fr}
.cards{grid-template-columns:1fr}
.stats .grid{grid-template-columns:repeat(2,1fr)}
.f-grid{grid-template-columns:1fr 1fr}
.hero-photo img{height:300px !important}
}
@media (max-width:560px){
.f-grid{grid-template-columns:1fr}
.cta-inner{padding:36px 24px}
.topbar .wrap{justify-content:center}
}

/* Layout primitives */
.container,.content{max-width:1180px;margin:0 auto;padding:0 24px}
.section{padding:72px 0}
.section-alt{padding:72px 0;background:#fafafa;border-top:1px solid var(--glass);border-bottom:1px solid var(--glass)}
.content-section{padding:56px 0}
.muted{color:rgba(0,0,0,.65)}

/* Header / nav */
.site-header,.header-inner{background:var(--paper);border-bottom:1px solid var(--glass)}
.site-header{position:sticky;top:0;z-index:50}
.header-inner,.site-header .container{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.site-branding,.brand,.topbar-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-.5px}
.site-title{font-weight:700;font-size:22px;letter-spacing:-.5px}
.site-title span,.brand span{font-weight:320}
.site-nav,.site-navigation,.main-nav,nav.nav{display:block}
.nav-links,.site-nav ul,.site-navigation ul,.main-nav ul,.links{display:flex;gap:28px;font-size:16px;font-weight:480}
.nav-links a,.site-nav a,.site-navigation a,.main-nav a,nav.nav a{padding:6px 2px}
.nav-links a:hover,.main-nav a:hover,nav.nav a:hover{color:rgba(0,0,0,.55)}
.nav-links a[aria-current="page"],.main-nav a[aria-current="page"]{border-bottom:2px solid var(--ink)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;padding:8px 18px 10px;background:var(--ink);color:var(--paper);transition:opacity .15s ease}
.nav-cta:hover{opacity:.82}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.topbar-tag{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:rgba(247,245,241,.7)}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;line-height:1.4;padding:10px 20px 12px;background:var(--ink);color:var(--paper);border:0;cursor:pointer;transition:opacity .15s ease}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;line-height:1.4;padding:10px 20px 12px;background:var(--glass);color:var(--ink);border:0;cursor:pointer;transition:opacity .15s ease}
.btn-outline{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;line-height:1.4;padding:9px 19px 11px;background:transparent;color:var(--ink);border:1px solid var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease}
.btn-outline:hover{background:var(--ink);color:var(--paper)}
.btn-primary:hover,.btn-secondary:hover{opacity:.82}
.cta-button{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:480;font-size:16px;padding:12px 26px 14px;background:var(--paper);color:var(--ink);transition:opacity .15s ease}
.cta-button:hover{opacity:.82}

/* Heroes */
.hero-section,.page-hero{padding:72px 0 64px;background:radial-gradient(900px 420px at 12% 0%,rgba(10,207,131,.16),transparent 60%),radial-gradient(900px 420px at 88% 8%,rgba(162,89,255,.16),transparent 60%)}
.hero-section h1,.page-hero h1{font-size:clamp(40px,6vw,72px);font-weight:450;line-height:1.05;letter-spacing:-1.44px;max-width:18ch}
.page-intro{font-size:20px;font-weight:340;line-height:1.4;max-width:56ch;margin:20px 0 28px;color:rgba(0,0,0,.82)}

/* About */
.about{padding:72px 0}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.about-text p{font-size:18px;font-weight:320;line-height:1.45;margin-top:18px;max-width:52ch}
.about-images{display:grid;gap:16px}
.about-images img{border-radius:8px;width:100%;height:280px;object-fit:cover}
.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.image-gallery img{border-radius:8px;width:100%;height:220px;object-fit:cover}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--paper);border-radius:8px;border:1px solid var(--glass);padding:24px;display:flex;flex-direction:column;gap:14px;transition:transform .18s ease,box-shadow .18s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.09)}
.service-card h3{font-size:24px;font-weight:700;letter-spacing:0}
.service-card p{font-size:16px;color:rgba(0,0,0,.75);flex:1}
.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.reasons-grid h3{font-size:20px;font-weight:700;margin-bottom:8px}
.reasons-grid p{font-size:16px;color:rgba(0,0,0,.75)}

/* Testimonial */
.testimonial{background:var(--paper);border:1px solid var(--glass);border-radius:8px;padding:32px;font-size:20px;font-weight:340;line-height:1.45;max-width:64ch}
.testimonial footer,.testimonial cite{display:block;margin-top:16px;font-size:14px;color:rgba(0,0,0,.6);font-style:normal}

/* Checklist */
.checklist{display:grid;gap:12px;margin-top:20px}
.checklist li{display:flex;gap:12px;align-items:baseline;font-size:17px;font-weight:340}
.checklist li::before{content:"✓";font-weight:700;flex:none}

/* CTA band */
.cta-section,.cta-band{background:#151a20;color:#f7f5f1;padding:64px 0;text-align:center}
.cta-band h2,.cta-section h2{color:#f7f5f1}
.cta-band p,.cta-section p{margin:16px auto 28px;max-width:52ch;color:rgba(247,245,241,.75);font-size:18px}
.on-dark :focus-visible{outline-color:#f7f5f1}

/* Contact */
.contact{padding:72px 0}
.contact form{display:grid;gap:16px;max-width:560px;margin-top:24px}
.contact label{font-size:14px;font-weight:480}
.contact input,.contact textarea{width:100%;padding:12px 14px;border:1px solid var(--glass);border-radius:8px;font:inherit;background:#fff}
.contact input:focus,.contact textarea:focus{outline:2px solid var(--ink);outline-offset:1px}

/* ABN card */
.abn-card{display:inline-block;background:#fafafa;border:1px solid var(--glass);border-radius:8px;padding:16px 20px;font-size:14px;letter-spacing:.4px}

/* Legal */
.legal-content{max-width:760px;margin:0 auto;padding:56px 24px}
.legal-content h2{font-size:28px;margin:32px 0 12px}
.legal-content p{margin-bottom:14px;font-size:16px;color:rgba(0,0,0,.8)}

/* Footer */
.site-footer{background:#151a20;color:#f7f5f1;margin-top:0}
.footer-inner,.footer-content{padding:56px 0 32px}
.footer-grid,.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-brand{font-weight:700;font-size:22px;letter-spacing:-.5px;margin-bottom:12px}
.footer-brand span{font-weight:320}
.footer-section p{color:rgba(247,245,241,.7);font-size:15px;max-width:36ch}
.footer-heading{font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.54px;font-size:12px;margin-bottom:14px;color:rgba(247,245,241,.85)}
.footer-col,.footer-links ul{display:grid;gap:10px}
.footer-links a,.footer-col a{color:rgba(247,245,241,.75);font-size:15px}
.footer-links a:hover,.footer-col a:hover{color:#f7f5f1;text-decoration:underline;text-underline-offset:3px}
.footer-base,.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 0;font-size:13px;color:rgba(247,245,241,.6)}
.footer-base .container,.footer-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Responsive */
@media(max-width:960px){
.service-grid,.cards,.reasons-grid,.image-gallery{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr}
.about-grid,.strip{grid-template-columns:1fr}
}
@media(max-width:640px){
.service-grid,.cards,.reasons-grid,.image-gallery,.footer-grid{grid-template-columns:1fr}
.nav-links,.site-nav ul,.main-nav ul{display:none}
.header-inner{height:64px}
}
