/* Shared styles for generated pages (areas, services). Tokens match index.html. */
:root{--bg:#0b0a14;--bg2:#13111f;--card:#1a1729;--line:rgba(255,255,255,.12);--text:#f4f1ff;--muted:#b7b1cf;--gold:#ffd166;--orange:#ff7a1a;--green:#2fd480;--display:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--radius:18px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;padding-top:112px}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{width:min(1100px,100% - 40px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* marquee */
.marquee{position:fixed;top:0;left:0;right:0;height:40px;z-index:60;background:#000;color:#fff;overflow:hidden;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.18)}
.marquee-track{display:flex;flex:none;white-space:nowrap;animation:marq 32s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee .grp{display:flex;flex:none}
.marquee .item{font-weight:900;font-size:.95rem;letter-spacing:.07em;text-transform:uppercase;padding:0 1.5rem;color:#fff;text-decoration:none}
.marquee .item::after{content:"★";margin-left:3rem}
@keyframes marq{to{transform:translateX(-50%)}}

/* header */
header.site{position:fixed;top:40px;left:0;right:0;z-index:50;background:rgba(11,10,20,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1.6rem}
.logo{display:flex;align-items:center;gap:.6rem;white-space:nowrap;text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.3rem;color:#fff}
.bulbs{display:flex;gap:3px}
.bulbs i{width:9px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;animation:tw 1.6s ease-in-out infinite}
.bulbs i:nth-child(1){background:#e8353f}.bulbs i:nth-child(2){background:var(--gold);animation-delay:.3s}.bulbs i:nth-child(3){background:var(--green);animation-delay:.6s}.bulbs i:nth-child(4){background:#7fd6ff;animation-delay:.9s}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.35}}
nav ul{display:flex;gap:1.4rem;list-style:none;align-items:center}
nav a{text-decoration:none;font-weight:500;font-size:.95rem;color:#fff;white-space:nowrap}
nav a:hover{color:var(--gold)}
.menu-btn{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:.5rem}
@media(max-width:1180px){
  .menu-btn{display:block}
  nav ul{position:fixed;top:112px;left:0;right:0;background:rgba(11,10,20,.98);flex-direction:column;padding:1.4rem 20px 2rem;gap:1.1rem;transform:translateY(-130%);visibility:hidden;transition:transform .3s,visibility 0s .3s;border-bottom:1px solid var(--line);align-items:flex-start}
  nav ul.open{transform:none;visibility:visible;transition:transform .3s}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:700;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--gold);color:#17101f;box-shadow:0 8px 26px -8px var(--gold)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.06)}
nav .btn{padding:.55rem 1.1rem;font-size:.9rem;color:#17101f}
nav .btn:hover{color:#17101f}
.btn[disabled]{opacity:.65;cursor:wait;transform:none}

/* hero */
.page-hero{padding:clamp(28px,5vw,56px) 0 clamp(36px,6vw,64px);background:radial-gradient(ellipse at 85% 0%,rgba(155,92,255,.22),transparent 50%),radial-gradient(ellipse at 0% 100%,rgba(255,122,26,.12),transparent 50%),var(--bg)}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.kicker{color:var(--gold);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;margin-bottom:.7rem}
h1{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.015em}
.answer{font-size:1.15rem;color:#e7e2f7;margin:1.1rem 0 1.5rem;max-width:620px}
.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.trust{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;margin-top:1.4rem;font-size:.92rem;color:#d8d2ee}
.trust li::before{content:"✓";color:var(--green);font-weight:800;margin-right:.4rem}
figure.photo{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
figure.photo figcaption{font-size:.78rem;color:var(--muted);padding:.5rem .8rem;background:rgba(0,0,0,.35)}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}

/* sections */
section.blk{padding:clamp(40px,6vw,72px) 0}
section.alt{background:var(--bg2)}
h2{font-family:var(--display);font-size:clamp(1.55rem,3.2vw,2.2rem);line-height:1.15;font-weight:800;margin-bottom:.9rem}
h3{font-family:var(--display);font-size:1.18rem;margin-bottom:.35rem}
p{color:#e7e2f7;margin-bottom:.9rem}
.lead{font-size:1.08rem;max-width:760px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:1.4rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.3rem}
.card p{font-size:.96rem;color:var(--muted);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1.1rem;list-style:none}
.chips li{padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.9rem;background:rgba(255,255,255,.04)}
.prose ul.checks,ul.checks{list-style:none;display:grid;gap:.6rem;margin:.6rem 0 1rem;max-width:760px}
ul.checks li{padding-left:1.6rem;position:relative;color:#e7e2f7}
ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}

/* price table */
.price-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.2rem}
.price{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.price .amt{font-family:var(--display);font-weight:800;font-size:1.7rem;color:var(--gold);line-height:1.15}
.price .unit{font-size:.88rem;color:var(--muted);margin-bottom:.4rem}
.price p{font-size:.92rem;margin:0;color:#d8d2ee}
.note{font-size:.9rem;color:var(--muted);margin-top:1rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;counter-reset:s;margin-top:1.2rem}
.step{padding-top:3rem;position:relative}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:0;left:0;font-family:var(--display);font-size:2.4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--gold),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.step p{font-size:.95rem;color:var(--muted)}

/* faq */
details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:.7rem;overflow:hidden}
summary{cursor:pointer;padding:1rem 1.2rem;font-weight:600;list-style:none;position:relative;padding-right:2.6rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.4rem;font-weight:700}
details[open] summary::after{content:"–"}
details p{padding:0 1.2rem 1.1rem;margin:0;color:#e7e2f7}

/* area lists */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.1rem 0 1.8rem}
.area-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;text-decoration:none;color:var(--text);transition:transform .2s,border-color .2s}
.area-card:hover{transform:translateY(-4px);border-color:rgba(255,209,102,.6)}
.area-card b{font-family:var(--display);font-size:1.15rem;display:block;color:#fff}
.area-card span{font-size:.88rem;color:var(--muted)}
.links{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin-top:.8rem}
.links a{display:inline-block;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:#fff;font-size:.93rem;background:rgba(255,255,255,.04)}
.links a:hover{border-color:var(--gold);color:var(--gold)}

/* quote */
.quote-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.4rem,4vw,3rem);align-items:start}
@media(max-width:860px){.quote-wrap{grid-template-columns:1fr}}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(1.2rem,3vw,2rem)}
form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f{display:grid;gap:.35rem}.f.full{grid-column:1/-1}
label,legend{font-size:.85rem;font-weight:600;color:#d8d2ee}
input,select,textarea{width:100%;background:#0f0d1b;border:1.5px solid rgba(255,255,255,.14);border-radius:12px;padding:.8rem 1rem;color:#fff;font:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,209,102,.2)}
textarea{min-height:100px;resize:vertical}
fieldset{border:0;grid-column:1/-1}
.chips-in{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}
.chips-in label{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1.5px solid rgba(255,255,255,.18);border-radius:999px;cursor:pointer;font-weight:500}
.chips-in input{position:absolute;opacity:0;width:0;height:0}
.chips-in label:has(input:checked){background:var(--gold);color:#17101f;border-color:var(--gold);font-weight:700}
.chips-in label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent .check{display:flex;gap:.7rem;align-items:flex-start;font-weight:500;font-size:.88rem;color:#d8d2ee;cursor:pointer}
.consent .check input{width:20px;height:20px;flex:none;margin-top:.15rem;accent-color:#ffd166}
.form-note{grid-column:1/-1;font-size:.88rem;color:var(--muted)}
.form-note a{color:var(--gold);font-weight:700}
@media(max-width:560px){form{grid-template-columns:1fr}}
.contact-lines{display:grid;gap:.8rem;margin-top:1.2rem}
.contact-lines div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem}
.contact-lines b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.1rem}
.contact-lines a{font-size:1.25rem;font-weight:700;text-decoration:none}

/* footer */
footer.site{background:#07060d;border-top:1px solid var(--line);padding:2.6rem 0 2rem;color:var(--muted);font-size:.92rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.6rem}
@media(max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot{grid-template-columns:1fr}}
footer h4{color:#fff;font-size:.95rem;margin-bottom:.6rem}
footer ul{list-style:none;display:grid;gap:.4rem}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--gold)}
footer .copy{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.85rem}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.marquee-track{animation:none}.marquee .grp+.grp{display:none}}
