.photo-placeholder { position: relative; display: grid; overflow: hidden; place-items: center; border: 1px solid rgba(12, 87, 112, .14); background: #d9eef2; color: var(--primary); isolation: isolate; }
.photo-placeholder::before { position: absolute; width: 78%; height: 78%; border: 1px solid rgba(15, 61, 76, .16); border-radius: 50%; content: ""; }
.photo-placeholder::after { position: absolute; right: -12%; bottom: -28%; width: 72%; height: 72%; border: 1px solid rgba(214, 173, 99, .48); border-radius: 50%; content: ""; }
.photo-placeholder small { position: absolute; right: 18px; bottom: 15px; z-index: 1; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.placeholder-symbol { z-index: 1; color: rgba(15, 61, 76, .68); font-family: var(--font-heading); font-size: 3.8rem; }
.photo-placeholder--hero { z-index: 1; min-height: 595px; border-radius: 22px; background: linear-gradient(145deg, #d9eef2, #f5fbfc); }
.photo-placeholder--hero::before { width: 64%; height: 64%; }
.photo-placeholder--portrait { min-height: 545px; border-radius: 180px 180px 4px 4px; }
.photo-placeholder--landscape { min-height: 470px; }
.photo-placeholder--treatment { min-height: 380px; margin: 38px 0; }
.photo-placeholder--team { min-height: 350px; border: 0; }
.photo-placeholder--team .placeholder-symbol { font-size: 3rem; }
.content-image { overflow: hidden; margin: 38px 0; border: 1px solid var(--border); background: #e7eeec; }
.content-image img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.team-photo { overflow: hidden; min-height: 350px; background: #e7eeec; }
.team-photo img { display: block; width: 100%; height: 350px; object-fit: cover; object-position: center; }
.map-placeholder { display: flex; min-height: 380px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #cbe2e6; background-color: #eaf7f8; background-image: linear-gradient(rgba(99,167,173,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(99,167,173,.14) 1px, transparent 1px); background-size: 34px 34px; color: var(--primary); }
.map-placeholder span { background: var(--primary); color: var(--white); padding: 8px 14px; font-family: var(--font-heading); }
.map-placeholder small { margin-top: 10px; background: rgba(248,246,241,.9); padding: 3px 8px; }
.map-placeholder--large { min-height: 420px; }
.map-frame { overflow: hidden; min-height: 380px; border: 1px solid #cbd6d3; background: var(--soft); }
.map-frame iframe { display: block; width: 100%; height: 100%; min-height: inherit; border: 0; }
.map-frame--large { min-height: 420px; margin-bottom: 110px; }
.service-card { position: relative; display: flex; min-height: 315px; flex-direction: column; align-items: flex-start; border: 1px solid var(--border); border-radius: 12px; background: var(--white); padding: 34px; box-shadow: var(--shadow-soft); transition: border-color .2s, box-shadow .2s, transform .2s; }
.service-card::before { position: absolute; top: -1px; left: -1px; width: 42px; height: 2px; background: var(--accent); content: ""; transition: width .25s; }
.service-card:hover { border-color: #badde2; box-shadow: var(--shadow); transform: translateY(-3px); }
.service-card:hover::before { width: 76px; }
.service-icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 25px; border: 1px solid #b8dde2; border-radius: 10px; background: var(--primary-soft); color: var(--primary); }
.service-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.service-card h2, .service-card h3 { margin-bottom: 12px; font-size: 1.35rem; }
.service-card p { display: -webkit-box; overflow: hidden; margin-bottom: 22px; font-size: .95rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.service-card .text-link { margin-top: auto; }
.team-card { overflow: hidden; border: 1px solid var(--border); border-bottom: 3px solid var(--primary); border-radius: 12px; background: var(--white); box-shadow: var(--shadow-soft); }
.team-card__body { padding: 28px; }
.team-card__body > span { color: var(--secondary); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-card h2 { margin: 7px 0 4px; font-size: 1.55rem; }
.team-card strong { color: var(--primary); font-size: .91rem; }
.team-card p { margin: 15px 0 18px; font-size: .93rem; }
.process-list { padding: 0; list-style: none; border-top: 1px solid var(--border); }
.process-list li { display: flex; gap: 18px; align-items: center; border-bottom: 1px solid var(--border); padding: 17px 5px; }
.process-list span { color: var(--accent); font-family: var(--font-heading); }
.process-list strong { color: var(--heading); }
.info-note { margin-top: 35px; border-left: 3px solid var(--secondary); background: #edf2ef; padding: 24px 28px; }
.info-note strong { color: var(--heading); }
.info-note p { margin: 5px 0 0; font-size: .91rem; }
.form { display: grid; gap: 19px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.form label { display: grid; gap: 7px; color: var(--heading); font-size: .9rem; font-weight: 600; }
.form input, .form select, .form textarea { width: 100%; border: 1px solid #cbdfe2; border-radius: 6px; background: #fff; color: var(--heading); padding: 12px 13px; transition: border-color .2s, box-shadow .2s; }
.form input, .form select { min-height: 49px; }
.form textarea { resize: vertical; }
.form input:focus, .form select:focus, .form textarea:focus { border-color: var(--secondary); outline: 0; box-shadow: 0 0 0 3px rgba(99,167,173,.17); }
.form .checkbox { display: flex; grid-template-columns: none; gap: 10px; align-items: flex-start; color: var(--text); font-size: .84rem; font-weight: 400; }
.checkbox input { width: 18px; min-height: 18px; margin-top: 3px; flex: 0 0 18px; }
.form-feedback { margin: 0; border-left: 3px solid var(--secondary); background: var(--soft); color: var(--primary); padding: 11px 13px; font-size: .87rem; }
.form-feedback--success { border-left-color: #5e927b; background: #edf7f2; color: #315f4b; }
.form-feedback--error { border-left-color: #b66363; background: #fbefef; color: #873d3d; }
.form-disclaimer { display: block; text-align: center; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.not-found-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* Full-site redesign components */
.story-block {
    background: var(--white);
}

/* Blog module */
.blog-studio,
.blog-detail {
    background: var(--background);
}

.blog-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
    gap: clamp(32px, 6vw, 76px);
    align-items: center;
    margin-bottom: 70px;
    border: 1px solid var(--border);
    background: #fff;
}

.blog-featured__image,
.blog-card__image {
    display: grid;
    min-height: 420px;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.14), transparent 30%),
        linear-gradient(135deg, #efede7, #faf9f6);
}

.blog-featured__image img,
.blog-card__image img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform .65s ease;
}

.blog-featured__image:hover img,
.blog-card__image:hover img {
    transform: scale(1.045);
}

.blog-featured__body {
    padding: 44px 48px 44px 0;
}

.blog-featured__body h2,
.blog-card h2,
.blog-detail__side h2 {
    margin-bottom: 18px;
    color: var(--primary);
    font-size: clamp(26px, 2.8vw, 40px);
}

.blog-featured__body p,
.blog-card p,
.blog-detail__side p {
    color: var(--text-light);
    line-height: 1.9;
}

.blog-featured__body small {
    display: block;
    margin: 18px 0 28px;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

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

.blog-card {
    border: 1px solid var(--border);
    background: #fff;
}

.blog-card__image {
    min-height: 250px;
}

.blog-card > div {
    padding: 28px;
}

.blog-card span {
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.blog-card h2 {
    margin-top: 10px;
    font-size: 24px;
}

.blog-detail__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 54px;
    align-items: start;
}

.blog-article {
    min-width: 0;
}

.blog-article__cover {
    overflow: hidden;
    margin: 0 0 44px;
    background: #eee9df;
}

.blog-article__cover img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
}

.blog-article__content {
    color: var(--text);
    font-size: 18px;
    line-height: 2.05;
    white-space: normal;
}

.blog-detail__side {
    position: sticky;
    top: 130px;
    border: 1px solid var(--border);
    border-top: 2px solid var(--accent);
    background: #fff;
    padding: 34px;
}

.theme-obsidian .blog-studio,
.theme-obsidian .blog-detail {
    background: #0a0a0a;
}

.theme-obsidian .blog-featured,
.theme-obsidian .blog-card,
.theme-obsidian .blog-detail__side {
    border-color: rgba(181,154,90,.22);
    background: #121212;
}

.theme-obsidian .blog-featured__body h2,
.theme-obsidian .blog-card h2,
.theme-obsidian .blog-detail__side h2 {
    color: #f6f2e8;
}

.theme-obsidian .blog-featured__body p,
.theme-obsidian .blog-card p,
.theme-obsidian .blog-detail__side p,
.theme-obsidian .blog-article__content {
    color: #c5beb1;
}

.theme-obsidian .blog-featured__image,
.theme-obsidian .blog-card__image {
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.13), transparent 30%),
        linear-gradient(135deg, #171717, #0f0f0f);
}

@media (max-width: 1080px) {
    .blog-featured,
    .blog-detail__grid {
        grid-template-columns: 1fr;
    }

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

    .blog-featured__body {
        padding: 0 32px 36px;
    }

    .blog-detail__side {
        position: static;
    }
}

@media (max-width: 600px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}
.story-block__grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: clamp(50px, 8vw, 110px);
    align-items: center;
}
.story-block__visual {
    min-height: 520px;
    border-radius: 28px;
    box-shadow: var(--shadow);
}
.story-block__content {
    max-width: 620px;
}
.story-block__content h2 {
    margin-bottom: 22px;
}
.philosophy {
    background: var(--background);
}
.philosophy__intro {
    max-width: 780px;
    margin-bottom: 40px;
}
.philosophy__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
.philosophy__grid article,
.service-tile,
.doctor-profile,
.message-panel,
.appointment-form-card,
.appointment-guide,
.treatment-detail__side {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--white);
    box-shadow: var(--shadow-soft);
}
.philosophy__grid article {
    min-height: 235px;
    padding: 34px;
}
.philosophy__grid article > span,
.service-tile__number {
    color: var(--accent);
    font-family: var(--font-heading);
}
.quote-band {
    background: var(--white);
}
.quote-band__inner {
    max-width: 960px;
    text-align: center;
}
.quote-band blockquote {
    margin: 0;
    color: var(--heading);
    font-family: var(--font-heading);
    font-size: clamp(1.45rem, 2.2vw, 2.05rem);
    line-height: 1.38;
}
.service-studio,
.team-studio,
.contact-studio,
.appointment-studio,
.treatment-detail {
    background: var(--white);
}
.service-studio__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.service-tile {
    position: relative;
    display: grid;
    min-height: 310px;
    overflow: hidden;
    padding: 34px;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.service-tile:hover {
    border-color: #b8dce2;
    box-shadow: var(--shadow);
    transform: translateY(-4px);
}
.service-tile::after {
    position: absolute;
    right: -54px;
    bottom: -64px;
    width: 170px;
    height: 170px;
    border: 30px solid rgba(99,167,173,.10);
    border-radius: 50%;
    content: "";
}
.service-tile__number {
    position: absolute;
    top: 28px;
    right: 30px;
    font-size: 1.35rem;
}
.service-tile__icon {
    display: grid;
    width: 60px;
    height: 60px;
    place-items: center;
    margin-bottom: 28px;
    border-radius: 16px;
    background: var(--primary-soft);
    color: var(--primary);
}
.service-tile__icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.35;
}
.service-tile h2 {
    margin-bottom: 12px;
    font-size: 1.35rem;
}
.service-tile p {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 22px;
    font-size: .95rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.service-tile em {
    position: relative;
    z-index: 1;
    margin-top: auto;
    color: var(--primary);
    font-style: normal;
    font-weight: 800;
}
.team-studio__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}
.doctor-profile {
    display: grid;
    grid-template-columns: 260px 1fr;
    overflow: hidden;
}
.doctor-profile__photo {
    min-height: 360px;
    border: 0;
    border-radius: 0;
    background: #d9eef2;
}
.doctor-profile__photo img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}
.doctor-profile__body {
    padding: 34px;
}
.doctor-profile__body > span {
    color: var(--primary);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.doctor-profile__body h2 {
    margin: 8px 0 4px;
}
.doctor-profile__body strong {
    color: var(--accent);
}
.team-manifest {
    background: var(--background);
}
.team-manifest__inner {
    max-width: 880px;
}
.team-manifest__inner h2 {
    margin-bottom: 16px;
}
.contact-studio__grid,
.appointment-studio__grid,
.treatment-detail__grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 34px;
    align-items: start;
}
.contact-directory {
    display: grid;
    gap: 16px;
}
.contact-directory a {
    display: grid;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--primary-soft);
    padding: 24px;
}
.contact-open-status,
.appointment-open-status {
    display: grid;
    gap: 6px;
    border: 1px solid rgba(201,168,106,.28);
    border-left: 4px solid var(--accent);
    border-radius: 20px;
    background: #fff;
    padding: 22px 24px;
    box-shadow: 0 18px 42px rgba(15,61,76,.06);
}
.contact-directory small,
.appointment-guide__phone small,
.contact-open-status small,
.appointment-open-status small {
    color: var(--primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.contact-directory strong,
.appointment-guide__phone,
.contact-open-status strong,
.appointment-open-status strong {
    color: var(--heading);
    font-family: var(--font-heading);
    font-size: 1.18rem;
}
.contact-directory span,
.contact-open-status span,
.appointment-open-status span {
    margin-top: 4px;
    color: var(--text);
    font-size: .9rem;
}
.contact-open-status.is-open,
.appointment-open-status.is-open {
    border-left-color: #789d8e;
}
.message-panel,
.appointment-form-card {
    padding: 42px;
}
.location-map {
    overflow: hidden;
    min-height: 470px;
    margin-bottom: 104px;
    border-radius: 28px;
    box-shadow: var(--shadow);
}
.location-map iframe {
    display: block;
    width: 100%;
    min-height: 470px;
    border: 0;
}
.appointment-guide {
    position: sticky;
    top: 130px;
    padding: 36px;
}
.appointment-guide ol {
    display: grid;
    gap: 22px;
    margin: 28px 0;
    padding: 0;
    list-style: none;
}
.appointment-guide li {
    display: flex;
    gap: 16px;
}
.appointment-guide li > span,
.timeline-list li > span {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-heading);
    font-size: .78rem;
}
.appointment-guide p,
.appointment-guide li strong {
    margin: 0;
}
.appointment-guide li strong {
    display: block;
    color: var(--heading);
}
.appointment-guide__phone {
    display: block;
    border-top: 1px solid var(--border);
    padding-top: 22px;
}
.appointment-guide__phone small {
    display: block;
    margin-bottom: 5px;
}
.appointment-open-status {
    margin-top: 18px;
}
.appointment-form-card {
    border-top: 5px solid var(--accent);
}
.treatment-detail__grid {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 54px;
}
.treatment-detail__content h2,
.treatment-detail__side h2 {
    margin-bottom: 18px;
}
.treatment-detail__side {
    position: sticky;
    top: 130px;
    padding: 34px;
}
.timeline-list {
    display: grid;
    gap: 18px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}
.timeline-list li {
    display: flex;
    gap: 15px;
    align-items: center;
}
.timeline-list strong {
    color: var(--heading);
}

/* --------------------------------------------------------------------------
   Premium inner pages aligned with cinematic home
   -------------------------------------------------------------------------- */
.inner-hero,
.detail-hero {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    padding: 190px 0 110px;
    background:
        radial-gradient(circle at 82% 18%, rgba(181,154,90,.20), transparent 28%),
        linear-gradient(135deg, #1c1c1c 0%, #2a2925 48%, #111 100%);
    color: rgba(255,255,255,.78);
}

.inner-hero::before,
.detail-hero::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.66)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 140px);
    content: "";
    pointer-events: none;
}

.inner-hero::after,
.detail-hero::after {
    position: absolute;
    right: clamp(30px, 8vw, 150px);
    bottom: -150px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(181,154,90,.28);
    border-radius: 50%;
    content: "";
    opacity: .55;
}

.inner-hero__grid,
.detail-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .98fr) 420px;
    gap: clamp(42px, 7vw, 110px);
    align-items: end;
}

.inner-hero .eyebrow,
.detail-hero .eyebrow,
.page-hero .eyebrow {
    display: block;
    margin-bottom: 24px;
    color: var(--accent);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.inner-hero h1,
.detail-hero h1,
.page-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.1;
}

.inner-hero p,
.detail-hero p,
.page-hero p {
    max-width: 690px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 16px;
    font-weight: 300;
    line-height: 2;
}

.inner-hero__panel,
.detail-hero__card {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.055);
    padding: 34px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.inner-hero__panel span,
.detail-hero__card span,
.split-cta > div > span {
    display: block;
    margin-bottom: 12px;
    color: var(--accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.inner-hero__panel strong,
.detail-hero__card strong {
    display: block;
    color: #fff;
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
}

.breadcrumb {
    display: inline-flex;
    margin-bottom: 18px;
    color: rgba(255,255,255,.74);
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.detail-hero__card .button {
    margin-top: 28px;
}

.section {
    padding: 120px 0;
}

.story-block,
.service-studio,
.team-studio,
.contact-studio,
.appointment-studio,
.treatment-detail,
.quote-band {
    background: var(--background);
}

.story-block__visual,
.philosophy__grid article,
.service-tile,
.doctor-profile,
.message-panel,
.appointment-form-card,
.appointment-guide,
.treatment-detail__side,
.content-image,
.location-map {
    border-radius: 0;
    box-shadow: none;
}

.story-block__visual {
    border-color: rgba(181,154,90,.35);
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.16), transparent 28%),
        linear-gradient(145deg, #eee9df, #fbfaf7);
}

.story-block__visual--image {
    overflow: hidden;
    margin: 0;
    background: #f3f0e8;
}

.story-block__visual--image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.photo-placeholder {
    border-color: rgba(181,154,90,.30);
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.18), transparent 30%),
        linear-gradient(135deg, #efede7, #faf9f6);
}

.photo-placeholder::before,
.photo-placeholder::after {
    border-color: rgba(181,154,90,.34);
}

.placeholder-symbol {
    color: rgba(181,154,90,.78);
}

.story-block__content h2,
.philosophy__intro h2,
.team-manifest__inner h2,
.message-panel h2,
.appointment-guide h2,
.appointment-form-card h2,
.treatment-detail__content h2,
.treatment-detail__side h2 {
    color: var(--primary);
    font-size: clamp(26px, 2.6vw, 36px);
    line-height: 1.18;
}

.story-block__content p,
.team-manifest__inner p,
.treatment-detail__content .lead {
    color: var(--text-light);
    font-weight: 300;
    line-height: 2;
}

.eyebrow {
    color: var(--accent);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.philosophy__grid article,
.service-tile,
.doctor-profile,
.message-panel,
.appointment-form-card,
.appointment-guide,
.treatment-detail__side {
    border-color: var(--border);
    background: #fff;
}

.philosophy__grid article {
    border-top: 2px solid var(--accent);
}

.philosophy__grid article > span,
.service-tile__number {
    color: var(--accent);
    font-size: 22px;
}

.philosophy__grid article h3,
.service-tile h2,
.doctor-profile__body h2 {
    color: var(--primary);
    font-size: 24px;
}

.philosophy__grid article p,
.service-tile p,
.doctor-profile__body p,
.contact-directory span,
.appointment-guide p,
.timeline-list strong,
.info-note p {
    color: var(--text-light);
    font-weight: 300;
    line-height: 1.8;
}

.quote-band {
    padding-top: 40px;
}

.quote-band__inner {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 80px 0;
}

.service-tile {
    min-height: 340px;
    padding: 40px;
    transition: transform .35s ease, border-color .35s ease, background-color .35s ease;
}

.service-tile:hover {
    border-color: rgba(181,154,90,.55);
    background: #fbfaf7;
    box-shadow: none;
    transform: translateY(-7px);
}

.service-tile::after {
    border-color: rgba(181,154,90,.12);
}

.service-tile__icon {
    border: 1px solid rgba(181,154,90,.28);
    border-radius: 50%;
    background: transparent;
    color: var(--accent);
}

.service-tile em,
.text-link {
    color: var(--primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.service-tile:hover em,
.text-link:hover {
    color: var(--accent);
}

.split-cta {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 38px;
    align-items: center;
    margin-bottom: 110px;
    border: 1px solid var(--primary-light);
    background: var(--primary);
    color: rgba(255,255,255,.72);
    padding: 54px;
}

.split-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
}

.split-cta p {
    margin: 0;
    color: rgba(255,255,255,.66);
    line-height: 1.9;
}

.button,
.button--gold,
.button--outline {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
    padding: 14px 28px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.button:hover {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--primary);
}

.button--gold {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--primary);
}

.button--gold:hover {
    background: #fff;
}

.button--outline {
    background: transparent;
    color: var(--primary);
}

.button--wide {
    width: 100%;
}

.doctor-profile {
    border-top: 2px solid var(--accent);
}

.doctor-profile__photo {
    background: #eee9df;
}

.doctor-profile__body > span,
.contact-directory small,
.appointment-guide__phone small {
    color: var(--accent);
}

.contact-directory a {
    border-radius: 0;
    border-color: var(--border);
    background: #fff;
    transition: border-color .3s ease, transform .3s ease;
}

.contact-directory a:hover {
    border-color: rgba(181,154,90,.58);
    transform: translateY(-4px);
}

.contact-directory strong,
.appointment-guide__phone {
    color: var(--primary);
    font-size: 24px;
}

.message-panel,
.appointment-form-card {
    border-top: 2px solid var(--accent);
}

.form input,
.form select,
.form textarea {
    border-radius: 0;
    border-color: var(--border);
    background: #fbfaf7;
}

.form input:focus,
.form select:focus,
.form textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(181,154,90,.12);
}

.location-map {
    border: 1px solid var(--border);
}

.appointment-guide li > span,
.timeline-list li > span {
    background: var(--primary);
    color: var(--accent);
}

.info-note {
    border-left-color: var(--accent);
    background: #fbfaf7;
}

.not-found-actions {
    justify-content: center;
}

.faq-section {
    background: var(--background);
    padding-top: 20px;
}

.faq-section__grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: clamp(34px, 6vw, 88px);
    align-items: start;
}

.faq-section__intro {
    position: sticky;
    top: 130px;
}

.faq-section__intro h2 {
    margin-bottom: 18px;
    color: var(--primary);
    font-size: clamp(28px, 3vw, 40px);
}

.faq-section__intro p {
    max-width: 460px;
    color: var(--text-light);
    line-height: 1.9;
}

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

.faq-item {
    border: 1px solid var(--border);
    background: #fff;
}

.faq-item summary {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 16px;
    align-items: center;
    min-height: 82px;
    padding: 20px 26px;
    color: var(--primary);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary span {
    color: var(--accent);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.faq-item summary::after {
    justify-self: end;
    grid-column: 2;
    color: var(--accent);
    content: "+";
    font-family: var(--font-body);
    font-size: 24px;
    line-height: 1;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item div {
    border-top: 1px solid var(--border);
    padding: 0 26px 26px 94px;
}

.faq-item p {
    margin: 20px 0 0;
    color: var(--text-light);
    line-height: 1.9;
}

.gallery-studio {
    background: var(--background);
}

.gallery-studio__head {
    display: flex;
    gap: 28px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 46px;
}

.gallery-studio__head h2,
.gallery-empty h2 {
    margin: 8px 0 0;
    color: var(--primary);
    font-size: clamp(28px, 3vw, 40px);
}

.gallery-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.gallery-categories span {
    border: 1px solid rgba(181,154,90,.32);
    color: var(--primary);
    padding: 8px 13px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

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

.gallery-card {
    position: relative;
    min-height: 360px;
    margin: 0;
    overflow: hidden;
    background: #eee9df;
}

.gallery-card--wide {
    grid-column: span 2;
}

.gallery-card img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .7s ease;
}

.gallery-card:hover img {
    transform: scale(1.055);
}

.gallery-card figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    gap: 6px;
    background: linear-gradient(to top, rgba(0,0,0,.76), rgba(0,0,0,0));
    color: #fff;
    padding: 72px 26px 24px;
}

.gallery-card figcaption span {
    color: var(--accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.gallery-card figcaption strong {
    font-family: var(--font-heading);
    font-size: 22px;
    line-height: 1.25;
}

.gallery-empty {
    display: grid;
    min-height: 360px;
    place-items: center;
    border: 1px solid rgba(181,154,90,.24);
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.14), transparent 30%),
        linear-gradient(135deg, #efede7, #faf9f6);
    padding: 50px;
    text-align: center;
}

.gallery-empty p {
    max-width: 540px;
    margin: 0;
    color: var(--text-light);
}

/* İç sayfalar için gece modu kontrast düzeltmeleri */
.theme-obsidian .story-block,
.theme-obsidian .service-studio,
.theme-obsidian .team-studio,
.theme-obsidian .contact-studio,
.theme-obsidian .appointment-studio,
.theme-obsidian .treatment-detail,
.theme-obsidian .quote-band,
.theme-obsidian .team-manifest,
.theme-obsidian .philosophy {
    background: #0a0a0a;
}

.theme-obsidian .philosophy__grid article,
.theme-obsidian .service-tile,
.theme-obsidian .doctor-profile,
.theme-obsidian .message-panel,
.theme-obsidian .appointment-form-card,
.theme-obsidian .appointment-guide,
.theme-obsidian .treatment-detail__side,
.theme-obsidian .contact-directory a,
.theme-obsidian .contact-open-status,
.theme-obsidian .appointment-open-status,
.theme-obsidian .info-note {
    border-color: rgba(181,154,90,.22);
    background: #121212;
}

.theme-obsidian .story-block__content h2,
.theme-obsidian .philosophy__intro h2,
.theme-obsidian .team-manifest__inner h2,
.theme-obsidian .message-panel h2,
.theme-obsidian .appointment-guide h2,
.theme-obsidian .appointment-form-card h2,
.theme-obsidian .treatment-detail__content h2,
.theme-obsidian .treatment-detail__side h2,
.theme-obsidian .philosophy__grid article h3,
.theme-obsidian .service-tile h2,
.theme-obsidian .doctor-profile__body h2,
.theme-obsidian .contact-directory strong,
.theme-obsidian .appointment-guide__phone,
.theme-obsidian .contact-open-status strong,
.theme-obsidian .appointment-open-status strong,
.theme-obsidian .timeline-list strong,
.theme-obsidian .quote-band blockquote,
.theme-obsidian .form label {
    color: #f6f2e8;
}

.theme-obsidian .story-block__content p,
.theme-obsidian .team-manifest__inner p,
.theme-obsidian .treatment-detail__content .lead,
.theme-obsidian .philosophy__grid article p,
.theme-obsidian .service-tile p,
.theme-obsidian .doctor-profile__body p,
.theme-obsidian .contact-directory span,
.theme-obsidian .contact-open-status span,
.theme-obsidian .appointment-open-status span,
.theme-obsidian .appointment-guide p,
.theme-obsidian .info-note p,
.theme-obsidian .form .checkbox {
    color: #c5beb1;
}

.theme-obsidian .service-tile:hover,
.theme-obsidian .contact-directory a:hover {
    border-color: rgba(181,154,90,.55);
    background: #171717;
}

.theme-obsidian .service-tile em,
.theme-obsidian .text-link,
.theme-obsidian .button--outline {
    color: #f6f2e8;
}

.theme-obsidian .button,
.theme-obsidian .button--wide {
    border-color: var(--accent);
    background: var(--accent);
    color: #111 !important;
}

.theme-obsidian .button:hover,
.theme-obsidian .button--wide:hover {
    border-color: #f6f2e8;
    background: #f6f2e8;
    color: #111 !important;
}

.theme-obsidian .button--outline {
    border-color: rgba(246,242,232,.72);
    background: transparent;
}

.theme-obsidian .button--outline:hover {
    border-color: var(--accent);
    background: var(--accent);
    color: #111 !important;
}

.theme-obsidian .form input,
.theme-obsidian .form select,
.theme-obsidian .form textarea {
    border-color: rgba(181,154,90,.24);
    background: #0b0b0b;
    color: #f6f2e8;
}

.theme-obsidian .form input::placeholder,
.theme-obsidian .form textarea::placeholder {
    color: #777;
}

.theme-obsidian .photo-placeholder,
.theme-obsidian .story-block__visual,
.theme-obsidian .doctor-profile__photo,
.theme-obsidian .content-image,
.theme-obsidian .team-photo {
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.13), transparent 30%),
        linear-gradient(135deg, #171717, #0f0f0f);
}

.theme-obsidian .location-map,
.theme-obsidian .map-frame {
    border-color: rgba(181,154,90,.22);
    background: #111;
}

.theme-obsidian .faq-section {
    background: #0a0a0a;
}

.theme-obsidian .faq-section__intro h2,
.theme-obsidian .faq-item summary {
    color: #f6f2e8;
}

.theme-obsidian .faq-section__intro p,
.theme-obsidian .faq-item p {
    color: #c5beb1;
}

.theme-obsidian .faq-item {
    border-color: rgba(181,154,90,.22);
    background: #121212;
}

.theme-obsidian .faq-item div {
    border-top-color: rgba(181,154,90,.18);
}

.theme-obsidian .gallery-studio {
    background: #0a0a0a;
}

.theme-obsidian .gallery-studio__head h2,
.theme-obsidian .gallery-empty h2,
.theme-obsidian .gallery-categories span {
    color: #f6f2e8;
}

.theme-obsidian .gallery-categories span,
.theme-obsidian .gallery-empty {
    border-color: rgba(181,154,90,.25);
}

.theme-obsidian .gallery-empty {
    background:
        radial-gradient(circle at 72% 20%, rgba(181,154,90,.13), transparent 30%),
        linear-gradient(135deg, #171717, #0f0f0f);
}

.theme-obsidian .gallery-empty p {
    color: #c5beb1;
}

@media (max-width: 1080px) {
    .inner-hero__grid,
    .detail-hero__grid,
    .contact-studio__grid,
    .appointment-studio__grid,
    .treatment-detail__grid,
    .faq-section__grid {
        grid-template-columns: 1fr;
    }

    .inner-hero__panel,
    .detail-hero__card {
        max-width: 620px;
    }

    .split-cta {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .faq-section__intro {
        position: static;
    }

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

@media (max-width: 820px) {
    .inner-hero,
    .detail-hero {
        min-height: auto;
        padding: 150px 0 78px;
    }

    .inner-hero h1,
    .detail-hero h1,
    .page-hero h1 {
        font-size: clamp(34px, 9vw, 46px);
    }

    .inner-hero__panel,
    .detail-hero__card,
    .message-panel,
    .appointment-form-card,
    .appointment-guide,
    .treatment-detail__side,
    .split-cta {
        padding: 28px;
    }

    .section {
        padding: 78px 0;
    }

    .service-studio__grid,
    .team-studio__grid,
    .philosophy__grid,
    .story-block__grid {
        grid-template-columns: 1fr;
    }

    .story-block__visual {
        min-height: 390px;
    }

    .doctor-profile {
        grid-template-columns: 1fr;
    }

    .location-map,
    .location-map iframe {
        min-height: 360px;
    }

    .gallery-studio__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .gallery-categories {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .form-row {
        grid-template-columns: 1fr;
    }

    .service-tile,
    .philosophy__grid article,
    .faq-item summary {
        min-height: auto;
        padding: 28px;
    }

    .faq-item summary {
        grid-template-columns: 1fr;
        gap: 8px;
        font-size: 18px;
    }

    .faq-item summary::after {
        grid-column: 1;
        justify-self: start;
    }

    .faq-item div {
        padding: 0 28px 24px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-card--wide {
        grid-column: auto;
    }

    .doctor-profile__photo,
    .doctor-profile__photo img {
        min-height: 320px;
    }
}
