:root {
    --ako-bg:#000000;
    --ako-panel:#141414;
    --ako-text:#f1efeb;
    --ako-muted:#aaa7a4;
    --ako-red:#d83840;
    --ako-border:#333;
    --ako-header:82px;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--ako-header) + 24px);
}
body {
    margin:0;
    background:var(--ako-bg);
    color:var(--ako-text);
    font-family:Arial,Helvetica,sans-serif;
    font-size:18px;
    line-height:1.65;
}
body:has(dialog[open]) {
    overflow:hidden;
}
.wp-site-blocks {
    padding:0;
}
.wp-site-blocks>* {
    margin-block-start:0!important;
}
a {
    color:inherit;
    text-underline-offset:5px;
}
button,input,select,textarea {
    font:inherit;
}
button,a,input,textarea,select {
    -webkit-tap-highlight-color:transparent;
}
button {
    cursor:pointer;
}
button:disabled {
    cursor:wait;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
    outline:2px solid var(--ako-red);
    outline-offset:5px;
}
h1,h2,h3,p,figure {
    margin-top:0;
}
h1,h2,h3 {
    line-height:1.1;
}
h2 {
    font-size:clamp(2.6rem,6vw,5rem);
    font-weight:700;
    letter-spacing:-.05em;
    margin-bottom:32px;
}
h3 {
    font-size:1.5rem;
}
p {
    margin-bottom:1.2em;
}
img {
    max-width:100%;
    height:auto;
}
section[id] {
    scroll-margin-top:calc(var(--ako-header) + 24px);
}
.ako-container {
    width:min(1200px,calc(100% - 48px));
    margin-inline:auto;
}
.ako-header {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:50;
    background:#090909f5;
    border-bottom:1px solid #ffffff14;
    backdrop-filter:blur(12px);
}
body.admin-bar .ako-header {
    top:32px;
}
.ako-nav-wrap {
    min-height:var(--ako-header);
    width:min(1380px,calc(100% - 48px));
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
}
.ako-wordmark {
    text-decoration:none;
    font-size:20px;
    font-weight:800;
    letter-spacing:.12em;
    white-space:nowrap;
}
.ako-wordmark span {
    color:var(--ako-red);
}
#ako-navigation {
    display:flex;
    align-items:center;
    gap:28px;
}
#ako-navigation>a {
    font-size:14px;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-decoration:none;
    padding:10px 0;
    border-bottom:2px solid transparent;
}
#ako-navigation>a:hover,#ako-navigation>a[aria-current=location] {
    border-bottom-color:var(--ako-red);
}
.ako-language {
    display:flex;
    gap:10px;
    font-size:14px;
    margin-left:18px;
}
.ako-language a {
    text-decoration:none;
    color:var(--ako-muted);
}
.ako-language a[aria-current=page] {
    color:var(--ako-text);
    font-weight:bold;
}
.ako-menu-button {
    display:none;
}
.ako-hero {
    padding:calc(var(--ako-header) + 42px) 0 52px;
    text-align:center;
    background:#000000;
}
.ako-logo {
    display:block;
    width:min(780px,86%);
    height:auto;
    margin:0 auto 30px;
    object-fit:contain;
}
.ako-socials {
    display:flex;
    flex-wrap:wrap;
    gap:26px;
    justify-content:center;
}
.ako-socials a {
    color:var(--ako-muted);
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.1em;
    text-decoration:none;
}
.ako-socials a:hover {
    color:var(--ako-red);
}
.ako-band {
    background:#000000;
    padding:70px 0 110px;
}
.ako-band-visual {
    width:min(1400px,calc(100% - 48px));
    margin:auto;
    position:relative;
    min-height:420px;
}
.ako-about {
    position:absolute;
    right:0;
    bottom:7%;
    width:43%;
    padding:46px 46px 52px;
    background:#151515f5;
    border:1px solid #ffffff18;
    border-radius:0;
    z-index:2;
    filter:drop-shadow(0 18px 16px #0009);
}
.ako-prose {
    max-width:760px;
    color:#c7c3c0;
    white-space:normal;
    overflow-wrap:anywhere;
}
.ako-eyebrow {
    color:var(--ako-red);
    font-size:13px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:18px;
}
.ako-section {
    padding-block:100px;
    border-top:1px solid #ffffff0b;
}
.ako-section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:25px;
}
.ako-section-heading h2 {
    margin-bottom:0;
}
.ako-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 26px;
    min-height:48px;
    border:1px solid var(--ako-red);
    background:var(--ako-red);
    color:white;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:background .2s;
}
.ako-button:hover {
    background:#b92730;
    border-color:#b92730;
}
.ako-book {
    background:transparent;
}
.ako-show {
    display:grid;
    grid-template-columns:140px 1fr 1fr 28px;
    gap:28px;
    align-items:center;
    width:100%;
    border:0;
    border-top:1px solid var(--ako-border);
    background:transparent;
    color:inherit;
    padding:26px 8px;
    text-align:left;
    transition:background .2s;
}
.ako-show:last-of-type {
    border-bottom:1px solid var(--ako-border);
}
.ako-show:hover {
    background:#ffffff05;
}
.ako-show time {
    font-size:17px;
    font-variant-numeric:tabular-nums;
}
.ako-show-place {
    display:flex;
    flex-direction:column;
}
.ako-show-place strong {
    font-size:21px;
    font-weight:600;
}
.ako-show-place>span,.ako-show-title {
    color:var(--ako-muted);
    font-size:16px;
}
.ako-show>span:last-child {
    color:var(--ako-red);
    font-size:26px;
}
.ako-badge {
    display:block;
    color:#ff7980;
    font-size:13px;
    letter-spacing:.08em;
    margin-top:6px;
    text-transform:uppercase;
}
.ako-empty {
    padding:26px 0;
    color:var(--ako-muted);
}
.ako-archive {
    margin-top:40px;
}
.ako-archive>summary,.ako-calendar>summary {
    cursor:pointer;
    padding:12px 0;
    font-size:16px;
}
.ako-archive h3 {
    margin:36px 0 16px;
}
.ako-event-dialog {
    width:min(700px,calc(100% - 32px));
    max-height:88dvh;
    overflow-y:auto;
    border:1px solid #484848;
    background:#131313;
    color:var(--ako-text);
    padding:52px 40px 40px;
}
.ako-event-dialog::backdrop {
    background:#000b;
    backdrop-filter:blur(5px);
}
.ako-event-dialog h2 {
    font-size:clamp(2rem,4vw,3.2rem);
    padding-right:20px;
}
.ako-dialog-close {
    position:absolute;
    right:12px;
    top:8px;
    border:0;
    background:transparent;
    color:inherit;
    font-size:32px;
    width:44px;
    height:44px;
    line-height:1;
}
.ako-poster {
    display:block;
    max-height:450px;
    width:auto;
    margin:24px auto;
    object-fit:contain;
}
.ako-calendar {
    border-top:1px solid var(--ako-border);
    margin-top:28px;
}
.ako-calendar>div {
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    padding:12px 0;
}
.ako-calendar a {
    font-size:16px;
}
.ako-slides {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    gap:0;
}
.ako-slides::-webkit-scrollbar {
    display:none;
}
.ako-slide {
    flex:0 0 100%;
    margin:0;
    scroll-snap-align:start;
    background:#171717;
    aspect-ratio:16/10;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ako-slide img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.ako-carousel-controls {
    display:flex;
    gap:24px;
    align-items:center;
    justify-content:flex-end;
    margin-top:20px;
}
.ako-carousel-controls button {
    width:48px;
    height:44px;
    background:none;
    border:1px solid var(--ako-border);
    color:inherit;
    font-size:20px;
}
.ako-slide-count {
    font-size:14px;
    color:var(--ako-muted);
    font-variant-numeric:tabular-nums;
}
.ako-media-section {
    background:#000000;
}
.ako-embed {
    background:#181818;
    border:1px solid #333;
    position:relative;
    margin-bottom:24px;
}
.ako-embed iframe {
    display:block;
    width:100%;
    border:0;
}
.ako-embed-consent{min-height:180px;display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:stretch;padding:clamp(22px,4vw,40px);border:1px solid #454545;background:#111;color:#eee}
.ako-media-notice{text-align:center}.ako-media-notice p{max-width:680px;margin:0 auto 18px;color:#d3d3d3}.ako-media-slot{width:100%;min-height:180px}.ako-media-slot iframe{display:block;width:100%;min-height:180px;border:0}.ako-media-revoke{align-self:center;background:transparent;border:0;color:#c8c8c8;text-decoration:underline;cursor:pointer;padding:7px 10px;font:inherit}.ako-media-revoke:focus-visible{outline:2px solid #d84d49;outline-offset:3px}
.ako-direct-embed {
    height:352px;
}
.ako-video-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.ako-video-grid .ako-embed {
    margin:0;
}
.ako-video iframe {
    aspect-ratio:16/9;
    height:auto;
}
.ako-contact-only h2 {
    margin-bottom:40px;
}
.ako-contact-form label {
    font-size:14px;
    font-weight:bold;
    letter-spacing:.04em;
}
.ako-contact-form input,.ako-contact-form select,.ako-contact-form textarea,#loginform input[type=text],#loginform input[type=password] {
    display:block;
    width:100%;
    margin-top:8px;
    border:1px solid #484848;
    background:#141414;
    color:var(--ako-text);
    padding:12px 14px;
    border-radius:0;
    min-height:48px;
}
.ako-contact-form textarea {
    resize:vertical;
}
.ako-full {
    grid-column:1/-1;
}
.ako-fine {
    font-size:14px!important;
    color:var(--ako-muted);
    line-height:1.6;
}
.ako-notice {
    padding:18px;
    border-left:3px solid var(--ako-red);
    background:#191919;
}
.ako-footer {
    border-top:1px solid #333;
    padding:48px 0 28px;
    background:#070707;
}
.ako-footer-top,.ako-footer-bottom {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
}
.ako-footer-bottom {
    margin-top:40px;
    padding-top:22px;
    border-top:1px solid #222;
    color:var(--ako-muted);
    font-size:13px;
}
.ako-footer-bottom>div {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}
.ako-footer-bottom a {
    text-decoration:none;
}
.ako-text-button {
    border:0;
    padding:0;
    background:none;
    color:inherit;
    font-size:inherit;
    text-decoration:underline;
}
.ako-page {
    padding:calc(var(--ako-header) + 60px) 24px 100px;
    min-height:70vh;
}
.ako-page:has(.ako-home) {
    padding:0;
}
.ako-page:has(.ako-home)>.wp-block-post-content {
    max-width:none!important;
}
.ako-professional h1 {
    font-size:clamp(2.5rem,5vw,4rem);
}
.ako-professional h2 {
    font-size:1.8rem;
    margin-top:40px;
}
.ako-download {
    display:flex;
    gap:24px;
    justify-content:space-between;
    border-bottom:1px solid #333;
    padding:20px 0;
    text-decoration:none;
}
.ako-download>span:last-child {
    font-size:14px;
    color:var(--ako-muted);
}
#loginform {
    max-width:480px;
}
#loginform label {
    display:block;
}
#wp-submit {
    background:var(--ako-red);
    color:white;
    border:0;
    padding:12px 24px;
    cursor:pointer;
}
.ako-editor-note {
    padding:16px;
    border:1px dashed #75414a;
    color:#c8a5aa;
    font-size:14px;
    margin-block:20px;
}
.ako-forminator .forminator-label {
    color:var(--ako-text)!important;
}
.ako-forminator .forminator-input,.ako-forminator .forminator-textarea {
    background:#151515!important;
    color:var(--ako-text)!important;
    border:1px solid #555!important;
}
.ako-forminator .forminator-button-submit {
    background:var(--ako-red)!important;
    color:white!important;
}
@media(max-width:1000px) {
    #ako-navigation {
        gap:18px;
    }
    .ako-show {
        gap:16px;
        grid-template-columns:120px 1fr 1fr 20px;
    }
}
@media(max-width:800px) {
    :root {
        --ako-header:66px;
    }
    body {
        font-size:17px;
    }
    .ako-container,.ako-nav-wrap {
        width:calc(100% - 36px);
    }
    body.admin-bar .ako-header {
        top:46px;
    }
    .ako-menu-button {
        display:block;
        position:absolute;
        right:18px;
        border:0;
        background:transparent;
        color:inherit;
        min-height:44px;
        padding:8px;
        font-size:15px;
    }
    #ako-navigation {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#101010;
        border-bottom:1px solid #444;
        padding:20px 24px;
        max-height:calc(100dvh - 100px);
        overflow:auto;
    }
    #ako-navigation.is-open {
        display:flex;
        align-items:stretch;
        flex-direction:column;
        gap:8px;
    }
    #ako-navigation>a {
        padding:12px;
    }
    .ako-language {
        margin:10px 12px;
        gap:16px;
    }
    .ako-hero {
        padding-top:calc(var(--ako-header) + 32px);
        padding-bottom:38px;
    }
    .ako-logo {
        width:100%;
        margin-bottom:28px;
    }
    .ako-socials {
        gap:18px;
    }
    .ako-socials a {
        font-size:12px;
    }
    .ako-section {
        padding-block:64px;
    }
    .ako-band {
        padding:30px 0 64px;
    }
    .ako-about {
        border-radius:0;
        padding:34px 28px 40px;
    }
    .ako-band-visual {
        width:100%;
        min-height:0;
    }
    .ako-about {
        position:relative;
        right:auto;
        bottom:auto;
        width:calc(100% - 36px);
        margin:-40px auto 0;
        padding:28px 24px;
        z-index:1;
    }
    .ako-section-heading {
        align-items:flex-start;
        flex-direction:column;
        margin-bottom:30px;
    }
    .ako-section-heading .ako-button {
        font-size:12px;
    }
    .ako-show {
        grid-template-columns:92px 1fr 18px;
        gap:12px;
        padding:22px 0;
    }
    .ako-show time {
        font-size:14px;
        align-self:start;
        margin-top:4px;
    }
    .ako-show-place strong {
        font-size:19px;
    }
    .ako-show-place>span {
        font-size:14px;
    }
    .ako-show-title {
        grid-column:2;
        grid-row:2;
        font-size:14px;
    }
    .ako-show>span:last-child {
        grid-column:3;
        grid-row:1;
    }
    .ako-video-grid {
        grid-template-columns:1fr;
    }
    .ako-embed-placeholder {
        padding:24px;
        min-height:300px;
    }
    .ako-event-dialog {
        padding:48px 24px 28px;
        max-height:94dvh;
    }
    .ako-footer-top,.ako-footer-bottom {
        align-items:flex-start;
        flex-direction:column;
    }
    .ako-footer .ako-socials {
        justify-content:flex-start;
    }
    .ako-footer-bottom>div {
        gap:16px;
    }
    .ako-slide {
        aspect-ratio:4/3;
    }
    .ako-download {
        flex-direction:column;
        gap:6px;
    }
    .ako-page {
        padding-inline:18px;
    }
}
.ako-socials a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    line-height:1;
}
.ako-socials svg {
    display:block;
    width:24px;
    height:24px;
    flex:none;
}
.ako-socials {
    gap:18px;
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    * {
        transition:none!important;
        animation:none!important;
    }
}
.ako-carousel-dots {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    width:100%;
}
.ako-carousel-dots button {
    width:10px;
    height:10px;
    padding:0;
    border:1px solid #aaa;
    background:transparent;
    border-radius:50%;
}
.ako-carousel-dots button[aria-selected=true] {
    background:var(--ako-red);
    border-color:var(--ako-red);
    transform:scale(1.25);
}
.ako-home .ako-impressions-section,.ako-home .ako-media-section {
    background-color:#171717!important;
}

