/* Lopez Landscaping · Premium Corrective V0.3.2 */
:root{
  --green:#15803D;--green-2:#0F6B33;--lime:#A3E635;--gold:#FBBF24;
  --ink:#17212B;--charcoal:#1F2937;--muted:#667085;--paper:#FFFFFF;--surface:#F6F8F6;--surface-2:#EEF4EF;--line:#DDE5DD;
  --dark:#071017;--dark-2:#0B171D;--dark-3:#0F1E25;--dark-line:#20323B;
  --shadow:0 18px 44px rgba(15,23,42,.10);--shadow-lg:0 30px 90px rgba(8,20,13,.16);
  --radius:16px;--radius-lg:24px;--shell:1220px;
  color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--ink:#F6FAF7;--muted:#AAB6B0;--paper:#071017;--surface:#0B171D;--surface-2:#0F1E25;--line:#20323B;color-scheme:dark}}
:root[data-theme=dark]{--ink:#F6FAF7;--muted:#AAB6B0;--paper:#071017;--surface:#0B171D;--surface-2:#0F1E25;--line:#20323B;color-scheme:dark}
:root[data-theme=light]{--ink:#17212B;--muted:#667085;--paper:#FFFFFF;--surface:#F6F8F6;--surface-2:#EEF4EF;--line:#DDE5DD;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button{font:inherit}.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#071017;color:#fff;padding:12px 18px;border-radius:10px}.skip-link:focus{top:16px}

/* loader + page transitions */
.site-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:linear-gradient(145deg,#07130C,#0B2414);transition:opacity .55s ease,visibility .55s ease}.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-card{width:min(300px,82vw);text-align:center;color:#DDF7E6}.loader-logo{width:146px;max-height:110px;object-fit:contain;margin:0 auto 22px}.loader-track{height:3px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.loader-track span{display:block;width:34%;height:100%;background:linear-gradient(90deg,var(--green),var(--lime));border-radius:999px;animation:loaderMove 1.15s ease-in-out infinite}.loader-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;opacity:.68;margin-top:13px}.page-transition{position:fixed;inset:0;z-index:99990;background:rgba(4,17,9,.92);backdrop-filter:blur(10px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s}.page-transition.is-active{opacity:1;visibility:visible}.page-transition span{width:42px;height:42px;border:3px solid rgba(255,255,255,.16);border-top-color:var(--lime);border-radius:50%;animation:spin .75s linear infinite}@keyframes loaderMove{0%{transform:translateX(-130%)}50%{transform:translateX(100%)}100%{transform:translateX(330%)}}@keyframes spin{to{transform:rotate(360deg)}}

/* header */
.site-header{position:sticky;top:0;z-index:500;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);transition:box-shadow .25s,background .25s}.site-header.is-scrolled{box-shadow:0 12px 36px rgba(7,16,23,.10)}.header-shell{min-height:118px;display:grid;grid-template-columns:178px 1fr;gap:32px;align-items:center}.brand{height:118px;display:grid;place-items:center;position:relative}.logo{width:164px;height:112px;object-fit:contain}.logo-dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme]) .logo-light{display:none}:root:not([data-theme]) .logo-dark{display:block}}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:block}:root[data-theme=light] .logo-light{display:block}:root[data-theme=light] .logo-dark{display:none}.header-main{min-width:0}.header-row{display:flex;align-items:center}.header-row-nav{min-height:60px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);gap:24px}.primary-nav{display:flex;align-items:center;gap:29px;font-size:.86rem;font-weight:750;flex:1}.primary-nav a{position:relative;padding:19px 0 17px;color:color-mix(in srgb,var(--ink) 92%,transparent)}.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:12px;height:2px;border-radius:2px;background:var(--green);transition:right .22s ease}.primary-nav a:hover::after,.primary-nav a:focus-visible::after{right:0}.header-cta{margin-left:auto}.header-row-tools{min-height:56px;gap:24px;justify-content:space-between}.language{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:800;font-size:.78rem}.language>span{opacity:.5}.lang-btn{border:0;background:transparent;color:inherit;cursor:pointer;padding:6px 2px;font-weight:800}.lang-btn.is-active{color:var(--ink)}.theme-tools{display:flex;align-items:center;gap:7px}.theme-mode{border:0;background:transparent;color:var(--muted);padding:7px 9px;border-radius:10px;cursor:pointer;font-size:.77rem;font-weight:700;display:flex;align-items:center;gap:6px}.theme-mode.is-active{background:var(--surface);color:var(--ink)}.theme-dot,.sun-dot{width:13px;height:13px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 18%,transparent)}.system-dot,.moon-dot{font-size:16px;line-height:1}.social-top,.social-list{display:flex;align-items:center;gap:11px}.social-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:.83rem;box-shadow:0 5px 14px rgba(15,23,42,.12);transition:transform .18s,filter .18s}.social-icon:hover{transform:translateY(-2px) scale(1.04);filter:saturate(1.15)}.social-icon.fb{background:#1877F2}.social-icon.ig{background:linear-gradient(135deg,#FEDA75,#D62976 55%,#4F5BD5)}.social-icon.nd{background:#8CC63F}.social-icon.yp{background:#D9232E}.social-icon.gg{background:#4285F4}.menu-button{display:none;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:46px;height:46px;padding:10px}.menu-button span{display:block;height:2px;background:currentColor;margin:5px;border-radius:2px}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;font-weight:800;font-size:.86rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.99)}.button-primary{background:linear-gradient(135deg,#0F873E,#18A54B);color:#fff;box-shadow:0 10px 26px rgba(21,128,61,.20)}.button-primary:hover{box-shadow:0 16px 34px rgba(21,128,61,.27)}.button-large{min-height:54px;padding:13px 19px}.button img{width:20px;height:20px;filter:brightness(0) invert(1)}.button small{display:block;font-size:.68rem;font-weight:650;opacity:.86}.button-glass{background:rgba(4,15,8,.48);border-color:rgba(255,255,255,.38);color:#fff;backdrop-filter:blur(10px)}.button-light{background:#fff;color:#17212B;border-color:#fff}.button-secondary{background:linear-gradient(135deg,#0A341B,#0F5029);color:#fff;min-width:136px}.button-outline{border-color:color-mix(in srgb,var(--green) 75%,var(--line));color:var(--green);background:transparent}

/* hero */
.hero{height:520px;min-height:520px;position:relative;overflow:hidden;background:#0A1A0F}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.015);animation:heroDrift 16s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,13,7,.86) 0%,rgba(4,18,9,.73) 35%,rgba(4,17,9,.26) 67%,rgba(4,17,9,.08) 100%),linear-gradient(0deg,rgba(2,11,6,.18),transparent 55%)}.hero-glow{position:absolute;left:0;bottom:-70px;width:520px;height:280px;background:radial-gradient(circle,var(--green),transparent 68%);opacity:.10;filter:blur(40px)}@keyframes heroDrift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.06) translate3d(-.7%,.4%,0)}}.hero-content{position:relative;z-index:2;color:#fff;padding-top:76px}.eyebrow,.section-kicker{margin:0;text-transform:uppercase;letter-spacing:.075em;font-size:.68rem;font-weight:900}.eyebrow{display:inline-flex;border:1px solid rgba(163,230,53,.45);background:rgba(21,128,61,.28);padding:6px 11px;border-radius:999px;color:#D9FF9B}.hero h1{max-width:720px;margin:12px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,4.3vw,4.25rem);line-height:.98;letter-spacing:-.04em;font-weight:700}.hero h1 strong{display:block;color:var(--lime);font-weight:700}.hero-copy{max-width:535px;margin:0 0 22px;color:rgba(255,255,255,.87);font-size:1rem}.hero-ctas{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trust-wrap{position:relative;z-index:8;margin-top:-34px}.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 16px 40px rgba(15,23,42,.13);overflow:hidden}.trust-strip>div{min-height:68px;display:flex;justify-content:center;align-items:center;gap:10px;border-right:1px solid var(--line);padding:10px;font-weight:750;font-size:.76rem;text-align:center}.trust-strip>div:last-child{border-right:0}.trust-strip img{width:28px;height:28px}

/* sections */
.section{padding:68px 0}.services-section{padding-top:72px}.section-kicker{color:var(--green);margin-bottom:8px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:end;margin-bottom:26px}.compact-heading h2,.portfolio-intro h2,.about-grid h2,.conversion-trio h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.06;margin:0;font-weight:700}.compact-heading h2{font-size:2.4rem}.section-heading-side{display:flex;align-items:flex-end;gap:28px;justify-content:flex-end}.section-heading-side p{max-width:420px;margin:0;color:var(--muted);font-size:.88rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{min-height:138px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:18px;display:flex;align-items:flex-start;gap:15px;box-shadow:0 10px 28px rgba(15,23,42,.035);transition:transform .22s,border-color .22s,box-shadow .22s}.service-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:0 18px 34px rgba(15,23,42,.08)}.service-card img{width:44px;height:44px;flex:0 0 auto}.service-card h3{font-size:.88rem;line-height:1.25;margin:1px 0 6px}.service-card p{font-size:.75rem;line-height:1.5;color:var(--muted);margin:0}

/* portfolio */
.portfolio-section{padding-top:42px;background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--surface) 58%,var(--paper)))}.portfolio-layout{display:grid;grid-template-columns:.74fr repeat(3,1fr);gap:13px;align-items:start}.portfolio-intro{padding:18px 18px 0 0}.portfolio-intro h2{font-size:2.35rem;margin-bottom:10px}.portfolio-intro>p:not(.section-kicker){color:var(--muted);font-size:.82rem;margin:0 0 17px}.project-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.05);transition:transform .22s,box-shadow .22s}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(15,23,42,.11)}.comparison-media{height:195px;position:relative;overflow:hidden;background:var(--surface)}.comparison-media>img{width:100%;height:100%;object-fit:cover}.comparison-before{position:absolute;inset:0 50% 0 0;backdrop-filter:grayscale(.9) brightness(.72) saturate(.72);border-right:2px solid rgba(255,255,255,.9)}.compare-label{position:absolute;bottom:8px;background:rgba(6,18,11,.72);color:#fff;font-size:.56rem;text-transform:uppercase;padding:3px 6px;border-radius:4px;font-weight:850}.compare-label.before{left:8px}.compare-label.after{right:8px}.compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#17212B;border:2px solid rgba(0,0,0,.35);font-size:19px;font-weight:900}.project-meta{padding:10px 11px 12px;display:flex;flex-direction:column;gap:1px}.project-meta strong{font-size:.78rem}.project-meta span{font-size:.67rem;color:var(--muted)}

/* about */
.about-section{padding:74px 0}.about-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:44px;align-items:center}.about-grid h2{font-size:3rem;max-width:760px}.about-grid>div>p:not(.section-kicker){font-size:.98rem;color:var(--muted);max-width:760px}.claim-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.claim-row span{border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--paper));color:var(--green);padding:8px 13px;border-radius:999px;font-weight:820;font-size:.76rem}.reputation-card{border-radius:24px;padding:30px;background:linear-gradient(145deg,#0A3A1E,#062A16);color:#fff;box-shadow:var(--shadow-lg)}.reputation-card .section-kicker{color:var(--lime)}.reputation-card h3{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.05;margin:7px 0 14px}.reputation-card p:not(.section-kicker){color:rgba(255,255,255,.76);font-size:.88rem}.text-link{display:inline-flex;margin-top:8px;color:var(--lime);font-weight:900;font-size:.8rem}

/* reviews / booking / offers */
.conversion-section{background:var(--surface);padding:50px 0 56px}.conversion-trio{display:grid;grid-template-columns:.82fr 1.32fr .86fr;gap:16px;align-items:stretch}.review-card,.booking-card,.offers-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:24px;box-shadow:0 12px 32px rgba(15,23,42,.045)}.conversion-trio h2{font-size:2.05rem}.nextdoor-lockup{display:flex;align-items:center;gap:9px;margin:12px 0}.nd-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#8CC63F;color:white;font-weight:900;font-size:1.1rem}.nextdoor-lockup strong{display:block;font-size:.88rem}.nextdoor-lockup small{display:block;color:var(--muted);font-size:.65rem}.review-summary{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px;background:color-mix(in srgb,var(--surface) 46%,var(--paper))}.stars{color:#63B329;letter-spacing:2px;margin-bottom:8px}.review-summary p{font-size:.76rem;color:var(--muted);margin:0 0 10px;line-height:1.55}.review-link{font-size:.72rem;color:var(--green);font-weight:850}.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:15px}.carousel-dots span{width:6px;height:6px;border-radius:50%;background:var(--line)}.carousel-dots .is-active{background:var(--green)}.booking-sub{margin:2px 0 14px;color:var(--muted);font-size:.78rem}.booking-ui{display:grid;grid-template-columns:1.03fr .97fr;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;background:color-mix(in srgb,var(--surface) 54%,var(--paper))}.mini-calendar{padding:4px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:.76rem}.calendar-nav{border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--ink)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-week{font-size:.58rem;color:var(--muted);margin-bottom:4px}.calendar-days button,.calendar-days span{width:27px;height:27px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;font-size:.62rem;color:var(--ink);margin:auto}.calendar-days button{cursor:pointer}.calendar-days button:hover{background:var(--surface-2)}.calendar-days button.is-selected{background:var(--green);color:#fff;font-weight:850}.calendar-days span.is-empty{visibility:hidden}.time-panel{border-left:1px solid var(--line);padding-left:12px}.time-panel>strong{display:block;font-size:.7rem;margin:3px 0 9px}.time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.time-grid button{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:7px 4px;font-size:.65rem;font-weight:750;color:var(--ink);cursor:pointer}.time-grid button:hover,.time-grid button.is-selected{background:var(--green);border-color:var(--green);color:#fff}.booking-continue{width:100%;margin-top:9px;min-height:38px}.time-panel small{display:block;color:var(--green);font-size:.58rem;text-align:center;margin-top:6px}.offers-card{background:linear-gradient(145deg,color-mix(in srgb,var(--green) 8%,var(--paper)),var(--paper))}.offer{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--green) 50%,var(--line));border-radius:12px;padding:12px;margin:13px 0}.offer-symbol{width:48px;height:40px;border-radius:8px;display:grid;place-items:center;font-size:1.4rem}.offer-symbol.flag{background:linear-gradient(135deg,#153B77,#E3413C);color:#fff}.offer-symbol.senior{background:#FFE7BD;color:#D97A00}.offer strong{display:block;color:var(--green);font-size:1.25rem;line-height:1}.offer b{display:block;font-size:.75rem;margin-top:3px}.offer small{display:block;font-size:.62rem;color:var(--muted);margin-top:2px}.offer-cta{width:100%;margin-top:3px}

/* footer */
.site-footer{background:#082515;color:#EAF5ED;padding:24px 0 12px}.footer-main{display:grid;grid-template-columns:1.05fr 1.55fr .8fr;gap:36px;align-items:center}.footer-label{text-transform:uppercase;letter-spacing:.08em;color:#BFF5CF;font-size:.65rem;font-weight:900;margin:0 0 8px}.footer-phone{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:700;display:flex;gap:8px;align-items:center}.footer-contact small{display:block;color:rgba(234,245,237,.68);font-size:.62rem;margin-top:3px}.footer-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15);padding-inline:24px}.footer-trust>div{display:flex;align-items:center;gap:9px}.footer-icon{width:36px;height:36px;border-radius:50%;background:#0F8A42;display:grid;place-items:center;font-weight:900}.footer-trust p{margin:0}.footer-trust strong{display:block;font-size:.68rem}.footer-trust small{display:block;font-size:.56rem;color:rgba(234,245,237,.65)}.footer-social .social-icon{width:29px;height:29px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:18px;padding-top:12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;color:rgba(234,245,237,.58);font-size:.58rem}.footer-bottom>div{display:flex;gap:8px}.footer-bottom>span:last-child{text-align:right}

/* reveal / motion */
.js .reveal-up{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}.js .reveal-up.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.js .reveal-up{opacity:1;transform:none}}

/* dark mode refinements */
:root[data-theme=dark] .button-light,:root[data-theme=dark] .comparison-handle{background:#F7FAF8}:root[data-theme=dark] .site-header{background:rgba(7,16,23,.96)}:root[data-theme=dark] .social-icon{box-shadow:none}:root[data-theme=dark] .project-card,:root[data-theme=dark] .review-card,:root[data-theme=dark] .booking-card,:root[data-theme=dark] .offers-card,:root[data-theme=dark] .service-card{box-shadow:none}@media(prefers-color-scheme:dark){:root:not([data-theme]) .site-header{background:rgba(7,16,23,.96)}}

/* responsive */
@media(max-width:1100px){.header-shell{grid-template-columns:150px 1fr;gap:20px}.logo{width:142px}.primary-nav{gap:18px}.social-top{display:none}.portfolio-layout{grid-template-columns:.8fr repeat(3,1fr)}.comparison-media{height:175px}.conversion-trio{grid-template-columns:1fr 1fr}.offers-card{grid-column:1/-1}.offers-card .offer{display:inline-grid;width:calc(50% - 8px);margin-right:10px}.footer-main{grid-template-columns:1fr 1.4fr}.footer-social{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}}
@media(max-width:860px){html{scroll-padding-top:84px}.shell{width:min(100% - 30px,var(--shell))}.site-header{position:sticky}.header-shell{min-height:78px;grid-template-columns:112px 1fr;gap:10px}.brand{height:78px}.logo{width:108px;height:72px}.header-main{display:flex;justify-content:flex-end}.header-row-tools{display:none}.header-row-nav{border:0;min-height:78px;gap:9px}.primary-nav{position:absolute;left:15px;right:15px;top:78px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px;display:none;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px}.header-cta{display:none}.menu-button{display:block;margin-left:auto}.hero{height:520px;min-height:520px}.hero-content{padding-top:60px}.hero h1{font-size:clamp(2.7rem,9vw,4rem)}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip>div{border-bottom:1px solid var(--line)}.trust-strip>div:nth-child(even){border-right:0}.trust-strip>div:last-child{grid-column:1/-1;border-bottom:0}.section-heading{grid-template-columns:1fr;gap:18px}.section-heading-side{justify-content:flex-start;align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:repeat(2,1fr)}.portfolio-layout{grid-template-columns:1fr 1fr}.portfolio-intro{grid-column:1/-1}.about-grid{grid-template-columns:1fr}.conversion-trio{grid-template-columns:1fr}.offers-card{grid-column:auto}.offers-card .offer{display:grid;width:auto;margin-right:0}.footer-main{grid-template-columns:1fr}.footer-trust{border:0;padding:0}.footer-bottom{grid-template-columns:1fr;text-align:center}.footer-bottom>span:last-child{text-align:center}}
@media(max-width:560px){body{font-size:14px}.shell{width:calc(100% - 24px)}.hero{height:560px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(2,13,7,.90),rgba(4,18,9,.66)),linear-gradient(0deg,rgba(2,11,6,.45),transparent)}.hero-content{padding-top:58px}.hero h1{font-size:2.7rem;max-width:100%}.hero h1 strong br{display:none}.hero-copy{font-size:.94rem;max-width:92%}.hero-ctas{display:grid;grid-template-columns:1fr 1fr}.hero-ctas .button:first-child{grid-column:1/-1}.button-large{min-height:50px;padding:11px 12px}.trust-wrap{margin-top:-24px}.trust-strip>div{min-height:58px;font-size:.68rem}.trust-strip img{width:25px;height:25px}.section{padding:52px 0}.compact-heading h2,.portfolio-intro h2{font-size:2rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:112px}.portfolio-layout{grid-template-columns:1fr}.portfolio-intro{grid-column:auto}.comparison-media{height:220px}.about-grid h2{font-size:2.35rem}.conversion-trio h2{font-size:1.85rem}.booking-ui{grid-template-columns:1fr}.time-panel{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.footer-trust{grid-template-columns:1fr}.footer-main{gap:22px}.social-top{display:none}}


/* =========================================================
   V0.3.1 · Gallery + Reviews + Enterprise Footer
   ========================================================= */
.social-icon{overflow:hidden}
.social-icon img{width:13px;height:13px;object-fit:contain}
.social-icon.ig img{width:15px;height:15px}
.social-icon.yp img{width:14px;height:14px}
.social-icon.gg img{width:14px;height:14px}
.social-icon.nd img{width:16px;height:16px}
.social-icon.is-disabled{opacity:.82;cursor:default}
.social-icon.is-disabled:hover{transform:none;filter:none}

.gallery-section{background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--surface) 72%,var(--paper)))}
.gallery-heading{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:end;margin-bottom:26px}
.gallery-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,3.45vw,3.55rem);line-height:1.02;letter-spacing:-.035em;margin:0;max-width:650px}
.gallery-heading-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.gallery-heading-copy>p{margin:0;color:var(--muted);max-width:650px}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gallery-filter{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:8px 13px;font-size:.7rem;font-weight:850;cursor:pointer;transition:.2s}
.gallery-filter:hover,.gallery-filter.is-active{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-1px)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:228px;gap:12px}
.gallery-item{position:relative;padding:0;border:0;border-radius:16px;overflow:hidden;background:#0A1A0F;cursor:zoom-in;min-width:0;box-shadow:0 12px 30px rgba(15,23,42,.08);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.gallery-item-wide{grid-column:span 2}
.gallery-item:nth-child(1){grid-row:span 2}
.gallery-item:nth-child(6){grid-column:span 2}
.gallery-item[hidden]{display:none!important}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .35s}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,13,7,.82));pointer-events:none}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(8,20,13,.16)}
.gallery-item:hover img{transform:scale(1.055);filter:saturate(1.08)}
.gallery-overlay{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:#fff;text-align:left;display:grid;gap:2px}
.gallery-overlay b{font-family:Georgia,"Times New Roman",serif;font-size:1.06rem}
.gallery-overlay small{text-transform:uppercase;letter-spacing:.07em;font-size:.52rem;opacity:.72}
.gallery-lightbox{position:fixed;inset:0;z-index:1200;background:rgba(3,10,7,.92);backdrop-filter:blur(14px);display:grid;grid-template-columns:80px 1fr 80px;align-items:center;opacity:0;visibility:hidden;transition:.25s}
.gallery-lightbox.is-open{opacity:1;visibility:visible}
.gallery-lightbox figure{margin:0;display:grid;place-items:center;gap:12px}
.gallery-lightbox figure img{max-width:min(1100px,82vw);max-height:78vh;border-radius:18px;box-shadow:0 35px 90px rgba(0,0,0,.4)}
.gallery-lightbox figcaption{color:rgba(255,255,255,.75);font-size:.72rem}
.gallery-lightbox-close,.gallery-lightbox-nav{border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;border-radius:50%;backdrop-filter:blur(8px)}
.gallery-lightbox-close{position:absolute;right:24px;top:24px;width:44px;height:44px;font-size:28px}
.gallery-lightbox-nav{width:48px;height:48px;font-size:34px;justify-self:center}
body.lightbox-open{overflow:hidden}

.reviews-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:28px}
.reviews-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,3.5vw,3.6rem);line-height:1.02;letter-spacing:-.035em;margin:0;max-width:720px}
.reviews-heading>p{margin:0;color:var(--muted);max-width:580px}
.review-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-platform{min-height:286px;border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.review-platform::after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--green) 12%,transparent),transparent 70%);pointer-events:none}
.review-platform:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:0 20px 46px rgba(15,23,42,.09)}
.review-platform-top{display:flex;align-items:center;gap:13px}
.review-platform-top strong{display:block;font-size:1rem}
.review-platform-top small{display:block;color:var(--muted);font-size:.63rem;margin-top:2px}
.review-brand{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(15,23,42,.10)}
.review-brand img{width:19px;height:19px}
.review-brand.gg{background:#4285F4}.review-brand.fb{background:#1877F2}.review-brand.nd{background:#8CC63F}
.review-platform>p{color:var(--muted);margin:20px 0 18px;font-size:.82rem;line-height:1.7;flex:1}
.review-source-link{color:var(--green);font-weight:850;font-size:.74rem;align-self:flex-start}
.review-connection{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.65rem;font-weight:800}
.review-connection>span:first-child{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 15%,transparent)}
.review-themes{display:grid;grid-template-columns:1.5fr repeat(3,.8fr);margin-top:16px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.review-theme-lead,.review-theme{min-height:94px;padding:17px 19px;border-right:1px solid var(--line);display:flex;align-items:center}
.review-theme:last-child{border-right:0}
.review-theme-lead{gap:13px}.review-theme-lead img{width:42px;height:42px}
.review-theme-lead span{display:block;color:var(--muted);font-size:.59rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.review-theme-lead strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;margin-top:3px}
.review-theme{gap:10px;flex-direction:column;align-items:flex-start;justify-content:center}
.review-theme span{color:var(--green);font-weight:900;font-size:.62rem}
.review-theme b{font-size:.75rem;line-height:1.35}

.conversion-pair{display:grid;grid-template-columns:1.45fr .8fr;gap:14px;align-items:stretch}
.conversion-pair .booking-card,.conversion-pair .offers-card{min-height:100%;padding:26px}
.conversion-pair h2{font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;line-height:1.02;letter-spacing:-.03em;margin:3px 0 5px}

.site-footer-enterprise{position:relative;background:linear-gradient(145deg,#041D10,#082B18);padding:0 0 14px;color:#EAF5ED}
.footer-accent{height:3px;background:linear-gradient(90deg,var(--green),var(--lime),var(--green))}
.footer-enterprise-grid{display:grid;grid-template-columns:1.45fr .8fr 1fr .9fr;gap:46px;padding-top:42px;padding-bottom:34px}
.footer-logo{width:148px;max-height:108px;object-fit:contain;margin-bottom:16px}
.footer-brand-block>p{color:rgba(234,245,237,.67);max-width:340px;font-size:.72rem;margin:0 0 20px}
.footer-contact-list{display:grid;gap:11px}
.footer-contact-list>a,.footer-contact-list>div{display:flex;align-items:center;gap:10px;min-width:0}
.footer-contact-list img{width:28px;height:28px;flex:0 0 28px}
.footer-contact-list span{min-width:0}
.footer-contact-list small{display:block;color:#9FC6AA;text-transform:uppercase;letter-spacing:.06em;font-size:.5rem;font-weight:850}
.footer-contact-list strong{display:block;color:#fff;font-size:.7rem;overflow-wrap:anywhere}
.footer-heading{color:#D9FF9B;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:900;margin:5px 0 14px}
.footer-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.footer-link-grid a,.footer-service-links a{font-size:.69rem;color:rgba(234,245,237,.73);transition:.18s}
.footer-link-grid a:hover,.footer-service-links a:hover{color:#fff;transform:translateX(2px)}
.footer-service-links{display:grid;gap:8px}
.footer-social-copy{color:rgba(234,245,237,.64);font-size:.68rem;margin:-3px 0 15px}
.footer-social-list{gap:9px;margin-bottom:18px}
.footer-social-list .social-icon{width:32px;height:32px;box-shadow:none}
.footer-estimate{width:100%;max-width:190px}
.footer-trust-row{border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:repeat(3,1fr)}
.footer-trust-row>div{min-height:72px;display:flex;align-items:center;justify-content:center;gap:10px;border-right:1px solid rgba(255,255,255,.10)}
.footer-trust-row>div:last-child{border-right:0}
.footer-trust-row img{width:28px;height:28px}
.footer-trust-row strong{display:block;font-size:.66rem;color:#fff}.footer-trust-row small{display:block;color:rgba(234,245,237,.55);font-size:.54rem}
.footer-bottom-enterprise{margin-top:0;padding-top:14px;border-top:0}
:root[data-theme=light] .site-footer-enterprise{background:linear-gradient(145deg,#062414,#0A351D)}
:root[data-theme=dark] .gallery-section{background:linear-gradient(180deg,var(--paper),var(--surface))}
:root[data-theme=dark] .review-platform,:root[data-theme=dark] .review-themes{box-shadow:none}

@media(max-width:1100px){
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-item-wide{grid-column:span 2}
  .review-themes{grid-template-columns:1fr 1fr}.review-theme-lead{grid-column:1/-1;border-bottom:1px solid var(--line)}
  .review-theme:nth-child(3){border-right:0}
  .footer-enterprise-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-social-block{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px}.footer-social-copy{margin:0}.footer-social-list{margin:0}
}
@media(max-width:860px){
  .gallery-heading,.reviews-heading{grid-template-columns:1fr;gap:18px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}
  .gallery-item:nth-child(1){grid-row:span 1}
  .gallery-item-wide{grid-column:span 2}
  .review-platform-grid{grid-template-columns:1fr}
  .review-platform{min-height:220px}
  .review-themes{grid-template-columns:1fr}
  .review-theme-lead,.review-theme{grid-column:auto;border-right:0;border-bottom:1px solid var(--line)}
  .review-theme:last-child{border-bottom:0}
  .conversion-pair{grid-template-columns:1fr}
  .footer-enterprise-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-social-block{grid-column:auto;display:block}.footer-social-copy{margin:-3px 0 15px}.footer-social-list{margin-bottom:18px}
  .footer-trust-row{grid-template-columns:1fr}.footer-trust-row>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}.footer-trust-row>div:last-child{border-bottom:0}
}
@media(max-width:560px){
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}
  .gallery-item-wide,.gallery-item:nth-child(6){grid-column:auto}
  .gallery-lightbox{grid-template-columns:52px 1fr 52px}.gallery-lightbox figure img{max-width:82vw}
  .footer-enterprise-grid{grid-template-columns:1fr;gap:28px;padding-top:34px}
  .footer-link-grid{grid-template-columns:1fr 1fr}
  .footer-bottom-enterprise{grid-template-columns:1fr;gap:8px;text-align:center}.footer-bottom-enterprise>span:last-child{text-align:center}
}


/* =========================================================
   V0.3.2 · Corrective premium-enterprise pass
   ========================================================= */

/* Sticky-anchor discipline: anchors land cleanly under the real desktop header. */
html{scroll-padding-top:126px;scroll-behavior:smooth}
section[id],footer[id]{scroll-margin-top:126px}
#reviews{scroll-margin-top:126px}

/* Services: approved icon system only; remove unnecessary CTA. */
.section-heading-side{display:block}
.section-heading-side p{margin-left:auto}
.service-card img,.trust-strip img{object-fit:contain}

/* Remove any visual seam from raster source + inline-image baseline behavior. */
.comparison-media>img,.gallery-item img{display:block;border:0;outline:0}
.comparison-media,.gallery-item{border-top:0!important}
.gallery-item{background:var(--paper)}
.gallery-item::before{content:none!important}

/* Premium interactive before/after comparator. */
.comparison-media{--split:50%;cursor:ew-resize;touch-action:none;user-select:none}
.comparison-before{inset:0 auto 0 0;width:var(--split);border-right:1px solid rgba(255,255,255,.9);transition:width .08s linear}
.compare-handle{left:var(--split);width:34px;height:34px;border:1px solid rgba(15,23,42,.24);box-shadow:0 7px 18px rgba(0,0,0,.20);font-size:0;transition:left .08s linear,transform .18s,box-shadow .18s}
.compare-handle svg{width:22px;height:22px}
.comparison-media:hover .compare-handle,.comparison-media:focus-visible .compare-handle{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.comparison-media:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

/* Approved discount marks instead of invented symbols. */
.offer-symbol.offer-approved{background:transparent!important;border:0!important;padding:0;overflow:visible}
.offer-symbol.offer-approved img{width:48px;height:48px;object-fit:contain}

/* REVIEWS: actual testimonials visible immediately, compact enough to fit as one complete section. */
.reviews-section{padding:46px 0 50px;background:var(--surface)}
.reviews-heading{grid-template-columns:1.03fr .97fr;gap:52px;margin-bottom:20px}
.reviews-heading h2{font-size:clamp(2.25rem,3.15vw,3.2rem);max-width:680px}
.reviews-heading>p{font-size:.78rem;line-height:1.65}
.reviews-source-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.review-source-pill{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;min-height:66px;padding:11px 13px;border:1px solid var(--line);background:var(--paper);border-radius:14px;color:var(--ink);transition:.2s}
.review-source-pill:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--green) 45%,var(--line))}
.review-source-pill>span:nth-child(2){min-width:0}
.review-source-pill strong{display:block;font-size:.77rem}
.review-source-pill small{display:block;color:var(--muted);font-size:.56rem;margin-top:1px}
.review-source-pill em{font-style:normal;text-transform:uppercase;letter-spacing:.055em;font-size:.48rem;font-weight:900;color:var(--green);white-space:nowrap}
.review-source-pill.is-pending em{color:#B7791F}
.review-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.testimonial-card{min-height:205px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:18px;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(15,23,42,.04);transition:.22s}
.testimonial-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:0 18px 38px rgba(15,23,42,.08)}
.testimonial-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.quote-mark{width:34px;height:34px;display:grid;place-items:center}
.quote-mark img{width:30px;height:30px}
.verified-badge{display:flex;align-items:center;gap:6px;padding:5px 8px;background:color-mix(in srgb,#8CC63F 13%,transparent);border:1px solid color-mix(in srgb,#8CC63F 30%,var(--line));border-radius:999px;font-size:.52rem;font-weight:850;color:var(--muted)}
.verified-badge img{width:15px;height:15px;background:#8CC63F;border-radius:50%;padding:2px}
.testimonial-card blockquote{font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;line-height:1.22;letter-spacing:-.025em;margin:14px 0 8px;color:var(--ink)}
.testimonial-card>p{font-size:.7rem;color:var(--muted);line-height:1.55;margin:0 0 14px;flex:1}
.testimonial-card footer{display:flex;justify-content:space-between;align-items:end;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.testimonial-card footer strong{font-size:.68rem}.testimonial-card footer span{font-size:.53rem;color:var(--muted)}
.reviews-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}
.reviews-actions .button{min-height:40px;padding:9px 14px;font-size:.68rem}
.text-link{font-weight:850;color:var(--green);font-size:.7rem}

/* Retire V0.3.1 placeholder connection-card styles from active layout. */
.review-platform-grid,.review-themes{display:none!important}

/* Make gallery feel deliberate and seam-free. */
.gallery-grid{gap:14px}
.gallery-item{box-shadow:0 10px 28px rgba(15,23,42,.08)}
.gallery-item img{transform:scale(1.003)}
.gallery-item:hover img{transform:scale(1.055)}

/* Current approved brand icon files get consistent sizing, never improvised text symbols. */
.trust-strip img{width:30px;height:30px}
.service-card img{width:48px;height:48px}
.offer-approved img{filter:none}

/* Dark mode: avoid white seam around compare control. */
:root[data-theme=dark] .compare-handle{background:#F7FAF8;color:#111827;border-color:rgba(255,255,255,.25)}

@media(max-width:1100px){
  html{scroll-padding-top:118px}
  section[id],footer[id],#reviews{scroll-margin-top:118px}
  .reviews-source-bar{grid-template-columns:1fr}
}
@media(max-width:860px){
  html{scroll-padding-top:88px}
  section[id],footer[id],#reviews{scroll-margin-top:88px}
  .reviews-section{padding-top:38px}
  .reviews-heading{grid-template-columns:1fr;gap:14px}
  .review-card-grid{grid-template-columns:1fr}
  .testimonial-card{min-height:180px}
}
@media(max-width:560px){
  .reviews-heading h2{font-size:2.05rem}
  .review-source-pill{grid-template-columns:38px 1fr}
  .review-source-pill em{grid-column:2}
  .reviews-actions{align-items:stretch;flex-direction:column}
  .reviews-actions .button,.reviews-actions .text-link{width:100%;text-align:center}
}


/* =========================================================
   V0.3.3 · APPROVED ICON SYSTEM — guide-faithful
   ========================================================= */
.language-approved{gap:7px}
.language-approved .lang-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 7px 3px 4px;border:0;background:transparent;border-radius:999px;color:var(--muted)}
.language-approved .lang-btn img{width:27px;height:27px;display:block}
.language-approved .lang-btn span{font-weight:850;font-size:.63rem}
.language-approved .lang-btn.is-active{color:var(--ink);background:color-mix(in srgb,var(--green) 7%,transparent)}
.theme-approved .theme-mode{display:inline-flex;align-items:center;gap:5px}
.theme-approved .theme-mode img{width:22px;height:22px;display:block}
.theme-approved .theme-system{gap:6px}
.system-link-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--green);font-size:1.05rem;font-weight:900;line-height:1}
.theme-dot,.sun-dot,.moon-dot,.system-dot{display:none!important}
.service-card img{width:58px;height:58px;flex:0 0 58px;object-fit:contain;filter:none!important}
.service-card:hover img{transform:scale(1.045) translateY(-1px)}
.trust-strip img{width:34px;height:34px;flex:0 0 34px;object-fit:contain;filter:none!important}
.footer-trust-row img{width:31px;height:31px;object-fit:contain;filter:none!important}
.offer-approved img{width:52px;height:52px;object-fit:contain;filter:none!important}
.hero-ctas .button img{width:25px;height:25px;object-fit:contain;filter:none!important}
:root[data-theme=dark] .service-card img,
:root[data-theme=dark] .trust-strip img,
:root[data-theme=dark] .offer-approved img,
:root[data-theme=dark] .footer-trust-row img,
:root[data-theme=dark] .hero-ctas .button img,
:root[data-theme=dark] .theme-approved img,
:root[data-theme=dark] .language-approved img{filter:none!important}
@media(max-width:760px){.service-card img{width:52px;height:52px;flex-basis:52px}.language-approved .lang-btn img{width:24px;height:24px}}


/* =========================================================
   V0.3.4 · exact approved icon system + premium carousels
   ========================================================= */
:root{--sticky-anchor-gap:22px}
html{scroll-padding-top:calc(var(--header-live-height,118px) + var(--sticky-anchor-gap))}
section[id],footer[id]{
  scroll-margin-top:calc(var(--header-live-height,118px) + var(--sticky-anchor-gap));
}
#reviews,#gallery{
  scroll-margin-top:calc(var(--header-live-height,118px) + 28px);
}

/* Exact approved icon artwork extracted from the approved guide. */
.service-card img{width:64px;height:64px;flex:0 0 64px;object-fit:contain;filter:none!important}
.trust-strip img{width:42px;height:42px;flex:0 0 42px;object-fit:contain;filter:none!important}
.offer-approved img{width:56px;height:56px;object-fit:contain;filter:none!important}
.hero-ctas .button img{width:27px;height:27px;object-fit:contain;filter:none!important}
.language-approved .lang-btn img{width:39px;height:29px;object-fit:contain}
.theme-approved .theme-mode img{width:27px;height:27px;object-fit:contain}
:root[data-theme=dark] .service-card img,
:root[data-theme=dark] .trust-strip img,
:root[data-theme=dark] .offer-approved img,
:root[data-theme=dark] .hero-ctas .button img,
:root[data-theme=dark] .language-approved img,
:root[data-theme=dark] .theme-approved img{filter:none!important}

/* Universal premium carousel */
.premium-carousel{position:relative}
.carousel-viewport{overflow:hidden;touch-action:pan-y}
.carousel-track{
  --carousel-gap:14px;
  display:flex;gap:var(--carousel-gap);
  will-change:transform;
  transition:transform .55s cubic-bezier(.22,.78,.25,1);
}
.carousel-slide{flex:0 0 calc((100% - (var(--carousel-gap) * 2))/3);min-width:0}
.carousel-toolbar,.gallery-carousel-footer{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.carousel-toolbar{margin-bottom:12px}
.carousel-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.07em}
.carousel-status [data-carousel-current]{color:var(--green);font-size:.82rem}
.carousel-arrows,.gallery-carousel-controls{display:flex;gap:8px}
.carousel-arrow{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);display:grid;place-items:center;
  font-size:1rem;font-weight:900;cursor:pointer;transition:.2s;
}
.carousel-arrow:hover,.carousel-arrow:focus-visible{
  border-color:var(--green);background:var(--green);color:#fff;transform:translateY(-2px)
}
.carousel-arrow:disabled{opacity:.35;cursor:not-allowed;transform:none}
.carousel-dots{display:flex;gap:7px;align-items:center;justify-content:center}
.carousel-dot{
  width:7px;height:7px;border:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,transparent);
  padding:0;cursor:pointer;transition:.22s;
}
.carousel-dot.is-active{width:24px;background:var(--green)}

/* Reviews carousel */
.reviews-carousel-section{padding:54px 0 56px}
.reviews-heading-compact{grid-template-columns:1.05fr .95fr;align-items:center;margin-bottom:16px}
.review-source-cluster{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.review-source-mini{
  min-height:64px;padding:10px 11px;display:flex;align-items:center;gap:9px;
  background:var(--paper);border:1px solid var(--line);border-radius:14px;color:var(--ink)
}
.review-source-mini .review-brand{width:36px;height:36px;border-radius:10px;flex:0 0 36px}
.review-source-mini strong{display:block;font-size:.7rem}
.review-source-mini small{display:block;font-size:.5rem;color:var(--muted);margin-top:1px}
.reviews-carousel .testimonial-card{min-height:225px}
.reviews-carousel .testimonial-card blockquote{font-size:1.26rem}
.reviews-actions{margin-top:16px}

/* Gallery media carousel */
.gallery-carousel-section{overflow:hidden}
.gallery-heading-carousel{align-items:center}
.gallery-heading-carousel .gallery-heading-copy{align-items:flex-end;text-align:right}
.media-carousel .carousel-viewport{overflow:visible;clip-path:inset(-30px 0 -40px 0)}
.media-slide{
  position:relative;height:345px;border:0;border-radius:18px;overflow:hidden;
  background:#06120B;padding:0;box-shadow:0 14px 34px rgba(8,20,13,.11);
}
button.media-slide{cursor:zoom-in}
.media-slide>img,.media-slide>video{display:block;width:100%;height:100%;object-fit:cover;border:0}
.media-slide-video{cursor:default}
.media-slide-video video{background:#06120B}
.media-slide::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 50%,rgba(2,13,7,.82));
}
.media-slide-video::after{pointer-events:none}
.media-type-badge{
  position:absolute;z-index:3;left:14px;top:14px;padding:6px 9px;border-radius:999px;
  background:rgba(4,20,11,.78);backdrop-filter:blur(8px);color:#fff;
  text-transform:uppercase;letter-spacing:.07em;font-size:.48rem;font-weight:900
}
.media-type-badge.video{background:rgba(21,128,61,.88)}
.media-slide .gallery-overlay{z-index:3}
.media-slide .gallery-overlay.static{pointer-events:none}
.gallery-carousel-footer{margin-top:14px}
.gallery-carousel-footer .carousel-dots{margin-left:auto}

/* Gallery lightbox stays image-only; video plays directly in the carousel. */
.gallery-lightbox{z-index:1600}

/* Anchor target must remain comfortably visible under 2-row sticky header. */
.reviews-carousel-section::before,.gallery-carousel-section::before{
  content:"";display:block;height:1px;margin-top:-1px;pointer-events:none
}

@media(max-width:980px){
  .carousel-slide{flex-basis:calc((100% - var(--carousel-gap))/2)}
  .reviews-heading-compact{grid-template-columns:1fr;gap:18px}
  .review-source-cluster{grid-template-columns:repeat(3,1fr)}
  .gallery-heading-carousel .gallery-heading-copy{align-items:flex-start;text-align:left}
}
@media(max-width:700px){
  .carousel-slide{flex-basis:100%}
  .review-source-cluster{grid-template-columns:1fr}
  .media-slide{height:300px}
  .service-card img{width:58px;height:58px;flex-basis:58px}
  .trust-strip img{width:38px;height:38px;flex-basis:38px}
}


/* =========================================================
   V0.3.5 · DIRECT approved icon deployment
   ========================================================= */
.reviews-actions{justify-content:flex-start}
.reviews-actions .text-link{display:none!important}

/* These are direct PNG exports from the approved icon guide.
   No embedded image inside SVG, no inherited SVG filters, no old asset cache. */
.service-card img[src*="icons-approved-v035"],
.trust-strip img[src*="icons-approved-v035"],
.offer-approved img[src*="icons-approved-v035"],
.hero-ctas img[src*="icons-approved-v035"],
.language-approved img[src*="icons-approved-v035"],
.theme-approved img[src*="icons-approved-v035"],
.footer-trust-row img[src*="icons-approved-v035"]{
  object-fit:contain;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
}


/* =========================================================
   V0.3.6 · HEADER FREEZE / APPROVED BASELINE RESTORE
   ========================================================= */
/* Do not use the icon-language/icon-theme experimental treatment in header. */
.header-row-tools .language-approved,
.header-row-tools .theme-approved{all:unset}

/* Freeze header tools back to approved compact baseline. */
.header-row-tools{
  min-height:56px;
  gap:24px;
  justify-content:space-between;
}
.header-row-tools .language{
  display:flex;align-items:center;gap:8px;
  color:var(--muted);font-weight:800;font-size:.78rem;
}
.header-row-tools .language>span{opacity:.5}
.header-row-tools .lang-btn{
  border:0;background:transparent;color:inherit;cursor:pointer;
  padding:6px 2px;font-weight:800;font-size:inherit;
}
.header-row-tools .lang-btn.is-active{color:var(--ink)}
.header-row-tools .theme-tools{
  display:flex;align-items:center;gap:7px;
}
.header-row-tools .theme-mode{
  border:0;background:transparent;color:var(--muted);
  padding:7px 9px;border-radius:10px;cursor:pointer;
  font-size:.77rem;font-weight:700;display:flex;align-items:center;gap:6px;
}
.header-row-tools .theme-mode.is-active{background:var(--surface);color:var(--ink)}
.header-row-tools .theme-dot,
.header-row-tools .sun-dot{
  display:inline-block!important;
  width:13px;height:13px;border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 18%,transparent);
}
.header-row-tools .system-dot,
.header-row-tools .moon-dot{
  display:inline!important;font-size:16px;line-height:1;
}
.header-row-tools .lang-btn img,
.header-row-tools .theme-mode img,
.header-row-tools .system-link-icon{display:none!important}

/* Reviews navigation intentionally lands deeper so the carousel is immediately visible. */
#reviews{scroll-margin-top:0!important}


/* =========================================================
   V0.3.7 · COLOR + PHONE + RESPONSIVE HARDENING
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}

/* Phone CTA: additive only; approved header structure remains unchanged. */
.header-phone{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:38px;padding:7px 10px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);color:var(--ink);
  font-size:.72rem;font-weight:850;white-space:nowrap;
  transition:transform .18s,border-color .18s,background .18s;
}
.header-phone:hover,.header-phone:focus-visible{
  transform:translateY(-1px);border-color:color-mix(in srgb,var(--green) 55%,var(--line));
  background:var(--surface)
}
.header-phone img{width:19px;height:19px;object-fit:contain;filter:none!important}
.header-phone-mobile{display:none}

/* Promotions: special-offer colors are intentionally not monochrome. */
.offer-approved-v037{width:58px;height:58px;display:grid;place-items:center}
.offer-approved-v037 img{width:54px;height:54px;object-fit:contain;filter:none!important}

/* Keep carousel overflow internal, never viewport-wide. */
.gallery-carousel-section .shell,
.reviews-carousel-section .shell,
.premium-carousel,
.carousel-viewport{min-width:0}
.carousel-viewport{overflow:hidden!important}

/* Mobile menu must remain usable in short/landscape viewports. */
@media(max-width:860px){
  .header-main{min-width:0;width:100%}
  .header-row-nav{width:100%;justify-content:flex-end}
  .header-phone{
    width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;
    margin-left:auto;flex:0 0 44px
  }
  .header-phone img{width:22px;height:22px}
  .header-phone-number,.header-phone-mobile{display:none}
  .menu-button{margin-left:0;flex:0 0 46px}
  .primary-nav{
    max-height:calc(100dvh - 94px);
    overflow-y:auto;
    overscroll-behavior:contain
  }
}

/* Small-phone audit: two CTAs after Chat removal must both occupy full width. */
@media(max-width:560px){
  .hero-ctas{grid-template-columns:1fr}
  .hero-ctas .button:first-child{grid-column:auto}
  .hero-ctas .button{width:100%;justify-content:center}
  .offer-approved-v037{width:52px;height:52px}
  .offer-approved-v037 img{width:48px;height:48px}
  .footer-link-grid{column-gap:22px}
}

/* 320–360 px guardrail: prevent oversized hero typography from crowding CTAs. */
@media(max-width:360px){
  .shell{width:calc(100% - 20px)}
  .hero h1{font-size:2.35rem}
  .hero-copy{font-size:.88rem}
  .trust-strip>div{padding:8px 6px}
  .service-card{padding:15px}
  .testimonial-card{padding:16px}
  .footer-link-grid{grid-template-columns:1fr}
}

/* V0.3.8 · missing public screens only */
.footer-appearance{margin:18px 0 16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}
.footer-appearance-label{display:block;color:#D9FF9B;text-transform:uppercase;letter-spacing:.08em;font-size:.55rem;font-weight:900;margin-bottom:8px}
.footer-theme-tools{display:flex;align-items:center;gap:7px;justify-content:flex-start}.footer-theme-tools .theme-mode{border:1px solid rgba(255,255,255,.09);background:transparent;color:rgba(234,245,237,.67);padding:7px 9px;border-radius:10px;cursor:pointer;font-size:.72rem;font-weight:800;display:flex;align-items:center;gap:6px}.footer-theme-tools .theme-mode.is-active{background:rgba(255,255,255,.09);color:#fff}.footer-theme-tools .theme-dot,.footer-theme-tools .sun-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(163,230,53,.15)}.footer-theme-tools .system-dot,.footer-theme-tools .moon-dot{font-size:15px;line-height:1}.about-more-link{display:inline-flex;margin-top:18px}
.premium-internal-main{background:var(--paper);min-height:60vh}.internal-hero-panel{position:relative;overflow:hidden;padding:66px 0 58px;background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--green) 16%,transparent),transparent 32%),linear-gradient(145deg,var(--surface),var(--paper));border-bottom:1px solid var(--line)}.internal-hero-panel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--line) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 28%,transparent) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.35),transparent);opacity:.28;pointer-events:none}.internal-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}.internal-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,4.9vw,4.9rem);line-height:.97;letter-spacing:-.048em;margin:8px 0 18px;text-wrap:balance}.internal-copy>p:not(.section-kicker){max-width:680px;color:var(--muted);font-size:1rem}
.selection-summary,.offer-flow-badge{padding:23px;border:1px solid var(--line);border-radius:21px;background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.summary-kicker{display:block;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.56rem;margin-bottom:12px}.selection-summary>div{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.selection-summary>div img{width:42px;height:42px;object-fit:contain}.selection-summary small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.5rem}.selection-summary strong{display:block;font-size:.82rem}.summary-clock,.summary-offer{width:42px;height:42px;border-radius:12px;background:var(--surface);display:grid;place-items:center;color:var(--green);font-size:1.3rem;font-weight:900}.selection-summary .text-link{display:inline-flex;margin-top:14px}
.internal-form-section{background:var(--surface)}.internal-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.premium-form-card{padding:26px;border:1px solid var(--line);border-radius:21px;background:var(--paper);box-shadow:0 16px 45px rgba(15,23,42,.055)}.premium-estimate-form,.premium-contact-form{display:grid;gap:15px}.premium-estimate-form label,.premium-contact-form label{display:grid;gap:7px;font-size:.68rem;font-weight:850}.premium-estimate-form input,.premium-estimate-form select,.premium-estimate-form textarea,.premium-contact-form input,.premium-contact-form select,.premium-contact-form textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:12px 13px;outline:0;font:inherit;transition:.18s}.premium-estimate-form input:focus,.premium-estimate-form select:focus,.premium-estimate-form textarea:focus,.premium-contact-form input:focus,.premium-contact-form select:focus,.premium-contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-three{display:grid;grid-template-columns:1.7fr .55fr .8fr;gap:11px}.form-section-title{display:flex;gap:12px;align-items:flex-start;margin:12px 0 1px;padding-top:13px;border-top:1px solid var(--line)}.form-section-title:first-child{border-top:0;padding-top:0}.form-section-title>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green);font-size:.62rem;font-weight:900;flex:0 0 34px}.form-section-title small{display:block;color:var(--green);text-transform:uppercase;letter-spacing:.07em;font-size:.5rem;font-weight:900}.form-section-title h2{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1;margin:3px 0 0}.service-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-choice{position:relative!important;grid-template-columns:24px 1fr!important;align-items:center!important;min-height:54px;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.service-choice input{position:absolute;opacity:0}.choice-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:transparent;font-size:.58rem}.service-choice:has(input:checked){border-color:var(--green);background:color-mix(in srgb,var(--green) 4%,var(--paper))}.service-choice:has(input:checked) .choice-check{background:var(--green);color:#fff}.service-choice strong{font-size:.67rem}.visit-rule-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}.visit-rule-strip>div{padding:10px;text-align:center;border-right:1px solid var(--line)}.visit-rule-strip>div:last-child{border-right:0}.visit-rule-strip strong{display:block;color:var(--green);font-size:.83rem}.visit-rule-strip span{display:block;color:var(--muted);font-size:.48rem}.file-drop{grid-template-columns:1fr auto!important;align-items:center;padding:13px;border:1px dashed color-mix(in srgb,var(--green) 50%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--green) 3%,var(--paper))}.file-drop strong,.file-drop small{display:block}.file-drop small{color:var(--muted);font-weight:500}.file-drop input{max-width:245px;padding:6px!important}.premium-submit{display:flex;justify-content:space-between;align-items:center;width:100%}.premium-submit b{font-size:1.1rem}.form-footnote{margin:0;color:var(--muted);font-size:.52rem;line-height:1.55}.form-alert{padding:13px 15px;border-radius:12px;background:#FFF1F2;color:#9F1239;border:1px solid #FECDD3;margin-bottom:16px}.form-alert ul{margin:7px 0 0;padding-left:18px}.premium-success{text-align:center;padding:34px 18px}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 15px;background:var(--green);color:#fff;font-size:1.6rem;font-weight:900}.premium-success h2{font-family:Georgia,"Times New Roman",serif;font-size:2.6rem;line-height:1;margin:5px 0 12px}.premium-success>p{color:var(--muted);max-width:620px;margin:0 auto 18px}.internal-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.internal-sidebar{position:sticky;top:145px;display:grid;gap:10px}.sidebar-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.sidebar-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.05;margin:7px 0 11px}.sidebar-card>p{color:var(--muted);font-size:.66rem}.premium-call-card{display:flex;gap:11px;align-items:center;background:linear-gradient(135deg,#062414,#0B3D21);color:#fff}.premium-call-card img{width:42px;height:42px;object-fit:contain}.premium-call-card small{display:block;color:#B9D7C1;font-size:.53rem}.premium-call-card a{font-family:Georgia,"Times New Roman",serif;font-size:1.23rem;font-weight:700}.sidebar-benefits>div{display:flex;gap:8px;align-items:flex-start;margin-top:10px}.sidebar-benefits>div span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green);font-size:.56rem;font-weight:900}.sidebar-benefits>div p{margin:2px 0 0;font-size:.62rem}
.offer-flow-badge{text-align:center;padding:34px}.offer-flow-badge>span{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:5.3rem;line-height:.8}.offer-flow-badge strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;margin-top:17px}.offer-flow-badge small{display:block;color:var(--muted);margin-top:7px}.premium-section-intro{display:grid;grid-template-columns:1fr .8fr;gap:45px;align-items:end;margin-bottom:25px}.premium-section-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:3rem;line-height:1;letter-spacing:-.04em;margin:0}.premium-section-intro>p{color:var(--muted)}.offer-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.offer-flow-card{padding:28px;border:1px solid var(--line);border-radius:21px;background:var(--paper);box-shadow:0 14px 38px rgba(15,23,42,.045)}.offer-flow-top{display:flex;align-items:center;gap:14px}.offer-flow-top img{width:72px;height:72px;object-fit:contain}.offer-flow-top span{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.52rem;font-weight:900}.offer-flow-top strong{display:block;color:var(--green);font-size:2rem}.offer-flow-card h3{font-family:Georgia,"Times New Roman",serif;font-size:2.2rem;margin:18px 0 7px}.offer-flow-card>p{color:var(--muted)}.offer-flow-card ul{list-style:none;padding:0;margin:19px 0 23px;display:grid;gap:8px}.offer-flow-card li{position:relative;padding-left:23px;font-size:.75rem}.offer-flow-card li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.offer-flow-card .button{width:100%;justify-content:space-between}.offer-terms-panel{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:1px solid var(--line);border-radius:17px;overflow:hidden}.offer-terms-panel>div{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:18px;border-right:1px solid var(--line)}.offer-terms-panel>div:last-child{border-right:0}.offer-terms-panel span{color:var(--green);font-size:.58rem;font-weight:900}.offer-terms-panel p{margin:0;color:var(--muted);font-size:.62rem}
.about-detail-photo{position:relative;height:470px;margin:0;border-radius:22px;overflow:hidden;background:#07130C;box-shadow:var(--shadow-lg)}.about-detail-photo img{width:100%;height:100%;object-fit:cover}.about-detail-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(4,16,9,.75))}.about-detail-photo figcaption{position:absolute;z-index:2;left:17px;right:17px;bottom:14px;color:#fff;font-size:.53rem;text-transform:uppercase;letter-spacing:.06em;opacity:.78}.about-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}.about-story h2,.contact-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:3rem;line-height:1;letter-spacing:-.04em;margin:0 0 16px}.about-story>p,.contact-copy>p{color:var(--muted)}.about-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.about-value-grid article{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.about-value-grid article:first-child{grid-column:1/-1}.about-value-grid span{color:var(--green);font-size:.57rem;font-weight:900}.about-value-grid h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;margin:20px 0 6px}.about-value-grid p{color:var(--muted);font-size:.68rem;margin:0}.premium-internal-cta{padding:52px 0;background:linear-gradient(135deg,#062414,#0B3D21);color:#fff}.premium-internal-cta>.shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.premium-internal-cta h2{font-family:Georgia,"Times New Roman",serif;font-size:3rem;line-height:1;margin:0}.premium-internal-cta .section-kicker{color:#B8EF5B}
.contact-method-stack{display:grid;gap:9px}.contact-method-stack>a{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);transition:.2s}.contact-method-stack>a:hover{transform:translateY(-3px);border-color:var(--green)}.contact-method-stack img{width:40px;height:40px;object-fit:contain}.contact-method-stack small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.5rem}.contact-method-stack strong{display:block;font-size:.76rem;overflow-wrap:anywhere}.contact-method-stack b{color:var(--green)}.contact-premium-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:start}.contact-service-area{display:flex;gap:11px;align-items:center;margin-top:23px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.contact-service-area img{width:38px;height:38px}.contact-service-area strong{display:block;font-size:.72rem}.contact-service-area span{display:block;color:var(--muted);font-size:.56rem;margin-top:2px}.calendar-days button.is-past{opacity:.25;cursor:not-allowed}
@media(max-width:900px){.internal-hero-grid,.internal-form-layout,.about-detail-grid,.contact-premium-grid{grid-template-columns:1fr}.internal-sidebar{position:static;grid-template-columns:1fr 1fr}.sidebar-benefits{grid-column:1/-1}.premium-section-intro{grid-template-columns:1fr;gap:10px}.internal-copy h1{font-size:3.3rem}.about-detail-photo{height:390px}}
@media(max-width:700px){.internal-copy h1{font-size:2.8rem}.form-two,.form-three{grid-template-columns:1fr}.service-choice-grid{grid-template-columns:1fr}.visit-rule-strip{grid-template-columns:1fr}.visit-rule-strip>div{border-right:0;border-bottom:1px solid var(--line)}.visit-rule-strip>div:last-child{border-bottom:0}.file-drop{grid-template-columns:1fr!important}.file-drop input{max-width:100%}.offer-flow-grid{grid-template-columns:1fr}.offer-terms-panel{grid-template-columns:1fr}.offer-terms-panel>div{border-right:0;border-bottom:1px solid var(--line)}.offer-terms-panel>div:last-child{border-bottom:0}.about-value-grid{grid-template-columns:1fr}.about-value-grid article:first-child{grid-column:auto}.premium-internal-cta>.shell{align-items:flex-start;flex-direction:column}.premium-internal-cta h2{font-size:2.35rem}.internal-sidebar{grid-template-columns:1fr}.sidebar-benefits{grid-column:auto}}
@media(max-width:480px){.internal-hero-panel{padding:45px 0}.internal-copy h1{font-size:2.38rem}.selection-summary,.offer-flow-badge,.premium-form-card,.offer-flow-card{padding:18px}.about-detail-photo{height:300px}}

/* V0.3.13 · Connected booking flow */
.booking-card.booking-v0313 .booking-ui{
  position:relative;
  grid-template-columns:1fr 1fr;
  gap:0;
  overflow:hidden;
  padding:0;
  border-radius:16px;
  background:var(--paper);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 14%,var(--line));
}
.booking-card.booking-v0313 .mini-calendar,
.booking-card.booking-v0313 .time-panel{
  padding:18px 18px 16px;
  min-width:0;
}
.booking-card.booking-v0313 .mini-calendar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--green) 5%,var(--paper)),var(--paper));
}
.booking-card.booking-v0313 .time-panel{
  border-left:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 34%,var(--paper));
}
.booking-card.booking-v0313 .booking-step-tag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-bottom:10px;
  padding:4px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--green) 11%,transparent);
  color:var(--green);
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.booking-card.booking-v0313 .calendar-head{
  margin-bottom:12px;
}
.booking-card.booking-v0313 .calendar-days button,
.booking-card.booking-v0313 .calendar-days span{
  width:31px;
  height:31px;
}
.booking-card.booking-v0313 .calendar-days button:focus-visible,
.booking-card.booking-v0313 .time-grid button:focus-visible,
.booking-card.booking-v0313 .calendar-nav:focus-visible{
  outline:3px solid color-mix(in srgb,var(--green) 34%,transparent);
  outline-offset:2px;
}
.booking-card.booking-v0313 .calendar-nav:disabled{
  opacity:.28;
  cursor:not-allowed;
}
.booking-card.booking-v0313 .time-panel>strong{
  min-height:34px;
  margin:0 0 10px;
  font-size:.73rem;
  line-height:1.45;
}
.booking-card.booking-v0313 .time-grid{
  gap:8px;
}
.booking-card.booking-v0313 .time-grid button{
  min-height:38px;
  padding:8px 6px;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease;
}
.booking-card.booking-v0313 .time-grid button:not(:disabled):hover{
  transform:translateY(-1px);
}
.booking-card.booking-v0313 .time-grid button:disabled,
.booking-card.booking-v0313 .time-grid button.is-unavailable{
  opacity:.38;
  cursor:not-allowed;
  text-decoration:line-through;
  background:color-mix(in srgb,var(--surface) 70%,var(--paper));
  color:var(--muted);
  border-color:var(--line);
}
.booking-card.booking-v0313 .booking-status-v0313{
  min-height:36px;
  margin:10px 0 0;
  padding:9px 10px;
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 60%,var(--paper));
  color:var(--muted);
  font-size:.62rem;
  line-height:1.45;
}
.booking-card.booking-v0313 .booking-status-v0313[data-state="ready"]{
  background:color-mix(in srgb,var(--green) 10%,var(--paper));
  color:var(--green);
}
.booking-card.booking-v0313 .booking-status-v0313[data-state="warning"]{
  background:#fff7ed;
  color:#9a3412;
}
.booking-card.booking-v0313 .booking-status-v0313[data-state="error"]{
  background:#fff1f2;
  color:#9f1239;
}
.booking-card.booking-v0313 .booking-continue{
  margin-top:10px;
  transition:opacity .2s ease,transform .2s ease,filter .2s ease;
}
.booking-card.booking-v0313 .booking-continue.is-disabled{
  opacity:.48;
  filter:saturate(.55);
  cursor:not-allowed;
}
.booking-card.booking-v0313.booking-needs-selection{
  animation:ll-booking-attention .42s ease;
}
@keyframes ll-booking-attention{
  0%,100%{transform:translateX(0)}
  28%{transform:translateX(-3px)}
  62%{transform:translateX(3px)}
}
@media(max-width:760px){
  .booking-card.booking-v0313 .booking-ui{grid-template-columns:1fr}
  .booking-card.booking-v0313 .time-panel{border-left:0;border-top:1px solid var(--line)}
  .booking-card.booking-v0313 .mini-calendar,
  .booking-card.booking-v0313 .time-panel{padding:16px}
}

