:root{--purple:#6c2d91;--purple-dark:#4b1d68;--ink:#17131b;--muted:#6d6870;--line:#e9e5eb;--soft:#f7f5f8;--white:#fff;--shadow:0 18px 55px rgba(36,20,45,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);margin-bottom:12px}h1,h2,h3{line-height:1.1;margin:0 0 18px}h1{font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.06em}h2{font-size:clamp(2.1rem,4vw,4rem);letter-spacing:-.04em}h3{font-size:1.35rem}p{margin:0 0 18px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.25s}.button-primary{background:var(--purple);color:#fff}.button-primary:hover{background:var(--purple-dark);transform:translateY(-2px)}.button-secondary{border-color:var(--ink);color:var(--ink)}.button-secondary:hover{background:var(--ink);color:#fff}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,229,235,.8)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-size:1.18rem;font-weight:800}.brand img{width:48px;height:48px;object-fit:contain}.brand small{display:block;font-size:.62rem;color:var(--muted);letter-spacing:.11em}.nav-links{display:flex;align-items:center;gap:28px;font-weight:700;font-size:.92rem}.nav-links a:not(.button):hover,.nav-links .active{color:var(--purple)}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem}.hero{padding:90px 0 80px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.hero-copy p{font-size:1.13rem;max-width:660px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.portrait-wrap{position:relative}.portrait-wrap:before{content:"";position:absolute;inset:-22px 38px 28px -24px;border-radius:42px;background:linear-gradient(145deg,#f4eef7,#fff);z-index:-1}.portrait{aspect-ratio:4/5;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.trust-item strong{display:block;color:var(--purple);font-size:1rem}.trust-item span{font-size:.9rem;color:var(--muted)}section{padding:105px 0}.soft{background:var(--soft)}.section-head{max-width:760px;margin-bottom:52px}.service-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:25px}.card-number{color:var(--purple);font-weight:900;font-size:.82rem;letter-spacing:.12em}.text-link{font-weight:800;color:var(--purple)}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:76px;align-items:center}.about-image{border-radius:30px;aspect-ratio:4/3;object-fit:cover}.check-list{padding:0;margin:28px 0;list-style:none}.check-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--purple);font-weight:900}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step{padding:28px;border-top:3px solid var(--purple);background:#fff}.step strong{font-size:2rem;color:#d7c3e0}.cta{background:var(--purple);color:#fff;border-radius:34px;padding:55px;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta p{color:#eee0f4;max-width:680px}.cta .button{background:#fff;color:var(--purple)}footer{background:#17131b;color:#fff;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-grid p,.footer-grid a,.footer-grid span{color:#bbb4bf}.footer-links{display:grid;gap:10px}.copyright{margin-top:45px;padding-top:22px;border-top:1px solid #373139;color:#8f8792;font-size:.85rem}.page-hero{padding:90px 0 55px}.page-hero p{font-size:1.12rem;max-width:760px}.discipline{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding:54px 0;border-top:1px solid var(--line)}.discipline:nth-child(even) .discipline-image{order:2}.discipline-image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.discipline-copy{max-width:520px}.discipline-copy ul{padding-left:20px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-card{background:var(--soft);padding:36px;border-radius:26px}.contact-lines{display:grid;gap:18px}.contact-lines strong{display:block;color:var(--purple)}form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-weight:700;font-size:.9rem}input,textarea{width:100%;padding:15px 16px;border:1px solid #dcd6df;border-radius:12px;font:inherit;margin-top:6px}textarea{min-height:160px;resize:vertical}.project-hero{border-radius:30px;overflow:hidden}.project-hero img{width:100%;height:560px;object-fit:cover}.note{font-size:.82rem;color:#8b848e}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:24px 20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-toggle{display:block}.hero-grid,.about-grid,.contact-grid,.discipline{grid-template-columns:1fr}.hero{padding-top:55px}.portrait{max-height:680px;width:100%}.service-preview{grid-template-columns:1fr 1fr}.process,.trust-grid{grid-template-columns:1fr 1fr}.discipline:nth-child(even) .discipline-image{order:0}.footer-grid{grid-template-columns:1fr 1fr}.cta{align-items:flex-start;flex-direction:column}.project-hero img{height:400px}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.service-preview,.process,.trust-grid,.footer-grid,.form-row{grid-template-columns:1fr}.nav{height:72px}.nav-links{top:72px}section{padding:72px 0}.hero{padding:44px 0 60px}.cta{padding:34px 26px;border-radius:24px}.discipline{gap:28px;padding:38px 0}.project-hero img{height:270px}}

.form-status{margin-bottom:18px;padding:14px 16px;border-radius:10px;font-weight:600}
.form-status.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.form-status.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* SEO/AI content components */
.faq-section{padding-top:90px}.faq-list{max-width:900px;display:grid;gap:14px}.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 22px}.faq-item summary{cursor:pointer;list-style:none;font-weight:800;padding:20px 34px 20px 0;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;color:var(--purple);font-size:1.35rem}.faq-item[open] summary:after{content:"−"}.faq-item p{padding:0 0 20px;margin:0;max-width:780px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Software page */
.software-hero{background:linear-gradient(180deg,#fff 0%,#faf7fb 100%)}.software-hero h1{max-width:1050px}.software-hero p{max-width:850px}.software-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.product-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding:58px 0;border-top:1px solid var(--line)}.product-feature.reverse .product-visual{order:2}.product-visual{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:var(--soft)}.product-visual img{width:100%;aspect-ratio:16/10;object-fit:cover}.product-copy{max-width:530px}.product-copy ul{padding-left:20px;color:var(--muted);margin:24px 0 30px}.product-copy li{margin:8px 0}.product-note{margin-top:18px}.software-process .step{border-radius:0 0 18px 18px}@media(max-width:900px){.software-intro,.product-feature{grid-template-columns:1fr}.product-feature.reverse .product-visual{order:0}}
