/* LEVEZA — site styles (from the Leveza brand page) */
:root{
  --paper:#F4EFE6; --paper2:#EFE8DB; --card:#FBF8F1; --ink:#2A2620; --body:#3B362E; --soft:#6E675C;
  --rose:#C99A8A; --rosedeep:#B07E6F; --roseink:#8E5C4E; --sand:#D8C6A5; --pine:#41564A;
  --teal:#2F5B5C; --gold:#B4894C; --goldink:#86652F; --line:#D9D0BF;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',-apple-system,'Helvetica Neue',Helvetica,sans-serif;
  --ease:cubic-bezier(.2,.55,.2,1);
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth; scroll-padding-top:84px}
body{background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:300;
  font-size:15.5px; line-height:1.75; -webkit-font-smoothing:antialiased; overflow-x:hidden}
::selection{background:var(--rose); color:#fff}
body::before{content:""; position:fixed; inset:0; pointer-events:none; z-index:50; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--teal); text-underline-offset:3px}
[hidden]{display:none !important}

.wrap{width:min(1140px,calc(100% - 32px)); margin:0 auto}
.wrap.wide{width:min(1320px,calc(100% - 32px))}
.wrap.narrowcol{width:min(720px,calc(100% - 32px))}
section{padding:11vh 0}
.center{text-align:center}
.center .body, .body.mid{margin-left:auto; margin-right:auto}
.narrow{max-width:44em; margin:7vh auto 0}

.caps{font-size:11px; font-weight:500; letter-spacing:.42em; text-transform:uppercase; color:var(--soft)}
.caps.gold{color:var(--goldink)}
.brand{font-family:var(--serif); font-weight:300; text-transform:uppercase; letter-spacing:.34em; text-indent:.34em;
  line-height:1; font-size:clamp(46px,10.5vw,138px); margin-top:4vh}
.brand.small{font-size:clamp(34px,6vw,72px); text-align:center; margin-top:7vh}
.display{font-family:var(--serif); font-weight:300; font-size:clamp(32px,4.6vw,58px); line-height:1.16; margin-top:20px; text-wrap:balance}
.display em{font-style:italic; color:var(--rosedeep)}
.body{max-width:33em; color:var(--body); margin-top:26px}
.note{font-size:13px; color:var(--soft); line-height:1.8; margin-top:18px}
.note i{font-family:var(--serif); font-size:16px}
.rule{border:none; border-top:1px solid var(--line); position:relative}
.rule::after{content:""; position:absolute; left:0; right:0; top:3px; border-top:1px solid var(--line)}

.rv{opacity:0; transform:translateY(22px); transition:opacity 1.1s var(--ease), transform 1.1s var(--ease)}
.rv.in{opacity:1; transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* ---------- navigation ---------- */
#nav{position:fixed; top:0; left:0; right:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:14px clamp(16px,3vw,36px); background:rgba(244,239,230,.86); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent; transition:border-color .4s}
#nav.scrolled{border-bottom-color:var(--line)}
#nav .mark{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink)}
#nav .mark svg{height:26px; fill:var(--ink)}
#nav .mark span{font-family:var(--serif); font-size:19px; letter-spacing:.34em; text-transform:uppercase}
#nav .links{display:flex; gap:clamp(14px,2.4vw,34px)}
#nav .links a, #nav .login{font-size:10.5px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--soft); text-decoration:none; white-space:nowrap}
#nav .links a:hover, #nav .login:hover{color:var(--ink)}
#nav .right{display:flex; align-items:center; gap:clamp(10px,1.6vw,22px)}
.langs{display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden}
.langs button{font:500 10px var(--sans); letter-spacing:.18em; padding:6px 9px; border:0; background:none; color:var(--soft); cursor:pointer}
.langs button.on{background:var(--ink); color:var(--paper)}

.btn{display:inline-block; font:500 11px var(--sans); letter-spacing:.26em; text-transform:uppercase; text-decoration:none; cursor:pointer;
  padding:15px 28px; border-radius:999px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); transition:background .3s,color .3s}
.btn:hover{background:transparent; color:var(--ink)}
.btn.ghost{background:transparent; color:var(--ink)} .btn.ghost:hover{background:var(--ink); color:var(--paper)}
.btn.small{padding:10px 18px; font-size:10px; letter-spacing:.22em}
.btn[disabled]{opacity:.5; cursor:default}
:focus-visible{outline:2px solid var(--teal); outline-offset:3px}