/* Photo and overlay share only the image bounds, independent of About text. */
.ako-band-image {
    position: relative;
    isolation: isolate;
    width: 68%;
    margin: 0;
    background: #000;
}
.ako-band-image .ako-band-photo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}
.ako-band-image .ako-band-frame {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    margin: 0;
    object-fit: fill;
    pointer-events: none;
}
.ako-band-visual > .ako-about {
    z-index: 2;
}

/* Contact uses the same .ako-container gutters as Live, Media and Impressions. */
.ako-home #kontakt .ako-contact-only,
.ako-home #kontakt .ako-contact-form,
.ako-home #kontakt .ako-forminator {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}
.ako-home #kontakt .ako-contact-form input[type="hidden"] {
    display: none !important;
}
.ako-home #kontakt .ako-contact-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "enquiry enquiry" "name email" "message message" "privacy privacy" "submit submit";
    gap: 24px;
    width: 100%;
    margin: 0;
}
.ako-home #kontakt .ako-contact-field,
.ako-home #kontakt .ako-contact-privacy,
.ako-home #kontakt .ako-contact-submit {
    min-width: 0;
    margin: 0;
}
.ako-contact-enquiry { grid-area: enquiry; }
.ako-contact-name { grid-area: name; }
.ako-contact-email { grid-area: email; }
.ako-contact-message { grid-area: message; }
.ako-contact-privacy { grid-area: privacy; }
.ako-contact-submit { grid-area: submit; }
.ako-home #kontakt .ako-contact-fields label {
    display: block;
    margin: 0;
}
.ako-home #kontakt .ako-contact-fields p {
    margin: 0;
}
.ako-home #kontakt .ako-contact-fields input,
.ako-home #kontakt .ako-contact-fields select,
.ako-home #kontakt .ako-contact-fields textarea,
.ako-home #kontakt .ako-forminator .forminator-input,
.ako-home #kontakt .ako-forminator .forminator-textarea,
.ako-home #kontakt .ako-forminator select {
    width: 100%;
    max-width: none;
    background-color: #151515 !important;
    color: #f1efeb !important;
    border: 1px solid #555 !important;
    color-scheme: dark;
}
.ako-home #kontakt .ako-contact-fields select,
.ako-home #kontakt .ako-forminator select {
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #f1efeb 50%), linear-gradient(135deg, #f1efeb 50%, transparent 50%) !important;
    background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
    background-size: 6px 6px !important;
    background-repeat: no-repeat !important;
    padding-right: 46px !important;
}
/* Keep optional Forminator forms within the section without changing field order. */
.ako-home #kontakt .ako-forminator .forminator-ui,
.ako-home #kontakt .ako-forminator .forminator-row {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 800px) {
    .ako-band-image {
        width: 100%;
    }
}
@media (max-width: 600px) {
    .ako-home #kontakt .ako-contact-fields {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "enquiry" "name" "email" "message" "privacy" "submit";
        gap: 20px;
    }
}

/* Normalize the four standard Forminator fields, including forms saved in separate rows. */
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "enquiry enquiry" "name email" "message message";
    gap: 24px;
}
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) > .forminator-row:not([hidden]):not(.forminator-hidden):not(.forminator-hidden-field) {
    display: contents !important;
}
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) .forminator-col {
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) .forminator-col:has([name="select-1"]) { grid-area: enquiry !important; }
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) .forminator-col:has([name="name-1"]) { grid-area: name !important; }
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) .forminator-col:has([name="email-1"]) { grid-area: email !important; }
.ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) .forminator-col:has([name="textarea-1"]) { grid-area: message !important; }
.ako-home #kontakt .ako-forminator .forminator-response-message {
    grid-column: 1 / -1;
}
.ako-home #kontakt .ako-forminator .select2-selection__arrow b {
    border-top-color: #f1efeb !important;
}
@media (max-width: 600px) {
    .ako-home #kontakt .ako-forminator form:has([name="select-1"]):has([name="name-1"]):has([name="email-1"]):has([name="textarea-1"]) {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "enquiry" "name" "email" "message";
        gap: 20px;
    }
}
