:root {
    --bg: #0b0b0b;
    --bg-soft: #121212;
    --panel: #171717;
    --panel-2: #1e1e1e;
    --line: rgba(255,255,255,0.08);
    --line-strong: rgba(255,255,255,0.14);
    --text: #f4eeee;
    --muted: #bcaeae;
    --muted-2: #998787;
    --accent: #8b0f17;
    --accent-2: #b71c29;
    --accent-soft: rgba(183, 28, 41, 0.16);
    --gold: #d8bc73;
    --shadow: 0 18px 50px rgba(0,0,0,0.38);
    --radius: 22px;
    --container: 1280px;
    --header-height: 82px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at top right, rgba(183,28,41,0.18), transparent 28%),
        radial-gradient(circle at left 20%, rgba(139,15,23,0.16), transparent 25%),
        linear-gradient(180deg, #090909 0%, #0d0d0d 100%);
    color: var(--text);
    line-height: 1.6;
    min-width: 320px;
}

img {display: block; width: 100%; height: auto;}
a {
    color: #f3c9cd; text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
a:hover { color: #fff; }
button,input,select {font: inherit;}
button {cursor: pointer; border: 0; background: none; color: inherit;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {outline: 2px solid #f5c6cb; outline-offset: 3px;}
.container {width: min(calc(100% - 32px), var(--container)); margin: 0 auto;}
.skip-link {position: absolute;left: 16px;top: -52px;z-index: 1000;background: #fff;color: #111;padding: 10px 14px;border-radius: 999px;}
.skip-link:focus { top: 16px; }
.site-header {position: sticky;top: 0;z-index: 50;backdrop-filter: blur(18px);background: rgba(10,10,10,0.84);border-bottom: 1px solid var(--line);}
.header-inner { min-height: var(--header-height);    display: grid;    grid-template-columns: auto 1fr auto;    align-items: center;    gap: 28px;}
.brand {display: inline-flex;  align-items: center;  gap: 12px; min-width: 0;}
.brand img {width:auto; height:40px;}

.site-nav {justify-self: center;}

.site-nav ul {display: flex;align-items: center;gap: 10px;list-style: none;margin: 0;padding: 0;}
.site-nav a {display: inline-flex;align-items: center;min-height: 44px;padding: 0 14px;border-radius: 999px;color: #f3eded;font-size: 0.96rem;font-weight: 600;}
.site-nav a:hover,.site-nav a.is-active {background: var(--accent-soft);color: #fff;}

/* Dropdown base */
.site-nav li {position: relative;}

.nav-parent {display: inline-flex;align-items: center;min-height: 44px;padding: 0 14px;border-radius: 999px;font-weight: 600;color: #f3eded;}
/* Dropdown menu */
.dropdown {
    position: absolute;top: 100%;left: 0;
    min-width: 220px;padding: 10px;border-radius: 16px;background: var(--panel);border: 1px solid var(--line);box-shadow: var(--shadow);
    opacity: 0;visibility: hidden;transform: translateY(10px);transition: 0.2s ease;display: flex;flex-direction: column;gap: 6px;z-index: 100;
}
.dropdown a {padding:6px 12px;border-radius: 0;font-size: 0.9rem; min-height: unset;}
/* Hover behaviour */
.has-dropdown:hover .dropdown {opacity: 1;visibility: visible;transform: translateY(0);}
/* Optional hover style */
.dropdown a:hover {background: var(--accent-soft);}

.site-nav ul.dropdown {display:block;}
.site-nav ul.dropdown a {display:block;}

/* Divider */
.dropdown .divider {height: 1px; margin: 8px 4px; background: var(--line); list-style: none;}

.header-actions {display: flex;align-items: center;gap: 12px;}
.phone-link,.header-cta,.hero-cta-primary,.hero-cta-secondary,.section-link,.profile-link,.footer-cta {
    display: inline-flex;align-items: center;
    justify-content: center;min-height: 46px;padding: 0 18px;border-radius: 999px;font-weight: 700;white-space: nowrap;
}

.header-cta,.hero-cta-primary,.section-link,.profile-link,.footer-cta {
color: #fff;background: linear-gradient(135deg, var(--accent-2), var(--accent));box-shadow: 0 10px 24px rgba(139,15,23,0.22);
}

/* Desktop phone */
.phone-number {font-weight: 700;color: #fff;font-size: 0.95rem;}

/* Mobile icons hidden by default */
.mobile-contact-icons {display: none;gap: 28px;margin-right: 10px;}


/* Mobile behaviour */
@media (max-width: 960px) {
    .phone-number {display: none;}
    .mobile-contact-icons {display: flex;}
}
.header-cta:hover,.hero-cta-primary:hover,.section-link:hover,.profile-link:hover,.footer-cta:hover {
    transform: translateY(-1px);color: #fff;box-shadow: 0 14px 28px rgba(139,15,23,0.28);
}
.phone-link,.hero-cta-secondary {border: 1px solid var(--line-strong);color: #fff;background: rgba(255,255,255,0.03);}
.phone-link:hover,.hero-cta-secondary:hover {border-color: rgba(255,255,255,0.24);background: rgba(255,255,255,0.06);color: #fff;}
.menu-toggle {
    display: none;width: 36px;height: 36px;border-radius: 5px;border: 1px solid var(--line-strong);
    background: rgba(255,255,255,0.03);position: relative;align-items: center; justify-content: center;
}
.menu-toggle img {width:24px; height:24px;}
.mobile-menu {
    position: fixed;top: 0;right: -100%; overflow: auto;
    width: min(92vw, 360px);height: 100dvh;background: #111;border-left: 1px solid var(--line);box-shadow: var(--shadow);
    padding: 24px;transition: right 0.28s ease;z-index: 80;display: flex;flex-direction: column;gap: 24px;
}
.mobile-menu.is-open { right: 0; }
.mobile-menu-header {display: flex;align-items: center;justify-content: space-between;gap: 16px;}
.mobile-menu nav ul {list-style: none;margin: 0;padding: 0;display: grid;gap: 10px;}

.mobile-menu nav a,.mobile-contact a {
    display: flex;align-items: center;justify-content: space-between;min-height: 52px;
    padding: 0 16px;border-radius: 16px;color: #fff;background: rgba(255,255,255,0.03);border: 1px solid var(--line);
}
.mobile-menu nav a:hover,.mobile-contact a:hover {background: var(--accent-soft);border-color: rgba(183,28,41,0.35);}


.mobile-accordion .accordion-toggle {
    width: 100%;text-align: left;padding: 0 16px;min-height: 52px;border-radius: 16px;
    background: rgba(255,255,255,0.03);border: 1px solid var(--line);color: #fff;font-weight: 600;
    display: flex;justify-content: space-between;align-items: center;
}
/* arrow */
.accordion-toggle::after {content: "+";font-size: 18px;}
/* open state */
.mobile-accordion.active .accordion-toggle::after {content: "−";}
/* content */
.accordion-content {max-height: 0;overflow: hidden;transition: max-height 0.3s ease;display: grid;gap: 8px;padding: 0 4px;}
.mobile-accordion.active .accordion-content {max-height: 500px;margin-top: 16px;}

/* Accordion container spacing */
.mobile-menu nav .accordion-content {padding-left: 12px; gap:5px;}

/* Child links */
.mobile-menu nav .accordion-content a {min-height: 38px; padding: 6px 12px;font-size: 0.9rem;font-weight: 500;background: transparent; border: none;color: var(--muted);}
/* Add subtle divider line feel */
.mobile-menu nav .accordion-content li {border-left: 2px solid rgba(255,255,255,0.06); padding-left: 10px;}
/* Hover state */
.mobile-menu nav .accordion-content a:hover {color: #fff; background: rgba(255,255,255,0.03); border-radius: 8px;}





.mobile-contact {margin-top: auto;display: grid;gap: 12px;}
.mobile-backdrop {
    position: fixed;inset: 0;
    background: rgba(0,0,0,0.65);opacity: 0;visibility: hidden;transition: opacity 0.25s ease, visibility 0.25s ease;z-index: 70;
}
.mobile-backdrop.is-open {opacity: 1;visibility: visible;}
.hero {position: relative;overflow: hidden;padding: 42px 0 30px;}
.hero::before {
    content: "";position: absolute;inset: 0;pointer-events: none;
    background:radial-gradient(circle at 20% 20%, rgba(183,28,41,0.16), transparent 22%),radial-gradient(circle at 82% 12%, rgba(216,188,115,0.12), transparent 18%);
}
.hero-grid {position: relative;display: grid;grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);gap: 24px;align-items: stretch;}
.hero-copy,.hero-aside,.profile-card,.article-card,.review-card,.content-block,.footer-panels {
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);
}
.hero-copy { padding: 34px; }
.eyebrow {
    display: inline-flex;align-items: center;gap: 8px;padding: 8px 12px;border-radius: 999px;background: var(--accent-soft);
    border: 1px solid rgba(183,28,41,0.28);color: #f8dadd;font-size: 0.82rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;
}
h1, h2, h3, h4 {line-height: 1.12;margin: 0;letter-spacing: -0.02em;}
h1 {margin-top: 18px;font-size: clamp(2.35rem, 5vw, 4.5rem);}
.hero-standfirst {margin: 18px 0 0;color: #e5d7d7;font-size: 1.08rem;}
.hero-text-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 14px;margin-top: 26px;}
.mini-panel {padding: 16px;border-radius: 18px;background: rgba(255,255,255,0.03);border: 1px solid var(--line);}
.mini-panel strong {display: block;font-size: 0.92rem;color: #fff;margin-bottom: 6px;}
.mini-panel span {color: var(--muted);font-size: 0.94rem;}
.hero-actions {display: flex;flex-wrap: wrap;gap: 12px;margin-top: 28px;}

.galleryDesc a {
   text-decoration:underline; color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2);
   text-underline-offset: 2px; text-decoration-thickness: 1.5px;
}
.galleryDesc summary {cursor: pointer; list-style: none; margin-top: 10px;}
.galleryDesc summary::-webkit-details-marker {display: none;}


/* When open */
.galleryDesc[open] .shortText,.galleryDesc[open] .readMoreBtn {display: none;}
.galleryDesc .readMoreBtn {
   color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 2px; text-decoration-thickness: 1.5px;
}

.tick-list {list-style: none;padding: 0;margin: 0;display: grid;gap: 10px;}
.tick-list li {position: relative;padding-left: 28px;color: #e9dddd;}
.tick-list li::before {content: "✓";position: absolute;left: 0;top: 0;color: var(--gold);font-weight: 800;}
.section { padding: 34px 0 0; }
.section-head {display: flex;align-items: end;justify-content: space-between;gap: 18px;margin-bottom: 18px;}
.section-kicker {display: inline-block;margin-bottom: 8px;color: var(--gold);text-transform: uppercase;letter-spacing: 0.1em;font-weight: 700;font-size: 0.8rem;}
.profile-grid {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 20px;}
.profile-card,.article-card {overflow: hidden;display: flex;flex-direction: column;}
.profile-media {position: relative;aspect-ratio: 6 / 9;overflow: hidden;background: #111;}
.profile-media img,.article-media img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.4s ease;}
.profile-card:hover .profile-media img,.article-card:hover .article-media img {transform: scale(1.04);}
.profile-badge,.profile-favourite,.article-badge {
    position: absolute;top: 14px;z-index: 2;display: inline-flex;align-items: center;min-height: 34px;padding: 0 12px;
    border-radius: 999px;font-size: 0.78rem;font-weight: 700;color: #fff;
}
.profile-badge,.article-badge {left: 14px;background: rgba(11,11,11,0.76);border: 1px solid rgba(255,255,255,0.09);backdrop-filter: blur(10px);}
.profile-favourite {right: 14px;background: rgba(183,28,41,0.9);font-weight: 800;}
.profile-body,.article-body {padding: 18px;display: flex;flex-direction: column;gap: 12px;flex: 1;}

.review-top,.footer-bottom {display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;}

.profile-name { font-size: 1.25rem; margin-bottom:10px;}
.profile-head p {color: var(--muted); font-size: 0.95rem;margin:0 0 3px 0; padding:0;}

.review-date,.article-meta { color: var(--muted); }

.stars { color: var(--gold); font-weight: 700; }


.reviews-shell { position: relative; }
.review-toolbar {display: flex;align-items: center;justify-content: space-between;gap: 16px;margin-bottom: 18px;}
.reviews-track-wrap {overflow: hidden;}
.reviews-track {display: flex;gap: 18px;transition: transform 0.35s ease;will-change: transform;}
.review-card {flex: 0 0 calc((100% - 18px) / 2);min-width: 0;padding: 0;background: none;border: 0;box-shadow: none;}
.review-card-inner {
    display: grid;grid-template-columns: 140px minmax(0, 1fr);gap: 18px;padding: 18px;min-height: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);
}
.review-profile-image {display: block;border-radius: 18px;overflow: hidden;background: #111;aspect-ratio: 6 / 9;}
.review-profile-image img {width: 100%;height: 100%;object-fit: cover;}
.review-content {display: flex;flex-direction: column;min-width: 0;}
.review-top {display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;margin-bottom: 12px;}
.review-name {display: block;font-size: 1rem;font-weight: 800;color: #fff;}
.review-date {display: block;font-size: 0.88rem;margin-top: 2px;color: var(--muted);}
.review-card p {margin: 0 0 16px;color: #ede2e2;}
.review-profile-link {margin-top: auto;display: inline-flex;align-items: center;min-height: 44px;font-weight: 700;color: var(--gold);}
.review-profile-link:hover {color: #fff;}
.review-dots {display: flex;justify-content: center;gap: 12px;margin-top: 22px;}
.review-dot {
    width: 16px;height: 16px;border-radius: 999px;border: 1px solid rgba(255,255,255,0.22);background: rgba(255,255,255,0.12);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.review-dot:hover {background: rgba(255,255,255,0.22);}
.review-dot.is-active {background: var(--gold);border-color: var(--gold);transform: scale(1.08);}
@media (max-width: 1180px) {
    .review-card {flex-basis: calc((100% - 18px) / 2);}
}
@media (max-width: 720px) {
    .review-card {flex-basis: 100%;}
    .review-card-inner {grid-template-columns: 96px minmax(0, 1fr);gap: 14px;padding: 16px;}
    .review-dots {gap: 10px;}
    .review-dot {width: 14px;height: 14px;}
}
@media (max-width: 500px) {
    .review-card-inner {grid-template-columns:none;}
    .review-profile-image {max-width:180px;}

}




.article-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 20px;}
.article-media {position: relative;aspect-ratio: 16 / 10;overflow: hidden;background: #111;}
.article-meta {display: flex;flex-wrap: wrap;gap: 10px;font-size: 0.88rem;}
.article-title { font-size: 1.18rem; }
.content-grid {display: grid;grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);gap: 20px;margin-top: 24px;}
.content-block,.footer-panels { padding: 24px; }
.content-block h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 12px; }
.content-block p { margin: 0 0 14px; }
.content-block p:last-child { margin-bottom: 0; }
.content-block a {text-decoration:underline; color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 2px; text-decoration-thickness: 1.5px;}

.site-footer { padding: 42px 0 24px; }

.footer-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.7fr 0.7fr 0.8fr;
    gap: 24px;
}
.footer-title { font-size: 1.35rem; margin-bottom: 10px; }
.footer-heading { font-size: 1rem; margin-bottom: 8px; }
.footer-list {list-style: none;margin: 12px 0 0;padding: 0;display: grid;gap: 10px;}
.footer-list a:hover,.footer-bottom a:hover { color: #fff; }
.footer-bottom {align-items: center; gap: 16px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted-2); font-size: 0.92rem;}
.footer-bottom a { color: var(--muted-2); }

@media (max-width: 1180px) {
    .hero-grid,.content-grid,.footer-grid { grid-template-columns: 1fr; }
    .review-card { flex-basis: calc((100% - 18px) / 2); }
}

@media (max-width: 960px) {
    .site-nav,
    .header-actions .phone-link,
    .header-actions .header-cta { display: none; }
    .menu-toggle { display: inline-flex; }
    .header-inner { grid-template-columns: 1fr auto; }
    .hero-copy { padding: 24px; }
    .hero-text-grid,.hero-stat-grid,.profile-grid,.article-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hero-search form {grid-template-columns: 1fr 1fr; }
    .search-submit { width: 100%; }
}

@media (max-width: 720px) {
    :root { --header-height: 74px; }
    .container { width: min(calc(100% - 24px), var(--container)); }
    .hero { padding-top: 24px; }
    .hero-copy,.hero-aside,.content-block,.footer-panels { padding: 18px; }
    .section { padding-top: 28px; }
    .section-head, .footer-bottom { flex-direction: column; align-items: flex-start; }
    
    .hero-text-grid,.hero-stat-grid,.article-grid,.footer-grid,.profile-meta,.hero-search form { grid-template-columns: 1fr; }
    .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px;}
    .profile-head p {font-size: 0.75rem;}
    .profile-name {font-size:1rem;}
    .review-card { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {animation: none !important; transition: none !important;}
}







/* PROFILE PAGE  */
.profile-page {padding: 26px 0 0;}
.profile-topbar-inner {display: flex;align-items: center;justify-content: space-between;gap: 16px;}
.back-link,.pager-link,.icon-button,.contact-chip {
    display: inline-flex;align-items: center;justify-content: center;min-height: 44px;padding: 0 16px;border-radius: 999px;
    border: 1px solid var(--line-strong);background: rgba(255,255,255,0.03);color: #fff;font-weight: 700;
}
.back-link:hover,.pager-link:hover,.icon-button:hover,.contact-chip:hover {
    background: var(--accent-soft);border-color: rgba(183,28,41,0.35);color: #fff;
}

.back-link,.pager-link {gap: 8px;}

.back-link,.pager-link.left {padding:0 20px 0 16px;}
.pager-link.right {padding:0 16px 0 20px;}

.back-link:before {margin-top: 2px;
    content: ""; width:24px; height:24px; background: #fff;
    mask: url(../icons/double-chevron-left.svg) center / contain no-repeat;
    -webkit-mask: url(../icons/double-chevron-left.svg) center / contain no-repeat;
}
.pager-link.left:before,.pager-link.right:after {margin-top: 2px; content:""; width:24px; height:24px; background:#fff;}
.pager-link.left::before{
    mask:url("../icons/chevron-left.svg") center / contain no-repeat; -webkit-mask:url("../icons/chevron-left.svg") center / contain no-repeat;
}
.pager-link.right::after {
    mask:url("../icons/chevron-right.svg") center / contain no-repeat; -webkit-mask:url("../icons/chevron-right.svg") center / contain no-repeat;
}



.profile-pager {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}
.profile-overview {padding-top: 18px;}
.profile-overview-card,.profile-gallery-card,.profile-section-card,.rate-card,.contact-card,.review-section-card,.review-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);
}
.profile-overview-card {padding: 28px;}
.profile-title-row {margin-top: 16px;display: flex;align-items: start;justify-content: space-between;gap: 18px;}
.profile-title-row h1 {font-size: clamp(2rem, 4vw, 3.3rem);margin: 0;}
.profile-title-row h1 span {color: var(--muted);font-weight: 600;}
.profile-meta-line {margin: 10px 0 0;color: #e7d8d8;font-weight: 600;font-size: 1rem;}
.profile-tagline {margin: 8px 0 0;color: var(--gold);font-weight: 700;}
.profile-intro {margin: 16px 0 0;color: #eee1e1;}
.summary-chip {padding: 16px;border-radius: 18px;background: rgba(255,255,255,0.03);border: 1px solid var(--line);}
.summary-chip strong {display: block;font-size: 0.88rem;color: #fff;margin-bottom: 5px;}
.summary-chip span {color: var(--muted);font-size: 0.95rem;}
.profile-hero-media {
    position: relative;overflow: hidden;border-radius: var(--radius);
    border: 1px solid var(--line);background: #111;aspect-ratio: 6 / 9;box-shadow: var(--shadow);
}
.profile-hero-media img {width: 100%;height: 100%;object-fit: cover;}
.profile-gallery {padding-top: 20px;}
.profile-gallery-card {padding: 20px;}
.profile-gallery-head {margin-bottom: 16px;}
.profile-gallery-head p {margin: 6px 0 0;color: var(--muted);}

.profile-info-grid {display: grid;grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);gap: 20px;}
.profile-section-card {padding: 24px;}
.profile-section-head {margin-bottom: 14px;}
.profile-section-head h2 {font-size: clamp(1.5rem, 3vw, 2rem);margin: 0;}
.profile-section-head p {margin: 8px 0 0;color: var(--muted);}
.profile-section-card p:last-child {margin-bottom: 0;}
.profile-facts-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 12px;}
.fact-item {padding: 14px 16px;border-radius: 18px;background: rgba(255,255,255,0.03);border: 1px solid var(--line);}
.fact-label {display: block;margin-bottom: 5px;color: var(--muted-2);font-size: 0.82rem;text-transform: uppercase;letter-spacing: 0.06em;font-weight: 700;}
.fact-value {display: block;color: #fff;font-weight: 700;}
.rate-stack,.service-list {display: grid;gap: 12px;}


.ratestable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 14px; /* 14px vertical spacing */
}
.ratestable td.in, .ratestable td.out {text-align:right;}
.ratestable th {text-align:right;padding: 10px 20px;}
.ratestable td {
    background: rgba(255,255,255,.04); border-top: 1px solid rgba(255,255,255,.10); border-bottom: 1px solid rgba(255,255,255,.10);
    padding: 10px 20px;
}
.ratestable td:first-child {border-left: 1px solid rgba(255,255,255,.10); border-top-left-radius: 18px; border-bottom-left-radius: 18px;}
.ratestable td:last-child {
    border-right: 1px solid rgba(255,255,255,.10); border-top-right-radius: 18px; border-bottom-right-radius: 18px;
}
@media (max-width: 700px){
  .ratestable th, .infoTable th {text-align:right;padding: 10px 13px;}
  .ratestable td, .infoTable td {padding: 10px 13px;}
}



.review-section-card {padding:20px;}
.review-section-card .review-card {padding:20px; margin-bottom:20px;}


.service-list {grid-template-columns: repeat(2, minmax(0, 1fr));}
.service-chip {
    display: inline-flex;align-items: center;min-height: 46px;padding: 0 16px;
    border-radius: 999px;background: rgba(255,255,255,0.03);border: 1px solid var(--line);color: #fff;font-weight: 600;
}
.contact-card {padding: 24px;}
.contact-card h2 {font-size: 1.6rem;margin: 0;}
.contact-card p {margin: 10px 0 0;color: #e7dada;}
.profile-page .review-card {min-width: 0;flex: unset;}
.profile-sticky-bar {position: sticky;bottom: 14px;z-index: 30;margin-top: 26px;}
.profile-sticky-inner {
    display: none;align-items: center;justify-content: space-between;gap: 12px;padding: 12px;border-radius: 20px;
    border: 1px solid var(--line);background: rgba(12,12,12,0.92);box-shadow: var(--shadow);backdrop-filter: blur(16px);
}
.profile-sticky-copy strong {display: block;color: #fff;font-size: 0.95rem;}
.profile-sticky-copy span {display: block;color: var(--muted);font-size: 0.88rem;}
.profile-sticky-actions {display: flex;gap: 10px;}
.profile-sticky-actions a {height: 44px; width:44px; padding: 0 10px;}


.profileDesc a {text-decoration:underline; color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 2px; text-decoration-thickness: 1.5px;}
.profileDesc {margin-top: 10px;}
.profileDesc summary {cursor: pointer; list-style: none;}

.profileDesc summary::-webkit-details-marker {display: none;}

.profile-anchors {display: flex; gap: 10px; margin: 15px 0; flex-wrap: wrap;}
.profile-anchors a {padding: 8px 14px; border-radius: 20px; background: rgba(255,255,255,0.05); color: #fff;  font-size: 13px; text-decoration: none; transition: 0.2s ease;}
.profile-anchors a:hover {background:var(--accent);}
#rates, #reviews, #details, #gallery {scroll-margin-top: 80px;}

#leaveReviewContainer {
    position:fixed; top:0px; left: 0px; width:100vw;height:100vh; background:rgba(0, 0, 0, 0.9);
    justify-content:center; align-items:center; z-index:999; display:none;
}
#leaveReview {
  border: 1px solid #333; border-radius:10px; background:#000; width:100%; max-width:400px;
  position:relative; max-height:calc(100% - 40px); margin:10px; padding:10px;
  overflow-y: auto; overflow-x: hidden;
}
#leaveReview::-webkit-scrollbar {width: 15px;}
#leaveReview::-webkit-scrollbar-thumb {background: rgba(255,255,255,.18); border-radius: 10px; border: 3px solid transparent; background-clip: padding-box;}
#leaveReview .title {font-size:22px; font-weight:500; margin-top:0;}
#closeReviewPanel{
    height: 24px;width: 24px; margin: 5px;background: var(--accent-2);position: absolute; right: 0; top: 0; padding: 5px; cursor: pointer;
    mask: url(../icons/close.svg) center / contain no-repeat;-webkit-mask: url(../icons/close.svg) center / contain no-repeat;
}
#leaveReview form {padding-right:10px;}
#leaveReview form input, #leaveReview form textarea, #leaveReview form select {margin-bottom:10px;}
#leaveReview form textarea {min-height:100px; display:block;font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;}


/* When open */
.profileDesc[open] .shortText,
.profileDesc[open] .readMoreBtn {
    display: none;
}
.readMoreBtn {color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 2px; text-decoration-thickness: 1.5px;}

.allReviews {display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:18px;}
.reviewsMore {text-align: center; margin: 25px 0;}
@media (max-width: 1024px) {
    .allReviews {display:grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap:18px;}
    /* .review-card-inner {grid-template-columns: repeat(1, minmax(0, 1fr));} */
}



@media (max-width: 1180px) {
    .profile-info-grid {grid-template-columns: 1fr;}
    .reviews-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}



@media (max-width: 720px) {
    .profile-page {padding-top: 18px;}
    .profile-overview-card,.profile-gallery-card,.profile-section-card,.contact-card {padding: 18px;}
    .profile-title-row {align-items: center;}
    .profile-facts-grid,.service-list,.reviews-grid {grid-template-columns: 1fr;}
    .profile-gallery-head {align-items: stretch;}
    .profile-pager {width: 100%;}
    .profile-sticky-inner {display: flex;}
    .back-link,.pager-link.left,.pager-link.right {font-size:0; gap:0; padding:0 10px;}
    .pager-link.left {margin-left:auto;}
}


/* =========================================
   THUMB CAROUSEL (LIGHTBOX STYLE)
========================================= */
.profileGallery{ grid-column:2; padding:12px; }
.galleryHead{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:10px; }

.thumb {position: relative;}
.thumb__viewport {overflow: hidden; width: 100%; touch-action: pan-y;}
.thumb__track {display: flex; gap: 10px; transition: transform 260ms ease; will-change: transform;}
.galleryTile {flex: 0 0 calc((100% - 30px) / 4); border-radius: 12px; overflow: hidden; position:relative;}
.galleryTile img {width: 100%; height:100%; display: block; aspect-ratio: 2 / 3; object-fit: cover;}


@media (max-width: 800px){
  .galleryTile { flex: 0 0 calc((100% - 20px) / 3); }
}
@media (max-width: 600px){
  .galleryTile { flex: 0 0 calc((100% - 10px) / 2); }
  .galleryHead{ flex-direction: column; align-items:flex-start}

}
@media (max-width: 500px){
  .galleryTile { flex: 0 0 100%; }
  .galleryTile.isLandscape {display:flex; align-items: center;}
  .galleryTile.isLandscape img {aspect-ratio: 3 / 2;border-radius: 12px;}
}
.thumb__prev, .thumb__next {
  position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .08); background: rgba(0, 0, 0, .35); cursor: pointer; z-index: 2;
}
.thumb__prev { left: -20px; }
.thumb__next { right: -20px; }

/* ----------------------------
   LIGHTBOX
---------------------------- */
.lb{ position:fixed; inset:0; display:none; z-index:9999; }
.lb.isOpen{ display:block; }
.lb__backdrop {position:absolute; inset:0; background:rgba(0,0,0,.82);}
.lb__ui {position:absolute; inset:0; display:grid; place-items:center;}
.lb__stage {margin:0; width:min(96vw, 1200px); height:min(86vh, 860px); position:relative;}
.lb__viewport {
    width:100%; height:100%; overflow:hidden; border-radius:16px;
    touch-action: pan-y; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;
}
.lb__track {
  width:300%; height:100%; display:flex;
  transform:translateX(-33.3333%); transition:transform 260ms ease; will-change:transform;
}
.lb__slide {width:33.3333%; display:flex; align-items:center; justify-content:center;}
/* Critical: contain, not cover */
.lb__img{
  width:100% !important; height:100% !important; object-fit: contain !important;   /* <-- shows whole image */
  max-width:100% !important; max-height:100% !important; border-radius:10px;
}
.lb.isDragging .lb__track {transition:none;}
.lb__cap {margin-top:10px; color:rgba(255,255,255,.78); font-size:14px; text-align:center; max-width:min(96vw, 900px);}
.lb__counter {
  position:absolute; left:18px; bottom:18px; padding:8px 10px; border-radius:999px; font-size:13px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.85);
}
.lb__btn {
  position:absolute; border:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.35); color:#fff;
  border-radius:999px; width:44px; height:44px; display:grid; place-items:center; cursor:pointer; z-index:1;
}
.lb__btn:hover{ border-color: rgba(249,123,2,.45); }
.lb__close{ top:18px; right:18px; }
.lb__fs{ top:18px; right:72px; }
.lb__nav {top:50%; transform:translateY(-50%); width:52px; height:52px; font-size:32px; line-height:1; z-index:1;}
.lb__prev{ left:18px;}
.lb__next{ right:18px;}
@media (max-width: 700px){
  .lb__nav{ width:46px; height:46px; font-size:28px; }
}
/* prevent background scroll while open */
body.lbLock{ overflow:hidden; }





/* Breadcrumbs */
.breadcrumbs {
    font-size: 13px; line-height: 1.3; color: rgba(255,255,255,0.72); margin: 0 0 20px 0; display:flex; flex-wrap:wrap; gap: 8px; align-items:center;
}
.breadcrumbs a {color: rgba(255,255,255,0.86); text-decoration: none;}
.breadcrumbs a:hover{ text-decoration: underline; }
.breadcrumbs span{ color: rgba(255,255,255,0.55); }

.newsHeader {margin-bottom:30px;}
.newsHeader h1 {margin-bottom:10px;}
.newsIntro {max-width:700px;color:var(--muted);}
.newsList {display:grid;gap:28px;}
.newsItem {padding-bottom:20px;border-bottom:1px solid var(--border);}
.newsExcerpt {margin:0 0 8px; color:var(--muted);}
.newsDate {display:block;font-size:0.9rem;color:var(--muted);}

.articleDate {color:var(--muted);font-size:0.9rem;}
.articleBody h2 {margin-top:30px;margin-bottom:10px;font-size:1.3rem;}
.articleBody p {margin-bottom:16px;line-height:1.6;}
.articleBody a {text-decoration:underline; color: #ffffff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 2px; text-decoration-thickness: 1.5px;}

.newsSection {padding: 10px 0 40px;}

.newsItem,.newsArticle {
    padding: 22px 22px 20px; border: 1px solid var(--line); border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    box-shadow: var(--shadow); transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.newsItem:hover {
    transform: translateY(-2px); border-color: rgba(216,188,115,0.22);
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
}
.newsTitle {font-size: clamp(1.2rem, 2vw, 1.45rem); line-height: 1.2; margin: 0 0 10px; color:#fff; text-decoration: none;}

.newsItem .newsTitle  {
    color: #fff; text-decoration: underline; text-decoration-color: var(--accent-2); text-underline-offset: 3px; 
    text-decoration-thickness: 1.5px;
}
.newsExcerpt {margin: 0 0 14px; color: #ddd0d0; max-width: 72ch; font-size: 0.98rem;}

.article-categories h2 {margin-bottom:20px;}

@media (min-width: 980px) {
    .newsList {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;}
}


.visually-hidden {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;}
/* INPUTS */
input[type="text"],input[type="date"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {width:100%;padding:8px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,0.03);color:#fff;font-size:0.95rem;transition:border-color 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;}
select option {background:#222; color:#fff;}
input::placeholder, textarea::placeholder {color:var(--muted-2);}
input:focus, textarea:focus, select:focus {outline:none;border-color:var(--accent-2);background:rgba(255,255,255,0.05);box-shadow:0 0 0 2px rgba(183,28,41,0.2);}




/* =========================
   EMPLOYMENT FORM STYLES
========================= */
/* FORM LAYOUT */
#theform {margin-top:12px;}
#theform fieldset {border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015));}
#theform legend {padding:0 10px;font-weight:700;color:#fff;font-size:1.1rem;}

/* GRID */
.form-grid {display:grid;grid-template-columns:1fr;gap:12px;}
@media (min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr);gap:14px 16px;}}

/* FIELD */
.form-field {display:flex;flex-direction:column;gap:6px;}
.form-field label {font-size:0.85rem;color:var(--muted);font-weight:600;}


/* TEXTAREA */
#theform textarea {resize:vertical;min-height:140px;}

/* CHECKBOX */
.checkbox-field {flex-direction:row;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,0.03);border:1px solid var(--line);}
.checkbox-field label {margin:0;color:var(--muted);font-weight:500;}
.checkbox-field input {width:18px;height:18px;}

/* FILE INPUT */
.form-grid-files {grid-template-columns:1fr;}
@media (min-width:768px){.form-grid-files{grid-template-columns:repeat(3,1fr);}}
#theform input[type="file"] {font-size:0.85rem;color:var(--muted);}

/* HELP TEXT */
.form-help {font-size:0.85rem;color:var(--muted);margin:0 0 10px;}

/* ACTIONS */
.form-actions {margin-top:10px;}
.form-submit {width:100%;min-height:50px;border-radius:999px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(135deg,var(--accent-2),var(--accent));box-shadow:0 10px 24px rgba(139,15,23,0.22);border:none;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;}
.form-submit:hover {transform:translateY(-1px);box-shadow:0 14px 28px rgba(139,15,23,0.28);}

/* FIELDSET SPACING TWEAK */
#theform fieldset + fieldset {margin-top:14px;}

.form-message {margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,0.03);color:var(--muted);}
.form-message.is-info {color:var(--muted);}
.form-message.is-success {color:#fff;border-color:rgba(60,180,120,0.35);background:rgba(60,180,120,0.12);}
.form-message.is-error {color:#fff;border-color:rgba(183,28,41,0.4);background:rgba(183,28,41,0.14);}
.has-error input,.has-error textarea,.has-error select {border-color:#d86060 !important;box-shadow:0 0 0 2px rgba(216,96,96,0.18) !important;}
.field-error {margin-top:6px;font-size:0.82rem;color:#f1abab;}
.form-submit:disabled {opacity:0.7;cursor:not-allowed;transform:none;}
.form-hp {position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important;}
.form-message {display:none;}
.form-message.is-info,.form-message.is-success,.form-message.is-error {display:block;}



.contact-card {background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: var(--shadow);}
.contact-intro { margin-bottom: 20px; color: #bbb;}
.contact-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top:20px;}
.contact-item {padding: 16px;border-radius: 12px;background: rgba(255,255,255,0.02);border: 1px solid var(--line);}
.contact-item h3 {margin-bottom: 6px;font-size: 1rem;}
.contact-item p {font-size: 0.85rem;margin-bottom: 10px;color: #aaa;}
.contact-link {font-weight: 600;color: var(--accent-2);text-decoration: none;}
.contact-link:hover {text-decoration: underline;}
@media (max-width: 768px) {
    .contact-grid {grid-template-columns: 1fr;}
}

#cookieDesc{opacity:1;	transition:none;}
.cookie-known #cookieOverlay,.cookie-known #cookieBanner{display:none !important;}
.cookieOverlay,.cookieBanner {contain:layout paint;}
.cookieOverlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);backdrop-filter:blur(2px);z-index:9998;}
.cookieOverlay,.cookieBanner{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 180ms ease, visibility 0s linear;}
.cookieOverlay[hidden],.cookieBanner[hidden]{opacity:0;visibility:hidden;pointer-events:none;}
.cookieBanner {position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:flex;justify-content:center;}
.cookieCard{
    width:100%;max-width:420px;padding:16px;border-radius:16px; box-shadow:0 10px 22px rgba(0,0,0,0.25);
    overflow:auto;scrollbar-color: #046d8a transparent; font-size: 14px;
    border: 1px solid var(--line);background: #111; color: var(--text);
    max-height:calc(100dvh - 40px);
	max-height:calc(100vh - 40px);
}
.cookieCard h3{margin:0 0 8px 0;font-size:22px; padding-bottom: 0; font-weight:500;}
.cookieCard a {color:var(--accent-2)}
.cookieCard .btnContainer {margin-bottom:20px; display:flex; align-items:center; gap:10px;}
.cookieCard .btn {padding: 13px 30px;border-radius: 30px;}
.cookieCard .btn.primary {background:var(--accent-2);}
.cookieCard .btn.secondary {background: rgba(255, 255, 255, 0.1); color:#fff}

.cookieAccordion{margin:12px 0 22px 0;display:grid;gap:0;background:rgba(1,1,1,0.15); border-radius: 10px;}
.cookieDetails:first-child {border-bottom:2px solid #014254}
.cookieSummary{cursor:pointer;list-style:none;padding:12px 14px;color:rgba(255,255,255,0.92);font-weight:500;}
.cookieSummary::-webkit-details-marker{display:none;}
.cookiePanel{padding:0 14px 14px 14px;color:rgba(255,255,255,0.82);max-height: 200px; overflow: auto; scrollbar-color: #046d8a transparent;}
.cookiePanel a {color:rgba(255,255,255,0.90);text-decoration:underline;}
.cookieAccordion h1 {display:none;}
@media (max-width: 640px) { .cookieCard .btnContainer {flex-direction: column;} .cookieCard .btn {width:100%;} }