/* ---------- arches ---------- */
.arch{position:relative; border-radius:999px 999px 14px 14px; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(42,38,32,.35), 0 2px 0 rgba(255,255,255,.6) inset}
.arch img.ph{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; filter:saturate(.92) contrast(.98); transform:scale(1.03)}
.arch::after{content:""; position:absolute; inset:0; z-index:4;
  background:radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.12), transparent 55%), radial-gradient(140% 120% at 50% 112%, rgba(42,38,32,.22), transparent 62%)}
.arch .cap{position:absolute; z-index:5; left:0; right:0; bottom:16px; text-align:center; font-size:10px; font-weight:500;
  letter-spacing:.4em; text-transform:uppercase; color:rgba(255,255,255,.92); text-shadow:0 1px 10px rgba(0,0,0,.35)}
.art-dawn{background:linear-gradient(180deg,#DEB3A2 0%,#E7C6AE 30%,#E2C6A4 46%,#9FB4A8 60%,#55807D 74%,#2F5B5C 100%)}
.art-noon{background:linear-gradient(180deg,#EDE6D2 0%,#F3EEDF 42%,#E3D3AE 72%,#D8C6A5 100%)}
.art-dusk{background:linear-gradient(180deg,#D9A877 0%,#CE8F63 38%,#B4715C 58%,#7A4E44 78%,#4A3630 100%)}
.art-night{background:linear-gradient(180deg,#27343A 0%,#1C282E 46%,#15201F 74%,#101A18 100%)}
.art-coast{background:linear-gradient(180deg,#E9E2D0 0%,#CFD6C8 40%,#7FA3A0 68%,#3F7674 100%)}

/* ---------- cover ---------- */
.cover{min-height:100vh; display:flex; align-items:center; padding:13vh 0 8vh; text-align:center}
.cover .arch{width:min(400px,74vw); aspect-ratio:3/4.1; margin:6vh auto 0}
.motto{font-family:var(--serif); font-style:italic; font-weight:300; font-size:clamp(18px,2.3vw,25px); line-height:1.6;
  max-width:31em; margin:5.5vh auto 0; color:var(--body)}

/* ---------- dictionary ---------- */
.dict{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:clamp(26px,5vw,56px);
  box-shadow:0 24px 50px -34px rgba(42,38,32,.3); margin-top:26px}
.dict .word{font-family:var(--serif); font-weight:400; font-size:clamp(40px,6vw,68px); line-height:1}
.dict .phon{font-family:var(--serif); font-style:italic; color:var(--soft); font-size:19px; margin-top:10px}
.dict .phon b{font-weight:500}
.dict .pos{font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--goldink); font-weight:500; margin:22px 0 10px}
.dict .def{font-family:var(--serif); font-weight:300; font-size:clamp(21px,2.6vw,28px); line-height:1.45}
.dict .ex{margin-top:20px; font-family:var(--serif); font-style:italic; color:var(--soft); font-size:17px}

.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,90px); align-items:center}
.split.top{align-items:start}

.hours{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2.4vw,30px); margin-top:7vh}
.hours .arch{aspect-ratio:3/4.4}
.hours .t{margin-top:18px; text-align:center}
.hours .n{font-family:var(--serif); font-weight:400; font-size:25px}
.hours .s{font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--soft); margin-top:4px; font-weight:500}
.hours p{font-size:12.5px; color:var(--soft); line-height:1.7; margin-top:12px}

.band{position:relative; border-radius:999px 999px 14px 14px; overflow:hidden; aspect-ratio:16/7.5; margin-top:7vh;
  box-shadow:0 30px 60px -30px rgba(42,38,32,.35)}
.band img.ph{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.92)}

/* ---------- places ---------- */
.places{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,40px); margin-top:7vh}
.place{border-top:1px solid var(--ink); padding-top:22px}
.place .num{font-family:var(--serif); font-style:italic; color:var(--goldink); font-size:20px}
.place h3{font-family:var(--serif); font-weight:300; font-size:clamp(30px,3.6vw,44px); line-height:1.15; margin-top:6px}
.place .s{font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--soft); font-weight:500; margin-top:8px}
.place p{color:var(--body); margin-top:16px; max-width:30em}

.truth{background:var(--paper2)}
.nots{display:flex; flex-wrap:wrap; gap:12px 14px; margin-top:36px; justify-content:center}
.nots span{font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(19px,2.4vw,26px); padding:8px 24px;
  border:1px solid rgba(42,38,32,.25); border-radius:999px; color:var(--soft)}
.nots s{text-decoration-color:var(--rosedeep); text-decoration-thickness:1px}
.truth .display{max-width:18em; margin:40px auto 0}

/* ---------- audiences ---------- */
.aud{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,36px); margin-top:7vh}
.card{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:clamp(26px,4vw,48px);
  box-shadow:0 24px 50px -34px rgba(42,38,32,.3); display:flex; flex-direction:column; align-items:flex-start}
.card h3{font-family:var(--serif); font-weight:400; font-size:clamp(28px,3.2vw,38px); line-height:1.15}
.card > p{color:var(--body); margin-top:14px}
.card ul{list-style:none; margin:22px 0 6px; width:100%}
.card li{padding:11px 0 11px 26px; border-top:1px solid var(--line); position:relative; color:var(--body)}
.card li::before{content:""; position:absolute; left:2px; top:17px; width:10px; height:13px; border:1px solid var(--goldink); border-radius:6px 6px 1px 1px}
.card .note{margin-bottom:24px}
.card .btn{margin-top:auto}

/* ---------- forms ---------- */
.register{background:var(--paper2)}
.form{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:clamp(22px,4vw,44px);
  box-shadow:0 24px 50px -34px rgba(42,38,32,.3); display:grid; gap:18px}
.form label > span, .form legend{display:block; font-size:10.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--soft); margin-bottom:7px}
.form input[type=text], .form input[type=email], .form textarea{width:100%; font:300 16px var(--sans); color:var(--ink); background:#fff;
  border:1px solid var(--line); border-radius:3px; padding:12px 14px}
