:root { --bg:#0a0e1a; --panel:#111827; --text:#f1f5f9; --muted:#a8b5c8; --gold:#f59e0b; --line:rgba(255,255,255,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; background:radial-gradient(ellipse at 80% 8%,rgba(245,158,11,.08),transparent 38%),var(--bg); color:var(--text); font-family:'Barlow',sans-serif; line-height:1.65; }
a { color:inherit; text-underline-offset:4px; }
a:hover { color:var(--gold); }
button,input,textarea,select { font:inherit; }
.wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:20; padding:12px; background:var(--gold); color:#111; }
.skip-link:focus { top:12px; }
.site-header { border-bottom:1px solid var(--line); background:rgba(10,14,26,.96); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding-block:18px; gap:24px; }
.brand { display:flex; gap:12px; align-items:center; text-decoration:none; font-family:'Bebas Neue',sans-serif; font-size:29px; line-height:1.1; letter-spacing:1px; }
.brand img { width:54px; height:57px; object-fit:contain; background:white; border-radius:5px; }
.brand small { display:block; font-family:'Barlow',sans-serif; font-size:10px; letter-spacing:2px; color:var(--gold); margin-top:6px; }
nav { display:flex; flex-wrap:wrap; gap:22px; font-size:14px; font-weight:600; }
nav a { text-decoration:none; }
.hero { display:grid; grid-template-columns:1.45fr 1fr; gap:60px; align-items:center; padding-block:78px 65px; }
.eyebrow { font-size:12px; letter-spacing:2px; color:var(--gold); font-weight:700; }
h1,h2,h3 { font-family:'Bebas Neue',sans-serif; font-weight:400; line-height:1.03; letter-spacing:.5px; margin:0 0 22px; }
h1 { font-size:clamp(44px,5.7vw,76px); }
h1 span { color:var(--gold); }
h2 { font-size:clamp(34px,4vw,48px); }
h3 { font-size:28px; }
p { color:var(--muted); margin:0 0 18px; }
strong { color:var(--text); }
.lead { font-size:20px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:6px; padding:14px 18px; font-weight:700; line-height:1.35; cursor:pointer; text-align:center; text-decoration:none; }
.button.primary { background:var(--gold); border-color:var(--gold); color:#111827; }
.button.primary:hover { background:#ffb83d; }
.button.secondary { background:var(--panel); color:var(--text); }
.button:disabled { opacity:.65; cursor:wait; }
.facts { display:flex; flex-wrap:wrap; gap:10px 20px; list-style:none; padding:0; margin:26px 0 0; color:var(--muted); font-size:13px; }
.facts li::before { content:'+'; color:var(--gold); padding-right:6px; }
.brief-card { padding:32px; background:linear-gradient(145deg,#1c283c,#111827); border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:8px; }
.card-number { display:block; color:var(--gold); font-size:12px; letter-spacing:2px; margin-bottom:22px; }
.brief-card h2 { font-size:39px; }
.brief-card ol { list-style:none; padding:0; margin:0; }
.brief-card li { padding-block:15px; border-bottom:1px solid var(--line); }
.brief-card li strong,.brief-card li span { display:block; }
.brief-card li span { color:var(--muted); font-size:14px; }
.brief-card>a { display:block; margin-top:22px; color:var(--gold); font-size:14px; font-weight:700; }
.service-section { padding-block:60px; border-block:1px solid var(--line); background:rgba(255,255,255,.025); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
.service-card { padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.service-card p { font-size:15px; }
.area-section { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; padding-block:70px; }
.portfolio { margin:0; }
.portfolio img { display:block; width:100%; height:auto; max-height:380px; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.portfolio--brand img { width:min(100%,320px); height:auto; max-height:none; margin-inline:auto; padding:20px; }
figcaption { color:var(--muted); font-size:13px; padding-top:12px; }
.muted { color:var(--muted); font-size:14px; }
.quote-section { padding-block:65px; background:#101827; border-block:1px solid var(--line); }
.quote-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; }
.contact-link { font-weight:700; color:var(--gold); }
.scope-note { margin-top:30px; border-left:2px solid var(--gold); padding-left:16px; font-size:14px; }
form { display:grid; gap:16px; }
label { display:grid; gap:7px; font-size:14px; font-weight:600; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
input,select,textarea { width:100%; min-width:0; border:1px solid #47556a; background:var(--bg); color:var(--text); border-radius:5px; padding:12px; }
input::placeholder,textarea::placeholder { color:#8292a9; }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.consent { display:flex; align-items:flex-start; font-size:12px; color:var(--muted); font-weight:400; }
.consent input { width:18px; height:18px; flex-shrink:0; margin:3px 4px 0 0; }
.honeypot { display:none; }
#form-status { margin:0; font-size:14px; }
#form-status[data-state=success] { color:#7ee3ad; }
#form-status[data-state=error] { color:#ffc89c; }
.faq-section { padding-block:65px 35px; }
details { border-bottom:1px solid var(--line); padding-block:20px; }
summary { font-weight:600; cursor:pointer; }
details p { max-width:850px; padding-top:15px; }
.guides-section { padding-block:15px 55px; }
.guides-section h2 { font-size:30px; }
.footer { padding-block:30px 40px; border-top:1px solid var(--line); font-size:14px; }
.brand-name { font-family:'Bebas Neue',sans-serif; font-size:27px; text-decoration:none; }
.footer p { margin:8px 0; }
@media(max-width:900px) { .hero { gap:30px; grid-template-columns:1.2fr 1fr; } .brief-card { padding:24px; } .service-grid { gap:12px; } .service-card { padding:20px; } .quote-grid { gap:30px; } }
@media(max-width:760px) { .wrap { width:calc(100% - 32px); } .header-inner { align-items:flex-start; flex-direction:column; gap:18px; } nav { gap:14px; font-size:13px; } .hero,.area-section,.quote-grid { grid-template-columns:1fr; } .hero { padding-block:42px; } .service-grid { grid-template-columns:1fr; } .service-section,.quote-section { padding-block:42px; } .area-section { gap:26px; padding-block:42px; } .form-row { grid-template-columns:1fr; } .button { min-height:49px; } .actions .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
