@font-face {
    font-family: "Cinzel Brand";
    src: url("../fonts/cinzel-brand.woff2") format("woff2");
    font-weight: 500 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --ink: #17211d;
    --muted: #5d6d66;
    --line: #dfe7e2;
    --paper: #fbfcfa;
    --mist: #eef4f0;
    --green: #2f6f55;
    --green-dark: #204d3d;
    --gold: #b98b45;
    --white: #ffffff;
    --shadow: 0 24px 70px rgba(28, 45, 39, 0.16);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.55;
}

a {
    color: inherit;
}

.site-header,
.admin-header {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px clamp(18px, 5vw, 64px);
    color: var(--white);
    background: rgba(16, 25, 22, 0.42);
    backdrop-filter: blur(14px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    text-decoration: none;
}

.site-header .brand {
    gap: 15px;
}

.site-header .brand-logo {
    width: var(--site-logo-size, 70px);
    height: var(--site-logo-size, 70px);
    max-width: 76px;
    max-height: 76px;
    padding: 4px;
    border-color: rgba(202, 163, 93, 0.42);
    background: rgba(8, 14, 12, 0.72);
}

.brand-wordmark {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
}

.brand-wordmark strong {
    color: #d9b36b;
    background: linear-gradient(180deg, #f4dfaa 0%, #c89645 52%, #f0cf84 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Cinzel Brand", "Times New Roman", serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0;
    text-shadow: 0 1px 8px rgba(205, 158, 75, 0.18);
}

.brand-wordmark small {
    margin-top: 5px;
    color: #b8c7a8;
    font-family: "Cinzel Brand", "Times New Roman", serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.brand-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.16);
}

.nav {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 14px;
}

.nav a {
    text-decoration: none;
}

.nav-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nav-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: -24px;
    right: -24px;
    height: 18px;
}

.nav-submenu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    z-index: 50;
    display: none;
    width: 250px;
    padding: 10px;
    border: 1px solid rgba(185, 139, 69, 0.22);
    border-radius: 8px;
    background: rgba(16, 29, 23, 0.96);
    box-shadow: 0 22px 42px rgba(0, 0, 0, 0.22);
    transform: translateX(-50%);
}

.nav-submenu a {
    display: block;
    padding: 9px 10px;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    line-height: 1.25;
    white-space: normal;
}

.nav-submenu a:hover {
    color: var(--white);
    background: rgba(255, 255, 255, 0.08);
}

.nav-menu:hover .nav-submenu,
.nav-menu:focus-within .nav-submenu,
.nav-menu.is-submenu-open .nav-submenu {
    display: grid;
    gap: 2px;
}

.nav-call {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
}

.mobile-nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    color: var(--white);
    background: rgba(9, 17, 14, 0.46);
    cursor: pointer;
}

.mobile-nav-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-header.is-menu-open .mobile-nav-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-header.is-menu-open .mobile-nav-toggle span:nth-child(2) {
    opacity: 0;
}

.site-header.is-menu-open .mobile-nav-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    --hero-media-top: 116px;
    --hero-media-right: clamp(24px, 5vw, 78px);
    --hero-media-bottom: 30px;
    --hero-media-left: clamp(24px, 5vw, 78px);
    --hero-media-height: auto;
    --hero-button-inset: clamp(38px, 4vw, 68px);
    min-height: clamp(660px, calc(46.875vw + 104px), 1000px);
    display: grid;
    align-items: center;
    padding: 120px clamp(20px, 6vw, 80px) 84px;
    color: var(--white);
    background: #101915;
}

.hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 104px 0 0;
    background: var(--hero-image) center top / cover no-repeat;
    filter: saturate(0.9);
    opacity: 0.24;
    transition: background-image 0.45s ease;
}

.hero-media {
    position: absolute;
    z-index: 1;
    top: var(--hero-media-top);
    right: var(--hero-media-right);
    bottom: var(--hero-media-bottom);
    left: var(--hero-media-left);
    height: var(--hero-media-height);
    background: #101915 var(--hero-image) center top / contain no-repeat;
    transition: background-image 0.45s ease;
}

.hero::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    background: none;
}

.hero-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(13, 24, 20, 0.58), rgba(13, 24, 20, 0.28) 45%, rgba(13, 24, 20, 0.04));
}

.hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: none;
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--gold);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

h1,
h2,
h3,
p {
    overflow-wrap: anywhere;
}

h1 {
    margin: 0;
    max-width: 470px;
    font-size: clamp(38px, 4.8vw, 62px);
    line-height: 1.02;
    letter-spacing: 0;
}

h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.12;
    letter-spacing: 0;
}

h3 {
    margin: 0 0 10px;
    font-size: 20px;
}

.hero-copy {
    max-width: 620px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.hero-slider {
    position: relative;
    min-height: 238px;
    width: 100%;
}

.hero-slide {
    position: absolute;
    inset: 0 auto auto 0;
    width: min(34vw, 470px);
    max-width: 100%;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.45s ease, transform 0.45s ease;
    pointer-events: none;
}

.hero-slide-center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.hero-slide-right {
    margin-left: auto;
    text-align: right;
}

.hero-slide-center .hero-actions {
    justify-content: center;
}

.hero-slide-right .hero-actions {
    justify-content: flex-end;
}

.hero-actions-left {
    justify-content: flex-start;
}

.hero-actions-center {
    justify-content: center;
}

.hero-actions-right {
    justify-content: flex-end;
}

.hero-actions-bottom-left,
.hero-actions-bottom-right {
    position: absolute;
    z-index: 5;
    bottom: calc(var(--hero-media-bottom) + var(--hero-button-inset));
    width: auto;
    max-width: min(420px, calc(100vw - var(--hero-media-left) - var(--hero-media-right) - 32px));
    pointer-events: auto;
}

.hero-actions-bottom-left {
    left: calc(var(--hero-media-left) + var(--hero-button-inset));
    justify-content: flex-start;
}

.hero-actions-bottom-right {
    right: calc(var(--hero-media-right) + var(--hero-button-inset));
    justify-content: flex-end;
}

.hero-button-layer {
    position: absolute;
    z-index: 5;
    bottom: calc(var(--hero-media-bottom) + var(--hero-button-inset));
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: min(420px, calc(100vw - var(--hero-media-left) - var(--hero-media-right) - 32px));
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(9, 18, 15, 0.42);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.hero-button-layer.is-active {
    opacity: 1;
    pointer-events: auto;
}

.hero-button-layer-bottom-left {
    left: calc(var(--hero-media-left) + var(--hero-button-inset));
    justify-content: flex-start;
}

.hero-button-layer-bottom-right {
    right: calc(var(--hero-media-right) + var(--hero-button-inset));
    justify-content: flex-end;
}

.hero-slide.is-textless {
    min-height: 1px;
}

.hero-slide.is-active {
    position: relative;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.hero-dots {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 42px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    pointer-events: auto;
}

.hero-dots button {
    width: 11px;
    height: 11px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18);
    cursor: pointer;
}

.hero-dots button.is-active {
    background: var(--gold);
    border-color: var(--gold);
    transform: scale(1.18);
}

.hero-controls {
    position: absolute;
    z-index: 4;
    inset: 0;
    pointer-events: none;
}

.hero-arrow {
    position: absolute;
    top: 56%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 0 4px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 50%;
    color: var(--white);
    background: rgba(13, 24, 20, 0.54);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
}

.hero-arrow:hover {
    background: rgba(47, 111, 85, 0.88);
}

.hero-arrow-prev {
    left: clamp(18px, 3vw, 42px);
}

.hero-arrow-next {
    right: clamp(18px, 3vw, 42px);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 18px;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.button.primary {
    color: var(--white);
    background: var(--green);
}

.button.primary:hover {
    background: var(--green-dark);
}

.button.secondary {
    color: var(--white);
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.button.danger {
    color: var(--white);
    background: #a33b32;
}

.button.danger:hover {
    background: #842d27;
}

.notice {
    margin: -24px auto 40px;
    width: min(1040px, calc(100% - 32px));
    padding: 16px 18px;
    border-left: 4px solid var(--green);
    background: var(--white);
    box-shadow: var(--shadow);
}

.request-success {
    margin: 18px 0 0;
    width: 100%;
    color: var(--green);
    background: #eef8f1;
    border: 1px solid #b9dec4;
    border-left: 4px solid var(--green);
}

.section {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    padding: 78px 0;
}

.section-heading {
    max-width: 720px;
    margin-bottom: 28px;
}

.services .section-heading {
    max-width: 100%;
}

.packages .section-heading {
    max-width: 100%;
}

.services .section-heading h2,
.packages .section-heading h2 {
    max-width: 1120px;
    white-space: nowrap;
}

.seo-summary {
    width: min(1180px, calc(100% - 36px));
    padding: 42px 0 8px;
}

.seo-summary-content {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    grid-template-areas:
        "heading text"
        "keywords text";
    column-gap: clamp(18px, 4vw, 44px);
    row-gap: 18px;
    align-items: start;
    padding: 24px 28px;
    border: 1px solid rgba(47, 111, 85, 0.12);
    border-radius: 8px;
    background: #f7faf7;
    box-shadow: 0 14px 34px rgba(28, 45, 39, 0.06);
}

.seo-summary-heading {
    grid-area: heading;
}

.seo-summary h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.16;
}

.seo-keyword-tags {
    grid-area: keywords;
    align-self: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-content: space-between;
}

.seo-keyword-tags h3,
.seo-keyword-tags span {
    margin: 0;
    padding: 7px 10px;
    border: 1px solid rgba(185, 139, 69, 0.28);
    border-radius: 999px;
    color: #2f6f55;
    background: rgba(255, 250, 240, 0.76);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.seo-summary-text {
    grid-area: text;
    display: grid;
    gap: 10px;
}

.seo-summary p:not(.eyebrow) {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.68;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-service-links {
    margin-top: 26px;
    padding: 22px;
    border: 1px solid rgba(47, 111, 85, 0.12);
    border-radius: 8px;
    background: #f7faf7;
}

.home-service-links h3 {
    margin: 0 0 14px;
    color: var(--ink);
    font-size: 20px;
}

.package-carousel {
    position: relative;
}

.package-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(300px, calc((100% - 36px) / 3));
    gap: 18px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 2px 2px 18px;
}

.package-track::-webkit-scrollbar {
    display: none;
}

.service-grid article,
.package-card {
    min-height: 230px;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.package-card {
    scroll-snap-align: start;
}

.package-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 0 4px;
    border: 1px solid rgba(47, 111, 85, 0.18);
    border-radius: 50%;
    color: var(--white);
    background: rgba(47, 111, 85, 0.94);
    box-shadow: 0 16px 34px rgba(28, 45, 39, 0.2);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.package-arrow:hover {
    background: #1f5a42;
}

.package-arrow-prev {
    left: -14px;
}

.package-arrow-next {
    right: -14px;
}

.service-icon {
    display: inline-grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 24px;
    border: 1px solid rgba(185, 139, 69, 0.24);
    border-radius: 12px;
    color: #1b251f;
    background: linear-gradient(145deg, #fffaf0, #eef6ef);
    box-shadow: 0 14px 30px rgba(30, 48, 41, 0.1);
}

.service-icon svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: #111b17;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-icon .icon-fill {
    stroke: #111b17;
    stroke-width: 1.35;
}

.service-icon .icon-mint {
    fill: #39c79d;
}

.service-icon .icon-gold {
    fill: #f1c46c;
}

.service-icon .icon-paper {
    fill: #fff7e5;
}

.service-grid p,
.request-copy p,
.package-card li {
    color: var(--muted);
}

.price {
    margin: 8px 0 18px;
    color: var(--green);
    font-size: 28px;
    font-weight: 700;
}

.package-card ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.package-card li {
    position: relative;
    padding-left: 28px;
    line-height: 1.55;
}

.package-card li::before {
    content: "";
    position: absolute;
    top: 0.45em;
    left: 0;
    width: 16px;
    height: 10px;
    border-radius: 100% 0 100% 0;
    background: linear-gradient(135deg, #d9ad58 0%, #f3d48a 42%, #2f6f55 100%);
    box-shadow: 0 3px 8px rgba(47, 111, 85, 0.16);
    transform: rotate(-24deg);
}

.package-card li::after {
    content: "";
    position: absolute;
    top: calc(0.45em + 5px);
    left: 3px;
    width: 12px;
    height: 1px;
    border-radius: 999px;
    background: rgba(18, 32, 26, 0.42);
    transform: rotate(-24deg);
}

.package-card li + li {
    margin-top: 9px;
}

.request-band {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(24px, 5vw, 72px);
    align-items: start;
    width: 100%;
    max-width: none;
    padding: 86px clamp(20px, 6vw, 80px);
    overflow: hidden;
    background: linear-gradient(135deg, #eef4f0 0%, #f8fbf8 55%, #e9f1ec 100%);
}

.request-band::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(47, 111, 85, 0.08), rgba(47, 111, 85, 0)),
        radial-gradient(circle at 16% 22%, rgba(185, 139, 69, 0.12), transparent 28%);
    pointer-events: none;
}

.request-band > * {
    position: relative;
    z-index: 1;
}

.request-copy {
    display: grid;
    gap: 18px;
    max-width: 560px;
    padding-top: 10px;
}

.request-copy h2 {
    max-width: 500px;
}

.request-copy p {
    margin: 0;
}

.request-points {
    display: grid;
    gap: 10px;
    margin-top: 8px;
}

.request-points span {
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 9px 12px;
    border: 1px solid rgba(47, 111, 85, 0.16);
    border-radius: 8px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.54);
    font-size: 14px;
    font-weight: 700;
}

.request-points span::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--green);
    box-shadow: 0 0 0 4px rgba(47, 111, 85, 0.12);
}

.request-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 28px;
    border-radius: 8px;
    background: var(--white);
    border: 1px solid rgba(223, 231, 226, 0.95);
    box-shadow: 0 26px 70px rgba(28, 45, 39, 0.14);
}

.request-track-band {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1.18fr);
    gap: clamp(22px, 4vw, 56px);
    align-items: start;
    padding-top: 72px;
    padding-bottom: 72px;
    background: #f7faf8;
}

