@font-face{font-family:"Krona One";src:url(../fonts/display.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Outfit;src:url(../fonts/body-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Outfit;src:url(../fonts/body-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--bg:#f6f3ee;--ink:#1a1818;--mute:#8a847b;--line:#ddd8d0;--h:60px;
 --display:"Krona One","Arial Black",system-ui,sans-serif;--body:Outfit,system-ui,"Noto Sans Georgian",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 14px/1.8 var(--body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit}

/* header */
.top{position:fixed;inset:0 0 auto;height:var(--h);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,48px);background:var(--bg);border-bottom:1px solid var(--line);transition:background .3s,color .3s,border-color .3s}
.brand{font:400 clamp(.62rem,1.05vw,.74rem)/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.menu{display:flex;gap:clamp(20px,2.6vw,38px)}
.menu a{font:400 .54rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;position:relative;padding:9px 0}
.menu a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .3s}
.menu a:hover:after,.menu a.on:after{width:100%}
.burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer;color:inherit}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:.3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}

/* home: only the photo */
body.home{overflow:hidden}
.home main{padding:0;min-height:0}
.home .top:not(.solid){background:transparent;border-color:transparent}
.home.on-dark .top:not(.solid),.home.on-dark .top:not(.solid) .brand{color:#fff}
.hero{position:relative;height:100vh;height:100dvh;background:#222;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide{opacity:0;transition:opacity 1.4s ease}.hero-slide.on{opacity:1}
.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 26%)}
.home.on-dark .hero:before{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0) 30%)}

/* layout */
main{padding-top:var(--h);min-height:calc(100vh - 62px)}
.wrap{max-width:1280px;margin:0 auto;padding:clamp(36px,5.5vw,72px) clamp(20px,4vw,48px)}
.h{font:400 clamp(.85rem,1.5vw,1.1rem)/1.5 var(--display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:clamp(26px,3vw,40px);overflow-wrap:anywhere}
.h:after{content:"";display:block;width:32px;height:1px;background:var(--ink);margin-top:16px}
.eyebrow{font:400 .5rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:16px}
.empty{grid-column:1/-1;font:400 .55rem/1.6 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:30px 0}

/* grids */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}.grid.two{grid-template-columns:repeat(2,1fr)}
.card{display:block}
.card figure{aspect-ratio:4/5;overflow:hidden;background:#e8e3db}.card.wide figure{aspect-ratio:3/2}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.card:hover img{transform:scale(1.035)}
.card .cap{font:400 .52rem/1.7 var(--display);letter-spacing:.1em;text-transform:uppercase;margin-top:12px}

/* interiors banner */
.banner{position:relative;min-height:36vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#222}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.5))}
.banner-in{position:relative;z-index:2;max-width:100%;overflow-wrap:anywhere;padding:0 clamp(20px,4vw,48px) clamp(26px,4vw,44px)}
.banner .eyebrow{color:rgba(255,255,255,.85)}
.banner h1{font:400 clamp(1.05rem,2.6vw,1.7rem)/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase}
.banner+.wrap{padding-top:clamp(28px,3.5vw,48px)}

/* about + contact (identical layout) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px)}
.about{align-items:start}
@media(min-width:992px){.about{grid-template-columns:.85fr 1.15fr}}
.about figure{height:min(74vh,640px);overflow:hidden;background:#e8e3db}
.about figure img{width:100%;height:100%;object-fit:cover}
.prose p{font-size:.95rem;line-height:1.85;color:#3b3935;margin-bottom:1.1em;max-width:540px}
.info{max-width:520px}
.info>div{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.info>div:last-child{border-bottom:1px solid var(--line)}
.info dt{font:400 .5rem/2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.info dd{font-size:.98rem;overflow-wrap:anywhere}.info a:hover{opacity:.6}

/* footer, button, lightbox, reveal */
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:20px clamp(20px,4vw,48px);border-top:1px solid var(--line);font:400 .48rem/1.8 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.foot span,.foot a{overflow-wrap:anywhere;min-width:0;max-width:100%}
.btn{display:inline-block;padding:12px 26px;background:var(--ink);color:#fff;font:400 .52rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.lb{position:fixed;inset:0;z-index:100;background:rgba(15,14,12,.95);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}.lb figure{max-width:92vw;text-align:center}
.lb img{max-width:92vw;max-height:80vh;object-fit:contain;margin:0 auto}
.lb figcaption{color:#fff;margin-top:16px;min-height:1.4em;font:400 .55rem/1.6 var(--display);letter-spacing:.12em;text-transform:uppercase}
.lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:2.4rem;line-height:1;width:56px;height:56px}
.lb-x{top:10px;right:10px}.lb-p{left:8px;top:50%;margin-top:-28px}.lb-n{right:8px;top:50%;margin-top:-28px}.lb-open{overflow:hidden}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.js .reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:991px){.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.about figure{height:min(56vh,480px)}}
@media(max-width:900px){
 :root{--h:56px}
 .burger{display:block}
 .menu{position:fixed;inset:0;background:var(--bg);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:30px;opacity:0;visibility:hidden;transition:.35s}
 .menu a{font-size:.78rem;letter-spacing:.22em}
 .menu-open .menu{opacity:1;visibility:visible}
 .menu-open .top{color:var(--ink);background:var(--bg)}
 .menu-open .top .brand{color:var(--ink)!important}
 .menu-open .top .brand,.menu-open .burger{position:relative;z-index:2}
 .menu-open .burger span:first-child{top:21px;transform:rotate(45deg)}.menu-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
}
@media(max-width:767px){.grid.two{grid-template-columns:1fr}.grid{gap:14px}.brand{font-size:clamp(.58rem,3vw,.72rem)}.info>div{grid-template-columns:88px 1fr;gap:12px}.prose p{font-size:.92rem}}
@media(max-width:420px){.grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}.js .reveal{opacity:1;transform:none}}
