:root{--bg:#050508;--bg2:#080910;--panel:#0d0d16;--border:rgba(255,255,255,.09);--accent:#4f6fff;--a2:#00e5ff;--green:#25d366;--white:#f7f7ff;--text:#eeeeF8;--muted:#9292b2}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.65}
body h1,body h2,body h3{font-family:"DM Sans",sans-serif!important;letter-spacing:-.035em}
body nav[aria-label="Primary navigation"]{position:sticky;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:.65rem 5%;border-bottom:1px solid var(--border);background:rgba(5,5,8,.9);backdrop-filter:blur(22px)}
body .logo img{display:block;width:auto;height:46px}
body .nav-links{display:flex;align-items:center;gap:1.35rem;margin:0 0 0 auto;padding:0;list-style:none}
body .nav-links a{color:var(--muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}
body .nav-links a:hover,body .nav-links a:focus-visible,body .nav-links a[aria-current="page"]{color:var(--white)}
body .nav-cta{display:flex;gap:.55rem;margin-left:1.4rem}
body .nav-cta a,body .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 1rem;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#fff;text-decoration:none;font-size:.86rem;font-weight:700;transition:transform .2s,border-color .2s,background .2s}
body .nav-cta a:first-child{border-color:rgba(37,211,102,.4);color:var(--green);background:transparent}
body .nav-cta a:last-child{border-color:transparent;background:var(--green)}
body .button.primary{border-color:transparent;background:linear-gradient(135deg,#5a5cff,#425dff);box-shadow:0 12px 35px rgba(79,111,255,.22)}
body .button:hover,body .nav-cta a:hover{transform:translateY(-2px)}
body main{min-height:calc(100vh - 150px);overflow:hidden;background:var(--bg)}
body .wrap{width:min(1180px,90%);margin-inline:auto}
body .hero{position:relative;padding:7rem 0 5.2rem;border-bottom:1px solid var(--border);background:radial-gradient(circle at 78% 22%,rgba(79,111,255,.14),transparent 35%),linear-gradient(180deg,#080812,var(--bg))}
body .hero::before{content:"";position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}
body .hero .wrap{position:relative}
body .eyebrow{margin:0 0 1rem;color:var(--a2);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
body h1{max-width:920px;margin:0;font-size:clamp(2.7rem,4.8vw,4.65rem);line-height:1.02}
body .lead{max-width:760px;margin:1.5rem 0 0;color:#b6b6d0;font-size:clamp(1.05rem,1.7vw,1.26rem);line-height:1.72}
body .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
body .section,body .note,body .faq{padding:5.5rem 5%;border-top:1px solid var(--border);background:var(--bg)}
body .section.alt,body .note:nth-of-type(even),body .faq:nth-of-type(even){background:var(--bg2)}
body .section-grid,body .note-grid,body .faq-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:5rem}
body .section h2,body .note h2,body .faq h2,body .booking-info h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.65rem);line-height:1.15}
body .copy,body .note p,body .faq p{margin:0;color:#aaaac4;font-size:1rem;line-height:1.78}
body .cards{display:grid;grid-template-columns:1fr;margin-top:3rem;border-top:1px solid var(--border)}
body .card{display:grid;grid-template-columns:42px minmax(180px,.5fr) 1fr;gap:1.25rem;align-items:center;padding:1.35rem 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
body .card::before{counter-increment:company-card;content:"0" counter(company-card);color:var(--a2);font-size:.72rem;font-weight:800}
body .cards{counter-reset:company-card}
body .card h3{margin:0;font-size:1.05rem;letter-spacing:-.015em}
body .card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.65}
body .trust{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}
body .trust span{padding:.5rem .75rem;border:1px solid var(--border);border-radius:999px;color:#c9cbe0;font-size:.8rem}
body .contact-grid{display:grid;grid-template-columns:1fr;padding:4.5rem 0 6rem}
body .contact-card{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;min-height:auto;padding:1.65rem 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:#fff;text-decoration:none;transition:padding .2s,border-color .2s}
body .contact-card:first-child{border-top:1px solid var(--border)}
body .contact-card::before{counter-increment:contact-card;content:"0" counter(contact-card);color:var(--a2);font-size:.75rem;font-weight:800}
body .contact-grid{counter-reset:contact-card}
body .contact-card div{align-self:auto}
body .contact-card h2{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.2}
body .contact-card p{margin:.4rem 0 0;color:var(--muted);line-height:1.6}
body .contact-card strong{margin:0 0 0 2rem;color:var(--a2);font-size:.88rem;white-space:nowrap}
body .contact-card:hover{padding-inline:1rem;border-color:rgba(0,229,255,.35);transform:none}
body .booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;padding:4.5rem 0 6rem}
body .booking-info,body .booking-form{border:1px solid var(--border);border-radius:18px;background:var(--panel)}
body .booking-info{padding:2rem}
body .booking-info>p{color:var(--muted);line-height:1.7}
body .steps{display:grid;gap:0;margin-top:2rem;border-top:1px solid var(--border)}
body .step{display:grid;grid-template-columns:38px 1fr;gap:.9rem;padding:1.1rem 0;border-bottom:1px solid var(--border)}
body .step span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(0,229,255,.25);border-radius:9px;color:var(--a2);font-size:.75rem;font-weight:800}
body .step strong{display:block;margin:.1rem 0 .25rem}
body .step p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
body .booking-form{padding:2rem}
body .fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
body .field{display:grid;gap:.45rem}
body .field.full{grid-column:1/-1}
body .field label{color:#d9daf0;font-size:.84rem;font-weight:700}
body .field input,body .field select,body .field textarea{width:100%;min-height:48px;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:11px;outline:none;color:#fff;background:#080a12;font:inherit}
body .field textarea{min-height:120px;resize:vertical}
body .field input:focus,body .field select:focus,body .field textarea:focus{border-color:rgba(0,229,255,.55);box-shadow:0 0 0 3px rgba(0,229,255,.06)}
body .field select option{background:#080a12}
body .submit-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}
body .submit-row button{border:0;cursor:pointer}
body .privacy-note{max-width:370px;margin:0;color:#8587a2;font-size:.78rem;line-height:1.5}
body .questions{display:grid;border-top:1px solid var(--border)}
body .question{padding:1.2rem 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}
body .question h3{margin:0;font-size:1rem;letter-spacing:-.01em}
body .question p{margin:.45rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.68}
body footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 5%;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
body .footer-links{display:flex;gap:1.2rem;flex-wrap:wrap}
body footer a{color:inherit;text-decoration:none}
body footer a:hover{color:var(--a2)}
.appointment-page .hero{padding:3.8rem 0 2.5rem}
.appointment-page .hero h1{max-width:760px;font-size:clamp(2.5rem,3.9vw,3.65rem)}
.appointment-page .lead{margin-top:1rem;font-size:clamp(1rem,1.45vw,1.14rem)}
.appointment-page .booking-grid{padding:1.5rem 0 4rem}
.appointment-page .booking-info,.appointment-page .booking-form{padding:1.5rem}
.appointment-page .booking-info h2{font-size:clamp(1.55rem,2.2vw,2.05rem)}
.appointment-page .booking-info>p{margin:.65rem 0 0}
.appointment-page .steps{margin-top:1rem}
.appointment-page .step{padding:.72rem 0}
.appointment-page .fields{gap:.72rem 1rem}
.appointment-page .field{gap:.3rem}
.appointment-page .field input,.appointment-page .field select{min-height:43px;padding:.58rem .75rem}
.appointment-page .field textarea{min-height:82px;padding:.65rem .75rem}
.appointment-page .submit-row{margin-top:.85rem}
@media(max-width:760px){
  body nav[aria-label="Primary navigation"]{min-height:64px;padding:.65rem 3%}
  body .logo img{height:34px}
  body .nav-links{gap:.55rem;white-space:nowrap}
  body .nav-links a,body .nav-services-toggle,body .nav-products-toggle{font-size:.68rem}
  body .nav-cta{display:none}
  body .hero{padding:4.9rem 0 3.6rem}
  body h1{font-size:clamp(2.3rem,10vw,3.15rem)}
  body .section,body .note,body .faq{padding:4rem 5%}
  body .section-grid,body .note-grid,body .faq-grid,body .booking-grid{grid-template-columns:1fr;gap:1.7rem}
  body .card{grid-template-columns:34px 1fr;gap:.85rem}
  body .card p{grid-column:2}
  body .contact-grid{padding:3rem 0 4.5rem}
  body .contact-card{grid-template-columns:40px 1fr;padding:1.35rem 0}
  body .contact-card strong{grid-column:2;margin:.8rem 0 0;white-space:normal}
  body .booking-grid{padding:3rem 0 4.5rem}
  body .booking-info,body .booking-form{padding:1.35rem}
  body .fields{grid-template-columns:1fr}
  body .field.full{grid-column:auto}
  body footer{flex-direction:column}
  .appointment-page .hero{padding:3.2rem 0 2.2rem}
  .appointment-page .booking-grid{padding:1.25rem 0 3.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