.request-track-band .section-heading {
    align-items: flex-start;
    text-align: left;
}

.request-track-band .section-heading p:last-child {
    max-width: 560px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.request-track-page {
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 520px;
    padding-top: 76px;
    background:
        linear-gradient(135deg, rgba(247, 250, 248, 0.92), rgba(238, 244, 240, 0.96)),
        radial-gradient(circle at 80% 18%, rgba(185, 139, 69, 0.16), transparent 32%);
}

.request-track-page .section-heading {
    width: 100%;
    max-width: 1180px;
}

.request-track-page .section-heading h1 {
    max-width: none;
    margin: 0;
    color: var(--ink);
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.04;
    letter-spacing: 0;
    white-space: nowrap;
}

.request-track-page .section-heading p:last-child {
    max-width: 720px;
}

.request-track-page .request-track-form,
.request-track-page .request-track-result {
    width: 100%;
    max-width: 980px;
    grid-column: 1;
}

.request-track-page .request-track-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 150px;
}

.request-track-form [data-request-track-submit] {
    border-color: #2f6f55;
    color: #ffffff;
    background: #2f6f55;
}

.request-track-form [data-request-track-submit]:hover {
    background: #224f3d;
}

.request-track-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 22px;
    border: 1px solid rgba(223, 231, 226, 0.95);
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 22px 55px rgba(28, 45, 39, 0.12);
}

.request-track-form label {
    display: grid;
    gap: 8px;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
}

.request-track-message {
    grid-column: 1 / -1;
    min-height: 22px;
    margin: 0;
    color: #b04a39;
    font-weight: 700;
}

.request-track-result {
    grid-column: 2;
}

.request-track-card {
    overflow: hidden;
    border: 1px solid rgba(47, 111, 85, 0.14);
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 18px 45px rgba(28, 45, 39, 0.1);
}

.request-track-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
    color: #fff;
    background: linear-gradient(135deg, #143424, #2f6f55);
}

.request-track-card-head span {
    color: var(--gold);
    font-weight: 900;
}

.request-track-card dl {
    margin: 0;
    padding: 8px 20px 18px;
}

.request-track-card dl div {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(47, 111, 85, 0.1);
}

.request-track-card dl div:last-child {
    border-bottom: 0;
}

.request-track-card dt {
    color: var(--muted);
    font-weight: 800;
}

.request-track-card dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.request-success-code {
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--ink);
    background: #f4ead0;
}

.request-step {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
}

