:root {
  color-scheme: dark;
  --bg: #050505;
  --panel: #0d0d0d;
  --line: #3a3020;
  --muted: #aca18d;
  --text: #f7f3ea;
  --cyan: #d8a746;
  --cyan-soft: #f2d38c;
  --amber: #d8a746;
  --red: #ff7777;
  --shadow: 0 30px 80px rgba(0,0,0,.3);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--text); background:radial-gradient(circle at 78% 7%,rgba(216,167,70,.11),transparent 29rem),var(--bg); font-family:"DM Sans",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
a { color:inherit; }
.site-header,main,footer { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header { height:80px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.07); }
.brand { display:inline-flex; align-items:center; color:var(--text); text-decoration:none; }
.brand img { display:block; width:184px; height:auto; }
.header-phone { padding:10px 14px; color:var(--cyan-soft); background:#0c0c0c; border:1px solid #4a3a20; border-radius:999px; text-decoration:none; font-size:13px; font-weight:800; }
.header-phone span { margin-right:7px; color:var(--cyan); }

.eyebrow { margin:0 0 14px; color:var(--cyan); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3 { font-family:Manrope,sans-serif; }
.hero { min-height:610px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:64px; padding:76px 0 94px; }
h1 { margin:0; font-size:clamp(52px,7vw,84px); line-height:.96; letter-spacing:-.06em; }
h1 span { color:var(--cyan-soft); }
.hero-text { max-width:670px; margin:28px 0; color:#c2b9a7; font-size:18px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
.primary-btn,.secondary-btn { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:14px; padding:0 19px; border-radius:11px; border:0; text-decoration:none; font-weight:800; transition:.18s ease; cursor:pointer; }
.primary-btn { color:#100c04; background:linear-gradient(135deg,#f0cb73,#bd8427); box-shadow:0 12px 30px rgba(216,167,70,.18); }
.primary-btn:hover { background:linear-gradient(135deg,#f8dc98,#cf9936); transform:translateY(-1px); }
.secondary-btn { color:var(--text); background:#11100e; border:1px solid #4b3d27; }
.secondary-btn:hover { border-color:#8d6b32; }
.trust-line { display:flex; flex-wrap:wrap; gap:16px; margin-top:27px; color:#aaa18f; font-size:12px; }
.trust-line b { margin-right:4px; color:var(--cyan); }
.hero-visual { position:relative; min-height:440px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 35%,#30230f,#090909 60%); border:1px solid #3f321e; border-radius:34px; box-shadow:var(--shadow); }
.hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.045),transparent 31%); pointer-events:none; }
.night-orbit { position:absolute; top:48px; right:50px; width:46px; height:46px; background:#ffe9a9; border-radius:50%; box-shadow:0 0 45px rgba(216,167,70,.46); }
.window-preview { position:relative; width:min(63%,270px); height:302px; padding:9px 14px; background:#030303; border:9px solid #090909; box-shadow:0 28px 50px rgba(0,0,0,.58),0 0 0 1px #5a4524; }
.honeycomb { height:100%; background:repeating-linear-gradient(180deg,#3b2d17 0 7px,#0e0d0a 7px 9px,#241b0e 9px 15px); border-block:7px solid #020202; }
.top-rail,.bottom-rail,.channel { position:absolute; z-index:2; background:linear-gradient(90deg,#030303,#4a371b,#030303); }
.top-rail { left:2px; right:2px; top:1px; height:14px; }
.bottom-rail { left:2px; right:2px; bottom:1px; height:11px; }
.channel { top:5px; bottom:5px; width:15px; background:linear-gradient(90deg,#020202,#4b381b,#050403); }
.channel.left { left:0; }
.channel.right { right:0; transform:scaleX(-1); }
.visual-label { position:absolute; z-index:3; right:23px; bottom:21px; left:23px; padding:13px 15px; background:rgba(5,5,5,.9); border:1px solid #4a3a21; border-radius:14px; }
.visual-label span { display:block; color:#aa9e87; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.visual-label strong { display:block; margin-top:3px; color:var(--cyan-soft); font-size:13px; }

.service { padding:76px 0 92px; border-top:1px solid #2d2619; }
.service-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:60px; }
.service-heading h2,.visit h2 { margin:0; font-size:clamp(36px,5vw,54px); line-height:1.05; letter-spacing:-.05em; }
.service-heading > p { margin:0 0 5px; color:var(--muted); line-height:1.6; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:38px; }
.process-grid article { position:relative; min-height:265px; padding:22px; background:linear-gradient(145deg,#11100d,#090909); border:1px solid #3b3020; border-radius:18px; }
.step-number { position:absolute; top:20px; right:20px; color:#716044; font-size:11px; font-weight:800; letter-spacing:.12em; }
.step-icon { width:45px; height:45px; display:grid; place-items:center; margin:4px 0 36px; color:#100c04; background:linear-gradient(135deg,#edc86f,#b87e23); border-radius:12px; font-size:18px; font-weight:800; }
.process-grid h3 { margin:0; font-size:18px; }
.process-grid p { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.55; }
.promise { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:21px; margin-top:18px; padding:22px 25px; background:rgba(216,167,70,.07); border:1px solid rgba(216,167,70,.34); border-radius:16px; }
.promise-mark { display:grid; place-items:center; width:67px; height:67px; color:#100c04; background:linear-gradient(135deg,#f0cc75,#b77e24); border-radius:50%; font-family:Manrope,sans-serif; font-size:18px; font-weight:800; box-shadow:0 0 0 8px rgba(216,167,70,.09); }
.promise strong { display:block; color:var(--cyan-soft); font-size:16px; }
.promise p { margin:5px 0 0; color:#afa48f; font-size:13px; line-height:1.5; }

.visit { display:grid; grid-template-columns:.78fr 1.22fr; gap:50px; margin-bottom:62px; padding:62px; background:linear-gradient(135deg,#11100d,#080808); border:1px solid #3b3020; border-radius:30px; }
.visit-copy > p:not(.eyebrow) { color:var(--muted); line-height:1.62; }
.contact-card { margin-top:30px; padding:18px 20px; background:#070707; border:1px solid #40341f; border-radius:15px; }
.contact-card span,.contact-card small { display:block; color:#9f957f; font-size:11px; }
.contact-card a { display:block; margin:3px 0; color:var(--cyan-soft); text-decoration:none; font-family:Manrope,sans-serif; font-size:28px; font-weight:800; letter-spacing:-.04em; }
.no-measuring { display:grid; grid-template-columns:27px 1fr; gap:10px; margin-top:15px; padding:14px; background:rgba(255,199,93,.05); border-left:3px solid var(--amber); }
.no-measuring b { display:grid; place-items:center; width:23px; height:23px; color:#100c04; background:var(--amber); border-radius:50%; font-size:12px; }
.no-measuring p { margin:0; color:#b4aa97; font-size:12px; line-height:1.5; }
.no-measuring strong { color:#f3eee4; }
.request-card { padding:25px; background:#0e0e0e; border:1px solid #44361f; border-radius:20px; box-shadow:0 25px 65px rgba(0,0,0,.28); }
.form-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid #342a1b; }
.form-heading span { font-family:Manrope,sans-serif; font-size:20px; font-weight:800; }
.form-heading small { color:#8c806b; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.request-card label > span,.request-card legend { display:block; margin:17px 0 7px; color:#e4ddd0; font-size:12px; font-weight:700; }
.request-card input,.request-card select,.request-card textarea { width:100%; color:var(--text); background:#070707; border:1px solid #473a26; border-radius:10px; outline:0; }
.request-card input,.request-card select { height:47px; padding:0 13px; }
.request-card textarea { min-height:92px; padding:12px 13px; resize:vertical; }
.request-card input:focus,.request-card select:focus,.request-card textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(216,167,70,.12); }
.request-card .invalid { border-color:var(--red); box-shadow:0 0 0 3px rgba(255,119,119,.08); }
.request-card fieldset { margin:0; padding:0; border:0; }
.request-card legend { font-family:inherit; }
.project-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.project-options label { position:relative; }
.project-options input { position:absolute; opacity:0; width:0; height:0; }
.project-options span { display:block; margin:0 !important; padding:11px 8px; color:#a99e89 !important; background:#070707; border:1px solid #473a26; border-radius:9px; text-align:center; cursor:pointer; }
.project-options input:checked + span { color:#100c04 !important; background:linear-gradient(135deg,#edc86f,#b87e23); border-color:var(--cyan); }
select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#9f927c 50%),linear-gradient(135deg,#9f927c 50%,transparent 50%); background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.request-card label small { color:#8c806b; font-weight:500; }
.honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.submit-btn { width:100%; margin-top:20px; }
.privacy-note { margin:10px 0 0; color:#8c806b; font-size:10px; line-height:1.45; text-align:center; }
.alert { margin:15px 0 0; padding:11px 13px; color:#ffdede; background:rgba(255,119,119,.07); border:1px solid rgba(255,119,119,.33); border-radius:9px; font-size:12px; }
.request-ready { min-height:480px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.request-ready[hidden] { display:none; }
.success-mark { display:grid; place-items:center; width:56px; height:56px; margin-bottom:20px; color:#100c04; background:linear-gradient(135deg,#efca72,#b57b22); border-radius:50%; font-size:26px; box-shadow:0 0 0 10px rgba(216,167,70,.08); }
.request-ready h3 { margin:0 0 9px; font-size:28px; }
.request-ready > p:not(.eyebrow):not(.privacy-note) { max-width:460px; margin:0; color:var(--muted); line-height:1.55; }
.ready-actions { display:flex; gap:10px; margin-top:24px; }
.edit-btn { margin-top:18px; color:#aa9f8a; background:transparent; border:0; cursor:pointer; }
.edit-btn:hover { color:var(--text); }

footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; padding:32px 0 55px; border-top:1px solid #2d2619; }
.footer-brand { opacity:.8; }
.footer-brand img { width:154px; height:auto; }
footer > div { display:flex; gap:15px; }
footer > div a { color:#b7ad9a; font-size:12px; text-decoration:none; }
footer > div a:hover { color:var(--cyan); }
footer p { margin:0; color:#817665; font-size:11px; text-align:right; }
.mobile-call { display:none; }

@media (max-width: 900px) {
  .hero { grid-template-columns:1fr; gap:38px; padding-top:55px; }
  .hero-copy { text-align:center; }
  .hero-text { margin-inline:auto; }
  .hero-actions,.trust-line { justify-content:center; }
  .hero-visual { min-height:370px; width:min(100%,550px); margin:auto; }
  .service-heading { grid-template-columns:1fr; gap:18px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { min-height:190px; }
  .step-icon { margin-bottom:23px; }
  .visit { grid-template-columns:1fr; padding:42px; }
  .visit-copy { text-align:center; }
  .no-measuring { text-align:left; }
  .contact-card { max-width:430px; margin-inline:auto; }
  footer { grid-template-columns:1fr auto; }
  footer > div { justify-self:end; }
  footer p { grid-column:1/-1; text-align:left; }
}

@media (max-width: 620px) {
  .site-header,main,footer { width:min(100% - 24px,1180px); }
  .site-header { height:68px; }
  .header-phone { font-size:0; width:38px; height:38px; display:grid; place-items:center; padding:0; }
  .header-phone span { margin:0; font-size:15px; }
  .brand img { width:148px; }
  .hero { min-height:auto; padding:48px 0 66px; }
  .hero h1 { font-size:44px; }
  .hero-text { font-size:16px; }
  .hero-actions { flex-direction:column; }
  .hero-actions a { width:100%; }
  .trust-line { gap:9px; font-size:10px; }
  .hero-visual { min-height:320px; border-radius:23px; }
  .window-preview { width:54%; height:225px; }
  .night-orbit { top:31px; right:31px; }
  .visual-label { right:15px; bottom:14px; left:15px; }
  .service { padding:58px 0 68px; }
  .service-heading h2,.visit h2 { font-size:34px; }
  .process-grid { margin-top:26px; }
  .promise { grid-template-columns:1fr; text-align:center; }
  .promise-mark { margin:auto; }
  .visit { gap:30px; margin-bottom:40px; padding:29px 14px; border-radius:20px; }
  .visit-copy { padding-inline:4px; }
  .contact-card a { font-size:25px; }
  .request-card { padding:18px 13px; border-radius:16px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .project-options { grid-template-columns:1fr; }
  .project-options span { text-align:left; }
  .ready-actions { width:100%; flex-direction:column; }
  .ready-actions a { width:100%; }
  footer { display:block; padding-bottom:90px; }
  footer > div { display:grid; gap:6px; margin:18px 0; }
  footer p { text-align:left; }
  .mobile-call { position:fixed; z-index:8; right:12px; bottom:12px; left:12px; display:flex; align-items:center; justify-content:center; min-height:48px; color:#100c04; background:linear-gradient(135deg,#f0cb73,#bd8427); border-radius:12px; box-shadow:0 16px 40px rgba(0,0,0,.55); text-decoration:none; font-size:13px; font-weight:800; }
  .mobile-call span { margin-right:8px; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
