:root { --ink:#111; --muted:#5c6578; --line:#eceaf2; --orange:#ff7a18; --max:1120px; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; color:var(--ink); background:#fff; font:16px/1.5 "Segoe UI", Helvetica, sans-serif; }
main { flex:1; }
a { color:inherit; }
.wrap { width:min(var(--max), calc(100% - 2rem)); margin-inline:auto; }
.topbar { position:sticky; top:0; z-index:20; padding:.85rem 0 .4rem; background:linear-gradient(#fff 65%, rgba(255,255,255,0)); }
.pill { width:min(var(--max), calc(100% - 2rem)); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; background:#fff; border:1px solid #eee; border-radius:999px; box-shadow:0 12px 40px rgba(17,17,17,.08); padding:.4rem .45rem .4rem .85rem; }
.brand { display:flex; align-items:center; gap:.55rem; text-decoration:none; font-weight:750; letter-spacing:-.03em; }
.mark { width:34px; height:34px; border-radius:50%; background:#111; color:#fff; display:grid; place-items:center; font-weight:800; }
.site-nav { display:flex; align-items:center; gap:.15rem; flex-wrap:wrap; }
.site-nav a { text-decoration:none; font-weight:650; font-size:.88rem; padding:.5rem .62rem; border-radius:999px; white-space:nowrap; }
.site-nav a[aria-current="page"] { background:#f4f4f6; }
.nav-cta { display:grid !important; place-items:center; width:38px; height:38px; background:#111 !important; color:#fff !important; padding:0 !important; }
.tg-icon { width:18px; height:18px; display:block; transform:rotate(-32deg); }
.tg-link { display:inline-flex; align-items:center; width:fit-content; }
.tg-link .tg-icon { width:22px; height:22px; }
.lede-tg { display:flex; }
.lede-tg a { display:inline-flex; color:var(--orange); }
.lede-tg .tg-icon { width:34px; height:34px; }
.tg-label { display:flex; align-items:center; min-height:1.1rem; color:#229ED9; }
.tg-label .tg-icon { width:22px; height:22px; }
.hero { padding:2.6rem 0 1.4rem; }
.hero-grid { display:grid; grid-template-columns:1.25fr .82fr; gap:2.2rem; align-items:start; }
h1 { margin:0; font-size:clamp(2.8rem, 6.2vw, 4.7rem); line-height:.96; letter-spacing:-.05em; font-weight:760; }
.lede { margin:.9rem 0 0; color:var(--orange); font-size:clamp(1.15rem, 2vw, 1.45rem); font-weight:700; letter-spacing:-.03em; max-width:16em; }
.sub { margin:.7rem 0 0; color:var(--muted); max-width:34rem; }
.order-card { background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 18px 50px rgba(17,17,17,.06); padding:1.15rem 1.15rem 1.2rem; }
.order-card h2 { margin:0 0 .2rem; display:flex; align-items:center; gap:.45rem; font-size:1.35rem; letter-spacing:-.03em; }
.order-card h2 .tg-icon { width:18px; height:18px; color:#229ED9; }
.order-card .hint { margin:0 0 .85rem; color:var(--muted); font-size:.92rem; }
.form { display:grid; gap:.7rem; }
.form label { display:grid; gap:.35rem; font-size:.92rem; font-weight:650; }
.form input, .form select, .form textarea { width:100%; font:400 1rem "Segoe UI", sans-serif; border:1px solid #e4e2ea; border-radius:14px; padding:.78rem .85rem; background:#fafafa; }
.form textarea { min-height:88px; resize:vertical; }
.hp { position:absolute; left:-9999px; }
.btn { border:0; cursor:pointer; background:#111; color:#fff; border-radius:999px; padding:.8rem 1.1rem; font:700 .95rem "Segoe UI", sans-serif; }
a.btn, .btn.light { display:inline-block; text-decoration:none; }
.note { margin:0 0 .7rem; padding:.75rem .85rem; border-radius:12px; background:#e9f7ee; border:1px solid #b7e0c2; }
.note[hidden] { display:none; }
.services { color:#fff; background:
  radial-gradient(900px 420px at 12% 0%, rgba(98,62,196,.85), transparent 60%),
  radial-gradient(800px 480px at 88% 10%, rgba(37,99,235,.55), transparent 55%),
  linear-gradient(180deg, #1a1030 0%, #12081f 100%);
  padding:3.4rem 0 3.6rem; }
.services h2 { margin:0 0 .35rem; font-size:clamp(2rem, 4vw, 2.8rem); letter-spacing:-.04em; font-weight:700; }
.services .intro { margin:0 0 1.3rem; color:rgba(255,255,255,.72); }
.lead-band { color:#fff; background:
  radial-gradient(900px 420px at 12% 0%, rgba(98,62,196,.85), transparent 60%),
  radial-gradient(800px 480px at 90% 20%, rgba(37,99,235,.55), transparent 55%),
  linear-gradient(180deg, #1a1030 0%, #12081f 100%);
  padding:3.4rem 0 3.6rem; }
.lead-band h2 { margin:0 0 .85rem; max-width:16em; font-size:clamp(2rem, 4vw, 2.8rem); letter-spacing:-.04em; font-weight:700; }
.lead-band p { margin:.9rem 0 0; max-width:46rem; color:rgba(255,255,255,.78); font-size:1.08rem; }
.glass-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.glass { display:flex; flex-direction:column; gap:.35rem; min-height:150px; padding:1.15rem 1.15rem 1rem; border-radius:18px; text-decoration:none; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); }
.glass:hover { background:rgba(255,255,255,.11); }
.glass strong { font-size:1.12rem; letter-spacing:-.02em; }
.glass span { color:rgba(255,255,255,.72); }
.glass em { margin-top:auto; font-style:normal; color:#ffb067; font-weight:750; }
.prices { padding:3rem 0 3.4rem; }
.prices h2 { margin:0 0 1rem; font-size:clamp(1.8rem, 3vw, 2.4rem); letter-spacing:-.04em; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.price-card { display:block; text-decoration:none; border:1px solid var(--line); border-radius:22px; padding:1.3rem 1.3rem 1.2rem; background:#fff; }
.price-card h3 { margin:0 0 .35rem; font-size:1.3rem; letter-spacing:-.03em; }
.price-card p { margin:0; color:var(--muted); }
.price-card b { display:block; margin-top:.8rem; color:var(--orange); font-size:1.35rem; letter-spacing:-.03em; }
.page { padding:2.2rem 0 3.4rem; }
.page h1 { font-size:clamp(2.2rem, 4.4vw, 3.4rem); }
.page .lede { max-width:32rem; font-size:1.25rem; }
.kicker { margin:0 0 .45rem; color:var(--muted); font-size:.78rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.narrow { width:min(760px, calc(100% - 2rem)); }
.sheet { width:100%; margin:1.25rem 0 0; border:1px solid var(--line); border-radius:24px; padding:1.25rem; background:#fff; }
.sheet h2 { margin:0 0 .45rem; font-size:1.3rem; letter-spacing:-.03em; }
.sheet p { margin:.55rem 0 0; color:var(--muted); }
.sheet .btn { margin-top:.85rem; }
.price-grid { margin-top:1.4rem; }
.site-footer { background:#0d0d12; color:#fff; padding:2rem 0 0; }
.footer-inner { width:min(var(--max), calc(100% - 2rem)); margin:0 auto; display:grid; grid-template-columns:1.1fr 1.4fr .8fr; gap:1.4rem; padding-bottom:1.3rem; }
.footer-inner strong { display:block; margin-bottom:.3rem; }
.footer-inner a { color:rgba(255,255,255,.82); text-decoration:none; }
.footer-col, .footer-inner p { margin:0; display:grid; gap:.35rem; color:rgba(255,255,255,.68); }
.footer-bar { border-top:1px solid rgba(255,255,255,.1); }
.footer-bar p { width:min(var(--max), calc(100% - 2rem)); margin:0 auto; padding:.8rem 0; color:rgba(255,255,255,.45); font-size:.85rem; }
.custom { padding:3.2rem 0 3.6rem; background:#f6f5fb; }
.custom h2 { margin:0 0 .35rem; font-size:clamp(2rem, 4vw, 2.8rem); letter-spacing:-.04em; }
.custom .intro { margin:0 0 1.3rem; color:var(--muted); max-width:40rem; }
.custom-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:1.5rem; align-items:center; }
.custom-copy h3 { margin:0 0 .45rem; font-size:1.55rem; letter-spacing:-.03em; }
.custom-copy p { margin:0 0 1rem; color:var(--muted); }
.shot { width:100%; height:auto; display:block; border-radius:18px; border:1px solid var(--line); box-shadow:0 18px 50px rgba(17,17,17,.08); background:#fff; }
.after { padding:0 0 3.4rem; }
.story { padding:0 0 2.6rem; }
.story h2, .band-soft h2, .split h2 { margin:0 0 .7rem; font-size:clamp(1.7rem, 3vw, 2.2rem); letter-spacing:-.035em; }
.lead-copy { max-width:44rem; }
.lead-copy p, .split p { margin:.75rem 0 0; color:var(--muted); font-size:1.05rem; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-top:1rem; }
.detail { border:1px solid var(--line); border-radius:18px; padding:1.15rem 1.15rem 1.05rem; background:#fff; }
.detail h3 { margin:0 0 .35rem; font-size:1.08rem; letter-spacing:-.02em; }
.detail p { margin:0; color:var(--muted); }
.band-soft { background:#f6f5fb; padding:2.4rem 0; margin:0 0 2.6rem; }
.steps { list-style:none; margin:.2rem 0 0; padding:0; }
.steps li { display:grid; grid-template-columns:11rem 1fr; gap:1rem; padding:.95rem 0; border-top:1px solid #e4e2ea; }
.steps span { color:var(--muted); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.plain { margin:.55rem 0 0; padding-left:1.15rem; color:var(--muted); display:grid; gap:.4rem; }
@media (max-width:980px) {
  .hero-grid, .glass-grid, .price-grid, .footer-inner, .custom-grid, .detail-grid, .split { grid-template-columns:1fr; }
  .steps li { grid-template-columns:1fr; gap:.25rem; }
  h1, .page h1 { font-size:2.4rem; }
  .pill { flex-wrap:wrap; border-radius:22px; }
  .site-nav { width:100%; }
}