.request-step summary {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 15px 16px;
    cursor: pointer;
    list-style: none;
    background: linear-gradient(135deg, #f7faf8, #eef4f0);
}

.request-step summary::-webkit-details-marker {
    display: none;
}

.request-step summary::after {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(47, 111, 85, 0.18);
    border-radius: 999px;
    color: var(--green);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    background: var(--white);
}

.request-step[open] summary::after {
    content: "-";
}

.request-step summary span {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    color: var(--white);
    background: var(--green);
    font-size: 14px;
    font-weight: 800;
}

.request-step summary strong {
    color: var(--ink);
    font-size: 16px;
}

.request-step summary small {
    grid-column: 2;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.request-step-body {
    padding: 18px;
}

.request-contact-grid,
.request-package-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.request-contact-grid label:last-child,
.request-package-grid label:last-child {
    grid-column: 1 / -1;
}

.mevta-search {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(47, 111, 85, 0.14);
    border-radius: 8px;
    background: linear-gradient(135deg, #eef4f0, #f8fbf8);
}

.mevta-search h3 {
    margin: 2px 0 0;
    color: var(--ink);
    font-size: 18px;
}

.mevta-search-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.mevta-results {
    display: grid;
    gap: 10px;
    max-width: 100%;
    overflow: hidden;
}

.mevta-results p {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
}

.mevta-result-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.mevta-result-item div {
    display: grid;
    gap: 4px;
}

.mevta-result-item strong {
    color: var(--ink);
}

.mevta-result-item span,
.mevta-result-item small {
    color: var(--muted);
    line-height: 1.35;
}

.mevta-result-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.mevta-result-table th,
.mevta-result-table td {
    padding: 9px 8px;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: 12px;
    text-align: left;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.mevta-result-table th {
    color: var(--muted);
    background: #eef3f0;
    font-weight: 800;
}

.mevta-result-table tr:last-child td {
    border-bottom: 0;
}

.mevta-result-table .button {
    width: 100%;
    min-height: 34px;
    padding: 7px 8px;
    font-size: 12px;
    white-space: normal;
}

.mevta-result-table .button.secondary {
    color: var(--green);
    background: var(--white);
    border: 1px solid var(--green);
}

.mevta-result-table .button.primary {
    color: var(--white);
    background: var(--green);
}

.mevta-result-card {
    display: grid;
    gap: 12px;
    max-width: 100%;
    padding: 16px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--green);
    border-radius: 8px;
    background: var(--white);
}

.mevta-result-heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.mevta-result-heading h4 {
    margin: 0;
    color: var(--ink);
    font-size: 17px;
    line-height: 1.35;
}

.mevta-result-heading span,
.mevta-result-family,
.mevta-result-location span {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.mevta-result-heading span {
    flex: 0 0 auto;
    font-weight: 700;
}

.mevta-result-location {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.mevta-result-location strong {
    color: var(--ink);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.mevta-result-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.mevta-result-actions .button {
    min-height: 36px;
    padding: 8px 10px;
}

.mevta-result-actions .button.secondary,
.detail-modal .button.secondary {
    color: var(--green);
    background: var(--white);
    border: 1px solid var(--green);
}

.detail-modal[hidden] {
    display: none;
}

.detail-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(13, 24, 20, 0.72);
}

.detail-modal-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(1100px, 100%);
    height: min(760px, 92vh);
    overflow: hidden;
    border-radius: 8px;
    background: var(--white);
    box-shadow: var(--shadow);
}

.detail-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid var(--line);
}

.detail-modal iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.request-result-modal[hidden] {
    display: none;
}

.request-result-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(13, 24, 20, 0.74);
}

.request-result-panel {
    display: grid;
    gap: 16px;
    width: min(430px, 100%);
    padding: 28px;
    border-radius: 8px;
    text-align: center;
    background: var(--white);
    box-shadow: var(--shadow);
}

.request-result-panel h2 {
    font-size: 28px;
}

.request-result-panel p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.selected-grave {
    display: grid;
    gap: 10px;
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7faf8;
}

.selected-grave-summary {
    color: var(--ink);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.45;
}

.selected-grave-note {
    margin: 0;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.45;
}

label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 12px 13px;
    color: var(--ink);
    background: var(--white);
    font: inherit;
}

textarea {
    resize: vertical;
}

.full {
    grid-column: 1 / -1;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 14px;
    padding: 24px clamp(18px, 5vw, 64px);
    color: var(--white);
    background: var(--ink);
}

.footer a {
    text-decoration: none;
}

.page-header {
    position: sticky;
    color: var(--white);
    background: rgba(16, 25, 22, 0.88);
    border-bottom: 1px solid rgba(185, 139, 69, 0.18);
}

.page-header .brand-logo {
    background: #101714;
    border: 1px solid rgba(185, 139, 69, 0.42);
}

.page-header .brand-wordmark small {
    color: #b8c7a8;
}

.page-header .nav-call {
    border-color: rgba(255, 255, 255, 0.34);
}

.about-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    align-items: end;
    min-height: 520px;
    padding: 150px clamp(20px, 6vw, 80px) 72px;
    color: var(--white);
    background: #111b17;
}

.about-hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -24px;
    background: var(--about-image) center / cover no-repeat;
    filter: blur(18px) saturate(0.86);
    opacity: 0.5;
    transform: scale(1.04);
}

.about-hero::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(13, 24, 20, 0.86), rgba(13, 24, 20, 0.52) 52%, rgba(13, 24, 20, 0.18));
}

.about-hero-media {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--about-image) center / cover no-repeat;
}

.about-hero-inner {
    position: relative;
    z-index: 3;
    max-width: 980px;
}

.about-hero h1 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(38px, 4.4vw, 58px);
}

.about-hero .eyebrow {
    margin: 0 0 14px;
    color: var(--gold);
}

.about-lead {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.7;
}

.about-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: clamp(28px, 5vw, 70px);
    align-items: start;
}

.about-text {
    display: grid;
    gap: 18px;
}

.about-text h2,
.about-band h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(26px, 2.65vw, 34px);
    line-height: 1.18;
}

.about-copy {
    display: grid;
    gap: 16px;
    max-width: 820px;
}

.about-copy p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.8;
}

.about-list {
    display: grid;
    gap: 14px;
}

.about-list article {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.about-list h3 {
    white-space: nowrap;
    font-size: clamp(17px, 1.55vw, 20px);
    line-height: 1.2;
}

.about-icon {
    display: inline-grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 18px;
    border: 1px solid rgba(185, 139, 69, 0.24);
    border-radius: 12px;
    color: #1b251f;
    background: linear-gradient(145deg, #fffaf0, #eef6ef);
    box-shadow: 0 14px 30px rgba(30, 48, 41, 0.1);
}

.about-icon svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: #111b17;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-icon .icon-fill {
    stroke: #111b17;
    stroke-width: 1.35;
}

.about-icon .icon-mint {
    fill: #39c79d;
}

.about-icon .icon-gold {
    fill: #f1c46c;
}

.about-icon .icon-paper {
    fill: #fff7e5;
}

.about-list p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.about-band {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 58px clamp(20px, 6vw, 80px);
    color: var(--white);
    background: #111b17;
}

.about-band::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--about-band-image) center / cover no-repeat;
    filter: saturate(0.92);
}

.about-band::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(12, 22, 18, 0.9), rgba(12, 22, 18, 0.62) 58%, rgba(12, 22, 18, 0.3));
}

.about-band > * {
    position: relative;
    z-index: 2;
}

.about-band div {
    max-width: 900px;
}

.about-band .eyebrow {
    color: var(--gold);
}

.about-band p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.75;
}

.about-directory {
    padding: 34px clamp(20px, 5vw, 64px);
    color: var(--white);
    background: #21342c;
}

.directory-inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.35fr) minmax(0, 0.9fr);
    align-items: start;
    gap: 0;
    width: min(1120px, 100%);
    margin: 0 auto;
}

.directory-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    padding: 0 clamp(18px, 3vw, 42px);
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.directory-column:first-child {
    padding-left: 0;
    border-left: 0;
}

.about-directory h3 {
    margin-bottom: 6px;
    font-size: 17px;
}

.about-directory a,
.about-directory span {
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
    text-decoration: none;
}

.about-directory a:hover {
    color: var(--white);
}

.about-directory .directory-cta {
    margin-top: 10px;
    padding-bottom: 3px;
    color: var(--gold);
    border-bottom: 1px solid currentColor;
    font-weight: 700;
}

.service-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 430px;
    padding: 150px min(7vw, 100px) 80px;
    color: var(--white);
    background:
        linear-gradient(90deg, rgba(16, 29, 23, 0.94), rgba(16, 29, 23, 0.68)),
        url("../img/slides/slide-a92de148575c.png") center / cover no-repeat;
}

.service-hero > div {
    max-width: 820px;
}

.service-hero h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.05;
}

.service-hero p:not(.eyebrow) {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.72;
}

.service-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.service-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(26px, 5vw, 70px);
    align-items: start;
}

.service-detail-copy {
    display: grid;
    gap: 16px;
}

.service-detail-copy h2,
.service-links h2 {
    max-width: none;
}

.service-links {
    padding-top: clamp(36px, 6vw, 72px);
}

.service-links .section-heading {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.service-links .section-heading p:not(.eyebrow) {
    max-width: 650px;
    margin: 12px auto 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

.service-detail-copy p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.82;
}

.service-detail-card {
    position: sticky;
    top: 110px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f7faf7;
    box-shadow: 0 14px 34px rgba(28, 45, 39, 0.06);
}

.service-detail-card h2 {
    margin: 0 0 16px;
    font-size: 22px;
}

.service-detail-card ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.service-detail-card li {
    position: relative;
    padding-left: 20px;
    color: var(--muted);
    line-height: 1.55;
}

.service-detail-card li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--gold);
}

.service-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.service-link-grid a {
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: var(--white);
    text-decoration: none;
    font-weight: 700;
}

.service-link-grid a:hover {
    color: var(--green);
    border-color: rgba(47, 111, 85, 0.36);
}

.service-related-carousel {
    position: relative;
    margin-top: 24px;
    padding: 0 54px;
}

.service-related-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 6px 2px 14px;
    scrollbar-width: none;
}

.service-related-track::-webkit-scrollbar {
    display: none;
}

.service-related-card {
    position: relative;
    display: grid;
    flex: 0 0 clamp(215px, 27vw, 300px);
    min-height: 116px;
    align-content: center;
    gap: 7px;
    overflow: hidden;
    padding: 17px 18px 16px;
    border: 1px solid rgba(185, 139, 69, 0.24);
    border-radius: 8px;
    color: var(--ink);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 247, 0.96));
    box-shadow: 0 10px 24px rgba(28, 45, 39, 0.07);
    scroll-snap-align: start;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.service-related-card::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 14px;
    width: 42px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold));
}

.service-related-card span {
    color: var(--gold);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.service-related-card strong {
    color: var(--ink);
    font-size: 17px;
    line-height: 1.25;
}

.service-related-card em {
    color: var(--green);
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.service-related-card:hover {
    color: var(--ink);
    border-color: rgba(47, 111, 85, 0.42);
    box-shadow: 0 16px 32px rgba(28, 45, 39, 0.11);
    transform: translateY(-2px);
}

.service-related-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(185, 139, 69, 0.32);
    border-radius: 999px;
    color: var(--gold);
    background: #0c1411;
    box-shadow: 0 12px 26px rgba(28, 45, 39, 0.16);
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    transform: translateY(-50%);
}

.service-related-arrow:hover {
    border-color: rgba(185, 139, 69, 0.65);
    color: #fff;
}

.service-related-arrow-prev {
    left: 0;
}

.service-related-arrow-next {
    right: 0;
}

.site-footer {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 22px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.footer-brand img {
    width: var(--footer-logo-size, 44px);
    height: var(--footer-logo-size, 44px);
    max-width: 56px;
    max-height: 56px;
    padding: 3px;
    border: 1px solid rgba(185, 139, 69, 0.38);
    border-radius: 8px;
    object-fit: contain;
    background: #0c1411;
}

.footer-wordmark strong {
    font-size: 18px;
}

.footer-wordmark small {
    font-size: 9px;
}

.footer-phone,
.footer-email,
.footer-brand-social {
    min-width: 0;
}

.footer-services {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 12px;
    width: 100%;
    margin-top: 4px;
    padding: 13px 0 0;
    border-top: 1px solid rgba(47, 111, 85, 0.1);
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.footer-services strong {
    color: var(--ink);
    margin-right: 2px;
}

.footer-services a {
    color: var(--muted);
    text-decoration: none;
}

.footer-services a:hover {
    color: var(--green);
}

.footer-phone {
    justify-self: end;
}

.footer-email {
    justify-self: center;
    text-align: center;
}

.footer-brand-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px 16px;
}

.footer-phone a,
.footer-email a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
}

.footer-counter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    text-shadow: 0 1px 2px rgba(12, 20, 17, 0.3);
}