.form input:focus, .form textarea:focus{outline:none; border-color:var(--ink)}
.form fieldset{border:0}
.form .radio, .form .check{display:flex; gap:12px; align-items:flex-start; padding:6px 0; cursor:pointer}
.form .radio span, .form .check span{font:300 15px/1.6 var(--sans); letter-spacing:0; text-transform:none; color:var(--body); margin:0}
.form input[type=radio], .form input[type=checkbox]{accent-color:var(--ink); width:17px; height:17px; margin-top:4px; flex:none}
.form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form .err{color:var(--roseink); font-size:14px}
.form .btn{justify-self:start}
.sent{background:var(--card); border:1px solid var(--line); border-radius:4px; padding:clamp(28px,5vw,56px); text-align:center}
.sent svg{height:44px; fill:var(--goldink)}
.sent h3{font-family:var(--serif); font-weight:300; font-size:34px; margin-top:14px}
.sent p{color:var(--body); margin-top:14px}

/* ---------- footer ---------- */
.foot{padding:4vh 0 9vh; text-align:center}
.colophon{margin-top:5vh; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--soft); line-height:2.3; font-weight:400}
.colophon a{color:var(--soft)}

/* ---------- closed part ---------- */
.inner{padding:16vh 0 12vh; min-height:100vh}
.acc-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px; margin-top:8px}
.acc-head .display{margin-top:12px}
.acc-head .who{font-size:12px; color:var(--soft); text-align:right; line-height:1.9}
.acc-head .who a{color:var(--soft)}
.tabs{display:flex; gap:10px; margin:36px 0 0; border-bottom:1px solid var(--line); padding-bottom:18px; flex-wrap:wrap}
.tabs button{font:500 10.5px var(--sans); letter-spacing:.26em; text-transform:uppercase; padding:11px 22px; border-radius:999px;
  border:1px solid var(--line); background:none; color:var(--soft); cursor:pointer}
