/*
Theme Name: HYDRA.
Description: Hydra.
Version: 1.1.0-dev
Text Domain: hydra
*/

/* Local-overhaul baseline: native theme assets, no builder runtime. */

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    color: #111;
    background: #fff;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.site-content {
    width: 100%;
}

.site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.hydra-header {
    position: relative;
    z-index: 20;
    background: #000;
    box-shadow: 0 6px 15px rgba(0, 0, 0, .22);
}

.hydra-header__inner,
.hydra-footer__inner,
.hydra-content {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.hydra-header__inner {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.hydra-brand,
.hydra-footer__brand {
    color: #fff;
    font-weight: 900;
    letter-spacing: -0.04em;
    text-decoration: none;
}

.hydra-brand__wordmark {
    font-size: clamp(1.9rem, 4vw, 2.55rem);
}

.hydra-brand__logo .custom-logo-link,
.hydra-brand__logo .custom-logo {
    display: block;
    max-height: 42px;
    width: auto;
}

.hydra-nav__list {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    list-style: none;
}

.hydra-nav__link,
.hydra-nav__list a {
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.hydra-nav__link:hover,
.hydra-nav__link:focus-visible,
.hydra-nav__list a:hover,
.hydra-nav__list a:focus-visible,
.hydra-footer__links a:hover,
.hydra-nav__list a:focus-visible {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.hydra-nav__list .current-menu-item > a,
.hydra-nav__list .current_page_item > a,
.hydra-nav__list a[aria-current="page"] {
    color: #16c75a;
}

.hydra-nav-toggle { display:none; }

.hydra-content {
    flex: 1;
    padding-block: clamp(52px, 8vw, 110px);
}

.hydra-entry {
    max-width: 820px;
    margin-inline: auto;
}

.hydra-entry__header {
    margin-bottom: 36px;
}

.hydra-entry__title {
    margin: 0;
    font-size: clamp(2.4rem, 7vw, 5.75rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.hydra-entry__meta {
    margin: 0 0 10px;
    color: #6b6b6b;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hydra-entry__content > * {
    max-width: 100%;
}

.hydra-entry__content a {
    color: inherit;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.hydra-page-pricing .hydra-entry {
    max-width: 1120px;
}

.hydra-page-pricing .hydra-entry__title {
    font-family: Inter, sans-serif;
    font-weight: 900;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    text-transform: uppercase;
}

.hydra-archive__header {
    margin-bottom: 48px;
}

.hydra-archive__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.hydra-card {
    padding: 28px;
    border: 1px solid #111;
    border-radius: 18px;
}

.hydra-card__title {
    margin: 0 0 14px;
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.hydra-card__title a {
    color: inherit;
    text-decoration: none;
}

.hydra-footer {
    margin-top: auto;
    background:#000;
    color:#fff;
}

.hydra-footer__inner {
    padding-block: 52px 28px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    align-items: start;
    gap: 42px 64px;
}

.hydra-footer__tagline,
.hydra-footer__legal {
    margin: 0;
    color: #aaa;
    font-size: 0.82rem;
}

.hydra-footer__brand { display:inline-block; margin-bottom:8px; font-size:2rem; }
.hydra-footer__group h2 { margin:0 0 14px; color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.hydra-footer__group ul { margin:0; padding:0; list-style:none; }
.hydra-footer__group li + li { margin-top:5px; }
.hydra-footer__group a,.hydra-footer__social a { color:#c7c7c7; font-size:.88rem; text-decoration:none; }
.hydra-footer__group a:hover,.hydra-footer__group a:focus-visible,.hydra-footer__social a:hover,.hydra-footer__social a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.hydra-footer__social { grid-column:1 / 3; display:flex; flex-wrap:wrap; gap:18px; }
.hydra-footer__legal { justify-self:end; align-self:end; }

@media (min-width: 901px) {
    body.admin-bar .hydra-header { top:0; }
}

.screen-reader-text {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    position: fixed;
    z-index: 100000;
    top: 12px;
    left: 12px;
    width: auto;
    height: auto;
    padding: 12px 16px;
    overflow: visible;
    background: #fff;
    color: #000;
    border: 2px solid #000;
}

@media (max-width: 900px) {
    .hydra-header__inner {
        min-height:72px;
        padding-block:12px;
        flex-wrap:wrap;
        gap:12px;
    }

    .hydra-nav-toggle { display:grid; width:44px; height:44px; padding:10px; border:1px solid #333; border-radius:8px; background:#111; place-content:center; gap:5px; }
    .hydra-nav-toggle span:not(.screen-reader-text) { display:block; width:21px; height:2px; background:#fff; }
    .hydra-nav {
        width: 100%;
        display:none;
        padding:8px 0 12px;
    }

    .hydra-nav.is-open { display:block; }

    .hydra-nav__list {
        width:100%;
        align-items:stretch;
        flex-direction:column;
        gap:0;
    }

    .hydra-nav__list a { display:block; padding:9px 0; }

    .hydra-archive__grid {
        grid-template-columns: 1fr;
    }

    .hydra-footer__inner {
        grid-template-columns: 1fr;
        gap:30px;
    }

    .hydra-footer__social,.hydra-footer__legal { grid-column:auto; justify-self:start; }
}
