@import url('https://fonts.googleapis.com/css2?family=Noto+Kufi+Arabic:wght@400;500;600;700&display=swap');
@import "tailwindcss";

:root { --ink:#1b140f; --walnut:#4a2d1e; --ivory:#f6f1e8; --gold:#c79a52; --navy:#10283f; --sand:#d8c5a8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:"Noto Kufi Arabic","Tahoma","Arial",sans-serif; }
a { color:inherit; text-decoration:none; }
.nav-wrap { position:absolute; z-index:20; top:0; inset-inline:0; height:98px; display:flex; align-items:center; gap:38px; padding:0 4.5vw; color:#fff; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:flex; flex-direction:column; line-height:1; min-width:150px; }
.logo-brand { width:185px; height:62px; overflow:hidden; background:#fff; padding:5px 8px; }
.logo-brand img { width:100%; height:100%; object-fit:contain; }
.brand-ar { font-size:42px; font-weight:500; letter-spacing:1px; }
.brand-en { font-family:Georgia,serif; font-size:11px; letter-spacing:2.2px; margin-top:7px; }
.nav-links { display:flex; gap:34px; margin-inline:auto; font-size:15px; }
.nav-links a { position:relative; padding:38px 0 34px; }
.nav-links a:after { content:""; position:absolute; bottom:26px; right:0; width:0; height:1px; background:var(--gold); transition:.25s; }
.nav-links a:hover:after { width:100%; }
.nav-cta { border:1px solid var(--gold); padding:14px 24px; color:#f4d8a5; }
.menu-button { display:none; background:none; border:0; color:#fff; font-size:26px; }
.hero { position:relative; min-height:760px; height:100vh; overflow:hidden; color:#fff; background:#1b140f; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:heroIn 1.1s ease-out both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,12,8,.12) 0%,rgba(18,12,8,.18) 36%,rgba(18,12,8,.9) 76%,rgba(18,12,8,.98) 100%); }
.hero-content { position:relative; z-index:2; width:min(580px,44vw); margin-right:7vw; padding-top:190px; }
.eyebrow,.section-kicker { color:var(--gold); font-size:15px; letter-spacing:.5px; margin:0 0 18px; }
.hero h1 { font-size:clamp(46px,5vw,76px); line-height:1.28; font-weight:500; margin:0; letter-spacing:-2px; }
.hero-copy { font-size:19px; line-height:2; color:#eee3d5; max-width:540px; margin:24px 0 30px; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:58px; padding:0 28px; border:0; cursor:pointer; font:700 16px inherit; transition:.25s; }
.button.primary { background:var(--gold); color:#21160e; box-shadow:inset 0 0 0 1px #e4c183; }
.button:hover { transform:translateY(-2px); }
.text-link { border-bottom:1px solid var(--gold); padding:17px 0 10px; }
.trust-row { display:flex; margin-top:48px; border-top:1px solid rgba(255,255,255,.18); padding-top:24px; }
.trust-row span { min-width:130px; padding:0 20px; border-left:1px solid rgba(255,255,255,.18); }
.trust-row span:last-child { border:0; }
.trust-row b,.trust-row small { display:block; }
.trust-row b { color:#e2bd7c; font-family:Georgia,serif; font-size:18px; }
.trust-row small { margin-top:7px; color:#d8cfc4; font-size:12px; }
.casabella-logo { position:absolute; z-index:2; left:4vw; bottom:28px; width:300px; height:105px; object-fit:cover; object-position:center 53%; }
.section { padding:110px 7vw; }
.intro { display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; align-items:end; }
.intro h2,.section h2,.capabilities h2,.quote h2 { font-size:clamp(34px,4vw,58px); line-height:1.35; font-weight:500; margin:0; }
.intro>p,.section-heading>p,.map-copy>p { color:#66594f; font-size:17px; line-height:2; margin:0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:50px; }
.section-heading>p { max-width:420px; }
.products { background:#f0e8dc; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cbbda9; border-right:1px solid #cbbda9; }
.product-card { min-height:430px; padding:20px; border-left:1px solid #cbbda9; border-bottom:1px solid #cbbda9; position:relative; transition:.3s; }
.product-card:hover { background:#fffaf1; transform:translateY(-5px); }
.card-number { position:absolute; left:24px; top:24px; font:14px Georgia,serif; color:#9b8064; }
.product-image { width:100%; height:190px; object-fit:cover; display:block; margin:34px 0 24px; }
.product-card h3 { font-size:24px; margin:0 0 14px; }
.product-card p { color:#6c5f55; line-height:1.9; font-size:14px; min-height:80px; }
.product-card a { color:#8a5527; font-size:14px; }
.capabilities { background:#182018; color:#fff; padding:110px 7vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; }
.light { color:#d0a861; }
.cap-copy>p:not(.section-kicker) { color:#c8cec7; line-height:2; font-size:17px; margin:26px 0 34px; }
.outline { border:1px solid #bd965a; background:transparent; color:#f2dbaa; }
.process-list { list-style:none; margin:0; padding:0; }
.factory-photo { width:100%; height:250px; object-fit:cover; margin-bottom:8px; border:1px solid rgba(255,255,255,.18); }
.process-list li { display:flex; gap:28px; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.process-list b { font:22px Georgia,serif; color:#ca9b55; }
.process-list strong,.process-list small { display:block; }
.process-list strong { font-size:21px; margin-bottom:8px; }
.process-list small { color:#aeb7ae; font-size:14px; }
.markets { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; background:#fbf8f2; }
.market-panel { position:relative; min-height:430px; display:grid; grid-template-columns:1.4fr .6fr; align-items:center; gap:28px; }
.export-photo { width:100%; height:390px; object-fit:cover; }
.globe { width:300px; aspect-ratio:1; border:1px solid #c89b63; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 25px,rgba(184,121,69,.13) 26px 27px); display:grid; place-items:center; box-shadow:inset 0 0 0 55px rgba(199,154,82,.05); }
.globe:before,.globe:after { content:""; position:absolute; width:300px; height:120px; border:1px solid #c89b63; border-radius:50%; }
.globe:after { transform:rotate(90deg); }
.globe span { color:#bd7740; font-size:34px; }
.market-list { display:grid; gap:12px; }
.market-list span { border-bottom:1px solid #dbcdbb; padding:12px 0; color:var(--navy); min-width:180px; }
.quote { background:var(--navy); color:#fff; padding:100px 7vw; display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.quote-copy>p:last-child { color:#c7d0d9; line-height:2; margin-top:24px; }
.quote-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.quote-form label { font-size:13px; color:#d7dfE7; }
.quote-form input,.quote-form select,.quote-form textarea { display:block; width:100%; margin-top:9px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.24); color:#fff; padding:15px; font:14px inherit; outline:none; }
.quote-form option { color:#111; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:var(--gold); }
.full { grid-column:1/-1; }
.form-note { margin:0; color:#f1d49e; font-size:13px; }
.contact-strip { background:#efe5d7; padding:45px 7vw; display:grid; grid-template-columns:1fr 1fr 1fr 1.5fr; gap:30px; border-top:1px solid #d8c7b1; }
.contact-strip div { border-right:2px solid var(--gold); padding-right:16px; }
.contact-strip small { display:block; color:#8a6c4f; margin-bottom:8px; }
.contact-strip a,.contact-strip address { font-style:normal; font-size:14px; line-height:1.6; color:var(--navy); }
.footer-logo { width:170px; height:60px; object-fit:contain; background:#fff; padding:5px; }
footer { background:#0b1c2b; color:#b9c5cf; padding:45px 7vw; display:flex; align-items:center; justify-content:space-between; font-size:12px; }
.footer-brand { color:#fff; }
.footer-brand .brand-ar { font-size:30px; }
@keyframes heroIn { from { transform:scale(1.04); opacity:.6; } to { transform:scale(1); opacity:1; } }
@media (max-width:900px) {
  .nav-wrap { height:78px; }
  .brand-ar { font-size:32px; }.brand-en { font-size:8px; }
  .menu-button { display:block; margin-right:auto; order:3; }
  .nav-cta { display:none; }
  .nav-links { display:none; position:absolute; top:78px; inset-inline:0; background:#1b140f; flex-direction:column; gap:0; padding:18px 7vw; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:14px 0; }
  .hero { min-height:760px; height:auto; }
  .hero-image { object-position:35% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(18,12,8,.55),rgba(18,12,8,.92)); }
  .hero-content { width:auto; margin:0 7vw; padding:145px 0 130px; }
  .hero h1 { font-size:46px; }.hero-copy { font-size:16px; }.trust-row span { min-width:auto; padding:0 13px; }
  .casabella-logo { display:none; }
  .intro,.capabilities,.markets,.quote { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:1fr 1fr; }
  .section-heading { display:block; }.section-heading>p { margin-top:20px; }
}
@media (max-width:560px) {
  .section,.capabilities,.quote { padding:75px 6vw; }
  .hero h1 { font-size:38px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .trust-row { flex-wrap:wrap; gap:20px; }.trust-row span { border:0; padding:0; }
  .product-grid { grid-template-columns:1fr; }.product-card { min-height:320px; }
  .market-panel { grid-template-columns:1fr; }.export-photo { height:280px; }
  .contact-strip { grid-template-columns:1fr 1fr; }
  .quote-form { grid-template-columns:1fr; }.quote-form>* { grid-column:1/-1; }
  footer { flex-direction:column; gap:22px; text-align:center; }
  .contact-strip { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* Casabella global brand direction */
:root { --ink:#071d18; --walnut:#6d4934; --ivory:#f4f0e7; --gold:#c7a14a; --navy:#071d18; --sand:#d9ccb7; }
body { background:#f4f0e7; color:#09271f; }
.nav-wrap { height:112px; padding:0 5vw; border-bottom:1px solid rgba(255,255,255,.16); background:linear-gradient(180deg,rgba(3,18,14,.72),transparent); }
.logo-brand.casabella-brand { width:245px; height:92px; padding:0; background:transparent; overflow:hidden; }
.casabella-header-logo { width:245px!important; height:245px!important; max-width:none!important; object-fit:cover!important; object-position:center 53%!important; transform:translateY(-76px); }
.casabella-wordmark { position:relative; color:#f4efe4; font-family:Georgia,serif!important; font-size:30px!important; line-height:1; letter-spacing:3px; white-space:nowrap; }
.casabella-wordmark i { color:#d1aa50; font-size:44px; font-weight:400; }
.casabella-wordmark small { display:block!important; color:#d1aa50; font-family:Georgia,serif!important; font-size:17px!important; font-style:italic; line-height:1.1; letter-spacing:1px; text-align:left; margin-top:2px; }
.nav-links { color:#f8f4eb; font-size:14px; letter-spacing:.2px; }
.nav-cta { background:var(--gold); color:#09241c; border:0; font-weight:700; }
.language-switch { display:flex; border:1px solid rgba(255,255,255,.25); border-radius:2px; overflow:hidden; }
.language-switch :is(button,a) { display:grid; place-items:center; border:0; background:transparent; color:#fff; min-width:34px; height:32px; padding:0 8px; font:700 10px Arial,sans-serif; cursor:pointer; text-decoration:none; }
.language-switch :is(button,a).active { background:#c8a34e; color:#08241c; }
.hero { min-height:820px; height:100vh; background:#071d18; }
.hero-image { object-position:center; filter:saturate(.78) contrast(1.06); }
.hero-shade { background:linear-gradient(90deg,rgba(3,19,15,.1) 0%,rgba(3,19,15,.22) 38%,rgba(3,19,15,.88) 69%,#061b16 100%); }
.hero-content { width:min(650px,49vw); margin-right:7vw; padding-top:205px; }
.eyebrow { font-family:Georgia,serif; letter-spacing:2.6px; font-size:12px; color:#d4b363; }
.hero h1 { font-family:"Noto Kufi Arabic","Tahoma",sans-serif; font-size:clamp(45px,4.7vw,72px); line-height:1.38; letter-spacing:-2px; font-weight:600; }
.hero-copy { max-width:600px; color:#d9e1db; font-size:18px; }
.button.primary { background:#c9a54f; color:#061b16; box-shadow:none; }
.button { font-family:inherit; font-size:16px; font-weight:700; white-space:nowrap; }
.trust-row b { direction:ltr; unicode-bidi:isolate; }
.trust-row { max-width:600px; }
.trust-row b { color:#d8b96d; }
.global-proof { height:74px; padding:0 6vw; display:flex; align-items:center; justify-content:space-between; gap:30px; background:#c8a34e; color:#09251d; font:700 11px Georgia,serif; letter-spacing:1.8px; }
.section { padding:125px 7vw; }
.section-kicker { font:700 12px Georgia,serif; letter-spacing:2px; }
.intro { background:#f7f3eb; position:relative; }
.intro:before { content:"C"; position:absolute; left:5vw; bottom:-34px; color:rgba(10,44,35,.035); font:420px Georgia,serif; line-height:1; }
.intro h2,.section h2,.capabilities h2,.quote h2 { letter-spacing:-1.1px; color:#0b2d24; font-weight:600; line-height:1.55; }
.products { background:#0a2921; color:#fff; }
.products .section-heading h2 { color:#fff; }
.products .section-heading>p { color:#aebdb5; }
.product-grid { border:0; gap:16px; }
.product-card { min-height:530px; padding:0; border:0; overflow:hidden; background:#102f27; }
.product-card:hover { background:#102f27; transform:translateY(-8px); }
.product-image { width:100%; height:530px; margin:0; object-fit:cover; transition:transform .7s ease; }
.product-card:hover .product-image { transform:scale(1.045); }
.product-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(3,20,15,.93) 100%); }
.product-info { position:absolute; z-index:2; inset-inline:26px; bottom:25px; }
.product-card h3 { font-size:27px; color:#fff; }
.product-card p { color:#ccd6d0; min-height:auto; margin:8px 0 14px; }
.product-card a { color:#e1bd68; }
.card-number { z-index:3; top:22px; left:22px; width:42px; height:42px; display:grid; place-items:center; color:#071d18; background:#d0aa54; border-radius:50%; }
.capabilities { background:#f0ebe1; color:#0b2d24; gap:8vw; }
.cap-copy>p:not(.section-kicker) { color:#5c6b65; }
.outline { color:#0a2b22; border-color:#ab8737; }
.factory-photo { height:310px; border:0; }
.process-list li { border-bottom:1px solid #cfc5b5; }
.process-list small { color:#64736d; }
.markets { display:grid; grid-template-columns:.72fr 1.28fr; gap:5vw; align-items:center; background:#071d18; color:#fff; padding:90px 7vw; }
.markets .map-copy { display:block; margin:0; }
.markets .map-copy h2 { color:#fff; }
.markets .map-copy>p { color:#afc0b7; margin-top:24px; }
.map-stage { position:relative; width:min(100%,760px); margin-inline:auto; aspect-ratio:2/1; overflow:visible; border:1px solid rgba(207,171,89,.26); background:#071d18; }
.map-stage>img { width:100%; height:100%; object-fit:cover; display:block; opacity:.94; }
.pin { position:absolute; width:20px; height:20px; display:grid; place-items:center; color:#ffe08b; text-shadow:0 0 5px #ffd164,0 0 14px #efb93a,0 0 28px #d39a19; filter:drop-shadow(0 0 7px #e5b53d); animation:pulse 1.8s ease-in-out infinite; cursor:help; outline:none; }
.pin:before { content:""; position:absolute; inset:3px; border:1px solid rgba(255,216,118,.9); border-radius:50%; animation:ring 1.8s ease-out infinite; }
.pin-card { position:absolute; right:17px; top:-20px; min-width:145px; white-space:nowrap; color:#fff; background:rgba(4,25,20,.96); border:1px solid rgba(213,179,98,.72); padding:10px 12px; opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; z-index:8; text-align:right; }
.pin-card strong { display:block; font-size:12px; margin-bottom:8px; color:#fff; }
.pin-card a { display:flex; align-items:center; justify-content:center; gap:6px; background:#c8a34e; color:#08241c; padding:7px 9px; font-size:10px; font-weight:700; }
.pin:hover .pin-card,.pin:focus .pin-card,.pin:focus-within .pin-card { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.pin.uk { left:46.9%; top:29%; }.pin.spain { left:47.1%; top:41.5%; }.pin.morocco { left:45.6%; top:48.8%; }.pin.egypt { left:55.1%; top:49%; }.pin.ksa { left:58.8%; top:54%; }.pin.uae { left:61.1%; top:53.5%; }.pin.yemen { left:59.4%; top:59.5%; }.pin.rwanda { left:55.4%; top:66%; }.pin.kenya { left:57.2%; top:65%; }
.market-legend { position:absolute; left:28px; bottom:24px; display:flex; gap:8px; flex-wrap:wrap; max-width:470px; direction:rtl; }
.market-legend span { padding:8px 13px; background:rgba(7,29,24,.82); border:1px solid rgba(210,173,84,.45); font-size:12px; }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.28)} }
@keyframes ring { 0%{transform:scale(.7);opacity:.9} 100%{transform:scale(2.1);opacity:0} }
.quote { background:#0c3027; }
.quote h2 { color:#fff; }
.catalogue-link { display:inline-flex; margin-top:28px; padding:0 0 8px; border:0; border-bottom:1px solid #c8a34e; color:#e3c675; background:transparent; font:700 15px inherit; cursor:pointer; }
.contact-strip { background:#c8a34e; color:#08241c; }
.contact-strip div { border-right-color:rgba(8,36,28,.35); }
.contact-strip small,.contact-strip a,.contact-strip address { color:#09251d; }
footer { background:#051713; padding:52px 7vw; }
.manufacturer { display:flex; flex-direction:column; align-items:flex-start; color:#aab8b1; gap:5px; }
.manufacturer small { font:9px Georgia,serif; letter-spacing:1.8px; }
.footer-logo { width:170px; height:58px; object-fit:contain; background:transparent; padding:0; }
.country-flags { display:flex; gap:9px; margin-top:7px; direction:ltr; }
.country-flags span { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(210,173,84,.38); font-size:18px; }
.footer-center { display:flex; flex-direction:column; align-items:center; gap:15px; }
.footer-center>p { margin:0; }
.iso-badges { display:flex; gap:13px; direction:ltr; }
.iso-badge { min-width:150px; display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; column-gap:9px; align-items:center; padding:10px 12px; border:1px solid rgba(207,171,89,.38); color:#e5d7b5; }
.iso-ring { grid-row:1/3; width:40px; height:40px; border:2px solid #c8a34e; border-radius:50%; display:grid; place-items:center; font:700 11px Georgia,serif; color:#c8a34e; }
.iso-ring.leaf { border-style:double; }
.iso-badge strong { font:700 17px Georgia,serif; color:#fff; }
.iso-badge small { font:7px Arial,sans-serif; letter-spacing:.6px; color:#9fb0a8; }
.footer-certifications { display:flex; flex-direction:column; align-items:center; gap:10px; direction:ltr; }
.footer-certifications p { margin:0; }
.footer-certifications img { width:210px; height:auto; display:block; object-fit:contain; }
.modal-backdrop { position:fixed; z-index:100; inset:0; display:none; place-items:center; padding:20px; background:rgba(2,16,13,.82); backdrop-filter:blur(8px); }
.modal-backdrop:target { display:grid; }
.catalogue-modal { position:relative; width:min(620px,100%); max-height:90vh; overflow:auto; background:#f5f0e7; color:#0a2b22; padding:46px; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.catalogue-modal h2 { margin:0 0 12px; font-size:36px; line-height:1.45; }
.catalogue-modal>p:not(.section-kicker) { color:#65736c; margin:0 0 28px; }
.modal-close { position:absolute; top:15px; inset-inline-end:18px; width:36px; height:36px; display:grid; place-items:center; border:1px solid #bba987; background:transparent; color:#0a2b22; font-size:24px; cursor:pointer; }
.catalogue-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.catalogue-form label { font-size:12px; font-weight:600; }
.catalogue-form input { display:block; width:100%; margin-top:8px; padding:14px; border:1px solid #cbbda9; background:#fff; color:#0a2b22; font:14px inherit; outline:none; }
.catalogue-form input:focus { border-color:#9d7830; box-shadow:0 0 0 2px rgba(200,163,78,.18); }
@media (max-width:900px) {
  .nav-wrap { height:88px; }.logo-brand.casabella-brand { width:190px; height:78px; }.casabella-header-logo { width:190px!important; height:190px!important; transform:translateY(-57px); }
  .hero-content { width:auto; padding-top:165px; }.hero-shade { background:linear-gradient(90deg,rgba(3,19,15,.58),rgba(3,19,15,.94)); }
  .global-proof { overflow:hidden; justify-content:flex-start; }.global-proof span { white-space:nowrap; }
  .markets { grid-template-columns:1fr; gap:38px; }.markets .map-copy { display:block; }.product-grid { grid-template-columns:1fr 1fr; }
  .pin:after { display:none; }
  .language-switch { margin-inline-start:auto; }.language-switch :is(button,a) { min-width:30px; }
}
@media (max-width:560px) {
  .hero h1 { font-size:40px; }.hero { min-height:760px; }.product-grid { grid-template-columns:1fr; }
  .product-card,.product-image { min-height:460px; height:460px; }.map-stage { aspect-ratio:1/1; }.map-stage>img { object-fit:cover; object-position:center; }
  .market-legend { left:12px; right:12px; bottom:12px; }.global-proof { gap:44px; }
}

.site.ltr { direction:ltr; }
.site.ltr .hero-content { margin-left:7vw; margin-right:0; }
.site.ltr .hero-shade { background:linear-gradient(270deg,rgba(3,19,15,.1) 0%,rgba(3,19,15,.22) 38%,rgba(3,19,15,.88) 69%,#061b16 100%); }
.site.ltr .intro,.site.ltr .capabilities,.site.ltr .markets,.site.ltr .quote { direction:ltr; }
.site.ltr .section-heading,.site.ltr .process-list li,.site.ltr .hero-actions { direction:ltr; }
.site.ltr .pin-card { right:auto; left:17px; text-align:left; }
.site.ltr .contact-strip div { border-right:0; border-left:2px solid rgba(8,36,28,.35); padding-right:0; padding-left:16px; }
@media (max-width:900px){.site.ltr .hero-content{margin:0 7vw}.site.ltr .hero-shade{background:linear-gradient(270deg,rgba(3,19,15,.58),rgba(3,19,15,.94))}}
@media (max-width:700px){.manufacturer{align-items:center}.iso-badges{flex-wrap:wrap;justify-content:center}.iso-badge{min-width:142px}}
@media (max-width:700px){.footer-certifications img{width:190px}.catalogue-modal{padding:38px 22px 24px}.catalogue-modal h2{font-size:28px}.catalogue-form{grid-template-columns:1fr}.catalogue-form>*{grid-column:1/-1}}

/* Portfolio */
.portfolio-page { min-height:100vh; background:#f4f0e7; color:#0a2b22; overflow:hidden; }
.portfolio-nav { position:absolute; z-index:20; inset:0 0 auto; height:104px; padding:0 5vw; display:flex; align-items:center; gap:32px; color:#fff; border-bottom:1px solid rgba(255,255,255,.18); }
.portfolio-logo { width:220px; height:84px; overflow:hidden; margin-inline-end:auto; }
.portfolio-logo img { width:220px; height:220px; object-fit:cover; object-position:center 53%; transform:translateY(-68px); }
.portfolio-back { padding-bottom:5px; border-bottom:1px solid #d3ad59; font-size:13px; }
.portfolio-hero { position:relative; min-height:780px; height:95vh; display:flex; align-items:center; color:#fff; background:#071d18; overflow:hidden; }
.portfolio-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 57%; filter:saturate(.72) contrast(1.05); animation:heroIn 1.1s ease-out both; }
.portfolio-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,20,15,.96) 0%,rgba(3,20,15,.88) 34%,rgba(3,20,15,.32) 70%,rgba(3,20,15,.5) 100%); }
[dir="rtl"] .portfolio-hero-shade { transform:scaleX(-1); }
.portfolio-hero-copy { position:relative; z-index:2; width:min(720px,62vw); padding:150px 0 90px; margin-inline-start:8vw; }
.portfolio-hero-copy>p,.portfolio-heading p,.partners-copy>p,.portfolio-end>p { margin:0 0 20px; color:#d4b363; font:700 12px Georgia,serif; letter-spacing:2.2px; }
.portfolio-hero h1 { margin:0; max-width:650px; font-size:clamp(54px,6vw,92px); line-height:1.16; font-weight:600; letter-spacing:-2.4px; }
.portfolio-hero-copy>span { display:block; max-width:650px; margin-top:28px; color:#d9e2dc; font-size:17px; line-height:2; }
.portfolio-hero-copy>a { display:inline-flex; margin-top:34px; padding:15px 0 10px; color:#e4c570; border-bottom:1px solid #d2ac58; font-weight:700; }
.portfolio-hero-index { position:absolute; z-index:2; inset-inline-end:5vw; bottom:44px; display:flex; align-items:center; gap:10px; color:#fff; font:10px Arial,sans-serif; letter-spacing:1.5px; }
.portfolio-hero-index b { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(218,181,94,.7); color:#dcb85e; border-radius:50%; font:11px Georgia,serif; }
.portfolio-work { padding:120px 5vw 130px; }
.portfolio-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:48px; }
.portfolio-heading h2,.partners-copy h2,.portfolio-end h2 { margin:0; font-size:clamp(34px,4.2vw,60px); line-height:1.35; font-weight:600; letter-spacing:-1.3px; }
.portfolio-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.portfolio-filters button { min-height:44px; padding:0 18px; border:1px solid #c8baa4; background:transparent; color:#53665f; font:600 12px inherit; cursor:pointer; transition:.2s; }
.portfolio-filters button:hover,.portfolio-filters button.active { background:#0a2b22; border-color:#0a2b22; color:#fff; }
.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.portfolio-card { position:relative; min-height:510px; overflow:hidden; color:#fff; background:#0a2b22; }
.portfolio-card:nth-child(6n+1),.portfolio-card:nth-child(6n+4) { grid-column:span 7; }
.portfolio-card:nth-child(6n+2),.portfolio-card:nth-child(6n+3) { grid-column:span 5; }
.portfolio-card:nth-child(6n+5),.portfolio-card:nth-child(6n+6) { grid-column:span 6; }
.portfolio-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .75s ease; }
.portfolio-card:hover>img { transform:scale(1.04); }
.portfolio-card-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(3,21,16,.92) 100%); }
.portfolio-card>small { position:absolute; z-index:2; top:24px; inset-inline-start:24px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#caa54f; color:#08241c; font:700 12px Georgia,serif; }
.portfolio-card>div:last-child { position:absolute; z-index:2; inset-inline:30px; bottom:28px; }
.portfolio-card p { margin:0 0 8px; color:#d5b86d; font:10px Arial,sans-serif; letter-spacing:1.5px; text-transform:uppercase; }
.portfolio-card h3 { margin:0; font-size:30px; line-height:1.4; }
.portfolio-card span { display:block; color:#d1dad5; font-size:13px; }
.portfolio-card a { display:inline-block; max-height:0; margin-top:0; opacity:0; overflow:hidden; color:#e6c873; font-size:12px; transition:.35s; }
.portfolio-card:hover a,.portfolio-card:focus-within a { max-height:40px; margin-top:15px; opacity:1; }
.partners-section { padding:110px 0 120px; background:#08261f; color:#fff; }
.partners-copy { padding:0 7vw; display:grid; grid-template-columns:.8fr 1.2fr; gap:6vw; align-items:end; }
.partners-copy>p { grid-column:1/-1; margin-bottom:-20px; }
.partners-copy h2 { color:#fff; }
.partners-copy>span { color:#b7c6bf; line-height:2; max-width:520px; }
.partner-marquee { margin-top:75px; padding:28px 0; overflow:hidden; border-top:1px solid rgba(210,173,84,.26); border-bottom:1px solid rgba(210,173,84,.26); }
.partner-marquee>div { display:flex; width:max-content; animation:partnerScroll 30s linear infinite; }
[dir="rtl"] .partner-marquee>div { animation-direction:reverse; }
.partner-marquee span { display:flex; align-items:center; gap:34px; padding:0 42px; color:#f2eee5; font-size:20px; white-space:nowrap; }
.partner-marquee i { color:#caa54f; font-size:9px; }
@keyframes partnerScroll { to { transform:translateX(-50%); } }
.portfolio-end { padding:130px 7vw; text-align:center; background:#efe9dd; }
.portfolio-end h2 { max-width:850px; margin-inline:auto; }
.portfolio-end>span { display:block; max-width:690px; margin:24px auto 34px; color:#5f7069; line-height:2; }
.portfolio-footer { padding:36px 5vw; display:flex; align-items:center; justify-content:space-between; gap:28px; background:#041713; color:#aab8b1; }
.portfolio-footer img { width:155px; height:54px; object-fit:contain; }
.portfolio-footer a { color:#dec06f; }
@media (max-width:900px) {
  .portfolio-nav { height:78px; padding:0 18px; gap:14px; }.portfolio-logo { width:140px; height:68px; }.portfolio-logo img { width:150px; height:150px; transform:translateY(-43px); }
  .portfolio-back { display:none; }.portfolio-hero { min-height:720px; height:auto; }.portfolio-hero-copy { width:auto; margin:0 22px; padding:140px 0 105px; }.portfolio-hero h1 { font-size:clamp(43px,12vw,64px); }.portfolio-hero-copy>span { font-size:15px; }
  .portfolio-hero-index { inset-inline:22px; bottom:25px; justify-content:flex-end; }.portfolio-work { padding:78px 20px 85px; }.portfolio-heading { display:block; }.portfolio-filters { justify-content:flex-start; margin-top:28px; }
  .portfolio-grid { grid-template-columns:1fr; }.portfolio-card,.portfolio-card:nth-child(n) { grid-column:auto; min-height:430px; }.partners-section { padding:78px 0 85px; }.partners-copy { padding:0 20px; display:block; }.partners-copy>p { margin-bottom:18px; }.partners-copy>span { display:block; margin-top:20px; }.partner-marquee { margin-top:48px; }
  .portfolio-end { padding:85px 20px; }.portfolio-footer { flex-direction:column; text-align:center; }
}
@media (max-width:520px) { .portfolio-hero-index span { display:none; }.portfolio-filters button { flex:1 1 calc(50% - 8px); }.portfolio-card h3 { font-size:25px; }.partner-marquee span { font-size:17px; padding:0 26px; gap:22px; } }

/* Mobile-first finishing pass — 1100px is intentional for mobile browsers
   that expose a wide layout viewport before zoom/scaling settles. */
@media (max-width:1100px) {
  html,body,.site { width:100%; max-width:100%; overflow-x:hidden; }
  .nav-wrap { position:absolute; height:76px; padding:0 16px; gap:10px; }
  .nav-links { display:none; }
  .nav-links.open { display:flex; }
  .menu-button { display:grid; margin-right:auto; order:3; }
  .nav-cta { display:none; }
  .logo-brand.casabella-brand { width:142px; height:66px; flex:0 0 142px; }
  .casabella-header-logo { width:150px!important; height:150px!important; transform:translateY(-42px); }
  .language-switch { margin-inline-start:auto; flex:0 0 auto; }
  .language-switch :is(button,a) { min-width:31px; height:36px; }
  .menu-button { width:42px; height:42px; padding:0; display:grid; place-items:center; flex:0 0 42px; }
  .nav-links { top:76px; max-height:calc(100vh - 76px); overflow-y:auto; padding:10px 20px 18px; box-shadow:0 18px 40px rgba(0,0,0,.35); }
  .nav-links a { min-height:48px; display:flex; align-items:center; padding:10px 0; }
  .hero { min-height:690px; height:auto; }
  .hero-image { object-position:55% center; }
  .hero-content,.site.ltr .hero-content { width:auto; margin:0 20px; padding:125px 0 72px; }
  .hero h1 { font-size:clamp(32px,9.5vw,42px); line-height:1.45; letter-spacing:-1px; }
  .hero-copy { font-size:15px; line-height:1.9; margin:18px 0 24px; }
  .hero-actions { width:100%; align-items:stretch; }
  .hero-actions .button { width:100%; min-height:54px; }
  .hero-actions .text-link { align-self:flex-start; }
  .trust-row { margin-top:34px; padding-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:18px 8px; }
  .trust-row span { min-width:0; padding:0; border:0; }
  .trust-row b { font-size:16px; }.trust-row small { font-size:10px; line-height:1.45; }
  .global-proof { height:auto; min-height:62px; padding:0 20px; gap:34px; overflow-x:auto; scrollbar-width:none; }
  .global-proof::-webkit-scrollbar { display:none; }
  .section,.capabilities,.markets,.quote { padding:68px 20px; }
  .intro,.capabilities,.markets,.quote { grid-template-columns:1fr; }
  .intro { gap:24px; }.intro:before { display:none; }
  .intro h2,.section h2,.capabilities h2,.quote h2 { font-size:clamp(29px,8vw,38px); line-height:1.55; letter-spacing:-.5px; }
  .intro>p,.section-heading>p,.map-copy>p,.cap-copy>p:not(.section-kicker) { font-size:15px; line-height:1.9; }
  .section-heading { margin-bottom:30px; }
  .product-grid { gap:14px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card,.product-image { min-height:410px; height:410px; }
  .product-info { inset-inline:20px; bottom:20px; }
  .product-card h3 { font-size:23px; }.product-card p { font-size:13px; }
  .factory-photo { height:220px; }
  .process-list li { gap:18px; padding:20px 0; }
  .process-list strong { font-size:18px; }.process-list small { font-size:12px; line-height:1.7; }
  .markets { gap:28px; }
  .map-stage { width:100%; aspect-ratio:1.55/1; overflow:hidden; }
  .map-stage>img { object-fit:cover; object-position:center; }
  .pin { width:17px; height:17px; font-size:12px; }
  .pin-card { position:fixed; inset:auto 16px 18px!important; min-width:0; width:calc(100% - 32px); text-align:center!important; z-index:30; }
  .pin-card a { min-height:44px; font-size:12px; }
  .quote-form { gap:16px; }
  .quote-form input,.quote-form select,.quote-form textarea,.catalogue-form input { min-height:50px; font-size:16px; }
  .contact-strip { padding:38px 20px; gap:24px; }
  .contact-strip div,.site.ltr .contact-strip div { border:0; border-bottom:1px solid rgba(8,36,28,.28); padding:0 0 18px; }
  footer { padding:42px 20px; gap:28px; }
  footer { flex-direction:column; text-align:center; }
  .manufacturer { align-items:center; text-align:center; }
  .footer-center { text-align:center; line-height:1.8; }
  .footer-certifications { width:100%; }
  .footer-certifications img { width:min(220px,72vw); }
  .modal-backdrop { padding:12px; align-items:end; }
  .catalogue-modal { width:100%; max-height:92vh; padding:34px 18px 22px; }
  .catalogue-modal h2 { font-size:25px; }
  .modal-close { top:10px; inset-inline-end:10px; width:42px; height:42px; }
}

@media (max-width:390px) {
  .logo-brand.casabella-brand { width:118px; flex-basis:118px; }
  .casabella-header-logo { width:128px!important; height:128px!important; transform:translateY(-34px); }
  .language-switch :is(button,a) { min-width:28px; }
  .nav-wrap { padding-inline:12px; gap:6px; }
  .hero-content,.site.ltr .hero-content { margin-inline:16px; }
  .section,.capabilities,.markets,.quote { padding-inline:16px; }
}

/* Product collection pages */
.product-page { min-height:100vh; background:#f4f0e7; color:#09271f; }
.product-nav { position:absolute; z-index:5; inset-inline:0; top:0; height:96px; padding:0 6vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.18); }
.product-logo { width:220px; height:78px; overflow:hidden; }
.product-logo img { width:220px; height:220px; object-fit:cover; object-position:center 53%; transform:translateY(-67px); }
.product-hero { position:relative; height:min(780px,88vh); min-height:620px; background:#071d18; overflow:hidden; color:#fff; }
.product-hero>img { width:100%; height:100%; object-fit:cover; }
.product-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,20,15,.1),rgba(3,20,15,.88)); }
.product-hero-copy { position:absolute; z-index:2; inset-inline-end:7vw; top:50%; transform:translateY(-40%); width:min(620px,48vw); }
.product-hero-copy>a { display:inline-block; margin-bottom:55px; color:#e2c36f; font-size:13px; }
.product-hero-copy p,.models-heading p,.product-cta p { margin:0 0 15px; color:#cba750; font:700 12px Georgia,serif; letter-spacing:2.2px; }
.product-hero-copy h1 { margin:0 0 24px; font-size:clamp(48px,6vw,82px); line-height:1.25; font-weight:600; }
.product-hero-copy span { display:block; color:#d7e0db; font-size:18px; line-height:1.9; }
.models-section { padding:110px 7vw; }
.models-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:45px; }
.models-heading h2,.product-cta h2 { margin:0; font-size:clamp(32px,4vw,50px); font-weight:600; line-height:1.5; }
.models-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.models-grid article { background:#0a2921; color:#fff; overflow:hidden; }
.models-grid img { display:block; width:100%; height:410px; object-fit:cover; transition:transform .6s ease; }
.models-grid article:hover img { transform:scale(1.035); }
.models-grid article>div { display:flex; gap:16px; align-items:center; padding:20px 22px; }
.models-grid small { color:#d1ad58; }.models-grid h3 { margin:0; font-size:18px; }
.product-cta { padding:90px 7vw; background:#08251e; color:#fff; display:grid; grid-template-columns:1fr auto; align-items:center; gap:60px; }
.product-cta h2 { color:#fff; }.product-cta span { display:block; margin-top:15px; color:#bac8c1; line-height:1.8; }
.product-cta-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.product-cta .outline { color:#fff; border-color:#c8a34e; }
.product-page[dir="ltr"] .product-hero-shade { background:linear-gradient(270deg,rgba(3,20,15,.1),rgba(3,20,15,.88)); }
@media (max-width:900px) {
  .product-nav { height:76px; padding:0 16px; }.product-logo { width:145px; height:66px; }.product-logo img { width:150px; height:150px; transform:translateY(-42px); }
  .product-hero { min-height:640px; height:78vh; }.product-hero-copy { inset-inline:20px; top:52%; width:auto; }.product-hero-copy>a { margin-bottom:35px; }
  .product-hero-copy h1 { font-size:clamp(38px,11vw,54px); }.product-hero-copy span { font-size:15px; }
  .product-hero-shade,.product-page[dir="ltr"] .product-hero-shade { background:linear-gradient(180deg,rgba(3,20,15,.18),rgba(3,20,15,.94)); }
  .models-section { padding:68px 20px; }.models-heading { display:block; }.models-grid { grid-template-columns:1fr; }.models-grid img { height:360px; }
  .product-cta { padding:65px 20px; grid-template-columns:1fr; gap:32px; }.product-cta-actions { justify-content:stretch; flex-direction:column; }.product-cta-actions a { width:100%; }
}

@media (max-width:1100px) {
  body { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  .nav-wrap { position:absolute; width:100%; }
  .hero-shade,.site.ltr .hero-shade { background:linear-gradient(180deg,rgba(3,19,15,.2) 0%,rgba(3,19,15,.62) 46%,rgba(3,19,15,.97) 100%); }
  .hero-image { object-position:center top; }
  .hero-content,.site.ltr .hero-content { display:flex; flex-direction:column; justify-content:flex-end; min-height:690px; padding-top:110px; }
  .eyebrow { font-size:10px; line-height:1.7; }
  .button,.catalogue-link { max-width:100%; }
  img { max-width:100%; }
}