/* ==========================================================================
   V0.3.20 · Home booking readability + Contact premium polish
   ========================================================================== */
.booking-card.booking-v0313 .booking-step-tag{font-size:.70rem;line-height:1.25}
.booking-card.booking-v0313 .calendar-head{font-size:.86rem;color:var(--ink)}
.booking-card.booking-v0313 .calendar-week{font-size:.70rem;color:color-mix(in srgb,var(--ink) 72%,var(--paper));font-weight:650}
.booking-card.booking-v0313 .calendar-days button,
.booking-card.booking-v0313 .calendar-days span{font-size:.74rem;font-weight:650}
.booking-card.booking-v0313 .time-panel>strong{font-size:.84rem;color:var(--ink);font-weight:800}
.booking-card.booking-v0313 .time-grid button{font-size:.79rem;font-weight:800;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 24%,var(--paper))}
.booking-card.booking-v0313 .time-grid button:disabled,
.booking-card.booking-v0313 .time-grid button.is-unavailable{
  opacity:1;
  color:color-mix(in srgb,var(--ink) 58%,var(--paper));
  background:color-mix(in srgb,var(--ink) 6%,var(--paper));
  border-color:color-mix(in srgb,var(--ink) 18%,var(--paper));
  text-decoration-color:color-mix(in srgb,var(--ink) 48%,var(--paper))
}
.booking-card.booking-v0313 .booking-status-v0313{font-size:.72rem;color:color-mix(in srgb,var(--ink) 72%,var(--paper))}
.booking-card.booking-v0313 .time-panel small{font-size:.70rem;line-height:1.45}
.booking-card.booking-v0313 .booking-sub{font-size:.86rem;color:color-mix(in srgb,var(--ink) 72%,var(--paper))}
@media(max-width:760px){
  .booking-card.booking-v0313 .booking-step-tag{font-size:.72rem}
  .booking-card.booking-v0313 .calendar-head{font-size:.90rem}
  .booking-card.booking-v0313 .calendar-week{font-size:.72rem}
  .booking-card.booking-v0313 .calendar-days button,
  .booking-card.booking-v0313 .calendar-days span{font-size:.76rem}
  .booking-card.booking-v0313 .time-panel>strong{font-size:.88rem}
  .booking-card.booking-v0313 .time-grid button{font-size:.82rem;min-height:43px}
  .booking-card.booking-v0313 .booking-status-v0313{font-size:.75rem}
}