.tabs button.on{background:var(--ink); border-color:var(--ink); color:var(--paper)}
.panel{margin-top:44px}
.login-box{max-width:460px; margin-top:28px}
.notice{background:var(--card); border:1px solid var(--line); border-left:2px solid var(--gold); border-radius:3px; padding:26px 30px; max-width:640px}
.notice h3{font-family:var(--serif); font-weight:400; font-size:28px; line-height:1.2}
.notice p{margin-top:10px; color:var(--body)}
.notice .btn{margin-top:20px}
.notice textarea{width:100%; margin-top:16px; font:300 15px var(--sans); border:1px solid var(--line); border-radius:3px; padding:10px 12px; background:#fff}

.pc h3.sub{font-family:var(--serif); font-weight:400; font-size:clamp(25px,2.8vw,33px); line-height:1.2; margin:9vh 0 0; padding-top:26px; border-top:1px solid var(--ink)}
.pc .body{max-width:44em}
.pc .afm{border:1.5px solid var(--ink); padding:14px 20px; font:500 13px/1.6 var(--sans); letter-spacing:.04em; margin:26px 0 8px; max-width:720px; background:#fff}
.gal{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:26px}
.gal figure, .plans figure{margin:0}
.gal img{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:3px; display:block; background:var(--paper2)}
figcaption{font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--soft); font-weight:500; margin-top:10px}
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px}
.plans a{display:block; border:1px solid var(--line); border-radius:3px; overflow:hidden; background:#F6F2E8}
.plans img{width:100%; display:block; aspect-ratio:1.414; object-fit:cover; object-position:left top}
.ficha{width:100%; border-collapse:collapse; margin-top:22px; max-width:860px}
.ficha th, .ficha td{text-align:left; vertical-align:top; padding:13px 0; border-bottom:1px solid var(--line)}
.ficha th{font-family:var(--serif); font-weight:400; font-size:19px; width:34%; padding-right:20px}
.ficha td{color:var(--body)}
.ficha td.big{font-family:var(--serif); font-size:26px; color:var(--ink)}
.four{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:26px}
.four .n{font-family:var(--serif); font-size:24px} .four p{font-size:13.5px; color:var(--body); margin-top:8px; line-height:1.7}
.four > div{border-top:1px solid var(--line); padding-top:14px}
.steps{list-style:none; counter-reset:s; margin-top:22px; max-width:760px}
.steps li{counter-increment:s; position:relative; padding:14px 0 14px 54px; border-bottom:1px solid var(--line); color:var(--body)}
.steps li::before{content:counter(s); position:absolute; left:0; top:8px; font-family:var(--serif); font-style:italic; font-size:28px; color:var(--goldink)}
.tbl{width:100%; border-collapse:collapse; margin-top:22px; font-variant-numeric:tabular-nums}
.tbl th{font:500 10px var(--sans); letter-spacing:.2em; text-transform:uppercase; color:var(--soft); text-align:right; padding:10px 0 10px 16px; border-bottom:1px solid var(--ink); vertical-align:bottom}
.tbl td{padding:13px 0 13px 16px; border-bottom:1px solid var(--line); text-align:right; color:var(--body)}
.tbl th:first-child, .tbl td:first-child{text-align:left; padding-left:0}
.tbl td:first-child{font-family:var(--serif); font-size:19px; color:var(--ink)}
.tbl td small{display:block; font:400 11.5px var(--sans); color:var(--soft)}
.tbl tr.total td{border-bottom:1px solid var(--ink); font-weight:500; color:var(--ink)}
.tblwrap{overflow-x:auto}
.ways{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px}
.way{background:var(--card); border:1px solid var(--line); border-top:3px solid var(--pine); border-radius:3px; padding:26px}
.way:nth-child(2){border-top-color:var(--teal)} .way:nth-child(3){border-top-color:var(--gold)}
.way .n{font-family:var(--serif); font-size:30px; line-height:1.1}
.way .s{font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--soft); font-weight:500; margin-top:6px}
.way p{margin-top:14px; color:var(--body); font-size:14.5px}
.way .ex{font-family:var(--serif); font-size:18px; color:var(--ink); border-top:1px solid var(--line); padding-top:12px}
.risks{list-style:none; margin-top:22px; max-width:820px}
.risks li{padding:13px 0; border-bottom:1px solid var(--line); color:var(--body)}
.disc{font-size:12px; color:var(--soft); line-height:1.8; margin-top:9vh; padding-top:20px; border-top:1px solid var(--line); max-width:820px}

