:root { --ws-ink:#1c1724; --ws-paper:#f7f4f0; --ws-white:#fffdf9; --ws-muted:#6e6673; --ws-purple:#7829ec; --ws-line:#dcd5df; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ws-paper); color:var(--ws-ink); font-family:Montserrat,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid #a776f1; outline-offset:4px; }
.ws-skip { position:absolute; left:16px; top:-100px; z-index:90; padding:12px 16px; color:#21172c; background:#fff; border-radius:8px; }
.ws-skip:focus { top:12px; }
.ws-shell { width:min(calc(100% - 48px),1240px); margin-inline:auto; }
.ws-eyebrow { display:block; margin:0 0 17px; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.ws-hero { position:relative; overflow:hidden; min-height:700px; padding:25px 0 100px; color:#fff; background:radial-gradient(circle at 88% 20%,rgba(118,73,213,.5),transparent 30%),linear-gradient(125deg,#18121f 6%,#2b1745 60%,#59209d); }
.ws-hero:after { content:""; position:absolute; right:-180px; bottom:-340px; width:700px; height:700px; border:95px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none; }
.ws-hero .alinix-topbar { margin-bottom:clamp(85px,10vw,150px); }
.ws-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:clamp(35px,6vw,90px); align-items:center; position:relative; z-index:1; }
.ws-hero .ws-eyebrow { color:#d9b8ff; }
.ws-hero h1 { max-width:760px; margin:0; font-size:clamp(49px,6vw,82px); line-height:1.01; letter-spacing:-.065em; }
.ws-hero-copy>p { max-width:590px; margin:26px 0 0; color:#ded5e6; font-size:clamp(17px,1.5vw,20px); line-height:1.65; }
.ws-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.ws-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 22px; border:1px solid transparent; border-radius:999px; background:#fff; color:#21172c; font-size:11px; font-weight:700; letter-spacing:.1em; line-height:1.2; text-align:center; text-decoration:none; text-transform:uppercase; }
.ws-button-outline { color:#fff; background:transparent; border-color:rgba(255,255,255,.7); }
.ws-button-dark { color:#fff; background:var(--ws-ink); }
.ws-button:hover { transform:translateY(-2px); }
.ws-hero-art { position:relative; padding:18px; border:1px solid rgba(255,255,255,.18); border-radius:26px; background:rgba(255,255,255,.08); box-shadow:0 28px 70px rgba(0,0,0,.25); }
.ws-browser { min-height:360px; overflow:hidden; border-radius:14px; background:#f3f0ec; color:#22202c; }
.ws-browser-bar { display:flex; align-items:center; gap:6px; height:38px; padding:0 14px; border-bottom:1px solid #ded8dd; background:#fff; }
.ws-browser-bar span { width:7px; height:7px; border-radius:50%; background:#b7aebd; }
.ws-browser-address { margin-left:auto; padding-right:5px; color:#8c8390; font-size:9px; }
.ws-browser-body { padding:28px; }
.ws-browser-brand { font-size:19px; font-weight:700; letter-spacing:.02em; }
.ws-browser-brand i { color:#9d3974; font-style:normal; }
.ws-browser-head { max-width:12ch; margin:38px 0 16px; font-size:clamp(27px,3vw,39px); font-weight:700; line-height:1.07; letter-spacing:-.06em; }
.ws-browser-copy { max-width:29ch; color:#6e6673; font-size:11px; line-height:1.65; }
.ws-browser-chip { display:inline-block; margin-top:27px; padding:9px 13px; border-radius:999px; color:#fff; background:#9d3974; font-size:9px; font-weight:700; }
.ws-hero-art-note { margin:14px 6px 2px; color:#e4d8ec; font-size:11px; line-height:1.5; }
.ws-section { padding:clamp(84px,9vw,126px) 0; scroll-margin-top:68px; }
.ws-section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(28px,6vw,90px); align-items:end; margin-bottom:48px; }
.ws-section-head h2,.ws-intro h2,.ws-price h2 { max-width:810px; margin:0; font-size:clamp(39px,5vw,69px); line-height:1.03; letter-spacing:-.057em; }
.ws-section-head>p { max-width:520px; margin:0; color:var(--ws-muted); font-size:17px; line-height:1.65; }
.ws-intro { background:#fffdf9; }
.ws-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,110px); align-items:end; }
.ws-intro .ws-eyebrow { color:#7e3ebc; }
.ws-intro p { max-width:570px; margin:0 0 18px; color:var(--ws-muted); font-size:17px; line-height:1.7; }
.ws-intro p:last-child { margin-bottom:0; }
.ws-work { background:var(--ws-paper); }
.ws-work .ws-eyebrow { color:#7535bc; }
.ws-feature { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:24px; background:#251c30; color:#fff; }
.ws-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-height:430px; padding:clamp(30px,5vw,60px); }
.ws-feature .ws-eyebrow { color:#d5b3fb; }
.ws-feature-copy h3 { max-width:520px; margin:0 0 20px; font-size:clamp(35px,4vw,56px); line-height:1.03; letter-spacing:-.055em; }
.ws-feature-copy p { max-width:520px; margin:0; color:#cfc5d7; font-size:16px; line-height:1.65; }
.ws-feature-copy a { margin-top:32px; color:#e7cbff; font-size:11px; font-weight:700; letter-spacing:.11em; text-decoration:none; text-transform:uppercase; }
.ws-feature-visual { display:flex; flex-direction:column; justify-content:center; gap:21px; min-height:430px; padding:clamp(28px,5vw,60px); background:linear-gradient(145deg,#4c6bdc,#7a3cea); }
.ws-feature-visual>span { color:#e9e3ff; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.ws-feature-visual strong { max-width:400px; font-size:clamp(27px,3vw,43px); line-height:1.08; letter-spacing:-.05em; }
.ws-flow { display:grid; gap:9px; margin-top:14px; }
.ws-flow span { display:block; max-width:320px; padding:12px 16px; border:1px solid rgba(255,255,255,.45); border-radius:12px; background:rgba(255,255,255,.11); font-size:12px; font-weight:700; }
.ws-other-work { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.ws-site-card { display:flex; flex-direction:column; justify-content:space-between; min-height:280px; padding:30px; border-radius:20px; color:#fff; text-decoration:none; background:#0f857b; }
.ws-site-card:nth-child(2) { background:#f1ca3e; color:#21172c; }
.ws-site-card small { font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ws-site-card h3 { max-width:370px; margin:0 0 10px; font-size:clamp(29px,3vw,40px); line-height:1.05; letter-spacing:-.045em; }
.ws-site-card p { max-width:440px; margin:0; opacity:.84; font-size:14px; line-height:1.55; }
.ws-site-card span:last-child { display:block; margin-top:22px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ws-work-tail { display:flex; flex-wrap:wrap; gap:12px 30px; justify-content:space-between; margin-top:25px; padding-top:22px; border-top:1px solid var(--ws-line); color:var(--ws-muted); font-size:13px; line-height:1.5; }
.ws-work-tail p { max-width:640px; margin:0; }
.ws-work-tail a { color:#6c2ea7; font-weight:700; text-decoration:none; }
.ws-reviews { background:#191420; color:#fff; }
.ws-reviews .ws-section-head>p { color:#c8bfce; }
.ws-review-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ws-review { display:flex; flex-direction:column; justify-content:space-between; gap:30px; min-height:340px; margin:0; padding:clamp(25px,3vw,40px); border:1px solid rgba(255,255,255,.18); border-radius:18px; }
.ws-review blockquote { margin:0; color:#f2edf5; font-size:clamp(16px,1.4vw,19px); line-height:1.65; }
.ws-review figcaption { color:#bfb1c9; font-size:12px; line-height:1.6; }
.ws-review figcaption strong { display:block; color:#fff; }
/* an odd last review would otherwise sit alone beside an empty cell, so it
   spans the row instead and lays the quote and attribution side by side */
.ws-review:last-child:nth-child(odd) { grid-column:1/-1; min-height:0; }
@media(min-width:651px) {
  .ws-review:last-child:nth-child(odd) { flex-direction:row; align-items:flex-end; gap:clamp(30px,5vw,80px); }
  .ws-review:last-child:nth-child(odd) blockquote { flex:1; }
  .ws-review:last-child:nth-child(odd) figcaption { flex:0 0 auto; min-width:170px; }
}
.ws-included { background:#fffdf9; }
.ws-included .ws-eyebrow,.ws-how .ws-eyebrow { color:#7e3ebc; }
.ws-benefits { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ws-line); }
.ws-benefit { display:grid; grid-template-columns:50px 1fr; gap:20px; padding:31px 18px 31px 0; border-bottom:1px solid var(--ws-line); }
.ws-benefit:nth-child(odd) { padding-right:38px; }
.ws-benefit:nth-child(even) { padding-left:38px; }
.ws-benefit>span { padding-top:4px; color:#8b43c4; font-size:11px; font-weight:700; letter-spacing:.14em; }
.ws-benefit h3 { margin:0 0 11px; font-size:clamp(21px,2vw,29px); line-height:1.15; letter-spacing:-.04em; }
.ws-benefit p { max-width:430px; margin:0; color:var(--ws-muted); font-size:14px; line-height:1.65; }
.ws-how { background:var(--ws-paper); }
.ws-steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ws-line); }
.ws-step { padding:32px 25px 15px 0; }
.ws-step:not(:last-child) { border-right:1px solid var(--ws-line); margin-right:25px; }
.ws-step>span { color:#8b43c4; font-size:11px; font-weight:700; letter-spacing:.15em; }
.ws-step h3 { margin:50px 0 12px; font-size:clamp(24px,2.4vw,32px); letter-spacing:-.045em; }
.ws-step p { max-width:260px; margin:0; color:var(--ws-muted); font-size:14px; line-height:1.65; }
.ws-how-note { margin:32px 0 0; color:var(--ws-muted); font-size:13px; line-height:1.6; }
.ws-price { color:#fff; background:linear-gradient(125deg,#4d1a90,#7829ec); }
.ws-price .ws-shell { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.75fr); gap:50px; align-items:center; }
.ws-price .ws-eyebrow { color:#e2c7ff; }
.ws-price h2 { max-width:700px; }
.ws-price p { max-width:560px; color:#eee2fc; font-size:17px; line-height:1.65; }
.ws-price-card { padding:34px; border:1px solid rgba(255,255,255,.35); border-radius:22px; background:rgba(255,255,255,.09); }
.ws-price-card small { display:block; color:#ead6ff; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ws-price-card strong { display:block; margin:12px 0; font-size:clamp(35px,4vw,57px); line-height:1; letter-spacing:-.05em; white-space:nowrap; }
.ws-price-card p { margin:0; font-size:13px; }
.ws-price-card .ws-actions { flex-direction:column; margin-top:28px; }
.ws-price-card .ws-button { width:100%; }
.ws-contact-links { display:flex; gap:15px; flex-wrap:wrap; margin-top:27px; }
.ws-contact-links a { color:#ead6ff; font-size:12px; text-decoration:none; }
@media(max-width:900px) { .ws-hero-grid,.ws-feature,.ws-price .ws-shell { grid-template-columns:1fr; } .ws-hero-art { max-width:560px; } .ws-steps { grid-template-columns:repeat(2,1fr); gap:22px; } .ws-step:nth-child(2) { border-right:0; margin-right:0; } }
@media(max-width:650px) { .ws-shell { width:calc(100% - 40px); } .ws-hero { min-height:0; padding-bottom:70px; } .ws-hero .alinix-topbar { margin-bottom:75px; } .ws-hero h1 { font-size:clamp(43px,10vw,58px); } .ws-hero-grid { gap:42px; } .ws-hero-art { max-width:430px; } .ws-section { padding:76px 0; } .ws-section-head,.ws-intro-grid,.ws-other-work,.ws-review-grid { grid-template-columns:1fr; } .ws-section-head { gap:20px; margin-bottom:34px; } .ws-section-head>p { font-size:16px; } .ws-feature-copy,.ws-feature-visual { min-height:310px; } .ws-feature-copy { padding:30px; } .ws-feature-visual { padding:30px; } .ws-review { min-height:0; } .ws-benefits { grid-template-columns:1fr; } .ws-benefit:nth-child(n) { padding:27px 0; } .ws-steps { grid-template-columns:1fr; gap:0; } .ws-step,.ws-step:not(:last-child) { margin:0; padding:25px 0; border-right:0; border-bottom:1px solid var(--ws-line); } .ws-step h3 { margin:20px 0 10px; } .ws-price .ws-shell { gap:20px; } }
@media(max-width:390px) { .ws-browser { min-height:330px; } .ws-browser-body { padding:22px; } .ws-actions { flex-direction:column; align-items:stretch; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .ws-button:hover { transform:none; } }