.footer-counter span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.footer-counter span + span::before {
    content: "";
    width: 1px;
    height: 10px;
    margin: 0 8px;
    background: rgba(185, 139, 69, 0.36);
}

.footer-counter strong {
    color: var(--gold);
    font-size: 12px;
}

.footer-phone-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(185, 139, 69, 0.38);
    border-radius: 999px;
    color: var(--gold);
    background: rgba(12, 20, 17, 0.62);
}

.footer-phone-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.directory-apk-download {
    display: inline-flex;
    width: min(100%, 285px);
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(185, 139, 69, 0.34);
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.9);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(239, 212, 154, 0.13));
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
    text-align: left;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.directory-apk-download:hover {
    border-color: rgba(185, 139, 69, 0.62);
    color: #fff;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.directory-apk-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #0c1411;
    box-shadow: inset 0 0 0 1px rgba(239, 212, 154, 0.28);
}

.directory-apk-icon img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.directory-apk-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.directory-apk-copy strong {
    color: #efd49a;
    font-size: 14px;
    line-height: 1.15;
}

.directory-apk-copy small {
    color: rgba(255, 255, 255, 0.68);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.footer-social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-email .footer-social {
    justify-content: center;
    margin-top: 10px;
}

.footer-social a {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(185, 139, 69, 0.38);
    border-radius: 999px;
    color: #efd49a;
    background: linear-gradient(145deg, rgba(15, 25, 21, 0.92), rgba(31, 49, 41, 0.74));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 22px rgba(0, 0, 0, 0.18);
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-social .social-fill {
    fill: currentColor;
    stroke: none;
}

.footer-social .social-dot {
    fill: currentColor;
    stroke: none;
}

.footer-social a:hover,
.footer-phone a:hover,
.footer-email a:hover {
    color: var(--gold);
}

.footer-social a:hover {
    border-color: rgba(239, 212, 154, 0.72);
    transform: translateY(-2px);
}

.directory-regions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 18px;
    width: 100%;
}

.directory-regions span {
    min-width: 0;
}

.admin-page {
    background: var(--mist);
}

.admin-login-page {
    position: relative;
    min-height: 100vh;
    display: grid;
    place-items: center start;
    padding: 28px 6vw;
    overflow: hidden;
    background: url("../img/admin-login-cemetery-worker-v2.png") center / cover no-repeat;
}

.admin-login-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(circle at 22% 50%, rgba(47, 111, 85, 0.2), transparent 34%);
}

.admin-login-page::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(8, 17, 14, 0.78), rgba(8, 17, 14, 0.42) 42%, rgba(8, 17, 14, 0.08) 72%), linear-gradient(to bottom, rgba(13, 24, 20, 0.04), rgba(13, 24, 20, 0.48));
}

.login-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 22px;
    width: min(460px, 100%);
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 28px 90px rgba(4, 12, 9, 0.36);
    backdrop-filter: blur(16px);
}

.login-brand {
    color: var(--ink);
}

.login-panel h1 {
    font-size: 36px;
}

