/* UC-LIVE-PATCH: 2026-09-20-live-root-4-fixes */
:root{--bg:#080808;--panel:#101010;--panel2:#171717;--text:#f5f5f3;--muted:#b0b0ab;--gold:#d6a83e;--gold2:#f0cd74;--line:rgba(255,255,255,.12);--header:86px;--max:1280px;--radius:30px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.site-header{position:sticky;top:0;z-index:1000;background:rgba(8,8,8,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max);margin:auto;padding:12px 24px;min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;min-width:180px}.brand img{display:block;width:clamp(150px,14vw,215px);height:auto}.primary-nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,34px);white-space:nowrap}.primary-nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ddd;padding:13px 0;position:relative}.primary-nav a.active{color:#fff}.primary-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--gold);transform:scaleX(0);transition:.25s}.primary-nav a.active::after{transform:scaleX(1)}.primary-nav .nav-cta{background:var(--gold);color:#090909;padding:12px 18px;border-radius:999px}.floating-actions{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:900;display:grid;gap:10px}.float-action{display:flex;align-items:center;gap:10px;min-width:142px;padding:12px 14px;border-radius:999px;background:rgba(16,16,16,.94);border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.float-action.book{background:var(--gold);color:#0a0a0a;border-color:transparent}.float-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:12px}.float-action.book .float-icon{background:rgba(0,0,0,.1)}.hero{min-height:calc(100svh - var(--header));position:relative;display:grid;align-items:end;overflow:hidden}.media{position:relative;background:linear-gradient(135deg,#222,#0f0f0f);overflow:hidden}.media>span{position:absolute;inset:0;display:grid;place-items:center;color:#777;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:20px;text-align:center}.media.has-image>span{display:none}.media-hero{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:clamp(80px,10vw,150px) 0}.eyebrow{margin:0 0 14px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1,.footer-statement h2{margin:0;font-size:clamp(62px,9vw,140px);line-height:.83;letter-spacing:-.065em}.hero-copy{font-size:clamp(17px,2vw,24px);color:#d6d6d2;max-width:650px;margin:26px 0 0}.hero-actions,.branch-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.btn-gold{background:var(--gold);color:#0a0a0a}.btn-ghost{background:rgba(13,13,13,.48);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(8px)}.section{width:min(var(--max),calc(100% - 48px));margin:auto;padding:clamp(90px,10vw,150px) 0}.section-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,7vw,110px);align-items:start}.section h2,.section-title h2,.franchise-head h2,.franchise-cta h2{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.055em;margin:0}.copy-stack{font-size:clamp(17px,1.6vw,21px);line-height:1.65;color:#c6c6c2}.copy-stack p:first-child{margin-top:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px}.stats>div{padding:30px 24px;border-right:1px solid var(--line)}.stats>div:last-child{border-right:0}.stats strong{display:block;font-size:clamp(38px,5vw,68px);letter-spacing:-.05em}.stats span{display:block;color:var(--muted);margin-top:8px}.core-values{margin-top:100px}.section-title.compact{margin-bottom:38px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.value-grid article{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:34px}.value-grid span{color:var(--gold);font-size:12px;font-weight:800}.value-grid h3{font-size:clamp(28px,3vw,44px);margin:40px 0 12px;letter-spacing:-.04em}.value-grid p{color:var(--muted);line-height:1.65;margin:0}.awards-hero{width:min(1500px,calc(100% - 32px));margin:0 auto 50px;min-height:clamp(540px,70vw,850px);position:relative;border-radius:34px;overflow:hidden;display:flex;align-items:flex-end}.awards-media{position:absolute;inset:0}.awards-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 70%)}.awards-copy{position:relative;z-index:2;padding:clamp(32px,6vw,78px);max-width:880px}.awards-copy h2{font-size:clamp(46px,6vw,88px);line-height:.92;letter-spacing:-.055em;margin:0}.awards-copy p:last-child{max-width:680px;color:#ddd;line-height:1.6}.services{padding-bottom:40px}.services-intro p:last-child,.section-title>p:last-child,.franchise-head>p:last-child{font-size:18px;color:var(--muted);max-width:740px;line-height:1.6}.service-scene{width:min(1500px,calc(100% - 32px));margin:0 auto 28px;min-height:min(780px,78vw);position:relative;overflow:hidden;border-radius:34px;border:1px solid var(--line);display:flex;align-items:flex-end}.service-background{position:absolute;inset:0}.service-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.46) 46%,rgba(0,0,0,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 52%)}.service-scene.align-right .service-gradient{background:linear-gradient(270deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.46) 46%,rgba(0,0,0,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 52%)}.service-overlay{position:relative;z-index:2;width:min(620px,55%);margin:clamp(28px,5vw,70px);padding:clamp(16px,2vw,30px)}.align-right .service-overlay{margin-left:auto}.service-no{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:12px;color:#ddd;margin-bottom:28px}.service-overlay h3{font-size:clamp(42px,5vw,76px);line-height:.94;letter-spacing:-.055em;margin:0 0 20px}.service-overlay>p:not(.eyebrow){font-size:clamp(16px,1.6vw,20px);line-height:1.65;color:#e1e1dd;max-width:590px}.service-overlay .btn{margin-top:10px}.variant-row{position:absolute;z-index:5;right:28px;bottom:28px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:55%}.variant{border:1px solid rgba(255,255,255,.22);background:rgba(10,10,10,.65);backdrop-filter:blur(10px);border-radius:999px;color:#ddd;padding:10px 15px;font-size:12px;font-weight:700;cursor:pointer}.variant.active{background:var(--gold);color:#0b0b0b;border-color:var(--gold)}.showcase{overflow:hidden}.section-title{margin-bottom:54px}.portrait-stage{display:grid;grid-template-columns:minmax(100px,1fr) minmax(280px,490px) minmax(100px,1fr);gap:24px;align-items:center}.portrait-main{width:100%}.portrait-media{aspect-ratio:3/4;border-radius:28px}.portrait-side{border:0;background:none;padding:0;opacity:.3;cursor:pointer;transform:scale(.92)}.portrait-side .portrait-media{width:min(100%,340px);margin:auto}.stage-meta{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;color:var(--muted)}.arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#121212;color:#fff;cursor:pointer}.reviews-viewport{min-height:340px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;transition:opacity .38s ease,transform .38s ease}.reviews-grid.is-changing{opacity:.15;transform:translateY(8px)}.review-card{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:30px;min-height:320px;display:flex;flex-direction:column}.stars{color:var(--gold);letter-spacing:.13em;font-size:15px}.review-card blockquote{margin:25px 0 35px;font-size:clamp(20px,2vw,28px);line-height:1.35;letter-spacing:-.025em}.review-person{margin-top:auto;display:flex;flex-direction:column;gap:6px}.review-person span{color:var(--muted);font-size:13px}.review-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;color:var(--muted)}.franchise{background:#0c0c0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.franchise-head{padding-bottom:45px}.franchise-form-wrap{padding-top:0}.premium-form{background:#131313;border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,48px)}.form-head{margin-bottom:28px}.form-head h3,.booking-step h3{font-size:clamp(30px,4vw,48px);margin:0 0 10px;letter-spacing:-.04em}.form-head p,.booking-step p{color:var(--muted);line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:flex;flex-direction:column;gap:8px;color:#ddd;font-size:13px;font-weight:700}.span-2{grid-column:1/-1}input,select,textarea{width:100%;background:#0b0b0b;border:1px solid #313131;color:#fff;border-radius:14px;padding:14px 15px;outline:none;min-height:48px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.submit-btn{margin-top:22px}.form-note{color:#777;font-size:12px}.franchise-content{padding-top:20px}.franchise-feature{padding:65px 0;border-top:1px solid var(--line)}.franchise-feature h3,.territory h3{font-size:clamp(38px,5vw,68px);line-height:.97;letter-spacing:-.05em;margin:0 0 18px}.franchise-feature>p:not(.eyebrow),.territory p{color:var(--muted);font-size:18px;line-height:1.65;max-width:860px}.mini-stats{display:flex;gap:70px;margin-top:40px}.mini-stats strong{display:block;font-size:60px}.mini-stats span{color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:24px;overflow:hidden;margin:65px 0}.info-grid article{padding:30px;border-right:1px solid var(--line)}.info-grid article:last-child{border-right:0}.info-grid span{color:var(--gold);font-size:12px}.info-grid h4{font-size:24px;margin:35px 0 10px}.info-grid p{color:var(--muted);line-height:1.55}.inclusion-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.inclusion-list span{padding:22px;border:1px solid var(--line);border-radius:16px}.territory{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:end;padding:75px 0;border-top:1px solid var(--line)}.territory>div:first-child>strong{font-size:clamp(84px,11vw,165px);line-height:.8;color:var(--gold);letter-spacing:-.07em}.timeline>div{display:grid;grid-template-columns:70px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.timeline b{color:var(--gold)}.timeline span{display:flex;justify-content:space-between;gap:30px}.timeline small{color:var(--muted);max-width:520px}.franchise-cta{width:min(1500px,calc(100% - 32px));margin:0 auto 32px;border-radius:30px;padding:clamp(34px,6vw,80px);background:linear-gradient(135deg,#1b160b,#0c0c0c 68%);border:1px solid rgba(214,168,62,.25);display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.franchise-cta h2{max-width:850px}.book{padding-top:130px}.booking-flow{display:grid;gap:18px}.booking-step{border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,44px);background:#0e0e0e}.booking-step[aria-disabled="true"]{opacity:.65}.step-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:26px}.step-head>span{width:45px;height:45px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);font-size:12px;flex:0 0 auto}.step-head .eyebrow{margin-bottom:8px}.step-head h3{margin-top:0}.branch-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.branch-choice{background:#131313;border:1px solid var(--line);color:#fff;border-radius:18px;padding:22px;text-align:left;cursor:pointer;min-height:125px}.branch-choice strong{display:block;font-size:21px;margin-bottom:10px}.branch-choice small{color:var(--muted);line-height:1.5}.branch-choice.selected{border-color:var(--gold);background:#1b170d}.calendar-card{max-width:760px;margin:auto;background:#121212;border:1px solid var(--line);border-radius:22px;padding:22px}.calendar-card.is-locked{pointer-events:none;filter:grayscale(.4);opacity:.5}.calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:20px}.calendar-toolbar strong{text-align:center;font-size:22px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#777;font-size:11px;text-transform:uppercase}.calendar-day{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:#171717;color:#eee;cursor:pointer;min-width:0}.calendar-day:hover:not(:disabled){border-color:#777}.calendar-day:disabled{color:#515151;background:#0c0c0c;cursor:not-allowed}.calendar-day.selected{background:var(--gold);border-color:var(--gold);color:#080808;font-weight:800}.calendar-day.empty{visibility:hidden}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:#777;font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:50%;background:#171717;border:1px solid var(--line)}.legend-dot.selected{background:var(--gold);border-color:var(--gold)}.legend-dot.unavailable{background:#0c0c0c}.booking-form.is-locked{pointer-events:none;opacity:.5}.branch-hero{min-height:570px;display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);border-radius:30px;overflow:hidden;margin-bottom:24px;background:#101010}.branch-hero.reverse{grid-template-columns:.9fr 1.1fr}.branch-hero.reverse .branch-media{order:2}.branch-media{min-height:570px}.branch-copy{padding:clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:center;min-width:0}.branch-copy h3{font-size:clamp(40px,5vw,70px);line-height:.95;letter-spacing:-.055em;margin:0 0 22px;overflow-wrap:anywhere}.branch-copy p{color:var(--muted);font-size:17px;line-height:1.5}.text-link{color:var(--gold2);font-weight:700;display:inline-flex;align-items:center;min-height:48px}.contact-hub{padding-top:100px}.contact-hub>h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;line-height:.95;max-width:780px}.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:36px}.contact-list>a{display:grid;grid-template-columns:62px 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:15px 18px;background:#0f0f0f;min-height:92px}.channel-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#1b1b1b;color:var(--gold2);font-weight:800;font-size:12px}.contact-list strong{font-size:17px}.contact-list em{font-style:normal;color:#777;font-size:12px}.footer{width:min(var(--max),calc(100% - 48px));margin:auto;padding:110px 0 30px}.footer-statement{padding-bottom:90px}.footer-logo{width:min(250px,60vw);height:auto;margin-bottom:28px}.footer-statement h2{font-size:clamp(52px,8vw,110px)}.footer-statement .btn{margin-top:28px}.footer-grid{display:grid;grid-template-columns:1.1fr .9fr 1.2fr .8fr;gap:45px;border-top:1px solid var(--line);padding-top:50px}.footer-grid h3{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px;color:#ddd}.footer-grid p,.footer-grid a{display:block;color:#888;line-height:1.65;font-size:13px;margin:0 0 8px}.footer-grid strong{color:#bbb}.footer-bottom{display:flex;justify-content:space-between;color:#555;border-top:1px solid var(--line);padding-top:22px;margin-top:55px;font-size:12px}.reveal{opacity:0;transform:translate3d(0,20px,0) scale(.995);transition:opacity .68s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){:root{--header:78px}.header-inner{padding-inline:20px}.brand img{width:165px}.primary-nav{gap:18px}.primary-nav a{font-size:11px}.floating-actions{right:10px}.float-action{min-width:0}.float-action span:last-child{display:none}.service-scene{min-height:700px}.service-overlay{width:min(620px,68%)}.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid article:nth-child(2){border-right:0}.info-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:repeat(2,1fr)}.branch-hero,.branch-hero.reverse{grid-template-columns:1fr 1fr}.branch-copy{padding:40px}.branch-copy h3{font-size:50px}.franchise-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:820px){html{scroll-padding-top:145px}.site-header{overflow:hidden}.header-inner{min-height:auto;padding:10px 0 0;display:block}.brand{padding:0 18px 9px}.brand img{width:154px}.primary-nav{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;padding:0 14px 10px;scroll-snap-type:x proximity}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{flex:0 0 auto;padding:12px 16px 10px;font-size:11px;scroll-snap-align:center}.primary-nav .nav-cta{margin-left:6px;padding:11px 16px}.hero{min-height:740px}.hero-content{width:calc(100% - 32px);padding-bottom:72px}.hero h1{font-size:clamp(54px,13vw,86px)}.section{width:calc(100% - 32px);padding:85px 0}.section-grid{grid-template-columns:1fr;gap:28px}.stats{grid-template-columns:1fr}.stats>div{border-right:0;border-bottom:1px solid var(--line)}.stats>div:last-child{border-bottom:0}.value-grid{grid-template-columns:1fr}.awards-hero{width:calc(100% - 20px);min-height:620px;border-radius:24px}.awards-copy{padding:30px 24px}.service-scene{width:calc(100% - 20px);min-height:680px;border-radius:24px}.service-gradient,.service-scene.align-right .service-gradient{background:linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 44%,rgba(0,0,0,.12) 75%)}.service-overlay,.align-right .service-overlay{width:auto;margin:0;padding:34px 24px 88px}.service-overlay h3{font-size:clamp(42px,11vw,64px)}.variant-row{left:18px;right:18px;bottom:18px;max-width:none;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.variant-row::-webkit-scrollbar{display:none}.variant{flex:0 0 auto}.portrait-stage{grid-template-columns:64px minmax(0,1fr) 64px;gap:8px;margin-inline:-45px}.portrait-main{max-width:420px;margin:auto}.portrait-side{opacity:.22}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}.franchise-head{width:calc(100% - 32px)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.mini-stats{flex-direction:column;gap:18px}.info-grid,.info-grid.four{grid-template-columns:1fr}.info-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important}.info-grid article:last-child{border-bottom:0!important}.inclusion-list{grid-template-columns:1fr}.territory{grid-template-columns:1fr;gap:35px}.timeline span{flex-direction:column;gap:7px}.franchise-cta{width:calc(100% - 20px);border-radius:24px}.branch-picker{grid-template-columns:1fr}.calendar-card{padding:14px}.calendar-grid,.calendar-weekdays{gap:4px}.calendar-day{border-radius:9px}.branch-hero,.branch-hero.reverse{display:flex;flex-direction:column;min-height:0}.branch-hero.reverse .branch-media{order:0}.branch-media{min-height:0;aspect-ratio:4/3}.branch-copy{padding:34px 24px}.branch-copy h3{font-size:clamp(38px,10vw,54px)}.contact-list{grid-template-columns:1fr}.contact-list>a{min-height:86px}.footer{width:calc(100% - 32px);padding-top:80px}.footer-grid{grid-template-columns:1fr}.floating-actions{top:auto;bottom:18px;right:14px;transform:none}.float-action{width:52px;height:52px;padding:0;justify-content:center}.float-action .float-icon{width:34px;height:34px}.float-action span:last-child{display:none}}
@media(max-width:480px){.hero{min-height:680px}.hero-content{padding-bottom:54px}.hero-actions .btn{width:100%}.section h2,.section-title h2,.franchise-head h2,.franchise-cta h2{font-size:clamp(38px,11vw,50px)}.awards-hero{min-height:560px}.service-scene{min-height:620px}.service-overlay{padding-bottom:92px}.service-overlay>p:not(.eyebrow){font-size:15px}.portrait-stage{grid-template-columns:48px minmax(0,1fr) 48px;margin-inline:-62px}.review-card{padding:24px}.calendar-card{padding:10px}.calendar-toolbar strong{font-size:18px}.calendar-weekdays span{font-size:9px}.calendar-day{font-size:12px}.branch-choice{min-height:112px}.contact-list>a{grid-template-columns:54px 1fr;padding:12px}.contact-list em{display:none}.footer-statement{padding-bottom:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.reviews-grid{transition:none}}


/* V3 — universal responsive + interaction patch */
html { width:100%; max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body { width:100%; max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
img, video, svg { max-width:100%; height:auto; }
section { scroll-margin-top: clamp(112px, 12vw, 150px); }
.site-header { width:100%; max-width:100vw; }
.primary-nav { min-width:0; }
.hero h1, .display, h1 { overflow-wrap:normal; word-break:normal; text-wrap:balance; font-size:clamp(2.45rem, 7.3vw, 7rem); }
.container, .section-inner, .hero-inner { width:min(100% - clamp(32px, 7vw, 120px), 1440px); margin-inline:auto; }
.floating-actions { max-width:calc(100vw - 24px); }
.floating-actions .float-action { min-height:44px; width:auto !important; aspect-ratio:auto !important; border-radius:999px !important; padding:.78rem 1rem !important; }
.floating-actions .book { display:none !important; }

.premium-form-v3 { border-radius:24px; padding:clamp(20px,3vw,42px); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); }
.premium-form-v3 .form-grid { gap:18px; }
.premium-form-v3 label { display:grid; gap:9px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.premium-form-v3 input, .premium-form-v3 select, .premium-form-v3 textarea {
  width:100%; min-height:54px; border-radius:12px; padding:14px 15px; font:inherit; text-transform:none; letter-spacing:normal;
}
.premium-form-v3 textarea { min-height:130px; resize:vertical; }
.premium-form-v3 .submit-btn { min-height:52px; padding-inline:24px; }
.premium-form-v3 .form-note:empty { display:none; }

.awards-editorial {
  width:min(100% - clamp(32px,7vw,120px),1440px); margin-inline:auto;
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(36px,7vw,110px);
  align-items:center; padding-block:clamp(72px,9vw,140px);
}
.awards-copy h2 { font-size:clamp(2.4rem,5vw,5.5rem); line-height:.96; text-wrap:balance; }
.awards-visual { min-height:clamp(360px,48vw,720px); border-radius:24px; overflow:hidden; background:#161616 center/cover no-repeat; }

.core-flip-card { perspective:1200px; cursor:pointer; transform-style:preserve-3d; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.core-flip-card.is-flipped { transform:rotateY(180deg); }
.core-flip-card::after { content:"Tap to view image"; display:block; margin-top:1rem; opacity:.5; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.core-flip-card.is-flipped::after { content:"Tap to return"; transform:rotateY(180deg); }

.feature-modal-v3 { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:24px; background:rgba(0,0,0,.82); backdrop-filter:blur(12px); }
.feature-modal-v3.is-open { display:grid; }
.feature-modal-v3 .modal-panel { width:min(920px,100%); max-height:88dvh; overflow:auto; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:#111; padding:clamp(20px,4vw,42px); }
.feature-modal-v3 .modal-image { min-height:320px; border-radius:18px; background:#1b1b1b center/cover no-repeat; margin-bottom:24px; }
.feature-modal-v3 .modal-close { margin-left:auto; display:block; min-width:44px; min-height:44px; border-radius:999px; }

@media (max-width: 820px) {
  .site-header { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
  .primary-nav { display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; overflow-y:hidden; width:100%; max-width:100%; gap:22px; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain; }
  .primary-nav::-webkit-scrollbar { display:none; }
  .primary-nav a { flex:0 0 auto; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
  .container, .section-inner, .hero-inner { width:calc(100% - 32px); }
  .hero h1, .display, h1 { font-size:clamp(2.35rem,13vw,4.5rem); line-height:.93; }
  .awards-editorial { width:calc(100% - 32px); grid-template-columns:1fr; gap:30px; }
  .awards-visual { min-height:min(112vw,520px); }
  .floating-actions { right:max(12px,env(safe-area-inset-right)); bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px)); }
  .premium-form-v3 { border-radius:18px; padding:18px; }
  .premium-form-v3 .form-grid { grid-template-columns:1fr !important; }
  .premium-form-v3 .span-2 { grid-column:auto !important; }
}
@media (max-width: 380px) {
  .container, .section-inner, .hero-inner, .awards-editorial { width:calc(100% - 24px); }
  .primary-nav { gap:18px; }
}
@media (min-width: 1600px) {
  .container, .section-inner, .hero-inner, .awards-editorial { max-width:1520px; }
}


/* V3.1 — persistent header/navigation */
.site-header {
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  z-index: 9990 !important;
  width: 100% !important;
  max-width: 100vw !important;
  isolation: isolate;
  background: rgba(8,8,8,.94) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

/* Prevent an ancestor overflow rule from breaking sticky positioning. */
body { overflow-x: clip !important; }
html { overflow-x: clip !important; }

@supports not (overflow: clip) {
  html, body { overflow-x: hidden !important; }
}

@media (max-width: 820px) {
  .site-header {
    top: 0 !important;
    padding-top: max(8px, env(safe-area-inset-top)) !important;
  }
  .primary-nav {
    position: relative !important;
    z-index: 2;
  }
}


/* V4 review patch */
.site-header { position:sticky !important; top:0 !important; z-index:9990 !important; }
@media (max-width:820px){
  .site-header .header-inner, .site-header > div:first-child { text-align:center; }
  .site-header .brand, .site-header .site-logo, .site-header .logo { margin-inline:auto !important; justify-content:center !important; }
}

/* Remove the excessive blank band above navigated sections. */
.v4-tight-sections section:not(#home) { scroll-margin-top:clamp(96px,9vw,124px) !important; }
.v4-tight-sections section:not(#home) > .section-inner,
.v4-tight-sections section:not(#home).section,
.v4-tight-sections .section:not(#home) { padding-top:clamp(54px,6vw,88px) !important; }
@media(max-width:820px){
  .v4-tight-sections section:not(#home) { scroll-margin-top:118px !important; }
  .v4-tight-sections section:not(#home) > .section-inner,
  .v4-tight-sections section:not(#home).section,
  .v4-tight-sections .section:not(#home) { padding-top:38px !important; }
}

/* Hero video */
#home { position:relative; isolation:isolate; overflow:hidden; }
#home .hero-video-layer, #home .hero-video-shade { position:absolute; inset:0; z-index:-2; }
#home .hero-video-layer video { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
#home .hero-video-shade { z-index:-1; background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.52) 48%,rgba(0,0,0,.28) 100%); }
@media(max-width:820px){
  #home .hero-video-layer video { object-position:58% center; }
  #home .hero-video-shade { background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.76) 72%,rgba(0,0,0,.9)); }
}

/* Message Us belongs at the lower-right, not mid-screen. */
.floating-actions { position:fixed !important; top:auto !important; right:clamp(14px,2vw,30px) !important; bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px)) !important; transform:none !important; z-index:9000; }
.messenger-icon { width:22px; height:22px; display:inline-grid; place-items:center; flex:0 0 22px; }
.messenger-icon svg { width:100%; height:100%; display:block; }

/* Awards: editorial left copy / right actual document */
.awards-editorial { grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr) !important; }
.award-meta { color:var(--gold,#e1ae36); font-weight:700; margin-block:18px; }
.award-document { background:#111 !important; padding:clamp(10px,1.5vw,18px); display:grid; place-items:center; min-height:0 !important; }
.award-document img { width:100%; height:auto; max-height:760px; object-fit:contain; border-radius:12px; }
@media(max-width:820px){
  .awards-editorial { grid-template-columns:1fr !important; }
  .award-document img { max-height:none; }
}

/* Core values: real 3D image backs */
.core-flip-card { position:relative; min-height:330px; transform:none !important; transition:none !important; }
.core-flip-card > * { transition:opacity .3s ease; }
.core-flip-card::before { content:""; position:absolute; inset:0; border-radius:inherit; background-image:var(--flip-image); background-size:cover; background-position:50% 12%; opacity:0; transform:rotateY(180deg); backface-visibility:hidden; transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .2s ease; }
.core-flip-card.is-flipped::before { opacity:1; transform:rotateY(0); }
.core-flip-card.is-flipped > * { opacity:0; }
.core-flip-card.is-flipped::after { position:absolute; left:24px; bottom:20px; z-index:2; color:white; opacity:.8; transform:none !important; }

/* Desktop franchise CTA composition: less empty space. */
@media(min-width:821px){
  .franchise-cta, .franchise-final-cta { max-width:1440px; margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:60px; }
}


/* V5 REVIEW PATCH */

/* ----- Awards: single compact editorial section ----- */
.awards-editorial{
  max-width:1240px!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;
  align-items:center!important;
  gap:clamp(42px,6vw,84px)!important;
}
.awards-copy{max-width:560px!important;}
.awards-copy h2{
  font-size:clamp(42px,5vw,74px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  margin:10px 0 20px!important;
}
.awards-copy p{max-width:540px;}
.award-document{padding:16px!important;border-radius:28px!important;}
.award-document img{width:100%!important;max-height:760px!important;object-fit:contain!important;}
@media(max-width:820px){
  .awards-editorial{grid-template-columns:1fr!important;gap:28px!important;}
  .awards-copy h2{font-size:clamp(38px,11vw,58px)!important;}
}

/* ----- Service storytelling: image lives inside its own placeholder/frame ----- */
.service-story-stack{display:grid;gap:clamp(56px,8vw,112px);margin-top:clamp(34px,5vw,72px);}
.service-story{
  max-width:1240px;
  margin-inline:auto;
  min-width:0;
}
.service-story .service-copy{min-width:0;}
.service-story .service-copy h3{
  font-size:clamp(38px,5vw,72px);
  line-height:1;
  letter-spacing:-.035em;
  margin:8px 0 18px;
}
.service-story .service-copy p:not(.eyebrow){font-size:clamp(16px,1.35vw,20px);line-height:1.7;max-width:620px;}
.service-image-frame{
  width:100%;
  min-height:360px;
  border-radius:30px;
  overflow:hidden;
  background:#151515;
  border:1px solid rgba(255,255,255,.08);
}
.service-image-frame img{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
}
.service-image-placeholder{
  width:100%;min-height:360px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#111,#1b1b1b);
  color:rgba(255,255,255,.45);
  font-size:14px;text-transform:uppercase;letter-spacing:.14em;
}
.service-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;margin-top:24px;padding:0 22px;border-radius:999px;
  background:var(--gold,#e2ad38);color:#0b0b0b;font-weight:800;text-decoration:none;
}
.service-engine{display:grid;gap:30px;text-align:center;}
.service-engine .centered-copy{max-width:760px;margin-inline:auto;}
.service-engine .service-copy p:not(.eyebrow){margin-inline:auto;}
.service-engine .service-image-center{max-width:1040px;margin-inline:auto;min-height:520px;}
.service-engine .service-image-center img{min-height:520px;}
.service-electrical,.service-scan,.service-aircon,.service-pms{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;gap:clamp(38px,6vw,82px);
}
.service-scan{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.service-aircon{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.service-pms{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
.service-underchassis{display:grid;gap:0;}
.service-underchassis .service-image-wide{min-height:500px;}
.service-underchassis .service-image-wide img{min-height:500px;}
.service-underchassis .underchassis-copy{
  width:min(680px,92%);
  margin:-74px 0 0 clamp(18px,5vw,72px);
  position:relative;z-index:2;
  background:#0f0f0f;border:1px solid rgba(255,255,255,.08);
  border-radius:26px;padding:clamp(26px,4vw,48px);
}
@media(max-width:820px){
  .service-electrical,.service-scan,.service-aircon,.service-pms{grid-template-columns:1fr;gap:24px;}
  .service-electrical .service-image-frame{order:1}.service-electrical .service-copy{order:2}
  .service-scan .service-copy{order:1}.service-scan .service-image-frame{order:2}
  .service-aircon .service-image-frame{order:1}.service-aircon .service-copy{order:2}
  .service-pms .service-copy{order:1}.service-pms .service-image-frame{order:2}
  .service-image-frame,.service-image-frame img,.service-image-placeholder{min-height:280px;}
  .service-engine .service-image-center,.service-engine .service-image-center img{min-height:320px;}
  .service-underchassis .service-image-wide,.service-underchassis .service-image-wide img{min-height:330px;}
  .service-underchassis .underchassis-copy{width:calc(100% - 28px);margin:-42px auto 0;}
}

/* ----- Testimonials: circular initials ----- */
.testimonial-avatar{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#171717;border:1px solid rgba(226,173,56,.45);
  color:var(--gold,#e2ad38);font-weight:800;font-size:18px;
  margin-bottom:12px;
}

/* ----- Emblem-only circular globe/external icon ----- */
.emblem-circle{
  width:46px!important;height:46px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;overflow:hidden!important;
  background:#050505!important;border:1px solid rgba(226,173,56,.35)!important;
}
.emblem-circle img{width:72%!important;height:72%!important;object-fit:contain!important;display:block!important;}

/* ----- Vertical premium forms ----- */
.premium-vertical-form{
  width:min(100%,680px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.premium-vertical-form .vertical-field-group,
.premium-vertical-form .form-group,
.premium-vertical-form .field,
.premium-vertical-form label{
  width:100%;
}
.premium-vertical-form .vertical-field-group{display:flex!important;flex-direction:column!important;gap:18px!important;}
.premium-vertical-form input,
.premium-vertical-form select,
.premium-vertical-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
  min-height:54px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#151515!important;
  color:#f6f6f6!important;
  padding:14px 16px!important;
  font-size:16px!important;
  outline:none!important;
}
.premium-vertical-form textarea{min-height:140px!important;resize:vertical!important;}
.premium-vertical-form input:focus,
.premium-vertical-form select:focus,
.premium-vertical-form textarea:focus{border-color:var(--gold,#e2ad38)!important;box-shadow:0 0 0 3px rgba(226,173,56,.08)!important;}
.premium-vertical-form button[type="submit"],
.premium-vertical-form .submit-button{
  width:fit-content!important;min-width:180px!important;min-height:50px!important;
  padding:0 24px!important;border-radius:999px!important;
  background:var(--gold,#e2ad38)!important;color:#0c0c0c!important;font-weight:800!important;
}
@media(max-width:820px){.premium-vertical-form{width:100%!important;}.premium-vertical-form button[type="submit"]{width:100%!important;}}

/* ----- Showcase spacing safety ----- */
.portrait-stage, .portrait-showcase, [data-showcase]{overflow:hidden!important;}

/* V6 named-asset polish */
.service-image-frame img{object-fit:cover;object-position:center;}
.service-electrical .service-image-frame img{object-position:center 45%;}
.service-engine .service-image-frame img{object-position:center 55%;}
.service-aircon .service-image-frame img{object-position:center center;}
.service-pms .service-image-frame img{object-position:center 45%;}
.underchassis-detail-strip{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  max-width:900px;margin:26px auto 0;
}
.underchassis-detail-strip img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
}
@media(max-width:700px){
  .underchassis-detail-strip{grid-template-columns:1fr;}
}
.award-document img{object-fit:contain!important;object-position:center!important;}


/* V7 — review patch */

/* Underchassis: the design container controls the image, not the source dimensions. */
.service-underchassis .underchassis-fixed-frame{
  width:min(1120px,100%);
  height:clamp(360px,52vw,640px);
  margin-inline:auto;
  overflow:hidden;
  border-radius:28px;
}
.service-underchassis .underchassis-fixed-frame img,
.service-underchassis .underchassis-fixed-frame video{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
}

/* Real Showcase media */
.portrait-stage[data-carousel],
[data-showcase],
.portrait-showcase{
  position:relative;
  overflow:hidden;
}
.showcase-media-item{
  flex:0 0 min(64vw,760px);
  height:clamp(360px,52vw,680px);
  border-radius:28px;
  overflow:hidden;
  opacity:.34;
  transform:scale(.92);
  transition:opacity .45s ease, transform .45s ease, filter .45s ease;
  filter:brightness(.58);
}
.showcase-media-item img,
.showcase-media-item video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.showcase-media-item.is-active,
.showcase-media-item[aria-current="true"]{
  opacity:1;
  transform:scale(1);
  filter:none;
}
@media(max-width:700px){
  .service-underchassis .underchassis-fixed-frame{
    height:clamp(300px,78vw,460px);
    border-radius:20px;
  }
  .showcase-media-item{
    flex-basis:78vw;
    height:clamp(360px,108vw,560px);
    border-radius:22px;
  }
}

/* =========================================================
   V8 FULL-SITE INTEGRATION POLISH
========================================================= */
html,body{overflow-x:hidden}
body{background:#080808;color:#f5f5f5}
.home-hero{position:relative;min-height:min(900px,92svh);display:grid;align-items:end;overflow:hidden;background:#050505}
.home-hero .hero-video,.home-hero .hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.home-hero .hero-video{object-fit:cover;object-position:center}
.home-hero .hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.78) 78%,#080808)}
.home-hero .hero-content{position:relative;z-index:2;padding-top:clamp(140px,18vw,240px);padding-bottom:clamp(72px,9vw,120px)}
.home-hero h1{font-size:clamp(60px,10vw,150px);line-height:.83;letter-spacing:-.065em;margin:.15em 0 .2em;max-width:1100px}
.hero-copy{font-size:clamp(17px,1.7vw,23px);line-height:1.6;max-width:650px;color:rgba(255,255,255,.78)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.about{max-width:1240px;margin-inline:auto}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:38px 0}
.about-stats>div{padding:28px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#101010;display:grid;gap:4px}
.about-stats strong{font-size:clamp(38px,5vw,68px);color:var(--gold,#e2ad38)}
.core-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.core-flip-card{padding:32px;border-radius:26px;background:#111;border:1px solid rgba(255,255,255,.08);cursor:pointer;overflow:hidden}
.core-flip-card span{color:var(--gold,#e2ad38);font-weight:800}.core-flip-card h3{font-size:32px;margin:56px 0 12px}.core-flip-card p{color:rgba(255,255,255,.66);line-height:1.65}
.branch-media{background-size:cover;background-position:center}.branch-media.has-drive-image{min-height:320px}
#showcase-stage{display:flex;gap:clamp(16px,2.2vw,32px);overflow-x:auto!important;scrollbar-width:none;scroll-snap-type:x mandatory;padding-inline:max(18px,calc((100vw - min(64vw,760px))/2));padding-bottom:10px}
#showcase-stage::-webkit-scrollbar{display:none}.showcase-media-item{scroll-snap-align:center}
.showcase-loading{padding:80px 20px;text-align:center;color:rgba(255,255,255,.45)}
@media(max-width:820px){.home-hero{min-height:84svh}.home-hero h1{font-size:clamp(54px,17vw,88px)}.about-stats,.core-values{grid-template-columns:1fr}.hero-actions .btn{width:100%;justify-content:center}.branch-media.has-drive-image{min-height:260px}}

/* V8.2 review patch */
@media (min-width:821px){
  .franchise-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:clamp(56px,7vw,120px);align-items:start;padding-top:110px;padding-bottom:90px}
  .franchise-intro-grid .franchise-head{padding:34px 0 0;width:auto}
  .franchise-intro-grid .franchise-head h2{font-size:clamp(54px,5vw,82px);max-width:760px}
  .franchise-intro-grid .franchise-form-wrap{width:auto;padding:0}
  .franchise-intro-grid .premium-form{margin:0 0 0 auto;width:100%;max-width:680px}
  .booking-details-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:clamp(50px,7vw,110px);align-items:start}
  .booking-details-grid .step-head{position:sticky;top:calc(var(--header) + 40px)}
  .booking-details-grid .booking-form{width:100%;max-width:680px;margin-left:auto}
  .showcase .section-title{max-width:780px}
  #showcase-stage{max-width:1180px;margin:34px auto 0;padding-inline:clamp(70px,10vw,170px)}
  #showcase-stage .showcase-media-item{flex-basis:min(48vw,610px);height:clamp(430px,45vw,620px)}
}
.inclusion-list .inclusion-item{appearance:none;text-align:left;color:#eee;background:#0d0d0d;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font:inherit;transition:border-color .2s,transform .2s,background .2s}
.inclusion-list .inclusion-item:hover,.inclusion-list .inclusion-item:focus-visible{border-color:var(--gold);background:#14120d;transform:translateY(-2px);outline:none}
.inclusion-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:.22s ease}
.inclusion-modal.is-open{opacity:1;visibility:visible}.inclusion-modal-card{position:relative;width:min(900px,100%);max-height:min(86vh,820px);overflow:auto;background:#0d0d0d;border:1px solid #303030;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.inclusion-modal-media{aspect-ratio:16/9;background:#111;overflow:hidden}.inclusion-modal-media img{width:100%;height:100%;object-fit:cover;display:block}.inclusion-modal-copy{padding:28px 32px 34px}.inclusion-modal-copy h3{font-size:clamp(32px,5vw,54px);margin:6px 0 12px}.inclusion-modal-copy p:last-child{color:var(--muted);line-height:1.65}.inclusion-modal-close{position:absolute;right:16px;top:16px;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.72);color:white;font-size:30px;line-height:1;cursor:pointer}
.channel-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-list a:nth-child(2) .channel-icon svg,.contact-list a:nth-child(3) .channel-icon svg{fill:currentColor;stroke:none}
.testimonial-avatar{flex:0 0 auto}.review-person{display:flex;align-items:center;gap:13px}.review-person-copy{display:grid;gap:3px}
.service-underchassis .underchassis-copy{margin-bottom:0}.underchassis-detail-strip{display:none!important}
@media(max-width:820px){.franchise-intro-grid{width:calc(100% - 32px);margin:auto;padding:85px 0;display:grid;gap:30px}.franchise-intro-grid .franchise-head,.franchise-intro-grid .franchise-form-wrap{width:auto;padding:0}.booking-details-grid{display:block}.booking-details-grid .booking-form{margin-top:28px}.inclusion-modal-copy{padding:22px}.inclusion-modal-card{border-radius:20px}}


/* =========================================================
   V8.3 CONSOLIDATED RESPONSIVE PATCH
========================================================= */
/* Awards: cleaner editorial hierarchy */
.awards-editorial .awards-copy h2{font-size:clamp(44px,4.8vw,74px)!important;line-height:.96!important;max-width:720px}
.awards-editorial .award-meta{color:var(--gold)!important;font-weight:800;max-width:620px}
.awards-visual img{display:block;width:100%;height:100%;object-fit:contain}

/* Services: one intentional visual per story; stable frames on desktop and mobile */
.service-story{overflow:hidden}
.service-story .service-image-frame{overflow:hidden}
.service-story .service-image-frame img{display:block;width:100%;height:100%;object-fit:cover}
.service-underchassis .service-image-wide ~ .service-image-frame,
.service-underchassis .service-image-frame + .service-image-frame{display:none!important}
@media(min-width:821px){
  .service-story-stack{display:grid;gap:clamp(72px,8vw,128px)}
  .service-engine .service-image-center{width:60%!important;max-width:680px!important;min-height:0!important}
  .service-engine .service-image-center img{min-height:0!important;aspect-ratio:4/3!important;object-fit:cover!important}
  .service-electrical,.service-scan,.service-aircon,.service-pms{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important;gap:clamp(42px,6vw,96px)!important}
  .service-electrical .service-image-frame,.service-scan .service-image-frame,.service-aircon .service-image-frame,.service-pms .service-image-frame{height:clamp(380px,40vw,590px)!important}
  .service-underchassis{max-width:1120px;margin-inline:auto;display:grid!important;grid-template-columns:1fr!important;gap:0!important}
  .service-underchassis .underchassis-fixed-frame{width:100%!important;height:clamp(390px,43vw,570px)!important;margin:0!important}
  .service-underchassis .underchassis-copy{position:relative!important;width:min(680px,88%)!important;margin:-72px auto 0!important;padding:38px 42px!important;background:#0d0d0d!important;border:1px solid var(--line)!important;border-radius:26px!important;z-index:3}
}

/* Showcase: desktop composition only; mobile behavior stays stacked/carousel friendly */
@media(min-width:821px){
  .showcase{padding-bottom:clamp(80px,8vw,120px)!important}
  .showcase .section-title{margin-bottom:34px!important}
  #showcase-stage{width:min(1120px,100%)!important;max-width:1120px!important;margin:0 auto!important;padding:20px clamp(80px,9vw,145px) 28px!important;gap:22px!important;min-height:520px!important;align-items:center!important}
  #showcase-stage .showcase-media-item{flex:0 0 min(42vw,520px)!important;height:clamp(420px,42vw,570px)!important}
}

/* Testimonials: profiles + automatic only. No arrows/counter UI. */
.review-controls,#review-prev,#review-next,#review-count{display:none!important}
.testimonial-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2a2415,#151515);border:1px solid rgba(214,168,62,.42);color:var(--gold2);font-size:13px;font-weight:800;letter-spacing:.04em}
.review-person{flex-direction:row!important;align-items:center!important}
.review-person-copy{display:grid;gap:4px}

/* Franchise + booking: context left, working form right on desktop */
@media(min-width:821px){
  .franchise-intro-grid{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr)!important;align-items:start!important}
  .franchise-intro-grid .franchise-head{position:sticky;top:calc(var(--header) + 44px);padding-top:24px!important}
  .franchise-intro-grid .franchise-form-wrap{grid-column:2!important}
  .franchise-intro-grid .premium-form{margin-left:auto!important;max-width:680px!important}
  .booking-details-grid{grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr)!important;align-items:start!important}
  .booking-details-grid .step-head{grid-column:1!important;position:sticky!important;top:calc(var(--header) + 44px)!important}
  .booking-details-grid .booking-form{grid-column:2!important;margin-left:auto!important;max-width:680px!important}
}

/* Contact hub: recognizable icons and CTA alignment */
.channel-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1b1b1b;color:var(--gold2);flex:0 0 auto}
.channel-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.channel-icon svg path:first-child{fill:currentColor;stroke:none}
.contact-list>a{cursor:pointer}
.contact-list>a em{font-style:normal;color:var(--muted);margin-left:auto}

/* Mobile QA */
@media(max-width:820px){
  .service-engine .service-image-center{width:100%!important;max-width:none!important}
  .service-engine .service-image-center img{aspect-ratio:4/3;min-height:0!important}
  .service-underchassis .underchassis-copy{margin-top:0!important}
  .franchise-intro-grid .franchise-head{position:static!important}
  .booking-details-grid .step-head{position:static!important}
  .contact-list>a{gap:14px}.contact-list>a em{font-size:12px}
}


/* =========================================================
   V8.4 FINAL REVIEW PATCH
   - alternating services desktop
   - clean stacked services mobile
   - no sticky franchise/booking copy
   - mobile franchise stats remain side-by-side
   - whole franchise inclusion card is the control
   - clearer booking transition
========================================================= */

/* Services: consistent Apple-inspired editorial rhythm without card overlap */
.service-story-stack{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.service-story{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.service-story .service-copy{max-width:560px}
.service-story .service-copy h3{font-size:clamp(44px,4.5vw,72px);line-height:.96;letter-spacing:-.045em;margin:.12em 0 .3em}
.service-story .service-copy>p:not(.eyebrow){font-size:clamp(17px,1.35vw,21px);line-height:1.58;color:var(--muted);max-width:540px}
.service-story .service-image-frame{border-radius:28px!important;background:#111;min-height:0!important;width:100%!important;margin:0!important;border:1px solid rgba(255,255,255,.08)}
.service-story .service-image-frame img{width:100%;height:100%;object-fit:cover;display:block}

@media(min-width:821px){
  .service-story-stack{display:grid!important;gap:clamp(100px,10vw,170px)!important;padding:40px 0 120px}
  .service-story{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;align-items:center!important;gap:clamp(54px,7vw,110px)!important;max-width:1180px!important;width:100%!important;margin-inline:auto!important;padding:0!important}
  .service-story.service-media-right{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)!important}
  .service-story .service-image-frame{height:clamp(430px,39vw,610px)!important;aspect-ratio:auto!important}
  .service-story.service-media-left .service-image-frame{grid-column:1}.service-story.service-media-left .service-copy{grid-column:2}
  .service-story.service-media-right .service-copy{grid-column:1}.service-story.service-media-right .service-image-frame{grid-column:2}
  .service-engine .service-image-frame{height:clamp(470px,42vw,640px)!important}
  .service-underchassis .service-copy{position:static!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
}

@media(max-width:820px){
  .service-story-stack{width:calc(100% - 32px)!important;display:grid!important;gap:78px!important;padding-bottom:86px}
  .service-story{display:flex!important;flex-direction:column!important;gap:26px!important;padding:0!important;width:100%!important;max-width:none!important}
  .service-story .service-copy{order:1!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;position:static!important;background:transparent!important;border:0!important;border-radius:0!important}
  .service-story .service-image-frame{order:2!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;border-radius:20px!important}
  .service-story .service-copy h3{font-size:clamp(40px,12vw,58px)!important}
  .service-story .service-copy>p:not(.eyebrow){font-size:17px!important;line-height:1.55!important}
  .service-story .service-cta{margin-top:10px}
}

/* Franchise and booking context should scroll normally, never follow the viewport. */
@media(min-width:821px){
  .franchise-intro-grid .franchise-head,
  .booking-details-grid .step-head{position:static!important;top:auto!important}
}

/* Keep the two franchise proof stats aligned horizontally on phones, like desktop. */
@media(max-width:820px){
  .franchise-feature .mini-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start}
  .franchise-feature .mini-stats>div{min-width:0!important}
  .franchise-feature .mini-stats strong{font-size:clamp(48px,15vw,68px)!important}
  .franchise-feature .mini-stats span{font-size:14px!important;line-height:1.35!important;display:block;max-width:150px}
}

/* Franchise inclusions: entire card is clickable; no separate arrow affordance. */
.inclusion-list .inclusion-item{justify-content:flex-start!important;min-height:112px!important;padding:28px 30px!important;border-radius:16px!important;font-size:clamp(17px,1.4vw,21px)!important;font-weight:650!important}
.inclusion-list .inclusion-item span{display:none!important}
.inclusion-list .inclusion-item:hover,.inclusion-list .inclusion-item:focus-visible{border-color:var(--gold)!important;background:#14120d!important;transform:translateY(-2px)}
.inclusion-list .inclusion-item:active{transform:translateY(0) scale(.995)}
@media(max-width:820px){.inclusion-list .inclusion-item{min-height:86px!important;padding:22px!important}}

/* Clear visual reset before the booking workflow so it cannot read as franchise continuation. */
#book-now{border-top:1px solid var(--line);padding-top:clamp(90px,10vw,150px)}
.booking-opener{max-width:900px!important;margin-bottom:clamp(50px,6vw,84px)!important}
.booking-opener h2{max-width:820px}

/* V8.5 — resilient hero media + universal photo lightbox */
.home-hero{position:relative;overflow:hidden}
.hero-media{position:absolute;inset:0;overflow:hidden;background:#050505;z-index:0}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.2) 48%,rgba(0,0,0,.34));pointer-events:none}
.hero-video,.hero-drive-preview{position:absolute;inset:50% auto auto 50%;width:100%;height:100%;min-width:100%;min-height:100%;transform:translate(-50%,-50%);object-fit:cover;border:0}
.hero-video{z-index:1;background:#050505}
.hero-drive-preview{z-index:2;display:none;pointer-events:none;transform:translate(-50%,-50%) scale(1.18);width:118%;height:118%}
.hero-media.use-drive-preview .hero-drive-preview{display:block}
.hero-media.use-drive-preview .hero-video{opacity:0}
.home-hero .hero-overlay{z-index:3;pointer-events:none}
.home-hero .hero-content{position:relative;z-index:4}
.hero-copy strong{color:inherit;font-weight:700}

.image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:clamp(18px,4vw,56px)}
.image-lightbox.is-open{display:flex}
.image-lightbox-inner{margin:0;max-width:min(94vw,1500px);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.image-lightbox img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:16px}
.image-lightbox figcaption{color:#cfcfcf;text-align:center;font-size:.9rem;max-width:760px}
.image-lightbox-close{position:fixed;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(16,16,16,.85);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:2}
.service-image-frame img,.awards-visual img,.showcase-media-item img,.branch-media.has-drive-image{cursor:zoom-in}
@media(max-width:820px){
  .hero-drive-preview{transform:translate(-50%,-50%) scale(1.35);width:135%;height:135%}
  .image-lightbox{padding:14px}.image-lightbox img{max-height:78vh;border-radius:12px}
}


/* V8.7 final review patch */
:root{--max:1440px}
body{font-size:18px}
.section{width:min(var(--max),calc(100% - clamp(40px,6vw,100px)))}
.header-inner,.footer,.service-story-stack{max-width:1440px}
.home-hero .hero-content{width:min(1440px,calc(100% - clamp(40px,6vw,100px)));margin-inline:auto}
.home-hero h1{font-size:clamp(52px,6.2vw,100px);line-height:.94;letter-spacing:-.055em;max-width:1250px}
.section-title>p:not(.eyebrow),.about p,.branch-copy p,.info-grid p,.territory p,.timeline p,.franchise-head>p:not(.eyebrow),.booking-opener>p:not(.eyebrow){font-size:clamp(17px,1.25vw,20px);line-height:1.65}
.contact-hub>h2{font-size:clamp(48px,5.4vw,80px)}
.contact-list>a{min-height:106px;padding:19px 22px;grid-template-columns:66px 1fr auto}
.contact-list strong{font-size:20px}.contact-list em{font-size:14px}.channel-icon{width:52px;height:52px}
.floating-actions .float-action{min-height:54px!important;padding:.9rem 1.2rem!important;font-size:14px!important;font-weight:800!important}.messenger-icon{width:22px;height:22px;display:grid;place-items:center}.messenger-icon svg{width:100%;height:100%}
.hero-video{object-fit:cover;object-position:center center}
.hero-drive-preview{display:none!important}

@media(max-width:820px){body{font-size:17px}.section,.home-hero .hero-content{width:calc(100% - 32px)}.home-hero h1{font-size:clamp(44px,12vw,68px);line-height:.98}.contact-list>a{min-height:96px;padding:16px}.contact-list strong{font-size:18px}.floating-actions .float-action{min-height:58px!important;padding:0 17px!important}.floating-actions .float-action span:last-child{display:inline!important}}


/* V8.7.2 hero full-bleed + About stat order review patch */
.home-hero{width:100%;max-width:none!important}
.home-hero .hero-media{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
}
.home-hero .hero-media .hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  transform:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
@media(max-width:820px){
  .home-hero .hero-media{width:100vw!important}
  .home-hero .hero-media .hero-video{object-position:center center!important}
}


/* V8.8 consolidated final review patch */
/* Tighten the gap between Services intro and the first service story. */
.services-intro{padding-bottom:clamp(26px,3.2vw,48px)!important}
.service-story-stack{padding-top:0!important}

/* Engine copy matches the left-aligned Error Scan typography. */
.service-engine{text-align:left!important}
.service-engine .service-copy,.service-engine .centered-copy{max-width:none!important;margin-inline:0!important;text-align:left!important;align-items:flex-start!important}
.service-engine .service-copy p:not(.eyebrow){margin-left:0!important;margin-right:0!important}
.service-engine .service-copy .eyebrow,.service-engine .service-copy h3,.service-engine .service-copy p,.service-engine .service-cta{text-align:left!important}

/* Franchise standard: editorial copy + large official facility image. */
.franchise-standard{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(34px,5vw,78px);align-items:stretch;margin-bottom:clamp(38px,5vw,72px)}
.franchise-standard-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(10px,2vw,28px) 0}
.franchise-standard-copy h3{font-size:clamp(40px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:0 0 22px}
.franchise-standard-copy>p:not(.eyebrow){font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:var(--muted);max-width:630px}
.franchise-standard-media{min-height:520px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#111}
.franchise-standard-media img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.franchise-standard .mini-stats{margin-top:auto;padding-top:30px}

/* Contact hub: six balanced app-first channels. */
.contact-list [data-channel="tiktok"] .channel-icon svg{fill:currentColor!important;stroke:none!important}
.contact-list [data-channel="sms"] .channel-icon svg,.contact-list [data-channel="viber"] .channel-icon svg,.contact-list [data-channel="messenger"] .channel-icon svg{fill:none!important;stroke:currentColor!important}

/* Stronger closing CTA hierarchy. */
.footer-statement>p{max-width:680px;margin:26px 0 0;color:var(--muted);font-size:clamp(18px,1.8vw,23px);line-height:1.55}

/* Mobile nav swipe affordance: subtle fade that disappears after interaction. */
@media(max-width:820px){
  .header-inner{position:relative}
  .header-inner::after{content:"";position:absolute;right:0;bottom:0;width:54px;height:52px;pointer-events:none;background:linear-gradient(90deg,rgba(8,8,8,0),rgba(8,8,8,.96) 82%);transition:opacity .25s ease}
  .header-inner:has(.primary-nav.nav-hint-seen)::after{opacity:0}
  .primary-nav{padding-right:46px}
  .franchise-standard{grid-template-columns:1fr;gap:26px}
  .franchise-standard-copy{order:1}
  .franchise-standard-media{order:2;min-height:0;aspect-ratio:4/3;border-radius:22px}
  .franchise-standard-media img{min-height:0;height:100%;aspect-ratio:4/3}
  .franchise-standard .mini-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .services-intro{padding-bottom:28px!important}
}

/* Thank-you page uses the same system, but with its own editorial hero. */
.thank-you-page main{min-height:calc(100svh - var(--header));display:grid;align-items:center}
.thank-you-wrap{width:min(1120px,calc(100% - 48px));margin:auto;padding:clamp(70px,9vw,130px) 0}
.thank-you-panel{border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 85% 15%,rgba(214,168,62,.11),transparent 28%),#0d0d0d;padding:clamp(34px,6vw,78px)}
.thank-you-panel h1{font-size:clamp(58px,9vw,120px);line-height:.86;letter-spacing:-.065em;margin:8px 0 24px}
.thank-you-panel>.thank-you-copy{max-width:760px;color:var(--muted);font-size:clamp(17px,1.6vw,21px);line-height:1.65;margin:0 0 42px}
.thank-you-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.thank-you-channels{margin-top:48px}
.thank-you-channels .contact-list{margin-top:24px}
@media(max-width:820px){.thank-you-wrap{width:calc(100% - 32px);padding:48px 0 80px}.thank-you-panel{padding:30px 20px;border-radius:24px}.thank-you-panel h1{font-size:clamp(52px,17vw,78px)}.thank-you-actions .btn{width:100%}}


/* V8.8.2 — Inquiry flow spacing + booking-at-end polish */
.locations .contact-hub + .section-title{
  margin-top:clamp(88px,8vw,132px);
}
.locations .contact-list{
  margin-bottom:0;
}
#book-now{
  padding-top:clamp(110px,10vw,160px);
  border-top:1px solid var(--line);
}
@media(max-width:700px){
  .locations .contact-hub + .section-title{
    margin-top:72px;
  }
  #book-now{
    padding-top:92px;
  }
}


/* V8.9 final polish */
.service-story .service-cta{margin-top:24px;width:max-content}
@media(max-width:820px){.service-story .service-cta{margin-top:18px}}

/* Showcase remains continuously filled; clone buffer prevents empty edges. */
#showcase-stage{
  display:flex!important;
  align-items:center;
  gap:clamp(12px,2vw,24px);
  overflow:hidden!important;
  scroll-behavior:auto;
  padding-inline:max(18px,calc((100% - min(48vw,520px))/2));
}
#showcase-stage .showcase-media-item{
  flex:0 0 min(48vw,520px);
  opacity:.34;
  transform:scale(.92);
  transition:opacity .35s ease,transform .35s ease;
}
#showcase-stage .showcase-media-item.is-active{opacity:1;transform:scale(1)}
#showcase-stage .showcase-media-item img,
#showcase-stage .showcase-media-item video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:28px;display:block}
@media(max-width:820px){
  #showcase-stage{gap:10px;padding-inline:calc((100% - 72vw)/2)}
  #showcase-stage .showcase-media-item{flex-basis:72vw}
  #showcase-stage .showcase-media-item img,#showcase-stage .showcase-media-item video{border-radius:20px}
}

/* Final customer proof section */
.be-one{padding-top:clamp(110px,11vw,170px);padding-bottom:clamp(110px,11vw,170px);text-align:center}
.be-one-copy{max-width:980px;margin:0 auto}
.be-one-copy h2{font-size:clamp(68px,10vw,150px);line-height:.82;letter-spacing:-.07em;margin:0}
.be-one-lead{max-width:760px;margin:30px auto 0;color:var(--muted);font-size:clamp(17px,1.5vw,21px);line-height:1.65}
.be-one-lead strong{color:var(--text)}
.be-one-stack{position:relative;width:min(520px,78vw);aspect-ratio:4/3;margin:70px auto 54px}
.be-one-card{position:absolute;inset:0;margin:auto;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s ease;transform-origin:center bottom}
.be-one-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:22px;border:8px solid #f2f0e9;box-shadow:0 22px 70px rgba(0,0,0,.5)}
.be-one-card[data-stack="front"]{transform:translate(0,0) rotate(0);opacity:1}
.be-one-card[data-stack="1"]{transform:translate(4%,-2%) rotate(4deg) scale(.98);opacity:.95}
.be-one-card[data-stack="2"]{transform:translate(-4%,-1%) rotate(-4deg) scale(.96);opacity:.9}
.be-one-card[data-stack="3"]{transform:translate(6%,1%) rotate(6deg) scale(.94);opacity:.82}
.be-one-card[data-stack="4"]{transform:translate(-6%,2%) rotate(-6deg) scale(.92);opacity:.75}
.be-one-card[data-stack="hidden"]{transform:scale(.9);opacity:0;pointer-events:none}
.be-one-action{display:flex;justify-content:center}

.be-one-viewer{position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:28px 86px}
.be-one-viewer.is-open{display:flex}
.be-one-viewer figure{margin:0;max-width:min(1100px,78vw);max-height:88vh;display:grid;place-items:center}
.be-one-viewer img{max-width:100%;max-height:86vh;object-fit:contain;border-radius:16px}
.be-one-viewer-close,.be-one-viewer-nav{position:fixed;border:1px solid rgba(255,255,255,.24);background:rgba(18,18,18,.9);color:#fff;display:grid;place-items:center;cursor:pointer}
.be-one-viewer-close{top:20px;right:20px;width:48px;height:48px;border-radius:50%;font-size:30px}
.be-one-viewer-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:24px}
.be-one-viewer-nav.prev{left:22px}.be-one-viewer-nav.next{right:22px}

/* Footer social media: icon row, separate from contact channels. */
.footer-social-icons{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.footer-social-icons a{width:46px;height:46px;margin:0!important;border-radius:50%;display:grid!important;place-items:center;background:#f5f5f2;color:#0b0b0b!important;font-size:20px!important;font-weight:900;line-height:1;transition:transform .2s ease,opacity .2s ease}
@media(hover:hover) and (pointer:fine){.footer-social-icons a:hover{transform:translateY(-3px);opacity:.82}}

@media(max-width:600px){
  .be-one-copy h2{font-size:clamp(58px,18vw,86px)}
  .be-one-stack{width:min(340px,82vw);margin-top:54px}
  .be-one-card img{border-width:6px;border-radius:16px}
  .be-one-viewer{padding:70px 16px 88px}
  .be-one-viewer figure{max-width:94vw}
  .be-one-viewer-nav{top:auto;bottom:22px;transform:none}
  .be-one-viewer-nav.prev{left:calc(50% - 66px)}
  .be-one-viewer-nav.next{right:calc(50% - 66px)}
}


/* V8.9.3 — Footer social icons: keep all five on one clean row */
.footer-social-icons{
  display:grid!important;
  grid-template-columns:repeat(5,54px)!important;
  gap:14px!important;
  align-items:center!important;
  justify-content:start!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:18px!important;
}
.footer-social-icons a{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  margin:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  background:#f5f5f2!important;
  color:#0b0b0b!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
.footer-social-icons a span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  line-height:1!important;
}
@media(max-width:420px){
  .footer-social-icons{
    grid-template-columns:repeat(5,46px)!important;
    gap:9px!important;
  }
  .footer-social-icons a{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    font-size:19px!important;
  }
}


/* V8.9.4 — Branch/location typography fix
   Prevent awkward single-letter/word wrapping on desktop and mobile. */
.branch-card .branch-copy,
.branch-card .branch-info,
.branch-card > div{
  min-width:0;
}

.branch-card h3,
.branch-card .branch-title,
.branch-card [class*="title"]{
  font-size:clamp(38px,4.2vw,68px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%!important;
}

.branch-card h3 br,
.branch-card .branch-title br{
  display:none!important;
}

.branch-card .eyebrow{
  font-size:clamp(13px,1vw,16px)!important;
  letter-spacing:.16em!important;
  line-height:1.2!important;
}

.branch-card p{
  font-size:clamp(16px,1.35vw,20px)!important;
  line-height:1.55!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

@media(min-width:900px){
  .branch-card{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .branch-card h3,
  .branch-card .branch-title,
  .branch-card [class*="title"]{
    font-size:clamp(42px,3.7vw,62px)!important;
  }
}

@media(max-width:899px){
  .branch-card h3,
  .branch-card .branch-title,
  .branch-card [class*="title"]{
    font-size:clamp(36px,9vw,54px)!important;
    line-height:.98!important;
  }
}

@media(max-width:480px){
  .branch-card h3,
  .branch-card .branch-title,
  .branch-card [class*="title"]{
    font-size:clamp(34px,10.5vw,46px)!important;
    letter-spacing:-.04em!important;
  }
}


/* V8.9.5 — Be One hierarchy refinement */
.be-one-copy h2{
  font-size:clamp(58px,8.2vw,124px)!important;
}
.be-one-lead{
  margin-top:24px!important;
}
@media(max-width:600px){
  .be-one-copy h2{
    font-size:clamp(50px,15vw,72px)!important;
  }
}


/* V8.9.6 — Be One resilient media loading */
.be-one-card.media-unavailable{
  display:none!important;
}


/* V8.9.7 — Be One portrait framing */
#be-one-stack .be-one-card img,
.be-one-card img{
  object-fit:cover!important;
  object-position:center 18%!important;
}
@media(max-width:600px){
  #be-one-stack .be-one-card img,
  .be-one-card img{
    object-position:center 14%!important;
  }
}


/* V8.9.7 — Footer social icon styling from reference */
.footer-social-icons{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  align-items:center!important;
}
.footer-social-icons a{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  border-radius:50%!important;
  background:#f4f4f1!important;
  color:#090909!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}
.footer-social-icons a svg{
  width:26px!important;
  height:26px!important;
  display:block!important;
}
@media(max-width:420px){
  .footer-social-icons{
    gap:9px!important;
  }
  .footer-social-icons a{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .footer-social-icons a svg{
    width:22px!important;
    height:22px!important;
  }
}


/* V8.9.8 — Franchise image containers */
.inclusion-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.inclusion-list .inclusion-item{
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
  background:#0d0d0d!important;
  border-radius:18px!important;
  text-align:left!important;
}
.inclusion-list .inclusion-thumb{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  background:#111!important;
}
.inclusion-list .inclusion-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  transition:transform .35s ease!important;
}
.inclusion-list .inclusion-item strong{
  display:block!important;
  padding:20px 22px 22px!important;
  font-size:clamp(16px,1.35vw,20px)!important;
  line-height:1.18!important;
}
.inclusion-list .inclusion-item:hover .inclusion-thumb img{
  transform:scale(1.025)!important;
}
.inclusion-modal-card{
  width:min(720px,100%)!important;
}
.inclusion-modal-media{
  aspect-ratio:4/5!important;
  max-height:68vh!important;
  background:#090909!important;
}
.inclusion-modal-media img{
  object-fit:contain!important;
  object-position:center top!important;
  background:#090909!important;
}
@media(max-width:820px){
  .inclusion-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .inclusion-list .inclusion-item strong{
    padding:16px!important;
    font-size:15px!important;
  }
}
@media(max-width:520px){
  .inclusion-list{
    grid-template-columns:1fr!important;
  }
}


/* V8.9.9 — Franchise inclusion modal layout fix */
.inclusion-modal{
  padding:24px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow-y:auto!important;
}

.inclusion-modal-card{
  width:min(920px,94vw)!important;
  max-height:90vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#0d0d0d!important;
}

.inclusion-modal-media{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  background:#080808!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.inclusion-modal-media img{
  width:100%!important;
  height:100%!important;
  max-height:90vh!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}

.inclusion-modal-copy{
  min-width:0!important;
  padding:44px 38px 36px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:auto!important;
}

.inclusion-modal-copy .eyebrow{
  margin-bottom:16px!important;
}

.inclusion-modal-copy h3{
  font-size:clamp(34px,3.6vw,54px)!important;
  line-height:.98!important;
  margin:0 0 20px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.inclusion-modal-copy p{
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.55!important;
  margin:0!important;
}

.inclusion-modal-close{
  top:18px!important;
  right:18px!important;
  z-index:5!important;
  background:rgba(8,8,8,.88)!important;
  backdrop-filter:blur(10px)!important;
}

@media(max-width:820px){
  .inclusion-modal{
    padding:14px!important;
    align-items:flex-start!important;
  }

  .inclusion-modal-card{
    width:min(620px,96vw)!important;
    max-height:none!important;
    margin:auto!important;
    display:block!important;
    overflow:visible!important;
  }

  .inclusion-modal-media{
    width:100%!important;
    aspect-ratio:4/5!important;
    height:auto!important;
  }

  .inclusion-modal-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:contain!important;
  }

  .inclusion-modal-copy{
    padding:28px 24px 30px!important;
    overflow:visible!important;
  }

  .inclusion-modal-copy h3{
    font-size:clamp(30px,8vw,44px)!important;
  }
}

@media(max-width:480px){
  .inclusion-modal{
    padding:8px!important;
  }

  .inclusion-modal-card{
    width:100%!important;
    border-radius:18px!important;
  }

  .inclusion-modal-copy{
    padding:24px 18px 26px!important;
  }

  .inclusion-modal-close{
    top:12px!important;
    right:12px!important;
  }
}


/* V8.10 — Premium franchise presentation */
#franchise .inclusion-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,2.2vw,30px)!important;
  margin-top:34px!important;
}
#franchise .inclusion-item{
  position:relative!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:24px!important;
  background:#0b0b0b!important;
  box-shadow:0 22px 55px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
  isolation:isolate!important;
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease!important;
}
#franchise .inclusion-item::after{
  content:"View details  ↗"!important;
  position:absolute!important;
  right:18px!important;
  top:18px!important;
  z-index:3!important;
  padding:9px 12px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:999px!important;
  background:rgba(7,7,7,.72)!important;
  backdrop-filter:blur(12px)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  opacity:0!important;
  transform:translateY(-4px)!important;
  transition:opacity .25s ease,transform .25s ease!important;
}
#franchise .inclusion-item:hover,
#franchise .inclusion-item:focus-visible{
  transform:translateY(-5px)!important;
  border-color:rgba(217,177,72,.55)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.34)!important;
}
#franchise .inclusion-item:hover::after,
#franchise .inclusion-item:focus-visible::after{
  opacity:1!important;
  transform:none!important;
}
#franchise .inclusion-thumb{
  aspect-ratio:4/5!important;
  border-radius:23px 23px 0 0!important;
  position:relative!important;
}
#franchise .inclusion-thumb::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:28%!important;
  background:linear-gradient(to top,rgba(5,5,5,.72),transparent)!important;
  pointer-events:none!important;
}
#franchise .inclusion-thumb img{
  object-fit:cover!important;
  object-position:center top!important;
}
#franchise .inclusion-item strong{
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  padding:22px 24px 24px!important;
  color:#f7f4ec!important;
  font-size:clamp(18px,1.55vw,23px)!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}

/* Premium detail modal */
.inclusion-modal{
  background:rgba(0,0,0,.82)!important;
  backdrop-filter:blur(18px)!important;
}
.inclusion-modal-card{
  width:min(1040px,94vw)!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:28px!important;
  background:#0b0b0b!important;
  box-shadow:0 40px 120px rgba(0,0,0,.62)!important;
}
.inclusion-modal-media{
  min-height:min(76vh,760px)!important;
  background:#050505!important;
}
.inclusion-modal-media img{
  object-fit:contain!important;
  object-position:center!important;
}
.inclusion-modal-copy{
  padding:clamp(38px,5vw,68px)!important;
  border-left:1px solid rgba(255,255,255,.08)!important;
}
.inclusion-modal-copy .eyebrow{
  color:#d9b148!important;
  letter-spacing:.18em!important;
}
.inclusion-modal-copy h3{
  max-width:9ch!important;
  font-size:clamp(40px,4.5vw,66px)!important;
  letter-spacing:-.055em!important;
}
.inclusion-modal-copy p{
  max-width:35ch!important;
  color:rgba(255,255,255,.68)!important;
  font-size:18px!important;
}
.inclusion-modal-close{
  width:46px!important;
  height:46px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  cursor:pointer!important;
}
.inclusion-item:focus-visible,
.inclusion-modal-close:focus-visible{
  outline:2px solid #d9b148!important;
  outline-offset:4px!important;
}

@media(max-width:820px){
  #franchise .inclusion-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  #franchise .inclusion-item::after{display:none!important}
  #franchise .inclusion-item strong{
    min-height:68px!important;
    padding:16px!important;
    font-size:15px!important;
  }
  .inclusion-modal-card{
    display:block!important;
    width:min(620px,96vw)!important;
  }
  .inclusion-modal-media{
    min-height:0!important;
    aspect-ratio:4/5!important;
  }
  .inclusion-modal-copy{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }
  .inclusion-modal-copy h3{max-width:none!important}
}
@media(max-width:520px){
  #franchise .inclusion-list{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  #franchise .inclusion-item strong{
    min-height:0!important;
    font-size:18px!important;
  }
}


/* V8.13 — premium crawlable SEO pages */
body.seo-page{background:#080808;color:var(--text);min-height:100vh}
.seo-page .site-header .brand{min-width:180px}
.seo-page .site-header .brand img{width:clamp(150px,14vw,215px)}
.seo-page .primary-nav a[aria-current="page"]{color:#fff}
.seo-page .primary-nav a[aria-current="page"]::after{transform:scaleX(1)}
.seo-shell{width:min(1440px,calc(100% - 48px));margin:0 auto}
.seo-hero{position:relative;overflow:hidden;padding:clamp(84px,10vw,150px) 0 clamp(64px,8vw,110px);border-bottom:1px solid var(--line)}
.seo-hero::before{content:"";position:absolute;width:min(620px,65vw);aspect-ratio:1;right:-13%;top:-44%;border-radius:50%;background:radial-gradient(circle,rgba(214,168,62,.16),rgba(214,168,62,0) 68%);pointer-events:none}
.seo-kicker{color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
.seo-hero h1{position:relative;max-width:1120px;margin:0;font-size:clamp(48px,7.4vw,108px);line-height:.9;letter-spacing:-.055em}
.seo-lead{max-width:820px;margin:28px 0 0;color:#d0d0cc;font-size:clamp(17px,1.6vw,22px);line-height:1.65}
.seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.seo-section{padding:clamp(64px,8vw,118px) 0;border-bottom:1px solid var(--line)}
.seo-section-head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(320px,.28fr);gap:40px;align-items:end;margin-bottom:clamp(30px,5vw,62px)}
.seo-section-head h2{margin:0;font-size:clamp(38px,5.2vw,76px);line-height:.96;letter-spacing:-.045em}
.seo-section-head p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.seo-card{position:relative;min-height:230px;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.1);border-radius:26px;background:linear-gradient(145deg,#141414,#0d0d0d);overflow:hidden}
.seo-card::after{content:"";position:absolute;inset:auto -20% -55% 30%;height:180px;background:radial-gradient(circle,rgba(214,168,62,.13),transparent 68%);pointer-events:none}
.seo-card .num{display:block;color:var(--gold2);font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:48px}
.seo-card h2,.seo-card h3{margin:0 0 12px;font-size:clamp(22px,2.2vw,32px);line-height:1.12}
.seo-card p{margin:0;color:#c6c6c1;line-height:1.7}
.seo-card a:not(.btn){color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.seo-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,72px);align-items:center}
.seo-feature-copy h2{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px}
.seo-feature-copy p{color:#c8c8c3;font-size:18px;line-height:1.75;max-width:700px}
.seo-feature-visual{min-height:440px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,#1b1b1b,#0d0d0d);display:grid;place-items:center;padding:34px;position:relative;overflow:hidden}
.seo-feature-visual::before{content:"UNDERCHARGERS";font-size:clamp(34px,5vw,74px);font-weight:800;letter-spacing:-.05em;color:rgba(255,255,255,.07)}
.seo-location-card{min-height:300px}
.seo-location-card address{font-style:normal;color:#c9c9c4;line-height:1.75}
.seo-hours{margin-top:16px;color:#aaa;font-size:14px}
.seo-book-panel{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:clamp(28px,4vw,52px);border:1px solid rgba(214,168,62,.35);border-radius:30px;background:linear-gradient(120deg,rgba(214,168,62,.12),rgba(255,255,255,.025))}
.seo-book-panel h2{margin:0 0 10px;font-size:clamp(30px,4vw,58px);letter-spacing:-.04em;line-height:1}
.seo-book-panel p{margin:0;color:#c8c8c3;max-width:740px;line-height:1.7}
.seo-page .footer{margin-top:0}
.seo-page .footer-statement,.seo-page .footer-grid,.seo-page .footer-bottom{width:min(1440px,calc(100% - 48px));margin-inline:auto}
.seo-page .footer-statement{padding-top:clamp(70px,9vw,130px)}
.seo-page .floating-actions{display:block}
@media(max-width:900px){.seo-grid{grid-template-columns:1fr 1fr}.seo-section-head,.seo-feature{grid-template-columns:1fr}.seo-feature-visual{min-height:320px}.seo-book-panel{grid-template-columns:1fr}.seo-shell,.seo-page .footer-statement,.seo-page .footer-grid,.seo-page .footer-bottom{width:calc(100% - 32px)}}
@media(max-width:620px){.seo-grid{grid-template-columns:1fr}.seo-hero{padding-top:58px}.seo-card{min-height:0}.seo-card .num{margin-bottom:28px}.seo-page .footer-statement,.seo-page .footer-grid,.seo-page .footer-bottom{width:calc(100% - 28px)}}


/* V8.14 consultation, branch defaults and appointment architecture */
.consultation-hub{padding-top:100px;max-width:1120px}.consultation-lead{max-width:820px;color:var(--muted);font-size:clamp(17px,1.45vw,21px);line-height:1.7}.consultation-channels .primary-channel{border-color:rgba(214,168,62,.55);background:linear-gradient(135deg,#17140d,#0f0f0f);box-shadow:0 18px 50px rgba(0,0,0,.22)}.channel-copy{display:grid;gap:5px;min-width:0}.channel-copy small{color:#8e8e88;font-size:12px;line-height:1.35}.brand-messenger{background:#168aff;color:white}.brand-viber{background:transparent;color:white;overflow:visible}.brand-instagram{background:radial-gradient(circle at 30% 110%,#ffd600 0 10%,#ff7a00 28%,#ff0169 48%,#d300c5 68%,#7638fa 100%);color:white}.brand-sms{background:#2f9e44;color:white}.channel-icon svg{width:27px;height:27px}.brand-messenger svg{fill:currentColor;stroke:none}.brand-viber svg,.brand-sms svg,.brand-instagram svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.consultation-note{max-width:820px;margin-top:18px;color:#777;font-size:13px;line-height:1.6}.branch-media.has-image,.branch-media.has-drive-image{background-size:cover!important;background-position:center!important}.branch-media>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.branch-media{position:relative}
@media(max-width:820px){.consultation-hub{padding-top:70px}.contact-list>a{grid-template-columns:56px minmax(0,1fr) auto}.channel-copy small{font-size:11px}}
@media(max-width:520px){.contact-list>a{grid-template-columns:52px minmax(0,1fr)}.contact-list>a em{grid-column:2;display:block!important;margin:0!important}.booking-branch-preview>a{min-height:150px}}

.booking-system-note{font-size:14px!important;color:#777!important}.appointment-branch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.appointment-branch-card{min-height:210px;padding:28px;border:1px solid var(--line);border-radius:24px;background:#101010;display:flex;flex-direction:column;gap:12px}.appointment-branch-card strong{font-size:26px}.appointment-branch-card span{color:var(--muted);line-height:1.5}.appointment-branch-card em{font-style:normal;color:var(--gold2);font-weight:800;margin-top:auto}.appointment-branch-card:hover,.appointment-branch-card:focus-visible{border-color:var(--gold);outline:none}.appointment-status{margin-top:24px;padding:26px;border:1px dashed rgba(214,168,62,.45);border-radius:22px;background:#0d0d0d}.appointment-status span{display:block;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.appointment-status strong{display:block;font-size:24px;margin:8px 0}.appointment-status p{color:var(--muted);line-height:1.6;margin:0;max-width:720px}@media(max-width:820px){.appointment-branch-grid{grid-template-columns:1fr}.appointment-branch-card{min-height:170px}}

.messenger-handoff{max-width:820px}.messenger-handoff-icon{width:68px;height:68px;margin:12px 0 24px}.messenger-handoff-icon svg{width:38px;height:38px}.messenger-tracking-note{color:#777;font-size:12px;line-height:1.55;max-width:680px;margin-top:22px}.messenger-fallback{margin-top:18px;color:var(--muted)}.messenger-fallback a{color:var(--gold2);font-weight:800}

.appointment-branch-card.selected{border-color:var(--gold);background:linear-gradient(145deg,#17140d,#101010);box-shadow:0 18px 55px rgba(0,0,0,.25)}

/* Review patch — real Viber app-style asset */
.brand-viber img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}

/* Review patch — keep the approved longer consultation CTA inside mobile cards */
@media(max-width:820px){.service-story .service-cta{width:100%;max-width:100%;white-space:normal;text-align:center;line-height:1.25;padding:12px 18px}}


/* LATEST PATCH — responsive branch typography + booking confirmation modal */
.branch-copy h3{
  font-size:clamp(36px,3.1vw,54px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  max-width:100%;
}
.branch-copy>p:not(.eyebrow){
  font-size:clamp(15px,1.15vw,18px)!important;
  line-height:1.55!important;
}
@media(max-width:1100px) and (min-width:821px){
  .branch-copy{padding:clamp(28px,3.2vw,40px)!important}
  .branch-copy h3{font-size:clamp(34px,3.7vw,44px)!important}
  .branch-copy>p:not(.eyebrow){font-size:clamp(15px,1.5vw,17px)!important}
}
@media(max-width:820px){
  .branch-copy h3{font-size:clamp(36px,10vw,50px)!important}
  .branch-copy>p:not(.eyebrow){font-size:clamp(15px,4.2vw,18px)!important}
}
@media(max-width:390px){
  .branch-copy h3{font-size:clamp(34px,10.2vw,40px)!important}
}

body.booking-modal-open{overflow:hidden!important}
.booking-confirmation-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  transition:opacity .2s ease,visibility .2s ease;
}
.booking-confirmation-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.booking-confirmation-panel{
  position:relative;
  width:min(620px,100%);
  max-height:calc(100dvh - 32px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:linear-gradient(145deg,#151515,#0d0d0d);
  box-shadow:0 30px 100px rgba(0,0,0,.62);
  padding:clamp(30px,5vw,52px);
}
.booking-confirmation-panel h2{
  max-width:500px;
  margin:0 56px 18px 0;
  font-size:clamp(34px,5vw,54px);
  line-height:.95;
  letter-spacing:-.045em;
}
.booking-confirmation-panel>p{
  margin:0;
  max-width:510px;
  color:#c8c8c3;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.65;
}
.booking-confirmation-close{
  position:absolute;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:rgba(255,255,255,.44);
  cursor:pointer;
  padding:0;
}
.booking-confirmation-close span{
  display:block;
  font-size:24px;
  line-height:1;
  transform:translateY(-1px);
}
.booking-confirmation-close:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.04)}
.booking-confirmation-close:focus-visible,.booking-confirmation-submit:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.booking-confirmation-submit{
  width:100%;
  margin-top:30px;
  min-height:54px;
}
@media(max-width:430px){
  .booking-confirmation-modal{place-items:center;padding:12px}
  .booking-confirmation-panel{
    width:100%;
    max-height:calc(100dvh - 24px);
    border-radius:22px;
    padding:32px 20px 22px;
  }
  .booking-confirmation-panel h2{margin-right:42px;font-size:clamp(32px,10vw,42px)}
  .booking-confirmation-panel>p{font-size:15px;line-height:1.6}
  .booking-confirmation-submit{min-height:52px;padding-inline:16px;font-size:12px}
}

/* =========================================================
   BRANCH TITLE SIZE HOTFIX — FINAL OVERRIDE
   Keep this block at the very end of styles.css.
   ========================================================= */
.locations .branch-hero .branch-copy h3{
  font-size:clamp(56px,5vw,70px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%!important;
}

.locations .branch-hero .branch-copy>p:not(.eyebrow){
  font-size:clamp(16px,1.3vw,19px)!important;
  line-height:1.55!important;
}

@media(max-width:1100px) and (min-width:821px){
  .locations .branch-hero .branch-copy h3{
    font-size:clamp(50px,5.4vw,58px)!important;
  }

  .locations .branch-hero .branch-copy>p:not(.eyebrow){
    font-size:clamp(15px,1.65vw,18px)!important;
  }
}

@media(max-width:820px){
  .locations .branch-hero .branch-copy h3{
    font-size:clamp(40px,10.8vw,54px)!important;
  }
}

@media(max-width:390px){
  .locations .branch-hero .branch-copy h3{
    font-size:clamp(36px,10.8vw,42px)!important;
  }
}

/* =========================================================
   INQUIRY GRID — FULL SITE WIDTH, KEEP 2 x 2
   ========================================================= */
#inquiry .consultation-hub{
  width:100%!important;
  max-width:none!important;
}

#inquiry .consultation-channels{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

#inquiry .consultation-channels > a{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Keep copy readable while cards use the full section width. */
#inquiry .consultation-hub > .eyebrow,
#inquiry .consultation-hub > h2,
#inquiry .consultation-hub > .consultation-lead,
#inquiry .consultation-hub > .consultation-note{
  max-width:820px;
}

@media(max-width:820px){
  #inquiry .consultation-channels{
    grid-template-columns:1fr!important;
  }
}

/* ==========================================================================
   V9.0 HostGator beta hardening / iOS performance patch
   ========================================================================== */
.uc-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  left:-10000px!important;
  top:auto!important;
}
.premium-form button[disabled]{opacity:.58;cursor:wait;pointer-events:none}

/* Keep the premium reveal treatment on modern browsers while avoiding
   unnecessary long-lived compositing layers. */
.reveal.visible{will-change:auto}
.hero-video{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* iOS Safari/WebKit: sticky backdrop blur + moving transform layers can
   trigger visible viewport compositing jitter. Keep the same dark premium
   header but use an opaque layer and opacity-only reveals on iPhone/iPad. */
@media(max-width:820px){
  html.is-ios .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(8,8,8,.985)!important;
  }
  html.is-ios .header-inner::after{
    background:linear-gradient(90deg,rgba(8,8,8,0),rgba(8,8,8,.995) 82%)!important;
  }
  html.is-ios .primary-nav{scroll-behavior:auto!important}
  html.is-ios .reveal{
    transform:none!important;
    transition:opacity .52s cubic-bezier(.22,.7,.2,1)!important;
  }
  html.is-ios .reviews-grid.is-changing{transform:none!important}
  html.is-ios .home-hero .hero-media,
  html.is-ios .home-hero .hero-video{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  html.is-ios .btn-ghost,
  html.is-ios .variant{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(13,13,13,.82);
  }
}

/* V9.1 branded thank-you contact assets + motion safeguards */
.brand-asset-icon{background:transparent!important;overflow:hidden;padding:0!important}
.brand-asset-icon img{display:block;width:100%;height:100%;object-fit:contain}
.thank-you-messenger-cta{gap:10px}
.thank-you-messenger-cta img{width:22px;height:22px;display:block}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .reveal,.reveal.visible,.reviews-grid,.reviews-grid.is-changing{opacity:1!important;transform:none!important;transition:none!important}
}

/* V9.2 iOS scroll stability: avoid Safari's competing smooth-scroll compositor
   while preserving premium opacity/reveal timing and normal desktop/Android motion. */
html.is-ios{scroll-behavior:auto!important}
@media(max-width:820px){
  html.is-ios body{overscroll-behavior-y:none}
  html.is-ios .site-header{transform:translateZ(0);-webkit-transform:translateZ(0)}
}

/* ==========================================================================
   V10.0 — Local-assets / CMS-ready handoff refinements
   Keep these overrides last so future patches can find them quickly.
   ========================================================================== */

/* Brand phrases can be wrapped intentionally around this span, but not inside it. */
.keep-together{white-space:nowrap!important}

/* CMS media contract: crop/focal settings are usage-specific and can later be
   changed by the first-party CMS without editing CSS or the source image. */
img[data-cms-media],video[data-cms-media]{
  object-fit:var(--cms-fit,cover);
  object-position:var(--cms-crop-x,50%) var(--cms-crop-y,50%);
}
.branch-media.has-local-image{
  position:relative;
  overflow:hidden;
  background:#0a0a0a;
}
.branch-media.has-local-image>img{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:var(--cms-fit,cover);
  object-position:var(--cms-crop-x,50%) var(--cms-crop-y,50%);
  cursor:zoom-in;
}

/* Exact supplied Viber visual: crop only the transparent/white outer canvas,
   leaving the purple circular mark and white glyph unchanged. */
.brand-viber{
  overflow:hidden!important;
  border-radius:50%!important;
  background:#8b79d7!important;
  padding:0!important;
}
.brand-viber>img,
.brand-viber.brand-asset-icon>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.48)!important;
  transform-origin:center!important;
}

/* Thank-you contacts intentionally mirror the Inquiry cards. */
.thank-you-contact-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%;
}
.thank-you-contact-list>a{
  width:100%!important;
  min-width:0!important;
}
.thank-you-actions{
  display:flex!important;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
@media(max-width:820px){
  .thank-you-contact-list{grid-template-columns:1fr!important}
}

/* Review excerpts are intentionally concise; reserve a stable text area so
   rows stay visually balanced even when names or copy differ slightly. */
.review-card blockquote,
.testimonial-card blockquote{
  min-height:7.2em;
}

/* Showcase should feel immediate, never like it waits for the entire section. */
#showcase-stage{
  min-height:clamp(360px,54vw,760px);
}
#showcase-stage .showcase-media-item{
  transition-duration:.42s;
  transition-timing-function:cubic-bezier(.2,.75,.2,1);
}

/* iPhone/iPad only: preserve the premium timing but remove the overly-fast
   V9 opacity snap and expensive translate layers that caused WebKit jitter.
   Desktop and Android intentionally keep their existing motion. */
@media(max-width:820px){
  html.is-ios .reveal{
    transform:none!important;
    transition-property:opacity!important;
    transition-duration:.86s!important;
    transition-timing-function:cubic-bezier(.16,1,.3,1)!important;
  }
  html.is-ios .reveal[data-reveal-priority="early"]{
    transition-duration:.68s!important;
  }
  html.is-ios #showcase-stage .showcase-media-item{
    transition-duration:.52s!important;
    transition-timing-function:cubic-bezier(.16,1,.3,1)!important;
  }
}

/* Public anti-bot field remains in the DOM for bots but cannot become visible
   through inherited form styles. Do not replace this with display:none. */
.uc-honeypot,
.uc-honeypot *{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

/* The future CMS renderer adds .cms-rendered-multiline after inserting plain
   textContent. This avoids treating source-code formatting whitespace as content. */
.cms-rendered-multiline{white-space:pre-line}
.cms-rendered-multiline .keep-together{white-space:nowrap!important}


/* ==========================================================================
   V11.0 — form clarity, branch media, booking state, modal loading
   This block is intentionally self-contained for CRM/CMS handoff.
   ========================================================================== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.field-label{display:block;color:#ddd;font-size:13px;font-weight:700;line-height:1.35}
.required-mark{color:var(--gold2);font-weight:800}
.optional-tag{color:#85857f;font-weight:600}
.field-note{display:block;margin-top:-2px;color:#777;font-size:11px;font-weight:500;line-height:1.45;text-transform:none;letter-spacing:0}
.phone-field{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:stretch!important;width:100%;background:#0b0b0b;border:1px solid #313131;border-radius:14px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.phone-field:focus-within{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(226,173,56,.08)!important}
.phone-prefix{display:flex;align-items:center;padding:0 14px;color:#f2f2ee;font-weight:700;border-right:1px solid #313131;background:#111;white-space:nowrap}
.premium-vertical-form .phone-field input,.booking-form .phone-field input{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;min-width:0!important}
.premium-vertical-form input::placeholder,.premium-vertical-form textarea::placeholder,.booking-form input::placeholder,.booking-form textarea::placeholder{color:#62625e;opacity:1}

/* Keep branch cards editorial rather than stretched edge-to-edge on wide screens. */
.locations .branch-hero{width:min(1120px,100%);margin-left:auto;margin-right:auto}
.locations .branch-media>img{transition:object-position .25s ease}

/* Book Now is its own active state. Never inherit an underline from Inquiry. */
.book-page .primary-nav a:not(.nav-cta)::after{transform:scaleX(0)!important}
.book-page .primary-nav .nav-cta::after{display:none!important;content:none!important}
.book-page .booking-page-hero{padding-top:clamp(44px,5.5vw,72px)}
@media(max-width:620px){.book-page .booking-page-hero{padding-top:34px}}

/* Inclusion modal never flashes the previous selection while a new image decodes. */
.inclusion-modal-media{position:relative;background:linear-gradient(110deg,#101010 25%,#181818 45%,#101010 65%);background-size:220% 100%}
.inclusion-modal-media.is-loading{animation:uc-modal-shimmer 1.15s linear infinite}
.inclusion-modal-media img{opacity:0;transition:opacity .24s ease}
.inclusion-modal-media img.is-ready{opacity:1}
@keyframes uc-modal-shimmer{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.inclusion-modal-media.is-loading{animation:none}.inclusion-modal-media img{transition:none}}

/* Thank-you uses the same 2×2 Inquiry card component on desktop. */
.thank-you-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:36px!important}
.thank-you-contact-list>a{min-height:92px!important;padding:15px 18px!important}
@media(max-width:820px){.thank-you-contact-list{grid-template-columns:1fr!important}.thank-you-contact-list>a{min-height:86px!important}}

/* Home Book Now begins closer to its divider; entering it clears the section nav underline. */
#book-now{padding-top:clamp(72px,6vw,100px)!important}
@media(max-width:700px){#book-now{padding-top:64px!important}}

/* V12 BRANCH GEOMETRY LOCK */
/* Preserve the original branch-card dimensions.
   Portrait/landscape source files are cropped INSIDE the media frame only. */
.locations .branch-hero{
  width:100% !important;
  max-width:none !important;
  min-height:570px !important;
  height:570px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important;
  overflow:hidden !important;
}
.locations .branch-hero.reverse{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
}
.locations .branch-hero.reverse .branch-media{
  order:2 !important;
}
.locations .branch-media{
  position:relative !important;
  min-width:0 !important;
  width:100% !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
.locations .branch-media > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  transform:none !important;
}
.locations .branch-media > img[data-crop-y="72"]{
  object-position:50% 72% !important;
}
.locations .branch-media > img[data-crop-y="50"]{
  object-position:50% 50% !important;
}
.locations .branch-copy{
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  overflow:hidden !important;
}

/* Mobile cards stack normally; the fixed desktop height must not leak down. */
@media(max-width:820px){
  .locations .branch-hero,
  .locations .branch-hero.reverse{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr !important;
  }
  .locations .branch-hero.reverse .branch-media{
    order:0 !important;
  }
  .locations .branch-media{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }
}

/* V13 — Franchise inclusion modal close control
   Keep a generous click/tap target, but show only the X visually. */
.inclusion-modal-close{
  width:46px!important;
  height:46px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
  opacity:.96!important;
}
.inclusion-modal-close:hover{
  background:transparent!important;
  border-color:transparent!important;
  opacity:1!important;
}
.inclusion-modal-close:active{
  background:transparent!important;
  transform:scale(.94);
}
.inclusion-modal-close:focus-visible{
  outline:2px solid #d9b148!important;
  outline-offset:3px!important;
}


/* V13.1 — Public image lightbox rendering fix
   The backdrop must never be mistaken for the opened image. */
.image-lightbox-inner{position:relative;z-index:1;min-width:0;min-height:0}
.image-lightbox img{position:relative;z-index:1;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;background:#0a0a0a}
.image-lightbox.is-loading img{opacity:0!important}
.image-lightbox.is-loading .image-lightbox-inner::before{content:"Loading image…";position:absolute;inset:0;display:grid;place-items:center;color:#bdbdb8;font-size:.85rem;letter-spacing:.04em;z-index:0}
.image-lightbox.has-error .image-lightbox-inner{min-width:min(520px,90vw);min-height:180px;justify-content:center}
.image-lightbox.has-error img{display:none!important}
.image-lightbox.has-error figcaption{color:#f1f1ee;max-width:520px}

/* CMS-controlled form-card themes. Scope is the form only; surrounding sections stay untouched. */
.premium-form.uc-form-theme-default{background:#131313;border-color:var(--line);color:var(--text)}
.premium-form.uc-form-theme-clean-white{background:#f7f7f4!important;border-color:#deded8!important;color:#121212!important;box-shadow:0 28px 70px rgba(0,0,0,.22)}
.premium-form.uc-form-theme-clean-white .form-head h3,.premium-form.uc-form-theme-clean-white .field-label,.premium-form.uc-form-theme-clean-white label{color:#181818!important}
.premium-form.uc-form-theme-clean-white .form-head p,.premium-form.uc-form-theme-clean-white .field-note,.premium-form.uc-form-theme-clean-white .form-note{color:#66645f!important}
.premium-form.uc-form-theme-clean-white input,.premium-form.uc-form-theme-clean-white select,.premium-form.uc-form-theme-clean-white textarea,.premium-form.uc-form-theme-clean-white .phone-field{background:#fff!important;border-color:#d1d1cb!important;color:#111!important}
.premium-form.uc-form-theme-clean-white input::placeholder,.premium-form.uc-form-theme-clean-white textarea::placeholder{color:#8a8882!important}
.premium-form.uc-form-theme-clean-white .phone-prefix{color:#151515!important;background:#f1f1ed!important;border-color:#d1d1cb!important}
.premium-form.uc-form-theme-clean-white .required-mark{color:#b88400!important}

.premium-form.uc-form-theme-warm-ivory{background:linear-gradient(145deg,#f2eadb,#e9dfce)!important;border-color:#d0bea0!important;color:#211d17!important;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.premium-form.uc-form-theme-warm-ivory .form-head h3,.premium-form.uc-form-theme-warm-ivory .field-label,.premium-form.uc-form-theme-warm-ivory label{color:#262018!important}
.premium-form.uc-form-theme-warm-ivory .form-head p,.premium-form.uc-form-theme-warm-ivory .field-note,.premium-form.uc-form-theme-warm-ivory .form-note{color:#6e6456!important}
.premium-form.uc-form-theme-warm-ivory input,.premium-form.uc-form-theme-warm-ivory select,.premium-form.uc-form-theme-warm-ivory textarea,.premium-form.uc-form-theme-warm-ivory .phone-field{background:#fffaf1!important;border-color:#cdbd9f!important;color:#201b14!important}
.premium-form.uc-form-theme-warm-ivory input::placeholder,.premium-form.uc-form-theme-warm-ivory textarea::placeholder{color:#8a7d69!important}
.premium-form.uc-form-theme-warm-ivory .phone-prefix{color:#241d14!important;background:#efe4d2!important;border-color:#cdbd9f!important}
.premium-form.uc-form-theme-warm-ivory .required-mark{color:#9b6f08!important}

.premium-form.uc-form-theme-graphite-edge{background:linear-gradient(145deg,#222327,#17181b)!important;border-color:#4a4c52!important;color:#f7f7f4!important;box-shadow:0 26px 64px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025)}
.premium-form.uc-form-theme-graphite-edge .form-head h3,.premium-form.uc-form-theme-graphite-edge .field-label,.premium-form.uc-form-theme-graphite-edge label{color:#f1f1ee!important}
.premium-form.uc-form-theme-graphite-edge .form-head p,.premium-form.uc-form-theme-graphite-edge .field-note,.premium-form.uc-form-theme-graphite-edge .form-note{color:#b4b4ae!important}
.premium-form.uc-form-theme-graphite-edge input,.premium-form.uc-form-theme-graphite-edge select,.premium-form.uc-form-theme-graphite-edge textarea,.premium-form.uc-form-theme-graphite-edge .phone-field{background:#303238!important;border-color:#555860!important;color:#fff!important}
.premium-form.uc-form-theme-graphite-edge input::placeholder,.premium-form.uc-form-theme-graphite-edge textarea::placeholder{color:#aaaab0!important}
.premium-form.uc-form-theme-graphite-edge .phone-prefix{color:#f5f5f2!important;background:#282a2f!important;border-color:#555860!important}
.premium-form[class*="uc-form-theme-"]{transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}


/* CMS v12.7.2 — booking form + calendar shared theme renderer */
.calendar-card.uc-form-theme-default{background:var(--card,#131313);border-color:var(--line);color:var(--text)}
.calendar-card.uc-form-theme-clean-white{background:#f7f7f4!important;border-color:#deded8!important;color:#121212!important;box-shadow:0 28px 70px rgba(0,0,0,.22)}
.calendar-card.uc-form-theme-clean-white .calendar-toolbar strong,.calendar-card.uc-form-theme-clean-white .calendar-weekdays,.calendar-card.uc-form-theme-clean-white .calendar-legend{color:#353535!important}
.calendar-card.uc-form-theme-clean-white .arrow{background:#fff!important;border-color:#d1d1cb!important;color:#111!important}
.calendar-card.uc-form-theme-clean-white .calendar-grid button{background:#fff!important;border-color:#d8d8d1!important;color:#161616!important}
.calendar-card.uc-form-theme-clean-white .calendar-grid button:not(:disabled):hover{border-color:#b88400!important;background:#fffaf0!important}
.calendar-card.uc-form-theme-clean-white .calendar-grid button.is-selected,.calendar-card.uc-form-theme-clean-white .calendar-grid button.selected{background:#d5aa46!important;border-color:#d5aa46!important;color:#111!important}
.calendar-card.uc-form-theme-clean-white .calendar-grid button:disabled{background:#ecece8!important;color:#aaa7a0!important;border-color:#deded8!important}

.calendar-card.uc-form-theme-warm-ivory{background:linear-gradient(145deg,#f2eadb,#e9dfce)!important;border-color:#d0bea0!important;color:#211d17!important;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.calendar-card.uc-form-theme-warm-ivory .calendar-toolbar strong,.calendar-card.uc-form-theme-warm-ivory .calendar-weekdays,.calendar-card.uc-form-theme-warm-ivory .calendar-legend{color:#4b4032!important}
.calendar-card.uc-form-theme-warm-ivory .arrow{background:#fffaf1!important;border-color:#cdbd9f!important;color:#241d14!important}
.calendar-card.uc-form-theme-warm-ivory .calendar-grid button{background:#fffaf1!important;border-color:#d6c6a9!important;color:#211d17!important}
.calendar-card.uc-form-theme-warm-ivory .calendar-grid button:not(:disabled):hover{background:#fff5df!important;border-color:#a87912!important}
.calendar-card.uc-form-theme-warm-ivory .calendar-grid button.is-selected,.calendar-card.uc-form-theme-warm-ivory .calendar-grid button.selected{background:#c99b35!important;border-color:#c99b35!important;color:#17120b!important}
.calendar-card.uc-form-theme-warm-ivory .calendar-grid button:disabled{background:#e7dece!important;color:#9b9181!important;border-color:#d4c5aa!important}

.calendar-card.uc-form-theme-graphite-edge{background:linear-gradient(145deg,#222327,#17181b)!important;border-color:#4a4c52!important;color:#f7f7f4!important;box-shadow:0 26px 64px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025)}
.calendar-card.uc-form-theme-graphite-edge .calendar-toolbar strong,.calendar-card.uc-form-theme-graphite-edge .calendar-weekdays,.calendar-card.uc-form-theme-graphite-edge .calendar-legend{color:#d7d7d3!important}
.calendar-card.uc-form-theme-graphite-edge .arrow{background:#303238!important;border-color:#555860!important;color:#fff!important}
.calendar-card.uc-form-theme-graphite-edge .calendar-grid button{background:#303238!important;border-color:#4e5158!important;color:#fff!important}
.calendar-card.uc-form-theme-graphite-edge .calendar-grid button:not(:disabled):hover{background:#383a41!important;border-color:#d0aa51!important}
.calendar-card.uc-form-theme-graphite-edge .calendar-grid button.is-selected,.calendar-card.uc-form-theme-graphite-edge .calendar-grid button.selected{background:#d0aa51!important;border-color:#d0aa51!important;color:#111!important}
.calendar-card.uc-form-theme-graphite-edge .calendar-grid button:disabled{background:#24262b!important;color:#74767d!important;border-color:#393b42!important}
.calendar-card[class*="uc-form-theme-"]{transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}

/* v12.7.11 — dynamic photo collections + single-line consultation CTA */
.awards-visual.uc-dynamic-photo-carousel{
  display:flex!important;
  align-items:stretch;
  justify-content:flex-start!important;
  gap:14px;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:clamp(10px,1.5vw,18px)!important;
}
.awards-visual.uc-dynamic-photo-carousel::-webkit-scrollbar{display:none}
.awards-visual.uc-dynamic-photo-carousel>img[data-cms-core-generated-photo]{
  flex:0 0 100%;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:760px!important;
  object-fit:contain!important;
  scroll-snap-align:center;
  border-radius:12px;
}

/* Long action copy should shrink before it wraps. */
#inquiry .consultation-channels > a em,
#inquiry .consultation-channels > a [data-cms-field^="cta-label"]{
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  font-size:clamp(9px,.78vw,12px)!important;
  line-height:1.1!important;
  letter-spacing:-.01em;
}
@media(max-width:820px){
  #inquiry .consultation-channels > a em,
  #inquiry .consultation-channels > a [data-cms-field^="cta-label"]{
    font-size:clamp(9px,2.65vw,12px)!important;
  }
}

/* v12.7.13 — service CTA text must stay on one line on mobile. */
@media(max-width:820px){
  .service-story .service-cta{
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-align:center!important;
    line-height:1!important;
    font-size:clamp(8px,2.55vw,12px)!important;
    letter-spacing:clamp(.01em,.18vw,.05em)!important;
    padding:12px clamp(8px,3vw,16px)!important;
  }
}

/* v12.7.16 — Awards: four-image automatic single-view slider */
.awards-visual.award-auto-slider{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  padding:clamp(10px,1.5vw,18px)!important;
  aspect-ratio:18/25;
  min-height:0!important;
  background:#111!important;
}
.awards-visual.award-auto-slider .award-slide{
  position:absolute!important;
  inset:clamp(10px,1.5vw,18px)!important;
  width:calc(100% - clamp(20px,3vw,36px))!important;
  height:calc(100% - clamp(20px,3vw,36px))!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:12px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .65s ease,visibility .65s ease;
}
.awards-visual.award-auto-slider .award-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
@media (prefers-reduced-motion: reduce){
  .awards-visual.award-auto-slider .award-slide{transition:none}
}

/* v12.7.17 — instant skeleton, slow-network loader, and clean award frame */
.uc-boot-shell{
  position:fixed;inset:0;z-index:2147483000;background:#080808;color:#fff;
  display:grid;place-items:center;overflow:hidden;opacity:1;visibility:visible;
  transition:opacity .32s ease,visibility .32s ease;
}
.uc-boot-shell.is-done{opacity:0;visibility:hidden;pointer-events:none}
.uc-boot-skeleton{position:absolute;inset:0;padding:clamp(18px,3vw,42px);display:grid;grid-template-rows:auto 1fr;gap:clamp(24px,5vh,58px)}
.uc-boot-head{height:54px;display:flex;align-items:center;gap:16px}
.uc-boot-head i{width:150px;height:26px;border-radius:8px}
.uc-boot-head span{width:82px;height:13px;border-radius:999px}
.uc-boot-hero{align-self:center;width:min(820px,88vw);display:grid;gap:16px}
.uc-boot-hero b:nth-child(1){width:min(610px,82vw);height:clamp(42px,7vw,84px);border-radius:12px}
.uc-boot-hero b:nth-child(2){width:min(520px,75vw);height:18px;border-radius:999px}
.uc-boot-hero b:nth-child(3){width:180px;height:46px;border-radius:999px}
.uc-boot-head i,.uc-boot-head span,.uc-boot-hero b{
  display:block;background:linear-gradient(90deg,#151515 0%,#242424 50%,#151515 100%);
  background-size:220% 100%;animation:uc-boot-shimmer 1.15s linear infinite
}
.uc-boot-loader{
  position:relative;z-index:2;display:grid;justify-items:center;gap:10px;text-align:center;
  opacity:0;transform:translateY(6px);animation:uc-boot-loader-in .28s ease 60s forwards
}
.uc-boot-loader strong{font-size:clamp(.92rem,2.2vw,1.15rem);letter-spacing:.18em;color:#d7ab49}
.uc-boot-loader span{font-size:.82rem;color:rgba(255,255,255,.62)}
.uc-boot-loader i{width:42px;height:3px;border-radius:99px;background:#d7ab49;animation:uc-loader-pulse .9s ease-in-out infinite alternate}
@keyframes uc-boot-shimmer{to{background-position:-220% 0}}
@keyframes uc-boot-loader-in{to{opacity:1;transform:none}}
@keyframes uc-loader-pulse{from{transform:scaleX(.35);opacity:.45}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){
  .uc-boot-head i,.uc-boot-head span,.uc-boot-hero b,.uc-boot-loader i{animation:none}
  .uc-boot-loader{animation:none;opacity:1;transform:none}
}

/* Awards: remove decorative border/frame. The uploaded artwork itself stays untouched. */
.awards-visual.award-auto-slider{
  border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;
  padding:0!important;
}
.awards-visual.award-auto-slider .award-slide{
  inset:0!important;width:100%!important;height:100%!important;border:0!important;box-shadow:none!important;
}

/* Required-field UX */
.required-reminder{
  margin:.35rem 0 0;font-size:.74rem;line-height:1.4;color:rgba(255,255,255,.62);
}
.required-reminder .required-mark{color:#d1a33d;font-weight:800}
.booking-step[data-step="1"] .required-reminder{display:block}
.booking-step[data-step="2"][aria-disabled="true"] .required-reminder{display:none}
.premium-form .form-required-reminder{
  margin:0 0 14px;font-size:.73rem;line-height:1.45;color:inherit;opacity:0;
  max-height:0;overflow:hidden;transition:opacity .2s ease,max-height .2s ease,margin .2s ease;
}
.premium-form:focus-within .form-required-reminder,
.premium-form[data-required-hint-visible="true"] .form-required-reminder{
  opacity:.68;max-height:40px;margin:0 0 14px;
}
.premium-form.uc-form-theme-clean-white .form-required-reminder{color:#605e59}

/* v12.7.19 — Awards gallery UX + core-value image content */
.awards-editorial{
  align-items:center!important;
}
.awards-editorial .awards-copy{
  align-self:center;
}
.awards-visual.award-auto-slider{
  width:min(100%,480px)!important;
  max-width:100%!important;
  margin-inline:auto!important;
  aspect-ratio:4/5!important;
  cursor:pointer;
}
@media(min-width:1101px){
  .awards-visual.award-auto-slider{
    width:min(80%,480px)!important;
  }
}
.awards-gallery-hint{
  margin:.7rem auto 0;
  width:min(100%,480px);
  color:rgba(255,255,255,.58);
  font-size:.8rem;
  line-height:1.45;
  text-align:center;
}
.award-slider-dots{
  width:min(100%,480px);
  margin:.8rem auto 0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
}
.award-slider-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.24);
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.award-slider-dot.is-active{
  background:var(--gold,#d7ab49);
  transform:scale(1.2);
  box-shadow:0 0 0 1px rgba(215,171,73,.35),0 0 18px rgba(215,171,73,.28);
}
.image-lightbox-nav{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(16,16,16,.86);
  color:#fff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.image-lightbox-nav.prev{left:18px}
.image-lightbox-nav.next{right:18px}
.image-lightbox-thumbs{
  width:min(90vw,780px);
  display:flex;
  gap:10px;
  justify-content:center;
  align-items:center;
  overflow-x:auto;
  padding:4px 2px 2px;
}
.image-lightbox-thumbs[hidden]{display:none}
.image-lightbox-thumb{
  flex:0 0 auto;
  width:72px;
  height:90px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  background:#111;
  padding:0;
  opacity:.65;
  cursor:pointer;
  transition:opacity .22s ease,transform .22s ease,border-color .22s ease;
}
.image-lightbox-thumb.is-active{
  opacity:1;
  transform:translateY(-2px);
  border-color:rgba(215,171,73,.8);
}
.image-lightbox-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
}
@media(max-width:820px){
  .image-lightbox-nav{
    width:44px;
    height:44px;
    font-size:28px;
  }
  .image-lightbox-nav.prev{left:10px}
  .image-lightbox-nav.next{right:10px}
  .image-lightbox-thumb{width:56px;height:72px}
  .awards-gallery-hint{font-size:.75rem}
}

/* v12.7.21 — layout-matched public skeleton */
.uc-boot-skeleton{
  position:absolute!important;
  inset:0!important;
  padding:0!important;
  display:block!important;
  background:#080808;
}
.uc-boot-site-header{
  position:absolute;
  inset:0 0 auto 0;
  height:86px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,8,8,.98);
  z-index:3;
}
.uc-boot-header-inner{
  width:min(1280px,calc(100% - 48px));
  height:100%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.uc-boot-logo{
  display:block;
  width:clamp(150px,14vw,215px);
  height:34px;
  border-radius:8px;
}
.uc-boot-nav{
  display:flex;
  align-items:center;
  gap:clamp(18px,2.3vw,34px);
  white-space:nowrap;
}
.uc-boot-nav span{
  display:block;
  width:clamp(44px,4.8vw,68px);
  height:12px;
  border-radius:999px;
}
.uc-boot-nav b{
  display:block;
  width:112px;
  height:42px;
  border-radius:999px;
}
.uc-boot-home-hero{
  position:absolute;
  inset:86px 0 0;
  min-height:calc(100svh - 86px);
  overflow:hidden;
  background:#050505;
}
.uc-boot-hero-media{
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,#121212 0%,#1b1b1b 42%,#0d0d0d 76%,#151515 100%);
  background-size:220% 100%;
  animation:uc-boot-shimmer 1.15s linear infinite;
}
.uc-boot-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.28) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 60%);
}
.uc-boot-hero-content{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:clamp(72px,9vw,120px);
  transform:translateX(-50%);
  width:min(1440px,calc(100% - clamp(40px,6vw,100px)));
}
.uc-boot-eyebrow{
  display:block;
  width:128px;
  height:12px;
  border-radius:999px;
  margin-bottom:20px;
}
.uc-boot-title{
  display:grid;
  gap:10px;
  width:min(76vw,1100px);
}
.uc-boot-title b{
  display:block;
  height:clamp(54px,6vw,96px);
  border-radius:16px;
}
.uc-boot-title b:nth-child(1){width:88%}
.uc-boot-title b:nth-child(2){width:76%}
.uc-boot-title b:nth-child(3){width:58%}
.uc-boot-copy{
  display:grid;
  gap:9px;
  width:min(650px,76vw);
  margin-top:28px;
}
.uc-boot-copy span{
  display:block;
  height:16px;
  border-radius:999px;
}
.uc-boot-copy span:nth-child(2){width:72%}
.uc-boot-actions{
  display:flex;
  gap:12px;
  margin-top:28px;
}
.uc-boot-actions i{
  display:block;
  height:48px;
  border-radius:999px;
}
.uc-boot-actions i:first-child{width:126px}
.uc-boot-actions i:last-child{width:202px}
.uc-boot-logo,.uc-boot-nav span,.uc-boot-nav b,.uc-boot-eyebrow,.uc-boot-title b,.uc-boot-copy span,.uc-boot-actions i{
  background:linear-gradient(90deg,#151515 0%,#272727 50%,#151515 100%);
  background-size:220% 100%;
  animation:uc-boot-shimmer 1.15s linear infinite;
}
.uc-boot-nav b,.uc-boot-actions i:first-child{
  background:linear-gradient(90deg,#3a2d11 0%,#8f6c1c 50%,#3a2d11 100%);
  background-size:220% 100%;
}
@media(max-width:820px){
  .uc-boot-site-header{height:118px}
  .uc-boot-header-inner{
    width:100%;
    display:block;
    padding:10px 0 0;
  }
  .uc-boot-logo{
    width:154px;
    height:28px;
    margin:0 18px 10px;
  }
  .uc-boot-nav{
    overflow:hidden;
    gap:12px;
    padding:0 14px 10px;
  }
  .uc-boot-nav span{
    flex:0 0 auto;
    width:54px;
    height:10px;
  }
  .uc-boot-nav b{
    flex:0 0 auto;
    width:92px;
    height:36px;
  }
  .uc-boot-home-hero{
    inset:118px 0 0;
    min-height:calc(100svh - 118px);
  }
  .uc-boot-hero-shade{
    background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.8) 70%,rgba(0,0,0,.94));
  }
  .uc-boot-hero-content{
    width:calc(100% - 32px);
    bottom:54px;
  }
  .uc-boot-title{
    width:100%;
    gap:8px;
  }
  .uc-boot-title b{
    height:clamp(44px,12vw,68px);
    border-radius:12px;
  }
  .uc-boot-title b:nth-child(1){width:100%}
  .uc-boot-title b:nth-child(2){width:92%}
  .uc-boot-title b:nth-child(3){width:68%}
  .uc-boot-copy{
    width:100%;
    margin-top:22px;
  }
  .uc-boot-copy span{height:14px}
  .uc-boot-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:24px;
  }
  .uc-boot-actions i:first-child,.uc-boot-actions i:last-child{
    width:100%;
    height:48px;
  }
}
@media(prefers-reduced-motion:reduce){
  .uc-boot-hero-media,.uc-boot-logo,.uc-boot-nav span,.uc-boot-nav b,.uc-boot-eyebrow,.uc-boot-title b,.uc-boot-copy span,.uc-boot-actions i{animation:none}
}


/* v12.7.23 — Awards dots aligned beneath panel + cleaner lightbox caption */
.awards-visual-stack{
  width:min(100%,480px);
  max-width:100%;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.awards-visual.award-auto-slider{
  width:100%!important;
  margin-inline:0!important;
}
.award-slider-dots{
  width:auto;
  max-width:100%;
  margin:.95rem auto 0;
  padding:0 .25rem;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
}
.award-slider-dot{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  flex:0 0 auto;
  width:11px;
  height:11px;
  margin:0;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.28);
  box-shadow:none;
  opacity:.92;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease;
}
.award-slider-dot:hover,
.award-slider-dot:focus-visible{
  background:rgba(255,255,255,.44);
  border-color:rgba(255,255,255,.24);
  outline:none;
}
.award-slider-dot.is-active{
  background:var(--gold,#d7ab49);
  border-color:rgba(215,171,73,.55);
  transform:scale(1.08);
  box-shadow:0 0 0 4px rgba(215,171,73,.12);
}
.awards-gallery-hint{
  width:100%;
  margin:.9rem auto 0;
}
.image-lightbox figcaption{
  display:none;
}
@media(max-width:1100px){
  .awards-visual-stack{
    width:min(100%,460px);
  }
}

/* v12.7.24 — site speed hotfix */
.hero-video{opacity:0;transition:opacity .35s ease}
.hero-video.is-media-ready{opacity:1}
.uc-boot-shell{pointer-events:none}

/* All action/button labels stay on one line. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.btn,
.service-cta,
.float-action,
.branch-choice{
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

@media(max-width:820px){
  a.btn,
  .service-cta,
  .premium-form button[type="submit"],
  .franchise-cta .btn,
  .hero-actions .btn,
  .contact-list .btn{
    font-size:clamp(8px,2.7vw,14px)!important;
    padding-inline:clamp(10px,3.6vw,18px)!important;
    letter-spacing:clamp(.01em,.16vw,.05em)!important;
  }
}

/* v12.7.25 — critical Services/showcase content must not wait on reveal JS */
.is-critical-visible,
#services .services-intro,
#showcase-stage,
.showcase .section-title{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
#showcase-stage{
  min-height:clamp(360px,48vw,690px);
  background:#0c0c0c;
}
#showcase-stage .showcase-media-item{
  background:#111;
}
#showcase-stage img{
  background:#111;
}

/* v12.7.26 — Showcase first-three composition + Be One mini-album */
@media(min-width:821px){
  #showcase-stage{
    gap:clamp(14px,1.7vw,24px)!important;
    padding-inline:calc((100% - min(31vw,410px))/2)!important;
  }
  #showcase-stage .showcase-media-item{
    flex:0 0 min(31vw,410px)!important;
  }
  #showcase-stage .showcase-media-item:not(.is-active){
    opacity:.42!important;
    transform:scale(.92)!important;
  }
  #showcase-stage .showcase-media-item.is-active{
    opacity:1!important;
    transform:scale(1)!important;
  }
}
.be-one-viewer figure{
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:14px;
}
.be-one-viewer-thumbs{
  width:min(86vw,760px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  overflow-x:auto;
  padding:4px 2px 2px;
  scrollbar-width:none;
}
.be-one-viewer-thumbs::-webkit-scrollbar{display:none}
.be-one-viewer-thumb{
  flex:0 0 auto;
  width:68px;
  height:54px;
  padding:0;
  margin:0;
  border-radius:9px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  background:#111;
  opacity:.58;
  cursor:pointer;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
}
.be-one-viewer-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.be-one-viewer-thumb.is-active{
  opacity:1;
  transform:translateY(-2px);
  border-color:rgba(215,171,73,.9);
  box-shadow:0 0 0 2px rgba(215,171,73,.12);
}
@media(max-width:820px){
  .be-one-viewer-thumbs{width:92vw;justify-content:flex-start}
  .be-one-viewer-thumb{width:58px;height:46px}
}

/* v12.7.27 — route-aware skeletons */
.seo-page.route-about .uc-boot-home-hero,
.seo-page.route-services .uc-boot-home-hero,
.seo-page.route-franchise .uc-boot-home-hero,
.seo-page.route-contact .uc-boot-home-hero,
.seo-page.route-book .uc-boot-home-hero{
  position:relative;
  min-height:calc(100vh - 82px);
  background:#090909;
}
.seo-page.route-about .uc-boot-hero-media,
.seo-page.route-services .uc-boot-hero-media,
.seo-page.route-franchise .uc-boot-hero-media,
.seo-page.route-contact .uc-boot-hero-media,
.seo-page.route-book .uc-boot-hero-media,
.seo-page.route-about .uc-boot-hero-shade,
.seo-page.route-services .uc-boot-hero-shade,
.seo-page.route-franchise .uc-boot-hero-shade,
.seo-page.route-contact .uc-boot-hero-shade,
.seo-page.route-book .uc-boot-hero-shade{
  display:none!important;
}
.seo-page.route-about .uc-boot-hero-content,
.seo-page.route-services .uc-boot-hero-content,
.seo-page.route-franchise .uc-boot-hero-content,
.seo-page.route-contact .uc-boot-hero-content,
.seo-page.route-book .uc-boot-hero-content{
  position:relative!important;
  inset:auto!important;
  width:min(1440px,calc(100% - 48px));
  margin:0 auto;
  padding:clamp(84px,10vw,150px) 0 clamp(64px,8vw,110px)!important;
  display:grid;
  align-content:start;
  gap:18px;
}
.seo-page.route-about .uc-boot-eyebrow,
.seo-page.route-services .uc-boot-eyebrow,
.seo-page.route-franchise .uc-boot-eyebrow,
.seo-page.route-contact .uc-boot-eyebrow,
.seo-page.route-book .uc-boot-eyebrow{
  width:150px!important;height:13px!important;
}
.seo-page.route-about .uc-boot-title,
.seo-page.route-services .uc-boot-title,
.seo-page.route-franchise .uc-boot-title,
.seo-page.route-contact .uc-boot-title,
.seo-page.route-book .uc-boot-title{
  width:min(900px,90vw)!important;
  display:grid!important;
  gap:12px!important;
}
.seo-page.route-about .uc-boot-title b,
.seo-page.route-services .uc-boot-title b,
.seo-page.route-franchise .uc-boot-title b,
.seo-page.route-contact .uc-boot-title b,
.seo-page.route-book .uc-boot-title b{
  height:clamp(46px,7vw,92px)!important;
  border-radius:12px!important;
}
.seo-page.route-about .uc-boot-title b:nth-child(2),
.seo-page.route-services .uc-boot-title b:nth-child(2),
.seo-page.route-franchise .uc-boot-title b:nth-child(2),
.seo-page.route-contact .uc-boot-title b:nth-child(2),
.seo-page.route-book .uc-boot-title b:nth-child(2){width:76%!important}
.seo-page.route-about .uc-boot-title b:nth-child(3),
.seo-page.route-services .uc-boot-title b:nth-child(3),
.seo-page.route-franchise .uc-boot-title b:nth-child(3),
.seo-page.route-contact .uc-boot-title b:nth-child(3),
.seo-page.route-book .uc-boot-title b:nth-child(3){display:none!important}
.seo-page.route-about .uc-boot-copy,
.seo-page.route-services .uc-boot-copy,
.seo-page.route-franchise .uc-boot-copy,
.seo-page.route-contact .uc-boot-copy,
.seo-page.route-book .uc-boot-copy{
  width:min(650px,82vw)!important;
  display:grid!important;
  gap:10px!important;
  margin-top:8px!important;
}
.seo-page.route-about .uc-boot-copy span,
.seo-page.route-services .uc-boot-copy span,
.seo-page.route-franchise .uc-boot-copy span,
.seo-page.route-contact .uc-boot-copy span,
.seo-page.route-book .uc-boot-copy span{height:16px!important}
.seo-page.route-about .uc-boot-copy span:last-child,
.seo-page.route-services .uc-boot-copy span:last-child,
.seo-page.route-franchise .uc-boot-copy span:last-child,
.seo-page.route-contact .uc-boot-copy span:last-child,
.seo-page.route-book .uc-boot-copy span:last-child{width:70%!important}

/* Booking route: hint at the two-column booking/calendar shell rather than a fake homepage hero. */
.seo-page.route-book .uc-boot-actions{
  margin-top:18px!important;
  width:min(850px,90vw)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  gap:18px!important;
}
.seo-page.route-book .uc-boot-actions i{
  width:100%!important;height:170px!important;border-radius:22px!important;
}

/* Message route: no fake navbar or homepage blocks. */
.messenger-handoff-page .uc-boot-message{
  background:#080808;
}
.messenger-handoff-page .uc-boot-message-skeleton{
  position:absolute;
  inset:0;
  width:min(820px,calc(100% - 48px));
  margin:auto;
  min-height:520px;
  align-content:center;
  display:grid;
  justify-items:start;
  gap:15px;
}
.messenger-handoff-page .uc-msg-skel-icon,
.messenger-handoff-page .uc-msg-skel-kicker,
.messenger-handoff-page .uc-msg-skel-title,
.messenger-handoff-page .uc-msg-skel-copy,
.messenger-handoff-page .uc-msg-skel-actions i{
  display:block;
  background:linear-gradient(90deg,#151515 0%,#242424 50%,#151515 100%);
  background-size:220% 100%;
  animation:uc-boot-shimmer 1.15s linear infinite;
}
.messenger-handoff-page .uc-msg-skel-icon{width:68px;height:68px;border-radius:50%}
.messenger-handoff-page .uc-msg-skel-kicker{width:235px;height:12px;border-radius:999px}
.messenger-handoff-page .uc-msg-skel-title{width:min(620px,82vw);height:clamp(58px,8vw,96px);border-radius:14px}
.messenger-handoff-page .uc-msg-skel-copy{width:min(680px,86vw);height:16px;border-radius:999px}
.messenger-handoff-page .uc-msg-skel-copy.short{width:min(470px,68vw)}
.messenger-handoff-page .uc-msg-skel-actions{display:flex;gap:12px;margin-top:10px}
.messenger-handoff-page .uc-msg-skel-actions i{width:170px;height:46px;border-radius:999px}
.messenger-handoff-page .uc-boot-loader{animation-delay:60s}

@media(max-width:620px){
  .seo-page.route-about .uc-boot-hero-content,
  .seo-page.route-services .uc-boot-hero-content,
  .seo-page.route-franchise .uc-boot-hero-content,
  .seo-page.route-contact .uc-boot-hero-content,
  .seo-page.route-book .uc-boot-hero-content{
    width:calc(100% - 28px);
    padding:58px 0 48px!important;
  }
  .seo-page.route-book .uc-boot-actions{grid-template-columns:1fr!important;width:100%!important}
  .seo-page.route-book .uc-boot-actions i{height:130px!important}
  .messenger-handoff-page .uc-boot-message-skeleton{width:calc(100% - 32px);min-height:430px}
  .messenger-handoff-page .uc-msg-skel-actions{width:100%;flex-direction:column}
  .messenger-handoff-page .uc-msg-skel-actions i{width:100%}
}

/* v12.7.28 premium standalone pages */
.seo-feature-photo{padding:0;background:#0d0d0d}.seo-feature-photo::before{display:none}.seo-feature-photo img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:58% 50%;display:block}
.seo-location-card{padding:0;display:flex;flex-direction:column;min-height:430px}.seo-location-card::after{display:none!important}.location-card-photo{aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}.location-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.seo-location-card>.num,.seo-location-card>h3,.seo-location-card>address{margin-left:clamp(24px,3vw,38px);margin-right:clamp(24px,3vw,38px)}.seo-location-card>.num{margin-top:26px;margin-bottom:20px}.seo-location-card>address{margin-bottom:30px}.seo-location-card{border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important}
.franchise-form-section{padding-top:42px}.franchise-form-premium-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(460px,1.2fr);gap:clamp(36px,6vw,90px);align-items:start}.franchise-form-copy{position:sticky;top:130px;padding-top:28px}.franchise-form-copy h2{font-size:clamp(36px,4vw,64px);line-height:.98;margin:16px 0 22px}.franchise-form-copy>p{color:#bbb;line-height:1.7;max-width:560px}.premium-proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.premium-proof-row span{padding:9px 12px;border:1px solid rgba(214,168,62,.28);border-radius:999px;color:#d8d1c2;font-size:12px}.franchise-form-section .franchise-form-wrap{width:100%}.franchise-form-section .premium-form{box-shadow:0 30px 90px rgba(0,0,0,.35)}
.standalone-booking-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:28px;margin-top:34px;align-items:start}.booking-required-banner{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;background:rgba(214,168,62,.1);border:1px solid rgba(214,168,62,.28);margin-bottom:14px}.booking-required-banner strong{color:var(--gold2)}.booking-required-banner span{color:#bbb;font-size:13px}.standalone-calendar{position:sticky;top:120px}.standalone-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}.standalone-day{aspect-ratio:1;border:1px solid rgba(255,255,255,.08);background:#111;color:#ddd;border-radius:10px}.standalone-day.is-selected{background:var(--gold);color:#080808;border-color:var(--gold)}.standalone-booking-form{box-shadow:0 30px 90px rgba(0,0,0,.32)}
@media(max-width:980px){.franchise-form-premium-grid,.standalone-booking-workspace{grid-template-columns:1fr}.franchise-form-copy,.standalone-calendar{position:static}.seo-feature-photo img{min-height:320px}}
@media(max-width:620px){.seo-location-card{min-height:0}.location-card-photo{aspect-ratio:4/3}.standalone-calendar-grid{gap:5px}.standalone-day{border-radius:8px}}


/* v12.7.30 — premium standalone-page unification */
.seo-page main{
  background:
    radial-gradient(900px 520px at 78% 8%,rgba(214,168,62,.055),transparent 72%),
    linear-gradient(180deg,#080808 0%,#090909 44%,#080808 100%);
}
.seo-page .seo-hero{
  min-height:clamp(520px,68svh,760px);
  display:flex;
  align-items:flex-end;
  padding:clamp(78px,10vw,142px) 0 clamp(64px,8vw,108px);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(760px 520px at 82% 22%,rgba(214,168,62,.12),transparent 72%),
    radial-gradient(680px 420px at 12% 92%,rgba(255,255,255,.025),transparent 70%),
    #080808;
}
.seo-page .seo-hero::before{
  width:min(760px,72vw);right:-16%;top:-28%;opacity:.8;
  filter:blur(6px);
}
.seo-page .seo-hero .seo-shell{position:relative;z-index:2;width:min(1440px,calc(100% - 48px))}
.seo-page .seo-hero h1{
  max-width:980px;
  font-size:clamp(58px,7.2vw,112px);
  line-height:.86;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.seo-page .seo-hero .seo-lead{max-width:760px;font-size:clamp(17px,1.7vw,23px);line-height:1.55}
.seo-page .seo-actions{margin-top:30px}

/* Route accents: same Home language, slightly different identity per page. */
.route-about .seo-hero{background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.82) 52%,rgba(8,8,8,.48) 100%),url('/assets/about/about-mechanic.jpg') center 42%/cover no-repeat}
.route-services .seo-hero{background:linear-gradient(90deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.78) 54%,rgba(8,8,8,.54) 100%),url('/assets/home/hero/background/underchargers-hero-poster.webp') center 44%/cover no-repeat}
.route-franchise .seo-hero{background:radial-gradient(850px 620px at 82% 28%,rgba(214,168,62,.16),transparent 70%),linear-gradient(120deg,#080808 0%,#0b0a08 58%,#080808 100%)}
.route-contact .seo-hero{background:radial-gradient(760px 500px at 76% 30%,rgba(214,168,62,.12),transparent 70%),linear-gradient(120deg,#080808,#0a0907 62%,#080808)}
.route-book .seo-hero{background:radial-gradient(840px 560px at 82% 18%,rgba(214,168,62,.14),transparent 70%),linear-gradient(120deg,#080808,#0b0a08 60%,#080808)}

/* Remove the obvious black/gold cutoff from repeated cards. */
.seo-card,
.appointment-branch-card,
.booking-step,
.value-grid article,
.review-card{
  background:
    radial-gradient(120% 105% at 82% 112%,rgba(214,168,62,.105) 0%,rgba(214,168,62,.038) 30%,transparent 64%),
    linear-gradient(145deg,#131313 0%,#101010 52%,#0d0d0d 100%)!important;
}
.seo-card::after{display:none!important}
.seo-card,
.appointment-branch-card,
.booking-step,
.value-grid article,
.review-card{isolation:isolate}

/* Headings in editorial sections must never spill/crop at viewport edges. */
.seo-section-head h2,
.seo-feature-copy h2,
.franchise-form-copy h2{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

/* Branch cards: actual branch media, perfectly aligned content. */
.seo-location-card{height:100%;min-height:500px!important}
.location-card-photo{height:255px;aspect-ratio:auto!important;flex:0 0 255px;background:#0b0b0b}
.location-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.seo-location-card h3{
  min-height:2.25em;
  margin-bottom:14px!important;
  line-height:1.04!important;
}
.seo-location-card h3 span{display:inline-block}
.seo-location-card address{margin-top:auto;padding-bottom:30px;font-style:normal;color:#c6c6c1;line-height:1.65}
.seo-location-card>.num{margin-bottom:24px!important}

/* Standalone footer is intentionally identical to Home. */
.seo-page .footer{
  width:min(var(--max),calc(100% - 48px));
  margin:auto;
  padding:110px 0 30px;
}
.seo-page .footer-statement,
.seo-page .footer-grid,
.seo-page .footer-bottom{width:auto;margin-inline:0}
.seo-page .footer-statement{padding-top:0}
.seo-page .footer-grid{grid-template-columns:1.1fr .9fr 1.2fr .8fr}
.seo-page .footer-social-icons{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.seo-page .footer-social-icons a{width:46px;height:46px;border-radius:50%;display:grid!important;place-items:center;background:#f5f5f2;color:#0b0b0b!important}
.seo-page .footer-social-icons svg{width:20px;height:20px}

@media(max-width:1100px){
  .seo-page .footer-grid{grid-template-columns:repeat(2,1fr)}
  .seo-location-card{min-height:470px!important}
}
@media(max-width:820px){
  .seo-page .seo-hero{min-height:620px;align-items:end}
  .seo-page .seo-hero .seo-shell{width:calc(100% - 32px)}
  .seo-page .seo-hero h1{font-size:clamp(48px,13vw,76px)}
  .seo-page .footer{width:calc(100% - 32px);padding-top:80px}
  .seo-page .footer-grid{grid-template-columns:1fr}
  .location-card-photo{height:auto;aspect-ratio:16/10!important;flex-basis:auto}
  .seo-location-card{min-height:0!important}
}

/* v12.7.31 cumulative standalone + booking flow patch */
.route-contact .seo-section-head{display:block!important;max-width:860px!important}
.route-contact .seo-section-head>p{margin-top:14px!important;max-width:760px!important}
.location-card-photo img{object-position:center bottom!important}
.seo-location-card{display:flex!important;flex-direction:column!important;height:100%!important}
.seo-location-card address{margin-top:auto!important}
.location-phone{display:inline-block;margin-top:8px;color:var(--muted)}
.location-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.location-card-actions .btn{width:100%;justify-content:center;white-space:nowrap}
.route-franchise .footer{padding-top:40px}
.route-franchise .seo-book-panel{margin-bottom:0}
.booking-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.booking-time-choice{min-height:56px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#111;color:#eee;font-weight:800;cursor:pointer}
.booking-time-choice:hover,.booking-time-choice:focus-visible{border-color:var(--gold);outline:none}
.booking-time-choice.selected{background:var(--gold);border-color:var(--gold);color:#080808}
.booking-step[aria-disabled="true"] .booking-time-choice{opacity:.38;pointer-events:none}
.standalone-book-flow{padding-top:72px!important}
.book-page .booking-page-hero{padding-bottom:58px!important}
.book-page .booking-flow{max-width:1180px;margin:auto}
.book-page .booking-opener{max-width:820px;margin-inline:auto!important}
.book-page .booking-step{scroll-margin-top:110px}
.uc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:820px){.location-card-actions{grid-template-columns:1fr}.booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.standalone-book-flow{padding-top:46px!important}}
.booking-confirmation-landing{max-width:940px!important}.appointment-confirmation-card{margin-top:34px;padding:clamp(24px,4vw,42px);border:1px solid rgba(214,168,62,.28);border-radius:26px;background:linear-gradient(155deg,#111 0%,#0b0b0b 62%,rgba(214,168,62,.09) 100%)}.appointment-reference{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.appointment-reference span,.appointment-confirmation-card dt{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--gold2);text-transform:uppercase}.appointment-reference strong{font-size:clamp(22px,4vw,34px)}.appointment-confirmation-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:8px 0 0}.appointment-confirmation-card dl>div{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}.appointment-confirmation-card dd{margin:7px 0 0;color:#eee;line-height:1.5}.confirmation-note{margin:24px 0 0;color:var(--muted);line-height:1.6}@media(max-width:680px){.appointment-confirmation-card dl{grid-template-columns:1fr}.appointment-reference{align-items:flex-start;flex-direction:column}}

/* v12.7.37 — standalone booking form progressive reveal */
.book-page #details-step[aria-disabled="true"] .booking-form{opacity:.42;pointer-events:none}
.book-page #details-step.is-open .booking-form{opacity:1;pointer-events:auto;transition:opacity .24s ease}

/* v12.7.38 booking final-review fee disclosure */
.booking-confirmation-fee-note{margin:18px 0 22px;padding:14px 16px;border:1px solid rgba(216,170,65,.28);border-radius:14px;background:rgba(216,170,65,.07);color:rgba(255,255,255,.78);font-size:14px;line-height:1.55}.booking-confirmation-fee-note strong{color:#d8aa41;font-size:15px;letter-spacing:.01em}@media(max-width:640px){.booking-confirmation-fee-note{margin:14px 0 18px;padding:12px 14px;font-size:13px}}

/* v12.7.40 — universal form consent notice */
.form-consent-notice{margin:10px 0 0;font-size:13px;line-height:1.35;color:#676863;text-align:left;max-width:none;text-transform:uppercase;letter-spacing:0;font-weight:600;white-space:nowrap}
.premium-form.uc-form-theme-clean-white .form-consent-notice,.premium-form.uc-form-theme-warm-ivory .form-consent-notice{color:#676863!important}
.booking-confirmation-panel .form-consent-notice{margin:10px auto 0;text-align:center;color:#72736e;white-space:nowrap}
@media(max-width:760px){.form-consent-notice,.booking-confirmation-panel .form-consent-notice{font-size:12px;line-height:1.35;white-space:normal}}


/* v12.7.43 — staged Inside Underchargers gallery */
#showcase-stage .showcase-media-item[hidden]{display:none!important}


/* =========================================================
   v12.7.44 — Invisible gallery/carousel scroll rails
   Keep scrolling/navigation functional while removing native
   horizontal/vertical scrollbar chrome from media viewers.
========================================================= */
#showcase-stage,
.be-one-viewer-thumbs,
.image-lightbox-thumbs,
.primary-nav,
.variant-row {
  -ms-overflow-style:none !important;
  scrollbar-width:none !important;
}
#showcase-stage::-webkit-scrollbar,
.be-one-viewer-thumbs::-webkit-scrollbar,
.image-lightbox-thumbs::-webkit-scrollbar,
.primary-nav::-webkit-scrollbar,
.variant-row::-webkit-scrollbar {
  width:0 !important;
  height:0 !important;
  display:none !important;
  background:transparent !important;
}

/* Thumbnail viewers should never produce a second vertical rail. */
.be-one-viewer-thumbs,
.image-lightbox-thumbs {
  overflow-y:hidden !important;
}
.be-one-viewer figure,
.image-lightbox-inner {
  overflow:hidden !important;
}


/* ==========================================================================\n   v12.7.46 — White consultation section + trackable inquiry handoffs\n   Only the consultation zone turns white; the branch/location content below\n   keeps the existing Underchargers dark visual system.\n   ========================================================================== */
#inquiry .consultation-hub{
  position:relative;
  z-index:1;
  padding-top:clamp(76px,7vw,104px)!important;
  padding-bottom:clamp(76px,7vw,104px)!important;
  color:#111!important;
}
#inquiry .consultation-hub::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:#fff;
}
#inquiry .consultation-hub > h2{
  color:#101010!important;
  max-width:1060px!important;
}
#inquiry .consultation-hub > .consultation-lead{
  color:#4f4f4b!important;
}
#inquiry .consultation-hub > .consultation-note{
  color:#72726d!important;
}
#inquiry .consultation-channels > a,
#inquiry .consultation-channels > a.primary-channel{
  background:#fff!important;
  color:#111!important;
  border:1px solid #deded8!important;
  box-shadow:0 12px 30px rgba(0,0,0,.07)!important;
}
#inquiry .consultation-channels > a.primary-channel{
  border-color:rgba(184,137,33,.72)!important;
  box-shadow:0 14px 34px rgba(142,102,13,.11)!important;
}
#inquiry .consultation-channels > a:hover,
#inquiry .consultation-channels > a:focus-visible{
  border-color:#b99848!important;
  background:#fffdf8!important;
  transform:translateY(-2px);
}
#inquiry .consultation-channels .channel-copy strong,
#inquiry .consultation-channels > a em{
  color:#161616!important;
}
#inquiry .consultation-channels .channel-copy small{
  color:#686863!important;
}
#inquiry .consultation-channels > a.primary-channel .channel-copy small{
  color:#8a681f!important;
}
@media(max-width:820px){
  #inquiry .consultation-hub{
    padding-top:64px!important;
    padding-bottom:68px!important;
  }
}

/* =========================================================
   v12.7.52 — Booking confirmation modal desktop polish
   Desktop/tablet only. Preserve the existing mobile layout.
   ========================================================= */
@media (min-width:761px){
  .booking-confirmation-modal{
    place-items:center;
    padding:32px;
  }
  .booking-confirmation-panel{
    width:min(700px,calc(100vw - 64px));
    max-height:calc(100dvh - 64px);
    padding:38px 42px 32px;
    border-radius:24px;
    overflow-x:hidden;
  }
  .booking-confirmation-panel h2{
    max-width:none;
    margin:0 58px 14px 0;
    font-size:clamp(42px,4.1vw,52px);
    line-height:.94;
    letter-spacing:-.045em;
  }
  .booking-confirmation-panel>p{
    max-width:none;
    font-size:18px;
    line-height:1.5;
  }
  .booking-confirmation-fee-note{
    margin:20px 0 18px;
    padding:17px 20px;
    border-radius:18px;
    font-size:15px;
    line-height:1.5;
  }
  .booking-confirmation-fee-note strong{
    display:inline-block;
    margin-bottom:4px;
    font-size:17px;
  }
  .booking-confirmation-submit{
    margin-top:18px;
    min-height:56px;
    font-size:13px;
    letter-spacing:.09em;
  }
  .booking-confirmation-panel .form-consent-notice{
    width:100%;
    max-width:560px;
    margin:12px auto 0;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:center;
    font-size:11px;
    line-height:1.45;
    letter-spacing:.015em;
  }
  .booking-confirmation-close{
    top:16px;
    right:16px;
  }
}


/* v12.7.56 — Reviews directory */
.reviews-page{background:#090909;color:#fff}.reviews-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.reviews-hero{padding:150px 0 72px;background:radial-gradient(circle at 80% 20%,rgba(212,170,57,.13),transparent 36%),#090909}.reviews-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:48px;align-items:end}.reviews-hero h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.92;max-width:980px;margin:12px 0 24px;letter-spacing:-.055em}.reviews-lead{max-width:800px;color:#c9c9c9;font-size:clamp(1rem,1.8vw,1.24rem);line-height:1.7}.reviews-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.reviews-trust-panel{border:1px solid rgba(212,170,57,.52);background:#090909;padding:26px;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}.reviews-trust-panel strong{display:block;font-size:1.05rem;margin-bottom:10px;color:#fff}.reviews-trust-panel p{color:#f5f5f3;line-height:1.65;margin:0 0 14px}.reviews-trust-panel a,.review-source-link{color:#e0b23d;text-decoration:none}.reviews-branch-strip{padding:0 0 72px;background:#090909}.branch-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.branch-profile-grid>a{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid #242424;border-radius:18px;background:#111;color:#fff;text-decoration:none;transition:.2s ease}.branch-profile-grid>a:hover{transform:translateY(-2px);border-color:rgba(212,170,57,.5)}.branch-profile-grid strong{font-size:1.05rem}.branch-profile-grid span{color:#aaa;line-height:1.45}.branch-profile-grid em{font-style:normal;color:#d7af49;font-size:.88rem;margin-top:4px}.reviews-directory{background:#f5f3ee;color:#111;padding:84px 0 96px}.reviews-directory-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.reviews-directory-head h2{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.045em;line-height:.98;margin:8px 0 0}.reviews-directory-head>p{max-width:330px;color:#5c5c5c;line-height:1.5}.reviews-controls{display:grid;gap:12px;margin-bottom:16px}.review-filter-group{display:flex;gap:8px;flex-wrap:wrap}.review-filter,.review-source-filter{appearance:none;border:1px solid #d4d0c6;background:#fff;color:#181818;padding:11px 15px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}.review-filter.is-active,.review-source-filter.is-active{background:#111;color:#fff;border-color:#111}.source-filters .is-active{background:#8d6b12;border-color:#8d6b12}.review-search input{width:min(100%,520px);border:1px solid #d4d0c6;background:#fff;border-radius:14px;padding:14px 16px;font:inherit;color:#111;outline:none}.review-search input:focus{border-color:#9d7919;box-shadow:0 0 0 3px rgba(157,121,25,.12)}.review-results-bar{display:flex;justify-content:space-between;gap:24px;align-items:center;color:#6b675f;font-size:.9rem;margin:18px 0 22px}.reviews-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-card{display:flex;flex-direction:column;min-height:300px;background:#fff;border:1px solid #ddd8cd;border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(0,0,0,.04)}.review-card[hidden]{display:none!important}.review-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.review-stars{color:#b98a16;letter-spacing:.09em;font-size:.94rem}.review-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.review-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:800;background:#f0ede5;color:#5a554b}.review-badge.regular{background:#111;color:#fff}.review-badge.source{background:#f5e9bf;color:#735711}.review-card blockquote{font-size:1rem;line-height:1.72;margin:24px 0;color:#282828;flex:1}.review-card-meta{display:flex;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid #ece8df}.review-card-meta>div{display:flex;flex-direction:column;gap:4px}.review-card-meta strong{font-size:.96rem}.review-card-meta span{font-size:.78rem;color:#787168}.review-meta-right{text-align:right;align-items:flex-end}.review-source-link{font-size:.78rem;font-weight:800}.reviews-load-wrap{text-align:center;margin-top:30px}.reviews-cta{background:#0a0a0a;color:#fff;padding:72px 0}.reviews-cta .reviews-shell{display:flex;justify-content:space-between;align-items:end;gap:30px}.reviews-cta h2{font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98;letter-spacing:-.045em;margin:8px 0 10px}.reviews-cta p{color:#aaa}.footer-review-link{display:inline-flex;margin-top:12px;color:#d7af49!important;text-decoration:none;font-weight:800}.home-all-reviews{display:flex;justify-content:center;margin-top:26px}.home-all-reviews .btn{min-width:210px}.primary-nav a[aria-current="page"]{color:#d7af49}
@media(max-width:980px){.reviews-hero-grid{grid-template-columns:1fr}.branch-profile-grid{grid-template-columns:1fr}.reviews-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-directory-head,.reviews-cta .reviews-shell{align-items:flex-start;flex-direction:column}.reviews-hero{padding-top:120px}}
@media(max-width:640px){.reviews-shell{width:min(100% - 24px,1180px)}.reviews-hero{padding:110px 0 54px}.reviews-hero h1{font-size:clamp(2.7rem,15vw,4.4rem)}.reviews-directory{padding:58px 0 72px}.reviews-directory-grid{grid-template-columns:1fr}.review-results-bar{align-items:flex-start;flex-direction:column;gap:8px}.review-card{min-height:0}.reviews-hero-actions .btn{width:100%;text-align:center}.review-filter,.review-source-filter{font-size:.82rem;padding:10px 12px}}


/* v12.7.58 — Reviews card contrast fix */
.reviews-page .reviews-directory .review-card{
  background:
    radial-gradient(120% 105% at 82% 112%,rgba(214,168,62,.10) 0%,rgba(214,168,62,.035) 30%,transparent 64%),
    linear-gradient(145deg,#131313 0%,#101010 52%,#0d0d0d 100%)!important;
  border-color:rgba(214,168,62,.30)!important;
  color:#f5f5f3!important;
  box-shadow:0 10px 30px rgba(0,0,0,.14)!important;
}
.reviews-page .reviews-directory .review-card blockquote{
  color:#f5f5f3!important;
}
.reviews-page .reviews-directory .review-card-meta{
  border-top-color:rgba(214,168,62,.32)!important;
}
.reviews-page .reviews-directory .review-card-meta strong{
  color:#ffffff!important;
}
.reviews-page .reviews-directory .review-card-meta span{
  color:#bcb8ae!important;
}
.reviews-page .reviews-directory .review-stars{
  color:#d6a83e!important;
}
.reviews-page .reviews-directory .review-source-link{
  color:#e0b23d!important;
}
.reviews-page .reviews-directory .review-badge.source{
  background:#f5e9bf!important;
  color:#735711!important;
}
.reviews-page .reviews-directory .review-badge.regular{
  background:#d6a83e!important;
  color:#0a0a0a!important;
}

/* v12.7.62 — Homepage testimonial readability fix
   Keep this scoped to the homepage testimonial section so the Reviews directory
   retains its own card styling. */
.testimonials .reviews-grid .review-card blockquote{
  color:#f5f5f3!important;
  opacity:1!important;
}
.testimonials .reviews-grid .review-person strong{
  color:#ffffff!important;
}
.testimonials .reviews-grid .review-person span{
  color:#bcb8ae!important;
}
.testimonials .reviews-grid .stars{
  color:#d6a83e!important;
}


/* v12.7.63-beta — Service + location SEO architecture (beta test) */
.seo-link-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.seo-link-card:hover{transform:translateY(-3px);border-color:rgba(214,168,62,.48);background:linear-gradient(145deg,#171614,#0d0d0d)}.seo-link-card .seo-card-arrow{display:inline-flex;margin-top:auto;padding-top:26px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.seo-detail-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(26px,5vw,70px);align-items:start}.seo-prose h2{font-size:clamp(34px,4.8vw,66px);line-height:1;letter-spacing:-.04em;margin:0 0 22px}.seo-prose h3{font-size:clamp(22px,2.2vw,30px);margin:38px 0 14px}.seo-prose p{color:#c8c8c3;line-height:1.8;font-size:17px;max-width:850px}.seo-checklist{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}.seo-checklist li{position:relative;padding:14px 16px 14px 42px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#101010;color:#deded9;line-height:1.5}.seo-checklist li::before{content:'✓';position:absolute;left:16px;top:13px;color:var(--gold2);font-weight:900}.seo-side-panel{position:sticky;top:104px;border:1px solid rgba(214,168,62,.34);border-radius:26px;padding:28px;background:linear-gradient(150deg,rgba(214,168,62,.10),#101010 48%,#0b0b0b)}.seo-side-panel h3{margin:0 0 12px;font-size:26px}.seo-side-panel p{color:#c5c5c0;line-height:1.65}.seo-side-links{display:grid;gap:9px;margin-top:20px}.seo-side-links a{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none;background:rgba(255,255,255,.025)}.seo-side-links a:hover{border-color:rgba(214,168,62,.42)}.seo-faq{display:grid;gap:12px}.seo-faq details{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px 20px;background:#101010}.seo-faq summary{cursor:pointer;font-weight:800;font-size:17px}.seo-faq details p{margin:12px 0 0;color:#c5c5c0;line-height:1.7}.seo-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:#a9a9a4;font-size:13px;margin-bottom:24px}.seo-breadcrumbs a{color:#d7af49;text-decoration:none}.seo-branch-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.seo-branch-mini{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#101010;color:#fff;text-decoration:none}.seo-branch-mini strong{font-size:18px}.seo-branch-mini span{color:#aaa;line-height:1.5}.seo-location-hero-photo{margin-top:34px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.1);max-width:920px}.seo-location-hero-photo img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block}.seo-service-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.seo-service-tags a{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#deded9;text-decoration:none;font-size:13px}.seo-service-tags a:hover{border-color:rgba(214,168,62,.5);color:#fff}.seo-note{margin-top:18px;color:#999;font-size:13px;line-height:1.55}.seo-page .primary-nav a[aria-current="page"]{color:var(--gold2)!important}
@media(max-width:900px){.seo-detail-layout{grid-template-columns:1fr}.seo-side-panel{position:static}.seo-branch-mini-grid{grid-template-columns:1fr}}


/* v12.7.64 beta — centralized CTA + branch reviews */
.cta-phone-wrap{margin-top:16px;color:#b9b9b4;font-size:.92rem;line-height:1.55}
.cta-phone-wrap strong{display:block;color:#fff;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
.cta-phone-link,.cta-phone-link:visited,.cta-phone-link:hover,.cta-phone-link:focus{color:inherit!important;text-decoration:none!important;border:0!important;outline:0!important;box-shadow:none!important}
.cta-phone-link{cursor:text;-webkit-tap-highlight-color:transparent}
.central-cta-note{margin-top:10px;color:#8f8f89;font-size:.8rem;line-height:1.45}
.branch-reviews{margin-top:10px}
.branch-reviews-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.branch-reviews-head h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.045em;line-height:1}
.branch-reviews-head p{margin:8px 0 0;color:#aaa;max-width:650px;line-height:1.6}
.branch-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.branch-review-card{background:linear-gradient(145deg,#141414,#0e0e0e);border:1px solid rgba(214,168,62,.25);border-radius:22px;padding:24px;min-height:270px;display:flex;flex-direction:column}
.branch-review-stars{color:var(--gold);letter-spacing:.1em;font-size:.9rem}
.branch-review-card blockquote{margin:22px 0 28px;color:#f5f5f3;font-size:1rem;line-height:1.7;flex:1}
.branch-review-meta{padding-top:16px;border-top:1px solid rgba(214,168,62,.22);display:flex;justify-content:space-between;gap:16px;align-items:end}
.branch-review-meta strong{display:block;color:#fff;font-size:.94rem}
.branch-review-meta span{display:block;color:#aaa;font-size:.75rem;margin-top:4px}
.branch-review-source{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f5e9bf;color:#735711!important;font-weight:800!important;font-size:.64rem!important;line-height:1;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.branch-reviews-more{margin-top:22px;display:flex;justify-content:center}
.seo-actions.cta-standard{align-items:center}
@media(max-width:800px){.branch-review-grid{grid-template-columns:1fr}.branch-reviews-head{align-items:flex-start;flex-direction:column}.branch-review-card{min-height:0}}



/* ==========================================================================
   v12.7.65 BETA — HOME MASTER TEMPLATE SYSTEM
   Home is the visual source of truth for new Services + Branch + SEO pages.
   Beta-only. Keeps the existing Home page untouched.
   ========================================================================== */
.uc-home-template{
  --uc-template-bg:#080808;
  --uc-template-panel:#101010;
  --uc-template-panel-2:#151515;
  --uc-template-text:#f5f5f3;
  --uc-template-muted:#b0b0ab;
  --uc-template-gold:#d6a83e;
  --uc-template-gold-2:#f0cd74;
  --uc-template-line:rgba(255,255,255,.12);
}
.uc-home-template .seo-hero{
  min-height:min(780px,calc(100svh - var(--header)));
  padding:clamp(64px,7vw,108px) 0!important;
  display:flex;
  align-items:center;
  background:
    radial-gradient(720px 520px at 78% 36%,rgba(214,168,62,.11),transparent 70%),
    linear-gradient(120deg,#080808 0%,#0a0907 58%,#080808 100%)!important;
}
.uc-home-template .seo-hero::before{display:none!important}
.uc-home-template .seo-hero .seo-shell{width:min(var(--max),calc(100% - 48px))!important}
.uc-page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
  gap:clamp(38px,6vw,88px);
  align-items:center;
}
.uc-page-hero-copy{min-width:0}
.uc-home-template .seo-breadcrumbs{margin-bottom:22px}
.uc-home-template .seo-hero h1{
  max-width:850px!important;
  font-size:clamp(54px,6.35vw,102px)!important;
  line-height:.9!important;
  letter-spacing:-.06em!important;
  text-wrap:balance;
}
.uc-home-template .seo-hero .seo-lead{
  max-width:760px!important;
  color:#d0d0cc!important;
  font-size:clamp(17px,1.55vw,21px)!important;
  line-height:1.65!important;
}
.uc-page-hero-media{
  position:relative;
  min-height:clamp(430px,51vw,640px);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:34px;
  background:#111;
  box-shadow:0 28px 80px rgba(0,0,0,.30);
  isolation:isolate;
}
.uc-page-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.05) 48%),
    radial-gradient(700px 320px at 70% 110%,rgba(214,168,62,.18),transparent 68%);
}
.uc-page-hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.uc-page-hero-media-service img{object-position:center}
.uc-page-hero-media-branch img{object-position:center}
.location-detail-page .uc-page-hero-media-branch img{object-position:center 45%}
.uc-page-hero-media figcaption{
  position:absolute;
  z-index:2;
  left:clamp(22px,3vw,38px);
  right:clamp(22px,3vw,38px);
  bottom:clamp(22px,3vw,34px);
  display:grid;
  gap:6px;
}
.uc-page-hero-media figcaption strong{
  color:#fff;
  font-size:clamp(20px,2vw,30px);
  letter-spacing:-.025em;
}
.uc-page-hero-media figcaption small{
  color:#c7c7c2;
  font-size:13px;
  line-height:1.45;
}
@media(hover:hover){
  .uc-page-hero-media:hover img{transform:scale(1.025)}
}

/* Premium section rhythm derived from Home */
.uc-home-template .seo-section{
  padding:clamp(82px,9vw,138px) 0!important;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(760px 380px at 94% 8%,rgba(214,168,62,.035),transparent 70%),
    #080808;
}
.uc-home-template .seo-section:nth-of-type(even){
  background:
    radial-gradient(700px 360px at 7% 12%,rgba(214,168,62,.035),transparent 72%),
    #090909;
}
.uc-home-template .seo-section-head{
  grid-template-columns:minmax(0,.66fr) minmax(320px,.34fr)!important;
  gap:clamp(34px,6vw,92px)!important;
  align-items:end!important;
  margin-bottom:clamp(38px,5vw,68px)!important;
}
.uc-home-template .seo-section-head h2,
.uc-home-template .seo-prose h2{
  font-size:clamp(42px,5vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.uc-home-template .seo-section-head p,
.uc-home-template .seo-prose p{color:#c6c6c2!important}

/* Rich service cards */
.uc-home-template .seo-grid{gap:18px!important}
.uc-home-template .seo-link-card.has-card-media{
  min-height:0!important;
  padding:0!important;
  border-radius:26px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:#101010!important;
  overflow:hidden!important;
  box-shadow:0 18px 55px rgba(0,0,0,.13);
}
.uc-home-template .seo-link-card.has-card-media::after{display:none!important}
.uc-card-media{
  display:block;
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#171717;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.uc-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.22),transparent 55%);
  pointer-events:none;
}
.uc-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.uc-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:clamp(24px,2.4vw,34px);
}
.uc-card-body .num{margin-bottom:22px!important}
.uc-card-body .seo-card-arrow{margin-top:auto!important;padding-top:24px!important}
@media(hover:hover){
  .uc-home-template .seo-link-card.has-card-media:hover .uc-card-media img{transform:scale(1.035)}
}

/* Premium branch cards used by Services pages */
.uc-home-template .seo-branch-mini-grid{gap:18px!important}
.uc-home-template .seo-branch-mini.uc-branch-mini-card{
  padding:0!important;
  gap:0!important;
  border-radius:24px!important;
  overflow:hidden;
  background:#101010!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.12);
}
.uc-branch-mini-media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.uc-branch-mini-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.uc-branch-mini-body{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:24px;
  min-height:150px;
}
.uc-branch-mini-body strong{font-size:20px!important}
.uc-branch-mini-body span:last-child{
  color:var(--gold2)!important;
  margin-top:auto;
  padding-top:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(hover:hover){
  .uc-home-template .uc-branch-mini-card:hover .uc-branch-mini-media img{transform:scale(1.035)}
}

/* Branch detail layout */
.uc-home-template.location-detail-page .seo-detail-layout{
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)!important;
  gap:clamp(38px,6vw,86px)!important;
}
.uc-home-template .seo-checklist{gap:12px!important}
.uc-home-template .seo-checklist li{
  min-height:68px;
  padding:19px 20px 19px 54px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#121212,#0e0e0e)!important;
  border-color:rgba(255,255,255,.10)!important;
  display:flex;
  align-items:center;
}
.uc-home-template .seo-checklist li::before{left:20px!important;top:18px!important;font-size:20px}
.uc-home-template .seo-side-panel{
  border-radius:28px!important;
  padding:clamp(26px,3vw,38px)!important;
  border-color:rgba(214,168,62,.40)!important;
  background:
    radial-gradient(500px 240px at 18% 0%,rgba(214,168,62,.10),transparent 70%),
    linear-gradient(145deg,#121212,#0d0d0d)!important;
  box-shadow:0 22px 65px rgba(0,0,0,.18);
}
.uc-home-template .seo-side-panel .seo-actions{margin-top:28px!important}
.uc-home-template .cta-phone-link{
  color:inherit!important;
  text-decoration:none!important;
  cursor:text!important;
  border:0!important;
  background:transparent!important;
}
.uc-home-template .cta-phone-link:hover,
.uc-home-template .cta-phone-link:focus{color:inherit!important;text-decoration:none!important}

/* Branch reviews follow Home's readable premium review treatment */
.uc-home-template .branch-review-card{
  border-radius:24px!important;
  background:
    radial-gradient(420px 220px at 80% 120%,rgba(214,168,62,.08),transparent 70%),
    linear-gradient(145deg,#141414,#0e0e0e)!important;
  border-color:rgba(214,168,62,.28)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.12);
}
.uc-home-template .branch-review-card blockquote{color:#f5f5f3!important}

/* Contact page: use the exact HOME white consultation language */
.uc-home-template .uc-contact-consultation{
  width:min(var(--max),calc(100% - 48px));
  margin-inline:auto;
  padding-top:0!important;
  padding-bottom:0!important;
  border:0!important;
  background:transparent!important;
}
.uc-home-template .uc-contact-consultation .consultation-hub{
  width:100%!important;
  max-width:none!important;
}
.uc-home-template #inquiry .consultation-channels{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.uc-home-template #inquiry .consultation-channels>a{
  width:100%!important;
  max-width:none!important;
}
.uc-home-template #inquiry .consultation-hub>h2{
  font-size:clamp(44px,5vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
}

/* CTA panels feel like Home, while Messenger remains the service-primary action */
.uc-home-template .seo-book-panel{
  border-radius:30px!important;
  padding:clamp(30px,4vw,56px)!important;
  background:
    radial-gradient(600px 300px at 4% 0%,rgba(214,168,62,.13),transparent 68%),
    linear-gradient(120deg,#12110e,#0d0d0d)!important;
  border-color:rgba(214,168,62,.38)!important;
}
.uc-home-template .seo-book-panel .seo-actions{margin-top:0!important}

/* FAQ refinement */
.uc-home-template .seo-faq{gap:14px!important}
.uc-home-template .seo-faq details{
  padding:22px 24px!important;
  border-radius:18px!important;
  background:#101010!important;
  border-color:rgba(255,255,255,.11)!important;
}
.uc-home-template .seo-faq summary{font-size:18px!important}

/* Responsive: desktop image-right, mobile image-below */
@media(max-width:980px){
  .uc-page-hero-grid{grid-template-columns:1fr!important}
  .uc-page-hero-media{min-height:0;aspect-ratio:16/10}
  .uc-home-template .seo-hero{min-height:0!important}
  .uc-home-template.location-detail-page .seo-detail-layout{grid-template-columns:1fr!important}
  .uc-home-template .seo-side-panel{position:static!important}
}
@media(max-width:820px){
  .uc-home-template .seo-hero .seo-shell,
  .uc-home-template .uc-contact-consultation{width:calc(100% - 32px)!important}
  .uc-home-template .seo-hero{padding:48px 0 64px!important}
  .uc-home-template .seo-hero h1{font-size:clamp(46px,12.5vw,72px)!important}
  .uc-page-hero-grid{gap:30px!important}
  .uc-page-hero-media{border-radius:24px!important;aspect-ratio:4/3}
  .uc-home-template .seo-section{padding:72px 0!important}
  .uc-home-template .seo-section-head{grid-template-columns:1fr!important;gap:18px!important}
  .uc-home-template #inquiry .consultation-channels{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .uc-home-template .seo-hero .seo-shell,
  .uc-home-template .uc-contact-consultation{width:calc(100% - 28px)!important}
  .uc-page-hero-media{aspect-ratio:4/5}
  .uc-card-body{padding:22px}
  .uc-branch-mini-body{padding:20px}
}



/* ==========================================================================
   v12.7.66 BETA — PREMIUM AUTHORITY PASS
   HOME remains the master visual language.
   ========================================================================== */

/* Contact: distinct hero + white chooser */
.contact-authority-page .uc-contact-consultation{
  width:100%!important;
  max-width:none!important;
  padding:clamp(86px,9vw,132px) 0!important;
  background:#f7f6f2!important;
  border-top:1px solid #dedbd2!important;
  border-bottom:1px solid #dedbd2!important;
}
.contact-authority-page .uc-contact-consultation .consultation-hub{
  width:min(var(--max),calc(100% - 48px))!important;
  margin:auto!important;
}
.contact-authority-page .uc-contact-consultation h2{color:#0a0a0a!important}
.contact-authority-page .uc-contact-consultation .consultation-lead,
.contact-authority-page .uc-contact-consultation .consultation-note{color:#55534e!important}

/* Contact branch showcase */
.uc-location-showcase-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.uc-location-showcase-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:linear-gradient(145deg,#121212,#0d0d0d);
  box-shadow:0 20px 60px rgba(0,0,0,.14);
}
.uc-location-showcase-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#161616;
}
.uc-location-showcase-media:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.20),transparent 58%);
  pointer-events:none;
}
.uc-location-showcase-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.uc-location-showcase-card.branch-qc .uc-location-showcase-media img{object-position:center 58%}
.uc-location-showcase-card.branch-mandaluyong .uc-location-showcase-media img{object-position:center}
.uc-location-showcase-card.branch-laspinas .uc-location-showcase-media img{object-position:center 54%}
.uc-location-showcase-body{padding:26px;display:flex;flex-direction:column;gap:12px;min-height:260px}
.uc-location-eyebrow{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.17em}
.uc-location-showcase-body h3{font-size:clamp(24px,2.2vw,32px);line-height:1.03;letter-spacing:-.035em;margin:0}
.uc-location-address{color:#d0d0cc;margin:0;line-height:1.55}
.uc-location-meta{display:grid;gap:5px;margin-top:auto;color:#9f9f9b;font-size:14px}
.uc-plain-phone{color:#d0d0cc!important;text-decoration:none!important;cursor:text!important;width:max-content}
.uc-location-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}
.uc-location-directions{color:#f5f5f3!important;text-decoration:none!important;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.uc-compact-book{min-height:42px!important;padding:0 21px!important;font-size:11px!important}
@media(hover:hover){
  .uc-location-showcase-card:hover .uc-location-showcase-media img{transform:scale(1.03)}
}

/* Reusable editorial media */
.uc-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);
  gap:clamp(46px,7vw,110px);
  align-items:center;
}
.uc-editorial-copy h2{font-size:clamp(44px,5vw,76px);line-height:.95;letter-spacing:-.055em;margin:14px 0 28px}
.uc-editorial-copy p{color:#c6c6c2;font-size:17px;line-height:1.7;max-width:760px}
.uc-editorial-media{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:#111}
.uc-editorial-media img{width:100%;height:100%;object-fit:cover;display:block}
.uc-stat-row{display:flex;gap:34px;flex-wrap:wrap;margin-top:34px}
.uc-stat-row div{display:grid;gap:2px}
.uc-stat-row strong{font-size:34px;color:var(--gold2);letter-spacing:-.04em}
.uc-stat-row span{color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:.09em}


/* About values */
.uc-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.uc-value-card{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:26px;background:#101010;padding-bottom:28px}
.uc-value-card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 12%;display:block;margin-bottom:24px}
.uc-value-card>span,.uc-value-card h3,.uc-value-card p{margin-left:26px;margin-right:26px}
.uc-value-card>span{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.15em}
.uc-value-card h3{font-size:28px;margin-top:10px;margin-bottom:10px}
.uc-value-card p{color:#bdbdb8;line-height:1.65}

/* Process */
.uc-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.uc-process-grid article{padding:26px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#101010}
.uc-process-grid article>span{color:var(--gold2);font-weight:900;font-size:11px;letter-spacing:.16em}
.uc-process-grid h3{font-size:20px;margin:34px 0 10px}
.uc-process-grid p{color:#aaa;line-height:1.6;font-size:14px}

/* About service mini grid */
.uc-service-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.uc-service-mini-grid a{min-height:150px;padding:24px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#101010;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.uc-service-mini-grid strong{font-size:20px;color:#fff}
.uc-service-mini-grid span{color:#aaa;line-height:1.5;font-size:13px}
@media(hover:hover){.uc-service-mini-grid a:hover{border-color:rgba(214,168,62,.45);transform:translateY(-2px)}}

/* About branch cards */
.uc-about-branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.uc-about-branch-grid>a{position:relative;overflow:hidden;min-height:390px;border:1px solid rgba(255,255,255,.11);border-radius:26px;text-decoration:none;background:#111}
.uc-about-branch-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.uc-about-branch-grid .branch-qc img{object-position:center 58%}
.uc-about-branch-grid .branch-laspinas img{object-position:center 54%}
.uc-about-branch-grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 68%)}
.uc-about-branch-grid div{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;display:grid;gap:8px}
.uc-about-branch-grid span{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.15em}
.uc-about-branch-grid strong{font-size:25px;color:#fff}
.uc-about-branch-grid em{color:#d0d0cc;font-style:normal;font-size:13px}

/* Final conversion panel */
.uc-final-conversion{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding:clamp(30px,5vw,58px);border:1px solid rgba(214,168,62,.34);border-radius:30px;background:radial-gradient(620px 320px at 0% 0%,rgba(214,168,62,.13),transparent 70%),#10100f}
.uc-final-conversion h2{font-size:clamp(38px,4.4vw,68px);line-height:.98;letter-spacing:-.05em;margin:12px 0 12px}
.uc-final-conversion p{color:#bdbdb8;max-width:720px}

/* Franchise */
.uc-franchise-standard-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,7vw,96px);align-items:center}
.uc-franchise-standard-grid h2{font-size:clamp(46px,5vw,76px);line-height:.95;letter-spacing:-.055em;margin:14px 0 22px}
.uc-franchise-standard-grid p{color:#c4c4bf;line-height:1.7}
.uc-franchise-standard-grid figure{margin:0;overflow:hidden;border-radius:30px;border:1px solid rgba(255,255,255,.11);aspect-ratio:4/3}
.uc-franchise-standard-grid figure img{width:100%;height:100%;object-fit:cover;display:block}
.uc-franchise-stats{display:flex;gap:22px;margin-top:30px}
.uc-franchise-stats div{padding:18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#101010;display:grid;gap:3px}
.uc-franchise-stats strong{font-size:30px;color:var(--gold2)}
.uc-franchise-stats span{color:#aaa;font-size:12px}
.uc-franchise-pillar-grid,.uc-qualification-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.uc-franchise-pillar-grid article,.uc-qualification-grid article{padding:27px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#101010}
.uc-franchise-pillar-grid span{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.15em}
.uc-franchise-pillar-grid h3,.uc-qualification-grid h3{font-size:21px;margin:28px 0 10px}
.uc-franchise-pillar-grid p,.uc-qualification-grid p{color:#aaa;line-height:1.6;font-size:14px}
.uc-franchise-inclusion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.uc-franchise-inclusion-grid article{overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:#101010}
.uc-franchise-inclusion-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.uc-franchise-inclusion-grid h3{font-size:20px;padding:20px 22px 24px;margin:0}
.uc-franchise-territory{display:grid;grid-template-columns:.45fr 1fr;gap:clamp(38px,7vw,100px);align-items:center}
.uc-territory-number{display:block;font-size:clamp(76px,10vw,150px);line-height:.8;letter-spacing:-.07em;color:var(--gold2);margin-top:18px}
.uc-franchise-territory h2{font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:0 0 18px}
.uc-franchise-territory p{color:#bdbdb8;line-height:1.7}
.uc-franchise-process{grid-template-columns:repeat(3,1fr)!important}

/* Service authority structure */
.service-authority-page .seo-hero .seo-actions a:nth-child(1){order:1}
.service-authority-page .seo-hero .seo-actions a:nth-child(2){order:2}
.uc-service-scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.uc-service-scope-grid article{min-height:220px;padding:26px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#101010;display:flex;flex-direction:column}
.uc-service-scope-grid article>span{color:var(--gold2);font-size:11px;font-weight:900;letter-spacing:.15em}
.uc-service-scope-grid h3{font-size:21px;margin:34px 0 10px}
.uc-service-scope-grid p{color:#aaa;line-height:1.6;font-size:14px;margin-top:auto}
.uc-service-symptom-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(42px,7vw,100px);align-items:start}
.uc-service-symptom-layout h2{font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:14px 0 18px}
.uc-service-symptom-layout p{color:#aaa;line-height:1.65}
.uc-symptom-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.uc-symptom-list li{padding:21px 22px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:#101010;color:#e8e8e4}
.uc-symptom-list li:before{content:"✓";color:var(--gold2);font-weight:900;margin-right:12px}
.uc-before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.uc-before-after-grid figure{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:28px;background:#101010}
.uc-ba-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.uc-ba-media img{width:100%;height:100%;object-fit:cover;display:block}
.uc-ba-media>span{position:absolute;top:18px;left:18px;padding:8px 10px;border-radius:999px;background:rgba(8,8,8,.82);border:1px solid rgba(214,168,62,.45);color:var(--gold2);font-size:10px;font-weight:900;letter-spacing:.15em}
.uc-before-after-grid figcaption{padding:24px}
.uc-before-after-grid figcaption strong{font-size:20px}
.uc-before-after-grid figcaption p{color:#aaa;line-height:1.6;margin-bottom:0}
.uc-related-concerns{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(38px,7vw,96px);align-items:center}
.uc-related-concerns h2{font-size:clamp(42px,4.7vw,68px);line-height:.98;letter-spacing:-.05em;margin:14px 0 0}
.uc-concern-chipset{display:flex;flex-wrap:wrap;gap:10px}
.uc-concern-chipset span,.uc-concern-chipset a{padding:14px 17px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#101010;color:#e0e0dc}
.uc-service-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.uc-service-review{min-height:330px;padding:28px;border:1px solid rgba(214,168,62,.25);border-radius:24px;background:radial-gradient(400px 220px at 80% 120%,rgba(214,168,62,.08),transparent 70%),#101010;display:flex;flex-direction:column}
.uc-service-review .review-stars{color:var(--gold2);letter-spacing:.12em}
.uc-service-review blockquote{color:#f3f3ef;font-size:18px;line-height:1.65;margin:34px 0 auto}
.uc-service-review strong{font-size:18px;margin-top:26px}
.uc-service-review>span{color:#999;font-size:13px;margin-top:5px}
.uc-inline-link{margin-top:24px}
.uc-inline-link a{color:var(--gold2);font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px}

/* Plain phone keeps hidden SMS affordance */
.uc-plain-phone,.location-detail-page .cta-phone-link{cursor:text!important}

/* Responsive */
@media(max-width:1080px){
  .uc-location-showcase-grid,.uc-value-grid,.uc-about-branch-grid,.uc-franchise-inclusion-grid,.uc-service-review-grid{grid-template-columns:repeat(2,1fr)!important}
  .uc-service-scope-grid,.uc-franchise-pillar-grid,.uc-qualification-grid{grid-template-columns:repeat(2,1fr)}
  .uc-process-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .contact-authority-page .uc-contact-consultation .consultation-hub{width:calc(100% - 32px)!important}
  .uc-location-showcase-grid,
  .uc-editorial-grid,
  .uc-value-grid,
  .uc-process-grid,
  .uc-service-mini-grid,
  .uc-about-branch-grid,
  .uc-franchise-standard-grid,
  .uc-franchise-pillar-grid,
  .uc-franchise-inclusion-grid,
  .uc-qualification-grid,
  .uc-franchise-process,
  .uc-service-scope-grid,
  .uc-service-symptom-layout,
  .uc-before-after-grid,
  .uc-related-concerns,
  .uc-service-review-grid,
  .uc-franchise-territory,
  .uc-final-conversion{grid-template-columns:1fr!important}
  .uc-location-showcase-body{min-height:0}
  .uc-symptom-list{grid-template-columns:1fr}
  .uc-final-conversion{align-items:start}
  .uc-final-conversion .seo-actions{justify-content:flex-start}
}



/* ==========================================================================
   v12.7.67 BETA — Franchise flow + consultation layout corrections
   ========================================================================== */

/* CONTACT: restore HOME component geometry.
   The .section itself owns the max-width; ::before supplies the full white band. */
.contact-authority-page .uc-contact-consultation{
  width:min(var(--max),calc(100% - 48px))!important;
  max-width:var(--max)!important;
  margin-inline:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.contact-authority-page .uc-contact-consultation .consultation-hub{
  width:auto!important;
  max-width:1120px!important;
  margin:0!important;
  padding-top:clamp(76px,7vw,104px)!important;
  padding-bottom:clamp(76px,7vw,104px)!important;
}
.contact-authority-page .uc-contact-consultation .consultation-channels{
  width:100%!important;
  max-width:1120px!important;
}
.contact-authority-page .uc-contact-consultation .consultation-note{
  max-width:820px!important;
}
@media(max-width:820px){
  .contact-authority-page .uc-contact-consultation{
    width:calc(100% - 32px)!important;
  }
  .contact-authority-page .uc-contact-consultation .consultation-hub{
    width:auto!important;
    padding-top:64px!important;
    padding-bottom:68px!important;
  }
}

/* FRANCHISE FORM: visually establish it as the first action after the hero */
.franchise-authority-page #franchise-inquiry{
  position:relative;
  background:
    radial-gradient(720px 420px at 8% 0%,rgba(214,168,62,.09),transparent 68%),
    #090909!important;
  border-top:1px solid rgba(214,168,62,.25)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
.franchise-authority-page #franchise-inquiry .franchise-form-premium-grid{
  align-items:start!important;
}

/* PORTRAIT franchise inclusion cards */
.franchise-authority-page .uc-franchise-inclusion-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.franchise-authority-page .uc-franchise-inclusion-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:570px;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:
    radial-gradient(480px 260px at 50% 110%,rgba(214,168,62,.08),transparent 70%),
    #101010!important;
}
.franchise-authority-page .uc-inclusion-media{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#151515;
}
.franchise-authority-page .uc-inclusion-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 60%);
  pointer-events:none;
}
.franchise-authority-page .uc-inclusion-media img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  display:block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.franchise-authority-page .uc-franchise-inclusion-card:nth-child(2) .uc-inclusion-media img{
  object-position:center;
}
.franchise-authority-page .uc-franchise-inclusion-card h3{
  margin:0!important;
  padding:18px 24px 26px!important;
  font-size:21px!important;
  line-height:1.15!important;
}
.franchise-authority-page .uc-inclusion-number{
  display:block;
  padding:22px 24px 0;
  color:var(--gold2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
@media(hover:hover){
  .franchise-authority-page .uc-franchise-inclusion-card:hover .uc-inclusion-media img{
    transform:scale(1.035);
  }
}

/* WHO WE'RE LOOKING FOR: richer qualification panels */
.franchise-authority-page .uc-qualification-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.franchise-authority-page .uc-qualification-card{
  min-height:390px;
  padding:26px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  background:
    radial-gradient(360px 220px at 100% 110%,rgba(214,168,62,.08),transparent 70%),
    linear-gradient(145deg,#131313,#0e0e0e);
  box-shadow:0 18px 55px rgba(0,0,0,.12);
}
.franchise-authority-page .uc-qualification-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.franchise-authority-page .uc-qualification-number{
  color:var(--gold2);
  font-size:44px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
}
.franchise-authority-page .uc-qualification-mark{
  color:#777;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.franchise-authority-page .uc-qualification-card h3{
  margin:58px 0 14px!important;
  font-size:25px!important;
  line-height:1.05;
}
.franchise-authority-page .uc-qualification-card p{
  color:#aaa;
  line-height:1.65;
  font-size:14px;
  margin:0 0 28px;
}
.franchise-authority-page .uc-qualification-key{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(214,168,62,.28);
  color:var(--gold2);
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.franchise-authority-page .uc-qualification-note{
  margin-top:18px;
  padding:24px 28px;
  display:grid;
  grid-template-columns:minmax(220px,.36fr) minmax(0,.64fr);
  gap:30px;
  align-items:center;
  border:1px solid rgba(214,168,62,.30);
  border-radius:22px;
  background:linear-gradient(135deg,#15120c,#0f0f0f 70%);
}
.franchise-authority-page .uc-qualification-note strong{
  color:#fff;
  font-size:18px;
}
.franchise-authority-page .uc-qualification-note p{
  color:#aaa;
  line-height:1.6;
  margin:0;
}

/* APPLICATION TO OPENING: real alternating timeline */
.franchise-authority-page .uc-franchise-timeline{
  --timeline-gold:#d6a83e;
  position:relative;
  max-width:1160px;
  margin:18px auto 0;
  padding:46px 0;
}
.franchise-authority-page .uc-franchise-timeline:before{
  content:"";
  position:absolute;
  top:46px;
  bottom:46px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(
    180deg,
    rgba(214,168,62,.18),
    var(--timeline-gold) 12%,
    var(--timeline-gold) 88%,
    rgba(214,168,62,.18)
  );
}
.franchise-authority-page .uc-franchise-step{
  position:relative;
  display:grid;
  grid-template-columns:1fr 92px 1fr;
  min-height:190px;
  align-items:center;
}
.franchise-authority-page .uc-franchise-step-node{
  grid-column:2;
  justify-self:center;
  z-index:2;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#090909;
  background:var(--timeline-gold);
  border:8px solid #090909;
  box-shadow:0 0 0 1px rgba(214,168,62,.55),0 12px 28px rgba(0,0,0,.25);
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
}
.franchise-authority-page .uc-franchise-step-content{
  width:min(100%,470px);
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:
    radial-gradient(360px 180px at 100% 120%,rgba(214,168,62,.07),transparent 70%),
    #101010;
}
.franchise-authority-page .uc-franchise-step:nth-of-type(odd) .uc-franchise-step-content{
  grid-column:1;
  grid-row:1;
  justify-self:end;
  text-align:right;
}
.franchise-authority-page .uc-franchise-step:nth-of-type(even) .uc-franchise-step-content{
  grid-column:3;
  grid-row:1;
  justify-self:start;
}
.franchise-authority-page .uc-franchise-step-content span{
  color:var(--gold2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.franchise-authority-page .uc-franchise-step-content h3{
  font-size:25px;
  line-height:1.05;
  margin:10px 0 10px;
}
.franchise-authority-page .uc-franchise-step-content p{
  color:#aaa;
  line-height:1.62;
  font-size:14px;
  margin:0;
}
.franchise-authority-page .uc-timeline-end{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(214,168,62,.45);
  background:#090909;
  color:var(--gold2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.franchise-authority-page .uc-timeline-start{top:0}
.franchise-authority-page .uc-timeline-open{bottom:0}

/* Responsive franchise */
@media(max-width:1080px){
  .franchise-authority-page .uc-qualification-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:820px){
  .franchise-authority-page .uc-franchise-inclusion-grid{
    grid-template-columns:1fr!important;
  }
  .franchise-authority-page .uc-franchise-inclusion-card{
    min-height:0;
    aspect-ratio:auto;
  }
  .franchise-authority-page .uc-inclusion-media{
    aspect-ratio:4/5;
  }
  .franchise-authority-page .uc-qualification-grid{
    grid-template-columns:1fr!important;
  }
  .franchise-authority-page .uc-qualification-card{
    min-height:330px;
  }
  .franchise-authority-page .uc-qualification-note{
    grid-template-columns:1fr;
    gap:10px;
  }
  .franchise-authority-page .uc-franchise-timeline{
    margin-left:0;
    padding:32px 0 32px 30px;
  }
  .franchise-authority-page .uc-franchise-timeline:before{
    left:29px;
    top:32px;
    bottom:32px;
    transform:none;
  }
  .franchise-authority-page .uc-franchise-step{
    grid-template-columns:58px 1fr;
    min-height:0;
    margin-bottom:18px;
    align-items:start;
  }
  .franchise-authority-page .uc-franchise-step-node{
    grid-column:1;
    grid-row:1;
    width:44px;
    height:44px;
    border-width:6px;
    justify-self:start;
  }
  .franchise-authority-page .uc-franchise-step:nth-of-type(odd) .uc-franchise-step-content,
  .franchise-authority-page .uc-franchise-step:nth-of-type(even) .uc-franchise-step-content{
    grid-column:2;
    grid-row:1;
    justify-self:stretch;
    text-align:left;
    width:100%;
  }
  .franchise-authority-page .uc-timeline-end{
    left:29px;
    transform:translateX(-50%);
  }
}



/* ==========================================================================
   v12.7.68 BETA — FRANCHISE FORM IS THE HERO
   ========================================================================== */

.franchise-authority-page .franchise-form-hero{
  min-height:0!important;
  padding:clamp(74px,7vw,112px) 0!important;
  align-items:stretch!important;
  background:
    radial-gradient(760px 520px at 82% 26%,rgba(214,168,62,.12),transparent 72%),
    linear-gradient(120deg,#080808 0%,#0b0906 58%,#080808 100%)!important;
}
.franchise-authority-page .franchise-form-hero .seo-shell{
  width:min(var(--max),calc(100% - 48px))!important;
}
.franchise-authority-page .franchise-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);
  gap:clamp(46px,6vw,92px);
  align-items:start;
}
.franchise-authority-page .franchise-hero-copy{
  position:sticky;
  top:calc(var(--header) + 34px);
  padding-top:clamp(18px,3vw,46px);
  min-width:0;
}
.franchise-authority-page .franchise-hero-copy h1{
  max-width:760px!important;
  margin:18px 0 28px!important;
  font-size:clamp(58px,6.2vw,102px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  text-wrap:balance;
}
.franchise-authority-page .franchise-hero-copy .seo-lead{
  max-width:680px!important;
  margin:0!important;
  color:#d4d4cf!important;
  font-size:clamp(18px,1.45vw,22px)!important;
  line-height:1.62!important;
}
.franchise-authority-page .franchise-hero-intro{
  max-width:650px;
  margin:24px 0 0;
  color:#999993;
  font-size:15px;
  line-height:1.7;
}
.franchise-authority-page .franchise-hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:30px;
}
.franchise-authority-page .franchise-hero-proof span{
  padding:10px 13px;
  border:1px solid rgba(214,168,62,.28);
  border-radius:999px;
  background:rgba(214,168,62,.045);
  color:#d8c38e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.franchise-authority-page .franchise-hero-message-link{
  display:inline-flex;
  margin-top:28px;
  color:#f3f3ef!important;
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-decoration:none!important;
  text-transform:uppercase;
}
.franchise-authority-page .franchise-hero-message-link:hover{
  color:var(--gold2)!important;
}

/* Form becomes the visual anchor of the hero. */
.franchise-authority-page .franchise-form-hero .franchise-form-wrap{
  position:relative;
  width:100%;
  margin:0!important;
}
.franchise-authority-page .franchise-form-hero .franchise-form-wrap:before{
  content:"FRANCHISE APPLICATION";
  position:absolute;
  z-index:2;
  top:-12px;
  right:26px;
  padding:7px 11px;
  border-radius:999px;
  background:#d6a83e;
  color:#090909;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.franchise-authority-page .franchise-form-hero .premium-form{
  padding:clamp(28px,3.2vw,44px)!important;
  border:1px solid rgba(214,168,62,.38)!important;
  border-radius:30px!important;
  background:#f7f6f2!important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.02)!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .form-head{
  margin-bottom:24px!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .form-head h3{
  color:#0b0b0b!important;
  font-size:clamp(30px,3vw,44px)!important;
  letter-spacing:-.04em!important;
  line-height:1!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .form-head p,
.franchise-authority-page .franchise-form-hero .premium-form .form-required-reminder,
.franchise-authority-page .franchise-form-hero .premium-form .field-note,
.franchise-authority-page .franchise-form-hero .premium-form .form-consent-notice{
  color:#65625c!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .field-label{
  color:#151515!important;
}
.franchise-authority-page .franchise-form-hero .premium-form input,
.franchise-authority-page .franchise-form-hero .premium-form select,
.franchise-authority-page .franchise-form-hero .premium-form textarea{
  background:#fff!important;
  color:#111!important;
  border-color:#d9d5cb!important;
}
.franchise-authority-page .franchise-form-hero .premium-form input::placeholder,
.franchise-authority-page .franchise-form-hero .premium-form textarea::placeholder{
  color:#949087!important;
}
.franchise-authority-page .franchise-form-hero .premium-form input:focus,
.franchise-authority-page .franchise-form-hero .premium-form select:focus,
.franchise-authority-page .franchise-form-hero .premium-form textarea:focus{
  border-color:#d6a83e!important;
  box-shadow:0 0 0 3px rgba(214,168,62,.13)!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .phone-prefix{
  color:#55514a!important;
}
.franchise-authority-page .franchise-form-hero .premium-form .submit-btn{
  width:100%;
  min-height:54px;
  margin-top:8px;
}

/* The informational page starts only AFTER the hero/form. */
.franchise-authority-page .franchise-form-hero + .seo-section{
  border-top:1px solid rgba(255,255,255,.09);
}

@media(max-width:1100px){
  .franchise-authority-page .franchise-hero-grid{
    grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);
    gap:40px;
  }
}
@media(max-width:900px){
  .franchise-authority-page .franchise-form-hero{
    padding:56px 0 74px!important;
  }
  .franchise-authority-page .franchise-hero-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .franchise-authority-page .franchise-hero-copy{
    position:static;
    padding-top:0;
  }
}
@media(max-width:820px){
  .franchise-authority-page .franchise-form-hero .seo-shell{
    width:calc(100% - 32px)!important;
  }
}
@media(max-width:520px){
  .franchise-authority-page .franchise-form-hero .seo-shell{
    width:calc(100% - 28px)!important;
  }
  .franchise-authority-page .franchise-hero-copy h1{
    font-size:clamp(48px,14vw,66px)!important;
  }
  .franchise-authority-page .franchise-form-hero .premium-form{
    padding:22px!important;
    border-radius:24px!important;
  }
}



/* ==========================================================================
   v12.7.74 BETA — ACTUAL UNDERCHARGERS BEFORE & AFTER RESULTS
   ========================================================================== */

.uc-actual-results-section{
  background:
    radial-gradient(760px 360px at 90% 10%,rgba(214,168,62,.055),transparent 70%),
    transparent;
}
.uc-actual-results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.uc-actual-result-card{
  margin:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:
    radial-gradient(420px 220px at 85% 115%,rgba(214,168,62,.08),transparent 70%),
    #101010;
}
.uc-actual-result-media{
  position:relative;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#111;
}
.uc-actual-result-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.uc-actual-result-badge{
  position:absolute;
  left:18px;
  top:18px;
  z-index:2;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(214,168,62,.5);
  background:rgba(8,8,8,.82);
  color:var(--gold2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  backdrop-filter:blur(7px);
}
.uc-actual-result-card figcaption{
  min-height:190px;
  padding:24px 25px 26px;
  display:flex;
  flex-direction:column;
}
.uc-actual-result-vehicle{
  color:var(--gold2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.uc-actual-result-card strong{
  margin:13px 0 10px;
  color:#fff;
  font-size:23px;
  line-height:1.1;
  letter-spacing:-.025em;
}
.uc-actual-result-card figcaption p{
  margin:auto 0 0;
  color:#aaa;
  font-size:13px;
  line-height:1.6;
}
@media(hover:hover){
  .uc-actual-result-card:hover .uc-actual-result-media img{
    transform:scale(1.025);
  }
}
@media(max-width:1080px){
  .uc-actual-results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .uc-actual-results-grid{
    grid-template-columns:1fr;
  }
  .uc-actual-result-card figcaption{
    min-height:0;
  }
}


/* ==========================================================================
   v12.7.75 BETA — SERVICE REFERENCE SECTIONS
   ========================================================================== */

.uc-service-reference-section{
  background:
    radial-gradient(720px 340px at 92% 6%,rgba(214,168,62,.055),transparent 72%),
    transparent;
}
.uc-service-reference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.uc-service-reference-card{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:#101010;
}
.uc-service-reference-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#111;
}
.uc-service-reference-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.uc-service-reference-badge{
  position:absolute;
  left:18px;
  top:18px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(214,168,62,.48);
  background:rgba(8,8,8,.84);
  color:var(--gold2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(7px);
}
.uc-service-reference-card figcaption{
  padding:23px 24px 25px;
}
.uc-service-reference-card strong{
  display:block;
  color:#fff;
  font-size:22px;
  line-height:1.12;
  letter-spacing:-.025em;
}
.uc-service-reference-card figcaption p{
  margin:10px 0 0;
  color:#aaa;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:720px){
  .uc-service-reference-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   v12.7.81 BETA — PROBLEM / SYMPTOM LIBRARY
   ========================================================================== */
.uc-concern-chipset a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
@media(hover:hover){
  .uc-concern-chipset a:hover{
    border-color:rgba(214,168,62,.55);
    background:#15130e;
    transform:translateY(-1px);
  }
}
.uc-problem-signal-grid,
.uc-problem-area-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.uc-problem-signal-grid article,
.uc-problem-area-grid article{
  min-height:154px;
  padding:22px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:#101010;
}
.uc-problem-signal-grid article span,
.uc-problem-area-grid article span{
  display:block;
  margin-bottom:26px;
  color:var(--gold2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
}
.uc-problem-signal-grid article p,
.uc-problem-area-grid article p{
  margin:0;
  color:#f0f0ed;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
}
.uc-problem-check-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:72px;
  align-items:start;
}
.uc-problem-check-layout h2{margin-top:12px}
.uc-problem-check-layout > div:last-child p{
  color:#b6b6b1;
  font-size:17px;
  line-height:1.75;
}
.uc-problem-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.uc-problem-service-link{
  min-height:140px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:#101010;
  color:#fff;
  text-decoration:none;
}
.uc-problem-service-link strong{
  font-size:21px;
  line-height:1.15;
}
.uc-problem-service-link span{
  color:var(--gold2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.uc-problem-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.uc-problem-library-card{
  min-height:220px;
  padding:24px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  background:#101010;
  color:#fff;
  text-decoration:none;
}
.uc-problem-library-card strong{
  font-size:22px;
  line-height:1.15;
}
.uc-problem-library-card span{
  margin-top:16px;
  color:#aaa;
  font-size:13px;
  line-height:1.65;
}
.uc-problem-library-card em{
  margin-top:auto;
  padding-top:22px;
  color:var(--gold2);
  font-size:12px;
  font-weight:900;
  font-style:normal;
}
@media(hover:hover){
  .uc-problem-library-card:hover,
  .uc-problem-service-link:hover{
    border-color:rgba(214,168,62,.5);
  }
}
@media(max-width:980px){
  .uc-problem-signal-grid,.uc-problem-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uc-problem-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uc-problem-check-layout{grid-template-columns:1fr;gap:28px}
}
@media(max-width:700px){
  .uc-problem-signal-grid,.uc-problem-area-grid,.uc-problem-service-grid,.uc-problem-library-grid{grid-template-columns:1fr}
}


/* ==========================================================================
   v12.7.82 BETA — CONCERN CHIP ANCHOR VISUAL FIX
   ========================================================================== */
.uc-concern-chipset a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 17px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:#101010;
  color:#e0e0dc;
  text-decoration:none;
  line-height:1.15;
  white-space:nowrap;
  box-sizing:border-box;
}
@media(hover:hover){
  .uc-concern-chipset a:hover{
    border-color:rgba(214,168,62,.55);
    background:#15130e;
    color:#fff;
  }
}


/* Final production footer crawl/accessibility reinforcement */
.footer-social-text-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.footer-social-text-links a{display:inline-flex;align-items:center;min-height:32px;color:#d8d8d8;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.02em}
.footer-social-text-links a:hover,.footer-social-text-links a:focus-visible{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.footer-service-deep-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-service-deep-links h3{margin-bottom:4px}


/* 2026-09-20 final audit reinforcement: explicit crawlable text links */
.footer-social-text-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}
.footer-social-text-links a{display:inline-flex!important;align-items:center;min-height:30px;color:#d8d8d8!important;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:700;letter-spacing:.02em}
.footer-social-text-links a:hover,.footer-social-text-links a:focus-visible{color:var(--gold2)!important}
.contact-native-links{margin-top:14px;font-size:14px;font-weight:700}
.contact-native-links a{text-decoration:underline;text-underline-offset:3px}
.uc-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* ========================================================================== 
   2026-09-24 PRIVACY / COOKIE NOTICE — compact desktop acknowledgement
   ========================================================================== */
.footer-policy-links{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:18px 0 0;font-size:.9rem}
.footer-policy-links a,.footer-policy-links button{color:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.uc-cookie-banner{position:fixed;right:22px;bottom:22px;z-index:2147483000;width:min(430px,calc(100vw - 44px));background:#111;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 50px rgba(0,0,0,.38);border-radius:18px;transition:opacity .18s ease,transform .18s ease}
.uc-cookie-banner.is-closing{opacity:0;transform:translateY(10px)}
.uc-cookie-banner__inner{padding:16px 16px 14px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.uc-cookie-banner__copy{min-width:0}
.uc-cookie-banner__copy strong{display:block;margin-bottom:5px;font-size:.94rem;line-height:1.25}
.uc-cookie-banner__copy p{margin:0;line-height:1.45;font-size:.78rem;color:#d9d9d9}
.uc-cookie-banner__copy a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.uc-cookie-banner__actions{display:flex;align-items:flex-end}
.uc-cookie-btn{border-radius:999px;padding:9px 14px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap}
.uc-cookie-btn--primary{background:#d7aa39;color:#111;border:1px solid #d7aa39}
.uc-cookie-btn--secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.uc-policy-main{padding:72px 20px 90px}
.uc-policy-shell{width:min(900px,100%);margin:0 auto}
.uc-policy-shell h1{font-size:clamp(2.3rem,6vw,4.8rem);line-height:.95;margin:0 0 18px}
.uc-policy-shell h2{margin:42px 0 12px;font-size:1.35rem}
.uc-policy-shell p,.uc-policy-shell li{line-height:1.75}
.uc-policy-meta{opacity:.72;margin-bottom:32px}
.uc-policy-note{padding:16px 18px;border-left:3px solid currentColor;background:rgba(0,0,0,.035)}
.uc-policy-actions{margin-top:28px}
.uc-policy-actions button{border:1px solid currentColor;background:transparent;padding:10px 14px;border-radius:999px;font:inherit;cursor:pointer}
@media(max-width:720px){
  .uc-cookie-banner{left:10px;right:10px;bottom:10px;width:auto}
  .uc-cookie-banner__inner{grid-template-columns:1fr;gap:12px;padding:15px}
  .uc-cookie-banner__actions{justify-content:flex-end}
  .uc-cookie-btn{padding:9px 15px}
  .uc-policy-main{padding-top:48px}
}
