:root { --ink:#1b1a2a; --muted:#676577; --paper:#fbfaf7; --violet:#4c3b9e; --violet-deep:#24165e; --lilac:#e7e1fa; --coral:#ff6f61; --line:#dfdbe7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:82px; display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:auto; padding:0 32px; }
.brand { display:flex; align-items:center; gap:9px; font-weight:700; letter-spacing:-.04em; font-size:18px; }
.brand-mark { color:var(--coral); font-size:22px; }
nav { display:flex; gap:30px; font-size:14px; font-weight:600; }
nav a:hover,.text-link:hover { color:var(--violet); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:0 24px; border-radius:100px; background:var(--violet); color:white; font-size:14px; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { background:var(--violet-deep); transform:translateY(-2px); }
.button-small { min-height:39px; padding:0 17px; font-size:13px; }
.hero { max-width:1240px; min-height:590px; margin:0 auto 30px; padding:68px 68px; background:var(--lilac); border-radius:26px; display:grid; grid-template-columns:1.06fr .94fr; overflow:hidden; }
.eyebrow { margin:0 0 19px; color:var(--violet); letter-spacing:.11em; font-size:11px; line-height:1.4; font-weight:700; }
h1,h2 { margin:0; letter-spacing:-.055em; font-family:"Playfair Display",Georgia,serif; font-weight:500; }
h1 { max-width:650px; font-size:64px; line-height:1.02; }
h1 em { color:var(--violet); font-style:italic; }
.hero-text { max-width:525px; margin:27px 0; color:#4e4a60; font-size:17px; line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:25px; }
.text-link { border-bottom:1px solid currentColor; padding-bottom:4px; font-size:14px; font-weight:700; }
.text-link span { color:var(--coral); font-size:18px; margin-left:5px; }
.hero-art { position:relative; min-height:400px; display:flex; align-items:center; justify-content:center; }
.halo-core { position:relative; z-index:2; width:184px; height:184px; display:grid; place-items:center; border-radius:50%; background:var(--violet); color:#fff; box-shadow:0 0 0 22px rgba(255,255,255,.32), 0 0 0 60px rgba(255,255,255,.18); }
.halo-core span { font-family:"Playfair Display",serif; font-size:52px; letter-spacing:-.14em; margin-left:-9px; }
.orbit { position:absolute; border:1px solid rgba(76,59,158,.35); border-radius:50%; transform:rotate(-25deg); }
.orbit-one { width:460px; height:225px; }
.orbit-two { width:356px; height:360px; transform:rotate(35deg); border-color:rgba(255,111,97,.48); }
.hero-art p { position:absolute; z-index:3; right:9px; top:31px; margin:0; color:var(--violet); font-size:12px; font-weight:700; letter-spacing:.1em; line-height:1.45; }
.spark { position:absolute; z-index:3; color:var(--coral); font-size:31px; }.spark-one{top:78px;left:70px}.spark-two{right:38px;bottom:72px;font-size:20px}
.intro-strip { max-width:1240px; margin:0 auto; padding:0 32px 82px; display:flex; justify-content:center; gap:28px; color:#504d5e; font-size:13px; font-weight:600; }.intro-strip span{color:var(--coral)}
.section { max-width:1240px; margin:0 auto; padding:100px 32px; }.section-heading { max-width:710px; }.section h2 { font-size:47px; line-height:1.11; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }.service-grid article { min-height:260px; padding:29px; border:1px solid var(--line); border-radius:16px; background:#fff; }.service-number{display:block;color:var(--coral);font-size:13px;font-weight:700;margin-bottom:70px}.service-grid h3,.process h3,.principles h3{margin:0 0 10px;font-size:19px;letter-spacing:-.035em}.service-grid p,.process p,.principles p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.statement { display:grid; grid-template-columns:1.14fr .86fr; gap:22px; padding-top:25px; }.statement-card,.quote-card{border-radius:20px;padding:58px}.statement-card{background:var(--violet-deep);color:#fff}.statement-card .eyebrow{color:#bfb4ef}.statement-card h2{font-size:48px;line-height:1.08}.statement-card>p:not(.eyebrow){max-width:590px;color:#ddd8f5;line-height:1.65;margin:22px 0 30px;font-size:16px}.statement-card .text-link{color:#fff}.quote-card{position:relative;background:var(--coral);display:flex;flex-direction:column;justify-content:center}.quote-mark{font-family:Georgia,serif;font-size:80px;line-height:.5;color:#fff}.quote-card p{font-family:"Playfair Display",serif;font-size:31px;line-height:1.2;letter-spacing:-.04em}.quote-star{position:absolute;right:36px;bottom:32px;color:#fff;font-size:27px}
.process { padding-top:115px; }.process-heading{margin-bottom:44px}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:29px 0;border-bottom:1px solid var(--line)}.process li>span{color:var(--coral);font-size:13px;font-weight:700}.process li div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.process h3{font-size:21px}
.principles{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:40px;padding-bottom:110px}.principles ul{margin:0;padding:0;list-style:none}.principles li{display:grid;grid-template-columns:25px 1fr;gap:14px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.principles li>span{color:var(--coral)}
.contact { text-align:center; padding:105px 24px; color:#fff; background:var(--violet); }.contact .eyebrow{color:#c8c0ff}.contact h2{max-width:720px;margin:0 auto 30px;font-size:52px;line-height:1.1}.button-light{background:#fff;color:var(--violet)}.button-light:hover{background:#f3efff}.contact-note{margin:18px 0 0;color:#d9d3fa;font-size:12px}
footer{max-width:1240px;margin:auto;padding:30px 32px;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;color:var(--muted);font-size:12px}footer .brand{font-size:15px;color:var(--ink)}footer p:last-child{text-align:right}
@media (max-width:800px){.site-header{padding:0 20px;height:70px}.site-header nav{display:none}.hero{margin:0 12px;padding:55px 30px;grid-template-columns:1fr;min-height:auto}.hero-art{min-height:320px;margin-top:35px}h1{font-size:47px}.section{padding:70px 22px}.section h2{font-size:38px}.intro-strip{padding:0 20px 55px;gap:12px;text-align:center}.intro-strip p:last-child{display:none}.service-grid,.statement,.principles{grid-template-columns:1fr}.service-grid{margin-top:35px}.statement{padding:0 22px;gap:12px}.statement-card,.quote-card{padding:38px 30px}.statement-card h2,.contact h2{font-size:39px}.quote-card p{font-size:28px}.process li{grid-template-columns:50px 1fr;gap:12px}.process li div{grid-template-columns:1fr}.principles{gap:40px;padding-top:70px}.contact{padding:76px 22px}footer{grid-template-columns:1fr;gap:15px;padding:28px 22px}footer p:last-child{text-align:left}.hero-art p{right:0}.orbit-one{width:330px}.orbit-two{width:280px}}
