@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@300;400;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --black:#222; --red:#cc0000; --text:#333; --muted:#767676; --white:#fff; --border:#eaeaea; }
html { scroll-behavior: smooth; }
body { font-family:'Libre Franklin',sans-serif; font-weight:300; font-size:18px; line-height:1.8; color:var(--text); background:var(--white); }

/* CAROUSEL */
.carousel { position:relative; width:100%; overflow:hidden; background:#111; aspect-ratio:3/2; }
.carousel-track { display:flex; height:100%; transition:transform 0.6s ease; }
.carousel-slide { min-width:100%; height:100%; }
.carousel-slide img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

.carousel-brand {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent, rgba(0,0,0,0.62));
  padding:2rem 1.5rem 1.25rem;
  display:flex; align-items:center; gap:1rem;
}
.carousel-logo { width:80px; height:80px; object-fit:contain; flex-shrink:0; background:white; }
.carousel-text h1 { font-size:clamp(1.2rem,3.5vw,2rem); font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.03em; text-shadow:0 1px 4px rgba(0,0,0,.5); line-height:1.2; }
.carousel-text p { font-size:clamp(.75rem,1.8vw,.9rem); color:rgba(255,255,255,.85); font-weight:300; text-shadow:0 1px 3px rgba(0,0,0,.5); }

.carousel-btn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; width:36px; height:36px; font-size:1.3rem; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.carousel-btn:hover { background:rgba(0,0,0,.65); }
.carousel-btn.prev { left:.5rem; }
.carousel-btn.next { right:.5rem; }

.carousel-dots { position:absolute; top:.5rem; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:10; }
.carousel-dot { width:9px; height:9px; border-radius:50%; background:rgba(0,0,0,.4); cursor:pointer; transition:background .2s; border:2px solid rgba(255,255,255,.6); }
.carousel-dot.active { background:rgba(0,0,0,.8); }

@media (max-width:640px) {
  .carousel-logo { width:55px; height:55px; }
  .carousel-brand { padding:1.5rem 1rem 1rem; gap:.6rem; }
}

/* HEADER */
header { background:var(--white); border-bottom:1px solid var(--border); padding:.75rem 2rem; display:flex; align-items:center; justify-content:center; position:relative; min-height:52px; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:0 1.5rem; }
nav ul li a { color:var(--black); text-decoration:none; font-size:.85rem; font-weight:400; letter-spacing:.06em; text-transform:uppercase; transition:color .2s; }
nav ul li a:hover, nav ul li a.active { color:var(--muted); }
.hamburger { display:none; }

@media (max-width:640px) {
  header { justify-content:flex-start; padding:0 1.25rem; }
  .hamburger { display:flex; align-items:center; background:none; border:none; cursor:pointer; padding:.75rem 0; font-family:'Libre Franklin',sans-serif; font-size:.9rem; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--black); gap:.4rem; }
  .hamburger::before { content:'≡'; font-size:1.3rem; line-height:1; }
  .hamburger span { display:none; }
  nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); border-bottom:1px solid var(--border); z-index:50; }
  nav.open { display:block; }
  nav ul { flex-direction:column; gap:0; padding:.5rem 0; }
  nav ul li a { display:block; padding:.75rem 1.5rem; border-bottom:1px solid var(--border); }
}

/* MAIN */
main { max-width:780px; margin:0 auto; padding:3rem 2rem 5rem; }
.section-label { font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--black); margin-bottom:1.5rem; }
.content p { margin-bottom:1.5rem; color:var(--text); }
.content p:last-child { margin-bottom:0; }
.content strong { font-weight:700; color:var(--black); }
.content em { font-style:italic; }
.content a { color:var(--black); text-decoration:underline; }
.content a:hover { color:var(--muted); }

/* LEGAL */
.legal h2 { font-size:1.2rem; font-weight:700; color:var(--black); margin:2.5rem 0 .6rem; padding-top:2rem; border-top:1px solid var(--border); }
.legal h3 { font-size:1rem; font-weight:700; color:var(--black); margin:1.5rem 0 .4rem; }
.legal ul { margin:.5rem 0 1rem 1.5rem; list-style:disc; }
.legal ul li { margin-bottom:.25rem; }
.contact-block { margin:1.5rem 0; }
.contact-block p { margin-bottom:.4rem; }
.contact-block a { color:var(--black); text-decoration:underline; }
.owner-name { display:inline-block; unicode-bidi:bidi-override; direction:rtl; }

/* FOOTER */
footer { border-top:1px solid var(--border); padding:1.5rem 2rem; text-align:center; background:var(--white); }
footer nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:0 1rem; margin-bottom:.5rem; }
footer nav ul li a { color:var(--muted); font-size:.8rem; text-transform:none; letter-spacing:0; text-decoration:none; }
footer nav ul li a:hover { color:var(--black); }
footer p { font-size:.72rem; color:var(--muted); }
