:root { --ink:#090807; --paper:#f3f0ec; --white:#fff; --silver:#c9c6c2; --muted:#9b9690; --copper:#f36522; --champagne:#d8b68b; --line:rgba(255,255,255,.22); }
* { box-sizing:border-box; }
html { background:var(--ink); scroll-behavior:smooth; -webkit-tap-highlight-color:transparent; }
body { margin:0; min-width:320px; background:var(--ink); color:var(--white); font-family:"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; overscroll-behavior-y:none; }
a { color:inherit; }
button,input,textarea { font:inherit; }
.home-shell { position:relative; min-height:100svh; overflow:hidden; isolation:isolate; background:#080706; }
.hero-image { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:57% center; filter:contrast(1.08) saturate(.76) sepia(.1); }
.hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,4,3,.96) 0%,rgba(5,4,3,.78) 31%,rgba(5,4,3,.2) 68%,rgba(5,4,3,.7) 100%),linear-gradient(0deg,rgba(6,5,4,.92) 0%,transparent 36%,rgba(6,5,4,.3) 100%); }
.hero-shade::after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(90deg,black,transparent 70%); }
.topbar { position:relative; z-index:10; min-height:150px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; padding:20px clamp(28px,5.5vw,92px); }
.brand-logo { display:block; width:clamp(260px,22vw,360px); justify-self:start; line-height:0; }
.brand-logo img { display:block; width:100%; height:auto; object-fit:contain; filter:none; mix-blend-mode:normal; }
.main-nav { display:flex; align-items:center; gap:38px; }
.nav-link { position:relative; padding:10px 0; color:#d8d5d2; font-size:13px; text-decoration:none; letter-spacing:.08em; }
.nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--copper); transition:right .25s ease; }
.nav-link:hover::after,.nav-link.is-active::after { right:0; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:28px; }
.language-switch { display:flex; align-items:center; gap:9px; }
.language-switch>span { width:1px; height:15px; background:rgba(255,255,255,.3); }
.language-option { padding:0; border:0; background:transparent; color:#aaa5a0; font-size:12px; font-weight:700; letter-spacing:.08em; cursor:pointer; }
.language-option.is-active { color:var(--copper); }
.outline-cta { display:inline-flex; align-items:center; gap:24px; min-height:52px; padding:0 22px; border:1px solid rgba(255,255,255,.5); font-size:12px; letter-spacing:.05em; text-decoration:none; transition:background .25s ease,color .25s ease; }
.outline-cta:hover { background:white; color:var(--ink); }
.outline-cta svg { width:22px; fill:none; stroke:currentColor; stroke-width:1.4; }
.home-hero { position:relative; z-index:2; min-height:calc(100svh - 355px); display:flex; align-items:center; padding:40px clamp(28px,6vw,104px) 72px; }
.hero-copy-panel { width:min(560px,44vw); padding:38px 28px 38px 0; border-right:1px solid rgba(255,255,255,.07); background:linear-gradient(90deg,rgba(0,0,0,.42),transparent); }
.kicker { margin:0 0 20px; color:#ccc5bf; font-size:11px; letter-spacing:.38em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(64px,7.4vw,126px); font-weight:250; line-height:.82; letter-spacing:-.045em; text-transform:uppercase; }
h1 span,h1 em { display:block; }
h1 em { color:var(--copper); font-style:normal; font-weight:300; }
.hero-description { max-width:440px; margin:34px 0 0; color:#e6e2df; font-size:15px; line-height:1.7; }
.service-strip { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:0 clamp(28px,5.5vw,92px); border-top:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.12); }
.service-card { position:relative; min-height:190px; overflow:hidden; background:#0d0c0b; }
.service-card img { width:100%; height:100%; min-height:190px; object-fit:cover; filter:brightness(.54) saturate(.7); transition:transform .5s ease,filter .5s ease; }
.service-card:hover img { transform:scale(1.035); filter:brightness(.68) saturate(.82); }
.service-text { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; background:linear-gradient(0deg,rgba(5,4,3,.94),transparent 75%); }
.service-text small { color:#a49d97; font-size:9px; letter-spacing:.3em; }
.service-text i { width:30px; height:1px; margin:10px 0 9px; background:var(--copper); }
.service-text h2 { max-width:240px; margin:0; font-size:13px; font-weight:400; line-height:1.5; }
.home-footer { position:relative; z-index:3; display:flex; justify-content:space-between; gap:20px; padding:24px clamp(28px,5.5vw,92px); color:#8f8984; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.home-footer a { text-decoration:none; }
.home-footer a:hover { color:var(--copper); }

.mobile-app-nav,.install-sheet { display:none; }
.install-sheet[hidden],.install-trigger[hidden] { display:none!important; }
.install-sheet { position:fixed; inset:0; z-index:100; }
.install-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(0,0,0,.72); backdrop-filter:blur(8px); }
.install-card { position:absolute; left:50%; bottom:max(24px,env(safe-area-inset-bottom)); width:min(440px,calc(100% - 32px)); display:grid; grid-template-columns:72px 1fr; gap:16px; align-items:center; padding:18px; transform:translateX(-50%); border:1px solid rgba(255,255,255,.18); border-radius:25px; background:linear-gradient(145deg,rgba(35,32,29,.98),rgba(8,8,8,.99)); box-shadow:0 24px 80px rgba(0,0,0,.65); }
.install-card img { grid-row:1/3; width:72px; height:72px; border-radius:17px; }
.install-card strong { display:block; padding-right:22px; font-size:15px; line-height:1.3; }
.install-card p { margin:5px 0 0; color:#aaa49f; font-size:12px; line-height:1.45; }
.install-primary { grid-column:2; justify-self:start; min-height:40px; padding:0 22px; border:0; border-radius:999px; background:var(--copper); color:#140c07; font-weight:750; cursor:pointer; }
.install-close { position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; background:transparent; color:#aaa; font-size:24px; cursor:pointer; }
html[dir="rtl"] .install-card strong { padding-right:0; padding-left:22px; }
html[dir="rtl"] .install-close { right:auto; left:12px; }

.contact-page { background:var(--paper); color:#181512; }
.contact-page .topbar { position:absolute; inset:0 0 auto; color:white; }
.contact-hero { position:relative; min-height:560px; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; padding:180px clamp(28px,6vw,104px) 68px; color:white; }
.contact-hero>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 54%; filter:brightness(.7) contrast(1.08) saturate(.7) sepia(.08); }
.contact-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,3,2,.94),rgba(4,3,2,.58) 40%,rgba(4,3,2,.16) 72%,rgba(4,3,2,.45)); }
.contact-title { max-width:560px; }
.contact-title .kicker { margin-bottom:18px; }
.contact-title h1 { font-size:clamp(64px,7vw,112px); line-height:.82; }
.contact-title h1 strong { display:block; color:var(--copper); font-weight:650; }
.contact-title p { max-width:470px; margin:30px 0 0; color:#dedad6; font-size:15px; line-height:1.7; }
.contact-content { display:grid; grid-template-columns:.86fr 1.3fr .85fr; min-height:470px; }
.contact-info,.contact-form-wrap,.map-card { padding:50px clamp(28px,4.6vw,76px); }
.contact-info { border-right:1px solid #d9d4cf; }
.contact-form-wrap { padding-left:52px; padding-right:52px; }
.section-title { margin:0 0 30px; color:#37312c; font-size:12px; letter-spacing:.3em; text-transform:uppercase; }
.section-title::after { content:""; display:block; width:36px; height:2px; margin-top:15px; background:var(--copper); }
.contact-list { display:grid; gap:27px; }
.contact-item { display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start; }
.contact-icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid #ddb994; color:var(--copper); font-size:17px; }
.contact-item h2 { margin:0 0 6px; font-size:10px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; }
.contact-item p,.contact-item a { margin:0; color:#423c37; font-size:13px; line-height:1.55; text-decoration:none; }
.contact-item a:hover { color:var(--copper); }
.contact-item .phone-lines { display:grid; gap:3px; direction:ltr; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-form label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.contact-form input,.contact-form textarea { width:100%; border:1px solid transparent; outline:0; background:#ebe7e3; color:#211d19; padding:15px 16px; font-size:12px; transition:border-color .2s ease,background .2s ease; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--copper); background:white; }
.contact-form .full { grid-column:1/-1; }
.contact-form textarea { min-height:112px; resize:vertical; }
.submit-button { grid-column:1/-1; min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:22px; border:0; background:linear-gradient(90deg,#ffad68,#bb571d); color:#1b120c; cursor:pointer; }
.submit-button svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.form-note { grid-column:1/-1; margin:2px 0 0; color:#777069; font-size:10px; line-height:1.5; }
.form-status { grid-column:1/-1; min-height:18px; margin:0; color:#8b3a13; font-size:11px; }
.map-card { position:relative; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; color:white; background:#171717; }
.map-card::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.38; background:repeating-linear-gradient(28deg,transparent 0 20px,rgba(255,255,255,.2) 21px 22px),repeating-linear-gradient(118deg,transparent 0 38px,rgba(255,255,255,.14) 39px 40px),#171717; transform:scale(1.2) rotate(-4deg); }
.map-card::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 60% 58%,rgba(243,101,34,.3),transparent 18%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 80%); }
.map-pin { position:absolute; left:60%; top:56%; width:18px; height:18px; border:5px solid var(--copper); border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 0 24px rgba(243,101,34,.8); }
.map-copy { width:100%; padding:20px; border:1px solid rgba(255,255,255,.35); background:rgba(8,8,8,.84); }
.map-copy strong { display:block; margin-bottom:8px; font-size:12px; }
.map-copy p { margin:0 0 13px; color:#ddd; font-size:10px; line-height:1.5; }
.map-copy a { color:var(--copper); font-size:10px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.contact-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; padding:30px clamp(28px,6vw,104px); color:white; background:#0a0908; }
.contact-footer .brand-logo { width:230px; }
.footer-statement { color:#aaa49e; font-size:10px; letter-spacing:.32em; text-transform:uppercase; }
.footer-links { justify-self:end; display:flex; gap:28px; }
.footer-links a { color:#d7d3cf; font-size:11px; text-decoration:none; }
.footer-links a:hover { color:var(--copper); }
html[dir="rtl"] body { font-family:Tahoma,Arial,sans-serif; }
html[dir="rtl"] .outline-cta svg,html[dir="rtl"] .submit-button svg { transform:scaleX(-1); }
html[dir="rtl"] .hero-copy-panel { padding:38px 0 38px 28px; border-right:0; border-left:1px solid rgba(255,255,255,.07); }
html[dir="rtl"] .kicker { letter-spacing:.08em; }
html[dir="rtl"] h1 { line-height:1; letter-spacing:-.02em; }
html[dir="rtl"] .contact-info { border-right:0; border-left:1px solid #d9d4cf; }
html[dir="rtl"] .section-title { letter-spacing:.08em; }
html[dir="rtl"] .contact-item { grid-template-columns:1fr 44px; }
html[dir="rtl"] .contact-icon { grid-column:2; grid-row:1; }
html[dir="rtl"] .contact-item>div:last-child { grid-column:1; grid-row:1; }
@media (max-width:1050px) {
  .topbar { grid-template-columns:1fr auto; }
  .main-nav { display:none; }
  .home-hero { min-height:610px; }
  .hero-copy-panel { width:min(620px,62vw); }
  .service-strip { grid-template-columns:repeat(2,1fr); }
  .contact-content { grid-template-columns:1fr 1.15fr; }
  .map-card { grid-column:1/-1; min-height:300px; }
  .contact-footer { grid-template-columns:1fr 1fr; }
  .footer-statement { display:none; }
}
@media (max-width:700px) {
  body { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .home-shell { min-height:calc(100svh - 78px - env(safe-area-inset-bottom)); overflow:clip; }
  .topbar { min-height:112px; align-items:start; padding:max(15px,env(safe-area-inset-top)) 18px 12px; gap:10px; }
  .brand-logo { width:min(53vw,205px); }
  .header-actions { align-items:flex-end; flex-direction:column-reverse; gap:12px; }
  .outline-cta { display:none; }
  .language-switch { min-height:44px; gap:10px; padding:0 2px; }
  .language-option { min-width:36px; min-height:44px; font-size:10px; }
  .home-hero { min-height:clamp(470px,68svh,620px); align-items:flex-end; padding:26px 22px 42px; }
  .hero-image { object-position:64% center; transform:scale(1.015); }
  .hero-shade { background:linear-gradient(90deg,rgba(5,4,3,.95),rgba(5,4,3,.33)),linear-gradient(0deg,rgba(5,4,3,.98),transparent 62%); }
  .hero-copy-panel { width:100%; max-width:460px; padding:22px 0; border:0; background:transparent; }
  .kicker { font-size:9px; letter-spacing:.25em; }
  h1 { font-size:clamp(56px,17vw,84px); line-height:.86; }
  .hero-description { max-width:330px; margin-top:22px; font-size:13px; }
  .service-strip { grid-template-columns:1fr 1fr; gap:1px; margin:0; border-top-color:rgba(255,255,255,.24); }
  .service-card,.service-card img { min-height:180px; }
  .service-text { padding:17px; }
  .service-text h2 { font-size:11px; }
  .home-footer { align-items:flex-start; flex-direction:column; gap:9px; padding:23px 20px 26px; }
  .contact-page .topbar { position:absolute; }
  .contact-hero { min-height:570px; padding:max(145px,calc(116px + env(safe-area-inset-top))) 22px 48px; }
  .contact-hero>img { object-position:62% center; }
  .contact-hero::after { background:linear-gradient(90deg,rgba(4,3,2,.96),rgba(4,3,2,.46) 76%,rgba(4,3,2,.58)); }
  .contact-title h1 { font-size:clamp(58px,17vw,72px); }
  .contact-title p { margin-top:24px; font-size:13px; }
  .contact-content { grid-template-columns:1fr; }
  .contact-info,.contact-form-wrap,.map-card { padding:40px 22px; }
  .contact-info { border-right:0; border-bottom:1px solid #d9d4cf; }
  .contact-form-wrap { padding-left:22px; padding-right:22px; }
  .contact-form { grid-template-columns:1fr; }
  .contact-form input,.contact-form textarea { min-height:50px; font-size:16px; border-radius:3px; }
  .contact-form textarea { min-height:128px; }
  .submit-button { min-height:54px; border-radius:3px; }
  .contact-form .full,.submit-button,.form-note,.form-status { grid-column:1; }
  .map-card { grid-column:1; min-height:320px; }
  .contact-footer { grid-template-columns:1fr; padding:30px 22px; }
  .contact-footer .brand-logo { width:200px; }
  .footer-links { justify-self:start; }
  .mobile-app-nav { position:fixed; left:12px; right:12px; bottom:max(10px,env(safe-area-inset-bottom)); z-index:80; display:grid; grid-template-columns:repeat(3,1fr); min-height:62px; padding:6px; border:1px solid rgba(255,255,255,.15); border-radius:21px; background:rgba(12,11,10,.88); box-shadow:0 18px 55px rgba(0,0,0,.48); backdrop-filter:blur(22px) saturate(1.2); -webkit-backdrop-filter:blur(22px) saturate(1.2); }
  .mobile-app-nav:not(:has(.install-trigger:not([hidden]))) { grid-template-columns:repeat(2,1fr); }
  .mobile-nav-item { min-height:50px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:15px; background:transparent; color:#aaa49f; font-size:9px; letter-spacing:.05em; text-decoration:none; cursor:pointer; }
  .mobile-nav-item svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-nav-item.is-active { background:linear-gradient(145deg,rgba(243,101,34,.2),rgba(243,101,34,.06)); color:#ff7a34; }
  .mobile-nav-item:active { transform:scale(.96); }
  .install-sheet { display:block; }
  html[dir="rtl"] .contact-info { border-left:0; border-bottom:1px solid #d9d4cf; }
}
@media (max-width:390px) {
  .brand-logo { width:182px; }
  .topbar { padding-left:14px; padding-right:14px; }
  .home-hero { padding-left:18px; padding-right:18px; }
  .service-card,.service-card img { min-height:165px; }
  .service-text { padding:14px; }
}
@media (display-mode:standalone) and (max-width:700px) {
  .topbar { padding-top:max(18px,env(safe-area-inset-top)); }
  .mobile-app-nav { bottom:max(8px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
