*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--black:#080808;--grey-dark:#1a1a1a;--grey-mid:#2e2e2e;--grey:#8E97A6;--grey-light:#AEB6C2;--white:#f5f4f0;--purple:#7B2FBE;--purple-light:#BE86F0;--purple-dim:rgba(123,47,190,0.15);--font-display:'Cormorant Garamond',serif;--font-sans:'DM Sans',sans-serif;--font-impact:'Bebas Neue',sans-serif}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--grey-light);font-family:var(--font-sans);font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:var(--purple-light);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--white)}
img{max-width:100%;display:block}

/* nav */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 48px;background:rgba(8,8,8,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--grey-mid)}
.topbar-logo{flex-shrink:0;display:block}
.topbar-logo img{height:44px;width:auto}
.topbar-nav{display:flex;align-items:center;gap:26px;list-style:none}
.topbar-nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-light)}
.topbar-nav a:hover{color:var(--white)}
.topbar-cta{background:var(--purple);color:var(--white)!important;padding:10px 22px;border-radius:999px;white-space:nowrap;transition:background .3s,transform .3s,box-shadow .3s}
.topbar-cta:hover{background:var(--purple-light);transform:translateY(-1px);box-shadow:0 6px 18px rgba(123,47,190,.35)}
@media(max-width:880px){.topbar{padding:14px 20px}.topbar-logo img{height:34px}.topbar-nav li:not(.keep){display:none}}
@media(max-width:640px){.topbar{padding:12px 16px;gap:12px}.topbar-logo img{height:28px}.topbar-cta{padding:9px 18px;font-size:11px}}
@media(max-width:380px){.topbar{padding:11px 13px;gap:10px}.topbar-logo img{height:24px}.topbar-cta{padding:8px 15px;font-size:10.5px;letter-spacing:.1em}}

/* breadcrumb */
.crumb{max-width:1100px;margin:0 auto;padding:26px 48px 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.crumb a{color:var(--grey)}
.crumb a:hover{color:var(--purple-light)}
/* mobile section links — replaces the nav items hidden at ≤880px */
.mobile-sections{display:none;max-width:1100px;margin:0 auto;padding:16px 22px 0;flex-wrap:wrap;gap:8px}
.mobile-sections a{border:1px solid var(--grey-mid);border-radius:999px;padding:8px 15px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-light)}
.mobile-sections a:hover{border-color:var(--purple);color:var(--white)}
@media(max-width:880px){.mobile-sections{display:flex}}

/* hero */
.svc-hero{max-width:1100px;margin:0 auto;padding:44px 48px 0;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.svc-hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(42px,5.6vw,66px);line-height:1.04;color:var(--white);letter-spacing:-.01em}
.svc-hero h1 em{font-style:italic;color:var(--purple-light)}
.svc-rule{width:80px;height:2px;background:var(--purple);margin:26px 0}
.svc-lede{font-size:17px;line-height:1.8;color:var(--grey-light);max-width:46ch}
.svc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.svc-shot{background:var(--grey-dark);border:1px solid var(--grey-mid);padding:22px}
.svc-shot img{width:100%;height:auto;filter:drop-shadow(0 18px 26px rgba(0,0,0,.6))}
@media(max-width:900px){.svc-hero{grid-template-columns:1fr;gap:34px;padding:32px 22px 0}.crumb{padding:22px 22px 0}}

/* buttons */
.btn-primary{display:inline-block;background:var(--purple);color:var(--white)!important;padding:16px 34px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;transition:background .3s,transform .3s}
.btn-primary:hover{background:var(--purple-light);transform:translateY(-2px)}
.btn-outline{display:inline-block;padding:16px 32px;border:1px solid var(--grey-mid);color:var(--white)!important;font-size:12px;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;transition:border-color .3s,transform .3s}
.btn-outline:hover{border-color:var(--purple);transform:translateY(-2px)}

/* body */
.wrap{max-width:1100px;margin:0 auto;padding:0 48px 110px}
@media(max-width:900px){.wrap{padding:0 22px 80px}}
.svc-section{border-top:1px solid var(--grey-mid);margin-top:76px;padding-top:44px}
.svc-section h2{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.15;color:var(--white);margin-bottom:20px}
.svc-section h3{font-size:15px;font-weight:500;letter-spacing:.02em;color:var(--white);margin:30px 0 10px}
.svc-section p{margin-bottom:18px;max-width:74ch;text-wrap:pretty}
.svc-section strong{color:var(--white);font-weight:500}
.svc-section ul{list-style:none;padding:0;margin:0 0 20px;max-width:74ch}
.svc-section ul li{position:relative;padding-left:22px;margin-bottom:11px}
.svc-section ul li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;background:var(--purple);border-radius:50%}

/* included grid */
.inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;margin-top:26px}
.inc-card{background:var(--grey-dark);padding:26px 24px;transition:background .3s}
.inc-card:hover{background:#222}
.inc-card h4{font-family:var(--font-display);font-size:20px;color:var(--white);font-weight:400;margin-bottom:8px}
.inc-card p{font-size:13.5px;line-height:1.7;color:var(--grey-light);margin:0}

/* faq */
.faq details{border-bottom:1px solid var(--grey-mid)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-size:16px;color:var(--white);font-weight:400}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:22px;font-weight:300;color:var(--purple-light);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;font-size:14.5px;color:var(--grey-light);max-width:74ch;margin:0}

/* cta band */
.svc-cta{border:1px solid var(--grey-mid);background:var(--grey-dark);padding:46px 50px;margin-top:76px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.svc-cta h2{font-family:var(--font-display);font-weight:300;font-size:34px;line-height:1.1;color:var(--white);margin:0 0 10px}
.svc-cta p{margin:0;font-size:14.5px;color:var(--grey-light)}
@media(max-width:700px){.svc-cta{padding:30px 26px}}

/* related */
.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.related a{border:1px solid var(--grey-mid);border-radius:999px;padding:9px 18px;font-size:12.5px;letter-spacing:.05em;color:var(--grey-light)}
.related a:hover{border-color:var(--purple);color:var(--white)}

/* footer */
.site-footer{border-top:1px solid var(--grey-mid);padding:40px 48px;display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;font-size:12.5px;color:var(--grey)}
.site-footer a{color:var(--grey)}
.site-footer a:hover{color:var(--purple-light)}
@media(max-width:700px){.site-footer{padding:28px 22px}}