.login-credit {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.login-form {
    display: grid;
    gap: 14px;
}

.login-link {
    color: var(--green);
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

.admin-page .admin-header {
    position: sticky;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.88);
}

.admin-page .brand-mark {
    border-color: var(--line);
    background: var(--mist);
}

.admin-page .brand-logo {
    background: var(--white);
    border: 1px solid var(--line);
}

.admin-main {
    width: min(1480px, calc(100% - 32px));
    margin: 40px auto;
}

.admin-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.admin-title h1 {
    font-size: clamp(30px, 4vw, 46px);
}

.admin-site-link {
    color: var(--ink);
    border-color: var(--line);
    background: var(--white);
}

.admin-notice {
    width: 100%;
    margin: 0 0 18px;
}

.admin-shell {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.admin-content {
    min-width: 0;
}

.admin-menu {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 0;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 14px 40px rgba(28, 45, 39, 0.1);
}

.admin-menu-title {
    padding: 16px;
    color: var(--white);
    background: var(--ink);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.admin-menu a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 12px 14px;
    border-top: 1px solid var(--line);
    border-left: 4px solid transparent;
    border-radius: 0;
    color: var(--ink);
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-menu a:hover,
.admin-menu a.is-active {
    border-left-color: var(--green);
    background: var(--mist);
}

.menu-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    color: var(--white);
    background: var(--green);
    font-size: 13px;
}

.menu-text {
    min-width: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-menu strong {
    white-space: nowrap;
    color: var(--green);
    font-size: 12px;
}

.admin-submenu {
    display: grid;
    padding: 8px 0 8px 18px;
    border-top: 1px solid var(--line);
    background: var(--paper);
}

.admin-menu .admin-submenu a {
    grid-template-columns: 1fr;
    min-height: 42px;
    padding: 9px 14px 9px 18px;
    border-top: 0;
    border-left-width: 3px;
    color: var(--muted);
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-menu .admin-submenu a span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-menu .admin-submenu a.is-active,
.admin-menu .admin-submenu a:hover {
    color: var(--ink);
    background: var(--white);
}

.admin-menu-logout {
    margin-top: 8px;
    background: #fff7f4;
}

.payment-panel,
.menu-order-form {
    display: grid;
    gap: 16px;
}

.payment-add-form {
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.payment-account-grid {
    display: grid;
    gap: 12px;
}

.payment-account-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.payment-account-card.is-default {
    border-color: rgba(47, 123, 93, 0.55);
    box-shadow: 0 10px 28px rgba(47, 123, 93, 0.12);
}

.payment-account-card.is-empty {
    grid-template-columns: 1fr;
    color: var(--muted);
    background: var(--paper);
}

.payment-account-card h3 {
    margin: 8px 0 4px;
    font-size: 18px;
}

.payment-account-card p {
    margin: 0 0 8px;
    color: var(--muted);
}

.payment-account-card strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--ink);
}

.payment-account-badge {
    display: inline-flex;
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--green);
    background: var(--mist);
    font-size: 12px;
    font-weight: 800;
}

.payment-account-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.menu-order-list {
    display: grid;
    gap: 10px;
}

.menu-order-item {
    display: grid;
    grid-template-columns: 26px 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    cursor: grab;
}

.menu-order-item.is-dragging {
    opacity: 0.55;
}

.menu-order-handle {
    color: var(--muted);
    font-weight: 900;
    letter-spacing: 0;
}

.menu-order-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-order-item small {
    color: var(--green);
    font-weight: 800;
    white-space: nowrap;
}

.admin-error {
    border-left-color: #a33b32;
}

.admin-settings {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 24px;
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.admin-settings h2 {
    font-size: 26px;
}

.admin-settings p {
    color: var(--muted);
}

.pricing-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

.pricing-settings-panel,
.pricing-card {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.pricing-settings-panel {
    display: grid;
    gap: 16px;
    order: 2;
}

.pricing-request-list {
    order: 1;
}

.pricing-settings-panel h2,
.pricing-list-heading h2 {
    font-size: 26px;
}

.pricing-settings-panel p,
.pricing-card p,
.compact-pricing-form p {
    margin: 0;
    color: var(--muted);
}

.pricing-form,
.pricing-quote-form,
.pricing-request-list {
    display: grid;
    gap: 12px;
}

.pricing-form {
    grid-template-columns: 1fr;
}

.seo-settings {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.seo-hero-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(47, 111, 85, 0.14);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(47, 111, 85, 0.08), rgba(198, 150, 58, 0.08)),
        var(--paper);
}

.seo-health-ring {
    width: 110px;
    height: 110px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 10px solid rgba(47, 111, 85, 0.18);
    background: var(--white);
    box-shadow: 0 14px 28px rgba(28, 45, 39, 0.08);
    text-align: center;
}

.seo-health-ring strong {
    display: block;
    color: var(--green);
    font-size: 32px;
    line-height: 1;
}

.seo-health-ring span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.seo-command-center {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.seo-kpi-card {
    display: grid;
    gap: 6px;
    min-height: 116px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.seo-kpi-card span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.seo-kpi-card strong {
    color: var(--ink);
    font-size: 34px;
    line-height: 1;
}

.seo-kpi-card small {
    color: var(--muted);
    line-height: 1.45;
}

.seo-kpi-card.good {
    border-color: rgba(47, 111, 85, 0.26);
    background: rgba(47, 111, 85, 0.06);
}

.seo-kpi-card.warn {
    border-color: rgba(198, 150, 58, 0.32);
    background: rgba(198, 150, 58, 0.08);
}

.seo-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-self: start;
}

.seo-form {
    gap: 12px;
    min-width: 0;
}

.seo-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.seo-card-title,
.seo-page-card summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.seo-card-title span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    color: var(--green);
    background: var(--mist);
    font-size: 12px;
    font-weight: 700;
}

.seo-card-title p,
.seo-section-title p {
    margin: 5px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

.seo-card h3 {
    margin: 0;
}

.seo-section-title {
    padding: 4px 2px 0;
}

.seo-section-title h3 {
    margin: 0;
    font-size: 20px;
}

.seo-page-card summary {
    cursor: pointer;
    list-style: none;
}

.seo-page-card summary::-webkit-details-marker {
    display: none;
}

.seo-page-card summary::after {
    content: "+";
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--green);
    background: var(--white);
    font-size: 18px;
    font-weight: 700;
}

.seo-page-card[open] summary::after {
    content: "-";
}

.seo-summary-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.seo-summary-main small,
.seo-summary-meta {
    color: var(--muted);
    font-size: 13px;
}

.seo-summary-main strong,
.seo-summary-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seo-summary-meta {
    flex: 0 0 auto;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seo-page-score {
    flex: 0 0 auto;
    min-width: 58px;
    padding: 6px 10px;
    border-radius: 999px;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
}

.seo-page-score.good,
.seo-checklist .good {
    color: #1f6b4d;
    background: rgba(47, 111, 85, 0.12);
}

.seo-page-score.warn,
.seo-checklist .warn {
    color: #8a5a05;
    background: rgba(198, 150, 58, 0.16);
}

.seo-page-score.bad,
.seo-checklist .bad {
    color: #8f2c21;
    background: rgba(173, 66, 49, 0.12);
}

.seo-page-insights {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
    gap: 12px;
    align-items: stretch;
}

.seo-google-preview {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(47, 111, 85, 0.14);
    border-radius: 8px;
    background: var(--white);
}

.seo-google-preview span {
    overflow: hidden;
    color: #198754;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seo-google-preview strong {
    overflow: hidden;
    color: #1a0dab;
    font-size: 18px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seo-google-preview p {
    margin: 0;
    color: #4d5156;
    line-height: 1.45;
}

.seo-checklist {
    display: grid;
    gap: 8px;
    align-content: start;
}

.seo-checklist span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
}

.seo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.seo-grid .full {
    grid-column: 1 / -1;
}

.seo-field-help {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.seo-save-bar {
    position: sticky;
    z-index: 3;
    bottom: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(47, 111, 85, 0.22);
    border-radius: 8px;
    background: rgba(251, 252, 250, 0.94);
    box-shadow: 0 16px 38px rgba(28, 45, 39, 0.14);
    backdrop-filter: blur(10px);
}

.seo-save-bar span {
    color: var(--muted);
    font-size: 13px;
}

.seo-save-bar .button {
    width: auto;
}

.service-admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.service-pages-settings {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.service-admin-list,
.service-edit-panel {
    background: #fff;
    border: 1px solid rgba(14, 31, 24, 0.1);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(10, 31, 23, 0.08);
    padding: 18px;
}

.service-admin-list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(220px, 280px);
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.service-page-form {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.service-admin-list .seo-card-title {
    grid-column: 1 / -1;
    min-width: 100%;
}

.service-admin-tab {
    display: grid;
    gap: 5px;
    min-height: 104px;
    padding: 12px;
    border: 1px solid rgba(17, 43, 32, 0.1);
    border-radius: 14px;
    background: #f8faf7;
    color: inherit;
    text-decoration: none;
}

.service-admin-tab.is-active {
    border-color: rgba(190, 143, 54, 0.65);
    box-shadow: inset 4px 0 0 #c2923b;
    background: #fffaf0;
}

.service-admin-tab span {
    display: inline-flex;
    width: fit-content;
    color: #a97725;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.service-admin-tab strong {
    display: block;
    color: #10261d;
    font-size: 1rem;
    line-height: 1.25;
}

.service-admin-tab small {
    display: block;
    color: #6d796f;
    margin-top: 6px;
    overflow-wrap: anywhere;
}

.service-selected-actions,
.service-danger-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
}

.service-danger-actions {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(17, 43, 32, 0.08);
}

.service-selected-actions .button,
.service-selected-actions .status-pill,
.service-danger-actions .button {
    min-height: 32px;
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 12px;
}

.service-danger-actions form,
.service-page-form {
    margin: 0;
}

.service-edit-panel {
    align-self: start;
}

.service-edit-panel summary {
    padding: 0 0 14px;
    border-bottom: 1px solid rgba(14, 31, 24, 0.08);
    margin-bottom: 14px;
}

.service-edit-panel:not([open]) {
    padding-bottom: 4px;
}

.service-edit-panel:not([open]) summary {
    border-bottom: 0;
    margin-bottom: 0;
}

.center-manager {
    display: grid;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.center-manager h3 {
    margin: 0;
    font-size: 18px;
}

.work-manager,
.work-manager-list {
    display: grid;
    gap: 12px;
}

.work-manager h2 {
    margin-bottom: 6px;
}

.work-add-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--mist);
}

.work-manager-item {
    display: grid;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.work-manager-summary,
.work-manager-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.work-manager-summary {
    justify-content: space-between;
}

.work-import-form,
.work-bulk-delete-form,
.work-order-form {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fbf8;
}

.work-bulk-delete-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.work-select-all,
.work-select-one,
.work-manager-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.work-manager-title {
    min-width: 0;
}

.work-manager-title strong {
    overflow-wrap: anywhere;
}

.work-select-all,
.work-select-one {
    color: var(--ink);
    font-weight: 800;
}

.work-select-one span {
    font-size: 13px;
    color: var(--muted);
}

.work-import-form p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.work-import-head {
    display: grid;
    gap: 4px;
}

.work-import-head strong {
    color: var(--ink);
    font-size: 16px;
}

.work-import-head span {
    color: var(--muted);
    font-size: 13px;
}

.work-import-file {
    display: grid;
    gap: 8px;
    color: var(--ink);
    font-weight: 700;
}

.work-import-file input[type="file"] {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    color: var(--ink);
}

.work-import-submit {
    justify-self: start;
    min-width: 190px;
}

.work-drag-handle {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(47, 111, 85, 0.18);
    border-radius: 8px;
    color: var(--green);
    background: #edf7f1;
    cursor: grab;
    font-weight: 800;
    letter-spacing: 0;
}

.work-manager-item.is-dragging {
    opacity: 0.55;
}

.work-manager-item.is-drop-target {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(47, 111, 85, 0.12);
}

.work-manager-summary strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.work-manager-actions {
    flex: 0 0 auto;
}

.work-manager-actions .button.secondary {
    color: var(--green);
    background: var(--white);
    border: 1px solid var(--green);
}

.work-manager-actions .button.secondary:hover {
    color: var(--white);
    background: var(--green);
}

.work-update-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: end;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.work-update-form[hidden] {
    display: none;
}

.work-delete-form {
    margin: 0;
}

.work-choice-panel {
    min-width: 0;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.work-choice-panel legend {
    padding: 0 6px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 800;
}

.work-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.work-choice {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--ink);
    background: var(--white);
    cursor: pointer;
}

.work-choice input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--green);
}

.work-choice span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.selected-package {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border-left: 4px solid var(--green);
    border-radius: 6px;
    color: var(--ink);
    background: #edf7f1;
}

.selected-package span {
    font-size: 13px;
    font-weight: 700;
}

.selected-package strong {
    text-align: right;
}

.package-manager,
.package-manager-list {
    display: grid;
    gap: 18px;
}

.package-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.package-manager-item {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.package-manager-item > form:last-child {
    justify-self: end;
    margin: 0;
}

.security-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: 18px;
}

.security-panel {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.maintenance-toggle {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(47, 111, 85, 0.18);
    border-radius: 8px;
    background: #f4faf6;
}

.maintenance-toggle input {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-top: 2px;
    accent-color: var(--green);
}

.maintenance-toggle span {
    display: grid;
    gap: 4px;
}

.maintenance-toggle strong {
    color: var(--ink);
}

.maintenance-toggle small,
.security-checklist p {
    color: var(--muted);
    line-height: 1.55;
}

.security-checklist h3 {
    margin: 0;
}

.security-checklist ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 18px;
    color: var(--ink);
}

.center-check-intro {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-left: 4px solid var(--green);
    border-radius: 6px;
    color: var(--ink);
    background: #eef8f1;
}

.center-check-intro span {
    color: var(--muted);
    font-size: 13px;
}

.center-list {
    display: grid;
    gap: 10px;
}

.center-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.center-edit-form {
    display: grid;
    grid-template-columns: minmax(120px, 0.8fr) minmax(220px, 1.4fr) minmax(150px, 0.9fr) auto;
    gap: 10px;
    align-items: end;
}

.center-address-form {
    position: relative;
}

.center-verify-row,
.center-edit-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.center-verify-row span,
.center-verify-note {
    color: var(--muted);
    font-size: 13px;
}

.center-verify-button {
    min-width: 210px;
    white-space: nowrap;
}

.center-verify-note {
    grid-column: 1 / -1;
}

.center-item > form:not(.center-edit-form) {
    padding-top: 22px;
}

.center-hint {
    grid-column: 1 / -1;
    display: grid;
    gap: 4px;
}

.center-item span,
.center-hint {
    color: var(--muted);
    font-size: 13px;
}

.map-check-modal[hidden] {
    display: none;
}

.map-check-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(13, 24, 20, 0.66);
}

.map-check-panel {
    display: grid;
    grid-template-rows: auto minmax(240px, 1fr) auto auto;
    width: min(820px, 94vw);
    height: min(620px, 86vh);
    overflow: hidden;
    border-radius: 8px;
    background: var(--white);
    box-shadow: var(--shadow);
}

.map-check-head,
.map-check-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid var(--line);
}

.map-check-head div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.map-check-head span {
    color: var(--muted);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.map-check-actions {
    border-top: 1px solid var(--line);
    border-bottom: 0;
}

.map-check-panel iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.map-coordinate-entry {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-top: 1px solid var(--line);
    background: var(--mist);
}

.map-coordinate-entry span {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.compact-pricing-form {
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.fuel-update-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(150px, auto);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--mist);
}

.fuel-update-panel div {
    display: grid;
    gap: 4px;
}

.fuel-update-panel span,
.fuel-update-panel p {
    color: var(--muted);
    font-size: 13px;
}

.fuel-update-panel strong {
    color: var(--green);
    font-size: 22px;
}

.fuel-update-panel form {
    margin: 0;
}

.pricing-list-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.pricing-list-heading span {
    color: var(--green);
    font-weight: 700;
}

.request-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.pricing-card {
    display: grid;
    gap: 14px;
}

.pricing-card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
}

.pricing-card-head h3 {
    margin: 0 0 6px;
}

.pricing-quote-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.route-preview {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    color: var(--muted);
    font-size: 13px;
}

.route-preview strong {
    color: var(--ink);
}

.pricing-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pricing-summary span {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 6px;
    color: var(--muted);
    background: var(--mist);
    font-size: 13px;
}

.pricing-summary strong {
    color: var(--ink);
    font-size: 16px;
}

.quote-actions {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(180px, auto);
    gap: 12px;
    align-items: stretch;
}

.distance-button {
    min-height: 58px;
    font-size: 16px;
}

.manual-distance-button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 58px;
    padding: 12px 16px;
    color: var(--green) !important;
    background: var(--white) !important;
    border: 2px solid var(--green) !important;
    font-size: 14px;
    font-weight: 800;
}

.manual-distance-button:hover {
    color: var(--white) !important;
    background: var(--green) !important;
}

.pricing-action-help {
    margin: 0;
    padding: 10px 12px;
    border-left: 4px solid var(--green);
    border-radius: 6px;
    color: var(--ink) !important;
    background: #eef8f1;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.logo-panel {
    display: grid;
    gap: 14px;
}

.logo-size-previews {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.logo-size-preview {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 12px;
    min-height: 150px;
    padding: 18px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    background: var(--mist);
}

.logo-size-preview span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.logo-size-preview img {
    max-width: 100px;
    max-height: 100px;
    object-fit: contain;
}

.logo-size-preview-dark {
    color: var(--white);
    background: var(--ink);
}

.logo-size-preview-dark span {
    color: rgba(255, 255, 255, 0.74);
}

.logo-size-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.logo-size-form output {
    display: block;
    margin-top: 5px;
    color: var(--green);
    font-weight: 700;
}

.logo-size-form .button {
    grid-column: 1 / -1;
}

.logo-preview {
    display: grid;
    place-items: center;
    min-height: 112px;
    padding: 16px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    background: var(--mist);
}

.logo-preview img {
    max-width: min(320px, 100%);
    max-height: 96px;
    object-fit: contain;
}

.logo-form {
    display: grid;
    gap: 12px;
}

.logo-form h3 {
    margin: 4px 0 0;
    font-size: 17px;
    color: var(--ink);
}

.form-divider {
    width: 100%;
    border: 0;
    border-top: 1px solid var(--line);
    margin: 8px 0;
}

.apk-link-actions {
    display: grid;
    gap: 8px;
}

.backlink-settings {
    align-items: start;
}

.backlink-panel,
.backlink-list,
.backlink-form {
    display: grid;
    gap: 12px;
}

.backlink-settings > div > p:not(.eyebrow) {
    max-width: 760px;
}

.backlink-help {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(199, 150, 54, 0.24);
    border-radius: 8px;
    background: rgba(199, 150, 54, 0.08);
}

.backlink-help strong {
    margin-right: 4px;
    color: var(--ink);
}

.backlink-help span {
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--white);
    color: var(--green-dark);
    font-size: 13px;
    font-weight: 900;
}

.backlink-add-panel,
.backlink-edit-panel,
.backlink-item {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.backlink-add-panel summary,
.backlink-edit-panel summary,
.service-edit-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    cursor: pointer;
    font-weight: 900;
}

.backlink-add-panel summary small,
.backlink-edit-panel summary small,
.service-edit-panel summary small {
    color: var(--muted);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backlink-add-panel .backlink-form,
.backlink-edit-panel .backlink-form {
    padding: 0 14px 14px;
}

.backlink-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.backlink-form .full,
.backlink-form .admin-button,
.backlink-form .compact-check {
    grid-column: 1 / -1;
}

.backlink-item {
    display: grid;
    gap: 12px;
    padding: 12px 14px;
}

.backlink-item.is-inactive {
    opacity: 0.72;
}

.backlink-item-head,
.backlink-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.backlink-item-head > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.backlink-item-head a {
    overflow: hidden;
    color: var(--green);
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backlink-edit-panel {
    background: #fbfcfa;
}

.backlink-edit-panel summary {
    padding: 10px 12px;
    font-size: 13px;
}

.backlink-edit-panel .backlink-form {
    padding-top: 2px;
}

.backlink-anchor,
.backlink-source-empty {
    overflow: hidden;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backlink-actions {
    justify-content: flex-end;
}

.backlink-actions form {
    margin: 0;
}

.links-hero {
    padding: 96px 5vw 72px;
    color: var(--white);
    background:
        linear-gradient(90deg, rgba(9, 26, 20, 0.94), rgba(9, 26, 20, 0.72)),
        url("../img/admin-login-cemetery-worker-v2.png") center/cover;
}

.links-hero > div {
    max-width: 760px;
}

.links-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(42px, 7vw, 86px);
    letter-spacing: 0;
}

.links-hero p {
    max-width: 680px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 19px;
    line-height: 1.7;
}

.links-section {
    display: grid;
    gap: 34px;
}

.links-category {
    display: grid;
    gap: 18px;
}

.links-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.link-card,
.links-empty {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.link-card {
    display: grid;
    gap: 12px;
    padding: 20px;
}

.link-card-icon {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 999px;
    color: var(--gold);
    background: var(--green);
    font-weight: 900;
}

.link-card h3 {
    margin: 0;
    font-size: 20px;
}

.link-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.link-card a {
    color: var(--green);
    font-weight: 900;
}

.links-empty {
    padding: 28px;
    text-align: center;
}

.users-settings {
    grid-template-columns: 1fr;
    gap: 16px;
}

.users-panel,
.user-list {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.user-list {
    max-height: 520px;
    overflow: auto;
    padding-right: 6px;
}

.user-add-panel,
.user-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    overflow: hidden;
}

.user-add-panel summary,
.user-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    cursor: pointer;
    list-style: none;
}

.user-add-panel summary {
    grid-template-columns: minmax(0, 1fr) auto;
    background: var(--mist);
}

.user-add-panel summary span:first-child {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.user-add-panel summary strong,
.user-add-panel summary small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-add-panel summary small {
    color: var(--muted);
    font-size: 12px;
}

.user-add-panel summary::-webkit-details-marker,
.user-summary::-webkit-details-marker {
    display: none;
}

.user-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.user-main strong,
.user-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-item span {
    color: var(--muted);
    font-size: 13px;
}

.user-item small {
    color: var(--muted);
    font-size: 12px;
}

.user-role-badge,
.user-edit-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
}

.user-item .user-role-badge {
    padding: 0 12px;
    color: var(--green);
    background: var(--mist);
}

.user-item .user-edit-label,
.user-add-panel .user-edit-label {
    min-width: 78px;
    padding: 0 12px;
    color: var(--white);
    background: var(--green);
}

.user-item[open] .user-summary {
    border-bottom: 1px solid var(--line);
    background: var(--mist);
}

.user-item[open] .user-edit-label,
.user-add-panel[open] .user-edit-label {
    color: var(--green);
    background: var(--white);
}

.user-add-panel[open] summary {
    border-bottom: 1px solid var(--line);
}

.user-add-form,
.user-update-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, 0.65fr) minmax(180px, 1fr);
    gap: 10px;
    align-items: end;
    min-width: 0;
    padding: 14px;
}

.user-add-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.user-update-form label {
    gap: 5px;
    font-size: 11px;
    min-width: 0;
}

.user-add-form .button,
.user-update-form .button {
    justify-self: end;
    grid-column: 1 / -1;
}

.user-delete-form {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
    padding: 0 14px 14px;
}

.cemetery-panel {
    display: grid;
    gap: 18px;
}

.slide-panel {
    display: grid;
    gap: 18px;
}

.slide-settings {
    grid-template-columns: 1fr;
}

.slide-settings > div:first-child {
    padding: 18px;
    border: 1px solid rgba(47, 111, 85, 0.18);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(238, 244, 240, 0.92), rgba(251, 252, 250, 0.98));
}

