
:root{
  --bg:#0c0c0c;--surface:#141414;--surface2:#1a1a1a;--fg:#f5f0e8;--muted:#aaa39a;
  --accent:#b68a54;--line:rgba(255,255,255,.12);--radius:30px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
body.light{--bg:#eee7dc;--surface:#f8f3eb;--surface2:#e3d8c8;--fg:#171411;--muted:#746b62;--line:rgba(20,16,12,.12)}
body.sand{--bg:#d8c4aa;--surface:#eadfce;--surface2:#cdb597;--fg:#17120e;--muted:#6d6258;--line:rgba(20,16,12,.12)}
body.navy{--bg:#07131a;--surface:#0e202a;--surface2:#132b36;--fg:#f1eee7;--muted:#a7b0b4}
body.olive{--bg:#10150f;--surface:#172018;--surface2:#202a20;--fg:#f2eee6;--muted:#a7aa9e}
a{color:inherit;text-decoration:none}img{display:block;width:100%}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--accent)}
.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(62px,8vw,116px);line-height:.89;margin:22px 0 28px}h2{font-size:clamp(46px,5.8vw,82px);line-height:.94;margin:16px 0 24px}h3{font-size:32px;line-height:1;margin:12px 0 16px}
p{line-height:1.7}.lead{font-size:clamp(19px,2vw,27px);max-width:760px;color:color-mix(in srgb,var(--fg) 78%,transparent)}
.muted{color:var(--muted)}.section{padding:105px 0;border-top:1px solid var(--line)}.section.alt{background:var(--surface)}
.topbar{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:14px;font-weight:900;letter-spacing:.08em}
.mark{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--accent) 80%,transparent);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;color:var(--accent);font-size:22px}
.links{display:flex;gap:26px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.links a:hover{color:var(--fg)}
.nav-cta{border:1px solid var(--line);border-radius:999px;padding:13px 18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.mobile-menu{display:none;background:none;border:1px solid var(--line);color:var(--fg);border-radius:50%;width:44px;height:44px;font-size:18px}
.hero{min-height:760px;position:relative;display:flex;align-items:end;overflow:hidden}.hero img{position:absolute;inset:0;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.17) 65%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}
.hero-content{position:relative;z-index:2;color:#fff;padding:110px 0 82px;max-width:900px}.hero .eyebrow{color:#d9ad72}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{min-height:56px;padding:0 26px;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.btn.primary{background:#f5efe6;color:#111;border-color:#f5efe6}.btn.dark{background:#111;color:#fff}.btn.accent{background:var(--accent);color:#111;border-color:var(--accent)}
.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.intro-copy p,.split-copy p{font-size:18px;color:var(--muted);max-width:620px}
.image-card{border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line)}.image-card img{aspect-ratio:4/3;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden}.stat{background:var(--surface);padding:32px}.stat strong{display:block;font:500 44px Georgia,serif;margin-bottom:8px}.stat span{font-size:12px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card img{aspect-ratio:4/3;object-fit:cover}.card-body{padding:26px}.card .meta{font-size:12px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-weight:800}.price{font-size:18px;font-weight:800;margin-top:16px}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 48px;margin-top:36px}.menu-item{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px}.menu-item strong{font:500 24px Georgia,serif}.menu-item small{display:block;color:var(--muted);margin-top:8px;line-height:1.5}.menu-item b{font-size:14px;color:var(--accent)}
.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}.gallery img{height:360px;object-fit:cover;border-radius:24px}.gallery img:first-child{grid-row:span 2;height:736px}.gallery img:nth-child(4){grid-column:2/4}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.step .num{color:var(--accent);font-size:12px;letter-spacing:.12em}.step h3{font-size:28px}.step p{color:var(--muted);font-size:15px}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{padding:34px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.quote blockquote{font:500 25px/1.3 Georgia,serif;margin:0 0 30px}.quote small{color:var(--muted)}
.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font:500 25px Georgia,serif}.faq p{color:var(--muted);max-width:760px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;background:transparent;color:var(--fg);border:1px solid var(--line);border-radius:18px;padding:18px;font:inherit}.form textarea{min-height:130px;resize:vertical}.form button{cursor:pointer}
.booking{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);max-width:900px}.booking div{background:rgba(0,0,0,.28);border-radius:16px;padding:16px}.booking small{display:block;opacity:.65;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.booking b{display:block;margin-top:8px}
.logo-row{display:flex;flex-wrap:wrap;gap:12px}.pill{border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-size:11px;letter-spacing:.08em;color:var(--muted)}
.cta-box{padding:70px;border-radius:38px;background:var(--surface);border:1px solid var(--line)}.cta-box h2{max-width:900px}
.footer{padding:48px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer small,.footer a{color:var(--muted);font-size:12px;line-height:1.8}.footer h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.concept-note{margin-top:36px;font-size:11px;color:var(--muted);opacity:.7}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:999;display:none;align-items:center;justify-content:center;padding:25px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:18px;top:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#111;color:#fff;font-size:28px}
.zoom{cursor:zoom-in}
@media(max-width:850px){
 .wrap{width:calc(100% - 36px)}.nav{height:78px}.links,.nav-cta{display:none}.mobile-menu{display:block}
 .hero{min-height:690px}.hero-content{padding:90px 0 54px}.hero:after{background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 82%)}
 h1{font-size:clamp(54px,15vw,82px)}h2{font-size:clamp(44px,13vw,70px)}.lead{font-size:19px}
 .section{padding:76px 0}.intro-grid,.split,.contact-grid{grid-template-columns:1fr;gap:42px}.cards,.testimonials{grid-template-columns:1fr}.stats,.process{grid-template-columns:1fr 1fr}
 .menu-list{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child{height:280px;grid-row:auto}.gallery img:first-child{grid-column:1/3;height:420px}.gallery img:nth-child(4){grid-column:auto}
 .booking{grid-template-columns:1fr 1fr}.cta-box{padding:42px 24px}.footer-grid{grid-template-columns:1fr;gap:26px}
 .actions{display:grid;grid-template-columns:1fr}.btn{width:100%}
}
@media(max-width:520px){
 .stats,.process,.booking{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{grid-column:auto;height:300px}
}

/* V27 — realism pass */
h1,h2,h3{overflow-wrap:break-word;word-break:normal}.hero-content{max-width:min(920px,100%)}
.concept-note{opacity:.42;font-size:10px}.gallery img{background:var(--surface2)}
/* Architecture: editorial portfolio, asymmetrical cards */
body[data-demo="architecture"] .cards{grid-template-columns:1.35fr .65fr}body[data-demo="architecture"] .card:first-child{grid-row:span 2}body[data-demo="architecture"] .card:first-child img{aspect-ratio:1.15/1}body[data-demo="architecture"] .menu-list{grid-template-columns:repeat(3,1fr)}
/* Hotel: airy room cards */
body[data-demo="hotel"] .cards{grid-template-columns:1.2fr .9fr .9fr}body[data-demo="hotel"] .card img{aspect-ratio:5/4}
/* Restaurant/night: menu is the hero content, cards compact */
body[data-demo="gastronomy"] .menu-list,body[data-demo="night"] .menu-list{border-top:1px solid var(--line);margin-top:55px}
body[data-demo="gastronomy"] .cards,body[data-demo="night"] .cards{grid-template-columns:repeat(3,1fr)}
/* Beauty: softer spacing */ body[data-demo="beauty"]{--radius:42px}body[data-demo="beauty"] .image-card img{aspect-ratio:1/1}
/* Legal/editorial: text-led */ body[data-demo="legal"] .cards,body[data-demo="editorial"] .cards{grid-template-columns:repeat(3,1fr)}body[data-demo="legal"] .card img,body[data-demo="editorial"] .card img{aspect-ratio:16/8}
/* Cafe */ body[data-demo="cafe"] .cards{grid-template-columns:1.25fr .75fr .75fr}
/* Interiors */ body[data-demo="interiors"] .gallery{grid-template-columns:1fr 1fr}body[data-demo="interiors"] .gallery img:first-child{grid-column:1/3;height:620px;grid-row:auto}
/* Product/watch */ body[data-demo="product"] .card img,body[data-demo="watch"] .card img{aspect-ratio:1/1}body[data-demo="watch"] .cards{gap:30px}
/* Estate */ body[data-demo="estate"] .cards{grid-template-columns:repeat(3,1fr)}body[data-demo="estate"] .card img{aspect-ratio:16/10}
@media(max-width:850px){
 h1{font-size:clamp(48px,12.5vw,68px);line-height:.92;letter-spacing:-.055em} h2{font-size:clamp(40px,10.5vw,58px)}
 .hero{min-height:650px}.hero-content{padding-left:0;padding-right:0}.hero-content .lead{max-width:92%}
 body[data-demo] .cards,body[data-demo="architecture"] .cards,body[data-demo="hotel"] .cards,body[data-demo="cafe"] .cards{grid-template-columns:1fr}
 body[data-demo="architecture"] .card:first-child{grid-row:auto}body[data-demo="architecture"] .menu-list{grid-template-columns:1fr}
 body[data-demo="interiors"] .gallery{grid-template-columns:1fr}body[data-demo="interiors"] .gallery img:first-child{grid-column:auto;height:360px}
 .card img{max-height:430px}.section{overflow:hidden}
}

/* V28: visual diversity + mobile polish */
img{background:#111}
.gallery img,.card img,.image-card img{object-position:center center}
@media(max-width:600px){.hero h1{font-size:clamp(3.25rem,14vw,5.2rem);line-height:.88}.gallery{grid-template-columns:1fr 1fr}.gallery img{min-height:180px}.card img{min-height:260px}}

/* V29 — semantic visual curation */
img.zoom{object-fit:cover} .card img{min-height:260px} .image-card img{min-height:420px}
@media(max-width:850px){.card img{min-height:320px}.image-card img{min-height:360px}.hero img{object-position:center}}
.demo-lang-switch{margin-left:auto;display:flex;gap:7px;align-items:center;font:600 11px Arial;letter-spacing:.12em}.demo-lang-switch a{color:inherit;opacity:.55;text-decoration:none}.demo-lang-switch a.active{opacity:1}.demo-lang-switch span{opacity:.3}@media(max-width:760px){.demo-lang-switch{margin-left:auto}.links,.nav-cta{display:none}}

/* V34 QA */
html,body{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
body{position:relative;touch-action:pan-y}
img,video,svg{max-width:100%;height:auto}
.wrap,main,section,header,footer,.hero,.container,.card,.gallery{max-width:100%;min-width:0}
@media(max-width:700px){h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:none}.hero h1{font-size:clamp(48px,13vw,66px)!important;line-height:.94!important}.demo-lang-switch{white-space:nowrap}}
@media(max-width:380px){.hero h1{font-size:44px!important}}
