@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/frank-ruhl-hebrew-0.woff2') format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/frank-ruhl-latin-1.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/frank-ruhl-hebrew-0.woff2') format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/frank-ruhl-latin-1.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/frank-ruhl-hebrew-0.woff2') format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/frank-ruhl-latin-1.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/frank-ruhl-hebrew-0.woff2') format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/frank-ruhl-latin-1.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{--ink:#0b0b0b;--ink2:#151412;--ivory:#faf7f0;--paper:#fffdf8;--gold:#c9a24e;--gold-d:#9c7a2f;--gold-l:#e8cf8a;--muted:#5d574c;--line:#e6dcc4;}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Frank Ruhl Libre','Times New Roman',serif;font-size:1.125rem;line-height:1.7;color:var(--ink);background:var(--ivory);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.narrow{width:min(760px,100% - 2.5rem)}
.skip{position:absolute;inset-inline-start:1rem;top:-3rem;background:var(--gold);color:var(--ink);padding:.4rem .8rem;z-index:20}
.skip:focus{top:.5rem}
h1,h2,h3{line-height:1.25;margin:0}
.topbar{position:sticky;top:0;z-index:10;background:rgba(11,11,11,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid rgba(201,162,78,.25)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px}
.brand{color:var(--gold-l);text-decoration:none;font-weight:700;font-size:1.3rem;letter-spacing:.02em}
.topbar nav{display:flex;gap:1.25rem}
.topbar nav a{color:#efe9dc;text-decoration:none;font-size:1rem;padding:.35rem 0;border-bottom:1px solid transparent}
.topbar nav a:hover{color:var(--gold-l);border-color:var(--gold)}
.hero{background:radial-gradient(ellipse at 50% 30%,#22201b 0%,#0e0e0d 55%,#080808 100%);color:#f4efe4;text-align:center;padding:clamp(2.5rem,7vw,5rem) 0 clamp(3rem,8vw,5.5rem);position:relative}
.hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero-in{display:flex;flex-direction:column;align-items:center}
.hero-logo{width:min(560px,86vw);height:auto}
.rule{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.6rem auto 1.4rem;width:min(320px,70%)}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.rule::after{background:linear-gradient(90deg,var(--gold),transparent)}
.rule span{width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--gold);background:transparent}
.rule.dark span{background:var(--gold)}
.hero h1{font-size:clamp(1.65rem,5.2vw,2.75rem);font-weight:700;max-width:22ch;color:#fbf7ee}
.hero h1 span{display:block;color:var(--gold-l);font-weight:500;font-size:.78em;margin-top:.35rem}
.lede{margin:1.1rem auto 0;max-width:40ch;color:#d9d1c1;font-size:clamp(1.05rem,2.6vw,1.25rem)}
.place{margin:.6rem 0 0;color:var(--gold-l);font-weight:700;font-size:clamp(1.05rem,2.6vw,1.2rem);letter-spacing:.02em}
.en{font-family:Georgia,'Times New Roman',serif;letter-spacing:.06em;font-size:.82rem;color:#a99f8b;margin:.9rem 0 0;text-transform:none}
.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.8rem}
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:1.05rem;padding:.7rem 1.6rem;border-radius:2px;transition:background .2s,color .2s,border-color .2s;min-height:48px}
.btn-gold{background:linear-gradient(180deg,var(--gold-l),var(--gold) 55%,var(--gold-d));color:#140f04;border:1px solid var(--gold-d)}
.btn-gold:hover{filter:brightness(1.06)}
.btn-line{border:1px solid var(--gold);color:var(--gold-l)}
.btn-dark{background:var(--ink);color:#f4efe4;border:1px solid var(--ink)}
.btn-dark:hover{background:#2a2824}
.cta-contact{margin-top:0}
.btn-line:hover{background:rgba(201,162,78,.12)}
section{padding:clamp(3.2rem,8vw,5.5rem) 0}
.about{background:var(--paper);text-align:center}
.eyebrow{font-size:1rem;letter-spacing:.2em;color:var(--gold-d);font-weight:700;margin-bottom:.8rem}
.about-text{font-size:clamp(1.2rem,3vw,1.5rem);line-height:1.8;margin:0 auto;max-width:36ch}
.list-h{margin:2.4rem 0 1rem;font-size:1.15rem;color:var(--muted);font-weight:500}
.works{list-style:none;padding:0;margin:0 auto;display:grid;gap:.6rem;max-width:34rem}
.works li{padding:.75rem 1rem;border:1px solid var(--line);background:#fff;position:relative;font-size:1.08rem}
.works li::before{content:"";display:inline-block;width:7px;height:7px;transform:rotate(45deg);background:var(--gold);margin-inline-end:.7rem;vertical-align:middle}
.services{background:var(--ivory)}
.services h2,.gallery h2{text-align:center;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:700}
.cards{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.1rem}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:1.5rem 1.4rem 1.4rem;position:relative}
.card-num{position:absolute;inset-inline-end:1.1rem;top:.9rem;color:var(--gold);font-size:1.4rem;font-weight:700;opacity:.55}
.card h3{font-size:1.45rem;margin-bottom:.45rem}
.card p{margin:0;color:var(--muted)}
.gallery{background:var(--ink);color:#f4efe4}
.gallery .sub{text-align:center;color:#b9b0a0;margin:-.3rem 0 2rem}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:row dense;gap:1.1rem}
.tile.feature{grid-column:span 2;grid-row:span 2}
.tile.wide{grid-column:1 / -1}
.tile.feature img{aspect-ratio:auto;height:0;flex:1 1 0;object-position:50% 45%}
.tile.wide img{aspect-ratio:1280/462;object-fit:cover}
.tile{margin:0;background:#141311;border:1px solid rgba(201,162,78,.35);padding:.6rem;cursor:default;display:flex;flex-direction:column}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;flex:1 1 auto;min-height:0;background:#0f0e0d}
.ph{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;color:var(--gold);border:1px solid rgba(201,162,78,.5);outline:1px solid rgba(201,162,78,.2);outline-offset:-8px;background:radial-gradient(circle at 50% 45%,#24211b,#121110 70%)}
.ph .crown{width:64px;height:40px}
.ph span{font-size:.95rem;color:#a99f8b;letter-spacing:.04em}
.tile figcaption{padding:.8rem .3rem .3rem;display:flex;flex-direction:column;gap:.1rem}
.tile figcaption strong{font-size:1.2rem;color:#fbf7ee;font-weight:700}
.tile figcaption span{font-size:.98rem;color:var(--gold-l)}
.contact{background:linear-gradient(180deg,var(--paper),var(--ivory));text-align:center}
.contact .crown{width:58px;height:36px;color:var(--gold);margin:0 auto .6rem;display:block}
.contact h2{font-size:clamp(1.9rem,5vw,2.6rem)}
.contact-lede{margin:.8rem auto 1.8rem;max-width:34ch;color:var(--muted);font-size:1.15rem}
.contact-list{margin:0 auto 2rem;max-width:26rem;border-top:1px solid var(--line)}
.contact-list div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .3rem;border-bottom:1px solid var(--line)}
.contact-list dt{font-weight:700}
.contact-list dd{margin:0;color:var(--muted)}
.contact-list dd a{color:var(--ink);font-weight:500;text-decoration-color:var(--gold);text-underline-offset:3px;font-family:Georgia,'Times New Roman',serif;font-size:1rem}
.contact-list .soon{color:var(--gold-d);font-weight:700}
.footer{background:var(--ink);color:#bdb4a3;text-align:center;padding:2.4rem 0 calc(2rem + env(safe-area-inset-bottom))}
.footer-logo{width:150px;margin:0 auto .8rem}
.footer p{margin:.2rem 0;font-size:.95rem}
dialog#lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:92vh}
dialog#lightbox::backdrop{background:rgba(0,0,0,.88)}
dialog#lightbox img{max-width:94vw;max-height:calc(88vh - 70px);object-fit:contain;display:block;margin:0 auto}
.lb-close{position:fixed;top:12px;inset-inline-start:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:#111;color:var(--gold-l);font-size:1.6rem;line-height:1;cursor:pointer}
/* gallery categories */
.cat-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin:0 0 2.2rem}
.cat-nav a{color:var(--gold-l);text-decoration:none;border:1px solid rgba(201,162,78,.6);border-radius:999px;padding:.45rem 1.2rem;font-weight:700;font-size:1.05rem;background:#141311}
.cat-nav a small{color:#a99f8b;font-weight:400;font-size:.8em;margin-inline-start:.25rem}
.cat-nav a:hover,.cat-nav a:focus-visible{background:var(--gold);color:#111}
.cat-nav a:hover small,.cat-nav a:focus-visible small{color:#111}
.cat{scroll-margin-top:80px}
.cat + .cat{margin-top:3.2rem}
.cat-h{display:flex;align-items:center;gap:1rem;margin:0 0 1.3rem;color:var(--gold-l);font-size:clamp(1.6rem,4.4vw,2.2rem);font-weight:700;text-align:center}
.cat-h::before,.cat-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,78,.8))}
.cat-h::after{background:linear-gradient(270deg,transparent,rgba(201,162,78,.8))}
.cat-h span{padding:0 .2rem}
.tile.solo{grid-column:1 / -1;justify-self:center;width:100%;max-width:640px}
@media (min-width:861px){
  .tile.span-d2{grid-column:span 2}
  .tile.span-d2 img{aspect-ratio:auto;height:0;flex:1 1 0}
  .tile.solo-d{grid-column:1 / -1;justify-self:center;width:100%;max-width:640px}
}
@media (max-width:860px){
  .tile.span-m{grid-column:1 / -1}
  .tile.span-m img{aspect-ratio:16/10;height:auto;flex:1 1 auto}
  .tile.span-d2 img{aspect-ratio:4/3;height:auto}
}
@media (max-width:520px){
  .cat-nav{gap:.45rem;margin-bottom:1.6rem}
  .cat-nav a{padding:.4rem .95rem;font-size:.98rem}
  .cat + .cat{margin-top:2.4rem}
  .cat-h{gap:.7rem;margin-bottom:1rem}
}
/* keeps the desktop grid even: the 4th placeholder shows on tablets/phones only */
@media (min-width:861px){.tile.is-ph[data-photo="curtains"]{display:none}}
@media (max-width:860px) and (min-width:521px){
  .tiles{grid-template-columns:1fr 1fr}
  .tile.feature{grid-column:1 / -1;grid-row:auto}
  .tile.feature img{aspect-ratio:16/9;height:auto;flex:1 1 auto}
}
@media (max-width:520px){
  body{font-size:1.06rem}
  .topbar nav{gap:.9rem}
  .topbar nav a{font-size:.92rem}
  .brand{font-size:1.15rem}
  .btn{padding:.7rem 1.3rem}
  .hero .en{letter-spacing:.02em;font-size:.76rem;max-width:30ch;line-height:1.6}
  .tiles{grid-template-columns:1fr 1fr;gap:.7rem}
  .tile.feature{grid-column:1 / -1;grid-row:auto}
  .tile.feature img{aspect-ratio:4/3;height:auto;flex:1 1 auto}
  .tile{padding:.4rem}
  .ph{outline-offset:-5px;gap:.4rem}
  .ph .crown{width:40px;height:25px}
  .ph span{font-size:.8rem}
  .tile figcaption{padding:.55rem .2rem .2rem}
  .tile figcaption strong{font-size:1rem}
  .tile figcaption span{font-size:.85rem;line-height:1.4}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#lightbox .lb-dl{display:table;margin:14px auto 4px;background:#c9a24a;color:#111;font-weight:700;padding:10px 20px;border-radius:999px;text-decoration:none;font-size:16px;z-index:3;box-shadow:0 2px 10px rgba(0,0,0,.5)}

.hero-url{margin:6px 0 0;color:#c9a24a;font-size:20px;letter-spacing:.08em;font-weight:600;text-align:center}
