*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#111827;background:#fff;line-height:1.6}.container{width:min(1120px,92%);margin:auto}.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb}.nav{height:74px;display:flex;align-items:center;gap:30px}.logo{font-size:20px;font-weight:800;text-decoration:none;color:#111827;margin-right:auto}.logo span{color:#2563eb}nav{display:flex;gap:25px}nav a{color:#4b5563;text-decoration:none;font-weight:600;font-size:14px}.nav-button,.button{display:inline-block;border-radius:10px;padding:11px 18px;text-decoration:none;font-weight:700}.nav-button,.primary{background:#2563eb;color:#fff}.hero{background:linear-gradient(135deg,#f8fafc,#eef4ff);padding:95px 0 85px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:#2563eb;margin:0 0 12px}.hero h1{font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-2px;margin:0 0 22px}.hero h1 span{color:#2563eb}.hero-text{font-size:19px;color:#4b5563;max-width:680px}.buttons{display:flex;gap:12px;margin:30px 0;flex-wrap:wrap}.button{padding:14px 22px;text-align:center}.secondary,.text-button{border:1px solid #2563eb;color:#2563eb;background:#fff}.trust{display:flex;gap:28px;margin-top:35px;flex-wrap:wrap}.trust div{display:flex;flex-direction:column}.trust strong{font-size:14px}.trust small{color:#6b7280}.rating-hours{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.rating,.hours{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:9px}.rating strong,.google-rating strong{letter-spacing:1px;color:#f59e0b}.rating span,.hours span{color:#6b7280;font-size:13px}.hours{flex-direction:column;align-items:flex-start;gap:1px}.hero-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:35px;box-shadow:0 20px 60px rgba(15,23,42,.1)}.card-icon{width:54px;height:54px;border-radius:14px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:28px;margin-bottom:20px}.hero-card h3{font-size:26px;margin:0 0 10px}.hero-card p{color:#6b7280}.address{border-top:1px solid #e5e7eb;margin-top:25px;padding-top:20px;display:flex;flex-direction:column}.card-link{display:inline-block;margin-top:15px;color:#2563eb;font-weight:700;text-decoration:none}.section{padding:90px 0}.section-heading{text-align:center;max-width:700px;margin:0 auto 48px}.section h2{font-size:42px;line-height:1.1;letter-spacing:-1px;margin:0 0 15px}.section-heading p:last-child{color:#6b7280}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{border:1px solid #e5e7eb;border-radius:16px;padding:28px;background:#fff}.service-icon{font-size:28px;color:#2563eb;margin-bottom:12px}.service h3{margin:0 0 8px;font-size:20px}.service p{color:#6b7280;margin:0}.dark{background:#111827;color:#fff}.dark .eyebrow{color:#60a5fa}.dark p{color:#cbd5e1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.check-list{display:grid;gap:14px}.check-list div{display:flex;gap:14px;align-items:center;border-bottom:1px solid #374151;padding:13px 0}.check-list span{color:#60a5fa;font-size:22px}.check-list p{margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{border-top:2px solid #2563eb;padding-top:20px}.step b{color:#2563eb}.step h3{margin:10px 0 5px}.step p{color:#6b7280;margin:0}.contact{background:#f8fafc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-details{margin-top:30px}.contact-details a{color:#2563eb}.contact-form{background:#fff;padding:30px;border:1px solid #e5e7eb;border-radius:16px;display:grid;gap:16px}.contact-form label{font-weight:700;font-size:14px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.google-rating{margin-top:22px;font-size:18px}.google-rating span{color:#6b7280;font-size:15px;margin-left:5px}footer{background:#0b1120;color:#cbd5e1;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner p{margin:4px 0;color:#94a3b8;font-size:14px}@media(max-width:800px){nav{display:none}.hero{padding:65px 0}.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.service-grid,.steps{grid-template-columns:1fr}.hero h1{font-size:45px}.buttons{flex-direction:column}.button{text-align:center}.nav-button{display:none}}

