@font-face{font-family:'Bebas Neue';src:url('fonts/bebas-neue-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#0C0B0B;--surface:#161313;--surface2:#110F0F;--line:#262222;--line2:#2E2929;--line3:#3A3434;--text:#F2EEE8;--muted:#C9C2B8;--muted2:#A39B90;--red:#E20A0A;--red-text:#FF5A4E;--green:#3DDC84;--display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
img{max-width:100%;display:block}
a{color:var(--text)}a:hover{color:var(--red-text)}
button{font-family:inherit;cursor:pointer}
input,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--red-text);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}
.display{font-family:var(--display);font-weight:400;line-height:.9;margin:0}
.h2{font-size:clamp(56px,7vw,96px)}
.red{color:var(--red-text)}
.eyebrow{margin:0 0 14px;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--red-text)}
.lead{font-size:18px;line-height:1.65;color:var(--muted)}
.sec{padding-top:104px;padding-bottom:40px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:100;background:var(--red);color:#fff;padding:10px 16px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(12,11,11,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;padding-bottom:12px}
.logo img{height:56px;width:auto}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;font-size:14px}
.status{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:8px 14px}
.status.closed .pulse{background:#8F877C}.status.closed .pulse::after{display:none}

/* links + buttons */
.ul{position:relative;text-decoration:none}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.ul:hover::after,.ul:focus-visible::after{transform:scaleX(1);transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 24px;border-radius:999px;font-size:15px;text-decoration:none;border:1px solid var(--line3);background:transparent;color:var(--text);transition:transform .2s var(--ease),box-shadow .25s,background-color .25s,border-color .25s,color .25s}
.btn:hover{transform:translateY(-2px);color:var(--text)}
.btn:active{transform:translateY(0) scale(.97)}
.btn-red{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.btn-red:hover{color:#fff;box-shadow:0 10px 30px rgba(226,10,10,.35)}
.btn-lg{min-height:52px;padding:16px 26px;font-size:16px}
.btn-sm{min-height:44px;padding:12px 20px;font-size:14px}
.arr{display:inline-block;transition:transform .3s var(--ease)}
.btn:hover .arr,.post:hover .arr{transform:translateX(5px)}
.chip{min-height:48px;padding:12px 20px;border-radius:999px;font-size:15px;border:1px solid var(--line3);background:transparent;color:var(--text);transition:transform .15s,background-color .2s,border-color .2s,color .2s}
.chip:hover{border-color:var(--red-text)}
.chip:active{transform:scale(.94)}
.chip[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--green);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}

/* hero */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding-top:56px;padding-bottom:72px}
.hero-text{flex:999 1 560px;min-width:0}
.hero-logo{flex:1 1 360px;min-width:0;display:flex;justify-content:center}
.lift{font-size:clamp(110px,17vw,260px);line-height:.82;letter-spacing:.01em}
.lift span{display:inline-block;transition:transform .35s var(--ease),color .3s}
.lift span:hover{transform:translateY(-14px);color:var(--red)}
.tag-line{margin:10px 0 0;font-family:var(--display);font-size:clamp(28px,3.4vw,48px);letter-spacing:.06em;color:var(--red-text)}
.lion{width:min(100%,440px);height:auto;transition:transform .8s var(--ease),filter .6s;animation:float 6s ease-in-out infinite}
.lion:hover{transform:rotate(-4deg) scale(1.03);filter:drop-shadow(0 0 40px rgba(226,10,10,.45))}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}
.row{display:flex;flex-wrap:wrap;gap:12px}

/* marquee */
.marqwrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0;background:var(--red);color:#fff}
.marq{display:flex;gap:48px;width:max-content;animation:marq 30s linear infinite;font-family:var(--display);font-size:38px;letter-spacing:.04em;white-space:nowrap}
.marqwrap:hover .marq{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}

