/* ──────────────────────────────────────────────────────────────
   ABJ MAIN STYLES (moved from homepage HTML)
   ────────────────────────────────────────────────────────────── */
:root{--clr-bg:#F7F5F2;--clr-surface:#FFFFFF;--clr-primary:#3D5F5F;--clr-primary-h:#4E7575;--clr-accent:#C8914A;--clr-accent-soft:rgba(200,145,74,0.12);--clr-text:#1C2322;--clr-muted:#5A6363;--clr-border:rgba(0,0,0,0.07);--clr-footer-bg:#141C1C;--clr-footer-text:#A0AFAF;--ff-display:'Cormorant Garamond',Georgia,serif;--ff-body:'DM Sans',system-ui,sans-serif;--radius-sm:0.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;--radius-pill:999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.08);--shadow-lg:0 12px 32px rgba(0,0,0,0.10);--shadow-xl:0 24px 64px rgba(0,0,0,0.12);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--header-h:4.5rem;}
@media(min-width:1024px){:root{--header-h:5rem;}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--ff-body);background:var(--clr-bg);color:var(--clr-text);line-height:1.6;overflow-x:hidden;padding-top:calc(var(--header-h) + 38px);}
body.no-scroll{overflow:hidden;}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;font:inherit;border:none;background:none;}
strong{font-weight:600;color:var(--clr-text);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;animation-iteration-count:1!important;}}
.display{font-family:var(--ff-display);line-height:1.1;}
h1.display{font-size:clamp(2.25rem,6vw + 0.5rem,4.25rem);font-weight:700;letter-spacing:-0.02em;}
h2.display{font-size:clamp(1.875rem,4vw + 0.5rem,3.25rem);font-weight:700;letter-spacing:-0.01em;}
h3.display{font-size:clamp(1.35rem,2.5vw + 0.25rem,1.75rem);font-weight:600;}
.body-lg{font-size:clamp(1rem,2vw,1.125rem);line-height:1.75;color:var(--clr-muted);}
.body-sm{font-size:0.875rem;color:var(--clr-muted);}
.eyebrow{font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--clr-primary);}
.text-gradient{background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
@media(max-width:767px){h1.display{line-height:1.05;}h2.display{line-height:1.1;}.hero-body{font-size:1.0625rem;line-height:1.6;}}
.container{max-width:1280px;margin:0 auto;padding:0 1.25rem;}
@media(min-width:640px){.container{padding:0 1.5rem;}}
@media(min-width:1024px){.container{padding:0 2rem;}}
.section{padding:4rem 0;}
@media(min-width:1024px){.section{padding:6rem 0;}}
@media(max-width:767px){.section{padding:3rem 0;}}
.section-sm{padding:3rem 0;}
.text-center{text-align:center;}
.grid-2{display:grid;gap:2.5rem;}
@media(min-width:1024px){.grid-2{grid-template-columns:1fr 1fr;gap:4rem;}}
.grid-3{display:grid;gap:2rem;}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr);}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:1.1rem 2.5rem;border-radius:var(--radius-pill);font-weight:600;font-size:0.9375rem;transition:all 0.3s var(--ease-spring);white-space:nowrap;color:#fff!important;border:none;}
.btn:hover{transform:translateY(-3px);}
.btn:active{transform:translateY(-1px);}
.btn-primary,.btn-outline{background:linear-gradient(135deg,var(--clr-primary),#2A4343)!important;color:#fff!important;box-shadow:0 4px 14px rgba(61,95,95,0.3);}
.btn-primary:hover,.btn-outline:hover{box-shadow:0 8px 24px rgba(61,95,95,0.5);}
.btn-ghost{color:var(--clr-muted);font-size:0.875rem;text-decoration:underline;text-underline-offset:3px;transition:color 0.2s;}
.btn-ghost:hover{color:var(--clr-primary);}
.badge{display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 1.125rem;background:var(--clr-accent-soft);border:1px solid rgba(200,145,74,0.3);border-radius:var(--radius-pill);font-size:0.8125rem;font-weight:700;color:var(--clr-primary);letter-spacing:0.05em;text-transform:uppercase;}
.abj-top-marquee{position:fixed;top:0;left:0;width:100%;height:38px;background:#3e5f5b;color:#fff;display:flex;align-items:center;overflow:hidden;font-size:13px;letter-spacing:.4px;z-index:9999;}
.abj-top-track{display:flex;white-space:nowrap;animation:abjScroll 22s linear infinite;}
.abj-top-track span{padding-right:60px;}
@keyframes abjScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.abj-top-marquee:hover .abj-top-track{animation-play-state:paused;}
.site-header{position:fixed;inset:38px 0 auto 0;z-index:50;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);height:var(--header-h);display:flex;align-items:center;transition:box-shadow 0.3s ease;will-change:box-shadow;border-bottom:1px solid rgba(0,0,0,0.05);}
.site-header.scrolled{box-shadow:0 4px 24px rgba(0,0,0,0.06);border-bottom-color:transparent;}
.header-inner{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;max-width:1280px;margin:0 auto;}
@media(min-width:640px){.header-inner{padding:0 1.5rem;}}
@media(min-width:1024px){.header-inner{padding:0 2rem;}}
.logo img{height:2.75rem;width:auto;display:block;transition:transform 0.3s;}
@media(min-width:1024px){.logo img{height:3.5rem;}}
.logo img:hover{transform:scale(1.02);}
.header-strip{flex:1;display:flex;align-items:center;justify-content:center;gap:0.75rem;}
.header-strip-text{display:none;}
@media(min-width:1024px){.header-strip-text{display:flex;align-items:center;gap:0.5rem;font-weight:600;color:var(--clr-primary);}.header-strip-actions{display:flex;gap:0.75rem;}}
.header-strip-mobile{display:flex;align-items:center;gap:0.4rem;font-weight:700;font-size:0.8125rem;color:var(--clr-primary);}
@media(min-width:1024px){.header-strip-mobile{display:none;}}
.header-strip-actions{display:none;}
@media(min-width:1024px){.header-strip-actions{display:flex;gap:0.5rem;}}
.header-btn{padding:0.5rem 1.25rem;border-radius:var(--radius-pill);font-size:0.8125rem;font-weight:600;background:var(--clr-primary)!important;color:#fff!important;border:1px solid var(--clr-primary);transition:all 0.2s ease;}
.header-btn:hover{background:var(--clr-primary-h)!important;box-shadow:0 4px 12px rgba(61,95,95,0.2);}
.header-btn.highlight{background:linear-gradient(135deg,var(--clr-primary),#2A4343)!important;border:none;}
.burger{height:2.75rem;width:2.75rem;border-radius:50%;background:var(--clr-bg);border:1px solid var(--clr-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:all 0.2s var(--ease-spring);flex-shrink:0;}
.burger:hover{background:var(--clr-primary);border-color:var(--clr-primary);}
.burger:hover span{background:#fff;}
.burger span{display:block;width:1.25rem;height:2px;background:var(--clr-primary);transition:all 0.3s ease;border-radius:2px;}
.burger.open{background:var(--clr-primary);border-color:var(--clr-primary);}
.burger.open span{background:#fff;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:1024px){.burger{height:3.25rem;width:3.25rem;}.burger span{width:1.5rem;}}
.nav-drawer{position:fixed;inset:0;z-index:100;pointer-events:none;}
.nav-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(6px);opacity:0;transition:opacity 0.4s ease;}
.nav-panel{position:absolute;inset:0 0 0 auto;width:min(28rem,100vw);background:var(--clr-footer-bg);transform:translateX(100%);transition:transform 0.5s var(--ease-out-expo);overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) transparent;}
@media(max-width:767px){.nav-panel{background:rgba(20,28,28,0.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);}}
.nav-panel::-webkit-scrollbar{width:5px;}
.nav-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:10px;}
.nav-drawer.open{pointer-events:all;}
.nav-drawer.open .nav-overlay{opacity:1;}
.nav-drawer.open .nav-panel{transform:translateX(0);box-shadow:-10px 0 40px rgba(0,0,0,0.5);}
.nav-close-row{display:flex;justify-content:flex-end;padding:1.5rem;position:sticky;top:0;z-index:10;background:linear-gradient(to bottom,var(--clr-footer-bg) 70%,transparent);}
@media(max-width:767px){.nav-close-row{background:linear-gradient(to bottom,rgba(20,28,28,0.9) 70%,transparent);}}
.nav-close{color:#fff;padding:0.75rem;border-radius:50%;background:rgba(255,255,255,0.1);transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.nav-close:hover{background:var(--clr-accent);transform:rotate(90deg);}
.nav-links{padding:0 2.5rem 4rem;display:flex;flex-direction:column;gap:0.5rem;}
.nav-link{font-family:var(--ff-display);font-size:1.75rem;font-weight:600;color:rgba(255,255,255,0.75);display:block;padding:0.5rem 0;transition:color 0.25s ease,transform 0.3s var(--ease-out-expo);opacity:0;transform:translateX(2rem);border-bottom:1px solid rgba(255,255,255,0.05);}
.nav-link:last-child{border-bottom:none;}
.nav-link:hover{color:var(--clr-accent);transform:translateX(8px)!important;}
.nav-drawer.open .nav-link{opacity:1;transform:translateX(0);}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s var(--ease-out-expo),transform 0.8s var(--ease-out-expo);}
.reveal.from-left{transform:translateX(-30px);}
.reveal.from-right{transform:translateX(30px);}
.reveal.scale-up{transform:scale(0.92);}
.reveal.visible{opacity:1;transform:none;}
.stagger>*:nth-child(1){transition-delay:0.05s;}
.stagger>*:nth-child(2){transition-delay:0.15s;}
.stagger>*:nth-child(3){transition-delay:0.25s;}
.stagger>*:nth-child(4){transition-delay:0.35s;}
.stagger>*:nth-child(5){transition-delay:0.45s;}
.scroll-progress{position:fixed;top:38px;left:0;right:0;height:4px;z-index:51;background:linear-gradient(to right,var(--clr-accent) var(--progress,0%),transparent 0%);transform-origin:left;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.sticky-quote{position:fixed;top:calc(var(--header-h) + 38px);left:0;right:0;z-index:45;background:linear-gradient(135deg,var(--clr-primary),#2A4343);padding:0.65rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:0.75rem;transform:translateY(-110%);transition:transform 0.4s var(--ease-out-expo);box-shadow:0 4px 20px rgba(61,95,95,0.4);}
.sticky-quote.sq-on{transform:translateY(0);}
.sq-text{font-size:0.875rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:0.5rem;}
.sq-text svg{width:1rem;height:1rem;color:var(--clr-accent);flex-shrink:0;}
.sq-btn{background:var(--clr-accent);color:#fff!important;padding:0.45rem 1.25rem;border-radius:var(--radius-pill);font-size:0.8125rem;font-weight:700;white-space:nowrap;transition:background 0.2s;}
.sq-btn:hover{background:#dfa153;}
.sq-x{background:rgba(255,255,255,0.15);border:none;color:#fff;width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;line-height:1;flex-shrink:0;padding:0;}
@media(max-width:599px){.sq-label{display:none;}}
.hero{background:linear-gradient(180deg,#FFFFFF 0%,var(--clr-bg) 100%);padding:3rem 0 4rem;position:relative;overflow:hidden;}
@media(min-width:1024px){.hero{padding:2.5rem 0 5rem;}.hero-grid{grid-template-columns:0.75fr 1.25fr;gap:4rem;align-items:flex-start!important;}}
@media(max-width:767px){.hero{padding:1.5rem 0 3rem;}}
@keyframes pulseGlow{0%{transform:scale(1);opacity:0.4;}50%{transform:scale(1.1);opacity:0.6;}100%{transform:scale(1);opacity:0.4;}}
.hero::before{content:'';position:absolute;top:-10%;right:-5%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(200,145,74,0.08) 0%,transparent 70%);pointer-events:none;border-radius:50%;animation:pulseGlow 8s infinite alternate ease-in-out;}
.hero-grid{display:grid;gap:3rem;align-items:center;}
.hero-eyebrow{margin-bottom:1.5rem;}
.hero-title{color:var(--clr-text);margin-bottom:1.5rem;}
.hero-body{color:var(--clr-muted);margin-bottom:2rem;font-size:clamp(1rem,2vw,1.125rem);line-height:1.8;max-width:90%;}
.hero-phone{display:flex;align-items:center;gap:0.5rem;font-weight:700;color:var(--clr-primary);font-size:1.125rem;margin-bottom:2.5rem;}
.hero-phone svg{width:1.25rem;height:1.25rem;color:var(--clr-accent);}
.hero-phone a{color:inherit;transition:color 0.2s;position:relative;}
.hero-phone a::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--clr-accent);transform:scaleX(0);transform-origin:right;transition:transform 0.3s ease;}
.hero-phone a:hover::after{transform:scaleX(1);transform-origin:left;}
.hero-actions{display:flex;gap:1rem;flex-wrap:nowrap;align-items:center;}
@media(max-width:1023px){.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;}.hero-eyebrow{align-self:center;}.hero-body{text-align:center;margin-left:auto;margin-right:auto;max-width:100%;}.hero-phone{justify-content:center;}.hero-actions{justify-content:center;width:100%;}}
@media(max-width:639px){.hero-actions{flex-direction:column;}.hero-actions .btn{width:100%;padding:1.125rem;font-size:1rem;}}
.hero-visual{position:relative;}
.hero-image-wrap{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);position:relative;transform:translateZ(0);}
.hero-image-wrap::after{content:'';position:absolute;inset:0;border-radius:var(--radius-xl);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2);pointer-events:none;}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;}
@media(max-width:1023px){.hero-image-wrap{margin-bottom:2.5rem;}.hero-image-wrap img{aspect-ratio:5/4;}}
.hero-pullquote{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:rgba(255,255,255,0.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.5);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:0 8px 32px rgba(0,0,0,0.12);}
.hero-pq-stars{color:#F59E0B;font-size:0.875rem;letter-spacing:0.1em;margin-bottom:0.4rem;}
.hero-pq-text{font-family:var(--ff-display);font-size:1rem;font-style:italic;color:var(--clr-text);line-height:1.55;margin-bottom:0.75rem;}
.hero-pq-author{display:flex;align-items:center;gap:0.6rem;}
.hero-pq-avatar{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent));display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:700;color:#fff;flex-shrink:0;}
.hero-pq-name{font-size:0.8125rem;font-weight:700;color:var(--clr-text);}
.hero-pq-src{font-size:0.7rem;color:var(--clr-muted);}
@media(max-width:1023px){.hero-pullquote{position:static;margin-top:2.5rem;}}
.trust-strip{background:#fff;border-bottom:1px solid var(--clr-border);padding:1.5rem 0;overflow:hidden;position:relative;}
.trust-badges{display:flex;gap:1rem;justify-content:center;}
@media(max-width:767px){.trust-strip::after{content:'';position:absolute;top:0;right:0;bottom:0;width:4rem;background:linear-gradient(to left,#fff,transparent);pointer-events:none;z-index:2;}.trust-badges{justify-content:flex-start;overflow-x:auto;padding-bottom:1.5rem;margin-bottom:-1.5rem;padding-right:4rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}.trust-badges::-webkit-scrollbar{display:none;}.trust-badge{flex:0 0 auto;scroll-snap-align:center;}}
.trust-badge{display:inline-flex;align-items:center;gap:0.6rem;padding:0.75rem 1.5rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-pill);font-size:0.875rem;font-weight:600;color:var(--clr-primary);box-shadow:var(--shadow-sm);transition:all 0.2s;}
.trust-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);background:#fff;border-color:rgba(200,145,74,0.3);}
.trust-badge svg{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--clr-accent);}
.g-review-badge{display:inline-flex;align-items:center;gap:0.75rem;background:#fff;border:1px solid rgba(200,145,74,0.25);border-radius:var(--radius-pill);padding:0.6rem 1.25rem;box-shadow:var(--shadow-md);text-decoration:none;transition:all 0.25s;margin-top:0.5rem;}
.g-review-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.g-review-g{font-size:1.125rem;font-weight:900;background:linear-gradient(135deg,#4285F4,#EA4335,#FBBC05,#34A853);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.g-review-info{display:flex;flex-direction:column;gap:0.1rem;}
.g-review-stars{color:#F59E0B;font-size:0.8125rem;}
.g-review-score{font-size:0.9375rem;font-weight:800;color:var(--clr-text);}
.g-review-count{font-size:0.75rem;color:var(--clr-muted);}
.brand-story{background:var(--clr-bg);padding:5rem 0;border-bottom:1px solid var(--clr-border);}
@media(max-width:767px){.brand-story{padding:4rem 0;}.brand-story p{text-align:center;}.brand-story h2{text-align:center;}}
.brand-story-grid{display:grid;gap:2rem;}
@media(min-width:768px){.brand-story-grid{grid-template-columns:1fr 1fr;gap:4rem;}}
.brand-story p{color:var(--clr-muted);line-height:1.8;font-size:1.0625rem;}
.brand-story h2{text-align:center;margin-bottom:3rem;max-width:900px;margin-left:auto;margin-right:auto;}
@media(max-width:767px){.brand-story h2{margin-bottom:2rem;}}
.areas-section{background:#fff;border-bottom:1px solid var(--clr-border);}
.areas-intro{max-width:50rem;margin:0 auto 2rem;text-align:center;}
.areas-grid{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;}
.area-pill{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-pill);font-family:var(--ff-body);font-size:0.8125rem;font-weight:600;color:var(--clr-primary);transition:all 0.2s;white-space:nowrap;box-shadow:var(--shadow-sm);}
.area-pill:hover{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary);transform:translateY(-1px);}
.area-dot{width:0.375rem;height:0.375rem;background:var(--clr-accent);border-radius:50%;flex-shrink:0;}
.p-card-page-link{display:block;font-size:0.75rem;font-weight:700;color:var(--clr-muted);margin-top:0.625rem;padding-top:0.625rem;border-top:1px solid var(--clr-border);text-decoration:none;transition:color 0.2s;letter-spacing:0.04em;text-transform:uppercase;}
.p-card-page-link:hover{color:var(--clr-accent);}
.partners{background:#fff;border-bottom:1px solid var(--clr-border);padding:3.5rem 0;overflow:hidden;content-visibility:auto;contain-intrinsic-size:180px;}
.partners-label{text-align:center;font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--clr-muted);margin-bottom:2.5rem;}
.marquee-track{display:flex;width:max-content;animation:marquee 60s linear infinite;will-change:transform;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-set{display:flex;align-items:center;gap:4rem;padding:0 2rem;}
.marquee-set img{height:2.5rem;width:auto;object-fit:contain;opacity:0.4;transition:all 0.3s;filter:grayscale(1);}
.marquee-set img:hover{opacity:1;filter:none;transform:scale(1.1);}
@media(min-width:768px){.marquee-set img{height:3rem;}}
@keyframes marquee{to{transform:translateX(-50%);}}
.cmp-section{background:linear-gradient(180deg,#f0ece8 0%,#fff 60%);padding:5rem 0;overflow:hidden;}
@media(max-width:767px){.cmp-section{padding:3rem 0;}}
.cmp-intro{max-width:52rem;margin:0 auto 3rem;text-align:center;}
.cmp-outer{max-width:880px;margin:0 auto;position:relative;padding-top:1.5rem;}
.cmp-pop{position:absolute;top:0;right:0;width:27%;display:flex;justify-content:center;z-index:2;}
.cmp-pop-badge{background:var(--clr-accent);color:#fff;font-size:0.625rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;padding:0.3rem 1rem;border-radius:var(--radius-pill);white-space:nowrap;box-shadow:0 3px 12px rgba(200,145,74,0.5);}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-xl);box-shadow:0 24px 64px rgba(0,0,0,0.14);}
.cmp-tbl{width:100%;min-width:500px;border-collapse:collapse;}
.cmp-tbl thead th{padding:1.1rem 0.9rem;font-size:0.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:0.09em;text-align:center;}
.cth-feat{width:36%;background:#1A2E2E;color:rgba(255,255,255,0.5);text-align:left!important;border-bottom:1px solid rgba(255,255,255,0.08);}
.cth-hs,.cth-nc{background:#243838;color:rgba(255,255,255,0.7);border-left:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.08);}
.cth-abj{background:var(--clr-accent);color:#fff;border-left:2px solid rgba(255,255,255,0.3);border-bottom:1px solid rgba(255,255,255,0.2);letter-spacing:0.06em;}
.cmp-tbl tbody tr{transition:background 0.15s;}
.cmp-tbl tbody tr:nth-child(odd) td:not(.ctd-abj){background:#fff;}
.cmp-tbl tbody tr:nth-child(even) td:not(.ctd-abj){background:var(--clr-bg);}
.cmp-tbl tbody tr:hover td:not(.ctd-abj){background:#ede8e2;}
.ctd-feat{padding:0.85rem 0.9rem;font-size:0.8125rem;font-weight:600;color:var(--clr-text);border-right:1px solid var(--clr-border);line-height:1.4;}
.ctd-hs,.ctd-nc{padding:0.85rem 0.65rem;font-size:0.8rem;text-align:center;color:var(--clr-muted);border-right:1px solid var(--clr-border);line-height:1.4;}
.ctd-abj{padding:0.85rem 0.9rem;text-align:center;background:rgba(200,145,74,0.07);font-weight:700;color:var(--clr-primary);border-left:2px solid var(--clr-accent);line-height:1.4;}
.cmp-tbl tbody tr:nth-child(even) .ctd-abj{background:rgba(200,145,74,0.13);}
.ctick{color:#059669;font-weight:700;}
.ccross{color:#DC2626;}
.cpart{color:#D97706;font-size:0.75rem;font-weight:700;}
.cmp-cta{text-align:center;margin-top:2.5rem;}
@media(max-width:767px){.cmp-pop{display:none;}.cmp-scroll{border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(0,0,0,0.1);overflow-x:visible;}.cmp-tbl{min-width:0;width:100%;}.cth-hs,.cth-nc,.ctd-hs,.ctd-nc{display:none;}.cth-feat{width:52%;}.cth-feat::after{content:"What we offer";color:rgba(255,255,255,0.7);font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;}.cth-abj{width:48%;}.ctd-feat{font-size:0.8rem;padding:0.75rem 0.6rem;font-weight:600;}.ctd-abj{font-size:0.8rem;padding:0.75rem 0.6rem;border-left:3px solid var(--clr-accent);}.cmp-tbl thead th{font-size:0.65rem;padding:0.9rem 0.6rem;letter-spacing:0.05em;}.cmp-intro{padding:0 0.5rem;}}
.stats-section{background:linear-gradient(135deg,var(--clr-primary),#1A2828);padding:5rem 0;position:relative;overflow:hidden;}
.stats-section::before{content:'';position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;text-align:center;position:relative;}
@media(max-width:767px){.stats-grid{gap:2rem 1rem;}}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:2rem;}}
.stat-num{font-family:var(--ff-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;line-height:1;margin-bottom:0.5rem;text-shadow:0 4px 12px rgba(0,0,0,0.3);}
.stat-label{font-size:0.875rem;color:var(--clr-accent);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
@media(max-width:767px){.stat-label{font-size:0.75rem;}}
.portfolio{background:var(--clr-bg);position:relative;}
.section-header{max-width:50rem;margin:0 auto 3.5rem;}
@media(max-width:767px){.section-header{margin:0 auto 2.5rem;}}
.section-header p{margin-top:1.25rem;}
.portfolio-scroll{display:flex;overflow-x:auto;overscroll-behavior-x:contain;gap:1.25rem;padding:0 1.25rem 2.5rem;margin:0 -1.25rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.portfolio-scroll::-webkit-scrollbar{display:none;}
@media(max-width:767px){.portfolio-scroll{padding-right:3rem;}.portfolio::after{content:'';position:absolute;top:0;right:0;bottom:0;width:3rem;background:linear-gradient(to left,var(--clr-bg),transparent);pointer-events:none;z-index:2;}}
@media(min-width:768px){.portfolio-scroll{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible;padding:0;margin:0;scroll-snap-type:none;gap:2rem;}}
@media(min-width:1024px){.portfolio-scroll{grid-template-columns:repeat(3,1fr);}}
.p-card{background:var(--clr-surface);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--clr-border);cursor:pointer;transition:all 0.4s var(--ease-spring);flex:0 0 85vw;scroll-snap-align:center;box-shadow:var(--shadow-md);display:flex;flex-direction:column;}
@media(min-width:768px){.p-card{flex:none;scroll-snap-align:none;}}
.p-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:rgba(200,145,74,0.4);}
.p-card:focus-visible{outline:3px solid var(--clr-primary);outline-offset:3px;}
.p-card-img{aspect-ratio:4/3;overflow:hidden;position:relative;}
.p-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-out-expo);display:block;}
.p-card:hover .p-card-img img{transform:scale(1.08);}
.p-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.4),transparent 60%);opacity:0;transition:opacity 0.3s;}
.p-card:hover .p-card-img::after{opacity:1;}
.p-card-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column;}
.p-card-title{font-family:var(--ff-display);font-size:1.5rem;font-weight:700;color:var(--clr-text);margin-bottom:0.5rem;}
.p-card-sub{font-size:0.9375rem;color:var(--clr-muted);flex-grow:1;}
.p-card-cta{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.875rem;font-weight:700;color:var(--clr-primary);margin-top:1.25rem;transition:gap 0.2s,color 0.2s;text-transform:uppercase;letter-spacing:0.05em;}
.p-card:hover .p-card-cta{gap:0.75rem;color:var(--clr-accent);}
.p-card-cta svg{width:1rem;height:1rem;}
@media(max-width:767px){.portfolio-scroll .p-card{flex:0 0 84vw!important;}}
.services-detail{background:#fff;border-top:1px solid var(--clr-border);content-visibility:auto;contain-intrinsic-size:400px;}
.services-detail h3{font-family:var(--ff-display);font-size:1.75rem;font-weight:700;margin-bottom:1rem;color:var(--clr-primary);}
.services-detail p{color:var(--clr-muted);line-height:1.8;margin-bottom:1.25rem;font-size:1rem;}
.services-detail .grid-3>div{background:var(--clr-bg);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--clr-border);transition:transform 0.3s ease;}
.services-detail .grid-3>div:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(61,95,95,0.2);}
@media(max-width:767px){.services-detail .grid-3>div{text-align:center;}.services-detail h3{text-align:center;}}
.journey{background:var(--clr-bg);content-visibility:auto;contain-intrinsic-size:600px;}
.journey-steps{display:grid;gap:0;max-width:50rem;margin:4rem auto 0;}
@media(max-width:767px){.journey-steps{margin-top:2.5rem;}}
.journey-step{display:grid;grid-template-columns:3.5rem 1fr;gap:2rem;padding-bottom:3.5rem;position:relative;}
@media(max-width:767px){.journey-step{gap:1.25rem;padding-bottom:3rem;}}
.journey-step:last-child{padding-bottom:0;}
.journey-step:not(:last-child) .step-line{content:'';position:absolute;left:1.625rem;top:3.5rem;bottom:0;width:3px;border-radius:3px;background:linear-gradient(to bottom,var(--clr-primary) 0%,rgba(200,145,74,0.3) 100%);}
.step-num{width:3.5rem;height:3.5rem;flex-shrink:0;background:var(--clr-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-weight:700;font-size:1.25rem;position:relative;z-index:1;box-shadow:0 0 0 6px var(--clr-bg),0 4px 12px rgba(61,95,95,0.3);transition:transform 0.4s var(--ease-spring),background 0.3s;}
.journey-step:hover .step-num{transform:scale(1.15);background:var(--clr-accent);}
.step-title{font-family:var(--ff-display);font-size:1.5rem;font-weight:700;margin-bottom:0.75rem;color:var(--clr-primary);}
.step-desc{color:var(--clr-muted);font-size:1rem;line-height:1.8;}
@media(max-width:767px){.step-title{text-align:center;}.step-desc{text-align:center;}}
.finance{background:#fff;content-visibility:auto;contain-intrinsic-size:400px;padding:5rem 0;}
.finance-card{max-width:70rem;margin:0 auto;background:var(--clr-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--clr-border);display:grid;}
@media(min-width:768px){.finance-card{grid-template-columns:1.2fr 0.8fr;}}
.finance-content{padding:4rem 3rem;display:flex;flex-direction:column;justify-content:center;}
@media(max-width:639px){.finance-content{padding:2.5rem 1.5rem;align-items:center;text-align:center;}.finance-content .btn{width:100%;align-self:center!important;}}
.finance-title{margin:1.25rem 0 1rem;color:var(--clr-text);font-size:clamp(2rem,4vw,2.75rem);line-height:1.1;}
.finance-body{color:var(--clr-muted);line-height:1.8;margin-bottom:2.5rem;font-size:1.0625rem;}
.finance-logo{display:flex;align-items:center;justify-content:center;background:#fff;padding:1.5rem;border-left:1px solid var(--clr-border);}
@media(max-width:767px){.finance-logo{border-left:none;border-top:1px solid var(--clr-border);padding:2rem;}}
.finance-logo img{max-width:100%;width:100%;height:auto;transition:transform 0.3s;}
.finance-logo img:hover{transform:scale(1.05);}
.finance-disclaimer{margin-top:2rem;font-size:0.75rem;color:var(--clr-muted);opacity:0.8;max-width:60rem;margin-left:auto;margin-right:auto;text-align:center;}
.faq-section{background:var(--clr-bg);content-visibility:auto;contain-intrinsic-size:500px;}
.faq-list{display:flex;flex-direction:column;gap:1rem;max-width:50rem;margin:0 auto;}
.faq-item{border:1px solid var(--clr-border);border-radius:var(--radius-md);background:#fff;overflow:hidden;transition:all 0.3s;box-shadow:var(--shadow-sm);}
.faq-item:hover{box-shadow:var(--shadow-md);border-color:rgba(200,145,74,0.3);}
.faq-item.open{box-shadow:var(--shadow-md);border-color:var(--clr-primary);}
.faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;text-align:left;font-size:1.0625rem;font-weight:700;color:var(--clr-primary);transition:background 0.2s;}
@media(max-width:639px){.faq-btn{font-size:1rem;padding:1rem 1.25rem;}}
.faq-btn:hover{background:var(--clr-bg);}
.faq-icon{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--clr-accent);transition:transform 0.4s var(--ease-spring);}
.faq-item.open .faq-icon{transform:rotate(180deg);color:var(--clr-primary);}
.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s var(--ease-out-expo);}
.faq-item.open .faq-body{grid-template-rows:1fr;}
.faq-body-inner{overflow:hidden;}
.faq-body-text{padding:0 1.5rem 1.5rem;color:var(--clr-muted);font-size:0.9375rem;line-height:1.8;}
@media(max-width:639px){.faq-body-text{padding:0 1.25rem 1.25rem;}}
.testimonials{background:#fff;content-visibility:auto;contain-intrinsic-size:500px;position:relative;}
.rating-row{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin:1rem 0;flex-wrap:wrap;}
.stars{display:flex;gap:0.25rem;color:#F59E0B;}
.stars svg{width:1.25rem;height:1.25rem;}
.rating-text{font-weight:700;font-size:1.125rem;color:var(--clr-text);}
.reviews-scroll{display:flex;overflow-x:auto;overscroll-behavior-x:contain;gap:1.5rem;padding:0 1.25rem 2.5rem;margin:0 -1.25rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.reviews-scroll::-webkit-scrollbar{display:none;}
@media(max-width:767px){.reviews-scroll{padding-right:3rem;}.testimonials::after{content:'';position:absolute;top:0;right:0;bottom:0;width:3rem;background:linear-gradient(to left,#fff,transparent);pointer-events:none;z-index:2;}}
@media(min-width:768px){.reviews-scroll{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;margin:0;padding:0;gap:2rem;scroll-snap-type:none;}}
.review-card{background:var(--clr-bg);border-radius:var(--radius-xl);padding:2rem;border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex:0 0 88vw;scroll-snap-align:center;transition:all 0.3s var(--ease-spring);}
@media(min-width:768px){.review-card{flex:none;scroll-snap-align:none;}}
.review-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(200,145,74,0.3);}
.review-stars{display:flex;gap:0.25rem;color:#F59E0B;margin-bottom:1.25rem;}
.review-stars svg{width:1.125rem;height:1.125rem;}
.review-text{font-style:italic;color:var(--clr-muted);font-size:1rem;line-height:1.8;flex-grow:1;}
.review-author{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--clr-border);}
.review-avatar{width:3rem;height:3rem;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff;box-shadow:var(--shadow-sm);}
.review-name{font-weight:700;font-size:1rem;color:var(--clr-text);}
.review-verified{font-size:0.8125rem;color:var(--clr-primary);font-weight:600;display:flex;align-items:center;gap:0.25rem;}
.review-verified svg{width:0.875rem;height:0.875rem;color:#10B981;}
.map-wrap{height:28rem;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--clr-border);position:relative;background:#e8ebe8;cursor:pointer;content-visibility:auto;contain-intrinsic-size:450px;}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:rgba(255,255,255,0.7);backdrop-filter:blur(4px);transition:all 0.3s;}
.map-wrap:hover .map-placeholder{background:rgba(255,255,255,0.9);}
.map-icon-wrap{width:4.5rem;height:4.5rem;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);color:var(--clr-accent);transition:transform 0.4s var(--ease-spring);}
.map-wrap:hover .map-icon-wrap{transform:scale(1.15) rotate(-5deg);color:var(--clr-primary);}
.map-icon-wrap svg{width:2rem;height:2rem;}
.map-label{font-family:var(--ff-display);font-size:1.75rem;font-weight:700;color:var(--clr-primary);}
.map-sub{font-size:1rem;color:var(--clr-muted);font-weight:500;}
.map-cta-hint{padding:0.75rem 1.75rem;background:var(--clr-primary);color:#fff;border-radius:var(--radius-pill);font-size:0.875rem;font-weight:700;opacity:0;transform:translateY(10px);transition:all 0.3s;margin-top:0.5rem;box-shadow:var(--shadow-md);}
.map-wrap:hover .map-cta-hint{opacity:1;transform:translateY(0);}
.map-wrap iframe{width:100%;height:100%;border:none;}
.footer-seo{background:#fff;border-top:1px solid var(--clr-border);padding:3rem 0;text-align:center;content-visibility:auto;contain-intrinsic-size:100px;}
.footer-seo p{font-size:0.8125rem;color:var(--clr-muted);max-width:80rem;margin:0 auto;line-height:1.8;}
.footer-seo strong{font-weight:700;color:var(--clr-text);}
.site-footer{background:var(--clr-footer-bg);color:var(--clr-footer-text);padding:5rem 0 3rem;content-visibility:auto;contain-intrinsic-size:400px;}
.footer-grid{display:grid;gap:3rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1.5fr 1.2fr;gap:4rem;}}
.footer-logo{font-family:var(--ff-display);font-size:2rem;font-weight:700;color:#fff;margin-bottom:1.25rem;letter-spacing:-0.02em;}
.footer-tagline{font-size:0.9375rem;line-height:1.8;max-width:24rem;color:rgba(255,255,255,0.7);}
.footer-socials{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:2rem;}
.social-link{width:2.75rem;height:2.75rem;border-radius:50%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:var(--clr-footer-text);transition:all 0.3s var(--ease-spring);}
.social-link:hover{background:var(--clr-accent);color:#fff;border-color:var(--clr-accent);transform:translateY(-4px);}
.social-link svg{width:1.25rem;height:1.25rem;}
.footer-col-title{font-family:var(--ff-body);font-size:1rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:0.1em;}
.footer-links{display:flex;flex-direction:column;gap:0.75rem;}
.footer-link{font-size:0.9375rem;color:rgba(255,255,255,0.7);transition:all 0.2s;display:inline-block;width:fit-content;}
.footer-link:hover{color:var(--clr-accent);transform:translateX(5px);}
.footer-links-2col{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem 1rem;}
.footer-contact-list{display:flex;flex-direction:column;gap:1rem;}
.footer-contact-item{font-size:0.9375rem;color:rgba(255,255,255,0.7);}
.footer-contact-cta{margin-top:1.5rem;}
.footer-bottom{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);font-size:0.875rem;text-align:center;color:rgba(255,255,255,0.5);}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left;}}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{color:rgba(255,255,255,0.5);transition:color 0.2s;}
.footer-legal a:hover{color:#fff;}
.modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,0.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
.modal-backdrop.open{opacity:1;pointer-events:all;}
.modal-panel{background:var(--clr-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;transform:scale(0.95) translateY(20px);transition:transform 0.4s var(--ease-spring),opacity 0.3s ease;opacity:0;max-height:92vh;overflow-y:auto;width:100%;max-width:60rem;}
.modal-backdrop.open .modal-panel{transform:scale(1) translateY(0);opacity:1;}
.modal-close{position:absolute;top:1.25rem;right:1.25rem;z-index:10;width:2.75rem;height:2.75rem;border-radius:50%;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--clr-text);box-shadow:var(--shadow-sm);border:1px solid var(--clr-border);transition:all 0.2s;}
.modal-close:hover{background:var(--clr-accent);color:#fff;transform:scale(1.1) rotate(90deg);border-color:var(--clr-accent);}
.modal-close svg{width:1.25rem;height:1.25rem;}
.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--clr-border);background:var(--clr-bg);}
.modal-title{font-family:var(--ff-display);font-size:1.75rem;font-weight:700;color:var(--clr-primary);}
.modal-body{display:grid;}
@media(min-width:768px){.modal-body{grid-template-columns:1.2fr 1fr;}}
.modal-img-wrap{aspect-ratio:4/3;overflow:hidden;background:#eee;}
.modal-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-content{padding:2rem;display:flex;flex-direction:column;}
.modal-desc{color:var(--clr-muted);font-size:1rem;line-height:1.8;flex-grow:1;}
.modal-price-box{background:var(--clr-bg);border:1px solid rgba(200,145,74,0.3);border-radius:var(--radius-md);padding:1.25rem;margin:1.5rem 0;border-left:4px solid var(--clr-accent);}
.modal-price{font-weight:700;font-size:1.125rem;color:var(--clr-text);}
.modal-price-sub{font-size:0.875rem;color:var(--clr-muted);margin-top:0.25rem;}
.cookie-banner{position:fixed;inset:auto 0 0;z-index:150;background:rgba(20,28,28,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--clr-footer-text);padding:1.5rem;transform:translateY(100%);transition:transform 0.5s var(--ease-out-expo);box-shadow:0 -10px 40px rgba(0,0,0,0.3);border-top:1px solid rgba(255,255,255,0.1);}
.cookie-banner.show{transform:translateY(0);}
.cookie-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;align-items:center;}
@media(min-width:768px){.cookie-inner{flex-direction:row;justify-content:space-between;}}
.cookie-title{font-weight:700;color:#fff;margin-bottom:0.5rem;font-size:1.125rem;}
.cookie-desc{font-size:0.9375rem;max-width:40rem;line-height:1.6;}
.cookie-actions{display:flex;gap:1rem;flex-shrink:0;width:100%;justify-content:center;}
@media(min-width:768px){.cookie-actions{width:auto;}}
.cookie-btn{padding:0.75rem 1.5rem;border-radius:var(--radius-pill);font-size:0.9375rem;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.cookie-btn-decline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3);}
.cookie-btn-decline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5);}
.cookie-btn-accept{background:var(--clr-accent);color:#fff;border:1px solid var(--clr-accent);}
.cookie-btn-accept:hover{background:#dfa153;transform:translateY(-2px);box-shadow:0 4px 12px rgba(200,145,74,0.4);}
@keyframes pulseSoft{0%{box-shadow:0 4px 12px rgba(61,95,95,0.3);}50%{box-shadow:0 4px 22px rgba(61,95,95,0.7);}100%{box-shadow:0 4px 12px rgba(61,95,95,0.3);}}
.mobile-cta-bar{position:fixed;inset:auto 0 0;z-index:40;background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,0.6);padding:0.8rem 1rem;padding-bottom:calc(0.8rem + env(safe-area-inset-bottom));display:flex;gap:0.75rem;align-items:center;box-shadow:0 -8px 32px rgba(0,0,0,0.12);transition:transform 0.4s var(--ease-out-expo);}
@media(min-width:768px){.mobile-cta-bar{display:none;}}
.mobile-cta-bar a{flex:1;text-align:center;font-size:0.9375rem;padding:0.875rem 0.5rem;border-radius:var(--radius-pill);font-weight:700;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:transform 0.2s;border:none;touch-action:manipulation;}
.mobile-cta-bar a:active{transform:scale(0.98);}
.mobile-cta-call{background:var(--clr-surface)!important;color:var(--clr-primary)!important;border:2px solid var(--clr-primary)!important;}
.mobile-cta-book{background:linear-gradient(135deg,var(--clr-primary),#2A4343)!important;color:#fff!important;animation:pulseSoft 3s infinite;}
.mobile-cta-bar svg{width:1.125rem;height:1.125rem;}
@media(max-width:767px){.mobile-cta-wa{background:linear-gradient(135deg,#25D366,#128C7E)!important;color:#fff!important;flex:1;}.mobile-cta-wa svg{width:1.125rem;height:1.125rem;}}
@keyframes hapticB{0%,100%{transform:scale(1);}20%{transform:scale(0.96);}50%{transform:scale(1.04);}80%{transform:scale(0.98);}}
@media(max-width:767px){.mobile-cta-book.hf{animation:hapticB 0.45s ease forwards;}}

/* ──────────────────────────────────────────────────────────────
   SEARCH OVERLAY STYLES (from Part 3)
   ────────────────────────────────────────────────────────────── */
.abj-search-btn{height:2.75rem;width:2.75rem;border-radius:50%;background:var(--clr-bg);border:1px solid var(--clr-border);color:var(--clr-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s var(--ease-spring);flex-shrink:0;margin-right:0.5rem;}
.abj-search-btn:hover{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff;transform:scale(1.05);}
.abj-search-btn svg{width:1.125rem;height:1.125rem;transition:transform 0.2s ease;}
.abj-search-btn:hover svg{transform:rotate(-8deg);}
@media(min-width:1024px){.abj-search-btn{height:3.25rem;width:3.25rem;}.abj-search-btn svg{width:1.25rem;height:1.25rem;}}
@media(max-width:639px){.abj-search-btn{height:2.5rem;width:2.5rem;margin-right:0.25rem;}.abj-search-btn svg{width:1rem;height:1rem;}}
.abj-search-overlay{position:fixed;inset:0;z-index:300;background:rgba(20,28,28,0.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity 0.3s ease;display:flex;align-items:flex-start;justify-content:center;padding:5rem 1rem 2rem;overflow-y:auto;-webkit-overflow-scrolling:touch;}
@media(min-width:768px){.abj-search-overlay{padding:7rem 1.5rem 3rem;}}
.abj-search-overlay.open{opacity:1;pointer-events:all;}
body.abj-search-no-scroll{overflow:hidden;}
.abj-search-panel{width:100%;max-width:44rem;background:#fff;border-radius:1.25rem;box-shadow:0 24px 80px rgba(0,0,0,0.30),0 0 0 1px rgba(255,255,255,0.04);overflow:hidden;transform:translateY(-1.5rem) scale(0.97);opacity:0;transition:transform 0.45s cubic-bezier(0.16,1,0.3,1),opacity 0.3s ease;display:flex;flex-direction:column;max-height:calc(100vh - 7rem);}
@media(min-width:768px){.abj-search-panel{max-height:calc(100vh - 10rem);}}
.abj-search-overlay.open .abj-search-panel{transform:translateY(0) scale(1);opacity:1;}
.abj-search-bar{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,0.06);position:relative;flex-shrink:0;}
.abj-search-bar-icon{flex-shrink:0;color:var(--clr-primary);display:flex;align-items:center;justify-content:center;}
.abj-search-bar-icon svg{width:1.25rem;height:1.25rem;}
.abj-search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--ff-body);font-size:1.0625rem;color:var(--clr-text);padding:0.5rem 0;min-width:0;-webkit-appearance:none;appearance:none;}
@media(min-width:768px){.abj-search-input{font-size:1.125rem;}}
.abj-search-input::placeholder{color:#B8C2C2;}
.abj-search-clear{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--clr-bg);color:var(--clr-muted);display:none;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all 0.2s;padding:0;}
.abj-search-clear svg{width:0.75rem;height:0.75rem;}
.abj-search-clear.show{display:flex;}
.abj-search-clear:hover{background:var(--clr-text);color:#fff;}
.abj-search-close{flex-shrink:0;display:none;align-items:center;justify-content:center;height:2rem;padding:0 0.625rem;border-radius:0.5rem;background:var(--clr-bg);border:1px solid var(--clr-border);color:var(--clr-muted);font-family:var(--ff-body);font-size:0.6875rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;}
@media(min-width:768px){.abj-search-close{display:inline-flex;}}
.abj-search-close:hover{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff;}
.abj-search-mobile-cancel{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--clr-bg);border:1px solid var(--clr-border);color:var(--clr-muted);cursor:pointer;padding:0;}
.abj-search-mobile-cancel svg{width:0.875rem;height:0.875rem;}
@media(min-width:768px){.abj-search-mobile-cancel{display:none;}}
.abj-search-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.15) transparent;}
.abj-search-body::-webkit-scrollbar{width:6px;}
.abj-search-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);border-radius:6px;}
.abj-search-pop{padding:1.25rem 1.25rem 1.5rem;}
.abj-search-pop-label{font-family:var(--ff-body);font-size:0.6875rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--clr-muted);margin-bottom:0.75rem;}
.abj-search-pop-grid{display:flex;flex-wrap:wrap;gap:0.4rem;}
.abj-search-pop-pill{display:inline-flex;align-items:center;gap:0.35rem;padding:0.45rem 0.875rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:999px;font-family:var(--ff-body);font-size:0.8125rem;font-weight:600;color:var(--clr-primary);cursor:pointer;transition:all 0.2s;}
.abj-search-pop-pill:hover{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px rgba(61,95,95,0.18);}
.abj-search-section-head{padding:0.875rem 1.25rem 0.5rem;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;background:linear-gradient(to bottom,rgba(247,245,242,0.7),transparent);position:sticky;top:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1;}
.abj-search-section-title{font-family:var(--ff-body);font-size:0.6875rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--clr-primary);display:flex;align-items:center;gap:0.4rem;}
.abj-search-section-title svg{width:0.875rem;height:0.875rem;color:var(--clr-accent);}
.abj-search-section-count{font-family:var(--ff-body);font-size:0.6875rem;color:var(--clr-muted);font-weight:600;}
.abj-search-pages{padding:0 0.5rem 0.5rem;}
.abj-search-page-row{display:flex;align-items:center;gap:0.875rem;padding:0.75rem 0.75rem;border-radius:0.75rem;cursor:pointer;text-decoration:none;color:inherit;transition:background 0.15s,transform 0.15s;}
.abj-search-page-row:hover,.abj-search-page-row.kbd-focus{background:var(--clr-bg);}
.abj-search-page-row:active{transform:scale(0.99);}
.abj-search-page-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:0.625rem;background:linear-gradient(135deg,var(--clr-primary),#2A4343);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(61,95,95,0.20);}
.abj-search-page-icon svg{width:1.125rem;height:1.125rem;}
.abj-search-page-row:nth-child(even) .abj-search-page-icon{background:linear-gradient(135deg,var(--clr-accent),#A6743A);box-shadow:0 4px 10px rgba(200,145,74,0.25);}
.abj-search-page-text{flex:1;min-width:0;}
.abj-search-page-title{font-family:var(--ff-body);font-size:0.9375rem;font-weight:700;color:var(--clr-text);line-height:1.25;margin-bottom:0.125rem;}
.abj-search-page-desc{font-family:var(--ff-body);font-size:0.8125rem;color:var(--clr-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.abj-search-page-arrow{flex-shrink:0;color:var(--clr-muted);opacity:0;transform:translateX(-4px);transition:all 0.2s;display:flex;}
.abj-search-page-arrow svg{width:1rem;height:1rem;}
.abj-search-page-row:hover .abj-search-page-arrow,.abj-search-page-row.kbd-focus .abj-search-page-arrow{opacity:1;transform:translateX(0);color:var(--clr-accent);}
.abj-search-blades{padding:0 1.25rem 1rem;}
.abj-search-blade-grid{display:grid;grid-template-columns:1fr;gap:0.625rem;}
@media(min-width:560px){.abj-search-blade-grid{grid-template-columns:1fr 1fr;}}
.abj-search-blade{display:flex;align-items:center;gap:0.75rem;padding:0.5rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:0.75rem;cursor:pointer;text-decoration:none;color:inherit;transition:all 0.2s var(--ease-spring);overflow:hidden;}
.abj-search-blade:hover,.abj-search-blade.kbd-focus{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.08);border-color:rgba(200,145,74,0.4);background:#fff;}
.abj-search-blade-img{flex-shrink:0;width:3.25rem;height:3.25rem;border-radius:0.5rem;overflow:hidden;background:#eee;position:relative;}
.abj-search-blade-img img{width:100%;height:100%;object-fit:cover;display:block;}
.abj-search-blade-text{flex:1;min-width:0;}
.abj-search-blade-title{font-family:var(--ff-body);font-size:0.875rem;font-weight:700;color:var(--clr-text);line-height:1.2;margin-bottom:0.1rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
.abj-search-blade-sub{font-family:var(--ff-body);font-size:0.6875rem;color:var(--clr-muted);font-weight:600;line-height:1.3;}
.abj-search-hl{background:rgba(200,145,74,0.20);color:var(--clr-text);font-weight:700;border-radius:2px;padding:0 1px;}
.abj-search-empty{padding:2.5rem 1.5rem 3rem;text-align:center;}
.abj-search-empty-icon{width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:50%;background:var(--clr-bg);color:var(--clr-muted);display:flex;align-items:center;justify-content:center;}
.abj-search-empty-icon svg{width:1.5rem;height:1.5rem;}
.abj-search-empty-t{font-family:var(--ff-display);font-size:1.25rem;font-weight:700;color:var(--clr-text);margin-bottom:0.4rem;}
.abj-search-empty-s{font-family:var(--ff-body);font-size:0.875rem;color:var(--clr-muted);line-height:1.5;max-width:24rem;margin:0 auto 1.25rem;}
.abj-search-empty-cta{display:inline-flex;align-items:center;gap:0.5rem;padding:0.65rem 1.25rem;background:var(--clr-primary);color:#fff!important;border-radius:999px;font-family:var(--ff-body);font-size:0.8125rem;font-weight:700;text-decoration:none;transition:all 0.2s;}
.abj-search-empty-cta:hover{background:#2A4343;transform:translateY(-1px);box-shadow:0 4px 12px rgba(61,95,95,0.25);}
.abj-search-foot{flex-shrink:0;padding:0.625rem 1.25rem;background:var(--clr-bg);border-top:1px solid var(--clr-border);display:none;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--ff-body);font-size:0.6875rem;color:var(--clr-muted);}
@media(min-width:768px){.abj-search-foot{display:flex;}}
.abj-search-foot-keys{display:flex;align-items:center;gap:0.875rem;}
.abj-search-foot-keys span{display:inline-flex;align-items:center;gap:0.3rem;}
.abj-search-foot-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 0.3rem;background:#fff;border:1px solid var(--clr-border);border-radius:0.25rem;font-family:var(--ff-body);font-size:0.625rem;font-weight:700;color:var(--clr-text);box-shadow:0 1px 0 rgba(0,0,0,0.04);}
.abj-search-foot-brand{font-weight:600;color:var(--clr-primary);}