:root { --red:#d92d12; --red-hover:#b82610; --bg:#0f1013; --card:#17191d; --card-2:#1e2126; --border:#262a30; --text:#e5e7eb; --muted:#a1a1aa; --radius:12px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--bg); color:var(--text); font:16px/1.5 Inter,Segoe UI,system-ui,sans-serif; } a { color:inherit; text-decoration:none; } .container { width:min(1152px,calc(100% - 48px)); margin:auto; }
.header { position:sticky; top:0; z-index:20; background:rgba(15,16,19,.94); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); } .header__inner { height:76px; display:flex; align-items:center; gap:28px; }
.logo { display:flex; align-items:center; flex:0 0 auto; } .logo__image { display:block; width:auto; height:42px; max-width:280px; object-fit:contain; } 
.nav { display:flex; gap:4px; margin-left:auto; } .nav__link { padding:8px 14px; color:var(--muted); } .nav__link:hover,.nav__link--active { color:white; } .header__actions,.actions { display:flex; gap:10px; flex-wrap:wrap; } .burger { display:none; background:none; border:0; } .burger span { display:block; width:23px; height:2px; margin:5px; background:var(--text); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 19px; border:1px solid var(--border); border-radius:6px; font-size:14px; font-weight:700; transition:.2s; } .btn--primary { color:#fff; background:var(--red); border-color:var(--red); } .btn--primary:hover { background:var(--red-hover); border-color:var(--red-hover); } .btn--secondary:hover { border-color:var(--muted); }
.hero { padding:80px 0 64px; } .hero__inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; } h1 { margin:0 0 20px; font-size:clamp(34px,5vw,56px); line-height:1.1; } h1 span,h2 span { color:var(--red); } .eyebrow { margin:0 0 12px; color:var(--red); font-weight:700; font-size:12px; letter-spacing:.12em; } .lead,.section-intro { max-width:570px; color:var(--muted); margin:0 0 34px; } .badges { display:flex; gap:18px; flex-wrap:wrap; margin-top:32px; color:var(--muted); font-size:13px; } .hero-art { display:grid; place-items:center; min-height:350px; border:1px solid var(--border); border-radius:16px; background:linear-gradient(135deg,#1a0a08,var(--bg)); font-size:80px; opacity:.8; }
.section { padding:80px 0; } .dark { background:var(--card); } .centered { text-align:center; } h2 { margin:0 0 16px; font-size:clamp(28px,4vw,40px); line-height:1.2; } h3 { margin:0 0 8px; font-size:20px; } .section-intro { margin:0 auto 42px; text-align:center; }
.cards { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:40px; } .card,.feature,details { border:1px solid var(--border); border-radius:var(--radius); background:var(--card); } .card { overflow:hidden; } .card__image { display:grid; place-items:center; height:240px; background:linear-gradient(135deg,#1a1008,var(--card)); font-size:62px; } .card__image--music { background:linear-gradient(135deg,#0a0a1a,var(--card)); } .card__body { padding:24px; } .card p,.feature p { color:var(--muted); font-size:14px; } .tags { display:flex; flex-wrap:wrap; gap:8px; } .tags span { padding:4px 10px; border:1px solid var(--border); border-radius:20px; color:var(--muted); font-size:12px; } .card__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); } .card__footer b { color:var(--red); }
.grid { display:grid; gap:16px; } .advantages { grid-template-columns:repeat(3,1fr); } .content-types { grid-template-columns:repeat(4,1fr); margin-top:40px; } .feature { padding:22px; } .feature i { display:block; margin-bottom:10px; font-size:25px; font-style:normal; } .feature h3 { font-size:16px; }
.cta { border-top:1px solid var(--border); border-bottom:1px solid var(--border); } .cta p { color:var(--muted); margin:0 0 28px; }.faq { display:grid; gap:8px; max-width:720px; margin:35px auto 0; } details { padding:0 22px; } summary { cursor:pointer; padding:19px 0; font-weight:600; } details p { margin:0 0 19px; color:var(--muted); font-size:14px; } .footer { background:var(--card); border-top:1px solid var(--border); padding-top:52px; } .footer__inner { display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:40px; padding-bottom:44px; } .footer h2 { font-size:12px; letter-spacing:.08em; text-transform:uppercase; } .footer p,.footer a,.footer span { display:block; margin:9px 0; color:var(--muted); font-size:14px; } .footer .logo { display:inline-flex; }.footer__bottom { border-top:1px solid var(--border); padding:20px 0; color:var(--muted); font-size:13px; }main.page { min-height:55vh; padding:70px 0; }.entry-content { max-width:800px; }.entry-content > * { margin-bottom:1em; }
/* Editable studio cards and detail pages */
.studio-carousel { position:relative; height:240px; overflow:hidden; background:linear-gradient(135deg,#1a1008,var(--card)); }.studio-carousel__slides,.studio-carousel__slide { display:block; width:100%; height:100%; }.studio-carousel__slide { position:absolute; inset:0; opacity:0; transition:opacity .7s ease; pointer-events:none; }.studio-carousel__slide.is-active { opacity:1; pointer-events:auto; }.studio-carousel__slide img { width:100%; height:100%; object-fit:cover; }.studio-carousel__dots { position:absolute; z-index:2; bottom:13px; left:50%; display:flex; gap:6px; transform:translateX(-50%); }.studio-carousel__dots span { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.45); transition:.2s; }.studio-carousel__dots .is-active { width:20px; border-radius:5px; background:#fff; }.studio-carousel__empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; height:100%; color:var(--muted); font-size:52px; }.studio-carousel__empty small { font-size:12px; }
.card__image { overflow:hidden; }.card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }.card:hover .card__image img { transform:scale(1.03); }.card__more { display:inline-block; margin-top:16px; color:var(--red); font-size:14px; font-weight:700; }.studio-page { padding:70px 0; }.studio-page__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; }.studio-page__price { color:var(--red); font-size:22px; white-space:nowrap; }.studio-page__grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:42px; }.studio-page__content h2,.studio-page__aside h2 { font-size:24px; }.studio-page__aside { align-self:start; padding:25px; border:1px solid var(--border); border-radius:var(--radius); background:var(--card); }.studio-page__aside ul { margin:0 0 24px; padding-left:20px; color:var(--muted); }.studio-page__aside li { margin:9px 0; }.studio-gallery { margin:28px 0 45px; }.studio-gallery__main { aspect-ratio:16/7; overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--card); }.studio-gallery__main img { display:block; width:100%; height:100%; object-fit:cover; }.studio-gallery__thumbs { display:flex; gap:10px; overflow-x:auto; padding:14px 2px 2px; scrollbar-width:thin; }.studio-gallery__thumb { width:92px; height:66px; flex:0 0 auto; padding:0; overflow:hidden; border:2px solid transparent; border-radius:8px; background:var(--card); cursor:pointer; opacity:.62; transition:border-color .2s,opacity .2s,transform .2s; }.studio-gallery__thumb:hover { opacity:1; transform:translateY(-2px); }.studio-gallery__thumb.is-active { border-color:var(--red); opacity:1; }.studio-gallery__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.booking-section { padding-top:20px; }.booking-widget { scroll-margin-top:92px; padding:42px; border:1px solid var(--border); border-radius:16px; background:var(--card); }.booking-widget h2 { margin-bottom:28px; }
.footer__legal { display:flex; flex-wrap:wrap; gap:12px 24px; padding:0 0 30px; }.footer__legal a { color:var(--muted); font-size:13px; }.footer__legal a:hover { color:var(--red); }.payment-page { min-height:calc(100vh - 76px); padding:88px 0; background:radial-gradient(circle at 75% 20%,rgba(217,45,18,.2),transparent 32%),var(--bg); }.payment-page__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.78fr); align-items:center; gap:72px; }.payment-page h1 { font-size:clamp(38px,5vw,62px); }.payment-page__badges { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0; }.payment-page__badges span { padding:7px 11px; border:1px solid var(--border); border-radius:5px; font-size:12px; font-weight:800; }.payment-page__links { display:flex; flex-direction:column; gap:10px; }.payment-page__links a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }.payment-page__links a:hover { color:var(--red); }.payment-card { padding:34px; border:1px solid var(--border); border-radius:16px; background:#fff; color:#18191c; box-shadow:0 25px 70px rgba(0,0,0,.35); }.payment-card h2 { font-size:25px; }.payment-card form { display:grid; gap:18px; }.payment-card label { display:grid; gap:7px; font-size:13px; color:#555; }.payment-card input:not([type="checkbox"]) { width:100%; height:48px; padding:0 12px; border:0; border-bottom:1px solid #c7c7c7; border-radius:0; outline:none; color:#151515; font:inherit; }.payment-card input:focus { border-color:var(--red); }.payment-card .btn { justify-self:start; margin-top:6px; }.payment-card .btn:disabled { opacity:.6; cursor:wait; }.payment-card__consent { grid-template-columns:18px 1fr; align-items:start; line-height:1.4; }.payment-card__consent input { margin:2px 0 0; }.payment-card__consent a { color:#555; text-decoration:underline; }.payment-card__message { min-height:20px; margin:0; color:#a1220e; font-size:13px; }.payment-frame iframe { display:block; width:100%; min-height:620px; border:0; }.payment-frame[hidden] { display:none; }
@media (max-width:768px) { .header__actions { display:none; }.burger { display:block; margin-left:auto; }.nav { display:none; }.nav.nav--open { display:flex; flex-direction:column; position:fixed; inset:76px 0 auto; padding:24px; background:var(--bg); border-bottom:1px solid var(--border); }.nav.nav--open .nav__link { font-size:18px; }.hero { padding:55px 0; }.hero__inner,.cards,.footer__inner,.studio-page__grid { grid-template-columns:1fr; }.hero-art { display:none; }.advantages { grid-template-columns:repeat(2,1fr); }.content-types { grid-template-columns:repeat(2,1fr); }.section { padding:60px 0; }.studio-page__heading { flex-direction:column; gap:0; }.studio-gallery__main { aspect-ratio:4/3; }.studio-gallery__thumb { width:78px; height:58px; }.logo__image { width:auto; height:36px; max-width:220px; } }
@media (max-width:460px) { .container { width:min(100% - 32px,1152px); }.actions .btn { width:100%; }.advantages { grid-template-columns:1fr; }.card__footer { align-items:flex-start; flex-direction:column; } }

/* Payment page */
.payment-card input.is-invalid:not([type="checkbox"]) { border-color:#ff765f !important; box-shadow:0 0 0 3px rgba(217,45,18,.16) !important; }.payment-card input.is-invalid[type="checkbox"] { outline:2px solid #ff765f; outline-offset:2px; }
.reservation-page { min-height:calc(100vh - 76px); }.reservation-hero { padding:82px 0 68px; border-bottom:1px solid var(--border); background:radial-gradient(circle at 77% 25%,rgba(217,45,18,.19),transparent 30%),var(--bg); }.reservation-hero h1 { max-width:760px; margin-bottom:17px; font-size:clamp(42px,6vw,72px); letter-spacing:-.045em; }.reservation-hero .lead { max-width:610px; margin-bottom:30px; font-size:17px; line-height:1.65; }.reservation-content { padding:70px 0 38px; }.reservation-content__grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:72px; }.reservation-article { max-width:720px; }.reservation-article h2 { margin:50px 0 14px; font-size:30px; }.reservation-article h2:first-child { margin-top:0; }.reservation-article h3 { margin:30px 0 10px; font-size:20px; }.reservation-article p,.reservation-article li { color:#c5c8cd; line-height:1.65; }.reservation-article ul { display:grid; gap:12px; padding:0; margin:20px 0; list-style:none; }.reservation-article li { position:relative; padding:16px 18px 16px 42px; border:1px solid var(--border); border-radius:10px; background:var(--card); }.reservation-article li::before { content:'✓'; position:absolute; top:16px; left:17px; color:var(--red); font-weight:800; }.reservation-article a:not(.btn) { color:#fff; text-decoration:underline; text-decoration-color:rgba(217,45,18,.7); text-underline-offset:4px; }.reservation-article .btn { margin-top:4px; }.reservation-aside { position:sticky; top:100px; padding:25px; border:1px solid var(--border); border-radius:14px; background:var(--card); }.reservation-aside h2 { margin:0 0 9px; font-size:22px; }.reservation-aside p { margin:0 0 16px; color:var(--muted); font-size:14px; line-height:1.55; }.reservation-aside a { display:block; margin:10px 0; color:#fff; font-size:14px; font-weight:650; }.reservation-aside a:hover { color:var(--red); }.reservation-aside hr { margin:22px 0; border:0; border-top:1px solid var(--border); }.reservation-aside__label { margin-bottom:7px !important; color:var(--red) !important; font-size:11px !important; font-weight:800; letter-spacing:.1em; }.reservation-booking { padding:30px 0 80px; }.reservation-booking .booking-widget { scroll-margin-top:92px; }
.reservation-gallery { padding:28px 0 82px; }.reservation-gallery__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:35px; }.reservation-gallery__grid figure { min-height:190px; margin:0; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--card); }.reservation-gallery__grid img { display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width:768px) { .reservation-hero { padding:55px 0 48px; }.reservation-hero h1 { font-size:46px; }.reservation-hero .lead { font-size:16px; }.reservation-content { padding:48px 0 24px; }.reservation-content__grid { grid-template-columns:1fr; gap:34px; }.reservation-article h2 { margin-top:39px; font-size:27px; }.reservation-aside { position:static; }.reservation-booking { padding:16px 0 55px; }.reservation-gallery { padding:18px 0 56px; }.reservation-gallery__grid { grid-template-columns:repeat(2,1fr); gap:8px; }.reservation-gallery__grid figure { min-height:130px; } }
.payment-page { min-height:calc(100vh - 76px); padding:88px 0 52px; overflow:hidden; background:radial-gradient(circle at 80% 16%,rgba(217,45,18,.2),transparent 27%),radial-gradient(circle at 12% 89%,rgba(142,31,13,.12),transparent 24%),var(--bg); }
/* The payment page keeps the header aligned to the regular site grid. */
body.page-template-page-payment .header__inner { width:min(100%,1056px); }
.payment-page__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.88fr); align-items:center; gap:84px; }.payment-page__intro { max-width:560px; }.payment-page h1 { margin-bottom:20px; font-size:clamp(44px,5.4vw,70px); letter-spacing:-.045em; }.payment-page .lead { margin-bottom:34px; font-size:17px; line-height:1.65; }.payment-trust { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:32px; }.payment-trust__item { min-height:76px; padding:14px 15px; border:1px solid var(--border); border-radius:10px; background:rgba(23,25,29,.56); }.payment-trust__item b,.payment-trust__item span { display:block; }.payment-trust__item b { margin-bottom:3px; font-size:13px; }.payment-trust__item span { color:var(--muted); font-size:12px; line-height:1.35; }.payment-page__links { display:grid; max-width:380px; border-top:1px solid var(--border); }.payment-page__links a { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--border); color:var(--muted); font-size:13px; transition:color .2s; text-decoration:none; }.payment-page__links a:hover { color:#fff; }.payment-page__links a span { color:var(--red); }
.payment-card { padding:30px; border:1px solid #30343b; border-radius:20px; background:linear-gradient(145deg,rgba(31,34,40,.98),rgba(20,22,26,.98)); color:var(--text); box-shadow:0 30px 80px rgba(0,0,0,.32); }.payment-card__header { display:flex; align-items:flex-start; gap:14px; padding-bottom:23px; margin-bottom:24px; border-bottom:1px solid var(--border); }.payment-card__step { display:grid; place-items:center; flex:0 0 auto; width:31px; height:31px; border:1px solid rgba(217,45,18,.58); border-radius:50%; color:#ff765f; font-size:11px; font-weight:800; }.payment-card h2 { margin:0 0 3px; font-size:25px; }.payment-card__header p { margin:0; color:var(--muted); font-size:13px; }.payment-card form { display:grid; gap:18px; }.payment-card label { display:grid; gap:7px; color:#c3c6cb; font-size:12px; font-weight:650; letter-spacing:.01em; }.payment-card label small { color:#777c84; font-size:11px; font-weight:500; }.payment-card input:not([type="checkbox"]) { width:100%; height:48px; padding:0 14px; border:1px solid #343941; border-radius:8px; outline:none; background:#111317; color:#fff; font:inherit; transition:border-color .2s,box-shadow .2s; }.payment-card input::placeholder { color:#6d727b; }.payment-card input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(217,45,18,.13); }.payment-card__amount { position:relative; padding:15px 16px 16px; border:1px solid #3a4049; border-radius:12px; background:rgba(255,255,255,.025); }.payment-card__amount > span { position:absolute; top:42px; right:17px; color:#fff; font-size:21px; }.payment-card__amount input { height:44px !important; padding:0 28px 0 0 !important; border:0 !important; border-bottom:1px solid #555b64 !important; border-radius:0 !important; background:transparent !important; font-size:28px !important; font-weight:750; letter-spacing:-.03em; }.payment-card__amount input:focus { box-shadow:none !important; border-color:var(--red) !important; }.payment-card__fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.payment-card__consent { grid-template-columns:18px 1fr; align-items:start; margin-top:2px; color:#969ba3 !important; font-size:12px !important; line-height:1.45; font-weight:500 !important; }.payment-card__consent input { width:15px; height:15px; margin:2px 0 0; accent-color:var(--red); }.payment-card__consent a { color:#d8dbe0; text-decoration:underline; text-underline-offset:3px; }.payment-card .btn { width:100%; min-height:52px; margin-top:2px; border-radius:8px; font-size:14px; }.payment-card .btn span { margin-left:8px; font-size:18px; line-height:0; }.payment-card .btn:disabled { opacity:.6; cursor:wait; }.payment-card__message { min-height:0; margin:0; color:#ff917e; font-size:13px; }.payment-card__secure { margin:19px 0 0; color:#838892; font-size:12px; text-align:center; }.payment-frame iframe { display:block; width:100%; min-height:620px; border:0; }.payment-frame[hidden] { display:none; }
.payment-rules { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:76px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }.payment-rules > div { display:flex; gap:13px; padding:19px 20px; border-right:1px solid var(--border); }.payment-rules > div:first-child { padding-left:0; }.payment-rules > div:last-child { padding-right:0; border:0; }.payment-rules span { color:var(--red); font-size:11px; font-weight:800; }.payment-rules p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.payment-rules b { color:#dadddf; font-weight:650; }
@media (max-width:768px) { .payment-page { padding:52px 0 38px; }.payment-page__layout { grid-template-columns:1fr; gap:40px; }.payment-page__intro { max-width:none; }.payment-page h1 { font-size:48px; }.payment-page .lead { margin-bottom:27px; font-size:16px; }.payment-page__links { max-width:none; }.payment-card { padding:23px 18px; border-radius:16px; }.payment-card__fields { grid-template-columns:1fr; gap:18px; }.payment-rules { grid-template-columns:1fr; margin-top:45px; }.payment-rules > div,.payment-rules > div:first-child,.payment-rules > div:last-child { padding:16px 0; border-right:0; border-bottom:1px solid var(--border); }.payment-rules > div:last-child { border-bottom:0; } }
