:root {
  --orange: #f37021;
  --orange-dark: #d85b11;
  --charcoal: #242424;
  --ink: #151515;
  --muted: #656565;
  --line: #e8e8e8;
  --surface: #f6f6f4;
  --white: #ffffff;
  --max: 1180px;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(0,0,0,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--white); line-height: 1.55; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 36px), var(--max)); margin-inline: auto; }
.section { padding: 88px 0; }
.section-sm { padding: 58px 0; }
.eyebrow { margin: 0 0 14px; color: var(--orange-dark); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .79rem; }
h1,h2,h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 6vw, 5.8rem); max-width: 980px; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); max-width: 850px; }
h3 { font-size: 1.35rem; }
.lead { font-size: clamp(1.08rem, 1.5vw, 1.32rem); color: #4c4c4c; max-width: 760px; }
.muted { color: var(--muted); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border-radius: 999px; border: 1px solid transparent; font-weight: 800; transition: transform .18s ease, background .18s ease, border-color .18s ease; cursor: pointer; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--orange); }
.btn-primary:hover { background: var(--orange-dark); }
.btn-secondary { background: #fff; border-color: #cfcfcf; }
.btn-dark { color: #fff; background: var(--charcoal); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
.grid { display: grid; gap: 22px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.card { border: 1px solid var(--line); background: #fff; border-radius: var(--radius); padding: 28px; }
.card:hover { border-color: #d8d8d8; }
.card .arrow { color: var(--orange-dark); font-weight: 800; }
.dark { background: var(--charcoal); color: #fff; }
.dark .lead, .dark .muted { color: #d3d3d3; }
.orange-rule { width: 56px; height: 4px; background: var(--orange); border-radius: 4px; margin: 24px 0; }
.tags { display: flex; gap: 8px; flex-wrap: wrap; }
.tag { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #555; background: #fff; font-size: .9rem; }
.placeholder-visual { min-height: 420px; border-radius: 28px; overflow: hidden; position: relative; background:
  linear-gradient(140deg, rgba(243,112,33,.18), transparent 42%),
  linear-gradient(120deg, #1d1d1d 0 35%, #303030 35% 52%, #f37021 52% 65%, #ecebea 65% 100%); box-shadow: var(--shadow); }
.placeholder-visual::before, .placeholder-visual::after { content:""; position:absolute; background:#fff; opacity:.14; }
.placeholder-visual::before { width:2px; height:120%; left:35%; top:-10%; transform:rotate(24deg); }
.placeholder-visual::after { height:2px; width:120%; left:-10%; top:62%; transform:rotate(-9deg); }
.placeholder-note { position:absolute; right:20px; bottom:20px; max-width:260px; color:#fff; background:rgba(0,0,0,.62); padding:14px 16px; border-radius:12px; font-size:.9rem; backdrop-filter: blur(6px); }
.hero { padding: 82px 0 76px; background: radial-gradient(circle at 80% 10%, rgba(243,112,33,.12), transparent 27%), linear-gradient(#fff, #fbfbfa); border-bottom: 1px solid var(--line); }
.hero-grid { display:grid; grid-template-columns: 1.2fr .8fr; align-items:center; gap:46px; }
.hero h1 em { color:var(--orange); font-style:normal; }
.trust-strip { border-bottom:1px solid var(--line); background:#fff; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:22px 24px; border-right:1px solid var(--line); }
.trust-item:last-child { border-right:0; }
.trust-item strong { display:block; margin-bottom:3px; }
.service-card { position:relative; overflow:hidden; min-height:230px; display:flex; flex-direction:column; justify-content:space-between; }
.service-card::after { content:""; position:absolute; width:105px; height:105px; right:-32px; top:-30px; border:22px solid rgba(243,112,33,.12); transform:rotate(45deg); }
.service-card p { color:#666; max-width:30ch; }
.project-card { padding:0; overflow:hidden; }
.project-media { min-height:240px; background: linear-gradient(135deg,#ecebea,#dad9d6); display:flex; align-items:center; justify-content:center; color:#777; font-weight:700; letter-spacing:.05em; text-transform:uppercase; font-size:.8rem; }
.project-body { padding:25px; }
.split { display:grid; grid-template-columns: 1fr 1fr; gap:54px; align-items:center; }
.steps { counter-reset: step; }
.step { display:grid; grid-template-columns:56px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.step-num { width:46px; height:46px; display:grid; place-items:center; background:var(--orange); color:#fff; border-radius:50%; font-weight:900; }
.faq details { border-top:1px solid var(--line); padding:20px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:800; font-size:1.05rem; }
.faq details p { color:#5b5b5b; max-width:800px; }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-weight:700; }
input,textarea,select { width:100%; border:1px solid #d7d7d7; border-radius:12px; padding:13px 14px; background:#fff; }
textarea { min-height:130px; resize:vertical; }
input:focus,textarea:focus,select:focus { outline:3px solid rgba(243,112,33,.16); border-color:var(--orange); }
.notice { padding:15px 17px; background:#fff7f1; border:1px solid #ffd9c0; border-radius:12px; color:#6e3b18; }
.breadcrumb { padding:18px 0; color:#707070; font-size:.9rem; }
.breadcrumb a:hover { color:var(--orange-dark); }
.local-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.local-list span { padding:7px 12px; border-radius:999px; background:#f2f2f2; color:#555; }
.sticky-mobile { display:none; }
@media (max-width: 900px) {
  .hero-grid,.split { grid-template-columns:1fr; }
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width: 640px) {
  .section { padding:64px 0; }
  .hero { padding:52px 0 56px; }
  .grid-2,.grid-4,.form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--line); }
  .trust-item:last-child { border-bottom:0; }
  .placeholder-visual { min-height:310px; }
  body { padding-bottom:66px; }
  .sticky-mobile { position:fixed; left:0; right:0; bottom:0; z-index:80; display:grid; grid-template-columns:1fr 1fr; background:#fff; border-top:1px solid var(--line); padding:8px; gap:8px; }
  .sticky-mobile .btn { min-height:48px; border-radius:12px; }
}

/* Header / Footer */
.site-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center}.brand img{width:190px;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.95rem}.main-nav>a:not(.btn):hover,.nav-services>a:hover{color:var(--orange-dark)}.nav-services{position:relative}.dropdown{position:absolute;left:-18px;top:28px;width:245px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.dropdown a{display:block;padding:10px 11px;border-radius:8px}.dropdown a:hover{background:#f6f6f4}.nav-services:hover .dropdown,.nav-services:focus-within .dropdown{opacity:1;visibility:visible;transform:none}.header-cta{min-height:44px;padding-inline:18px}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:800}
.footer{padding:66px 0 20px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:38px}.footer h3{font-size:1rem;letter-spacing:0}.footer a{display:block;color:#d6d6d6;margin:9px 0}.footer a:hover{color:#fff}.footer-brand{font-size:2rem;font-weight:950;letter-spacing:.08em}.footer-desc{color:var(--orange);font-size:.75rem;font-weight:800;letter-spacing:.22em;margin-bottom:18px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;color:#aaa;font-size:.9rem}
:focus-visible{outline:3px solid rgba(243,112,33,.5);outline-offset:3px}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 18px;flex-direction:column;align-items:stretch;gap:6px}.main-nav.is-open{display:flex}.main-nav>a,.nav-services>a{padding:10px}.dropdown{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px}.header-cta{text-align:center}.brand img{width:170px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