/* Contact V0.3.20 */
.contact-v0320 .internal-hero{padding:56px 0 44px}
.contact-v0320 .contact-v0320-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:34px;align-items:start
}
.contact-v0320 .contact-v0320-intro h1{
  max-width:760px;margin:.2rem 0 .8rem;font-size:clamp(2.25rem,4.2vw,4.25rem);line-height:.98
}
.contact-v0320 .contact-v0320-lead{
  max-width:760px;margin:0;color:color-mix(in srgb,var(--ink) 74%,var(--paper));font-size:1rem;line-height:1.7
}
.contact-v0320 .contact-v0320-actions{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px
}
.contact-v0320 .contact-v0320-action{
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;align-items:center;
  min-height:92px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--ink) 26%,var(--paper));
  border-radius:16px;background:color-mix(in srgb,var(--surface) 55%,var(--paper));color:var(--ink);text-decoration:none
}
.contact-v0320 .contact-v0320-action:hover{
  border-color:color-mix(in srgb,var(--green) 65%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--paper))
}
.contact-v0320 .contact-v0320-action img{width:36px;height:36px;object-fit:contain}
.contact-v0320 .contact-v0320-action small{
  display:block;margin-bottom:4px;color:color-mix(in srgb,var(--ink) 68%,var(--paper));font-size:.80rem;font-weight:800
}
.contact-v0320 .contact-v0320-action strong{
  display:block;color:var(--ink);font-size:.95rem;line-height:1.4;overflow-wrap:anywhere
}
.contact-v0320 .contact-v0320-action.is-wide{grid-column:1/-1}
.contact-v0320 .contact-v0320-cta{
  padding:24px;border:1px solid color-mix(in srgb,var(--green) 26%,var(--line));border-radius:20px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--green) 7%,var(--paper)),var(--paper));
  box-shadow:0 14px 38px rgba(15,23,42,.06)
}
.contact-v0320 .contact-v0320-cta .summary-kicker{font-size:.76rem}
.contact-v0320 .contact-v0320-cta h2{margin:.35rem 0 .7rem;font-family:var(--font-display);font-size:1.7rem;line-height:1.08}
.contact-v0320 .contact-v0320-cta p{
  margin:0 0 18px;color:color-mix(in srgb,var(--ink) 73%,var(--paper));font-size:.93rem;line-height:1.65
}
.contact-v0320 .contact-v0320-form-section{padding-top:40px}
.contact-v0320 .contact-v0320-form-layout{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start
}
.contact-v0320 .premium-form-card{border-color:color-mix(in srgb,var(--ink) 24%,var(--paper))}
.contact-v0320 .premium-estimate-form>label>span,
.contact-v0320 .premium-estimate-form .form-two label>span{
  font-size:.88rem;font-weight:800;color:var(--ink)
}
.contact-v0320 .premium-estimate-form input,
.contact-v0320 .premium-estimate-form select,
.contact-v0320 .premium-estimate-form textarea{
  font-size:.96rem;border-color:color-mix(in srgb,var(--ink) 28%,var(--paper))
}
.contact-v0320 .form-section-title small{font-size:.76rem}
.contact-v0320 .form-section-title h2{font-size:1.7rem}
.contact-v0320 .contact-v0320-sidebar{position:sticky;top:125px;display:grid;gap:14px}
.contact-v0320 .contact-v0320-side-card{
  padding:20px;border:1px solid color-mix(in srgb,var(--ink) 24%,var(--paper));border-radius:17px;background:var(--paper)
}
.contact-v0320 .contact-v0320-side-card h3{margin:.35rem 0 .6rem;font-size:1.25rem;line-height:1.2}
.contact-v0320 .contact-v0320-side-card p{
  margin:0;color:color-mix(in srgb,var(--ink) 72%,var(--paper));font-size:.90rem;line-height:1.6
}
@media(max-width:900px){
  .contact-v0320 .contact-v0320-hero-grid,
  .contact-v0320 .contact-v0320-form-layout{grid-template-columns:1fr}
  .contact-v0320 .contact-v0320-sidebar{position:static;grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .contact-v0320 .internal-hero{padding:38px 0 28px}
  .contact-v0320 .contact-v0320-actions{grid-template-columns:1fr}
  .contact-v0320 .contact-v0320-action.is-wide{grid-column:auto}
  .contact-v0320 .contact-v0320-sidebar{grid-template-columns:1fr}
  .contact-v0320 .contact-v0320-action strong{font-size:.92rem}
}

/* ==========================================================================
   V0.3.22 · Public form confirmation + mobile header/overlap correction
   ========================================================================== */
.llv322-confirmation{
  scroll-margin-top:118px;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  border:2px solid color-mix(in srgb,var(--green) 62%,var(--line));
  background:color-mix(in srgb,var(--green) 8%,var(--paper));
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.llv322-confirmation:focus{outline:3px solid color-mix(in srgb,var(--green) 35%,transparent);outline-offset:4px}
.llv322-confirmation h2{margin:.2rem 0 .65rem;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.12}
.llv322-confirmation p{font-size:.96rem;line-height:1.65}
.llv322-confirmation-icon{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--green);color:#fff;font-size:1.2rem;font-weight:950
}
.llv322-email-receipt{
  margin-top:10px!important;padding:10px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--green) 10%,var(--paper));
  color:color-mix(in srgb,var(--ink) 86%,var(--paper))!important;font-weight:750
}

@media(max-width:860px){
  /* Mobile order: Call icon first, hamburger at the far right. */
  .header-row-nav{justify-content:flex-end}
  .header-phone{order:1;margin-left:auto}
  .menu-button{order:2;margin-left:0}
}

@media(max-width:560px){
  /* Do not let the trust strip overlap the hero CTAs on phones. */
  .hero{height:auto;min-height:600px;padding-bottom:28px}
  .hero-content{padding-bottom:22px}
  .trust-wrap{margin-top:0}
  .trust-strip{transform:none}
  .llv322-confirmation{grid-template-columns:1fr;gap:10px}
  .llv322-confirmation p{font-size:.94rem}
}

@media(max-width:430px){
  .header-shell{grid-template-columns:108px minmax(0,1fr);gap:8px}
  .header-row-nav{gap:7px}
  .header-phone{width:42px;height:42px;min-height:42px;flex-basis:42px}
  .menu-button{width:44px;height:44px;flex-basis:44px}
}