/* services */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.svc{background:var(--surface);border:1px solid var(--line2);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .3s}
.svc:hover{transform:translateY(-6px);border-color:var(--red)}
.svc .img{aspect-ratio:4/3;overflow:hidden}
.svc .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.svc:hover .img img{transform:scale(1.06)}
.svc .body{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1}
.svc h3{font-family:var(--display);font-weight:400;font-size:44px;line-height:.95;margin:0}
.svc p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.offer{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:28px;border:1px solid var(--red);border-radius:10px;padding:20px;background:var(--surface2)}
.offer img{width:120px;height:170px;object-fit:cover;border-radius:6px}
.offer .big{font-family:var(--display);font-size:clamp(56px,7vw,88px);line-height:.9;color:var(--red-text)}

/* flip cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.flip{height:340px;padding:0;border:0;background:none;color:inherit;text-align:left;perspective:1200px}
.flip-in{position:relative;width:100%;height:100%;transition:transform .7s var(--ease);transform-style:preserve-3d}
.flip[aria-pressed="true"] .flip-in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;padding:24px;display:flex;flex-direction:column;overflow:hidden}
.front{justify-content:space-between;border:1px solid var(--line2)}
.front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;transition:opacity .4s,transform .8s var(--ease)}
.flip:hover .front img{opacity:.6;transform:scale(1.05)}
.front>*{position:relative}
.front::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,11,.9),rgba(12,11,11,.1));z-index:0}
.front>span,.front>div{z-index:1}
.back{transform:rotateY(180deg);background:var(--red);color:#fff;gap:14px}
.fname{font-family:var(--display);font-size:52px;line-height:.95}
.hint{margin-top:10px;font-size:13px;color:var(--muted);opacity:.7;transform:translateY(4px);transition:opacity .3s,transform .3s}
.flip:hover .hint{opacity:1;transform:none}

/* booking */
.book{background:var(--surface);border:1px solid var(--line2);border-radius:14px;padding:clamp(24px,4vw,48px)}
.prog{height:6px;background:var(--line2);border-radius:999px;overflow:hidden;margin-top:20px}
.bar{height:100%;background:var(--red);border-radius:999px;width:0;transition:width .6s var(--ease)}
.step{margin-top:36px;animation:fadeup .5s var(--ease)}
.step[hidden]{display:none}
.q{font-size:20px;margin-bottom:18px}
@keyframes fadeup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line3);color:var(--text);border-radius:8px;padding:14px 16px;font-size:16px;min-height:50px;transition:border-color .2s}
.field input:focus,.field textarea:focus{border-color:var(--red-text);outline:none}
.check path{stroke-dasharray:60;stroke-dashoffset:60;animation:draw .7s .15s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.book-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tile{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:3/4;border:1px solid var(--line2);background:#1A1717;margin:0}
.tile[hidden]{display:none}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.08)}
.ov{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(to top,rgba(12,11,11,.95),rgba(12,11,11,0));display:flex;align-items:flex-end;justify-content:space-between;gap:12px;transform:translateY(45%);transition:transform .45s var(--ease)}
.tile:hover .ov,.tile:focus-within .ov{transform:none}
.ov .t{font-size:12px;color:var(--red-text);text-transform:uppercase;letter-spacing:.12em}
.ov figcaption{font-size:15px;margin-top:4px}
.heart{background:rgba(12,11,11,.6);border:1px solid var(--line3);color:var(--text);border-radius:999px;width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.heart:active{transform:scale(.8)}
.heart svg{fill:none;stroke:var(--text)}
.heart[aria-pressed="true"] svg{fill:var(--red);stroke:var(--red);animation:pop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters .chip{min-height:44px;padding:10px 16px;font-size:14px}
.more{display:flex;justify-content:center;margin-top:32px}

/* artist */
.artist-sec{border-top:1px solid var(--line);background:var(--surface2)}
.artist{display:flex;flex-wrap:wrap;gap:64px;align-items:center;padding-top:104px;padding-bottom:104px}
.artist-photo{flex:1 1 340px;min-width:0;display:flex;justify-content:center}
.portrait{position:relative;width:min(100%,420px);aspect-ratio:2/3}
.portrait::before{content:"";position:absolute;inset:0;border:2px solid var(--red);border-radius:12px;transform:translate(16px,16px);transition:transform .5s var(--ease)}
.portrait:hover::before{transform:translate(-10px,-10px)}
.portrait img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:12px;transition:transform .5s var(--ease)}
.portrait:hover img{transform:translate(6px,6px)}
.artist-text{flex:999 1 520px;min-width:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:36px;max-width:600px}
.stat{border-top:2px solid var(--line2);padding-top:14px}.stat:first-child{border-top-color:var(--red)}
.stat b{display:block;font-family:var(--display);font-weight:400;font-size:64px;line-height:.9}
.stat span{font-size:13px;color:var(--muted2)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.tag{font-size:14px;border:1px solid var(--line3);border-radius:999px;padding:10px 16px;transition:background-color .2s,color .2s,border-color .2s}
.tag:hover{background:var(--red);border-color:var(--red);color:#fff}

/* journal */
.post{text-decoration:none;display:flex;flex-direction:column;gap:14px;transition:transform .35s var(--ease)}
.post:hover{transform:translateY(-6px);color:var(--text)}
.post .pimg{overflow:hidden;border-radius:10px;border:1px solid var(--line2);aspect-ratio:16/10;background:#1A1717}
.post .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post:hover .pimg img{transform:scale(1.06)}
.meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.meta .d{color:var(--muted2)}
.ptitle{font-family:var(--display);font-size:34px;line-height:1}
.pex{font-size:15px;color:var(--muted);line-height:1.55}

/* faq */
.faq{max-width:960px}
.faq-list{border-top:1px solid var(--line2)}
.faq-item{border-bottom:1px solid var(--line2)}
.faq-q{width:100%;background:none;border:0;color:var(--text);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;font-size:19px;min-height:64px}
.plus{flex:0 0 auto;transition:transform .35s var(--ease)}
.faq-q[aria-expanded="true"] .plus{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s var(--ease),opacity .35s}
.faq-a>div{overflow:hidden}
.faq-q[aria-expanded="true"]+.faq-a{grid-template-rows:1fr;opacity:1}
.faq-a p{margin:0 0 24px;font-size:16px;line-height:1.6;color:var(--muted);max-width:760px}

/* contact + footer */
.contact{border-top:1px solid var(--line)}
.contact .wrap{padding-top:80px;padding-bottom:48px;display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between}
.addr{font-family:var(--display);font-size:clamp(56px,8vw,120px);line-height:.85}
.cinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:28px;font-size:16px;color:var(--muted)}
.cinfo b{display:block;font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:8px}
.cinfo a{text-decoration:none}
.btn.copied{background:#1E3A2A;border-color:var(--green);color:var(--green)}
.ftr{border-top:1px solid var(--line)}
.ftr .wrap{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted2)}
.ftr a{color:var(--muted2)}
.ftr nav{display:flex;flex-wrap:wrap;gap:20px}

/* wa float */
.wa{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .25s var(--ease)}
.wa:hover{transform:scale(1.08);color:#fff}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* legal pages */
.legal{max-width:820px;padding-top:64px;padding-bottom:96px}
.legal h1{font-family:var(--display);font-weight:400;font-size:clamp(56px,8vw,96px);line-height:.9;margin:0 0 32px}
.legal h2{font-size:20px;margin:36px 0 10px}
.legal p,.legal li{color:var(--muted);font-size:16px;line-height:1.7}
.legal ol li{margin-bottom:10px}

@media (max-width:760px){.nav .ul,.nav .status{display:none}.hdr .wrap{flex-wrap:nowrap}.logo img{height:44px;width:auto}.hero{padding-top:32px}.hero-logo{order:-1}.lion{width:min(70%,300px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
/* article pages */
.article h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,48px);line-height:1;margin:52px 0 14px;color:var(--text)}
.article h3{font-size:21px;margin:30px 0 8px;color:var(--text)}
.article img.inl{width:100%;height:auto;border-radius:10px;margin:28px 0}
.article ul li,.article ol li{margin-bottom:8px}
.legal strong{color:var(--text)}
.post-meta{color:var(--muted2);font-size:14px;margin:-16px 0 28px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:28px 0}
.pgrid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
.heal{border-top:1px solid var(--line2)}
.heal div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line2);color:var(--muted)}
.heal div span:last-child{color:var(--red-text)}
