
:root{
  --navy:#071522;--navy2:#102e48;--orange:#f7931d;--orange2:#d97808;
  --ink:#13181e;--muted:#66727d;--light:#f4f6f8;--white:#fff;--line:#dce3e8;
  --max:1240px;--shadow:0 24px 70px rgba(7,21,34,.16)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{text-decoration:none;color:inherit}img{display:block;width:100%}button,input,select,textarea{font:inherit}
.container{width:min(92%,var(--max));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:900;color:var(--orange);margin-bottom:14px}
h1,h2,h3{line-height:1.1;margin-top:0}h1{font-size:clamp(3.1rem,7vw,6.4rem);letter-spacing:-.045em;margin-bottom:22px}h2{font-size:clamp(2.25rem,4.8vw,4.05rem);letter-spacing:-.035em;color:var(--navy)}h3{color:var(--navy)}
.topbar{background:#03070b;color:#fff;text-align:center;padding:8px 12px;font-size:.86rem}
header{position:sticky;top:0;z-index:1000;background:rgba(7,21,34,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12)}
nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;color:#fff}.brand img{width:58px;height:58px;object-fit:contain}
.brand-text{font-weight:950;letter-spacing:.04em;line-height:1}.brand-text span{display:block;color:var(--orange);font-size:.69rem;letter-spacing:.17em;margin-top:7px}
.nav-links{display:flex;align-items:center;gap:22px;color:#fff;font-weight:800;font-size:.92rem}.nav-links a:hover,.nav-links a.active{color:var(--orange)}
.menu{display:none;border:0;background:transparent;color:#fff;font-size:1.8rem;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:5px;background:var(--orange);border:2px solid var(--orange);font-weight:900;color:#151515;transition:.2s}
.btn:hover{background:var(--orange2);border-color:var(--orange2);color:#fff;transform:translateY(-2px)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.hero{min-height:810px;color:#fff;display:grid;align-items:center;position:relative;overflow:hidden;background:#071522 url("../assets/images/hero-poster.jpg") center/cover no-repeat}
.hero-copy{position:relative;z-index:2}
.hero:after{content:"";position:absolute;left:0;bottom:0;width:35%;height:9px;background:var(--orange);z-index:3}
.hero-copy{max-width:860px;padding:120px 0}.hero p{max-width:720px;font-size:1.19rem;color:#e2e8ed}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.trust{display:flex;gap:30px;flex-wrap:wrap;margin-top:42px;padding-top:25px;border-top:1px solid rgba(255,255,255,.25)}.trust strong{display:block}.trust span{font-size:.84rem;color:#cad3db}
.hero-license{margin-top:18px;font-size:.9rem;color:#dce4ea}
section{padding:98px 0}.gray{background:var(--light)}.dark{background:var(--navy);color:#fff}.dark h2{color:#fff}
.section-head{text-align:center;max-width:780px;margin:0 auto 46px}.section-head p{color:var(--muted)}
.grid{display:grid;gap:24px}.services{grid-template-columns:repeat(3,1fr)}.values{grid-template-columns:repeat(4,1fr)}.cards{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 14px 40px rgba(7,21,34,.09);transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card img{height:230px;object-fit:cover}.card-body{padding:27px}.card p{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.about-photo{min-height:520px;background-position:center 45%;border-radius:16px;background:url("../assets/images/about/about-home-improvement.webp") center/cover no-repeat;box-shadow:var(--shadow)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;padding:0;list-style:none}.checks li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:8px}
.value{background:#fff;padding:31px;border-top:5px solid var(--orange);box-shadow:0 12px 32px rgba(7,21,34,.07)}.value strong{display:block;color:var(--navy);font-size:1.08rem;margin-bottom:7px}
.page-hero{padding:115px 0 88px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.page-hero h1{font-size:clamp(2.8rem,6vw,4.9rem);margin-bottom:15px}.page-hero p{max-width:780px;font-size:1.1rem}
.filter-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filter{border:1px solid var(--line);background:#fff;padding:10px 17px;border-radius:999px;font-weight:850;cursor:pointer}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.project-card img{width:100%;height:auto;min-height:260px;object-fit:cover;transition:.4s}.project-card:hover img{transform:scale(1.035)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,15,26,.9))}.project-info{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:26px;color:#fff}.project-info h3{color:#fff;margin-bottom:4px;font-size:1.45rem}.project-card.hidden{display:none}.gallery-status{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
.map-card{min-height:420px;border-radius:16px;background:linear-gradient(135deg,#dfe7ed,#bac8d4);display:grid;place-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.map-card:before{content:"MA";position:absolute;left:18%;top:22%;font-size:4.5rem;font-weight:950;color:rgba(10,23,38,.18)}.map-card:after{content:"RI";position:absolute;right:20%;bottom:18%;font-size:3.2rem;font-weight:950;color:rgba(247,147,29,.45)}
.map-copy{position:relative;z-index:2;background:rgba(255,255,255,.88);padding:28px;border-radius:12px;max-width:420px;text-align:center}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 12px 34px rgba(7,21,34,.08)}.stars{color:var(--orange);letter-spacing:.12em;font-size:1.1rem}.review-note{margin-top:22px;text-align:center;color:var(--muted);font-size:.86rem}
.form-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.form-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:32px;box-shadow:var(--shadow)}label{font-weight:800;color:var(--navy)}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cdd5dc;border-radius:6px;margin:7px 0 18px}textarea{min-height:150px;resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-box{border:2px dashed #c9d2da;border-radius:10px;padding:22px;text-align:center;color:var(--muted);margin-bottom:18px;background:#fafbfc}
.project-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}.project-detail img{border-radius:16px;box-shadow:var(--shadow)}.meta{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meta div{padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff}
.cta{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.cta h2{color:#fff}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.contact-box{background:#fff;color:var(--ink);padding:28px;border-left:6px solid var(--orange);min-width:330px}
footer{background:#04090e;color:#c7d0d8;padding:52px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-brand{display:flex;flex-direction:column;gap:13px;align-items:flex-start}.footer-brand img{width:72px;height:auto}.footer-brand>div{width:100%}.footer-brand h3{margin:0 0 8px}.footer-brand h3,footer h3{color:#fff}.footer-licenses{margin-top:12px;font-size:.88rem;line-height:1.6}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:21px;text-align:center;font-size:.88rem}
.mobile-estimate{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--orange);color:#111;text-align:center;padding:14px;font-weight:900;box-shadow:0 -8px 25px rgba(0,0,0,.2)}
.reveal{opacity:0;transform:translateY(24px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu{display:block}.nav-links{display:none;position:absolute;top:86px;left:0;right:0;background:var(--navy);padding:22px 4%;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.services,.cards{grid-template-columns:1fr 1fr}.values,.reviews-grid{grid-template-columns:1fr 1fr}.two-col,.form-wrap,.project-detail,.cta-grid,.footer-grid{grid-template-columns:1fr}.mobile-estimate{display:block}body{padding-bottom:56px}}
@media(max-width:650px){section{padding:70px 0}.services,.cards,.values,.reviews-grid,.checks,.field-grid,.meta{grid-template-columns:1fr}.hero{min-height:720px}.hero-copy{padding:95px 0}.brand-text{font-size:.9rem}.brand img{width:50px;height:50px}.contact-box{min-width:0}}

/* Guided Project Concierge */
.concierge-launcher{
  position:fixed;right:22px;bottom:22px;z-index:1300;
  border:0;border-radius:999px;background:var(--navy);color:#fff;
  padding:14px 18px;font-weight:900;box-shadow:0 16px 42px rgba(0,0,0,.28);
  cursor:pointer;display:flex;align-items:center;gap:9px
}
.concierge-launcher .dot{width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(247,147,29,.18)}
.concierge-panel{
  position:fixed;right:22px;bottom:82px;z-index:1301;width:min(390px,calc(100vw - 28px));
  max-height:min(680px,calc(100vh - 110px));background:#fff;border-radius:18px;
  box-shadow:0 26px 80px rgba(0,0,0,.30);overflow:hidden;display:none;border:1px solid rgba(10,23,38,.12)
}
.concierge-panel.open{display:flex;flex-direction:column}
.concierge-head{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:20px;display:flex;align-items:center;gap:13px}
.concierge-head img{width:48px;height:48px;object-fit:contain}.concierge-head strong{display:block;font-size:1.05rem}.concierge-head small{color:#d7e0e8}
.concierge-close{margin-left:auto;border:0;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer}
.concierge-body{padding:18px;overflow-y:auto;background:#f7f8fa;flex:1}
.chat-bubble{max-width:88%;padding:12px 14px;border-radius:14px;margin:0 0 12px;white-space:pre-line}
.chat-bubble.bot{background:#fff;border:1px solid var(--line);color:var(--ink)}
.chat-bubble.user{background:var(--navy);color:#fff;margin-left:auto}
.chat-actions{display:grid;gap:9px;margin:12px 0 18px}
.chat-option{border:1px solid var(--line);background:#fff;color:var(--navy);padding:11px 13px;border-radius:10px;text-align:left;font-weight:800;cursor:pointer}
.chat-option:hover{border-color:var(--orange);background:#fff8ee}
.chat-form{display:grid;gap:10px}.chat-form input,.chat-form select,.chat-form textarea{margin:0;background:#fff}.chat-form textarea{min-height:85px}
.chat-submit{border:0;background:var(--orange);color:#151515;padding:12px;border-radius:8px;font-weight:900;cursor:pointer}
.chat-status{font-size:.86rem;color:var(--muted);margin-top:8px}
.chat-links{display:grid;gap:9px;margin-top:12px}.chat-links a{display:block;text-align:center;padding:11px;border-radius:8px;font-weight:900}
.chat-links .primary{background:var(--orange);color:#111}.chat-links .secondary{background:var(--navy);color:#fff}.chat-links .outline{border:1px solid var(--line);background:#fff;color:var(--navy)}
@media(max-width:950px){
  .concierge-launcher{bottom:72px;right:14px}
  .concierge-panel{right:14px;bottom:128px}
}

.form-success{display:none;background:#eef8f0;border:1px solid #b9ddc0;color:#174b22;padding:16px;border-radius:9px;margin-top:16px}
.form-error{display:none;background:#fff0f0;border:1px solid #e5b7b7;color:#7c2020;padding:16px;border-radius:9px;margin-top:16px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.language-picker{display:flex;align-items:center;gap:8px;color:#fff}
.language-select{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.35);padding:8px 10px;border-radius:6px;font-weight:700}
.language-select option{color:#111;background:#fff}
@media(max-width:980px){.language-picker{width:100%}.language-select{width:100%}}


/* =========================================================
   VERSION 7.5 PUBLIC WEBSITE POLISH
   ========================================================= */
header{position:sticky;top:0;z-index:1100;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.nav-links{gap:28px}

/* Compact one-row service browser */
.service-filter-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:-12px 0 28px}
.service-filter{border:1px solid var(--line);background:#fff;color:var(--navy);padding:10px 17px;border-radius:999px;font-weight:850;cursor:pointer;transition:.2s}
.service-filter:hover,.service-filter.active{background:var(--navy);border-color:var(--navy);color:#fff}
.services-carousel-shell{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center}
.services-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 24px;scrollbar-width:none}
.services-track::-webkit-scrollbar{display:none}
.services-track .service-card,.services-track .card{flex:0 0 270px;scroll-snap-align:start}
.services-track .card img{height:165px;aspect-ratio:16/9}
.services-track .card-body{padding:21px}.services-track .card-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em}
.services-track .card.service-hidden{display:none}
.service-arrow{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.35rem;font-weight:900;cursor:pointer;box-shadow:0 8px 24px rgba(7,21,34,.10)}
.service-arrow:hover{background:var(--orange);border-color:var(--orange)}
.services-more{text-align:center;margin-top:18px}

/* Fast map preview; interactive experience begins after click */
.service-map-preview{display:block;position:relative;min-height:420px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#bdcbd5}
.service-map-preview img{width:100%;height:100%;min-height:420px;object-fit:cover;transition:transform .4s ease,filter .4s ease}
.map-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:38px;color:#fff;background:linear-gradient(180deg,transparent 45%,rgba(5,18,30,.88));opacity:.95;transition:.3s}
.map-overlay strong{font-size:1.28rem}.map-overlay small{margin-top:5px;color:#e5ecf1}
.service-map-preview:hover img{transform:scale(1.025);filter:saturate(1.08)}
.service-map-preview:hover .map-overlay{background:linear-gradient(180deg,rgba(5,18,30,.08),rgba(5,18,30,.94))}

/* Honest review placeholder */
.reviews-coming-soon{max-width:720px;margin:0 auto;padding:46px 32px;text-align:center;background:linear-gradient(145deg,#fff,#f4f6f8);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(7,21,34,.10)}
.reviews-coming-soon h3{font-size:1.65rem;margin:10px 0}.reviews-coming-soon p{color:var(--muted)}
.review-status{display:inline-flex;margin-top:10px;background:var(--navy);color:#fff;border-radius:999px;padding:8px 14px;font-weight:850;font-size:.85rem}

/* Premium CTA */
.cta-grid-v75{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)}
.cta-intro p{max-width:650px;color:#dce5eb;margin-bottom:25px}
.contact-card-premium{background:linear-gradient(145deg,#17354d,#10283b);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:36px;color:#fff;box-shadow:0 24px 65px rgba(0,0,0,.28)}
.contact-card-premium h3{color:#fff;font-size:1.65rem;margin:10px 0}.contact-card-premium p{color:#d5e0e8}
.contact-card-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:rgba(247,147,29,.15);color:var(--orange);font-size:1.7rem;font-weight:900}
.contact-card-button{display:block;text-align:center;margin:23px 0}
.contact-lines{display:grid;gap:9px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.contact-lines a{color:#fff;overflow-wrap:anywhere}.cta-checks{list-style:none;padding:18px 0 0;margin:0;display:grid;gap:9px}.cta-checks li:before{content:"✓";color:var(--orange);font-weight:950;margin-right:9px}

/* Footer: service areas + language are available without crowding header */
.footer-grid-v75{grid-template-columns:1.35fr .75fr .85fr 1.2fr 1fr}
.footer-areas{display:grid;gap:7px;font-size:.91rem}.footer-areas strong{color:#fff;margin-top:2px}.footer-areas span{line-height:1.55}.footer-areas a{margin-top:5px;color:var(--orange);font-weight:850}
.footer-language-label{display:block;color:#fff;font-weight:800;margin:20px 0 8px}.footer-language{width:100%;margin:0;background:#111b24}

/* Ask a Question guided panel */
.concierge-launcher{background:var(--navy)}
.chat-step{background:#fff;border:1px solid var(--line);padding:15px;border-radius:14px;margin-top:10px}
.chat-progress{font-size:.79rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.chat-step-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:12px}.chat-step-actions button{border:0;border-radius:9px;padding:11px 14px;font-weight:900;cursor:pointer}
.chat-back{background:#e9edf0;color:var(--navy)}.chat-next,.chat-send{background:var(--orange);color:#111}
.chat-review{display:grid;gap:8px;background:#f5f7f9;border-radius:10px;padding:13px}.chat-review strong{color:var(--navy)}
.question-error{color:#8c2020;font-size:.84rem;min-height:1.2em;margin-top:4px}
.quick-link-card{display:grid;gap:9px}.quick-link-card a{display:block;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:850}

@media(max-width:1050px){.footer-grid-v75{grid-template-columns:1.25fr 1fr 1fr}.cta-grid-v75{grid-template-columns:1fr}}
@media(max-width:700px){
 .services-carousel-shell{grid-template-columns:1fr}.service-arrow{display:none}.services-track .service-card,.services-track .card{flex-basis:82vw;max-width:300px}.service-filter-row{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
 .footer-grid-v75{grid-template-columns:1fr}.service-map-preview,.service-map-preview img{min-height:320px}.contact-card-premium{padding:27px}
}

/* Version 7.5.1: Project gallery hero */
.projects-page-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(7,25,40,.94) 0%,rgba(7,25,40,.82) 48%,rgba(7,25,40,.48) 100%),
    url("https://images.unsplash.com/photo-1744858207706-dd827060504d?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=82&w=2400") center 48%/cover no-repeat;
}
.projects-page-hero .container{position:relative;z-index:1}
.projects-page-hero h1{max-width:850px}
.projects-page-hero p{max-width:690px;color:rgba(255,255,255,.9)}
.hero-scroll-link{
  display:inline-flex;
  margin-top:24px;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid var(--orange);
  padding-bottom:6px;
}
.hero-scroll-link:hover{color:var(--orange)}
@media (max-width:760px){
  .projects-page-hero{min-height:430px;background-position:62% center}
}

/* v7.5.2 multilingual layout safeguards */
.btn,.chat-option,.chat-next,.chat-back,.chat-send,.review-status{white-space:normal;text-align:center;line-height:1.25}
.topbar,.trust-bar{white-space:normal;text-align:center;line-height:1.35}
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .nav-links,html[dir="rtl"] .footer-grid,html[dir="rtl"] .cta-grid{direction:rtl}


/* Version 7.6 refinements */
.footer-brand{justify-content:flex-start}
.footer-brand img{display:block;margin:0 0 2px}
.service-map-page{min-height:420px}
.service-map-page img{background:#c9d8e1}
.btn,.chat-option,.review-status,.mobile-estimate{white-space:normal;text-align:center;line-height:1.25}
html[dir="rtl"] .footer-brand{align-items:flex-end;text-align:right}
@media(max-width:760px){.footer-brand{align-items:flex-start}.footer-brand img{width:62px}.service-map-page,.service-map-page img{min-height:300px}}

/* Version 7.6.2 cinematic hero */
@media (prefers-reduced-motion: reduce){}
@media (max-width:650px){.hero{background:linear-gradient(90deg,rgba(4,12,20,.91),rgba(4,12,20,.55)),url("../assets/images/hero-poster.jpg") center/cover no-repeat}}
.chat-main-menu{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--navy2);font-weight:900;padding:0 0 12px;cursor:pointer}.chat-main-menu:hover{color:var(--orange)}


/* Version 7.6.3 production-readiness additions */
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#0e2235;padding:12px 16px;border-radius:8px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #f89a1c;outline-offset:3px}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:.9rem;line-height:1.45}
.consent-check input{width:auto;margin-top:4px;flex:0 0 auto}
.footer-legal{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.footer-legal a{color:rgba(255,255,255,.75);font-size:.9rem}
.legal-content{max-width:850px}.legal-content h2{margin-top:32px}.legal-content p,.legal-content li{line-height:1.75}.legal-updated{margin-top:42px;font-size:.9rem;color:#667}
.page-hero.compact{padding:110px 0 70px;background:#0e2235;color:#fff}.page-hero.compact h1{color:#fff}
.not-found{min-height:65vh;display:grid;place-items:center;text-align:center;background:#0e2235;color:#fff;padding:80px 0}.not-found h1{color:#fff;font-size:clamp(3rem,8vw,6rem)}
.form-status[role="status"]{margin-top:12px}
html[dir="rtl"] .nav-links,html[dir="rtl"] .actions,html[dir="rtl"] .contact-lines{direction:rtl}
@media(max-width:700px){.footer-legal{justify-content:flex-start}.page-hero.compact{padding:90px 0 55px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v7.6.4 production audit fixes */
to{transform:scale(1.055)}}
.footer-legal{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.footer-legal-separator{color:rgba(255,255,255,.42);line-height:1}
@media(max-width:700px){.footer-legal{justify-content:flex-start;gap:8px 10px}}
@media(prefers-reduced-motion:reduce){}

/* Version 7.6.5: single static hero photograph — no video or motion */
.hero.hero-static{
  position:relative;
  min-height:760px;
  overflow:hidden;
  color:#fff;
  display:grid;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(4,12,20,.88),rgba(4,12,20,.58) 52%,rgba(4,12,20,.28)),
    url("https://images.unsplash.com/photo-1744858207706-dd827060504d?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=82&w=2400") center 42% / cover no-repeat;
}
.hero.hero-static::before{content:none!important}
.hero.hero-static::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:35%;
  height:7px;
  background:var(--orange);
  z-index:3;
}
.hero.hero-static .hero-copy{position:relative;z-index:2}
@media(max-width:650px){
  .hero.hero-static{
    min-height:700px;
    background:
      linear-gradient(90deg,rgba(4,12,20,.91),rgba(4,12,20,.58)),
      url("https://images.unsplash.com/photo-1744858207706-dd827060504d?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=82&w=2400") 58% center / cover no-repeat;
  }
}


/* Version 7.8: accessible project gallery lightbox */

.project-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.project-view-label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  font-size:.82rem;
  font-weight:800;
  opacity:0;
  transform:translateY(5px);
  transition:.25s ease;
}
.project-view-label::before{content:"\1F50D"}
.project-card:hover .project-view-label,
.project-card:focus-visible .project-view-label{opacity:1;transform:none}

body.lightbox-open{overflow:hidden}
.project-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
}
.project-lightbox.is-open{opacity:1;visibility:visible}
.project-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,10,18,.92);
  backdrop-filter:blur(8px);
}
.project-lightbox__dialog{
  position:relative;
  z-index:1;
  width:min(1180px,94vw);
  max-height:92vh;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 64px;
  align-items:center;
}
.project-lightbox__figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#071524;
  box-shadow:0 24px 80px rgba(0,0,0,.55);
}
.project-lightbox__image-wrap{
  display:grid;
  place-items:center;
  overflow:auto;
  max-height:76vh;
  background:#02070d;
}
.project-lightbox__image{
  display:block;
  max-width:100%;
  max-height:76vh;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:zoom-in;
  transition:transform .22s ease;
  transform-origin:center;
}
.project-lightbox__image.is-zoomed{
  transform:scale(1.65);
  cursor:zoom-out;
}
.project-lightbox__caption{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:18px 22px;
  color:#fff;
}
.project-lightbox__caption h2{
  color:#fff;
  margin:0 0 4px;
  font-size:clamp(1.15rem,2vw,1.7rem);
}
.project-lightbox__category{margin:0;color:rgba(255,255,255,.72)}
.project-lightbox__count{
  flex:0 0 auto;
  font-weight:800;
  color:var(--orange);
}
.project-lightbox__close,
.project-lightbox__nav{
  border:0;
  color:#fff;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:.2s ease;
}
.project-lightbox__close:hover,
.project-lightbox__nav:hover,
.project-lightbox__close:focus-visible,
.project-lightbox__nav:focus-visible{
  background:var(--orange);
  color:#061523;
  outline:none;
}
.project-lightbox__close{
  position:absolute;
  top:-18px;
  right:46px;
  z-index:3;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:2rem;
  line-height:1;
}
.project-lightbox__nav{
  width:52px;
  height:70px;
  border-radius:14px;
  font-size:1.8rem;
  justify-self:center;
}
@media(max-width:720px){
  .project-lightbox{padding:12px}
  .project-lightbox__dialog{
    width:100%;
    grid-template-columns:1fr;
  }
  .project-lightbox__figure{width:100%}
  .project-lightbox__image-wrap{max-height:72vh}
  .project-lightbox__image{max-height:72vh}
  .project-lightbox__nav{
    position:absolute;
    top:43%;
    z-index:3;
    width:46px;
    height:58px;
  }
  .project-lightbox__nav--prev{left:8px}
  .project-lightbox__nav--next{right:8px}
  .project-lightbox__close{top:8px;right:8px}
  .project-lightbox__caption{padding:15px 16px}
}
@media(prefers-reduced-motion:reduce){
  .project-lightbox,
  .project-lightbox__image,
  .project-view-label{transition:none!important}
}

/* Version 7.8.1: refreshed local gallery thumbnails */
.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#dfe5e9;
}

/* Version 7.8.2: custom multilingual file upload */
.custom-file-upload{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:center;
  gap:14px;
}
.custom-file-upload input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.custom-file-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:12px 18px;
  border:2px solid var(--orange);
  border-radius:10px;
  background:var(--orange);
  color:#061523;
  font-weight:900;
  cursor:pointer;
  line-height:1.25;
  text-align:center;
}
.custom-file-button:hover,
.custom-file-button:focus-within{filter:brightness(.96)}
.custom-file-upload input[type="file"]:focus-visible + .custom-file-button{
  outline:3px solid rgba(255,145,23,.35);
  outline-offset:3px;
}
.custom-file-status{
  min-width:0;
  color:#526579;
  overflow-wrap:anywhere;
}
.custom-file-upload small{
  grid-column:1/-1;
  text-align:center;
}
html[dir="rtl"] .custom-file-upload{direction:rtl}
html[dir="rtl"] .custom-file-button{flex-direction:row-reverse}
@media(max-width:620px){
  .custom-file-upload{grid-template-columns:1fr}
  .custom-file-button{width:100%}
  .custom-file-status{text-align:center}
}

/* Version 7.8.3: stable refreshed gallery thumbnails */

.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Version 7.8.4: gallery uses local manifest only */
.gallery-status{
  grid-column:1/-1;
  padding:24px;
  text-align:center;
  border:1px solid #d9e1e7;
  border-radius:14px;
  background:#f8fafb;
  color:#526579;
}

/* Version 7.8.16: single-source responsive project slider */
#project-gallery .container{
  width:min(100% - 32px, 1360px);
  max-width:1360px;
  margin-inline:auto;
}

#projectGallery.project-gallery-slider{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:20px 0 44px;
  columns:auto;
  column-count:auto;
  column-width:auto;
  box-sizing:border-box;
}

#projectGallery .project-slider-shell{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 56px;
  gap:16px;
  align-items:center;
  width:100%;
  max-width:none;
}

#projectGallery .project-slider-track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:100%;
  min-width:0;
  max-width:none;
  overflow-x:auto;
  overflow-y:hidden;
  padding:18px 2px 24px;
  margin:0;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  box-sizing:border-box;
}
#projectGallery .project-slider-track::-webkit-scrollbar{display:none}

#projectGallery .project-slider-track .project-card{
  position:relative;
  flex:0 0 calc((100% - 48px) / 3);
  width:auto;
  min-width:0;
  max-width:none;
  margin:0;
  aspect-ratio:3 / 2;
  border-radius:16px;
  overflow:hidden;
  scroll-snap-align:start;
  box-sizing:border-box;
}

#projectGallery .project-slider-track .project-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center;
}

#projectGallery .project-slider-track .project-info{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:60px 18px 18px;
  background:linear-gradient(to top,rgba(4,13,22,.94),rgba(4,13,22,0));
  color:#fff;
  box-sizing:border-box;
}

#projectGallery .project-slider-arrow{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid #d5dee5;
  background:#fff;
  color:#071524;
  font-size:1.4rem;
  font-weight:900;
  cursor:pointer;
  justify-self:center;
  box-shadow:0 8px 24px rgba(7,21,36,.10);
}

#projectGallery .project-slider-arrow:disabled{
  opacity:.28;
  cursor:default;
}

#projectGallery .project-slider-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  width:100%;
  min-height:12px;
  margin-top:4px;
}

#projectGallery .project-slider-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#c7d0d8;
}

#projectGallery .project-slider-dots span.active{
  width:20px;
  border-radius:999px;
  background:var(--orange);
}

/* Medium screens: 2 cards */
@media (max-width:1100px){
  #project-gallery .container{
    width:min(100% - 28px, 980px);
  }

  #projectGallery .project-slider-track .project-card{
    flex-basis:calc((100% - 24px) / 2);
  }
}

/* Mobile: 1 primary card */
@media (max-width:760px){
  #project-gallery .container{
    width:min(100% - 20px, 100%);
  }

  #projectGallery.project-gallery-slider{
    padding:14px 0 34px;
  }

  #projectGallery .project-slider-shell{
    grid-template-columns:1fr;
    gap:0;
  }

  #projectGallery .project-slider-track{
    gap:14px;
    padding:14px 2px 20px;
  }

  #projectGallery .project-slider-track .project-card{
    flex:0 0 86%;
    max-width:430px;
    aspect-ratio:4 / 3;
  }

  #projectGallery .project-slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:4;
    width:44px;
    height:44px;
    background:rgba(255,255,255,.96);
  }

  #projectGallery .project-slider-arrow--prev{left:8px}
  #projectGallery .project-slider-arrow--next{right:8px}
}

@media (max-width:520px){
  #projectGallery .project-slider-track .project-card{
    flex-basis:92%;
    max-width:none;
  }
}