.work-video{background:#050507;color:#fff;padding:85px 0 90px;overflow:hidden}
.work-heading{text-align:center;margin-bottom:42px}
.work-heading h2{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:0;letter-spacing:-1.5px}
.work-heading h2 span{color:#4e8cff}
.video-frame{max-width:1120px;margin:auto;border:1px solid #252832;border-radius:24px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 45px rgba(54,108,255,.08);background:#050507}
.video-frame video{display:block;width:100%;height:auto}
@media(max-width:700px){.work-video{padding:65px 0}.video-frame{border-radius:14px}}

/* Final polish: keep the section heading clean and separate from the moving cards. */
.work-heading{position:relative;z-index:2;padding:4px 12px 18px}
.work-heading h2{white-space:normal;display:block;max-width:900px;margin:0 auto;line-height:1.12}
.work-heading h2 span{display:inline;color:#4e8cff}
.video-frame-clean{position:relative;isolation:isolate}

/* Auto-changing Google review carousel */
.reviews-section{background:#191b25;color:#fff;padding:95px 0 105px;overflow:hidden}
.reviews-heading{text-align:center;max-width:800px;margin:0 auto 42px}
.reviews-heading h2{font-size:clamp(38px,5vw,56px);margin:0 0 24px;line-height:1.08}
.reviews-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 25px;font-size:26px}
.google-dot,.google-mini{display:inline-grid;place-items:center;border-radius:50%;background:#5b9bf4;color:#fff;font-weight:900}
.google-dot{width:38px;height:38px;font-size:23px}
.stars,.review-stars{color:#ffbd22;letter-spacing:3px}
.review-count{color:#9ca6ba;font-size:22px}
.review-button{display:inline-block;background:#f7a313;color:#111;text-decoration:none;font-weight:900;letter-spacing:1px;border-radius:40px;padding:17px 38px}
.review-carousel{position:relative;max-width:980px;margin:auto;min-height:390px}
.review-track{position:relative;min-height:390px}
.review-card{position:absolute;inset:0;background:#202c43;border:1px solid #2b3b57;border-radius:12px;padding:48px 52px;opacity:0;transform:translateX(25px) scale(.985);transition:opacity .6s ease,transform .6s ease;pointer-events:none;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.review-card.active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto}
.review-top{display:flex;align-items:center;gap:18px}
.review-avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#d8e2f2;color:#334155;font-size:29px;font-weight:800}
.review-top h3{margin:0;font-size:26px}.review-top h3 span{color:#737b8b;font-size:20px}.review-top small{display:block;color:#aab5c8;font-size:17px;margin-top:3px}
.review-stars{font-size:25px;margin:30px 0 22px}
.review-card p{font-size:23px;line-height:1.65;color:#d4dbea;margin:0;max-width:820px}
.review-source{position:absolute;right:42px;bottom:30px;color:#aab0bf;font-size:16px;font-weight:800;letter-spacing:.8px;display:flex;gap:8px;align-items:center}
.google-mini{width:25px;height:25px;font-size:15px}
.review-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:72px;height:72px;border-radius:50%;border:1px solid #50617b;background:#34445d;color:#fff;font-size:48px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.review-arrow.prev{left:-35px}.review-arrow.next{right:-35px}
.review-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.review-dots .dot{width:8px;height:8px;border-radius:50%;background:#59657a;cursor:pointer;transition:all .3s}
.review-dots .dot.active{width:25px;border-radius:10px;background:#4e8cff}
@media(max-width:800px){
 .reviews-section{padding:70px 0}
 .review-carousel,.review-track{min-height:450px}
 .review-card{padding:30px 25px}
 .review-card p{font-size:18px;line-height:1.55}
 .review-arrow{width:52px;height:52px;font-size:36px}
 .review-arrow.prev{left:-10px}.review-arrow.next{right:-10px}
 .review-source{right:22px;bottom:20px;font-size:12px}
 .review-top h3{font-size:21px}
 .review-stars{margin:22px 0 16px}
 .review-button{padding:15px 28px}
}

/* Review carousel fallback: first review is visible even before JavaScript loads */
.reviews-section .review-card:first-child{opacity:1;transform:translateX(0) scale(1);pointer-events:auto}
.reviews-section .review-card.active ~ .review-card{opacity:0;transform:translateX(25px) scale(.985);pointer-events:none}

.review-rotation-note{margin:-14px 0 22px;color:#7faaff;font-size:13px;font-weight:800;letter-spacing:2px}

/* Brand strip replacing the old Our Work video block */
.brands-section{background:#080a10;color:#fff;padding:82px 0 70px;overflow:hidden;border-top:1px solid #171b28;border-bottom:1px solid #171b28}
.brands-heading{text-align:center;max-width:820px;margin:0 auto 42px}
.brands-heading h2{font-size:clamp(38px,5vw,58px);line-height:1.08;margin:0 0 14px}
.brands-heading h2 span{color:#438cff}
.brands-heading>p:last-child{color:#aeb8ca;font-size:17px;margin:0}
.brand-marquee{position:relative;width:100%;overflow:hidden;padding:20px 0;border-top:1px solid #30384a;border-bottom:1px solid #30384a;background:linear-gradient(90deg,#0b0e16,#101521,#0b0e16)}
.brand-marquee:before,.brand-marquee:after{content:"";position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.brand-marquee:before{left:0;background:linear-gradient(90deg,#080a10,transparent)}
.brand-marquee:after{right:0;background:linear-gradient(-90deg,#080a10,transparent)}
.brand-track{display:flex;width:max-content;align-items:center;gap:22px;animation:brandScroll 28s linear infinite}
.brand-item{height:78px;min-width:150px;padding:0 25px;border:1px solid #273248;border-radius:14px;background:#111827;display:flex;align-items:center;justify-content:center;gap:10px;color:#e7ecf5;font-size:24px;font-weight:800;letter-spacing:.5px;white-space:nowrap;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.brand-item.apple{font-weight:800}.brand-item.apple b{font-size:22px;color:#fff}
.brand-item.microsoft b{font-size:30px;color:#4d8dff}.brand-item.dell{font-size:21px;letter-spacing:1px;border-color:#1671df}.brand-item.lenovo{font-size:25px;font-style:italic}.brand-item.asus{font-size:23px;letter-spacing:2px}.brand-item.acer{font-size:27px}.brand-item.toshiba{font-size:18px;letter-spacing:2px}.brand-item.samsung{font-size:18px;letter-spacing:2px}.brand-item.msi{font-size:23px}
.brand-note{text-align:center;margin-top:27px;color:#9ba7bb;font-size:15px}.brand-note span{color:#4e91ff;font-weight:900}
@keyframes brandScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 11px))}}
.brand-marquee:hover .brand-track{animation-play-state:paused}
@media(max-width:700px){
 .brands-section{padding:65px 0 55px}
 .brand-item{height:64px;min-width:125px;padding:0 18px;font-size:19px}
 .brand-item.dell{font-size:17px}.brand-item.toshiba,.brand-item.samsung{font-size:15px}
 .brand-track{gap:14px;animation-duration:24s}
 .brand-note{font-size:12px}
}

/* Real brand logo treatment */
.brand-item{min-width:150px;height:78px;gap:12px}
.brand-item img{width:42px;height:42px;object-fit:contain;display:block;filter:none}
.brand-item span{font-size:22px;font-weight:800;color:#f4f7fb;white-space:nowrap}
@media(max-width:700px){
  .brand-item{min-width:132px;height:66px;padding:0 17px}
  .brand-item img{width:34px;height:34px}
  .brand-item span{font-size:18px}
}

/* Appointment booking section */
.appointment-section{background:#11141d;color:#fff;padding:95px 0;border-top:1px solid #202637}
.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.appointment-copy h2{font-size:clamp(42px,5vw,64px);line-height:1.05;margin:0 0 22px}
.appointment-copy h2 span{color:#3f8cff}
.appointment-copy>p:not(.eyebrow){color:#aeb7c9;font-size:18px;line-height:1.7;max-width:560px}
.appointment-points{margin:30px 0;display:grid;gap:14px}
.appointment-points div{display:flex;align-items:center;gap:12px;color:#dce3ef;font-size:16px}
.appointment-points strong{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#1f5fc5;color:#fff}
.appointment-contact{border-top:1px solid #2a3242;padding-top:24px;display:flex;gap:12px;align-items:center;color:#9da8ba}
.appointment-contact a{color:#4d91ff;font-weight:800;text-decoration:none}
.appointment-card{background:#1a2231;border:1px solid #2c3a53;border-radius:20px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.appointment-card-head{display:flex;gap:15px;align-items:center;margin-bottom:25px}
.calendar-icon{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:#2563d6;color:#fff;font-size:24px}
.appointment-card h3{font-size:25px;margin:0}.appointment-card-head p{margin:4px 0 0;color:#9da9bc}
.appointment-form{display:grid;gap:16px}
.appointment-form label{display:grid;gap:7px;color:#dce3ef;font-size:14px;font-weight:700}
.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;box-sizing:border-box;background:#101722;color:#fff;border:1px solid #344158;border-radius:9px;padding:13px 14px;font:inherit;outline:none}
.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:#4d91ff}
.appointment-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.appointment-submit{border:0;width:100%;cursor:pointer;margin-top:3px}
.appointment-note{color:#8995a9;line-height:1.5;text-align:center}
@media(max-width:800px){
 .appointment-section{padding:70px 0}
 .appointment-grid{grid-template-columns:1fr;gap:38px}
 .appointment-copy h2{font-size:43px}
 .appointment-card{padding:22px}
}

/* Appointment booking calendar */
.appointment-section{background:#11141d;color:#fff;padding:105px 0;border-top:1px solid #202637}
.appointment-heading{text-align:center;max-width:780px;margin:0 auto 42px}
.appointment-heading h2{font-size:clamp(42px,5vw,64px);line-height:1.05;margin:0 0 18px}
.appointment-heading h2 span{color:#3f8cff}
.appointment-heading>p:not(.eyebrow){color:#aeb7c9;font-size:18px;line-height:1.7;margin:0 auto}
.booking-shell{max-width:1050px;margin:auto;background:#171c28;border:1px solid #2b3446;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.32)}
.booking-info{display:flex;align-items:center;gap:14px;padding:24px 30px;border-bottom:1px solid #2b3446;background:#1b2230}
.booking-info-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2563d6;font-weight:900}
.booking-info strong{display:block;font-size:16px}
.booking-info span{display:block;color:#929eb2;font-size:13px;margin-top:3px}
.booking-layout{display:grid;grid-template-columns:1.08fr .92fr;border-bottom:1px solid #2b3446}
.calendar-panel,.time-panel{padding:32px}
.time-panel{border-left:1px solid #2b3446}
.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.calendar-label{display:block;color:#6f9fff;font-size:11px;font-weight:800;letter-spacing:1.6px;margin-bottom:7px}
.calendar-top h3,.time-heading h3{font-size:22px;margin:0}
.calendar-nav{display:flex;gap:8px}
.calendar-nav button{width:42px;height:42px;border:1px solid #354057;background:#121722;color:#fff;border-radius:11px;font-size:27px;line-height:1;cursor:pointer}
.calendar-nav button:hover:not(:disabled){border-color:#4d91ff}
.calendar-nav button:disabled{opacity:.3;cursor:not-allowed}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.calendar-weekdays{margin-bottom:9px}
.calendar-weekdays span{text-align:center;color:#7f8ba0;font-size:12px;font-weight:700;padding:7px 0}
.calendar-day{min-height:44px;border:1px solid transparent;background:transparent;color:#e8edf5;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.calendar-day:hover:not(:disabled){background:#202b3f;border-color:#3f8cff}
.calendar-day.today{border-color:#3f8cff;color:#6fa3ff}
.calendar-day.selected{background:#3f8cff;color:#fff;border-color:#3f8cff;box-shadow:0 7px 18px rgba(63,140,255,.25)}
.calendar-day.past{color:#3b4352;cursor:not-allowed}
.calendar-day.blank{pointer-events:none}
.selected-date{margin-top:24px;padding-top:18px;border-top:1px solid #2b3446}
.selected-date span{display:block;color:#7f8ba0;font-size:12px;margin-bottom:5px}
.selected-date strong{font-size:14px;color:#e8edf5}
.time-heading{margin-bottom:22px}
.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.time-slots button{min-height:48px;border:1px solid #354057;background:#121722;color:#e8edf5;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}
.time-slots button:hover:not(:disabled){border-color:#4d91ff;color:#6fa3ff}
.time-slots button.selected{background:#3f8cff;border-color:#3f8cff;color:#fff}
.time-slots button:disabled{opacity:.38;cursor:not-allowed}
.time-note{color:#7f8ba0;font-size:12px;line-height:1.55;margin:18px 0 0}
.booking-form-wrap{padding:30px}
.booking-form-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.booking-form-title h3{margin:0;font-size:22px}
.booking-step{color:#7f8ba0;font-size:12px}
.booking-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.booking-form label{display:grid;gap:7px;color:#dce3ef;font-size:13px;font-weight:700}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box;background:#101722;color:#fff;border:1px solid #344158;border-radius:10px;padding:13px 14px;font:inherit;outline:none}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#4d91ff}
.booking-message{grid-column:1/-1}
.booking-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0 14px;padding:15px 17px;border:1px solid #2e3a50;background:#121722;border-radius:11px}
.booking-summary span{color:#8d99ac;font-size:12px}
.booking-summary strong{font-size:13px;color:#e8edf5;text-align:right}
.appointment-submit{width:100%;border:0;cursor:pointer;margin-top:0}
.appointment-note{display:block;color:#7f8ba0;line-height:1.5;text-align:center;margin-top:12px}
@media(max-width:800px){
 .appointment-section{padding:75px 0}
 .booking-layout{grid-template-columns:1fr}
 .time-panel{border-left:0;border-top:1px solid #2b3446}
 .booking-form{grid-template-columns:1fr}
 .booking-message{grid-column:auto}
 .booking-form-wrap,.calendar-panel,.time-panel{padding:23px}
 .booking-info{padding:20px 23px}
 .booking-form-title{align-items:start}
 .time-slots{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
 .calendar-day{min-height:40px}
 .booking-summary{display:block}
 .booking-summary strong{display:block;text-align:left;margin-top:6px}
}

/* ===== Premium business redesign ===== */
body{background:#070a10;color:#edf3ff}
.header{position:sticky;top:0;z-index:100;background:rgba(7,10,16,.92);backdrop-filter:blur(16px);border-bottom:1px solid #1e2738}
.top-bar{background:#0b1019;border-bottom:1px solid #1b2535;color:#aab7ca;font-size:12px}
.top-bar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;white-space:nowrap}
.top-location,.top-phone{color:#dce7f8;text-decoration:none}.top-location:hover,.top-phone:hover{color:#6fa3ff}.top-hours{color:#8896aa}
.nav{min-height:78px;display:flex;align-items:center;gap:25px}.logo-mark{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:260px}.logo-mark strong{display:block;font-size:16px;line-height:1.1}.logo-mark small{display:block;color:#71809a;font-size:8px;letter-spacing:1px;margin-top:5px}.logo-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#2e80ff,#1750b5);box-shadow:0 10px 25px rgba(45,125,255,.25);font-weight:900;font-size:23px}.nav nav{display:flex;align-items:center;gap:23px;margin-left:auto}.nav nav a{color:#b8c4d6;text-decoration:none;font-weight:700;font-size:13px}.nav nav a:hover{color:#fff}.nav-actions{display:flex;align-items:center;gap:10px}.nav-phone{color:#dce7f8;text-decoration:none;border:1px solid #29354a;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800}.nav-button{background:#3d83ef;color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:900;font-size:13px;box-shadow:0 10px 24px rgba(61,131,239,.22)}
.hero-premium{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 25%,rgba(39,106,214,.22),transparent 30%),linear-gradient(180deg,#070b13,#0b1019 72%,#080b12);padding:85px 0 40px;border-bottom:1px solid #182131}.hero-glow{position:absolute;width:700px;height:700px;right:-250px;top:-240px;background:radial-gradient(circle,rgba(62,139,255,.16),transparent 68%);pointer-events:none}.hero-premium .hero-grid{position:relative;z-index:1;align-items:center}.hero-copy h1{font-size:clamp(48px,6.2vw,78px);line-height:.99;letter-spacing:-2.5px;margin:12px 0 24px;max-width:760px}.hero-copy h1 span{color:#4b91ff}.hero-text{color:#aebbd0;font-size:18px;line-height:1.75;max-width:680px}.hero-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-trust-row span{padding:8px 12px;border:1px solid #26344b;background:#0f1724;border-radius:999px;color:#dce7f7;font-size:12px;font-weight:800}.hero-proof{display:flex;gap:20px;align-items:center;margin-top:28px;color:#7f8ca2;font-size:13px}.hero-proof strong{color:#ffc94a;font-size:15px}.hero-visual{position:relative}.hero-photo-frame{height:470px;border-radius:28px;overflow:hidden;border:1px solid #2a3b57;background:#0c1421;box-shadow:0 30px 90px rgba(0,0,0,.45);position:relative;transform:rotate(1deg)}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.05)}.hero-photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,6,12,.9))}.hero-photo-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.hero-photo-overlay span{display:inline-block;color:#6da4ff;font-size:11px;font-weight:900;letter-spacing:2px;margin-bottom:8px}.hero-photo-overlay strong{display:block;color:#fff;font-size:28px;line-height:1.1}.hero-photo-overlay small{display:block;color:#b4c1d4;margin-top:7px}.hero-floating-card{position:absolute;z-index:3;left:-30px;bottom:24px;background:#131d2c;border:1px solid #30415c;border-radius:16px;padding:17px 20px;box-shadow:0 18px 50px rgba(0,0,0,.4);display:grid;gap:3px;min-width:230px}.hero-floating-card b{font-size:15px}.hero-floating-card span{color:#8e9bb0;font-size:11px}.hero-floating-card a{color:#63a0ff;text-decoration:none;font-weight:900;font-size:13px;margin-top:5px}.hero-address-strip{margin-top:38px;border-top:1px solid #1e2a3d;padding-top:18px;display:flex;justify-content:space-between;align-items:center;color:#9aa8bc;font-size:13px}.hero-address-strip div{display:flex;gap:10px;flex-wrap:wrap}.hero-address-strip b{color:#fff}.hero-address-strip a{color:#63a0ff;text-decoration:none;font-weight:900}
.work-gallery{padding:95px 0;background:#090d15}.gallery-heading{text-align:center;max-width:820px;margin-bottom:45px}.gallery-heading h2 span{color:#4b91ff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{position:relative;min-height:310px;border:1px solid #253149;border-radius:20px;overflow:hidden;background:#0e1623;box-shadow:0 18px 45px rgba(0,0,0,.22)}.gallery-card.gallery-wide{grid-column:span 1}.gallery-card img{width:100%;height:100%;min-height:310px;display:block;object-fit:cover;transition:transform .5s ease}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,7,13,.95))}.gallery-card:hover img{transform:scale(1.045)}.gallery-card>div{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.gallery-card b{display:block;color:#fff;font-size:20px}.gallery-card span{display:block;color:#a9b6ca;font-size:12px;margin-top:4px}
.learning-section{padding:100px 0;background:#0c111a}.learning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.learning-card{padding:25px;border:1px solid #27344a;border-radius:18px;background:linear-gradient(145deg,#111a29,#0c121d);min-height:240px}.learning-card>span{color:#4b91ff;font-weight:900;font-size:12px}.learning-card h3{font-size:20px;margin:18px 0 10px}.learning-card p{color:#94a2b7;font-size:14px;line-height:1.65}.learning-card a{color:#65a0ff;text-decoration:none;font-size:13px;font-weight:900}.faq-section{padding:100px 0;background:#080b12;border-top:1px solid #182131}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.faq-grid h2{font-size:clamp(38px,5vw,58px);line-height:1.05;margin:12px 0 18px}.faq-grid>div:first-child>p:not(.eyebrow){color:#99a6ba;max-width:500px;line-height:1.7;margin-bottom:28px}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid #28354b;border-radius:14px;background:#101722;padding:0 20px}.faq-list summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:#6fa3ff;font-size:22px}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:#95a3b8;line-height:1.65;margin:0 0 20px;font-size:14px}
footer{background:#05070c;border-top:1px solid #1c2534}.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center;padding:35px 0}.footer-inner strong{font-size:18px}.footer-inner p{color:#7f8ca0;margin:6px 0 0;font-size:12px}.footer-inner span{color:#68758a;font-size:12px}.footer-actions{display:flex;align-items:center;gap:14px}.footer-actions>a:first-child{color:#b8c4d6;text-decoration:none;font-weight:800}.footer-actions .button{margin:0}
@media(max-width:1050px){.top-hours{display:none}.nav nav{gap:14px}.logo-mark{min-width:230px}.nav-phone{display:none}.hero-grid{grid-template-columns:1fr!important}.hero-copy{max-width:800px}.hero-visual{max-width:680px;width:100%;margin:15px auto 0}.hero-photo-frame{height:390px}.learning-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr;gap:40px}.footer-inner{grid-template-columns:1fr auto}}
@media(max-width:760px){.top-location{font-size:10px;overflow:hidden;text-overflow:ellipsis}.nav{min-height:68px}.logo-mark{min-width:0;flex:1}.logo-mark strong{font-size:13px}.logo-mark small{font-size:7px}.logo-badge{width:38px;height:38px;font-size:20px}.nav nav{display:none}.nav-button{padding:10px 13px;font-size:11px}.hero-premium{padding:58px 0 30px}.hero-copy h1{font-size:45px;letter-spacing:-1.7px}.hero-text{font-size:16px}.buttons{flex-wrap:wrap}.hero-photo-frame{height:330px}.hero-floating-card{left:12px;bottom:12px}.hero-address-strip{display:block}.hero-address-strip a{display:inline-block;margin-top:12px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card,.gallery-card img{min-height:230px}.learning-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-actions{flex-wrap:wrap}}
@media(max-width:480px){.top-bar-inner{min-height:34px}.top-location{max-width:100%}.hero-copy h1{font-size:39px}.hero-proof{flex-wrap:wrap;gap:8px}.hero-photo-frame{height:280px}.gallery-grid{grid-template-columns:1fr}.gallery-card,.gallery-card img{min-height:260px}.footer-actions{display:grid;justify-items:start}}

/* ===== Bug fixes: prevent horizontal clipping and protect responsive content ===== */
html, body { max-width: 100%; overflow-x: clip; }
.container, .nav, .hero-grid, .hero-copy, .hero-visual, .gallery-grid { min-width: 0; }
.nav { min-width: 0; }
.logo-mark { min-width: 0; flex-shrink: 1; }
.nav nav { min-width: 0; flex-shrink: 1; }
.nav-actions { flex-shrink: 0; }
.hero-grid > * { min-width: 0; }
.hero-photo-frame { aspect-ratio: 16 / 9; height: auto; max-height: 430px; transform: none; }
.hero-photo-frame img { object-fit: cover; object-position: center; }
.hero-floating-card { left: auto; right: 20px; bottom: 20px; }
.gallery-grid { width: 100%; }
.gallery-card { min-width: 0; }
.gallery-card img { object-position: center; }
@media (max-width: 1050px) {
  .nav { gap: 14px; }
  .nav nav { gap: 12px; }
  .logo-mark { min-width: 0; }
}
@media (max-width: 760px) {
  .hero-photo-frame { aspect-ratio: 16 / 10; max-height: none; }
  .hero-floating-card { left: 12px; right: 12px; bottom: 12px; min-width: 0; width: auto; }
}

/* Final bug fixes */
.calendar-day.today{border:0;background:transparent;color:#9aa8bd;position:relative;box-shadow:none}
.calendar-day.today:after{content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#3f8cff}
.calendar-day.today:hover:not(:disabled){background:#202b3f;border:1px solid #3f8cff;color:#fff}
.calendar-day.selected{background:#3f8cff !important;color:#fff !important;border-color:#3f8cff !important;box-shadow:0 7px 18px rgba(63,140,255,.25) !important}
.hero-photo-frame img,.gallery-card img{background:linear-gradient(135deg,#0b1320,#17233a)}
.hero-photo-frame{background:#0b1019}
