/* Architectural workshop identity: charcoal, brushed silver and brand green. */
:root { --ink:#1b2222; --muted:#586161; --forest:#182122; --green:#435c2b; --accent:#c5e5a0; --line:#d5dada; --soft:#edf0ef; --radius:4px; --page:1320px; }
body { background:#fafbfa; }
h1,h2 { letter-spacing:-.035em; }
.eyebrow { font-size:.875rem; letter-spacing:.05em; display:flex; align-items:center; gap:12px; }
.eyebrow::before { content:""; width:28px; height:2px; background:currentColor; flex-shrink:0; }
html[lang="en"] .eyebrow { font-size:.875rem; letter-spacing:.075em; }
.muted-heading { color:#64726b; }
.section { padding-block:100px; }
.site-header { background:#fffffffa; border-bottom:1px solid #d7dcdc; }
.header-inner { min-height:96px; padding:14px 40px; gap:22px; }
.brand { gap:14px; }
.brand-words strong { font-size:.875rem; letter-spacing:.075em; }
.brand-words > span,html[lang="en"] .brand-words > span { font-size:.875rem; color:#59645d; }
.desktop-nav { gap:24px; }
.desktop-nav a { font-size:.94rem; }
.header-contact { border-radius:3px; font-size:.94rem; padding:12px 22px; }
.language-button { font-size:.875rem; }
.menu-button { border-radius:3px; }
.hero { width:calc(100% - 40px); max-width:1480px; margin:20px auto 0; grid-template-columns:.95fr 1.2fr; border-radius:4px; background:#182122; }
.hero-content { padding:64px 54px; min-height:660px; border-inline-start:4px solid var(--green); }
.hero-eyebrow { color:#c8d3c8; margin-bottom:30px; }
.hero h1,html[lang="en"] .hero h1 { font-size:clamp(2.8rem,4.4vw,4.65rem); font-weight:600; line-height:1.14; letter-spacing:-.045em; margin-bottom:30px; }
.hero-accent { color:#c5e5a0; }
.hero-content > p { color:#e0e7e3; font-size:1.08rem; line-height:1.85; max-width:480px; }
.hero-visual { min-height:600px; }
.hero-image { object-position:48% center; }
.hero-visual::after { inset:60% 0 0; background:linear-gradient(transparent,#101918e6); }
.hero-image-caption { inset-inline-start:32px; bottom:32px; padding-inline-start:16px; border-inline-start:2px solid #dce5db; }
.hero-image-caption > span:first-child { font-size:1rem; }
.hero-image-caption > span:last-child { color:#f1f4f1; font-size:.875rem; }
.hero-scroll { border-radius:3px; background:#18212296; }
.button { border-radius:3px; padding:15px 24px; min-height:54px; font-weight:600; font-size:1rem; transition:background .2s; }
.button:hover { transform:none; }
.direction-arrow,.contact-arrow { display:none !important; }
.hero-gallery-link { font-size:1rem; }
.hero-signature { border-top-color:#ffffff38; padding-top:26px; margin-top:48px; font-size:.875rem; color:#d6dfd8; flex-wrap:wrap; }
.since { font-size:.875rem; }
.since b { font-size:1.9rem; }
.trust-strip { border-bottom:1px solid #b9c2bd; gap:26px; padding-block:36px; }
.trust-strip > div { font-size:.94rem; }
.trust-number { font-size:2.1rem; font-weight:600; }
.trust-symbol { color:#536747; font-size:.875rem; }
.about { gap:90px; }
.about h2 { font-size:clamp(2.4rem,4.4vw,4rem); }
.about-established { border-radius:2px; background:#edf0ea; padding:6px 14px; font-size:.875rem; }
.about-copy .lead { font-size:1.35rem; }
.about-note { font-size:1rem; }
.services-section { width:100%; max-width:none; border-radius:0; background:#e9edeb; border-block:1px solid #d5dcd7; }
.services-section .wrapper { width:calc(100% - 96px); }
.section-top { gap:40px; margin-bottom:44px; }
.section-intro { max-width:370px; font-size:1rem; }
.services-grid { gap:1px; background:#cbd3cf; border:1px solid #cbd3cf; }
.service { border:0; border-radius:0; background:#f9faf9; padding:36px; grid-template-columns:42px minmax(0,1fr); gap:12px 24px; }
.service-no { color:#5b7250; font-size:1.75rem; }
.service h3 { font-size:1.4rem; }
.service-label { color:#5c6a5b; font-size:.875rem; letter-spacing:.07em; margin-top:20px; }
.service:last-child { background:#182122; }
.service:last-child p { color:#d5dfd8; }
.service:last-child .service-no,.service:last-child .service-label { color:#c5e5a0; }
.projects { padding-bottom:90px; }
.project-grid { grid-template-columns:1.2fr 1fr; gap:44px 30px; }
.project:nth-child(even) { margin-top:70px; }
.project-photo,.project:nth-child(even) .project-photo { height:410px; border-radius:3px; }
.project:nth-child(even) .project-photo { height:345px; }
.project-caption { border-bottom:1px solid var(--line); padding-block:18px; }
.project-caption strong { font-weight:600; font-size:1.05rem; }
.project-caption > span { font-size:.875rem; }
.expand-icon { border-radius:3px; background:#fff; border-color:#fff; width:40px; height:40px; font-size:1.4rem; }
.gallery-note { font-size:.94rem; }
.suppliers { padding-top:80px; padding-bottom:100px; border-top:1px solid var(--line); }
.supplier-grid { gap:24px; }
.supplier-card { border-radius:3px; padding:38px; background:#fff; border:1px solid #d3dad5; border-top:3px solid #435c2b; }
.alumil-card { background:#fff; border-top-color:#8f9893; }
.supplier-brand { gap:24px; flex-wrap:wrap; }
.supplier-caption { font-size:.875rem; letter-spacing:.04em; color:#5a685c; }
.supplier-logo { height:56px; max-width:180px; }
.supplier-card h3 { font-size:1.4rem; }
.feature-list li { font-size:1rem; }
.supplier-card .supplier-note,.supplier-sources { font-size:.875rem; color:#586651; }
.profile-heading { margin-top:30px; font-size:1.05rem; }
.profile-list li { font-size:1rem; grid-template-columns:115px minmax(0,1fr); }
.profile-list strong { font-size:1.05rem; letter-spacing:.02em; }
.precision-section { width:calc(100% - 40px); max-width:1480px; border-radius:3px; background:#182122; padding-block:70px; }
.precision-layout { width:calc(100% - 104px); gap:65px; }
.precision-image { border-radius:3px; height:560px; }
.precision-section .eyebrow { color:#cbdabe; }
.precision-intro,.precision-points p { color:#d3dfd6; }
.precision-image figcaption > span:first-child { font-size:.875rem; }
.precision-points article { padding-block:24px; }
.contact-section { padding-block:110px; gap:80px; }
.contact-row { padding-block:26px; grid-template-columns:minmax(0,1fr); }
.contact-row > span:first-child { font-size:.94rem; }
.contact-row strong { font-weight:500; }
.site-footer { background:#182122; color:#fff; padding-block:42px; border-top:0; }
.footer-brand { font-size:.94rem; }
.footer-brand > span,.footer-description,.copyright { color:#d0dbd1; font-size:.875rem; }
.back-top { font-size:.94rem; }
.a11y-trigger { border-radius:5px; background:#182122; }
.a11y-dialog { border-radius:5px; }
.a11y-dialog button,.a11y-dialog fieldset { border-radius:3px; }
.mobile-contact-bar { border-radius:4px; }
.mobile-contact-bar a:last-child { border-radius:3px; }
html.a11y-enlarged .hero { grid-template-columns:1fr; }
html.a11y-enlarged .hero-content { min-height:0; }
html.a11y-enlarged .hero-signature { flex-wrap:wrap; }
@media(max-width:1200px) {
 .header-inner { padding-inline:24px; gap:15px; } .desktop-nav { gap:16px; } .desktop-nav a { font-size:.875rem; }
 .hero-content { padding:45px 36px; min-height:610px; } .hero-visual { min-height:610px; }
 .service { padding:30px; gap:12px 16px; } .supplier-card { padding:30px; }
 .about,.contact-section { gap:50px; } .precision-layout { gap:40px; }
}
@media(max-width:1020px) {
 .section { padding-block:80px; } .hero-content { padding:40px 30px; } .hero h1,html[lang="en"] .hero h1 { font-size:3rem; }
 .section-intro { max-width:300px; } .supplier-brand { align-items:center; flex-direction:row; }
 .precision-layout { width:calc(100% - 64px); gap:32px; } .precision-image { height:580px; }
}
@media(max-width:760px) {
 .header-inner { min-height:82px; padding:12px 18px; gap:12px; }
 .brand-words strong { font-size:.75rem; letter-spacing:.035em; } .brand-words > span,html[lang="en"] .brand-words > span { font-size:.875rem; }
 .brand { gap:8px; } .header-actions { gap:6px; } .language-button { font-size:.875rem; min-width:54px; } .menu-button { width:44px; height:44px; }
 .hero { width:calc(100% - 24px); margin-top:12px; flex-direction:column; }
 .hero-content { padding:36px 26px; min-height:0; } .hero h1,html[lang="en"] .hero h1 { font-size:clamp(2.5rem,9vw,3.6rem); margin-bottom:24px; }
 .hero-eyebrow { margin-bottom:24px; } .hero-content > p { font-size:1rem; }
 .hero-visual { min-height:340px; } .hero-image { object-position:center 43%; }
 .hero-actions { gap:20px; } .button { padding:14px 18px; font-size:1rem; }
 .hero-signature { margin-top:30px; gap:16px; } .hero-image-caption { bottom:24px; inset-inline-start:22px; }
 .trust-strip { gap:22px 14px; padding-block:28px; } .trust-strip > div { font-size:.875rem; }
 .trust-number { font-size:1.85rem; } .trust-strip > div+div { padding-inline-start:14px; }
 .section { padding-block:64px; } .about { gap:28px; } .about h2 { font-size:2.6rem; }
 .services-section .wrapper { width:calc(100% - 40px); } .service { padding:26px 20px; grid-template-columns:32px minmax(0,1fr); gap:12px 14px; }
 .section-top { margin-bottom:30px; } .section-intro { max-width:none; }
 .project-grid { gap:30px; } .project:nth-child(even) { margin-top:0; }
 .project-photo,.project:nth-child(even) .project-photo { height:330px; } .project:nth-child(2) .project-photo,.project:nth-child(6) .project-photo { height:410px; }
 .project-caption { gap:8px; padding-block:14px; } .supplier-card { padding:26px; } .supplier-caption { max-width:160px; }
 .suppliers { padding-block:64px; } .precision-section { width:calc(100% - 24px); padding-block:45px; }
 .precision-layout { width:calc(100% - 44px); gap:30px; } .precision-image { height:420px; }
 .contact-section { gap:32px; padding-block:70px; } .contact-row strong { font-size:1.8rem; } .email-row strong { font-size:1.35rem; }
 .site-footer { padding-block:32px; } .footer-brand { font-size:.875rem; }
 .mobile-contact-bar { bottom:max(12px,env(safe-area-inset-bottom)); }
 html.a11y-enlarged .header-inner { flex-wrap:wrap; } html.a11y-enlarged .profile-list li { grid-template-columns:1fr; }
}
@media(max-width:380px) { .brand-words { max-width:155px; } .brand-words strong { font-size:.75rem; overflow-wrap:anywhere; } .header-inner { flex-wrap:wrap; } .header-actions { margin-inline-start:auto; } .profile-list li { grid-template-columns:1fr; gap:6px; } }
@media(prefers-reduced-motion:reduce) { .button,.project-photo img { transition:none; } }
/* Reflow at enlarged text sizes without clipping architectural details. */
html.a11y-enlarged .precision-layout > *,html.a11y-enlarged .about > *,html.a11y-enlarged .contact-section > * { min-width:0; }
html.a11y-enlarged h1,html.a11y-enlarged h2,html.a11y-enlarged h3,html.a11y-enlarged p,html.a11y-enlarged figcaption,html.a11y-enlarged .supplier-caption { overflow-wrap:anywhere; }
html.a11y-enlarged .precision-points article { flex-wrap:wrap; }
html.a11y-enlarged .precision-points article > div { min-width:0; }
html.a11y-enlarged .precision-image { min-width:0; }
html.a11y-enlarged .project-caption strong,html.a11y-enlarged .project-caption > span { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.showroom-entry{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;padding-block:4rem;border-bottom:1px solid #d7ddd3}.showroom-entry h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.15;max-width:700px}.showroom-entry p{max-width:600px;margin-block:1.5rem}.showroom-entry img{width:100%;height:300px;object-fit:cover;border-radius:3px}.desktop-nav{gap:1.1rem}.hero-actions{flex-wrap:wrap}@media(max-width:760px){.showroom-entry{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.showroom-entry img{height:230px}}html[lang=ar]{letter-spacing:normal}html[lang=ar] .eyebrow{letter-spacing:0}
