:root{color-scheme:dark;--ink:#f3f2fc;--muted:#b3b6cc;--line:#303348;--accent:#c4b5ff;--paper:#0b0e18;--font:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--font);-webkit-font-smoothing:antialiased;isolation:isolate}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid #c9bcff;outline-offset:5px}
button,a{-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit}
[hidden]{display:none!important}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.ambient{position:absolute;inset:0 0 auto;height:1050px;max-height:130vh;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 80% 25%,#47288055,transparent 53%),radial-gradient(ellipse at 10% 65%,#133a573d,transparent 48%);background-size:125% 120%}
body[data-motion] .ambient{animation:ambient-drift 22s ease-in-out infinite alternate}
@keyframes ambient-drift{from{background-position:0% 0%}to{background-position:100% 75%}}
body[data-motion=paused] .ambient{animation-play-state:paused}
.skip-link{position:absolute;top:-100px;left:1rem;background:#fff;color:#151322;padding:12px 20px;z-index:10}
.skip-link:focus{top:1rem}
.site-header{min-height:104px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}
.wordmark{font-size:1.17rem;font-weight:700;letter-spacing:.2em}
nav{display:flex;gap:30px;align-items:center;margin-left:auto;font-size:.875rem}
nav a{padding:12px 0}
.contact-link{color:var(--accent)}
.motion-control{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 12px;border-radius:30px;font-size:.75rem;min-height:40px;cursor:pointer}
.motion-control:hover{border-color:var(--accent);color:var(--ink)}
.hero{min-height:690px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;padding-block:84px 100px}
.eyebrow,.service-tag,.art-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;font-weight:650;color:var(--accent)}
.eyebrow{margin:0 0 23px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.7rem,6.15vw,6rem);font-weight:550;line-height:1.04;letter-spacing:-.063em;margin-bottom:30px}
em{font-style:normal;color:var(--accent)}
.hero-description{font-size:1.19rem;max-width:430px;line-height:1.75;color:var(--muted);margin-bottom:33px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;min-height:54px;border-radius:7px;font-weight:650;font-size:.875rem;transition:background .2s,transform .2s;border:1px solid transparent;cursor:pointer}
.button-primary{background:#d5caff;color:#171326;box-shadow:0 4px 30px #a380ff14}
.button-primary:hover{background:#e6e0ff;color:#171326;transform:translateY(-2px)}
.text-link{font-size:.875rem;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#676181;padding-block:10px}
.hero-location{font-size:.75rem;color:#949bb5;margin:31px 0 0}
.brand-art{min-width:0}
.brand-window{position:relative;min-height:360px;padding:27px 28px 20px;border:1px solid #66608257;border-radius:20px;background:linear-gradient(135deg,#22223599,#13152166);box-shadow:0 28px 100px #00000025;overflow:hidden}
.art-kicker{color:#bcb7d2;margin:0;text-align:center;font-size:.68rem}
.brand-art img{display:block;width:100%;height:auto;object-fit:contain;filter:invert(1);mix-blend-mode:screen;margin:0 auto}
.art-caption{font-size:.75rem;text-align:center;color:#b5b6cc;margin:0;border-top:1px solid #69607844;padding-top:18px}
.ruled-section{border-top:1px solid var(--line);padding-block:86px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:64px;margin-bottom:42px}
.section-heading h2{margin-bottom:0}
.section-heading>p{color:var(--muted);max-width:340px;font-size:.97rem;margin-bottom:4px}
h2{font-size:clamp(2rem,3.55vw,3.4rem);font-weight:520;letter-spacing:-.045em;line-height:1.12;margin-bottom:24px}
h3{font-size:1.22rem;line-height:1.3;letter-spacing:-.025em;font-weight:600}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service{display:flex;flex-direction:column;min-width:0;padding:30px 28px;border:1px solid #35364d;border-radius:14px;background:linear-gradient(150deg,#1c1f30,#111522);transition:border-color .2s,transform .2s}
.service:hover{border-color:#8f80b5;transform:translateY(-4px)}
.service-tag{font-size:.65rem;margin:0 0 34px;color:#a9b6d5}
.service h3{font-size:1.6rem;margin-bottom:15px;letter-spacing:-.04em}
.service>p:not(.service-tag){font-size:.94rem;color:var(--muted);margin-bottom:22px}
.deliverables{margin:0 0 29px;padding-left:17px;font-size:.79rem;color:#c4c5d8;line-height:2.1}
.deliverables li::marker{color:#a893e5}
.service-link{font-size:.84rem;font-weight:600;color:#d0c2ff;padding-top:21px;margin-top:auto;border-top:1px solid #3a384d;text-decoration:underline;text-underline-offset:5px}
.company{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.company-copy p{color:var(--muted);font-size:1.06rem}
.company-copy p:first-child{color:#d0d1e2}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-top:10px}
.process-grid article{border-top:2px solid #7964a7;padding-top:24px}
.process-grid h3{margin-bottom:14px}
.process-grid p{font-size:.875rem;color:var(--muted);margin-bottom:0}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.faq-list details{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px}
.faq-list summary{cursor:pointer;font-size:1.04rem;font-weight:500;padding:6px 0}
.faq-list summary::marker{color:var(--accent)}
.faq-list p{color:var(--muted);font-size:.94rem;margin:18px 0 0;padding-left:20px}
.contact-section{background:linear-gradient(140deg,#18182a,#101723);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:94px}
.contact-inner{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:start}
.contact-heading h2{font-size:clamp(2.5rem,4.5vw,4.3rem);margin-bottom:26px}
.contact-heading>p:not(.eyebrow){color:var(--muted);max-width:330px}
.next-steps{padding-top:28px;border-top:1px solid var(--line);margin:34px 0 30px;max-width:325px}
.next-steps h3{font-size:.94rem}
.next-steps p{color:var(--muted);font-size:.875rem;margin:0}
.email-link{display:inline-block;font-size:.85rem;color:var(--muted);line-height:2;max-width:100%}
.email-link span{color:#d4c8ff;font-size:.96rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.contact-details{min-width:0;background:#0d1120aa;border:1px solid #36354d;border-radius:16px;padding:32px}
.setup-note{font-size:.78rem;color:#d6c9ff;border-left:2px solid #b6a1f3;background:#2a243b;padding:12px 14px;margin:0 0 27px;line-height:1.65}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
label{display:block;font-size:.84rem;margin:0 0 9px;font-weight:600}
label>span:not(#message-label){font-size:.73rem;font-weight:400;color:#aab0c7}
input:not([type=hidden]),textarea,select{display:block;width:100%;min-height:49px;min-width:0;background:#141a2a;color:#f3f2fc;border:1px solid #596077;border-radius:6px;padding:12px 13px;line-height:1.5;margin-bottom:23px;font-size:.92rem}
input::placeholder,textarea::placeholder{color:#99a0b8;opacity:1}
select{padding-right:28px}
select option{background:#141a2a;color:#f3f2fc}
textarea{resize:vertical;min-height:145px}
fieldset{border:0;border-top:1px solid #363a50;margin:8px 0 22px;padding:22px 0 0;min-width:0}
legend{padding:0 12px 0 0;color:var(--accent);font-size:.8rem;font-weight:600}
.field-help{font-size:.75rem;color:#aeb4cc;margin:-13px 0 24px;line-height:1.6}
.privacy-note,.form-help{font-size:.73rem;color:#aeb4cc;line-height:1.7}
.privacy-note{margin:0 0 23px}
.privacy-note a{text-decoration:underline;text-underline-offset:3px}
.form-help{margin:12px 0 0}
.submit-button{width:100%}
.spam-trap{display:none}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:38px;color:var(--muted);font-size:.75rem}
.site-footer .wordmark{font-size:.92rem;color:var(--ink)}
.site-footer p{margin:7px 0 0}
.site-footer>a{padding:12px 0;white-space:nowrap}
@media(min-width:1600px){.hero{min-height:740px}}
@media(max-width:1080px){.wrap{width:calc(100% - 64px)}.hero{gap:32px;min-height:610px;padding-block:66px}.hero h1{font-size:clamp(3.5rem,6.4vw,5.5rem)}.brand-window{padding:24px 20px 18px;min-height:0}.service{padding:26px 22px}.contact-inner{gap:44px}.contact-details{padding:26px}.company{gap:50px}.section-heading{gap:45px}.motion-control{font-size:.7rem}nav{gap:20px}.site-header{gap:20px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;padding-block:24px;gap:16px}.wordmark{font-size:1rem}nav{order:3;justify-content:space-between;width:100%;margin:0;gap:12px;font-size:.83rem}.motion-control{margin-left:auto}.hero{grid-template-columns:1fr;padding-block:54px 60px;gap:45px}.hero h1{font-size:clamp(3.6rem,10.4vw,5.5rem)}.hero-description{max-width:520px}.brand-art{width:min(460px,100%);justify-self:center}.brand-window{padding:24px 24px 20px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:500px;margin:24px 0 0}.ruled-section{padding-block:57px}.services-grid{grid-template-columns:1fr}.service{padding:28px}.service-tag{margin-bottom:24px}.company{grid-template-columns:1fr;gap:14px}.process-grid{grid-template-columns:1fr 1fr;gap:32px}.faq{grid-template-columns:1fr;gap:16px}.contact-inner{grid-template-columns:1fr;gap:34px}.contact-heading>p:not(.eyebrow),.next-steps{max-width:none}.contact-section{padding-block:58px}.contact-heading h2{font-size:3.5rem}.next-steps{margin:24px 0 20px;padding-top:23px}.site-footer{flex-wrap:wrap}.site-footer>div{width:100%}}
@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:0}.contact-details{padding:24px 19px}.process-grid{grid-template-columns:1fr;gap:28px}.hero-actions{gap:16px}.hero h1{font-size:clamp(2.95rem,12vw,4.8rem)}.hero-description{font-size:1.06rem}.eyebrow{font-size:.67rem}.brand-window{padding:22px 16px 18px}.service{padding:24px}.site-footer{gap:22px}.hero-location{margin-top:22px}.contact-heading h2{font-size:3rem}.button{padding-inline:20px}.site-header{gap:10px}.wordmark{letter-spacing:.16em}.motion-control{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-control{display:none!important}}