.slide-list {
    display: grid;
    gap: 12px;
}

.slide-item {
    display: grid;
    gap: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    overflow: hidden;
}

.slide-card-summary {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr) 42px;
    gap: 34px;
    align-items: center;
    min-width: 0;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.slide-card-summary::-webkit-details-marker {
    display: none;
}

.slide-card-summary::after {
    content: "+";
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--green);
    background: var(--white);
    font-size: 20px;
    font-weight: 700;
}

.slide-item[open] .slide-card-summary::after {
    content: "-";
}

.slide-card-summary > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 0 28px 0 34px;
    text-align: left;
}

.slide-select {
    align-self: center;
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-size: 13px;
}

.slide-thumb {
    width: 210px;
    height: 118px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--line);
}

.slide-item span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 8px;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--white);
    background: var(--green);
    font-size: 12px;
    font-weight: 700;
}

.slide-item h3 {
    margin: 0 0 8px;
    color: var(--ink);
    font-size: 20px;
    line-height: 1.2;
}

.slide-item p {
    margin: 0;
    max-width: 560px;
    color: var(--muted);
    line-height: 1.55;
}

.slide-meta {
    margin-top: 8px !important;
    padding: 8px 12px;
    border-radius: 999px;
    color: #50645b !important;
    background: rgba(47, 117, 90, 0.08);
    font-size: 12px;
    font-weight: 700;
}

