@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}

:root{
  --black:#0a0a0a;
  --ink:#161616;
  --white:#fff;
  --paper:#f5f4f0;
  --gold:#c9a24b;
  --gold-dark:#8a6a1f;
  --gray:#5a5a5a;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--white);color:var(--ink);line-height:1.6;font-size:1.0625rem}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--black);padding:.75rem 1rem;z-index:10}
.skip:focus{left:0}

.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem clamp(1rem,4vw,3rem);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:5;border-bottom:1px solid #e3e1da}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.8rem;letter-spacing:.04em;line-height:1}
.brand img{width:48px;height:48px;border-radius:50%}
.brand small{font-family:var(--body);font-weight:400;font-size:.8rem;color:var(--gray);letter-spacing:0;margin-left:.3rem}
nav{display:flex;align-items:center;gap:1.5rem}
.nav-wrap{display:flex;align-items:center;gap:1rem}
nav a{text-decoration:none;font-size:.95rem;font-weight:600}
nav a:hover{color:var(--gold-dark)}
nav .btn-sm{background:var(--black);color:var(--white);padding:.55rem 1.1rem;border-radius:999px}
nav .btn-sm:hover{background:var(--gold);color:var(--black)}

.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;border:1px solid #cfcdc5;border-radius:999px;padding:.5rem .9rem;font-weight:600;font-size:.9rem;line-height:1}
.lang summary::-webkit-details-marker{display:none}
.lang summary::after{content:"\25BE";margin-left:.4rem}
.lang[open] summary,.lang summary:hover{border-color:var(--gold-dark)}
.lang ul{position:absolute;right:0;top:calc(100% + .5rem);list-style:none;padding:.4rem;margin:0;background:var(--white);border:1px solid #e3e1da;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.15);min-width:9rem;z-index:6}
.lang li a{display:block;padding:.5rem .8rem;border-radius:6px;text-decoration:none;font-size:.95rem}
.lang li a:hover{background:var(--paper)}
.lang li a[aria-current]{color:var(--gold-dark);font-weight:600}

.hero{display:grid;grid-template-columns:1.1fr .9fr;background:var(--black);color:var(--white);min-height:min(82vh,760px)}
.hero-copy{padding:clamp(2.5rem,7vw,6rem) clamp(1rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
h1{font-family:var(--display);font-weight:700;font-size:clamp(3rem,7.4vw,6rem);line-height:.96;max-width:13ch}
.hero-copy p{margin-top:1.4rem;max-width:44ch;color:#d6d3cb}
.hero-copy .hours{color:var(--gold);font-weight:600;margin-top:1.6rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.btn{display:inline-block;background:var(--gold);color:var(--black);font-weight:600;text-decoration:none;padding:.95rem 1.7rem;border-radius:6px;transition:background .15s}
.btn:hover{background:#e0bb68}
.btn.ghost{background:transparent;color:var(--white);border:2px solid #555}
.btn.ghost:hover{border-color:var(--gold);background:transparent}
.hero-img{width:100%;height:100%;object-fit:cover;animation:enter 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes enter{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}

.strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--gold);color:var(--black);font-family:var(--display);font-weight:700;font-size:1.4rem;text-align:center}
.strip p{padding:1rem .8rem;border-right:2px solid rgba(10,10,10,.25)}
.strip p:last-child{border:0}

.block{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem);max-width:1280px;margin:auto}
.dark{background:var(--black);color:var(--white);max-width:none}
.dark>*{max-width:1280px;margin-inline:auto}
h2{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.04;margin-bottom:1rem;max-width:26ch}
.lead{color:var(--gray);max-width:60ch;margin-bottom:2.2rem}
h3{font-family:var(--display);font-weight:600;font-size:1.45rem;margin-bottom:.3rem;color:var(--gold-dark)}

.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;grid-auto-flow:dense;gap:.8rem}
.grid figure{position:relative;overflow:hidden;background:var(--paper);border-radius:6px}
.grid .tall{grid-row:span 2}
.grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.grid figure:hover img{transform:scale(1.04)}
.grid figcaption{position:absolute;left:0;bottom:0;right:0;padding:1.4rem .9rem .7rem;color:var(--white);font-family:var(--display);font-weight:600;font-size:1.3rem;background:linear-gradient(transparent,rgba(0,0,0,.75))}

.steps{list-style:none;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:2rem}
.steps li{counter-increment:s;border-top:3px solid var(--gold);padding-top:1rem}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:700;font-size:3rem;color:var(--gold);line-height:1;display:block}
.steps b{display:block;font-family:var(--display);font-size:1.6rem;font-weight:700}
.steps span{color:#d6d3cb}

.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin-top:2rem}
.cols p{margin-bottom:1.2rem}
.contact a{text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px}

footer{padding:2rem clamp(1rem,4vw,3rem);background:var(--ink);color:#bdb9ae;font-size:.85rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem}

@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-img{height:420px;order:-1}
  .grid{grid-template-columns:repeat(2,1fr)}
  .steps,.cols{grid-template-columns:1fr 1fr}
  .strip{grid-template-columns:1fr}
  .strip p{border-right:0;border-bottom:2px solid rgba(10,10,10,.25)}
  nav a:not(.btn-sm){display:none}
  .nav-wrap{gap:.6rem}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr;grid-auto-rows:240px}
  .grid .tall{grid-row:span 1}
  .steps,.cols{grid-template-columns:1fr}
  .brand small{display:none}
  .top{padding-inline:.8rem}
  .brand{font-size:1.4rem;gap:.5rem;white-space:nowrap}
  .brand img{width:38px;height:38px}
  nav .btn-sm{padding:.5rem .8rem;font-size:.85rem;white-space:nowrap}
  .lang summary{padding:.5rem .7rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-img{animation:none}
  .grid img,.btn{transition:none}
}
