/* Service pages (web design, redesign, costs guide, booking software). Plain and fast:
   the 3D board is for exploring, these are for reading and for search engines. */
:root{
  --bg:#080A1A; --bg2:#0D1128; --panel:rgba(18,23,52,.72); --line:rgba(132,150,210,.2);
  --text:#E9EBFA; --dim:rgba(233,236,255,.66); --dim2:rgba(233,236,255,.42);
  --blue:#4D6BFF; --blue2:#8FA6FF; --amber:#FFB347; --pink:#FF4D7A;
  --display:'Martian Mono',ui-monospace,monospace; --mono:'JetBrains Mono',ui-monospace,monospace;
  --sans:'IBM Plex Sans',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--sans);
  background-image:radial-gradient(60rem 40rem at 85% -10%,rgba(77,107,255,.16),transparent 60%),radial-gradient(40rem 30rem at -10% 30%,rgba(255,179,71,.06),transparent 60%)}
a{color:var(--blue2)}
a:hover{color:#fff}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:10;background:#fff;color:#000;padding:.4rem .7rem;border-radius:6px}

.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1.2rem;padding:.75rem clamp(16px,4vw,2.5rem);
  background:rgba(8,10,26,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font:700 .95rem/1 var(--sans);white-space:nowrap}
.brand img{border-radius:8px;background:#0b0f24}
.top nav{display:flex;gap:1.1rem;margin-left:auto;flex-wrap:wrap}
.top nav a{font:500 .74rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-decoration:none}
.top nav a:hover,.top nav a[aria-current]{color:var(--text)}
.top nav a[aria-current]{text-decoration:underline;text-underline-offset:.35em;text-decoration-color:var(--blue)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.25rem;border-radius:10px;border:1px solid var(--blue);
  background:var(--blue);color:#fff;font:600 1rem/1 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1);color:#fff}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--blue2)}
.btn-sm{padding:.55rem .85rem;font-size:.85rem}

main{max-width:1060px;margin:0 auto;padding:0 clamp(16px,4vw,2.5rem)}
.hero{padding:clamp(3rem,9vw,6rem) 0 clamp(2rem,5vw,3rem)}
.eyebrow{font:600 .74rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem}
h1{font:800 clamp(1.9rem,5.2vw,3.3rem)/1.12 var(--display);letter-spacing:-.02em;margin:0 0 1.1rem;max-width:20ch}
.lead{font-size:clamp(1.05rem,2.2vw,1.25rem);color:var(--dim);max-width:60ch;margin:0 0 1.4rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1.8rem}
.chips li{font:600 .8rem/1 var(--mono);padding:.55rem .75rem;border-radius:999px;border:1px solid rgba(255,179,71,.45);color:var(--amber);background:rgba(255,179,71,.07)}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem}

.block{padding:clamp(2rem,5vw,3rem) 0;border-top:1px solid var(--line)}
h2{font:800 clamp(1.3rem,3vw,1.8rem)/1.2 var(--display);letter-spacing:-.01em;margin:0 0 1.2rem}
h3{font:600 1.05rem/1.35 var(--sans);margin:0 0 .35rem}
.block > p{max-width:65ch;color:var(--dim)}
.small{font-size:.9rem;color:var(--dim2)}
.small a{color:var(--blue2)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.15rem}
.card p{margin:0;color:var(--dim);font-size:.97rem}
.card strong{color:var(--text)}

.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.15rem}
.steps li::before{content:"0" counter(s);display:block;font:700 .8rem/1 var(--mono);color:var(--blue2);margin-bottom:.6rem}
.steps p{margin:0;color:var(--dim);font-size:.97rem}

.prices{width:100%;border-collapse:collapse;margin:0 0 .8rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.prices th,.prices td{padding:.85rem 1.1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prices tr:last-child th,.prices tr:last-child td{border-bottom:0}
.prices th{font-weight:600}
.prices th small{display:block;font-weight:400;color:var(--dim2);font-size:.85rem;margin-top:.15rem}
.prices td{font:600 .95rem/1.5 var(--mono);color:var(--amber);white-space:nowrap}
@media (max-width:560px){.prices td{white-space:normal}.prices th,.prices td{display:block;border-bottom:0;padding:.55rem 1rem}.prices td{padding-top:0}.prices tr{display:block;border-bottom:1px solid var(--line);padding:.35rem 0}}

.ticks{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.55rem;max-width:65ch}
.ticks li{position:relative;padding-left:1.7rem;color:var(--dim)}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:.8rem;height:.8rem;border-radius:3px;background:var(--blue);box-shadow:0 0 10px rgba(77,107,255,.6)}

.examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;margin-bottom:.6rem}
.ex{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:var(--dim)}
.ex img{aspect-ratio:16/10;object-fit:cover;object-position:top}
.ex span{display:block;padding:.75rem 1rem;font-size:.92rem}
.ex strong{color:var(--text)}
.ex:hover{border-color:var(--blue2)}
.ex.wide{max-width:720px}
.ex.wide img{aspect-ratio:16/9}

.about{display:grid;grid-template-columns:160px 1fr;gap:1.6rem;align-items:start}
.about img{border-radius:14px;border:1px solid var(--line);object-fit:cover;width:160px;height:200px}
.about p{color:var(--dim);margin:.4rem 0}
@media (max-width:560px){.about{grid-template-columns:1fr}.about img{width:130px;height:162px}}

.faq{display:grid;gap:.6rem;max-width:760px}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.2rem 1.1rem}
.faq summary{cursor:pointer;font-weight:600;padding:.8rem 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--blue2);font:600 1.1rem/1 var(--mono)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 .9rem;color:var(--dim)}

.quote form{display:grid;gap:.9rem;max-width:560px;margin:1rem 0}
.quote label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
.quote input,.quote textarea{font:400 1rem/1.5 var(--sans);color:var(--text);background:#0b0f24;border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;width:100%}
.quote input:focus,.quote textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent}
.quote button{justify-self:start}
.hp{position:absolute;left:-9999px}

.foot{border-top:1px solid var(--line);margin-top:2rem;padding:2rem clamp(16px,4vw,2.5rem) 2.5rem;text-align:center;color:var(--dim2);font-size:.9rem}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin-bottom:.8rem}
.foot a{color:var(--dim)}
.thanks{min-height:60vh}

@media (max-width:820px){.top nav{display:none}.top .btn-sm{margin-left:auto}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
html{scroll-behavior:smooth}