.slide-action-hint {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--green);
    background: rgba(47, 117, 90, 0.1);
    font-size: 12px;
    font-weight: 800;
}

.slide-actions-panel {
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--line);
    background: var(--white);
}

.slide-item[open] .slide-actions-panel {
    display: grid;
}

.slide-actions-panel form,
.slide-actions-panel .button {
    width: 100%;
}

.slide-actions-panel .button.secondary {
    color: var(--green-dark);
    background: #f7fbf8;
    border: 1px solid rgba(47, 117, 90, 0.28);
}

.slide-actions-panel .button.secondary:hover {
    color: var(--white);
    background: var(--green);
    border-color: var(--green);
}

.slide-actions-panel .button.danger {
    color: var(--white);
    background: #a33b32;
    border: 1px solid #a33b32;
}

.slide-actions-panel .button.danger:hover {
    background: #842d27;
    border-color: #842d27;
}

.slide-edit-panel {
    display: none;
    gap: 10px;
}

.slide-edit-panel summary {
    cursor: pointer;
    list-style: none;
    text-align: center;
}

.slide-edit-panel summary::-webkit-details-marker {
    display: none;
}

.slide-edit-panel[open] summary {
    border-color: var(--green);
    color: var(--white);
    background: var(--green);
}

.slide-options-form,
.slide-delete-form {
    display: grid;
    gap: 8px;
}

.slide-options-form {
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.slide-library {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--mist);
}

.slide-library summary {
    cursor: pointer;
    color: var(--green);
    font-size: 14px;
    font-weight: 700;
    list-style: none;
}

.slide-library summary::-webkit-details-marker {
    display: none;
}

.slide-library summary::after {
    content: " ac";
    color: var(--muted);
    font-size: 12px;
}

.slide-library[open] summary::after {
    content: " kapat";
}

.slide-library-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
    gap: 10px;
}

.slide-library-option {
    position: relative;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    cursor: pointer;
}

.slide-library-option input {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.slide-library-option img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--line);
}