.room{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,90px); align-items:center; margin-top:11vh}
.room .arch{aspect-ratio:3/4; width:min(360px,100%); justify-self:center}
.room.flip .arch{order:-1}
.room .no{font-family:var(--serif); font-style:italic; color:var(--goldink); font-size:19px}
.room h3{font-family:var(--serif); font-weight:300; font-size:clamp(44px,6vw,72px); line-height:1.05}
.room .rs{font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--soft); font-weight:500; margin-top:8px}
.dots{display:flex; gap:22px; margin-top:24px; flex-wrap:wrap}
.dots span{display:flex; align-items:center; gap:9px; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--soft); font-weight:500}
.dots i, .matgrid i{display:block; border-radius:50%; border:1px solid rgba(42,38,32,.12)}
.dots i{width:22px; height:22px}
.matgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px 26px; margin-top:34px}
.matgrid i{width:54px; height:54px}
.matgrid b{display:block; font-family:var(--serif); font-weight:400; font-size:23px; margin-top:12px}
.matgrid p{font-size:13.5px; color:var(--body); line-height:1.7; margin-top:6px}
.places.one{grid-template-columns:1fr; max-width:640px; margin-left:auto; margin-right:auto; text-align:center}
.places.one .place p{margin-left:auto; margin-right:auto}

/* ---------- admin ---------- */
.adm{width:100%; border-collapse:collapse; margin-top:26px; font-size:13.5px}
.adm th{font:500 10px var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--soft); text-align:left; padding:10px 12px 10px 0; border-bottom:1px solid var(--ink)}
.adm td{padding:12px 12px 12px 0; border-bottom:1px solid var(--line); vertical-align:top; color:var(--body)}
.adm td .m{color:var(--soft); font-size:12.5px; max-width:26em}
.adm button{font:500 10px var(--sans); letter-spacing:.14em; text-transform:uppercase; padding:7px 12px; border-radius:999px; border:1px solid var(--ink); background:none; cursor:pointer; margin:0 6px 6px 0}
.adm button.go{background:var(--ink); color:var(--paper)}
.pill{display:inline-block; font:500 10px var(--sans); letter-spacing:.16em; text-transform:uppercase; padding:3px 10px; border-radius:999px; border:1px solid var(--line); color:var(--soft)}
.pill.pending{border-color:var(--rosedeep); color:var(--roseink)} .pill.approved{border-color:var(--pine); color:var(--pine)}

/* ---------- demo bar (preview only) ---------- */
#demobar{position:fixed; left:12px; right:12px; bottom:12px; z-index:60; background:var(--ink); color:var(--paper); border-radius:6px;
  padding:12px 16px; font-size:13px; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; box-shadow:0 10px 30px rgba(0,0,0,.3)}
#demobar b{font-weight:500; letter-spacing:.14em; text-transform:uppercase; font-size:10.5px; color:var(--sand)}
#demobar button{font:500 10.5px var(--sans); letter-spacing:.12em; text-transform:uppercase; padding:7px 12px; border-radius:999px; border:1px solid var(--sand); background:none; color:var(--paper); cursor:pointer}

@media (max-width:980px){
  #nav .links{display:none}
}
@media (max-width:860px){
  section{padding:9vh 0}
  .split, .places, .aud{grid-template-columns:1fr; gap:34px}
  .hours{grid-template-columns:1fr 1fr; gap:26px}
  .band{aspect-ratio:4/3}
  .plans, .ways, .room{grid-template-columns:1fr}
  .room.flip .arch{order:0}
  .matgrid{grid-template-columns:1fr 1fr}
  .four{grid-template-columns:1fr 1fr}
  .ficha th{width:42%}
  .acc-head .who{text-align:left}
}
@media (max-width:560px){
  #nav{padding:10px 14px; gap:8px}
  #nav .mark span, #nav .login{display:none}
  #nav .right{gap:8px}
  .btn.small{padding:9px 13px; letter-spacing:.14em}
  .gal{grid-template-columns:1fr}
  .brand{letter-spacing:.24em; text-indent:.24em}
}
@media (prefers-reduced-motion:reduce){ .rv{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }

.place.soon h3, .place.soon p{color:var(--soft)}
.place.soon{border-top-color:var(--line)}
.place .pill{margin-left:8px; border-color:var(--gold); color:var(--goldink); letter-spacing:.2em}
