 @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;800&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');

 /* ══ CSS Variables ══ */
 :root {
     --brand: #f69520;
     --brand-hover: #e0850f;
     --dark: #252525;
     --bg-page: #FAF7F2;
     --bg-section: #ffffff;
     --bg-testi: #FFF4E6;
     --text-main: #252525;
     --text-muted: #6b6b6b;
     --text-subtle: #9a9a9a;
     --card-bg: #ffffff;
     --card-border: rgba(0, 0, 0, 0.07);
     --nav-bg: rgba(250, 247, 242, 0.88);
     --btn-outline-border: rgba(37, 37, 37, 0.22);
     --blob1: rgba(246, 149, 32, 0.14);
     --blob2: rgba(246, 149, 32, 0.08);
     --star-color: #f69520;
     --quote-color: #f69520;
     --name-color: #252525;
     --label-color: #9a9a9a;
     --dot-inactive: rgba(37, 37, 37, 0.18);
     --dot-active: #f69520;
     --nav-btn-bg: #ffffff;
     --nav-btn-color: #6b6b6b;
     --nav-btn-hover-bg: #f69520;
     --nav-btn-hover-color: #ffffff;
     --divider: rgba(0, 0, 0, 0.08);
     --card-hover-shadow: rgba(246, 149, 32, 0.16);
     --accent-bar: linear-gradient(90deg, #f69520, #252525);
     --section-alt-bg: #F4F1EA;
 }

 .dark {
     --brand: #D4A373;
     --brand-hover: #c4906a;
     --dark: #ffffff;
     --bg-page: #09090b;
     --bg-section: #09090b;
     --bg-testi: rgba(22, 28, 20, 0.75);
     --text-main: #f0f0f0;
     --text-muted: #a0a8a0;
     --text-subtle: #6b7a6a;
     --card-bg: #18211a;
     --card-border: rgba(255, 255, 255, 0.06);
     --nav-bg: rgba(9, 9, 11, 0.88);
     --btn-outline-border: rgba(255, 255, 255, 0.2);
     --blob1: rgba(76, 175, 80, 0.15);
     --blob2: rgba(212, 163, 115, 0.10);
     --star-color: #D4A373;
     --quote-color: #D4A373;
     --name-color: #ffffff;
     --label-color: #D4A373;
     --dot-inactive: rgba(255, 255, 255, 0.15);
     --dot-active: #D4A373;
     --nav-btn-bg: #1e2a1e;
     --nav-btn-color: #9aab98;
     --nav-btn-hover-bg: #2D4F1E;
     --nav-btn-hover-color: #ffffff;
     --divider: rgba(255, 255, 255, 0.07);
     --card-hover-shadow: rgba(76, 175, 80, 0.12);
     --accent-bar: linear-gradient(90deg, #2D4F1E, #D4A373);
     --section-alt-bg: #0d0d0f;
 }

 /* ══ Base ══ */
 *,
 *::before,
 *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Plus Jakarta Sans', sans-serif;
     background: var(--bg-page);
     color: var(--text-main);
     transition: background 0.3s, color 0.3s;
 }

 .serif {
     font-family: 'Playfair Display', serif;
 }

 img {
     display: block;
     max-width: 100%;
 }

 a {
     text-decoration: none;
 }

 .hidden {
     display: none !important;
 }

 /* ══ Preloader ══ */
 #loader {
     position: fixed;
     inset: 0;
     z-index: 999;
     background: #FAF7F2;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-direction: column;
     gap: 20px;
 }

 #loader-bar {
     width: 0;
     height: 2px;
     background: var(--brand);
     border-radius: 9999px;
 }

 @keyframes pulse {

     0%,
     100% {
         opacity: 1
     }

     50% {
         opacity: .4
     }
 }

 .pulse-anim {
     animation: pulse 1.4s ease-in-out infinite;
 }

 /* ══ Nav ══ */
 #main-nav {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 100;
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 16px 28px;
     background: var(--nav-bg);
     backdrop-filter: blur(16px);
     -webkit-backdrop-filter: blur(16px);
     border-bottom: 1px solid var(--divider);
     transition: background 0.3s;
 }

 .nav-logo {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .nav-logo img {
     width: 40px;
     height: 40px;
     border-radius: 50%;
 }

 .nav-logo-text {
     font-family: 'Playfair Display', serif;
     font-size: 1.2rem;
     font-weight: 700;
     color: var(--text-main);
 }

 .nav-links {
     display: none;
     gap: 32px;
     align-items: center;
 }

 @media(min-width:768px) {
     .nav-links {
         display: flex !important;
     }
 }

 .nav-links a {
     font-weight: 700;
     font-size: 10px;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: var(--text-main);
     transition: color 0.2s;
 }

 .nav-links a:hover {
     color: var(--brand);
 }

 .nav-links a.active {
     color: var(--brand);
     position: relative;
 }

 .nav-links a.active::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     right: 0;
     height: 2px;
     background: var(--brand);
     border-radius: 9999px;
 }

 .nav-right {
     display: flex;
     align-items: center;
     gap: 20px;
 }

 /* Hamburger button */
 #hamburger {
     display: none;
     flex-direction: column;
     justify-content: center;
     gap: 5px;
     width: 36px;
     height: 36px;
     background: transparent;
     border: none;
     cursor: pointer;
     padding: 4px;
 }

 #hamburger span {
     display: block;
     height: 2px;
     width: 100%;
     background: var(--text-main);
     border-radius: 9999px;
     transition: all 0.3s ease;
 }

 #hamburger.open span:nth-child(1) {
     transform: translateY(7px) rotate(45deg);
 }

 #hamburger.open span:nth-child(2) {
     opacity: 0;
     transform: scaleX(0);
 }

 #hamburger.open span:nth-child(3) {
     transform: translateY(-7px) rotate(-45deg);
 }

 @media (max-width: 767px) {
     #hamburger {
         display: flex;
     }
 }

 /* Overlay */
 #drawer-overlay {
     display: none;
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.45);
     z-index: 149;
     backdrop-filter: blur(2px);
 }

 #drawer-overlay.active {
     display: block;
 }

 /* Mobile Drawer */
 #mobile-drawer {
     position: fixed;
     top: 0;
     right: 0;
     width: 72vw;
     max-width: 300px;
     height: 100vh;
     background: var(--bg-section);
     z-index: 150;
     display: flex;
     flex-direction: column;
     padding: 72px 32px 40px;
     gap: 8px;
     transform: translateX(100%);
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     border-left: 1px solid var(--divider);
     box-shadow: -8px 0 40px rgba(0, 0, 0, 0.12);
 }

 #mobile-drawer.open {
     transform: translateX(0);
 }

 #mobile-drawer a {
     font-weight: 700;
     font-size: 13px;
     letter-spacing: 0.18em;
     text-transform: uppercase;
     color: var(--text-main);
     padding: 14px 0;
     border-bottom: 1px solid var(--divider);
     transition: color 0.2s, padding-left 0.2s;
 }

 #mobile-drawer a:hover {
     color: var(--brand);
     padding-left: 8px;
 }

 #mobile-drawer a.active {
     color: var(--brand);
     padding-left: 8px;
 }

 #drawer-close {
     position: absolute;
     top: 20px;
     right: 20px;
     background: transparent;
     border: none;
     font-size: 20px;
     cursor: pointer;
     color: var(--text-muted);
     width: 36px;
     height: 36px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.2s, color 0.2s;
 }

 #drawer-close:hover {
     background: var(--brand);
     color: #fff;
 }

 #theme-toggle {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     background: rgba(0, 0, 0, 0.06);
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--text-main);
     transition: background 0.2s;
 }

 .dark #theme-toggle {
     background: rgba(255, 255, 255, 0.08);
 }

 /* ══ Hero ══ */
 .hero-section {
     min-height: 100vh;
     display: flex;
     flex-direction: column;
     padding-top: 72px;
 }

 @media(min-width:768px) {
     .hero-section {
         flex-direction: row;
     }
 }

 .hero-content {
     display: flex;
     flex-direction: column;
     justify-content: center;
     padding: 60px 40px;
     opacity: 0;
 }

 @media(min-width:768px) {
     .hero-content {
         width: 50%;
         padding: 80px 80px 80px 64px;
     }
 }

 .hero-label {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.3em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 16px;
 }

 .hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(3.2rem, 7vw, 5.5rem);
     line-height: 1.06;
     margin-bottom: 20px;
     color: var(--text-main);
 }

 .hero-body {
     font-size: 1.05rem;
     opacity: 0.65;
     max-width: 380px;
     line-height: 1.75;
     margin-bottom: 40px;
 }

 .hero-btns {
     display: flex;
     gap: 14px;
     flex-wrap: wrap;
 }

 .btn-primary {
     background: var(--brand);
     color: #fff;
     padding: 14px 32px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: none;
     cursor: pointer;
     transition: background 0.25s, transform 0.2s;
 }

 .btn-primary:hover {
     background: var(--brand-hover);
     transform: translateY(-2px);
 }

 .btn-outline {
     padding: 14px 32px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: 1.5px solid var(--btn-outline-border);
     background: transparent;
     color: var(--text-main);
     cursor: pointer;
     transition: border-color 0.25s, color 0.25s;
 }

 .btn-outline:hover {
     border-color: var(--brand);
     color: var(--brand);
 }

 .hero-img-wrap {
     width: 100%;
     height: 50vh;
     position: relative;
     overflow: hidden;
 }

 @media(min-width:768px) {
     .hero-img-wrap {
         width: 50%;
         height: 100vh;
     }
 }

 .hero-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transform: scale(1.1);
 }

 .hero-img-wrap::after {
     content: '';
     position: absolute;
     inset: 0;
     background: rgba(246, 149, 32, 0.06);
 }

 /* ══ Shared section helpers ══ */
 .section-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 12px;
     text-align: center;
 }

 .section-title-c {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.5vw, 2.9rem);
     font-style: italic;
     text-align: center;
     color: var(--text-main);
     margin-bottom: 10px;
 }

 .section-bar {
     width: 56px;
     height: 3px;
     background: var(--brand);
     border-radius: 9999px;
     margin: 0 auto 52px;
 }

 .reveal {
     opacity: 0;
     transform: translateY(44px);
 }

 /* ══ About ══ */
 .about-section {
     padding: 96px 32px;
     background: var(--bg-section);
 }

 .about-inner {
     max-width: 1100px;
     margin: 0 auto;
     display: grid;
     gap: 64px;
     align-items: center;
 }

 @media(min-width:768px) {
     .about-inner {
         grid-template-columns: 1fr 1fr;
     }
 }

 .about-img-wrap {
     position: relative;
 }

 .about-blob {
     position: absolute;
     top: -16px;
     left: -16px;
     width: 100px;
     height: 100px;
     background: var(--brand);
     opacity: 0.12;
     border-radius: 50%;
     filter: blur(24px);
 }

 .about-img-wrap img {
     border-radius: 20px;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
     position: relative;
     z-index: 1;
 }

 .about-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3vw, 2.8rem);
     color: var(--text-main);
     margin-bottom: 18px;
     line-height: 1.2;
 }

 .about-title span {
     color: var(--brand);
 }

 .about-body {
     opacity: 0.68;
     line-height: 1.8;
     font-size: 1rem;
     margin-bottom: 28px;
 }

 .about-link {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     font-weight: 700;
     color: var(--brand);
     font-size: 14px;
 }

 .about-link .arrow {
     transition: transform 0.2s;
 }

 .about-link:hover .arrow {
     transform: translateX(6px);
 }

 /* ══ Menu ══ */
 .menu-section {
     padding: 96px 32px;
     background: var(--section-alt-bg);
 }

 .menu-grid {
     max-width: 1100px;
     margin: 0 auto;
     display: grid;
     gap: 24px;
 }

 @media(min-width:640px) {
     .menu-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media(min-width:1024px) {
     .menu-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 .menu-card {
     padding: 24px;
     background: var(--card-bg);
     border-radius: 16px;
     border: 1px solid var(--card-border);
     transition: box-shadow 0.25s, transform 0.25s;
 }

 .menu-card:hover {
     box-shadow: 0 12px 36px var(--card-hover-shadow);
     transform: translateY(-4px);
 }

 .menu-card-row {
     display: flex;
     justify-content: space-between;
     margin-bottom: 8px;
 }

 .menu-card h4 {
     font-size: 1.1rem;
     font-weight: 800;
     color: var(--text-main);
 }

 .menu-price {
     font-weight: 700;
     color: var(--brand);
 }

 .menu-card p {
     font-size: 13px;
     opacity: 0.6;
     font-style: italic;
 }

 .menu-cta {
     text-align: center;
     margin-top: 44px;
 }

 .menu-cta a {
     display: inline-block;
     padding: 12px 40px;
     border: 1.5px solid var(--text-main);
     border-radius: 9999px;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--text-main);
     transition: background 0.25s, border-color 0.25s, color 0.25s;
 }

 .menu-cta a:hover {
     background: var(--brand);
     border-color: var(--brand);
     color: #fff;
 }

 /* ══ Testimonials ══ */
 .testi-section {
     padding: 100px 24px;
     background: var(--bg-section);
 }

 .testi-container {
     max-width: 1200px;
     margin: 0 auto;
     background: var(--bg-testi);
     border-radius: 56px;
     padding: 72px 64px 60px;
     position: relative;
     overflow: hidden;
 }

 @media(max-width:767px) {
     .testi-container {
         border-radius: 36px;
         padding: 48px 22px 44px;
     }
 }

 .testi-container::before {
     content: '';
     position: absolute;
     width: 380px;
     height: 380px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob1) 0%, transparent 70%);
     top: -100px;
     right: -100px;
     pointer-events: none;
 }

 .testi-container::after {
     content: '';
     position: absolute;
     width: 240px;
     height: 240px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob2) 0%, transparent 70%);
     bottom: -60px;
     left: -50px;
     pointer-events: none;
 }

 .testi-header-inner {
     text-align: center;
     opacity: 0;
     transform: translateY(30px);
     margin-bottom: 0;
 }

 .testi-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--label-color);
     margin-bottom: 14px;
 }

 .testi-title {
     font-size: clamp(1.9rem, 3.5vw, 2.9rem);
     font-weight: 800;
     color: var(--text-main);
     line-height: 1.2;
 }

 .testi-slider-row {
     position: relative;
     display: flex;
     align-items: center;
     margin-top: 52px;
     opacity: 0;
     transform: translateY(40px);
 }

 .testimonialSwiper {
     width: 100%;
     padding: 8px 4px 16px !important;
     overflow: hidden;
 }

 /* Card */
 .testi-card {
     background: var(--card-bg);
     border-radius: 36px;
     padding: 40px 38px 34px;
     border: 1px solid var(--card-border);
     display: flex;
     flex-direction: column;
     height: 100%;
     box-shadow: 0 4px 28px rgba(0, 0, 0, 0.04);
     transition: transform 0.35s, box-shadow 0.35s;
     position: relative;
     overflow: hidden;
 }

 @media(max-width:767px) {
     .testi-card {
         padding: 28px 22px 26px;
         border-radius: 28px;
     }
 }

 .testi-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 28px;
     right: 28px;
     height: 3px;
     background: var(--accent-bar);
     border-radius: 0 0 4px 4px;
     opacity: 0;
     transition: opacity 0.35s;
 }

 .testi-card:hover {
     transform: translateY(-7px);
     box-shadow: 0 20px 56px var(--card-hover-shadow);
 }

 .testi-card:hover::before {
     opacity: 1;
 }

 .testi-quote {
     font-family: 'Playfair Display', serif;
     font-size: 72px;
     line-height: 0.6;
     color: var(--quote-color);
     display: block;
     margin-bottom: 20px;
 }

 .testi-stars {
     display: flex;
     gap: 3px;
     margin-bottom: 14px;
 }

 .testi-star {
     color: var(--star-color);
     font-size: 14px;
 }

 .testi-star.dim {
     opacity: 0.25;
 }

 .testi-text {
     font-size: 0.975rem;
     font-weight: 600;
     color: var(--text-main);
     opacity: 0.84;
     line-height: 1.78;
     margin-bottom: 28px;
     flex: 1;
 }

 .testi-author {
     display: flex;
     align-items: center;
     gap: 14px;
     border-top: 1px solid var(--divider);
     padding-top: 20px;
     margin-top: auto;
 }

 .testi-avatar {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     object-fit: cover;
     flex-shrink: 0;
     border: 2px solid var(--brand);
 }

 .testi-name {
     font-size: 15px;
     font-weight: 800;
     color: var(--name-color);
 }

 .testi-role {
     font-size: 10.5px;
     font-weight: 600;
     letter-spacing: 0.13em;
     text-transform: uppercase;
     color: var(--text-subtle);
     margin-top: 3px;
 }

 /* Nav buttons */
 .testi-nav-btn {
     flex-shrink: 0;
     width: 48px;
     height: 48px;
     border-radius: 50%;
     background: var(--nav-btn-bg);
     border: 1px solid var(--card-border);
     box-shadow: 0 4px 18px rgba(0, 0, 0, 0.09);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     color: var(--nav-btn-color);
     transition: all 0.25s;
     z-index: 20;
     position: absolute;
 }

 .testi-nav-btn:hover {
     background: var(--nav-btn-hover-bg);
     color: var(--nav-btn-hover-color);
     border-color: var(--nav-btn-hover-bg);
     transform: scale(1.1);
 }

 .testi-prev {
     left: -24px;
 }

 .testi-next {
     right: -24px;
 }

 @media(max-width:767px) {
     .testi-prev {
         left: 0;
     }

     .testi-next {
         right: 0;
     }
 }

 /* Pagination */
 .testi-pagination {
     display: flex;
     justify-content: center;
     margin-top: 40px;
     opacity: 0;
 }

 .swiper-pagination-bullet {
     width: 8px !important;
     height: 8px !important;
     border-radius: 9999px !important;
     background: var(--dot-inactive) !important;
     opacity: 1 !important;
     margin: 0 5px !important;
     transition: all 0.35s !important;
     cursor: pointer;
 }

 .swiper-pagination-bullet-active {
     background: var(--dot-active) !important;
     width: 28px !important;
 }

 /* ══ Team ══ */
 .team-section {
     padding: 96px 32px;
     background: var(--section-alt-bg);
 }

 .team-grid {
     max-width: 1100px;
     margin: 0 auto;
     display: grid;
     gap: 48px;
 }

 @media(min-width:768px) {
     .team-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 .team-card .img-wrap {
     border-radius: 20px;
     overflow: hidden;
     margin-bottom: 20px;
 }

 .team-card img {
     width: 100%;
     filter: grayscale(1);
     transform: scale(1.08);
     transition: filter 0.5s, transform 0.5s;
 }

 .team-card:hover img {
     filter: grayscale(0);
     transform: scale(1);
 }

 .team-card h4 {
     font-size: 1.15rem;
     font-weight: 800;
     color: var(--text-main);
 }

 .team-card p {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     color: var(--brand);
     margin-top: 6px;
 }

 /* ══ Map ══ */
 .map-section {
     height: 480px;
 }

 .map-section iframe {
     width: 100%;
     height: 100%;
     border: 0;
     /* filter: grayscale(1) contrast(1.15); */
 }

 .dark .map-section iframe {
     filter: grayscale(1) invert(1) contrast(1.15);
 }

 /* ══ Gallery ══ */
 .gallery-section {
     padding: 96px 0 100px;
     background: var(--bg-page);
     overflow: hidden;
 }

 .gallery-header {
     padding: 0 32px;
     margin-bottom: 0;
 }

 /* Controls */
 .gallery-controls {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 0 32px;
     margin-bottom: 36px;
     justify-content: center;
 }

 .gallery-ctrl-btn {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background: var(--brand);
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     flex-shrink: 0;
     transition: background 0.25s, transform 0.2s;
     box-shadow: 0 4px 16px rgba(246, 149, 32, 0.3);
 }

 .gallery-ctrl-btn:hover {
     background: var(--brand-hover);
     transform: scale(1.08);
 }

 #gallery-speed {
     -webkit-appearance: none;
     appearance: none;
     width: 120px;
     height: 4px;
     border-radius: 9999px;
     background: var(--divider);
     outline: none;
     cursor: pointer;
 }

 #gallery-speed::-webkit-slider-thumb {
     -webkit-appearance: none;
     width: 16px;
     height: 16px;
     border-radius: 50%;
     background: var(--brand);
     cursor: pointer;
     box-shadow: 0 2px 8px rgba(246, 149, 32, 0.4);
     transition: transform 0.2s;
 }

 #gallery-speed::-webkit-slider-thumb:hover {
     transform: scale(1.2);
 }

 #gallery-speed::-moz-range-thumb {
     width: 16px;
     height: 16px;
     border-radius: 50%;
     background: var(--brand);
     border: none;
     cursor: pointer;
 }

 .gallery-speed-label {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--text-subtle);
 }

 /* Track */
 .gallery-track-wrap {
     width: 100%;
     overflow: hidden;
     cursor: grab;
     user-select: none;
 }

 .gallery-track-wrap:active {
     cursor: grabbing;
 }

 .gallery-track {
     display: flex;
     gap: 20px;
     width: max-content;
     will-change: transform;
 }

 .gallery-item {
     width: 300px;
     height: 220px;
     border-radius: 24px;
     overflow: hidden;
     flex-shrink: 0;
     transition: transform 0.35s ease, box-shadow 0.35s ease;
 }

 @media (max-width: 767px) {
     .gallery-item {
         width: 220px;
         height: 165px;
         border-radius: 18px;
     }
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
     pointer-events: none;
 }

 .gallery-item:hover {
     transform: scale(1.03);
     box-shadow: 0 16px 48px rgba(0, 0, 0, 0.16);
 }

 .gallery-item:hover img {
     transform: scale(1.07);
 }


 /* ══ Footer ══ */
 footer {
     background: var(--bg-section);
     padding: 64px 32px;
     border-top: 1px solid var(--divider);
 }

 .footer-inner {
     max-width: 1100px;
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     gap: 20px;
     align-items: center;
 }

 @media(min-width:768px) {
     .footer-inner {
         flex-direction: row;
         justify-content: space-between;
     }
 }

 .footer-logo {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .footer-logo img {
     width: 46px;
     height: 46px;
     border-radius: 50%;
 }

 .footer-logo span {
     font-family: 'Playfair Display', serif;
     font-size: 1.5rem;
     color: var(--text-main);
 }

 .footer-copy {
     font-size: 13px;
     opacity: 0.55;
     text-align: center;
 }

 .footer-copy strong {
     font-weight: 700;
     border-bottom: 1px solid var(--brand);
 }

 @media (max-width: 767px) {

     .testi-prev,
     .testi-next {
         display: none !important;
     }
 }


 /* Gallery Page Css */
 /* ══ Gallery Hero Banner ══ */
 .gallery-hero {
     padding: 140px 32px 72px;
     text-align: center;
     background: var(--bg-page);
     position: relative;
     overflow: hidden;
 }

 .gallery-hero::before {
     content: '';
     position: absolute;
     top: -120px;
     left: 50%;
     transform: translateX(-50%);
     width: 600px;
     height: 600px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(246, 149, 32, 0.1) 0%, transparent 65%);
     pointer-events: none;
 }

 .dark .gallery-hero::before {
     background: radial-gradient(circle, rgba(212, 163, 115, 0.08) 0%, transparent 65%);
 }

 .gallery-hero-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 14px;
 }

 .gallery-hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2.8rem, 6vw, 5rem);
     font-style: italic;
     color: var(--text-main);
     line-height: 1.1;
     margin-bottom: 18px;
 }

 .gallery-hero-sub {
     font-size: 1rem;
     opacity: 0.6;
     max-width: 440px;
     margin: 0 auto;
     line-height: 1.75;
 }

 /* Animated underline on title */
 .gallery-hero-title span {
     position: relative;
     display: inline-block;
 }

 .gallery-hero-title span::after {
     content: '';
     position: absolute;
     bottom: 4px;
     left: 0;
     right: 0;
     height: 3px;
     background: var(--brand);
     border-radius: 9999px;
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.4s;
 }

 .gallery-hero-title span.line-in::after {
     transform: scaleX(1);
 }

 /* ══ Filter Tabs ══ */
 .gallery-filters {
     display: flex;
     justify-content: center;
     gap: 10px;
     flex-wrap: wrap;
     padding: 0 32px 56px;
 }

 .filter-btn {
     padding: 9px 22px;
     border-radius: 9999px;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     border: 1.5px solid var(--card-border);
     background: transparent;
     color: var(--text-muted);
     cursor: pointer;
     transition: all 0.25s;
 }

 .filter-btn:hover {
     border-color: var(--brand);
     color: var(--brand);
 }

 .filter-btn.active {
     background: var(--brand);
     border-color: var(--brand);
     color: #fff;
     box-shadow: 0 4px 16px rgba(246, 149, 32, 0.28);
 }

 /* ══ Masonry Grid ══ */
 .gallery-grid {
     columns: 3 280px;
     column-gap: 20px;
     padding: 0 32px 100px;
     max-width: 1300px;
     margin: 0 auto;
 }

 @media(max-width:640px) {
     .gallery-grid {
         columns: 2 160px;
         padding: 0 16px 80px;
         column-gap: 12px;
     }
 }

 .g-item {
     break-inside: avoid;
     margin-bottom: 20px;
     position: relative;
     border-radius: 20px;
     overflow: hidden;
     cursor: pointer;
     display: block;
     opacity: 0;
     transform: translateY(32px);
     transition: opacity 0.6s ease, transform 0.6s ease;
 }

 @media(max-width:640px) {
     .g-item {
         margin-bottom: 12px;
         border-radius: 14px;
     }
 }

 .g-item.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .g-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
     display: block;
 }

 .g-item:hover img {
     transform: scale(1.07);
 }

 /* Overlay on hover */
 .g-item-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 55%);
     opacity: 0;
     transition: opacity 0.35s ease;
     display: flex;
     align-items: flex-end;
     padding: 20px;
 }

 .g-item:hover .g-item-overlay {
     opacity: 1;
 }

 .g-item-label {
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.9);
 }

 /* Expand icon */
 .g-item-icon {
     position: absolute;
     top: 14px;
     right: 14px;
     width: 32px;
     height: 32px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.15);
     backdrop-filter: blur(6px);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     transform: scale(0.7);
     transition: opacity 0.3s, transform 0.3s;
 }

 .g-item:hover .g-item-icon {
     opacity: 1;
     transform: scale(1);
 }

 /* Featured tag */
 .g-item-tag {
     position: absolute;
     top: 14px;
     left: 14px;
     padding: 4px 10px;
     border-radius: 9999px;
     font-size: 9px;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     background: var(--brand);
     color: #fff;
 }

 /* Tall / wide variants for editorial feel */
 .g-tall img {
     aspect-ratio: 3/4.5;
 }

 .g-sq img {
     aspect-ratio: 1/1;
 }

 .g-wide img {
     aspect-ratio: 16/9;
 }

 .g-port img {
     aspect-ratio: 4/5;
 }

 .g-land img {
     aspect-ratio: 4/3;
 }

 /* ══ Lightbox ══ */
 #lightbox {
     position: fixed;
     inset: 0;
     z-index: 500;
     background: rgba(0, 0, 0, 0.94);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.35s ease;
     padding: 20px;
 }

 #lightbox.open {
     opacity: 1;
     pointer-events: all;
 }

 #lightbox-img {
     max-width: 90vw;
     max-height: 85vh;
     border-radius: 16px;
     object-fit: contain;
     transform: scale(0.92);
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5);
 }

 #lightbox.open #lightbox-img {
     transform: scale(1);
 }

 #lightbox-close {
     position: absolute;
     top: 20px;
     right: 24px;
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     color: #fff;
     font-size: 22px;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.2s, transform 0.2s;
 }

 #lightbox-close:hover {
     background: var(--brand);
     transform: scale(1.1);
 }

 .lightbox-nav {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     width: 48px;
     height: 48px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     color: #fff;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.2s, transform 0.2s;
 }

 .lightbox-nav:hover {
     background: var(--brand);
     transform: translateY(-50%) scale(1.1);
 }

 #lightbox-prev {
     left: 16px;
 }

 #lightbox-next {
     right: 16px;
 }

 #lightbox-caption {
     position: absolute;
     bottom: 24px;
     left: 50%;
     transform: translateX(-50%);
     font-size: 12px;
     font-weight: 600;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.55);
     white-space: nowrap;
 }

 /* ══════════════════════════════════════════
   #about-us HERO
══════════════════════════════════════════ */

 #about-us .au-hero {
     padding: 148px 32px 88px;
     background: var(--bg-page);
     position: relative;
     overflow: hidden;
     text-align: center;
 }

 #about-us .au-hero::before {
     content: '';
     position: absolute;
     top: -140px;
     left: 50%;
     transform: translateX(-50%);
     width: 700px;
     height: 700px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob1) 0%, transparent 65%);
     pointer-events: none;
 }

 #about-us .au-hero-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.34em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 18px;
 }

 #about-us .au-hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(3rem, 6.5vw, 5.2rem);
     font-style: italic;
     color: var(--text-main);
     line-height: 1.1;
     margin-bottom: 24px;
 }

 #about-us .au-hero-title span {
     color: var(--brand);
     position: relative;
     display: inline-block;
 }

 #about-us .au-hero-sub {
     font-size: 1.05rem;
     opacity: 0.65;
     max-width: 520px;
     margin: 0 auto;
     line-height: 1.8;
 }

 /* Deco line under hero */
 #about-us .au-hero-line {
     display: flex;
     justify-content: center;
     gap: 6px;
     align-items: center;
     margin-top: 48px;
 }

 #about-us .au-hero-line span {
     display: block;
     height: 2px;
     border-radius: 9999px;
     background: var(--brand);
 }

 #about-us .au-hero-line span:nth-child(1) {
     width: 40px;
     opacity: 0.3;
 }

 #about-us .au-hero-line span:nth-child(2) {
     width: 64px;
     opacity: 1;
 }

 #about-us .au-hero-line span:nth-child(3) {
     width: 40px;
     opacity: 0.3;
 }

 /* ══════════════════════════════════════════
   #about-us INTRO (story split)
══════════════════════════════════════════ */

 #about-us .au-intro {
     padding: 96px 32px;
     background: var(--bg-section);
 }

 #about-us .au-intro-inner {
     max-width: 1160px;
     margin: 0 auto;
     display: grid;
     gap: 72px;
     align-items: center;
 }

 @media(min-width:768px) {
     #about-us .au-intro-inner {
         grid-template-columns: 1fr 1fr;
     }
 }

 #about-us .au-intro-img-wrap {
     position: relative;
 }

 #about-us .au-intro-img-blob {
     position: absolute;
     top: -20px;
     left: -20px;
     width: 120px;
     height: 120px;
     border-radius: 50%;
     background: var(--brand);
     opacity: 0.1;
     filter: blur(32px);
 }

 #about-us .au-intro-img-main {
     border-radius: 28px;
     box-shadow: 0 24px 72px rgba(0, 0, 0, 0.11);
     position: relative;
     z-index: 1;
     width: 100%;
     aspect-ratio: 4/5;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 #about-us .au-intro-img-main:hover {
     transform: scale(1.02);
 }

 /* Floating badge */
 #about-us .au-intro-badge {
     position: absolute;
     bottom: -16px;
     right: -16px;
     z-index: 2;
     background: var(--brand);
     color: #fff;
     border-radius: 20px;
     padding: 16px 20px;
     text-align: center;
     box-shadow: 0 8px 32px rgba(246, 149, 32, 0.35);
 }

 #about-us .au-intro-badge-num {
     font-family: 'Playfair Display', serif;
     font-size: 2rem;
     font-weight: 700;
     line-height: 1;
     display: block;
 }

 #about-us .au-intro-badge-text {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     opacity: 0.85;
     margin-top: 4px;
     display: block;
 }

 #about-us .au-intro-tag {
     display: inline-block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.28em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 14px;
 }

 #about-us .au-intro-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.2vw, 2.8rem);
     color: var(--text-main);
     line-height: 1.2;
     margin-bottom: 20px;
 }

 #about-us .au-intro-title span {
     color: var(--brand);
 }

 #about-us .au-intro-body {
     font-size: 1rem;
     opacity: 0.7;
     line-height: 1.85;
     margin-bottom: 20px;
 }

 #about-us .au-intro-quote {
     border-left: 3px solid var(--brand);
     padding: 12px 0 12px 20px;
     font-family: 'Playfair Display', serif;
     font-style: italic;
     font-size: 1.1rem;
     color: var(--text-main);
     opacity: 0.8;
     margin: 24px 0;
 }

 /* ══════════════════════════════════════════
   #about-us VALUES / STATS
══════════════════════════════════════════ */

 #about-us .au-values {
     padding: 96px 32px;
     background: var(--bg-alt);
 }

 #about-us .au-values-inner {
     max-width: 1160px;
     margin: 0 auto;
 }

 #about-us .au-section-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 12px;
     text-align: center;
 }

 #about-us .au-section-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.5vw, 2.9rem);
     text-align: center;
     color: var(--text-main);
     margin-bottom: 10px;
     line-height: 1.2;
 }

 #about-us .au-section-bar {
     width: 56px;
     height: 3px;
     background: var(--brand);
     border-radius: 9999px;
     margin: 0 auto 56px;
 }

 #about-us .au-values-grid {
     display: grid;
     gap: 24px;
     grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
 }

 #about-us .au-value-card {
     background: var(--card-bg);
     border: 1px solid var(--card-border);
     border-radius: 28px;
     padding: 36px 32px;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     position: relative;
     overflow: hidden;
 }

 #about-us .au-value-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 24px;
     right: 24px;
     height: 3px;
     background: var(--accent-bar);
     border-radius: 0 0 4px 4px;
     opacity: 0;
     transition: opacity 0.3s;
 }

 #about-us .au-value-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 52px var(--card-hover-shadow);
 }

 #about-us .au-value-card:hover::before {
     opacity: 1;
 }

 #about-us .au-value-icon {
     width: 52px;
     height: 52px;
     border-radius: 16px;
     background: rgba(246, 149, 32, 0.12);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 24px;
     margin-bottom: 20px;
     transition: background 0.3s;
 }

 .dark #about-us .au-value-icon,
 .dark #about-us .au-value-card .au-value-icon {
     background: rgba(212, 163, 115, 0.12);
 }

 #about-us .au-value-card:hover .au-value-icon {
     background: var(--brand);
 }

 #about-us .au-value-title {
     font-size: 1.05rem;
     font-weight: 800;
     color: var(--text-main);
     margin-bottom: 10px;
 }

 #about-us .au-value-body {
     font-size: 0.9rem;
     opacity: 0.65;
     line-height: 1.75;
 }

 /* Stats row */
 #about-us .au-stats {
     display: grid;
     gap: 1px;
     grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
     background: var(--divider);
     border-radius: 24px;
     overflow: hidden;
     margin-top: 56px;
 }

 #about-us .au-stat {
     background: var(--card-bg);
     padding: 36px 24px;
     text-align: center;
     transition: background 0.3s;
 }

 #about-us .au-stat:hover {
     background: var(--brand);
 }

 #about-us .au-stat:hover .au-stat-num,
 #about-us .au-stat:hover .au-stat-label {
     color: #fff;
     opacity: 1;
 }

 #about-us .au-stat-num {
     font-family: 'Playfair Display', serif;
     font-size: 2.6rem;
     font-weight: 700;
     color: var(--brand);
     line-height: 1;
     display: block;
     margin-bottom: 8px;
     transition: color 0.3s;
 }

 #about-us .au-stat-label {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.12em;
     text-transform: uppercase;
     color: var(--text-subtle);
     transition: color 0.3s;
 }

 /* ══════════════════════════════════════════
   #about-us TEAM
══════════════════════════════════════════ */

 #about-us .au-team {
     padding: 96px 32px;
     background: var(--bg-section);
 }

 #about-us .au-team-grid {
     max-width: 1160px;
     margin: 0 auto;
     display: grid;
     gap: 36px;
     grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
 }

 #about-us .au-team-card {
     text-align: center;
     transition: transform 0.3s;
 }

 #about-us .au-team-card:hover {
     transform: translateY(-6px);
 }

 #about-us .au-team-img-wrap {
     border-radius: 24px;
     overflow: hidden;
     margin-bottom: 20px;
     position: relative;
 }

 #about-us .au-team-img-wrap img {
     width: 100%;
     aspect-ratio: 3/4;
     object-fit: cover;
     filter: grayscale(0.3);
     transition: filter 0.5s, transform 0.5s;
 }

 #about-us .au-team-card:hover .au-team-img-wrap img {
     filter: grayscale(0);
     transform: scale(1.04);
 }

 #about-us .au-team-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(246, 149, 32, 0.6) 0%, transparent 50%);
     opacity: 0;
     transition: opacity 0.4s;
     display: flex;
     align-items: flex-end;
     justify-content: center;
     padding-bottom: 20px;
 }

 .dark #about-us .au-team-overlay {
     background: linear-gradient(to top, rgba(45, 79, 30, 0.7) 0%, transparent 50%);
 }

 #about-us .au-team-card:hover .au-team-overlay {
     opacity: 1;
 }

 #about-us .au-team-name {
     font-size: 1.15rem;
     font-weight: 800;
     color: var(--text-main);
     margin-bottom: 6px;
 }

 #about-us .au-team-role {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--brand);
 }

 #about-us .au-team-bio {
     font-size: 13px;
     opacity: 0.6;
     line-height: 1.7;
     margin-top: 10px;
     max-width: 240px;
     margin-left: auto;
     margin-right: auto;
 }

 /* ══════════════════════════════════════════
   #about-us TESTIMONIALS
══════════════════════════════════════════ */

 #about-us .au-testi {
     padding: 96px 24px;
     background: var(--bg-alt);
 }

 #about-us .au-testi-container {
     max-width: 1200px;
     margin: 0 auto;
     background: var(--bg-section);
     border-radius: 52px;
     padding: 72px 60px 60px;
     position: relative;
     overflow: hidden;
 }

 @media(max-width:767px) {
     #about-us .au-testi-container {
         border-radius: 36px;
         padding: 48px 22px 44px;
     }
 }

 #about-us .au-testi-container::before {
     content: '';
     position: absolute;
     width: 380px;
     height: 380px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob1) 0%, transparent 70%);
     top: -100px;
     right: -100px;
     pointer-events: none;
 }

 #about-us .au-testi-container::after {
     content: '';
     position: absolute;
     width: 220px;
     height: 220px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob2) 0%, transparent 70%);
     bottom: -60px;
     left: -50px;
     pointer-events: none;
 }

 #about-us .au-testi-header {
     text-align: center;
     margin-bottom: 0;
     opacity: 0;
     transform: translateY(28px);
 }

 #about-us .au-testi-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 12px;
 }

 #about-us .au-testi-title {
     font-size: clamp(1.8rem, 3vw, 2.7rem);
     font-weight: 800;
     color: var(--text-main);
     line-height: 1.2;
 }

 #about-us .au-testi-slider-row {
     position: relative;
     display: flex;
     align-items: center;
     margin-top: 48px;
     opacity: 0;
     transform: translateY(36px);
 }

 #about-us .au-testi-swiper {
     width: 100%;
     padding: 8px 4px 16px !important;
     overflow: hidden;
 }

 #about-us .au-testi-card {
     background: var(--bg-alt);
     border-radius: 32px;
     padding: 36px 34px 30px;
     border: 1px solid var(--card-border);
     display: flex;
     flex-direction: column;
     height: 100%;
     box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
     transition: transform 0.35s, box-shadow 0.35s;
     position: relative;
     overflow: hidden;
 }

 #about-us .au-testi-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 24px;
     right: 24px;
     height: 3px;
     background: var(--accent-bar);
     border-radius: 0 0 4px 4px;
     opacity: 0;
     transition: opacity 0.35s;
 }

 #about-us .au-testi-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 18px 52px var(--card-hover-shadow);
 }

 #about-us .au-testi-card:hover::before {
     opacity: 1;
 }

 #about-us .au-testi-quote {
     font-family: 'Playfair Display', serif;
     font-size: 68px;
     line-height: 0.6;
     color: var(--quote-color);
     display: block;
     margin-bottom: 18px;
 }

 #about-us .au-testi-stars {
     display: flex;
     gap: 3px;
     margin-bottom: 14px;
 }

 #about-us .au-testi-star {
     color: var(--star-color);
     font-size: 13px;
 }

 #about-us .au-testi-star.dim {
     opacity: 0.25;
 }

 #about-us .au-testi-text {
     font-size: 0.97rem;
     font-weight: 600;
     color: var(--text-main);
     opacity: 0.82;
     line-height: 1.8;
     margin-bottom: 24px;
     flex: 1;
 }

 #about-us .au-testi-author {
     display: flex;
     align-items: center;
     gap: 13px;
     border-top: 1px solid var(--divider);
     padding-top: 18px;
     margin-top: auto;
 }

 #about-us .au-testi-avatar {
     width: 48px;
     height: 48px;
     border-radius: 50%;
     object-fit: cover;
     flex-shrink: 0;
     border: 2px solid var(--brand);
 }

 #about-us .au-testi-name {
     font-size: 14px;
     font-weight: 800;
     color: var(--text-main);
 }

 #about-us .au-testi-role {
     font-size: 10px;
     font-weight: 600;
     letter-spacing: 0.13em;
     text-transform: uppercase;
     color: var(--text-subtle);
     margin-top: 3px;
 }

 #about-us .au-testi-nav-btn {
     flex-shrink: 0;
     width: 46px;
     height: 46px;
     border-radius: 50%;
     background: var(--card-bg);
     border: 1px solid var(--card-border);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     color: var(--text-muted);
     transition: all 0.25s;
     z-index: 20;
     position: absolute;
 }

 #about-us .au-testi-nav-btn:hover {
     background: var(--brand);
     color: #fff;
     border-color: var(--brand);
     transform: scale(1.1);
 }

 #about-us .au-testi-prev {
     left: -23px;
 }

 #about-us .au-testi-next {
     right: -23px;
 }

 @media(max-width:767px) {

     #about-us .au-testi-prev,
     #about-us .au-testi-next {
         display: none;
     }
 }

 #about-us .au-testi-pagination {
     display: flex;
     justify-content: center;
     margin-top: 36px;
     opacity: 0;
 }

 #about-us .au-swiper-dots .swiper-pagination-bullet {
     width: 8px !important;
     height: 8px !important;
     border-radius: 9999px !important;
     background: var(--dot-inactive) !important;
     opacity: 1 !important;
     margin: 0 5px !important;
     transition: all 0.35s !important;
     cursor: pointer;
 }

 #about-us .au-swiper-dots .swiper-pagination-bullet-active {
     background: var(--dot-active) !important;
     width: 28px !important;
 }

 /* ══════════════════════════════════════════
   #about-us CTA BANNER
══════════════════════════════════════════ */

 #about-us .au-cta {
     padding: 96px 32px;
     background: var(--bg-section);
     text-align: center;
 }

 #about-us .au-cta-inner {
     max-width: 680px;
     margin: 0 auto;
 }

 #about-us .au-cta-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.5vw, 3rem);
     color: var(--text-main);
     margin-bottom: 18px;
     line-height: 1.2;
 }

 #about-us .au-cta-body {
     font-size: 1rem;
     opacity: 0.65;
     line-height: 1.8;
     margin-bottom: 36px;
 }

 #about-us .au-cta-btns {
     display: flex;
     gap: 14px;
     justify-content: center;
     flex-wrap: wrap;
 }

 #about-us .au-btn-primary {
     background: var(--brand);
     color: #fff;
     padding: 14px 36px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: none;
     cursor: pointer;
     transition: background 0.25s, transform 0.2s;
     text-decoration: none;
     display: inline-block;
 }

 #about-us .au-btn-primary:hover {
     background: var(--brand-hover);
     transform: translateY(-2px);
 }

 #about-us .au-btn-outline {
     padding: 14px 36px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: 1.5px solid var(--btn-outline-border);
     background: transparent;
     color: var(--text-main);
     cursor: pointer;
     transition: border-color 0.25s, color 0.25s;
     text-decoration: none;
     display: inline-block;
 }

 #about-us .au-btn-outline:hover {
     border-color: var(--brand);
     color: var(--brand);
 }

 /* ══════════════════════════════════════════
   #contact-us HERO
══════════════════════════════════════════ */

 #contact-us .cu-hero {
     padding: 148px 32px 80px;
     background: var(--bg-page);
     text-align: center;
     position: relative;
     overflow: hidden;
 }

 #contact-us .cu-hero::before {
     content: '';
     position: absolute;
     top: -160px;
     left: 50%;
     transform: translateX(-50%);
     width: 720px;
     height: 720px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob1) 0%, transparent 65%);
     pointer-events: none;
 }

 #contact-us .cu-hero-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.34em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 18px;
 }

 #contact-us .cu-hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(3rem, 6.5vw, 5rem);
     font-style: italic;
     color: var(--text-main);
     line-height: 1.1;
     margin-bottom: 20px;
 }

 #contact-us .cu-hero-title span {
     color: var(--brand);
 }

 #contact-us .cu-hero-sub {
     font-size: 1.05rem;
     opacity: 0.65;
     max-width: 480px;
     margin: 0 auto;
     line-height: 1.8;
 }

 #contact-us .cu-hero-line {
     display: flex;
     justify-content: center;
     gap: 6px;
     align-items: center;
     margin-top: 44px;
 }

 #contact-us .cu-hero-line span {
     display: block;
     height: 2px;
     border-radius: 9999px;
     background: var(--brand);
 }

 #contact-us .cu-hero-line span:nth-child(1) {
     width: 40px;
     opacity: 0.3;
 }

 #contact-us .cu-hero-line span:nth-child(2) {
     width: 64px;
     opacity: 1;
 }

 #contact-us .cu-hero-line span:nth-child(3) {
     width: 40px;
     opacity: 0.3;
 }

 /* ════════════════════════════════
           #contact-us PAGE STYLES
        ════════════════════════════════ */

 /* Hero */
 #contact-us .cu-hero {
     padding: 148px 32px 80px;
     background: var(--bg-page);
     text-align: center;
     position: relative;
     overflow: hidden;
 }

 #contact-us .cu-hero::before {
     content: '';
     position: absolute;
     top: -160px;
     left: 50%;
     transform: translateX(-50%);
     width: 720px;
     height: 720px;
     border-radius: 50%;
     background: radial-gradient(circle, var(--blob1) 0%, transparent 65%);
     pointer-events: none;
 }

 #contact-us .cu-hero-label {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.34em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 18px;
 }

 #contact-us .cu-hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(3rem, 6.5vw, 5rem);
     font-style: italic;
     color: var(--text-main);
     line-height: 1.1;
     margin-bottom: 20px;
 }

 #contact-us .cu-hero-title span {
     color: var(--brand);
 }

 #contact-us .cu-hero-sub {
     font-size: 1.05rem;
     opacity: 0.65;
     max-width: 480px;
     margin: 0 auto;
     line-height: 1.8;
 }

 #contact-us .cu-hero-line {
     display: flex;
     justify-content: center;
     gap: 6px;
     align-items: center;
     margin-top: 44px;
 }

 #contact-us .cu-hero-line span {
     display: block;
     height: 2px;
     border-radius: 9999px;
     background: var(--brand);
 }

 #contact-us .cu-hero-line span:nth-child(1) {
     width: 40px;
     opacity: 0.3;
 }

 #contact-us .cu-hero-line span:nth-child(2) {
     width: 64px;
     opacity: 1;
 }

 #contact-us .cu-hero-line span:nth-child(3) {
     width: 40px;
     opacity: 0.3;
 }

 /* Main split */
 #contact-us .cu-main {
     padding: 96px 32px;
     background: var(--bg-section);
 }

 #contact-us .cu-main-inner {
     max-width: 1160px;
     margin: 0 auto;
     display: grid;
     gap: 64px;
     align-items: start;
 }

 @media(min-width:900px) {
     #contact-us .cu-main-inner {
         grid-template-columns: 1fr 1.1fr;
     }
 }

 /* Info column — key: flex-start keeps everything left */
 #contact-us .cu-info-col {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     width: 100%;
 }

 #contact-us .cu-info-tag {
     display: block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.3em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 14px;
 }

 #contact-us .cu-info-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.2vw, 2.8rem);
     color: var(--text-main);
     line-height: 1.2;
     margin-bottom: 18px;
 }

 #contact-us .cu-info-title span {
     color: var(--brand);
 }

 #contact-us .cu-info-body {
     font-size: 1rem;
     opacity: 0.68;
     line-height: 1.85;
     margin-bottom: 36px;
 }

 /* ── Contact cards — THE FIX ── */
 #contact-us .cu-contact-cards {
     display: flex;
     flex-direction: column;
     align-items: stretch;
     /* all cards same width */
     gap: 12px;
     margin-bottom: 32px;
     width: 100%;
 }

 #contact-us .cu-contact-card {
     display: flex;
     flex-direction: row;
     align-items: center;
     gap: 16px;
     width: 100%;
     /* full width */
     background: var(--bg-alt);
     border: 1px solid var(--card-border);
     border-radius: 18px;
     padding: 18px 22px;
     text-decoration: none;
     /* NO transform on default — was causing the staircase */
     transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
 }

 #contact-us .cu-contact-card:hover {
     border-color: var(--brand);
     box-shadow: 0 6px 28px var(--card-hover-shadow);
     background: var(--card-bg);
 }

 #contact-us .cu-contact-icon {
     width: 46px;
     height: 46px;
     border-radius: 13px;
     background: rgba(246, 149, 32, 0.11);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 20px;
     flex-shrink: 0;
     transition: background 0.25s;
 }

 .dark #contact-us .cu-contact-icon {
     background: rgba(212, 163, 115, 0.12);
 }

 #contact-us .cu-contact-card:hover .cu-contact-icon {
     background: var(--brand);
 }

 #contact-us .cu-contact-card-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--text-subtle);
     margin-bottom: 3px;
     display: block;
 }

 #contact-us .cu-contact-card-value {
     font-size: 0.92rem;
     font-weight: 700;
     color: var(--text-main);
     display: block;
 }

 /* Hours */
 #contact-us .cu-hours {
     background: var(--bg-alt);
     border: 1px solid var(--card-border);
     border-radius: 22px;
     padding: 26px 26px 22px;
     width: 100%;
 }

 #contact-us .cu-hours-title {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 16px;
 }

 #contact-us .cu-hours-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 10px 0;
     border-bottom: 1px solid var(--divider);
 }

 #contact-us .cu-hours-row:last-child {
     border-bottom: none;
     padding-bottom: 0;
 }

 #contact-us .cu-hours-day {
     font-size: 13px;
     font-weight: 600;
     color: var(--text-main);
 }

 #contact-us .cu-hours-time {
     font-size: 13px;
     font-weight: 700;
     color: var(--brand);
 }

 #contact-us .cu-hours-closed {
     font-size: 13px;
     font-weight: 700;
     color: var(--text-subtle);
 }

 /* Map column */
 #contact-us .cu-map-embed-wrap {
     border-radius: 28px;
     overflow: hidden;
     border: 1px solid var(--card-border);
     box-shadow: 0 12px 48px rgba(0, 0, 0, 0.09);
     height: 100%;
     min-height: 520px;
     position: relative;
 }

 #contact-us .cu-map-embed-wrap::before {
     content: '';
     position: absolute;
     top: 0;
     left: 24px;
     right: 24px;
     height: 3px;
     background: var(--accent-bar);
     border-radius: 0 0 6px 6px;
     z-index: 1;
 }

 #contact-us .cu-map-embed-wrap iframe {
     width: 100%;
     height: 100%;
     border: 0;
     display: block;
     filter: grayscale(0.4) contrast(1.05);
     transition: filter 0.4s;
     min-height: 520px;
 }

 #contact-us .cu-map-embed-wrap:hover iframe {
     filter: grayscale(0) contrast(1);
 }

 .dark #contact-us .cu-map-embed-wrap iframe {
     filter: grayscale(1) invert(1) contrast(1.1);
 }

 .dark #contact-us .cu-map-embed-wrap:hover iframe {
     filter: grayscale(0.6) invert(1) contrast(1.1);
 }

 @media(max-width:899px) {
     #contact-us .cu-map-embed-wrap {
         min-height: 340px;
         border-radius: 22px;
     }

     #contact-us .cu-map-embed-wrap iframe {
         min-height: 340px;
     }
 }

 /* Social — simple horizontal row, no animation */
 #contact-us .cu-social {
     padding: 56px 32px 72px;
     background: var(--bg-alt);
     border-top: 1px solid var(--divider);
 }

 #contact-us .cu-social-inner {
     max-width: 1160px;
     margin: 0 auto;
     display: flex;
     flex-direction: row;
     align-items: center;
     justify-content: space-between;
     gap: 24px;
     flex-wrap: wrap;
 }

 #contact-us .cu-social-text h3 {
     font-family: 'Playfair Display', serif;
     font-size: clamp(1.3rem, 2vw, 1.8rem);
     color: var(--text-main);
     margin-bottom: 5px;
 }

 #contact-us .cu-social-text p {
     font-size: 13px;
     opacity: 0.6;
     line-height: 1.6;
 }

 #contact-us .cu-social-links {
     display: flex;
     flex-direction: row;
     gap: 10px;
     flex-wrap: wrap;
     align-items: center;
 }

 #contact-us .cu-social-btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 10px 18px;
     border-radius: 9999px;
     border: 1.5px solid var(--card-border);
     background: var(--card-bg);
     font-size: 13px;
     font-weight: 700;
     color: var(--text-main);
     text-decoration: none;
     white-space: nowrap;
     transition: background 0.25s, border-color 0.25s, color 0.25s;
 }

 #contact-us .cu-social-btn:hover {
     background: var(--brand);
     border-color: var(--brand);
     color: #fff;
 }

 @media(max-width:767px) {
     #contact-us .cu-social-inner {
         flex-direction: column;
         align-items: flex-start;
     }
 }

 .cu-reveal {
     opacity: 0;
     transform: translateY(40px);
 }

 /* ══════════════════════════════════
           #menu-page SCOPED STYLES
        ══════════════════════════════════ */

 /* ── Hero ── */
 #menu-page .mn-hero {
     min-height: 72vh;
     display: flex;
     align-items: flex-end;
     padding: 0;
     position: relative;
     overflow: hidden;
 }

 #menu-page .mn-hero-img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     transform: scale(1.06);
     transition: transform 8s ease;
 }

 #menu-page .mn-hero:hover .mn-hero-img {
     transform: scale(1);
 }

 #menu-page .mn-hero-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(10, 8, 6, 0.88) 0%, rgba(10, 8, 6, 0.3) 55%, transparent 100%);
 }

 #menu-page .mn-hero-content {
     position: relative;
     z-index: 2;
     padding: 0 48px 64px;
     width: 100%;
     max-width: 860px;
 }

 @media(max-width:640px) {
     #menu-page .mn-hero-content {
         padding: 0 24px 48px;
     }
 }

 #menu-page .mn-hero-label {
     display: inline-block;
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.32em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 16px;
     background: rgba(246, 149, 32, 0.12);
     padding: 6px 14px;
     border-radius: 9999px;
     border: 1px solid rgba(246, 149, 32, 0.25);
 }

 #menu-page .mn-hero-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2.8rem, 6vw, 5rem);
     font-style: italic;
     color: #ffffff;
     line-height: 1.08;
     margin-bottom: 16px;
 }

 #menu-page .mn-hero-title span {
     color: var(--brand);
 }

 #menu-page .mn-hero-sub {
     font-size: 1rem;
     color: rgba(255, 255, 255, 0.7);
     max-width: 440px;
     line-height: 1.75;
 }

 /* ── Sticky Filter Bar ── */
 #menu-page .mn-filter-bar {
     position: sticky;
     top: 72px;
     z-index: 50;
     background: var(--bg-page);
     border-bottom: 1px solid var(--divider);
     padding: 0 32px;
     transition: background 0.3s;
 }

 #menu-page .mn-filter-inner {
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     align-items: center;
     gap: 0;
     overflow-x: auto;
     scrollbar-width: none;
 }

 #menu-page .mn-filter-inner::-webkit-scrollbar {
     display: none;
 }

 #menu-page .mn-filter-btn {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 18px 24px;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     color: var(--text-subtle);
     background: transparent;
     border: none;
     border-bottom: 2px solid transparent;
     cursor: pointer;
     white-space: nowrap;
     transition: color 0.25s, border-color 0.25s;
     flex-shrink: 0;
 }

 #menu-page .mn-filter-btn:hover {
     color: var(--text-main);
 }

 #menu-page .mn-filter-btn.active {
     color: var(--brand);
     border-bottom-color: var(--brand);
 }

 #menu-page .mn-filter-btn .mn-tab-icon {
     font-size: 16px;
     line-height: 1;
 }

 #menu-page .mn-filter-count {
     font-size: 10px;
     font-weight: 800;
     background: var(--bg-alt);
     color: var(--text-subtle);
     padding: 2px 7px;
     border-radius: 9999px;
     transition: background 0.25s, color 0.25s;
 }

 #menu-page .mn-filter-btn.active .mn-filter-count {
     background: var(--brand);
     color: #fff;
 }

 #menu-page .mn-filter-wrap {
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 0 4px;
 }

 #menu-page .mn-tab-arrow {
     flex-shrink: 0;
     width: 34px;
     height: 34px;
     border-radius: 50%;
     background: var(--card-bg);
     border: 1.5px solid var(--card-border);
     color: var(--text-muted);
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: background 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
 }

 #menu-page .mn-tab-arrow:hover {
     background: var(--brand);
     border-color: var(--brand);
     color: #fff;
 }

 #menu-page .mn-tab-arrow:disabled {
     opacity: 0.3;
     pointer-events: none;
 }

 /* ── Menu Body ── */
 #menu-page .mn-body {
     padding: 64px 32px 100px;
     background: var(--bg-page);
     min-height: 60vh;
 }

 #menu-page .mn-body-inner {
     max-width: 1200px;
     margin: 0 auto;
 }

 /* Category heading */
 #menu-page .mn-cat-heading {
     display: flex;
     align-items: center;
     gap: 20px;
     margin-bottom: 36px;
 }

 #menu-page .mn-cat-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(1.8rem, 3vw, 2.4rem);
     color: var(--text-main);
     font-style: italic;
     white-space: nowrap;
 }

 #menu-page .mn-cat-line {
     flex: 1;
     height: 1px;
     background: var(--divider);
 }

 #menu-page .mn-cat-emoji {
     font-size: 28px;
     flex-shrink: 0;
 }

 /* ── Grid ── */
 #menu-page .mn-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     gap: 20px;
     margin-bottom: 72px;
 }

 @media(max-width:640px) {
     #menu-page .mn-grid {
         grid-template-columns: 1fr;
         gap: 14px;
         margin-bottom: 52px;
     }
 }

 /* ── Menu Card ── */
 #menu-page .mn-card {
     transition: transform 0.32s ease, box-shadow 0.32s ease;
 }

 #menu-page .mn-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 56px var(--card-hover-shadow);
 }

 /* Card image */
 #menu-page .mn-card-img-wrap {
     height: 200px;
     overflow: hidden;
     position: relative;
     flex-shrink: 0;
 }

 #menu-page .mn-card-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.55s ease;
 }

 #menu-page .mn-card:hover .mn-card-img-wrap img {
     transform: scale(1.07);
 }

 /* Gradient over image */
 #menu-page .mn-card-img-wrap::after {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.28) 0%, transparent 50%);
 }

 /* Badge */
 #menu-page .mn-badge {
     position: absolute;
     top: 14px;
     left: 14px;
     z-index: 2;
     font-size: 9px;
     font-weight: 800;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     padding: 5px 11px;
     border-radius: 9999px;
     color: #fff;
 }

 #menu-page .mn-badge.new {
     background: var(--badge-new);
 }

 #menu-page .mn-badge.popular {
     background: var(--badge-popular);
 }

 #menu-page .mn-badge.seasonal {
     background: var(--badge-seasonal);
 }

 /* Veg / Non-veg dot */
 #menu-page .mn-veg-dot {
     position: absolute;
     top: 14px;
     right: 14px;
     z-index: 2;
     width: 22px;
     height: 22px;
     border-radius: 4px;
     border: 2px solid;
     display: flex;
     align-items: center;
     justify-content: center;
     background: #fff;
 }

 #menu-page .mn-veg-dot.veg {
     border-color: #2E7D32;
 }

 #menu-page .mn-veg-dot.veg::after {
     content: '';
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background: #2E7D32;
     display: block;
 }

 /* Card body */
 #menu-page .mn-card-body {
     padding: 22px 24px 24px;
     display: flex;
     flex-direction: column;
     flex: 1;
 }

 #menu-page .mn-card-top {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     margin-bottom: 10px;
     gap: 12px;
 }

 #menu-page .mn-card-name {
     font-size: 1.05rem;
     font-weight: 800;
     color: var(--text-main);
     line-height: 1.3;
 }

 #menu-page .mn-card-price {
     font-family: 'Playfair Display', serif;
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--brand);
     white-space: nowrap;
     flex-shrink: 0;
 }

 #menu-page .mn-card-desc {
     font-size: 13px;
     opacity: 0.65;
     line-height: 1.7;
     margin-bottom: 16px;
     flex: 1;
 }

 /* Tags */
 #menu-page .mn-card-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
     margin-top: auto;
 }

 #menu-page .mn-tag {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     padding: 4px 10px;
     border-radius: 9999px;
     background: var(--bg-alt);
     color: var(--text-subtle);
     border: 1px solid var(--card-border);
 }

 /* Hover accent line */
 #menu-page .mn-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 20px;
     right: 20px;
     height: 3px;
     background: var(--accent-bar);
     border-radius: 0 0 4px 4px;
     opacity: 0;
     transition: opacity 0.3s;
     z-index: 3;
 }

 #menu-page .mn-card:hover::before {
     opacity: 1;
 }

 /* ── No results ── */
 #menu-page .mn-empty {
     text-align: center;
     padding: 80px 20px;
     display: none;
 }

 #menu-page .mn-empty-icon {
     font-size: 56px;
     margin-bottom: 16px;
 }

 #menu-page .mn-empty-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.8rem;
     color: var(--text-main);
     margin-bottom: 8px;
 }

 #menu-page .mn-empty-sub {
     font-size: 14px;
     opacity: 0.6;
 }

 /* ── Chef's Note Banner ── */
 #menu-page .mn-note {
     padding: 72px 32px;
     background: var(--bg-section);
     border-top: 1px solid var(--divider);
 }

 #menu-page .mn-note-inner {
     max-width: 860px;
     margin: 0 auto;
     display: flex;
     align-items: center;
     gap: 40px;
     flex-wrap: wrap;
 }

 @media(max-width:640px) {
     #menu-page .mn-note-inner {
         gap: 24px;
     }
 }

 #menu-page .mn-note-icon {
     font-size: 56px;
     flex-shrink: 0;
     line-height: 1;
 }

 #menu-page .mn-note-text {}

 #menu-page .mn-note-label {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.28em;
     text-transform: uppercase;
     color: var(--brand);
     margin-bottom: 10px;
     display: block;
 }

 #menu-page .mn-note-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(1.5rem, 2.5vw, 2rem);
     color: var(--text-main);
     margin-bottom: 12px;
     line-height: 1.25;
 }

 #menu-page .mn-note-body {
     font-size: 0.97rem;
     opacity: 0.68;
     line-height: 1.8;
     max-width: 560px;
 }

 /* ── CTA Strip ── */
 #menu-page .mn-cta {
     padding: 72px 32px;
     background: var(--bg-alt);
     text-align: center;
 }

 #menu-page .mn-cta-title {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2rem, 3.5vw, 2.8rem);
     color: var(--text-main);
     margin-bottom: 14px;
     line-height: 1.2;
 }

 #menu-page .mn-cta-sub {
     font-size: 1rem;
     opacity: 0.65;
     max-width: 420px;
     margin: 0 auto 36px;
     line-height: 1.75;
 }

 #menu-page .mn-cta-btns {
     display: flex;
     gap: 14px;
     justify-content: center;
     flex-wrap: wrap;
 }

 #menu-page .mn-btn-primary {
     background: var(--brand);
     color: #fff;
     padding: 14px 36px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: none;
     cursor: pointer;
     text-decoration: none;
     display: inline-block;
     transition: background 0.25s, transform 0.2s;
     box-shadow: 0 4px 20px rgba(246, 149, 32, 0.28);
 }

 #menu-page .mn-btn-primary:hover {
     background: var(--brand-hover);
     transform: translateY(-2px);
 }

 #menu-page .mn-btn-outline {
     padding: 14px 36px;
     border-radius: 9999px;
     font-weight: 700;
     font-size: 13px;
     border: 1.5px solid var(--card-border);
     background: var(--card-bg);
     color: var(--text-main);
     text-decoration: none;
     display: inline-block;
     transition: border-color 0.25s, color 0.25s;
 }

 #menu-page .mn-btn-outline:hover {
     border-color: var(--brand);
     color: var(--brand);
 }

 .mn-reveal {
     transition: opacity 0.6s ease, transform 0.6s ease;
 }