:root{--font-body:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Poppins","Inter",ui-sans-serif,system-ui,sans-serif;--font-invoice:Arial,Helvetica,sans-serif;--primary:#0ea5e9;--primary-dark:#1e3a8a;--accent:#f97316;--ink:#111827;--muted:#64748b;--line:#dbe4ef;--surface:#f8fafc;--surface-strong:#eef6ff;--white:#ffffff;--shadow:0 18px 45px rgba(15,23,42,0.12);--shadow-soft:0 10px 28px rgba(15,23,42,0.09);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--white);max-width:100%;overflow-x:clip}body{margin:0;color:var(--ink);font-family:var(--font-body);font-optical-sizing:auto;text-rendering:optimizeLegibility}body,button,input,select,textarea{font:inherit}.back-to-top,.detail-page,.floating-call,.legal-page,.listing-page,.not-found-page,.site-footer,.site-header,.site-main{font-family:var(--font-body)}.detail-page h1,.detail-page h2,.detail-page h3,.legal-page h1,.listing-page h1,.listing-page h2,.listing-page h3,.not-found-page h1,.site-footer h3,.site-main h1,.site-main h2,.site-main h3{font-family:var(--font-display)}button,input,select,textarea{letter-spacing:0}a{color:inherit;text-decoration:none}img,svg{display:block}button{cursor:pointer}main{min-height:100vh}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.narrow-shell{width:min(860px,calc(100% - 32px))}.site-header{position:fixed;inset:16px 0 auto;z-index:50;color:var(--white);transition:color .22s ease,transform .22s ease}.header-shell{min-width:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(15,23,42,.25);box-shadow:0 18px 60px rgba(15,23,42,.18);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.site-header.is-scrolled{color:var(--ink)}.site-header.is-scrolled .header-shell,.site-header.is-scrolled .mobile-panel,.site-header.is-scrolled .search-panel{background:rgba(255,255,255,.92);border-color:rgba(219,228,239,.95);box-shadow:var(--shadow-soft)}.brand-link{flex:0 1 auto;width:196px;min-width:172px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.94);padding:9px 14px}.brand-link img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:2px}.desktop-nav a{position:relative;padding:10px 11px;border-radius:999px;font-size:.9rem;font-weight:800}.desktop-nav a:after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--primary),var(--accent));transition:transform .18s ease}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;min-width:0}.header-cta-group{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;white-space:nowrap}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:inherit;background:rgba(255,255,255,.12)}.site-header.is-scrolled .icon-button{border-color:var(--line);background:var(--white)}.icon-button svg,.mobile-book svg,.mobile-call svg,.phone-chip svg,.primary-button svg,.secondary-button svg,.view-all-button svg{width:18px;height:18px;flex:0 0 auto}.phone-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;font-size:.9rem;font-weight:900;color:var(--white);background:rgba(14,165,233,.92)}.phone-chip,.phone-chip span,.primary-button.compact span{white-space:nowrap}.primary-button,.secondary-button,.view-all-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font-weight:900;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.primary-button{padding:0 22px;color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark) 55%,var(--accent));box-shadow:0 16px 34px rgba(14,165,233,.28)}.phone-chip:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button.compact{min-height:44px;padding:0 16px;font-size:.9rem}.secondary-button{padding:0 20px;color:var(--white);border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.12)}.secondary-button.dark{color:var(--primary-dark);border-color:var(--line);background:var(--white)}.view-all-button{padding:0 24px;color:var(--white);background:linear-gradient(135deg,#0ea5e9,#0369a1 45%,#f97316);box-shadow:0 18px 36px rgba(14,165,233,.24),0 10px 26px rgba(249,115,22,.2)}.view-all-button:hover{transform:translateY(-2px);box-shadow:0 24px 46px rgba(14,165,233,.3),0 14px 32px rgba(249,115,22,.24)}.mobile-panel,.search-panel{margin-top:10px;padding:12px;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);color:var(--ink);background:rgba(255,255,255,.94);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.search-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px}.search-panel input{min-width:0;border:1px solid var(--line);padding:0 12px}.search-panel a,.search-panel input{height:46px;border-radius:var(--radius)}.search-panel a{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:var(--white);background:var(--primary-dark);font-weight:900}.mobile-panel,.mobile-toggle{display:none}.hero-section{position:relative;min-height:92vh;overflow:hidden;display:grid;align-items:end;color:var(--white);background:var(--ink)}.hero-bg{object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,25,.9),rgba(8,13,25,.64) 45%,rgba(8,13,25,.18)),linear-gradient(0deg,rgba(8,13,25,.75),rgba(8,13,25,0) 44%)}.hero-content{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));padding:168px 0 56px}.hero-copy{max-width:760px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;min-height:34px;padding:0 13px;border-radius:999px;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.eyebrow{color:var(--white);background:rgba(14,165,233,.22);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow svg{width:16px;height:16px;color:var(--accent)}.hero-copy h1{margin:24px 0 0;max-width:760px;font-family:var(--font-display);font-size:4.9rem;line-height:.98;letter-spacing:0;font-weight:950}.hero-subtitle{max-width:640px;margin:22px 0 0;font-size:1.32rem;line-height:1.45;color:rgba(255,255,255,.9);font-weight:800}.hero-description{max-width:680px;margin:14px 0 0;font-size:1rem;line-height:1.75;color:rgba(255,255,255,.78)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-metrics{width:min(690px,100%);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;margin-top:42px;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-metrics div{min-height:104px;display:grid;align-content:center;grid-gap:4px;gap:4px;padding:18px;background:rgba(255,255,255,.08)}.hero-metrics strong{font-size:2rem;line-height:1}.hero-metrics span{color:rgba(255,255,255,.76);font-size:.86rem;font-weight:800}.hero-float{position:absolute;display:inline-flex;align-items:center;gap:10px;max-width:260px;min-height:58px;padding:0 16px;border-radius:var(--radius);background:rgba(255,255,255,.92);color:var(--ink);box-shadow:var(--shadow);font-weight:900}.hero-float svg{width:24px;height:24px;color:var(--primary)}.hero-float-right svg{color:var(--accent)}.hero-float-left{right:12%;bottom:22%}.hero-float-right{right:5%;bottom:10%}.section{padding:96px 0}.section-heading{max-width:760px;margin:0 auto 42px;text-align:center}.section-heading.align-left{margin:0 0 28px;text-align:left}.section-kicker{color:var(--primary-dark);background:#e0f2fe}.section-heading h2{margin:14px 0 0;font-family:var(--font-display);font-size:2.9rem;line-height:1.08;letter-spacing:0}.section-heading p{margin:16px 0 0;color:var(--muted);font-size:1.03rem;line-height:1.75}.section-actions{display:flex;justify-content:center;margin:-18px 0 34px}.about-section,.contact-section,.gallery-section,.why-section{background:var(--surface)}.about-grid,.contact-grid,.reviews-grid{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:56px;gap:56px;align-items:center}.about-media{position:relative;min-height:620px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.about-media img,.gallery-tile img,.project-card img,.service-image img{object-fit:cover}.about-copy{min-width:0}.about-list{display:grid;grid-gap:12px;gap:12px}.about-list div{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:850}.about-list svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:28px 0}.about-stats div,.contact-form,.rating-form,.review-card,.why-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.about-stats div{display:grid;grid-gap:4px;gap:4px;min-height:106px;align-content:center;padding:16px}.about-stats strong{color:var(--primary-dark);font-size:2rem;line-height:1}.about-stats span{color:var(--muted);font-size:.86rem;font-weight:800}.services-grid,.why-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.service-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease}.review-card:hover,.service-card:hover,.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-strong)}.service-image img{object-fit:cover}.service-price-badge{position:absolute;right:14px;bottom:14px;z-index:1;min-height:38px;display:inline-flex;align-items:center;border-radius:999px;padding:0 14px;color:var(--white);background:var(--primary-dark);box-shadow:0 10px 24px rgba(15,23,42,.24);font-weight:950}.service-body{padding:20px}.service-icon,.why-card>svg{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.service-icon svg,.why-card>svg{width:23px;height:23px}.review-card strong,.service-body h3,.why-card h3{margin:16px 0 0;font-size:1.24rem;line-height:1.2;font-weight:950}.service-body p,.why-card p{min-height:84px;margin:10px 0 0;color:var(--muted);line-height:1.65}.service-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.service-rate-link{min-height:40px;border:0;border-radius:var(--radius);padding:0 12px;color:var(--primary-dark);background:#e0f2fe}.service-meta a,.service-rate-link{display:inline-flex;align-items:center;font-weight:950}.service-meta a{gap:5px;color:var(--accent)}.service-meta svg{width:16px;height:16px}.rate-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(3,7,18,.72)}.rate-modal{position:relative;width:min(448px,100%);border:1px solid rgba(148,163,184,.34);border-radius:var(--radius);padding:26px;color:#172033;background:var(--white);box-shadow:0 32px 90px rgba(3,7,18,.42)}.rate-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:999px;color:#475569;background:transparent}.rate-modal-close svg,.rate-modal-heading svg,.rate-note svg{width:20px;height:20px}.rate-modal-heading{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;margin-right:32px}.rate-modal-heading>svg{color:var(--primary)}.rate-modal-heading h3{margin:0;color:var(--primary-dark);font-family:var(--font-display);font-size:1.4rem;line-height:1.1;text-transform:uppercase}.rate-modal-heading p{margin:8px 0 0;color:#52617a;line-height:1.45}.rate-list{display:grid;grid-gap:14px;gap:14px;margin:26px 0 16px}.rate-list div{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d7e2ec;border-radius:var(--radius);padding:0 14px;background:#eef3f7}.rate-list span{min-width:0;color:#182235;font-weight:850}.rate-list strong{white-space:nowrap;color:var(--primary-dark);font-size:1rem;font-weight:950}.rate-note{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;border-radius:var(--radius);padding:16px;color:#52617a;background:#e0f2fe}.rate-note svg{color:var(--primary)}.rate-note p{margin:0;line-height:1.48}.rate-book-button{width:100%;margin-top:22px}.why-card{min-height:230px;padding:24px;transition:transform .18s ease,box-shadow .18s ease}.service-area-section{background:var(--white)}.service-area-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:42px;gap:42px;align-items:center}.service-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.service-keyword-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.service-keyword-list span{min-height:38px;display:inline-flex;align-items:center;border:1px solid #cfe2f3;border-radius:999px;padding:8px 12px;color:#172554;background:#f0f9ff;font-size:.9rem;font-weight:850;line-height:1.2}.service-area-list span{min-height:58px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;color:var(--primary-dark);background:var(--surface);font-weight:900;line-height:1.25}.service-area-list svg{width:18px;height:18px;color:var(--accent);flex:0 0 auto}.project-section{background:linear-gradient(180deg,var(--white),#f3f8ff)}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;grid-gap:18px;gap:18px}.project-card{position:relative;display:block;min-height:260px;overflow:hidden;border-radius:var(--radius);background:var(--ink);box-shadow:var(--shadow-soft)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.86))}.project-card div{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;color:var(--white)}.project-card span{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 9px;border-radius:999px;color:var(--white);background:rgba(249,115,22,.9);font-size:.75rem;font-weight:950}.project-card h3{margin:12px 0 3px;font-size:1.25rem}.project-card p{margin:0;color:rgba(255,255,255,.78)}.project-1{grid-row:span 2}.project-1,.project-2{grid-column:span 2}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.gallery-tile{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:0;border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.gallery-tile:first-child,.gallery-tile:nth-child(5){grid-column:span 2;aspect-ratio:2/1}.reviews-grid{align-items:start}.testimonial-section{color:var(--white);background:radial-gradient(circle at 18% 18%,rgba(249,115,22,.34),transparent 34%),linear-gradient(135deg,#082f49,#075985 48%,#f97316)}.testimonial-heading{display:grid;justify-items:center;text-align:center;grid-gap:12px;gap:12px;margin-bottom:66px}.testimonial-heading h2{margin:0;font-family:var(--font-display);font-size:2.45rem;line-height:1.05;text-transform:uppercase;letter-spacing:0}.testimonial-heading p{margin:0;color:rgba(255,255,255,.9);font-size:1.08rem;line-height:1.55}.testimonial-heading span{color:#38bdf8;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.testimonial-stage{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:18px;gap:18px}.testimonial-stage>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:rgba(255,255,255,.84);background:rgba(255,255,255,.08)}.testimonial-stage>button:first-child svg{transform:rotate(180deg)}.testimonial-stage svg{width:18px;height:18px}.testimonial-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.testimonial-card{min-height:328px;display:grid;align-content:start;padding:32px;color:var(--white);border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.12);box-shadow:0 24px 44px rgba(3,7,18,.14)}.review-list{display:grid;grid-gap:14px;gap:14px}.review-card{padding:24px}.rating-form{display:grid;grid-gap:14px;gap:14px;padding:22px}.rating-summary{display:grid;grid-gap:4px;gap:4px;padding:16px;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary-dark),var(--primary))}.rating-summary strong{font-size:2.5rem;line-height:1}.rating-summary span{color:rgba(255,255,255,.82);font-weight:850}.review-stars{display:flex;gap:4px;color:var(--accent)}.review-stars svg{width:18px;height:18px;fill:currentColor}.review-card p{margin:16px 0;color:var(--ink);font-size:1.02rem;line-height:1.7}.testimonial-card p{color:var(--white);font-size:1.08rem;font-style:italic;font-weight:800}.review-card div:last-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.review-card strong{margin:0}.review-card span{color:var(--muted);font-weight:850}.testimonial-card span{color:rgba(255,255,255,.68)}.review-submit-action{display:flex;justify-content:center;margin-top:34px}.review-submit-action .primary-button{min-width:220px;background:linear-gradient(135deg,#f97316,#fb923c 45%,#0ea5e9);box-shadow:0 18px 42px rgba(249,115,22,.3)}.faq-list{display:grid;grid-gap:12px;gap:12px}.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.faq-item summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;font-weight:950;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{width:18px;height:18px;color:var(--primary);transition:transform .18s ease;flex:0 0 auto}.faq-item[open] summary svg{transform:rotate(90deg)}.faq-item p{margin:0;padding:0 22px 22px;color:var(--muted);line-height:1.7}.contact-grid{align-items:start}.contact-heading{display:grid;justify-items:center;text-align:center;grid-gap:14px;gap:14px;margin-bottom:66px}.contact-heading h2{margin:0;color:var(--primary-dark);font-family:var(--font-display);font-size:2.45rem;line-height:1.05;text-transform:uppercase;letter-spacing:0}.contact-heading p{max-width:760px;margin:0;color:#3d4f72;font-size:1.08rem;line-height:1.55}.contact-booking-grid{display:grid;grid-template-columns:.82fr 1.72fr;grid-gap:30px;gap:30px;align-items:stretch}.contact-info-panel{display:grid;align-content:start;grid-gap:26px;gap:26px;border-radius:var(--radius);padding:36px 32px;color:var(--white);background:var(--primary-dark);box-shadow:var(--shadow)}.contact-booking-card h3,.contact-info-panel h3{margin:0;font-family:var(--font-display);font-size:1.48rem;line-height:1.1;text-transform:uppercase}.contact-info-list{display:grid;grid-gap:24px;gap:24px}.contact-info-list a,.contact-info-list div{display:grid;grid-template-columns:26px 1fr;grid-gap:14px;gap:14px;align-items:start}.contact-info-list svg{width:24px;height:24px;color:var(--primary)}.contact-info-list span{color:rgba(255,255,255,.9);line-height:1.5}.contact-info-list strong{display:block;color:var(--white);font-size:.98rem;line-height:1.4}.contact-info-panel>p{margin:38px 0 0;border-top:1px solid rgba(255,255,255,.16);padding-top:28px;color:rgba(255,255,255,.72);line-height:1.5}.contact-cards{display:grid;grid-gap:12px;gap:12px;margin-top:26px}.contact-cards a,.contact-cards div{min-height:82px;display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft)}.contact-cards svg{width:42px;height:42px;flex:0 0 auto;padding:10px;border-radius:var(--radius);color:var(--white);background:var(--primary-dark)}.contact-cards span{display:grid;grid-gap:3px;gap:3px;color:var(--muted);line-height:1.45}.contact-cards strong{color:var(--ink);font-size:1.05rem}.contact-form{display:grid;grid-gap:18px;gap:18px;padding:28px}.contact-booking-card{border-radius:var(--radius);padding:36px 32px}.contact-booking-card h3{color:var(--primary-dark)}.contact-booking-card label{color:#020617;text-transform:none;letter-spacing:0}.testimonial-card .review-stars{color:var(--primary)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.contact-form label,.newsletter label,.rating-form label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-size:.84rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.contact-form input,.contact-form select,.contact-form textarea,.newsletter input,.rating-form input,.rating-form select,.rating-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white);outline:0}.contact-form input,.contact-form select,.newsletter input,.rating-form input,.rating-form select{height:52px;padding:0 14px}.contact-form textarea,.rating-form textarea{resize:vertical;padding:14px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.newsletter input:focus,.rating-form input:focus,.rating-form select:focus,.rating-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(14,165,233,.14)}.form-button{width:100%}.form-success{margin:0;color:#047857;font-weight:850}.site-footer{position:relative;overflow:hidden;color:var(--white);background:radial-gradient(circle at 8% 0,rgba(14,165,233,.38),transparent 34%),radial-gradient(circle at 92% 95%,rgba(249,115,22,.34),transparent 38%),linear-gradient(135deg,#08111f,#0f172a 52%,#111827);padding:72px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .9fr 1fr;grid-gap:38px;gap:38px}.footer-brand img{width:min(260px,100%);height:auto;border-radius:var(--radius);background:var(--white);padding:14px}.footer-brand p{max-width:430px;margin:20px 0 0;color:rgba(255,255,255,.74);line-height:1.75}.social-links{display:flex;gap:10px;margin-top:20px}.back-to-top,.floating-call,.newsletter button,.social-links a{display:inline-grid;place-items:center;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary),var(--accent))}.social-links a{width:42px;height:42px}.back-to-top svg,.floating-call svg,.newsletter button svg,.social-links svg{width:19px;height:19px}.site-footer h3{margin:0 0 16px;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.footer-contact,.footer-links{display:grid;grid-gap:11px;gap:11px;margin:0;padding:0;list-style:none}.footer-contact li,.footer-links a{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);line-height:1.4}.footer-links a{transition:color .18s ease,transform .18s ease}.footer-links a:hover{color:var(--white);transform:translateX(4px)}.footer-contact svg,.footer-links svg{width:16px;height:16px;color:var(--accent);flex:0 0 auto}.newsletter{display:grid;grid-gap:10px;gap:10px;margin-top:22px}.newsletter label{color:rgba(255,255,255,.92)}.newsletter div{display:grid;grid-template-columns:1fr 46px;grid-gap:8px;gap:8px}.newsletter button{border:0}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.68);font-size:.9rem}.footer-bottom span:last-child{display:flex;gap:16px}.back-to-top{position:fixed;right:18px;bottom:88px;width:48px;height:48px;box-shadow:var(--shadow)}.back-to-top svg{transform:rotate(-90deg)}.floating-call{position:fixed;right:18px;bottom:24px;z-index:45;width:54px;height:54px;box-shadow:var(--shadow)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:radial-gradient(circle at 82% 10%,rgba(14,165,233,.2),transparent 28%),linear-gradient(135deg,#f8fafc,#ffffff);font-family:var(--font-body)}.auth-visual{position:relative;min-height:100vh;overflow:hidden;color:var(--white)}.auth-visual img{object-fit:cover}.auth-visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,25,.88),rgba(8,13,25,.48)),radial-gradient(circle at 18% 20%,rgba(14,165,233,.35),transparent 32%),radial-gradient(circle at 86% 86%,rgba(249,115,22,.35),transparent 34%)}.auth-brand{position:relative;z-index:1;width:min(620px,calc(100% - 56px));min-height:100vh;display:grid;align-content:center;padding:64px 0;margin:0 auto;min-width:0}.auth-brand>img{width:min(260px,100%);height:auto;padding:14px;border-radius:var(--radius);background:rgba(255,255,255,.94)}.auth-brand h1{max-width:100%;margin:32px 0 0;font-family:var(--font-display);font-size:2.8rem;line-height:1.02;letter-spacing:0;white-space:nowrap}.auth-brand p{width:100%;max-width:560px;margin:18px 0 0;color:rgba(255,255,255,.78);font-size:1.06rem;line-height:1.75;overflow-wrap:anywhere}.auth-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.auth-points span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);background:rgba(255,255,255,.12);font-weight:900;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-points svg{width:18px;height:18px;color:var(--accent)}.auth-panel{min-height:100vh;display:grid;place-items:center;padding:36px}.auth-card{width:min(480px,100%);display:grid;grid-gap:18px;gap:18px;padding:30px;border:1px solid rgba(219,228,239,.9);border-radius:var(--radius);background:rgba(255,255,255,.86);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.auth-card-head{display:flex;align-items:center;gap:14px;margin-bottom:4px}.auth-card-head img{width:54px;height:54px;border-radius:var(--radius)}.auth-card-head h2{margin:0;font-family:var(--font-display);font-size:1.7rem;line-height:1.1}.auth-card label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-size:.86rem;font-weight:950}.auth-input{min-height:54px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.auth-input svg{width:20px;height:20px;color:var(--primary-dark)}.auth-input input{width:100%;min-width:0;height:52px;border:0;outline:0;color:var(--ink);background:transparent}.auth-input button,.auth-link-button,.auth-options button{border:0;color:var(--primary-dark);background:transparent;font-weight:900}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}.remember-row{display:inline-flex!important;grid-auto-flow:column;align-items:center;width:-moz-fit-content;width:fit-content;color:var(--muted)!important;font-weight:850!important}.remember-row input{width:16px;height:16px;accent-color:var(--primary)}.auth-submit{min-height:54px;border:0;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark),var(--accent));font-weight:950;box-shadow:0 16px 34px rgba(14,165,233,.24)}.auth-submit:disabled{cursor:wait;opacity:.74}.auth-error,.auth-message{margin:0;padding:12px;border-radius:var(--radius);font-weight:850}.auth-error{color:#991b1b;background:#fee2e2}.auth-message{color:#047857;background:#d1fae5}.back-website{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-weight:900}.back-website svg{width:17px;height:17px}.dashboard-page{min-height:100vh;display:grid;grid-template-columns:292px minmax(0,1fr);color:var(--ink);background:#f4f8fc;font-family:var(--font-body)}.dashboard-dark{--ink:#f8fafc;--muted:#aebbd0;--line:rgba(255,255,255,0.12);--surface:#0f172a;--surface-strong:#111c31;--white:#141f33;background:#08111f}.dashboard-dark .dashboard-sidebar{color:#ffffff}.dashboard-dark .dashboard-logo,.dashboard-dark .footer-brand img{background:#ffffff}.dashboard-dark .dashboard-message,.dashboard-dark .panel-heading span,.dashboard-dark .role-strip span{color:#dff6ff;background:rgba(14,165,233,.18)}.dashboard-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;grid-gap:26px;gap:26px;padding:22px;color:var(--white);background:radial-gradient(circle at 20% 8%,rgba(14,165,233,.42),transparent 28%),linear-gradient(180deg,#0f172a,#111827)}.dashboard-logo{padding:10px;border-radius:var(--radius);background:var(--white)}.dashboard-logo img{width:100%;height:auto}.dashboard-sidebar nav{display:grid;grid-gap:8px;gap:8px;align-content:start}.dashboard-sidebar button,.dashboard-site-link{min-height:46px;display:flex;align-items:center;gap:10px;border:0;border-radius:var(--radius);color:rgba(255,255,255,.78);background:transparent;padding:0 12px;font-weight:900;text-align:left}.dashboard-sidebar button.active,.dashboard-sidebar button:hover,.dashboard-site-link:hover{color:var(--white);background:rgba(255,255,255,.12)}.dashboard-sidebar svg{width:18px;height:18px;flex:0 0 auto}.dashboard-main{min-width:0;padding:26px}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.dashboard-topbar span{color:var(--primary);font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.dashboard-topbar h1{margin:4px 0 0;font-family:var(--font-display);font-size:2rem;line-height:1.1}.dashboard-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px}.dashboard-search{width:min(280px,28vw);height:44px;display:grid;grid-template-columns:18px 1fr;align-items:center;grid-gap:8px;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.dashboard-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent}.dashboard-tools>button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white)}.dashboard-search svg,.dashboard-tools svg{width:18px;height:18px}.profile-pill{min-height:44px;display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.profile-pill span{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary),var(--accent));font-size:1rem}.profile-pill div{display:grid;grid-gap:1px;gap:1px}.profile-pill small,.profile-pill strong{line-height:1.1}.profile-pill small{color:var(--muted)}.dashboard-message{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(14,165,233,.24);border-radius:var(--radius);color:var(--primary-dark);background:#e0f2fe;font-weight:900}.dashboard-hero-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;margin-bottom:18px;border:1px solid rgba(14,165,233,.22);border-radius:var(--radius);padding:24px;color:#f8fafc;background:linear-gradient(135deg,rgba(14,165,233,.92),rgba(30,58,138,.96) 58%,rgba(249,115,22,.88));box-shadow:var(--shadow-soft)}.dashboard-hero-panel span{color:#fed7aa;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.dashboard-hero-panel h2{max-width:760px;margin:8px 0 0;font-family:var(--font-display);font-size:2rem;line-height:1.08}.dashboard-hero-panel p{max-width:780px;margin:12px 0 0;color:rgba(255,255,255,.82);line-height:1.65}.dashboard-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.dashboard-hero-actions button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius);padding:0 14px;font-weight:950;color:var(--primary-dark);background:#ffffff}.dashboard-hero-actions svg{width:18px;height:18px;flex:0 0 auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.dashboard-panel,.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.stat-card{min-height:126px;display:grid;align-content:center;grid-gap:10px;gap:10px;padding:20px}.stat-card span{color:var(--muted);font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.stat-card strong{font-size:2.15rem;line-height:1}.tone-blue strong{color:var(--primary)}.tone-orange strong{color:var(--accent)}.tone-slate strong{color:var(--primary-dark)}.dashboard-columns{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:18px;gap:18px;margin-top:18px}.dashboard-columns.wide-left{grid-template-columns:.85fr 1.15fr;margin-top:0}.dashboard-panel{min-width:0;padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{margin:0;font-family:var(--font-display);font-size:1.2rem}.panel-heading span{padding:5px 9px;border-radius:999px;color:var(--primary-dark);background:#e0f2fe;font-size:.76rem;font-weight:950}.panel-toggle{min-height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--surface);padding:0 10px;font-weight:950}.panel-toggle svg{width:16px;height:16px}.activity-list,.cms-form,.cms-list,.module-grid,.notification-list,.service-admin-list{display:grid;grid-gap:12px;gap:12px}.activity-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:62px;padding:10px;border-radius:var(--radius);background:var(--surface)}.activity-row>span{width:10px;height:10px;border-radius:999px;background:var(--primary)}.activity-row strong{display:block;text-transform:capitalize}.activity-row small,.activity-row time{color:var(--muted)}.activity-empty{margin:0;padding:18px;text-align:center}.activity-empty,.module-grid div,.notification-list div{border-radius:var(--radius);color:var(--muted);background:var(--surface)}.module-grid div,.notification-list div{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px;font-weight:850}.module-grid svg,.notification-list svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto}.cms-form label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.cms-form input,.cms-form select,.cms-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white);outline:0}.cms-form input,.cms-form select{height:48px;padding:0 12px}.cms-form textarea{resize:vertical;padding:12px}.dashboard-primary{width:-moz-fit-content;width:fit-content;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius);color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:0 16px;font-weight:950}.dashboard-primary svg{width:18px;height:18px}.cms-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.cms-row strong{display:block}.cms-row p{margin:5px 0 0;color:var(--muted);line-height:1.5}.cms-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.cms-actions button{min-height:38px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--radius);color:var(--primary-dark);background:#e0f2fe;padding:0 10px;font-weight:950}.cms-actions .danger-button{color:#b91c1c;background:#fee2e2}.cms-actions svg{width:16px;height:16px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.permission-grid label{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-transform:none;letter-spacing:0}.permission-grid input{width:16px;height:16px;accent-color:var(--primary)}.rating-summary.compact strong{font-size:2rem}.service-admin-list>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.service-admin-list strong{display:block}.service-admin-list p{margin:5px 0 0;color:var(--muted);line-height:1.55}.service-admin-list button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:var(--radius);color:#b91c1c;background:#fee2e2}.role-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.role-strip span{padding:8px 10px;border-radius:var(--radius);color:var(--primary-dark);background:#e0f2fe;font-size:.82rem;font-weight:950}.user-table{overflow-x:auto}.user-table-head,.user-table-row{min-width:760px;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;grid-gap:12px;gap:12px;align-items:center;padding:13px 14px}.user-table-head{color:var(--muted);border-radius:var(--radius);background:var(--surface);font-size:.8rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.user-table-row{border-bottom:1px solid var(--line)}.user-table-row span:first-child{display:grid;grid-gap:3px;gap:3px}.user-table-row small{color:var(--muted)}.legal-page,.not-found-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(circle at 15% 15%,rgba(14,165,233,.18),transparent 30%),radial-gradient(circle at 86% 88%,rgba(249,115,22,.16),transparent 32%),var(--surface)}.legal-page section,.not-found-page section{width:min(760px,100%);padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.legal-page img{width:250px;height:auto;margin-bottom:26px}.not-found-page img{width:74px;height:74px;margin-bottom:24px}.legal-page span,.not-found-page span{color:var(--primary);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.legal-page h1,.not-found-page h1{margin:12px 0 14px;font-family:var(--font-display);font-size:2.4rem;line-height:1.08;letter-spacing:0}.legal-page p,.not-found-page p{color:var(--muted);line-height:1.75}.legal-page a,.not-found-page a{width:-moz-fit-content;width:fit-content;min-height:46px;display:inline-flex;align-items:center;gap:8px;margin-top:14px;border-radius:999px;padding:0 18px;color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark));font-weight:950}.not-found-page a svg{width:17px;height:17px}.detail-page,.listing-page{min-height:100vh;background:var(--surface)}.detail-hero,.listing-hero{color:var(--white);background:linear-gradient(90deg,rgba(8,13,25,.94),rgba(8,13,25,.68)),url(/images/hvac/hero-ac-service.jpeg) 50% /cover}.listing-hero{display:grid;justify-items:center;text-align:center;padding:120px 16px 72px}.detail-hero a,.listing-hero>a{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;min-height:42px;padding:0 12px;border-radius:var(--radius);color:var(--white);background:rgba(255,255,255,.12);font-weight:900}.detail-hero svg,.listing-hero svg{width:17px;height:17px}.detail-hero span,.listing-hero span{margin-top:26px;color:#bae6fd;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.detail-hero h1,.listing-hero h1{max-width:820px;margin:12px 0 0;font-family:var(--font-display);font-size:3.8rem;line-height:1.02;letter-spacing:0}.detail-hero p,.listing-hero p{max-width:680px;margin:18px 0 0;color:rgba(255,255,255,.78);line-height:1.75}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;padding:64px 0 90px}.listing-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.listing-card-image{position:relative;aspect-ratio:4/3;background:var(--surface-strong)}.all-gallery-grid img,.detail-hero-image img,.detail-photo-grid img,.listing-card-image img{object-fit:cover}.listing-card>div:last-child{display:grid;grid-gap:10px;gap:10px;padding:20px}.listing-card span{color:var(--accent);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.listing-card h2{margin:0;font-size:1.35rem;line-height:1.2}.listing-card p{margin:0;color:var(--muted);line-height:1.65}.listing-card a{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;color:var(--primary-dark);font-weight:950}.listing-card a svg{width:16px;height:16px}.detail-hero{padding:110px 0 70px}.detail-hero-grid{display:grid;grid-template-columns:1fr .9fr;align-items:center;grid-gap:48px;gap:48px}.detail-hero-image{position:relative;min-height:420px;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}.detail-content{display:grid;grid-gap:32px;gap:32px;padding:64px 0 90px}.detail-content article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.detail-content h2{margin:0 0 12px;font-size:2rem}.detail-content p{color:var(--muted);line-height:1.75}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:22px}.property-grid div{display:grid;grid-gap:6px;gap:6px;padding:16px;border-radius:var(--radius);background:var(--surface)}.property-grid svg{width:22px;height:22px;color:var(--accent)}.property-grid span{color:var(--muted)}.all-gallery-grid,.detail-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.all-gallery-grid article,.detail-photo-grid div{position:relative;min-height:280px;overflow:hidden;border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.all-gallery-grid{padding:64px 0 90px}.all-gallery-grid article div{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;display:grid;grid-gap:3px;gap:3px;padding:12px;border-radius:var(--radius);color:var(--white);background:rgba(15,23,42,.78)}.all-gallery-grid span,.all-gallery-grid strong{line-height:1.2}.all-gallery-grid span{color:rgba(255,255,255,.72)}.dashboard-page.sidebar-collapsed{grid-template-columns:92px minmax(0,1fr)}.dashboard-logo{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;grid-gap:8px;gap:8px}.dashboard-logo button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:var(--radius);color:var(--primary-dark);background:#e0f2fe}.dashboard-sidebar{background:linear-gradient(180deg,rgba(14,165,233,.2),rgba(249,115,22,.12)),linear-gradient(180deg,#082447,#0d1728 62%,#111827);box-shadow:inset -1px 0 0 rgba(255,255,255,.08)}.dashboard-sidebar button,.dashboard-site-link{position:relative;width:100%;overflow:hidden;transition:background .18s ease,color .18s ease,transform .18s ease}.dashboard-sidebar button:hover,.dashboard-site-link:hover{transform:translateX(2px)}.dashboard-sidebar button.active{background:linear-gradient(135deg,rgba(14,165,233,.9),rgba(249,115,22,.88));box-shadow:0 12px 28px rgba(14,165,233,.22)}.dashboard-subnav{display:grid;grid-gap:6px;gap:6px;margin:6px 0 6px 28px}.dashboard-subnav button{min-height:36px;font-size:.84rem}.sidebar-collapsed .dashboard-logo{grid-template-columns:1fr;padding:8px}.sidebar-collapsed .dashboard-logo img,.sidebar-collapsed .dashboard-sidebar button span,.sidebar-collapsed .dashboard-site-link span,.sidebar-collapsed .dashboard-subnav{display:none}.sidebar-collapsed .dashboard-logo button,.sidebar-collapsed .dashboard-sidebar button,.sidebar-collapsed .dashboard-site-link{justify-content:center}.dashboard-tools .notification-bell{position:relative}.dashboard-tools .notification-bell span{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;display:grid;place-items:center;border:2px solid var(--white);border-radius:999px;color:var(--white);background:var(--accent);font-size:.72rem;font-weight:950}.cms-list-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;margin-bottom:14px}.cms-list-tools label{min-height:42px;display:grid;grid-template-columns:18px 1fr;align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:0 11px;background:var(--surface)}.cms-list-tools button,.cms-list-tools input,.cms-list-tools select{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white)}.cms-list-tools input{min-width:0;border:0;outline:0;background:transparent}.cms-list-tools select{padding:0 12px}.cms-list-tools button{padding:0 12px;font-weight:900}.cms-list-tools>div{display:flex;align-items:center;gap:8px}.cms-list-tools>div span{color:var(--muted);font-size:.82rem;font-weight:900}.notification-tools{grid-template-columns:repeat(2,max-content);justify-content:start}.cms-row{grid-template-columns:76px minmax(0,1fr) auto}.cms-row-image{width:76px;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--surface-strong)}.cms-row-image img{width:100%;height:100%;object-fit:cover}.cms-row:not(:has(.cms-row-image)){grid-template-columns:minmax(0,1fr) auto}.notification-detail-card{display:grid;grid-gap:14px;gap:14px}.notification-detail-card>strong{color:var(--primary-dark);font-size:1.35rem}.notification-detail-card>span{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:6px 10px;color:var(--white);background:linear-gradient(135deg,var(--primary),var(--accent));font-size:.8rem;font-weight:950}.notification-detail-card p{margin:0;color:var(--ink);line-height:1.7}.notification-detail-card dl{display:grid;grid-gap:10px;gap:10px;margin:0}.notification-detail-card dl div{display:grid;grid-template-columns:110px 1fr;grid-gap:12px;gap:12px;padding:10px;border-radius:var(--radius);background:var(--surface)}.notification-detail-card dt{color:var(--muted);font-weight:900}.notification-detail-card dd{margin:0;color:var(--ink);font-weight:800}.cms-detail-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;background:rgba(3,7,18,.62)}.cms-detail-modal{width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;grid-gap:18px;gap:18px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--white);box-shadow:0 30px 80px rgba(3,7,18,.28)}.cms-detail-modal .panel-heading{margin:0}.cms-detail-modal .panel-heading>div{display:grid;grid-gap:4px;gap:4px}.cms-detail-modal .panel-heading button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:999px;color:var(--primary-dark);background:#e0f2fe}.cms-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.cms-detail-grid div{display:grid;grid-gap:6px;gap:6px;border-radius:var(--radius);padding:12px;background:var(--surface)}.cms-detail-grid span{color:var(--muted);font-size:.74rem;font-weight:950;text-transform:uppercase}.cms-detail-grid strong{color:var(--ink);line-height:1.55;white-space:pre-wrap}.cms-detail-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.cms-detail-images a{overflow:hidden;border-radius:var(--radius);background:var(--surface-strong)}.cms-detail-images img{width:100%;aspect-ratio:1;display:block;object-fit:cover}.cms-detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.cms-detail-actions a,.cms-detail-actions button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:0 14px;color:var(--primary-dark);background:var(--white);font-weight:950}.review-modal{position:relative;width:min(560px,calc(100% - 28px));border-radius:var(--radius);padding:30px;color:var(--ink);background:var(--white);box-shadow:0 28px 80px rgba(3,7,18,.34)}.review-modal h3,.review-modal>p{color:#111827}.review-modal h3{margin:0;font-size:2rem;line-height:1.1}.review-modal>p{margin:8px 0 18px;font-weight:800}.review-modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(3,7,18,.72)}.review-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:999px;color:var(--ink);background:var(--surface)}.review-submission-form{display:grid;grid-gap:14px;gap:14px}.review-submission-form fieldset,.review-submission-form label{display:grid;grid-gap:8px;gap:8px;margin:0;border:0;padding:0;color:var(--ink);font-weight:900}.review-submission-form input,.review-submission-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:12px;color:var(--ink);background:var(--white)}.review-rating-picker{display:flex;gap:8px}.review-rating-picker button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--accent);background:var(--surface)}.invoice-form,.invoice-workspace{display:grid;grid-gap:18px;gap:18px}.invoice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.invoice-toolbar>div:first-child span{color:var(--primary);font-size:.76rem;font-weight:950;text-transform:uppercase}.invoice-toolbar h2{margin:3px 0 0;font-size:1.7rem}.image-viewer-actions,.invoice-form-actions,.invoice-pagination>div,.invoice-row-actions,.invoice-toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.image-viewer-actions a,.image-viewer-actions button,.invoice-form-actions button,.invoice-pagination button,.invoice-print-selector,.invoice-row-actions a,.invoice-row-actions button,.invoice-toolbar a,.invoice-toolbar button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius);color:var(--primary-dark);background:var(--white);padding:0 10px;font-weight:950}.invoice-print-selector{min-width:min(360px,100%);padding:0 10px}.invoice-print-actions{flex-wrap:nowrap!important;justify-content:flex-end}.invoice-print-actions .invoice-print-selector{flex:1 1 390px;max-width:430px}.invoice-print-actions button{flex:0 0 auto;white-space:nowrap}.invoice-print-selector svg{width:16px;height:16px;flex:0 0 auto}.invoice-print-selector input{width:100%;min-width:220px;border:0;outline:0;color:inherit;background:transparent;font:inherit}.invoice-grid{display:grid;grid-gap:12px;gap:12px}.invoice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-grid.align-start{align-items:start}.invoice-grid .span-2{grid-column:span 2}.invoice-grid .span-4{grid-column:1/-1}.invoice-form-section .signature-box,.invoice-form-section label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.invoice-form-section input,.invoice-form-section select,.invoice-form-section textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white)}.invoice-form-section input,.invoice-form-section select{min-height:46px;padding:0 12px}.invoice-form-section textarea{resize:vertical;padding:12px}.payment-checkbox-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.payment-checkbox-grid label{min-height:42px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius);padding:0 9px;background:var(--surface);text-transform:none;letter-spacing:0}.payment-checkbox-grid input{width:16px;min-height:16px;accent-color:var(--primary)}.invoice-items-editor{display:grid;grid-gap:10px;gap:10px}.invoice-item-editor-head,.invoice-item-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 172px;grid-gap:10px;gap:10px;align-items:start}.invoice-item-editor-head{color:var(--muted);font-size:.74rem;font-weight:950;text-transform:uppercase}.invoice-item-editor-row label{min-width:0;text-transform:none;letter-spacing:0}.invoice-item-editor-row label:first-child{grid-template-columns:auto minmax(0,1fr);align-items:start}.invoice-item-editor-row label:first-child>span{padding-top:12px;font-weight:950}.invoice-item-editor-row textarea{min-height:50px}.invoice-add-description,.invoice-item-editor-row button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius);color:var(--primary-dark);background:var(--surface);padding:0 12px;font-weight:950}.invoice-item-editor-row button{color:#991b1b;background:#fff1f2}.invoice-add-description{justify-self:start;color:var(--white);background:var(--primary)}.invoice-detail-items{width:100%;border-collapse:collapse;table-layout:fixed}.invoice-detail-items td,.invoice-detail-items th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.invoice-detail-items td:last-child,.invoice-detail-items th:last-child{width:140px;text-align:right}.signature-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.signature-heading button{border:0;border-radius:var(--radius);color:var(--primary-dark);background:#e0f2fe;padding:6px 9px;font-weight:900}.signature-box canvas{width:100%;height:150px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--white);touch-action:none}.signature-box img,.signature-preview-panel img{max-width:100%;max-height:120px;object-fit:contain;border-radius:var(--radius);background:var(--surface)}.invoice-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.invoice-metric{min-height:112px;display:grid;align-content:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--white);box-shadow:var(--shadow-soft)}.invoice-metric span{color:var(--muted);font-size:.76rem;font-weight:950;text-transform:uppercase}.invoice-metric strong{color:var(--primary-dark);font-size:1.8rem}.invoice-bars{display:flex;align-items:flex-end;gap:14px;min-height:170px}.invoice-bars div{flex:1 1;display:grid;justify-items:center;grid-gap:6px;gap:6px}.invoice-bars div>span{width:100%;max-width:42px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(180deg,var(--primary),var(--accent))}.invoice-bars small,.invoice-bars strong{color:var(--muted);font-size:.78rem}.invoice-filters{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto) auto;grid-gap:10px;gap:10px;margin-bottom:14px}.invoice-search{display:grid;grid-template-columns:18px 1fr;align-items:center;grid-gap:8px;gap:8px}.invoice-filters button,.invoice-filters input,.invoice-filters select,.invoice-search{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--white)}.invoice-filters input,.invoice-filters select{min-width:0;padding:0 11px}.invoice-search input{border:0;outline:0;background:transparent}.invoice-filters button{padding:0 14px;font-weight:950}.invoice-table-wrap{overflow-x:auto}.invoice-table{width:100%;min-width:980px;border-collapse:collapse}.invoice-table td,.invoice-table th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}.invoice-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.invoice-table th button{border:0;color:inherit;background:transparent;padding:0;font-weight:950}.invoice-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:950}.invoice-badge.payment-paid,.invoice-badge.status-completed{color:#166534;background:#dcfce7}.invoice-badge.payment-partial,.invoice-badge.status-draft,.invoice-badge.status-pending{color:#9a3412;background:#ffedd5}.invoice-badge.payment-unpaid,.invoice-badge.status-cancelled{color:#991b1b;background:#fee2e2}.invoice-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-weight:900}.invoice-info-grid,.invoice-view-grid{display:grid;grid-gap:14px;gap:14px}.invoice-info-grid,.invoice-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-info-grid div{display:grid;grid-gap:5px;gap:5px;border-radius:var(--radius);padding:12px;background:var(--surface)}.invoice-info-grid span{color:var(--muted);font-size:.76rem;font-weight:950;text-transform:uppercase}.invoice-info-grid strong{color:var(--ink)}.invoice-long-section p{white-space:pre-wrap;color:var(--muted);line-height:1.7}.invoice-image-stage{min-height:360px;display:grid;place-items:center;overflow:hidden;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.invoice-image-stage img,.invoice-image-stage object{max-width:100%;max-height:540px;object-fit:contain}.work-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.work-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}.invoice-fullscreen{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:50px 18px 18px;background:rgba(3,7,18,.88)}.invoice-fullscreen>button{position:absolute;top:14px;right:14px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:999px}.print-invoice-page{width:min(100%,1100px);margin:0 auto}.sample-invoice-page{aspect-ratio:11/8.5;overflow:hidden;border:2px solid #111;color:#151515;background:#fff;font-family:var(--font-invoice);font-size:12px;box-shadow:var(--shadow-soft)}.sample-invoice-header{height:112px;display:grid;grid-template-columns:1.25fr .58fr .72fr;align-items:stretch;color:#fff;background:#111318}.sample-brand-block,.sample-contact-block,.sample-duct-block{position:relative;display:grid;align-content:center;padding:12px 24px}.sample-brand-block img{width:min(420px,100%);height:auto;border-radius:4px;background:transparent}.sample-brand-block strong{margin-top:8px;font-size:18px;letter-spacing:0}.sample-duct-block{font-size:24px;line-height:1.06;text-transform:uppercase}.sample-duct-block span{position:absolute;left:8px;bottom:-20px;min-width:150px;padding:8px 12px;color:#f29c9c;background:#fff;font-size:18px;font-weight:900}.sample-contact-block{gap:4px;font-size:22px}.sample-contact-block span{font-size:20px}.sample-location{display:grid;place-items:center;height:42px;color:#d44a4a;font-size:21px;font-weight:950;text-transform:uppercase}.sample-invoice-grid{display:grid;grid-template-columns:1fr 292px;grid-gap:18px;gap:18px;padding:0 28px 18px}.sample-left-form{min-width:0}.sample-top-fields{display:grid;grid-template-columns:1fr 190px;border:1px solid #444;border-bottom:0}.sample-line-field{min-height:30px;display:grid;grid-template-columns:90px 1fr;align-items:center;border-bottom:1px solid #444;padding:0 8px}.sample-line-field.wide{grid-column:1/2}.sample-date-boxes span,.sample-equipment-grid span,.sample-line-field span,.sample-phone-stack span,.sample-recommendations span{color:#303030;font-size:11px;font-weight:800;text-transform:uppercase}.sample-phone-stack{grid-row:span 2;border-left:1px solid #444}.sample-phone-stack div{min-height:30px;display:grid;grid-template-columns:88px 1fr;align-items:center;border-bottom:1px solid #444;padding:0 8px}.sample-totals-table,.sample-work-table{width:100%;border-collapse:collapse;table-layout:fixed}.sample-totals-table td,.sample-totals-table th,.sample-work-table td,.sample-work-table th{border:1px solid #444}.sample-work-table th{height:24px;padding:0 8px;text-align:left;text-transform:uppercase}.sample-work-table td:last-child,.sample-work-table th:last-child{width:118px;text-align:center}.sample-work-table td{height:24px;padding:0 8px;vertical-align:top}.sample-recommendations{min-height:54px;border:1px solid #444;border-top:0;padding:6px 8px}.sample-recommendations p{margin:3px 0 0;line-height:1.3}.sample-equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);border-left:1px solid #444;border-right:1px solid #444}.sample-equipment-grid div{min-height:28px;display:grid;grid-template-columns:150px 1fr;align-items:center;border-bottom:1px solid #444;padding:0 8px}.sample-terms{min-height:72px;margin:0;border:1px solid #444;border-top:0;padding:7px 8px;font-size:10px;line-height:1.25}.sample-signature-line{min-height:31px;display:grid;grid-template-columns:110px 1fr;align-items:flex-end;border:1px solid #444;border-top:0;padding:0 8px 5px}.sample-signature-line img{max-height:28px;object-fit:contain}.sample-bottom-grid{display:grid;grid-template-columns:.8fr 1fr;border-left:1px solid #444;border-bottom:1px solid #444}.sample-bottom-grid>strong,.sample-payment-ack{min-height:102px;border-right:1px solid #444;padding:10px}.sample-bottom-grid>strong{display:block;font-size:14px;line-height:1.35}.sample-payment-ack{display:grid;grid-gap:7px;gap:7px;align-content:start;font-size:11px}.sample-paid-by{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.sample-paid-by mark{width:13px;height:13px;display:inline-grid;place-items:center;border:1px solid #111;color:#111;background:#fff;font-size:10px;line-height:1}.sample-small-signatures{display:grid;grid-gap:4px;gap:4px}.sample-right-rail{display:grid;align-content:start;grid-gap:9px;gap:9px}.sample-equipment-card{position:relative;height:222px;overflow:hidden;background:#111318}.sample-flame-strip{position:absolute;left:0;right:0;top:44px;height:34px;background:linear-gradient(90deg,transparent,#ef3f12 22%,#ffb423 42%,transparent 52%,#1d85ff 70%,#56c8ff);filter:blur(1px)}.sample-equipment-card img{position:absolute;right:24px;bottom:22px;width:168px;height:118px;object-fit:cover;border-radius:2px}.sample-pricing-copy{display:block;color:#d44a4a;font-size:20px;line-height:1.18;text-align:center}.sample-date-boxes{display:grid;grid-template-columns:repeat(2,1fr)}.sample-date-boxes div{min-height:38px;border:1px solid #444;padding:5px 7px}.sample-totals-table td,.sample-totals-table th{height:44px;padding:0 9px}.sample-totals-table th{text-align:left;text-transform:uppercase}.sample-totals-table td{width:94px;text-align:right;font-weight:900}.sample-totals-table .amount-due-row th{background:#6fb8f6}.sample-totals-table .amount-due-row td{background:#e8f4ff}.sample-thanks{color:#d44a4a;text-align:center;font-weight:950}.hvac-print-page{width:min(100%,297mm);min-height:210mm;margin:0 auto;overflow:hidden;border:1.5px solid #111;color:#0b0b0b;background:#fff;font-family:var(--font-invoice);box-shadow:var(--shadow-soft);print-color-adjust:exact;-webkit-print-color-adjust:exact}.hvac-print-sheet{min-height:210mm;display:grid;grid-template-rows:42mm 1fr}.hvac-print-header{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(58mm,.54fr) minmax(82mm,.82fr);overflow:hidden;color:#fff;background:#030303}.hvac-print-brand,.hvac-print-contact,.hvac-print-duct{display:grid;align-content:center}.hvac-print-brand{padding:7mm 8mm 4mm 10mm}.hvac-print-brand img{width:112mm;max-width:100%;max-height:23mm;object-fit:contain;object-position:left center}.hvac-print-brand strong{margin-top:3mm;color:#fff;font-size:14pt;line-height:1;text-transform:uppercase}.hvac-print-duct{position:relative;padding:5mm 5mm 5mm 9mm;font-size:16pt;line-height:1.08;text-transform:uppercase}.hvac-print-duct:after{content:"";position:absolute;left:-12mm;right:-3mm;bottom:-1px;height:18mm;background:#fff;-webkit-clip-path:polygon(16% 100%,100% 100%,100% 58%,28% 58%);clip-path:polygon(16% 100%,100% 100%,100% 58%,28% 58%)}.hvac-print-duct strong{position:relative;z-index:1}.hvac-print-contact{gap:1.5mm;padding:5mm 10mm 5mm 4mm;font-size:16pt;line-height:1.12}.hvac-print-body{display:grid;grid-template-columns:minmax(0,1fr) 88mm;grid-gap:3.8mm;gap:3.8mm;padding:0 4mm 3mm}.hvac-print-main{min-width:0}.hvac-print-main h2{display:grid;place-items:center;min-height:12mm;margin:0;color:#d20d0d;font-size:16pt;line-height:1;text-align:center;text-transform:uppercase}.hvac-print-customer-grid{display:grid;grid-template-columns:minmax(0,1fr) 55mm;grid-column-gap:5mm;column-gap:5mm;align-items:end}.hvac-print-line{min-height:7.5mm;display:grid;grid-template-columns:23mm minmax(0,1fr);align-items:end;border-bottom:1px solid #333;font-size:10pt}.hvac-print-line.wide{grid-column:1/2}.hvac-print-date-boxes span,.hvac-print-equipment-grid span,.hvac-print-line span,.hvac-print-number-card span,.hvac-print-recommendations h3{font-size:8.5pt;font-weight:900;text-transform:uppercase}.hvac-print-line strong,.hvac-print-number-card b{overflow-wrap:anywhere;font-size:10pt}.hvac-print-number-card{grid-row:span 2;border:1px solid #333;background:#fff}.hvac-print-number-card>strong{display:block;padding:1.5mm 3mm 1mm;color:#d20d0d;font-size:16pt;line-height:1}.hvac-print-number-card div{min-height:7.2mm;display:grid;grid-template-columns:25mm minmax(0,1fr);align-items:center;border-top:1px solid #333;padding:0 3mm}.hvac-print-totals,.hvac-print-work-table{width:100%;border-collapse:collapse;table-layout:fixed}.hvac-print-work-table{margin-top:3mm;font-size:10pt}.hvac-print-totals td,.hvac-print-totals th,.hvac-print-work-table td,.hvac-print-work-table th{border:1px solid #333}.hvac-print-work-table th{height:8mm;padding:0 2.5mm;text-align:left;text-transform:uppercase}.hvac-print-work-table td:last-child,.hvac-print-work-table th:last-child{width:34mm;text-align:center}.hvac-print-work-table td{height:8.5mm;padding:1.5mm 2.5mm;line-height:1.18;vertical-align:top}.hvac-print-work-table td:first-child span{display:inline-block;min-width:5mm}.hvac-print-totals tr,.hvac-print-work-table tr{break-inside:avoid;page-break-inside:avoid}.hvac-print-recommendations{min-height:16mm;border:1px solid #333;border-top:0}.hvac-print-recommendations h3{margin:0;border-bottom:1px solid #333;padding:1.5mm 2.5mm;font-size:10pt}.hvac-print-recommendations p{margin:0;padding:1.5mm 2.5mm;font-size:9.3pt;line-height:1.25}.hvac-print-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #333}.hvac-print-equipment-grid div{min-height:7.4mm;display:grid;grid-template-columns:34mm minmax(0,1fr);align-items:center;border-right:1px solid #333;border-bottom:1px solid #333;padding:0 2.5mm}.hvac-print-equipment-grid strong{overflow-wrap:anywhere;font-size:9.5pt}.hvac-print-terms{min-height:20mm;margin:0;border:1px solid #333;border-top:0;padding:2mm 2.5mm;font-size:8.4pt;line-height:1.26}.hvac-print-bottom{display:grid;grid-template-columns:.78fr 1fr;min-height:30mm;border-left:1px solid #333;border-bottom:1px solid #333}.hvac-print-bottom>div,.hvac-print-bottom>strong{border-right:1px solid #333;padding:3mm}.hvac-print-bottom>strong{font-size:12pt;line-height:1.22;text-transform:uppercase}.hvac-print-bottom>div{font-size:8.7pt}.hvac-print-bottom div>strong{display:block;margin-bottom:3mm;font-size:10pt;line-height:1.15;text-transform:uppercase}.hvac-print-bottom p{display:flex;flex-wrap:wrap;gap:1.4mm 2.5mm;margin:0}.hvac-print-side{display:grid;align-content:start;grid-gap:3mm;gap:3mm;padding-top:0}.hvac-print-equipment-card{position:relative;height:76mm;overflow:hidden;background:#030303}.hvac-print-equipment-card span{position:absolute;left:0;right:0;top:13mm;height:15mm;background:radial-gradient(circle at 30% 45%,#ffbe2f 0 9%,transparent 22%),linear-gradient(90deg,#f43f13,#ff7a00 34%,transparent 49%,#0895ff 62%,#60d6ff);filter:blur(.7px)}.hvac-print-equipment-card img{position:absolute;right:8mm;bottom:6mm;width:52mm;height:34mm;object-fit:cover;object-position:center}.hvac-print-pricing-copy{display:block;color:#d20d0d;font-size:15pt;line-height:1.15;text-align:center}.hvac-print-date-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hvac-print-date-boxes div{min-height:15mm;border:1px solid #333;padding:2mm}.hvac-print-date-boxes strong{display:block;margin-top:1mm;font-size:8.5pt}.hvac-print-totals td,.hvac-print-totals th{height:12.8mm;padding:0 3mm;font-size:10pt}.hvac-print-totals th{text-align:left;text-transform:uppercase}.hvac-print-totals td{width:33mm;text-align:right;font-weight:900}.hvac-print-totals .amount-due-row td,.hvac-print-totals .amount-due-row th{background:#4eb3f4}.hvac-print-totals .amount-due-row td{color:#03172a;font-size:14pt;white-space:nowrap}.hvac-print-arrow{width:0;height:0;display:inline-block;margin-left:3mm;border-top:2.4mm solid transparent;border-bottom:2.4mm solid transparent;border-left:4.2mm solid #020617}.hvac-print-page-count,.hvac-print-thanks{text-align:center}.hvac-print-page-count{margin:0;color:#555;font-size:8pt}.hvac-print-thanks{color:#d20d0d;font-size:11.5pt}.invoice-print-tab{min-height:100vh;display:grid;justify-items:center;align-content:start;grid-gap:14px;gap:14px;padding:16px;background:#eef3f8}.invoice-print-tab-actions{width:min(100%,297mm);display:flex;justify-content:flex-end;gap:8px}.invoice-print-tab-actions button{min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid #cbd5e1;border-radius:var(--radius);padding:0 14px;color:var(--ink);background:#fff;font-weight:900;box-shadow:var(--shadow-soft)}.invoice-print-tab-actions button:first-child{border-color:transparent;color:#fff;background:var(--primary-dark)}.invoice-print-tab-actions svg{width:18px;height:18px}.template-invoice-page{position:relative;width:min(100%,297mm);aspect-ratio:297/210;display:grid;place-items:center;overflow:hidden;border:0;color:#111;background:#fff;font-family:var(--font-invoice);box-shadow:var(--shadow-soft)}.invoice-template-sheet{position:relative;height:100%;aspect-ratio:1492/1054;overflow:hidden;background:#fff}.invoice-template-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:fill}.bill-check,.bill-field,.bill-signature{position:absolute;z-index:1}.bill-field{overflow:hidden;color:#111;font-size:11px;font-weight:750;line-height:1.18;white-space:pre-wrap}.bill-check{color:#111;background:transparent;font-family:var(--font-invoice);font-size:12px;font-weight:950;line-height:1;text-align:center}.bill-signature{max-width:18%;max-height:4%;object-fit:contain}.bill-number-mask{position:absolute;top:14.08%;left:55.15%;z-index:1;width:5.85%;height:2.75%;background:#fff}.bill-no{top:14.52%;left:53%;z-index:2;width:6.9%;color:#b51218;font-size:18px;font-weight:950}.bill-date,.bill-no{line-height:1;text-align:center}.bill-date{top:18.39%;left:55.2%;width:10.8%;font-size:10px}.bill-home-phone{top:21.2%}.bill-home-phone,.bill-work-phone{left:56.2%;width:13.4%;text-align:center}.bill-work-phone{top:24%}.bill-cell-phone{top:27%;left:56.2%;width:13.4%;text-align:center}.bill-name{top:25.9%;right:67%;width:42%;text-align:center}.bill-address{left:3.1%;width:22.5%}.bill-address,.bill-city{top:29.8%;text-align:center}.bill-city{left:29.9%;width:12.4%}.bill-state{left:53.5%;width:5.5%}.bill-state,.bill-zip{top:29.8%;text-align:center}.bill-zip{left:61%;width:6%}.bill-work-line{left:4.3%;width:53%;height:2.35%}.bill-work-line-1{top:36.55%}.bill-work-line-2{top:39.45%}.bill-work-line-3{top:42.35%}.bill-work-line-4{top:45.25%}.bill-work-line-5{top:48.15%}.bill-work-line-6{top:51.05%}.bill-work-line-7{top:53.95%}.bill-work-line-8{top:56.85%}.bill-price{left:57.6%;width:8.3%;text-align:right}.bill-price-1{top:36.55%}.bill-price-2{top:39.45%}.bill-price-3{top:42.35%}.bill-price-4{top:45.25%}.bill-price-5{top:48.15%}.bill-price-6{top:51.05%}.bill-price-7{top:53.95%}.bill-price-8{top:56.85%}.bill-recommendations{top:57.7%;left:25.3%;width:64%;height:3.7%}.bill-furnace-model{top:60.85%;left:8.7%;width:18%;text-align:center}.bill-furnace-serial{top:60.85%;left:33%;width:24%;text-align:center}.bill-ac-model{top:63.6%;left:8.7%;width:18%;text-align:center}.bill-ac-serial{top:63.6%;left:36.6%;width:24%;text-align:center}.bill-customer-signature{top:77.8%;left:13.2%}.bill-technician-signature{top:92%;left:42.5%}.bill-check-cash{top:85.4%;left:37.74%}.bill-check-check{top:85.4%;left:42.2%}.bill-check-finance{top:85.4%;left:52.4%}.bill-check-visa{top:88.3%;left:32.7%}.bill-check-master{top:88.3%;left:36.8%}.bill-check-amex{top:88.2%;left:43.6%}.bill-check-discover{top:88.3%;left:47.5%}.bill-estimated-start{left:73.1%;width:13.4%}.bill-estimated-complete,.bill-estimated-start{top:67.4%;font-size:8px;line-height:1;text-align:center}.bill-estimated-complete{left:87.8%;width:12.8%}.bill-amount-due,.bill-diagnosis-fee,.bill-discount,.bill-sub-total,.bill-work-total{left:88%;width:8%;text-align:right}.bill-diagnosis-fee{top:69.8%}.bill-work-total{top:73.85%}.bill-sub-total{top:77.5%}.bill-discount{top:82.1%}.bill-amount-due{top:86.7%}.invoice-workspace .no-print{print-color-adjust:exact}@media print{@page{size:297mm 210mm;margin:0!important}body,html{width:297mm;height:210mm;margin:0!important;padding:0!important;overflow:hidden;background:#fff!important}body *{visibility:hidden}.print-invoice-page,.print-invoice-page *{visibility:visible}.invoice-print-tab .no-print,.invoice-print-tab .no-print *,.invoice-workspace .no-print,.invoice-workspace .no-print *{display:none!important;visibility:hidden!important}.dashboard-main,.dashboard-page,.invoice-print-tab,.invoice-workspace{display:block;width:297mm;height:210mm;min-height:210mm;padding:0;margin:0;overflow:hidden;background:#fff}.dashboard-sidebar,.dashboard-topbar{display:none!important}.print-invoice-page{position:relative;width:297mm!important;min-width:297mm!important;max-width:297mm!important;height:210mm!important;min-height:210mm!important;max-height:210mm!important;margin:0!important;overflow:hidden;border:0;box-shadow:none;page-break-after:auto;break-after:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}.template-invoice-page{aspect-ratio:auto}.print-invoice-page:last-of-type{page-break-after:auto;break-after:auto}}@media (max-width:1120px){.desktop-nav{display:none}.mobile-toggle{display:inline-grid}.mobile-panel{display:grid;grid-gap:6px;gap:6px}.mobile-panel a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border-radius:var(--radius);color:var(--ink);font-weight:900}.mobile-panel a:hover{background:var(--surface-strong)}.mobile-book,.mobile-call{justify-content:center!important;gap:8px;color:var(--white)!important}.mobile-call{background:var(--primary-dark)}.mobile-book{background:var(--accent)}}@media (max-width:980px){.auth-page{grid-template-columns:1fr}.auth-brand,.auth-visual{min-height:44vh}.auth-panel{min-height:auto}.auth-brand h1{font-size:2.35rem}.dashboard-page{grid-template-columns:1fr}.dashboard-sidebar{position:static;height:auto}.dashboard-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-topbar{align-items:stretch;flex-direction:column}.dashboard-tools{flex-wrap:wrap;justify-content:flex-start}.dashboard-search{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero-panel{grid-template-columns:1fr}.dashboard-hero-actions{justify-content:flex-start}.dashboard-columns,.dashboard-columns.wide-left,.dashboard-page.sidebar-collapsed{grid-template-columns:1fr}.sidebar-collapsed .dashboard-logo img,.sidebar-collapsed .dashboard-sidebar button span,.sidebar-collapsed .dashboard-site-link span{display:block}.sidebar-collapsed .dashboard-sidebar{grid-template-rows:auto}.sidebar-collapsed .dashboard-logo{grid-template-columns:minmax(0,1fr) 38px}.sidebar-collapsed .dashboard-sidebar nav,.sidebar-collapsed .dashboard-site-link{display:none}.invoice-grid.four,.invoice-grid.three,.invoice-info-grid,.invoice-summary-grid,.invoice-view-grid,.payment-checkbox-grid,.work-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-list-tools,.invoice-filters{grid-template-columns:1fr 1fr}.invoice-item-editor-head,.invoice-item-editor-row{grid-template-columns:minmax(0,1fr) 140px}.invoice-item-editor-head span:last-child,.invoice-item-editor-row button{grid-column:1/-1}.sample-invoice-page:not(.template-invoice-page){width:1100px;max-width:none}.print-invoice-page{overflow-x:auto}.all-gallery-grid,.detail-hero-grid,.detail-photo-grid,.listing-grid{grid-template-columns:1fr}.detail-hero-image{min-height:340px}.header-shell{gap:12px}.header-cta-group{gap:6px}.phone-chip,.primary-button.compact{min-height:42px;padding:0 11px;font-size:.84rem}.hero-copy h1{font-size:4rem}.hero-float{display:none}.about-grid,.contact-grid,.reviews-grid{grid-template-columns:1fr;gap:34px}.contact-booking-grid,.testimonial-list{grid-template-columns:1fr}.contact-booking-grid{gap:22px}.about-media{min-height:500px}.gallery-grid,.project-grid,.services-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.project-1,.project-2,.project-card{grid-column:span 1;grid-row:span 1}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.narrow-shell,.shell{width:min(calc(100% - 24px),1180px)}.site-header{top:10px}.header-shell{min-height:64px;border-radius:var(--radius)}.brand-link{width:168px;min-width:148px;padding:8px 10px}.icon-button{width:42px;height:42px}.search-panel{grid-template-columns:auto 1fr}.search-panel a{grid-column:1/-1}.hero-section{min-height:auto}.hero-content{padding:120px 0 40px}.hero-copy h1{font-size:3rem}.hero-subtitle{font-size:1.08rem}.hero-actions,.hero-actions a{width:100%}.about-stats,.form-row,.hero-metrics,.testimonial-stage{grid-template-columns:1fr}.testimonial-stage>button{display:none}.contact-heading,.testimonial-heading{margin-bottom:34px}.section{padding:70px 0}.section-heading h2{font-size:2.18rem}.about-media{min-height:420px}.footer-grid,.gallery-grid,.permission-grid,.project-grid,.property-grid,.service-area-grid,.service-area-list,.services-grid,.why-grid{grid-template-columns:1fr}.gallery-tile:first-child,.gallery-tile:nth-child(5){grid-column:span 1;aspect-ratio:1}.service-body p{min-height:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.auth-panel{padding:18px 12px 28px}.auth-brand{width:min(calc(100% - 28px),620px);padding:40px 0}.auth-brand,.auth-visual{min-height:auto}.auth-brand h1{font-size:1.45rem}.auth-card{padding:22px}.auth-options{align-items:flex-start;flex-direction:column}.dashboard-main,.dashboard-sidebar{padding:16px}.cms-row{grid-template-columns:1fr}.cms-row:not(:has(.cms-row-image)){grid-template-columns:1fr}.cms-detail-grid,.cms-detail-images,.cms-list-tools,.invoice-filters,.invoice-grid.four,.invoice-grid.three,.invoice-grid.two,.invoice-info-grid,.invoice-summary-grid,.invoice-view-grid,.payment-checkbox-grid,.work-photo-grid{grid-template-columns:1fr}.invoice-grid .span-2,.invoice-grid .span-4{grid-column:auto}.invoice-pagination,.invoice-toolbar{align-items:stretch;flex-direction:column}.invoice-print-actions{flex-wrap:wrap!important;justify-content:flex-start}.invoice-print-actions .invoice-print-selector{max-width:none}.invoice-item-editor-head{display:none}.invoice-item-editor-row{grid-template-columns:1fr;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:var(--surface)}.sample-invoice-page:not(.template-invoice-page){transform-origin:top left}.cms-actions{justify-content:flex-start}.detail-hero h1,.listing-hero h1{font-size:2.3rem}.dashboard-sidebar nav,.stats-grid{grid-template-columns:1fr}.dashboard-hero-panel{padding:20px}.dashboard-hero-panel h2{font-size:1.45rem}.profile-pill{flex:1 1 180px;width:auto}}@media (max-width:580px){.header-shell{gap:8px;padding:8px}.brand-link{width:min(150px,calc(100% - 98px));min-width:0}.header-cta-group{display:none}.header-actions{flex:0 0 auto;gap:6px}.header-actions .icon-button{width:40px;height:40px}.dashboard-hero-actions,.dashboard-hero-actions button,.dashboard-primary{width:100%}.activity-row{grid-template-columns:12px minmax(0,1fr);align-items:start}.activity-row time{grid-column:2}}@media (max-width:430px){.auth-brand h1{font-size:1.18rem}.auth-points{align-items:flex-start;flex-direction:column}.auth-points span{max-width:100%;font-size:.84rem}.brand-link{width:150px;min-width:132px}.header-actions{gap:5px}.hero-copy h1{font-size:2.55rem}.section-heading h2{font-size:1.92rem}.contact-form,.contact-info-panel,.rate-modal,.rating-form,.review-card,.service-body,.why-card{padding:18px}}