.slide-library-option span {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: var(--muted);
    background: none;
    font-size: 11px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.slide-library-option:has(input:checked) {
    border-color: var(--green);
    box-shadow: 0 0 0 2px rgba(47, 111, 85, 0.14);
}

.slide-library-compact {
    padding: 10px;
}

.slide-library-compact .slide-library-grid {
    grid-template-columns: repeat(auto-fill, minmax(94px, 1fr));
}

.slide-edit-page-form {
    display: grid;
    gap: 16px;
}

.slide-edit-preview {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.slide-edit-preview img {
    width: 220px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.slide-edit-preview div {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.slide-edit-preview strong {
    font-size: 20px;
}

.slide-edit-preview span {
    justify-self: start;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--white);
    background: var(--green);
    font-size: 12px;
    font-weight: 700;
}

.slide-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.slide-edit-grid .full {
    grid-column: 1 / -1;
}

.slide-edit-actions {
    display: grid;
    grid-template-columns: minmax(150px, auto) minmax(180px, auto);
    justify-content: end;
    gap: 12px;
}

.slide-delete-form {
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.slide-delete-page {
    display: grid;
    gap: 16px;
}

.slide-delete-grid {
    display: grid;
    gap: 12px;
}

.slide-delete-card {
    display: grid;
    grid-template-columns: 170px minmax(220px, 1fr) 160px;
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
}

.slide-delete-card span,
.slide-delete-card strong,
.slide-delete-card small {
    grid-column: 2;
}

.slide-delete-card .slide-thumb {
    grid-column: 1;
    grid-row: 1 / span 3;
}

.slide-delete-card button {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: center;
}

.slide-delete-card span {
    display: inline-flex;
    width: fit-content;
    min-height: 26px;
    padding: 0 10px;
    align-items: center;
    border-radius: 999px;
    color: var(--white);
    background: var(--green);
    font-size: 12px;
    font-weight: 700;
}

.slide-delete-card strong {
    color: var(--ink);
    font-size: 16px;
}

.slide-delete-card small {
    color: var(--muted);
    line-height: 1.4;
}

.check-label {
    display: flex;
    grid-template-columns: none;
    flex-direction: row;
    align-items: center;
    gap: 9px;
    color: var(--ink);
}

.check-label input {
    width: auto;
}

.compact-check {
    font-size: 13px;
}

.resized-preview {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.resized-slide-form {
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.resized-preview img {
    width: 100%;
    aspect-ratio: 1920 / 900;
    object-fit: contain;
    background: #101915;
    border-radius: 8px;
    border: 1px solid var(--line);
}

.cemetery-list {
    display: grid;
    gap: 14px;
}

.cemetery-list p {
    margin: 0;
}

.cemetery-group {
    display: grid;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    overflow: hidden;
}

.cemetery-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    list-style: none;
}

.cemetery-group summary::-webkit-details-marker {
    display: none;
}

.cemetery-group summary span {
    color: var(--green);
    font-size: 13px;
}

.cemetery-item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-top: 1px solid var(--line);
    background: var(--white);
}

.small-button {
    min-height: 34px;
    padding: 7px 10px;
}

.bulk-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.bulk-select {
    min-width: 220px;
}

.bulk-button {
    min-height: 44px;
}

.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 2040px;
}

th,
td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

th {
    color: var(--muted);
    font-size: 13px;
}

.select-column {
    width: 72px;
}

.select-all-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 13px;
}

.request-checkbox,
#select-all-requests {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

tr.is-selected {
    background: #f4faf6;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    color: var(--ink);
    background: var(--mist);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.status-yeni {
    background: #e8f1ff;
}

.status-onay-beklemede {
    background: #fff3d8;
}

.status-onaylandi,
.status-planlandi {
    background: #e4f5eb;
}

.status-fiyat-verildi {
    color: #155f3d;
    background: #dff3e7;
    border: 1px solid #a9d9ba;
}

.status-tamamlandi {
    color: var(--white);
    background: var(--green);
}

.status-iptal {
    background: #f6dddd;
}

.admin-actions-cell {
    min-width: 280px;
}

.quote-cell {
    min-width: 220px;
}

.quote-cell > strong,
.quote-cell > span,
.quote-cell > small {
    display: block;
}

.quote-cell > strong {
    color: var(--green);
    font-size: 18px;
}

.quote-cell > span,
.quote-cell > small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.quote-contact-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 10px;
}

.quote-contact-actions form {
    margin: 0;
}

.quote-contact-actions .button {
    width: 100%;
    min-height: 38px;
    padding: 8px;
    font-size: 12px;
    white-space: nowrap;
}

.button.whatsapp {
    color: #0d2d1c;
    background: #62d98b;
}

.admin-row-form,
.delete-form {
    display: grid;
    gap: 10px;
}

.delete-form {
    margin-top: 10px;
}

.admin-row-form label {
    font-size: 12px;
}

.admin-row-form select,
.admin-row-form textarea {
    padding: 9px 10px;
    font-size: 14px;
}

.admin-button {
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
}

@media (max-width: 820px) {
    .service-admin-layout {
        grid-template-columns: 1fr;
    }

    .service-admin-list {
        grid-auto-columns: minmax(190px, 78vw);
    }

    .service-selected-actions,
    .service-danger-actions {
        align-items: stretch;
    }

    .service-selected-actions .button,
    .service-danger-actions .button,
    .service-danger-actions form {
        width: 100%;
    }

    .services .section-heading h2,
    .packages .section-heading h2 {
        white-space: normal;
    }

    .seo-summary {
        padding: 30px 0 6px;
    }

    .seo-summary-content {
        grid-template-columns: 1fr;
        grid-template-areas:
            "heading"
            "text"
            "keywords";
        padding: 20px;
    }

    .seo-keyword-tags {
        align-self: auto;
        align-content: flex-start;
    }

    .admin-login-page {
        justify-items: center;
        align-items: end;
        padding: 110px 16px 22px;
        background-position: 72% center;
    }

    .admin-login-page::before {
        background: linear-gradient(to bottom, rgba(8, 17, 14, 0.08), rgba(8, 17, 14, 0.72));
    }

    .login-panel {
        width: 100%;
        padding: 22px;
    }

    .site-header {
        position: absolute;
        align-items: center;
        padding: 14px 16px;
    }

    .site-header .brand-logo {
        width: 58px;
        height: 58px;
    }

    .site-header .brand-wordmark strong {
        font-size: 21px;
    }

    .site-header .brand-wordmark small {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        flex: 0 0 auto;
    }

    .nav {
        position: absolute;
        top: calc(100% + 10px);
        right: 16px;
        left: 16px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        padding: 12px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 14px;
        background: rgba(10, 18, 15, 0.94);
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
        backdrop-filter: blur(14px);
    }

    .site-header.is-menu-open .nav {
        display: flex;
    }

    .nav a {
        min-height: 42px;
        display: flex;
        align-items: center;
        padding: 8px 12px;
        border-radius: 10px;
    }

    .nav-menu {
        display: grid;
        width: 100%;
    }

    .nav-submenu {
        position: static;
        display: grid;
        width: 100%;
        padding: 4px 0 0 12px;
        border: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .nav-submenu a {
        min-height: 36px;
        padding: 7px 12px;
        color: rgba(255, 255, 255, 0.78);
        font-size: 13px;
    }

    .nav a:hover {
        background: rgba(255, 255, 255, 0.08);
    }

    .nav-call {
        justify-content: center;
        border-color: rgba(185, 139, 69, 0.45);
    }

    .hero {
        --hero-media-top: 102px;
        --hero-media-right: 14px;
        --hero-media-bottom: auto;
        --hero-media-left: 14px;
        --hero-media-height: min(56vw, 250px);
        --hero-button-inset: 22px;
        min-height: 362px;
        align-items: end;
        padding: 320px 16px 34px;
    }

    .hero-slide {
        width: 100%;
    }

    .hero::before {
        inset: 0;
        opacity: 0.18;
        background-position: center top;
    }

    .hero-media {
        min-height: 176px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 8px;
        background-size: contain;
        background-position: center center;
        box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
    }

    .hero-content {
        align-self: end;
    }

    .hero-slider {
        min-height: 8px;
    }

    .hero-slide-center,
    .hero-slide-right {
        text-align: left;
    }

    .hero-slide-center .hero-actions,
    .hero-slide-right .hero-actions {
        justify-content: flex-start;
    }

    .hero-actions-left {
        justify-content: flex-start;
    }

    .hero-actions-center {
        justify-content: center;
    }

    .hero-actions-right {
        justify-content: flex-end;
    }

    .hero-actions-bottom-left,
    .hero-actions-bottom-right {
        bottom: auto;
        top: calc(var(--hero-media-top) + max(var(--hero-media-height), 176px) - 60px);
        max-width: calc(100vw - 32px);
    }

    .hero-actions-bottom-left {
        left: calc(var(--hero-media-left) + var(--hero-button-inset));
        right: auto;
    }

    .hero-actions-bottom-right {
        right: calc(var(--hero-media-right) + var(--hero-button-inset));
        left: auto;
    }

    .hero-button-layer {
        bottom: auto;
        top: calc(var(--hero-media-top) + max(var(--hero-media-height), 176px) - 76px);
        max-width: calc(100vw - 52px);
        gap: 8px;
        padding: 8px;
    }

    .hero-button-layer .button {
        min-height: 40px;
        padding: 10px 12px;
        font-size: 13px;
    }

    .hero-button-layer-bottom-left {
        left: calc(var(--hero-media-left) + var(--hero-button-inset));
        right: auto;
    }

    .hero-button-layer-bottom-right {
        right: calc(var(--hero-media-right) + var(--hero-button-inset));
        left: auto;
    }

    .hero-dots {
        top: 334px;
        bottom: auto;
    }

    .hero-arrow {
        top: 196px;
        bottom: auto;
        width: 38px;
        height: 38px;
        font-size: 30px;
        transform: translateY(-50%);
    }

    .hero-arrow-prev {
        left: 18px;
    }

    .hero-arrow-next {
        right: 18px;
    }

    .hero-overlay {
        background: linear-gradient(to bottom, rgba(13, 24, 20, 0.28), rgba(13, 24, 20, 0.7));
    }

    .service-grid,
    .package-editor,
    .logo-size-previews,
    .logo-size-form,
    .seo-settings,
    .seo-command-center,
    .seo-grid,
    .seo-page-insights,
    .seo-save-bar,
    .slide-edit-preview,
    .slide-edit-grid,
    .slide-edit-actions,
    .request-band,
    .request-form,
    .mevta-search-grid,
    .mevta-result-item,
    .about-content {
        grid-template-columns: 1fr;
    }

    .service-detail {
        grid-template-columns: 1fr;
    }

    .service-detail-card {
        position: static;
    }

    .service-link-grid {
        grid-template-columns: 1fr;
    }

    .service-related-carousel {
        padding: 0 42px;
    }

    .service-related-card {
        flex-basis: min(78vw, 285px);
    }

    .slide-edit-preview img {
        width: 100%;
    }

    .seo-card-title,
    .seo-page-card summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .seo-summary-meta {
        max-width: none;
    }

    .seo-hero-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .seo-health-ring {
        width: 92px;
        height: 92px;
        border-width: 8px;
    }

    .package-track {
        grid-auto-columns: minmax(260px, 86vw);
        gap: 14px;
        padding-right: 48px;
    }

    .package-arrow {
        width: 38px;
        height: 38px;
        font-size: 30px;
    }

    .package-arrow-prev {
        left: -4px;
    }

    .package-arrow-next {
        right: -4px;
    }

    .request-form {
        width: 100%;
        justify-self: stretch;
    }

    .request-copy {
        max-width: none;
        padding: 26px;
    }

    .request-points span {
        width: 100%;
    }

    .request-contact-grid,
    .request-package-grid {
        grid-template-columns: 1fr;
    }

    .request-step summary {
        grid-template-columns: 34px minmax(0, 1fr) auto;
        padding: 14px;
    }

    .about-band {
        align-items: stretch;
        flex-direction: column;
    }

    .about-hero {
        min-height: 460px;
        padding-top: 130px;
    }

    .about-hero h1,
    .about-text h2,
    .about-band h2 {
        white-space: normal;
    }

    .about-text h2,
    .about-band h2 {
        font-size: 30px;
    }

    .about-directory {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .directory-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .directory-column,
    .directory-column:first-child {
        padding: 28px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        border-left: 0;
    }

    .directory-column:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .site-footer {
        grid-template-columns: 1fr;
        justify-items: center;
        align-items: center;
        gap: 20px;
        text-align: center;
    }

    .footer-phone,
    .footer-email,
    .footer-brand-social {
        justify-self: center;
    }

    .directory-apk-download {
        width: min(100%, 320px);
    }

    .footer-brand-social {
        justify-content: center;
    }

    .logo-size-form .button {
        grid-column: auto;
    }

    .full {
        grid-column: auto;
    }

    .payment-account-card,
    .menu-order-item {
        grid-template-columns: 1fr;
    }

    .payment-account-actions {
        justify-content: flex-start;
    }

    h1 {
        font-size: 40px;
    }

    .hero-slider {
        min-height: 8px;
    }

    .mevta-result-table,
    .mevta-result-table tbody,
    .mevta-result-table tr,
    .mevta-result-table td {
        display: block;
        width: 100%;
    }

    .mevta-result-table thead {
        display: none;
    }

    .mevta-result-table tr {
        padding: 10px;
        border-bottom: 1px solid var(--line);
    }

    .mevta-result-table td {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 8px;
        padding: 7px 0;
        border-bottom: 0;
    }

    .mevta-result-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-weight: 800;
    }

    .mevta-result-table .button {
        width: auto;
        justify-self: start;
    }

    .mevta-result-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 4px;
    }

    .admin-title {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-menu {
        position: static;
    }

    .admin-settings {
        grid-template-columns: 1fr;
    }

    .pricing-layout,
    .pricing-quote-form,
    .pricing-summary,
    .fuel-update-panel,
    .center-item,
    .center-edit-form,
    .map-coordinate-entry,
    .work-add-form,
    .work-update-form,
    .work-choice-grid,
    .request-picker,
    .quote-actions {
        grid-template-columns: 1fr;
    }

    .work-manager-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .work-manager-actions .button,
    .work-manager-actions form {
        flex: 1;
    }

    .work-manager-actions form .button {
        width: 100%;
    }

    .center-verify-button {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    .center-item > form:not(.center-edit-form) {
        padding-top: 0;
    }

    .pricing-settings-panel {
        position: static;
    }

    .pricing-card-head,
    .pricing-list-heading,
    .map-check-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .user-item,
    .user-add-form,
    .user-item form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .user-add-panel summary,
    .user-summary {
        grid-template-columns: 1fr 1fr;
    }

    .user-add-panel summary span:first-child,
    .user-main {
        grid-column: 1 / -1;
    }

    .user-role-badge,
    .user-edit-label {
        width: 100%;
    }

    .user-item form {
        display: grid;
    }

    .bulk-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .slide-item {
        display: grid;
    }

    .slide-actions-panel {
        grid-template-columns: 1fr;
    }

    .slide-card-summary {
        grid-template-columns: 1fr 42px;
        gap: 12px;
        padding: 14px;
    }

    .slide-card-summary .slide-thumb {
        grid-column: 1 / -1;
    }

    .slide-card-summary > div {
        align-items: flex-start;
        padding: 0;
        text-align: left;
    }

    .slide-select {
        align-self: start;
    }

    .slide-thumb {
        width: 100%;
        height: 160px;
    }

    .slide-item p {
        max-width: none;
    }

    .slide-meta {
        border-radius: 8px;
    }

    .request-track-band,
    .request-track-form {
        grid-template-columns: 1fr;
    }

    .request-track-result {
        grid-column: 1;
    }

    .request-track-page .section-heading h1 {
        font-size: clamp(27px, 8vw, 36px);
        white-space: normal;
    }

    .request-track-form .button {
        width: 100%;
    }

    .request-track-card dl div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .backlink-settings,
    .backlink-form {
        grid-template-columns: 1fr;
    }

    .backlink-item-head,
    .backlink-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .backlink-actions form,
    .backlink-actions .button {
        width: 100%;
    }

    .links-grid {
        grid-template-columns: 1fr;
    }

    .links-hero {
        padding: 76px 20px 54px;
    }
}
