/* Probashi Helicopter — home page only. Loaded after the shared style.css.
   Header, main banner, footer, and all inner pages remain untouched. */
.ph-home { --ph-blue:#1269ef; --ph-ink:#152e50; --ph-muted:#718198; --ph-line:#e2eaf4; --ph-soft:#f6f9fd; color:var(--ph-ink); }
.ph-home .ph-section { padding-top:60px; padding-bottom:68px; }
.ph-home .ph-section-heading { margin:0 auto 30px; text-align:center; }
.ph-home .ph-section-heading h2 { color:var(--ph-blue); display:flex; align-items:center; justify-content:center; gap:19px; margin:0; font-size:clamp(19px,2.1vw,25px); line-height:1.35; text-transform:uppercase; font-weight:800; letter-spacing:.15px; }
.ph-home .ph-section-heading h2::before,.ph-home .ph-section-heading h2::after { content:""; height:1px; background:#deebfc; flex:1; }
.ph-home .ph-section-mark { display:block; color:var(--ph-blue); font-size:14px; margin-top:7px; }
.ph-home .ph-section-actions { display:flex; justify-content:flex-end; margin:-10px 0 20px; }
.ph-home .ph-view-all { display:inline-flex; gap:9px; align-items:center; font-size:13px; font-weight:800; color:var(--ph-blue); background:#fff; border:1px solid #cddfff; padding:9px 15px; border-radius:8px; text-decoration:none; transition:background .18s,border-color .18s; }
.ph-home .ph-view-all:hover { color:#0752c4; border-color:#9ec5ff; background:#eff6ff; }
.ph-home .ph-muted { background:var(--ph-soft); }
.ph-home img { max-width:100%; }
.ph-home a:focus-visible,.ph-home button:focus-visible { outline:3px solid #398dfa; outline-offset:3px; }
/* Running Offers — premium horizontal featured-card slider. */
.ph-home .ph-running-offers { padding-top:46px; padding-bottom:62px; }
.ph-home .ph-offer-carousel { width:100%; }
.ph-home .ph-offer-card { background:#fff; display:grid; grid-template-columns:44% 56%; overflow:hidden; border:1px solid var(--ph-line); border-radius:15px; box-shadow:0 12px 40px rgba(24,56,104,.075); }
.ph-home .ph-offer-photo { position:relative; min-height:414px; background:#e7eff9; overflow:hidden; }
.ph-home .ph-offer-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; position:absolute; inset:0; }
.ph-home .ph-photo-tag { position:absolute; top:22px; left:22px; z-index:1; padding:9px 12px; display:inline-flex; gap:7px; align-items:center; border-radius:7px; background:#fff; border:1px solid #e4eaf3; color:#1166df; box-shadow:0 4px 14px #062b4730; font-size:11px; font-weight:800; letter-spacing:.5px; }
.ph-home .ph-offer-body { min-width:0; padding:34px 38px 28px; display:flex; flex-direction:column; justify-content:space-between; }
.ph-home .ph-kicker { font-size:11px; letter-spacing:1.7px; font-weight:800; color:#1978ef; text-transform:uppercase; margin:0 0 9px; }
.ph-home .ph-offer-body h3 { font-size:clamp(21px,2.45vw,29px); font-weight:800; line-height:1.28; letter-spacing:-.45px; color:#172f50; margin:0 0 17px; overflow-wrap:anywhere; }
.ph-home .ph-offer-tags { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:21px; }
.ph-home .ph-offer-tags span { border-radius:6px; background:#eff5ff; padding:7px 10px; color:#56708e; font-size:11px; font-weight:700; }
.ph-home .ph-offer-tags i { color:var(--ph-blue); margin-right:3px; }
.ph-home .ph-offer-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px 14px; padding:19px 0; border-top:1px solid var(--ph-line); border-bottom:1px solid var(--ph-line); }
.ph-home .ph-offer-details small { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.6px; color:#8292aa; font-weight:800; margin-bottom:5px; }
.ph-home .ph-offer-details strong { display:block; font-size:13px; font-weight:800; line-height:1.4; color:#263e5c; overflow-wrap:anywhere; }
.ph-home .ph-offer-bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:21px; }
.ph-home .ph-seat-count { display:flex; gap:11px; align-items:center; }
.ph-home .ph-seat-icon { display:grid; place-items:center; background:#ecf4ff; color:var(--ph-blue); width:39px; height:39px; border-radius:9px; font-size:18px; }
.ph-home .ph-seat-count small { display:block; font-size:11px; color:#8190a3; line-height:1.3; }
.ph-home .ph-seat-count strong { display:block; font-size:15px; color:#152f50; }
.ph-home .ph-book-now { display:inline-flex; justify-content:center; align-items:center; gap:14px; background:linear-gradient(100deg,#0e65ee,#08a4ee); box-shadow:0 8px 18px #067ce72b; color:#fff; text-decoration:none; font-size:13px; font-weight:800; padding:14px 22px; border-radius:9px; white-space:nowrap; transition:background .2s, transform .2s; }
.ph-home a.ph-book-now:hover { color:#fff; background:#105fdf; transform:translateY(-2px); }
.ph-home .ph-sold-out { box-shadow:none; background:#ecf0f5; color:#708097; cursor:not-allowed; }
.ph-home .ph-slider-navigation { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:23px; }
/* Shared stylesheet hides ALL carousel controls; override ONLY in offer slider. */
.ph-home .ph-offer-carousel .ph-slider-arrow.carousel-control-prev,.ph-home .ph-offer-carousel .ph-slider-arrow.carousel-control-next { position:static; width:36px; height:36px; display:inline-flex; opacity:1; justify-content:center; align-items:center; border:1px solid #d5e4f7; background:#fff; border-radius:50%; color:var(--ph-blue); box-shadow:0 3px 10px #1b375914; font-size:13px; flex-shrink:0; }
.ph-home .ph-offer-carousel .ph-slider-arrow:hover { background:#eaf3ff; }
.ph-home .ph-offer-carousel .ph-slider-dots.carousel-indicators { display:flex; align-items:center; position:static; padding:0; margin:0; gap:7px; }
.ph-home .ph-offer-carousel .ph-slider-dots button[data-bs-target] { width:8px; height:8px; display:block; padding:0; margin:0; border:0; border-radius:50%; background:#bfd5f5; opacity:1; box-sizing:border-box; transition:width .25s,background .25s; }
.ph-home .ph-offer-carousel .ph-slider-dots button.active { width:24px; border-radius:10px; background:var(--ph-blue); }
.ph-home .ph-no-offers { text-align:center; padding:40px 15px; color:#6e819e; background:#f6f9fd; border:1px dashed #ccdced; border-radius:12px; }
.ph-home .ph-no-offers i { color:var(--ph-blue); font-size:25px; }
.ph-home .ph-no-offers p { margin:9px 0 0; }
/* Notice — separate, modern information panel while retaining the exact Bengali lines. */
.ph-home .ph-notice-section { background:linear-gradient(120deg,#eff6ff,#f7faff); border-top:1px solid #e7effb; border-bottom:1px solid #e7effb; padding:28px 0; }
.ph-home .ph-notice-panel { display:grid; grid-template-columns:minmax(190px,.26fr) minmax(0,1fr); gap:25px; align-items:center; background:#fff; border:1px solid #dce8f9; border-left:5px solid var(--ph-blue); border-radius:13px; padding:27px 32px; box-shadow:0 9px 28px #143d7110; }
.ph-home .ph-notice-intro { display:flex; gap:13px; align-items:center; }
.ph-home .ph-notice-icon { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; color:#1269ef; background:#eaf3ff; border-radius:13px; font-size:22px; }
.ph-home .ph-notice-eyebrow { font-size:10px; color:#687d99; letter-spacing:.85px; font-weight:800; text-transform:uppercase; margin:0 0 4px; }
.ph-home .ph-notice-intro h2 { font-size:22px; font-weight:800; color:#154072; margin:0; }
.ph-home .ph-notice-points { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:26px; row-gap:12px; }
.ph-home .ph-notice-points li { position:relative; padding-left:25px; font-size:14px; line-height:1.65; color:#334d70; }
.ph-home .ph-notice-points li::before { content:'✓'; position:absolute; top:1px; left:0; display:grid; place-items:center; color:var(--ph-blue); font-size:13px; font-weight:900; }
/* Services */
.ph-home .ph-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.ph-home .ph-service-card { min-width:0; background:#fff; border:1px solid #e4eaf2; border-radius:13px; overflow:hidden; box-shadow:0 5px 20px #263c5a0c; transition:box-shadow .2s, transform .2s; }
.ph-home .ph-service-card:hover { box-shadow:0 16px 34px #183a681d; transform:translateY(-4px); }
.ph-home .ph-service-photo { display:block; position:relative; aspect-ratio:1.8; overflow:hidden; background:#e6edf4; }
.ph-home .ph-service-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ph-home .ph-service-card:hover .ph-service-photo img { transform:scale(1.035); }
.ph-home .ph-service-badge { position:absolute; left:14px; bottom:14px; color:#1859b4; background:#fff; padding:7px 10px; border-radius:5px; font-size:10px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; box-shadow:0 3px 14px #10233f36; }
.ph-home .ph-service-body { padding:20px 22px 18px; }
.ph-home .ph-service-body h3 { color:#172f50; font-size:17px; font-weight:800; line-height:1.4; min-height:48px; margin:0; }
.ph-home .ph-service-body h3 a { text-decoration:none; color:inherit; }
.ph-home .ph-service-body h3 a:hover { color:var(--ph-blue); }
.ph-home .ph-service-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; padding-top:14px; border-top:1px solid var(--ph-line); }
.ph-home .ph-service-bottom small { font-size:11px; color:#8190a2; }
.ph-home .ph-service-bottom a { display:inline-flex; align-items:center; gap:7px; color:var(--ph-blue); text-decoration:none; font-weight:800; font-size:12px; white-space:nowrap; }
.ph-home .ph-no-content { margin:0; padding:15px; }
/* Client videos and video reviews: retain working iframes. */
.ph-home .ph-clients-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ph-home .ph-client-card,.ph-home .ph-review-card { min-width:0; background:#fff; border:1px solid #e3eaf3; border-radius:13px; overflow:hidden; box-shadow:0 7px 22px #17345412; }
.ph-home .ph-video-frame,.ph-home .ph-review-video { position:relative; width:100%; aspect-ratio:16/9; background:#dce9f8; overflow:hidden; }
.ph-home .ph-video-frame iframe,.ph-home .ph-review-video iframe { display:block; position:absolute; width:100%; height:100%; inset:0; border:0; }
.ph-home .ph-client-body { padding:16px 17px 17px; }
.ph-home .ph-client-body h3 { font-size:14px; font-weight:800; line-height:1.5; min-height:42px; margin:0 0 9px; overflow-wrap:anywhere; }
.ph-home .ph-video-label { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:800; color:var(--ph-blue); }
/* Gallery */
.ph-home .ph-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ph-home .ph-gallery-item { position:relative; display:block; aspect-ratio:1.51; overflow:hidden; border-radius:11px; background:#d9e6f6; box-shadow:0 4px 15px #172e5315; }
.ph-home .ph-gallery-item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .28s; }
.ph-home .ph-gallery-item:hover img { transform:scale(1.045); }
.ph-home .ph-gallery-item::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(0deg,#071c38a8,transparent); opacity:.8; }
.ph-home .ph-gallery-caption { position:absolute; left:16px; right:15px; bottom:14px; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:5px; color:#fff; font-size:12px; font-weight:800; }
.ph-home .ph-gallery-caption i { background:#ffffff30; border:1px solid #ffffff99; border-radius:7px; padding:8px; }
/* Reviews */
.ph-home .ph-reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.ph-home .ph-review-badge { position:absolute; z-index:1; top:15px; left:15px; background:#fff; color:#145ed2; padding:8px 11px; border-radius:6px; font-size:10px; font-weight:800; letter-spacing:.7px; pointer-events:none; }
.ph-home .ph-review-body { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:19px 22px 21px; }
.ph-home .ph-review-body h3 { font-size:17px; line-height:1.4; font-weight:800; margin:0; overflow-wrap:anywhere; }
.ph-home .ph-review-body span { color:var(--ph-blue); font-size:11px; font-weight:800; white-space:nowrap; }
.ph-home .ph-review-body span i { margin-right:5px; }
/* Responsive: no sideways scrolling, including very small phones. */
@media(max-width:991.98px) {
 .ph-home .ph-offer-photo { min-height:380px; }
 .ph-home .ph-offer-body { padding:25px; }
 .ph-home .ph-offer-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ph-home .ph-offer-bottom { flex-wrap:wrap; }
 .ph-home .ph-notice-panel { grid-template-columns:1fr; gap:17px; }
 .ph-home .ph-service-grid { gap:16px; }
 .ph-home .ph-service-body { padding:17px; }
 .ph-home .ph-clients-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
 .ph-home .ph-review-body { flex-wrap:wrap; }
}
@media(max-width:767.98px) {
 .ph-home .ph-section { padding-top:42px; padding-bottom:48px; }
 .ph-home .ph-section-heading { margin-bottom:21px; }
 .ph-home .ph-section-heading h2 { gap:9px; font-size:19px; }
 .ph-home .ph-section-actions { margin:-8px 0 18px; }
 .ph-home .ph-view-all { font-size:11px; padding:8px 11px; }
 .ph-home .ph-offer-card { grid-template-columns:1fr; }
 .ph-home .ph-offer-photo { min-height:0; height:230px; }
 .ph-home .ph-photo-tag { top:12px; left:12px; font-size:10px; }
 .ph-home .ph-offer-body { padding:22px; }
 .ph-home .ph-offer-body h3 { font-size:21px; }
 .ph-home .ph-offer-details { gap:15px 12px; }
 .ph-home .ph-offer-bottom { gap:17px; }
 .ph-home .ph-book-now { width:100%; }
 .ph-home .ph-slider-navigation { margin-top:16px; }
 .ph-home .ph-notice-section { padding:22px 0; }
 .ph-home .ph-notice-panel { padding:21px; gap:19px; }
 .ph-home .ph-notice-points { grid-template-columns:1fr; gap:10px; }
 .ph-home .ph-notice-points li { font-size:13px; }
 .ph-home .ph-service-grid,.ph-home .ph-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .ph-home .ph-service-photo { aspect-ratio:1.28; }
 .ph-home .ph-service-body { padding:13px; }
 .ph-home .ph-service-body h3 { font-size:13px; line-height:1.4; min-height:68px; }
 .ph-home .ph-service-badge { font-size:8px; left:8px; bottom:8px; padding:5px 7px; }
 .ph-home .ph-service-bottom { gap:4px; margin-top:9px; padding-top:10px; }
 .ph-home .ph-service-bottom small { font-size:9px; }
 .ph-home .ph-service-bottom a { font-size:10px; }
 .ph-home .ph-client-body { padding:12px; }
 .ph-home .ph-client-body h3 { font-size:12px; min-height:49px; }
 .ph-home .ph-video-label { font-size:10px; }
 .ph-home .ph-gallery-item { aspect-ratio:1.3; }
 .ph-home .ph-gallery-caption { font-size:10px; left:9px; bottom:9px; right:8px; }
 .ph-home .ph-gallery-caption i { padding:5px; }
 .ph-home .ph-reviews-grid { grid-template-columns:1fr; gap:15px; }
 .ph-home .ph-review-body { padding:15px; }
 .ph-home .ph-review-body h3 { font-size:14px; }
 .ph-home .ph-review-body span { font-size:11px; }
}
@media(max-width:359px) {
 .ph-home .ph-service-grid { grid-template-columns:1fr; }
 .ph-home .ph-service-body h3 { min-height:0; }
 .ph-home .ph-offer-body { padding:16px; }
 .ph-home .ph-clients-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
 .ph-home .ph-service-card,.ph-home .ph-service-photo img,.ph-home .ph-gallery-item img,.ph-home .ph-book-now { transition:none; }
}

/* ── Home 2026 enhanced: clear section identity + motion + own offer slider ──
   All rules are scoped below .ph-home; existing header/banner/footer stay unchanged. */
.ph-home { overflow:clip; }
.ph-home .ph-section { position:relative; isolation:isolate; padding-top:76px; padding-bottom:83px; }
.ph-home .ph-section > .container { position:relative; z-index:1; }
.ph-home .ph-section + .ph-section,
.ph-home .ph-notice-section + .ph-section { border-top:1px solid rgba(31,89,152,.12); }
.ph-home .ph-running-offers {
 background:radial-gradient(ellipse at 95% 6%,rgba(65,145,248,.12),transparent 33%),
            linear-gradient(180deg,#f3f8ff 0%,#fafdff 100%);
 border-top:1px solid #e3edf9;
}
.ph-home .ph-running-offers::after { content:""; position:absolute; z-index:0; width:360px; height:360px; border:1px solid #a9cdf02b; border-radius:50%; top:28px; right:-175px; pointer-events:none; }
.ph-home .ph-services { background:#fff; }
.ph-home .ph-clients { background:radial-gradient(circle at 0% 75%,#dceaf838 0%,transparent 35%),#f0f6fe; }
.ph-home .ph-gallery { background:linear-gradient(145deg,#fffcf7 0%,#fff 53%,#f8fbff 100%); }
.ph-home .ph-reviews { background:linear-gradient(133deg,#0c2444,#173d6a 62%,#0e2c50); border-top:1px solid #0a315d; }
.ph-home .ph-reviews::before { content:""; position:absolute; width:500px; height:500px; background:radial-gradient(circle,#48a1ff19,transparent 68%); right:-160px; top:-200px; pointer-events:none; }
.ph-home .ph-section-heading { position:relative; margin-bottom:35px; }
.ph-home .ph-section-heading h2 { color:#1366d9; font-size:clamp(22px,2.3vw,29px); line-height:1.25; font-weight:850; letter-spacing:.1px; }
.ph-home .ph-section-heading h2::before,.ph-home .ph-section-heading h2::after { background:linear-gradient(90deg,transparent,#c5d9f4); }
.ph-home .ph-section-heading h2::after { background:linear-gradient(90deg,#c5d9f4,transparent); }
.ph-home .ph-section-mark { margin-top:10px; }
.ph-home .ph-section-eyebrow { display:block; color:#4e729f; font-size:11px; font-weight:800; letter-spacing:2.1px; text-transform:uppercase; margin:0 0 12px; }
.ph-home .ph-heading-offer { margin-bottom:24px; }
.ph-home .ph-heading-offer h2 { text-transform:none; }
.ph-home .ph-services .ph-section-heading::after,.ph-home .ph-gallery .ph-section-heading::after { content:""; display:block; width:46px; height:3px; margin:13px auto 0; border-radius:9px; background:linear-gradient(90deg,#117bfa,#49c2f8); }
.ph-home .ph-reviews .ph-section-heading h2 { color:#fff; }
.ph-home .ph-reviews .ph-section-eyebrow { color:#b4d5fa; }
.ph-home .ph-reviews .ph-section-mark { color:#66bdff; }
.ph-home .ph-reviews .ph-section-heading h2::before,.ph-home .ph-reviews .ph-section-heading h2::after { background:#8cb9e440; }
.ph-home .ph-view-all { box-shadow:0 5px 14px #1868d20d; transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease; }
.ph-home .ph-view-all:hover { transform:translateY(-2px); box-shadow:0 8px 20px #2468c31a; }

/* Autoplay slider: fully self-contained, no dependency on Bootstrap's carousel JS. */
.ph-home .ph-offer-carousel { --ph-interval:6000ms; position:relative; min-width:0; }
.ph-home .ph-slides { position:relative; width:100%; display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; isolation:isolate; }
.ph-home .ph-slide { display:block; grid-column:1; grid-row:1; min-width:0; opacity:0; visibility:hidden; transform:translate3d(22px,0,0) scale(.986); transition:opacity .85s cubic-bezier(.2,.65,.28,1), transform .85s cubic-bezier(.2,.65,.28,1), visibility .85s; pointer-events:none; z-index:0; }
.ph-home .ph-slide.active { opacity:1; visibility:visible; transform:translate3d(0,0,0) scale(1); pointer-events:auto; z-index:1; }
.ph-home .ph-offer-card { height:100%; box-shadow:0 16px 44px #1b4b8515; border-radius:17px; border-color:#d8e7f7; }
.ph-home .ph-slide.active .ph-offer-photo img { animation:ph-offer-image-pan 8s ease-out both; }
.ph-home .ph-slide.active .ph-offer-body { animation:ph-offer-content-in .8s cubic-bezier(.19,1,.22,1) both; }
.ph-home .ph-offer-photo::after { content:""; position:absolute; inset:45% 0 0; pointer-events:none; background:linear-gradient(0deg,#0c2b496b,transparent); }
.ph-home .ph-photo-tag { z-index:2; }
.ph-home .ph-slider-navigation { margin-top:25px; display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; }
.ph-home .ph-offer-carousel .ph-slider-arrow,
.ph-home .ph-offer-carousel .ph-slider-toggle {
 position:relative; width:40px; height:40px; padding:0; border:1px solid #cadcf4; border-radius:11px;
 display:inline-flex; justify-content:center; align-items:center; font-weight:700; color:#165caf; background:#fff;
 box-shadow:0 4px 15px #0b3b7910; cursor:pointer; transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.ph-home .ph-offer-carousel .ph-slider-arrow:hover,
.ph-home .ph-offer-carousel .ph-slider-toggle:hover { transform:translateY(-2px); background:#e9f3ff; box-shadow:0 8px 19px #0b55b72c; }
.ph-home .ph-offer-carousel .ph-slider-dots { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 8px; padding:0; position:static; }
.ph-home .ph-offer-carousel .ph-slider-dots button { width:9px; height:9px; flex:0 0 auto; padding:0; border:0; opacity:1; border-radius:20px; background:#c0d4ed; cursor:pointer; transition:width .34s ease,background .34s ease,transform .34s ease; }
.ph-home .ph-offer-carousel .ph-slider-dots button:hover { background:#5fa7f0; transform:scale(1.12); }
.ph-home .ph-offer-carousel .ph-slider-dots button.active { width:28px; background:#1269ef; }
.ph-home .ph-slide-counter { font-variant-numeric:tabular-nums; color:#597490; font-size:13px; font-weight:700; padding:0 7px; white-space:nowrap; }
.ph-home .ph-slide-current { color:#135ac1; font-weight:900; font-size:16px; }
.ph-home .ph-slide-counter-separator { padding:0 5px; color:#a0b4ce; }
.ph-home .ph-offer-carousel .ph-slider-toggle { width:auto; min-width:87px; gap:8px; font-size:12px; padding:0 12px; }
.ph-home .ph-offer-carousel .ph-slider-toggle[aria-pressed="true"] { background:#e9f3ff; color:#134a9a; }
.ph-home .ph-slider-progress { height:3px; background:#dceafb; overflow:hidden; border-radius:99px; margin:18px auto 0; max-width:380px; }
.ph-home .ph-slider-progress-fill { display:block; background:linear-gradient(90deg,#116cec,#39baff); height:100%; transform-origin:left; transform:scaleX(0); }
.ph-home .ph-offer-carousel.is-playing .ph-slider-progress-fill { animation:ph-slide-timeline var(--ph-interval) linear both; }
.ph-home .ph-no-offers { background:#fff; }

/* Full-width notice band that feels separate from the offer and service blocks. */
.ph-home .ph-notice-section { padding:56px 0; background:radial-gradient(circle at 92% 32%,#2875bd55 0%,transparent 33%),linear-gradient(120deg,#0c3159,#15518a); border-top:0; border-bottom:0; position:relative; isolation:isolate; }
.ph-home .ph-notice-section::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(115deg,transparent 0px,transparent 42px,#ffffff05 43px,#ffffff05 44px); pointer-events:none; }
.ph-home .ph-notice-panel { position:relative; z-index:1; border:1px solid #c7e3fd; border-left:5px solid #4cb2ff; border-radius:17px; box-shadow:0 15px 42px #00142d45; }
.ph-home .ph-notice-icon { color:#fff; background:linear-gradient(135deg,#1175ea,#3db4f4); box-shadow:0 5px 12px #1a76d139; }
.ph-home .ph-notice-points li { color:#233e5e; }
.ph-home .ph-notice-points li::before { content:'✓'; }

/* Elevated cards, hover micro-interactions, no layout shifts. */
.ph-home .ph-service-card { border-color:#dbe7f4; box-shadow:0 8px 25px #224e8112; transition:transform .4s cubic-bezier(.19,1,.22,1),box-shadow .4s ease,border-color .4s ease; }
.ph-home .ph-service-card:hover { transform:translateY(-7px); border-color:#b8d6fa; box-shadow:0 20px 38px #173c6925; }
.ph-home .ph-service-photo img,.ph-home .ph-gallery-item img { transition:transform .8s cubic-bezier(.17,.67,.2,1),filter .6s ease; }
.ph-home .ph-service-card:hover .ph-service-photo img { transform:scale(1.085); }
.ph-home .ph-gallery-item { box-shadow:0 7px 22px #153d711c; transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .42s ease; }
.ph-home .ph-gallery-item:hover { transform:translateY(-5px); box-shadow:0 14px 32px #153d712b; }
.ph-home .ph-gallery-item:hover img { transform:scale(1.09); }
.ph-home .ph-gallery-item::after { transition:opacity .4s ease; }
.ph-home .ph-gallery-item:hover::after { opacity:1; }
.ph-home .ph-client-card,.ph-home .ph-review-card { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.ph-home .ph-client-card:hover,.ph-home .ph-review-card:hover { transform:translateY(-5px); box-shadow:0 17px 38px #0f376a28; border-color:#a9cff5; }
.ph-home .ph-video-frame,.ph-home .ph-review-video { background:linear-gradient(135deg,#d7e8fa,#9bbfe6); }
.ph-home .ph-review-body h3 { color:#203b5b; }

/* Reveal only when JS and intersection-observer are available; no-JS remains readable. */
.ph-home.ph-motion-ready .ph-reveal { opacity:0; transform:translate3d(0,25px,0); transition:opacity .72s cubic-bezier(.15,.74,.25,1), transform .72s cubic-bezier(.15,.74,.25,1); }
.ph-home.ph-motion-ready .ph-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.ph-home.ph-motion-ready .ph-service-grid > .ph-reveal:nth-child(3n+2),
.ph-home.ph-motion-ready .ph-clients-grid > .ph-reveal:nth-child(4n+2),
.ph-home.ph-motion-ready .ph-gallery-grid > .ph-reveal:nth-child(4n+2) { transition-delay:80ms; }
.ph-home.ph-motion-ready .ph-service-grid > .ph-reveal:nth-child(3n),
.ph-home.ph-motion-ready .ph-clients-grid > .ph-reveal:nth-child(4n+3),
.ph-home.ph-motion-ready .ph-gallery-grid > .ph-reveal:nth-child(4n+3) { transition-delay:150ms; }
.ph-home.ph-motion-ready .ph-clients-grid > .ph-reveal:nth-child(4n),
.ph-home.ph-motion-ready .ph-gallery-grid > .ph-reveal:nth-child(4n) { transition-delay:210ms; }
.ph-home.ph-motion-ready .ph-reveal.is-visible.ph-service-card:hover { transform:translateY(-7px); transition-delay:0ms; }
.ph-home.ph-motion-ready .ph-reveal.is-visible.ph-gallery-item:hover { transform:translateY(-5px); transition-delay:0ms; }
.ph-home.ph-motion-ready .ph-reveal.is-visible.ph-client-card:hover,
.ph-home.ph-motion-ready .ph-reveal.is-visible.ph-review-card:hover { transform:translateY(-5px); transition-delay:0ms; }

@keyframes ph-slide-timeline { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes ph-offer-image-pan { from { transform:scale(1.0); } to { transform:scale(1.06); } }
@keyframes ph-offer-content-in { from { opacity:.7; transform:translate3d(0,12px,0); } to { opacity:1; transform:translate3d(0,0,0); } }

@media (max-width:991.98px) {
 .ph-home .ph-section { padding-top:65px; padding-bottom:69px; }
 .ph-home .ph-notice-section { padding:48px 0; }
}
@media (max-width:767.98px) {
 .ph-home .ph-section { padding-top:50px; padding-bottom:54px; }
 .ph-home .ph-section-eyebrow { font-size:10px; letter-spacing:1.35px; margin-bottom:10px; }
 .ph-home .ph-section-heading { margin-bottom:25px; }
 .ph-home .ph-section-heading h2 { font-size:clamp(19px,5.2vw,24px); gap:10px; }
 .ph-home .ph-offer-carousel .ph-slide { transform:translate3d(14px,0,0); }
 .ph-home .ph-offer-card { border-radius:12px; }
 .ph-home .ph-offer-photo { height:215px; }
 .ph-home .ph-offer-body { padding:18px; }
 .ph-home .ph-offer-details { gap:12px 10px; }
 .ph-home .ph-offer-details strong { font-size:12px; }
 .ph-home .ph-slider-navigation { gap:7px; margin-top:18px; }
 .ph-home .ph-offer-carousel .ph-slider-arrow { width:36px; height:36px; }
 .ph-home .ph-offer-carousel .ph-slider-dots { gap:5px; margin:0 2px; }
 .ph-home .ph-offer-carousel .ph-slider-dots button.active { width:20px; }
 .ph-home .ph-slide-counter { font-size:11px; padding:0 3px; }
 .ph-home .ph-slide-current { font-size:13px; }
 .ph-home .ph-offer-carousel .ph-slider-toggle { min-width:72px; height:36px; padding:0 8px; font-size:11px; gap:5px; }
 .ph-home .ph-notice-section { padding:35px 0; }
 .ph-home .ph-notice-panel { border-radius:13px; padding:20px; }
 .ph-home .ph-service-card:hover,.ph-home .ph-gallery-item:hover,.ph-home .ph-client-card:hover,.ph-home .ph-review-card:hover { transform:none; }
 .ph-home.ph-motion-ready .ph-reveal.is-visible.ph-service-card:hover,
 .ph-home.ph-motion-ready .ph-reveal.is-visible.ph-gallery-item:hover,
 .ph-home.ph-motion-ready .ph-reveal.is-visible.ph-client-card:hover,
 .ph-home.ph-motion-ready .ph-reveal.is-visible.ph-review-card:hover { transform:none; }
}
@media (max-width:379.98px) {
 .ph-home .ph-slider-navigation { gap:5px; }
 .ph-home .ph-slider-dots { max-width:100px; flex-wrap:wrap; }
 .ph-home .ph-slide-counter { order:6; }
 .ph-home .ph-slider-toggle { order:7; }
 .ph-home .ph-offer-body { padding:15px; }
 .ph-home .ph-gallery-caption { font-size:9px; }
}
@media (hover:none) {
 .ph-home .ph-service-card:hover,
 .ph-home .ph-gallery-item:hover,
 .ph-home .ph-client-card:hover,
 .ph-home .ph-review-card:hover { box-shadow:inherit; }
}
@media (prefers-reduced-motion:reduce) {
 .ph-home .ph-slide,.ph-home .ph-reveal,.ph-home.ph-motion-ready .ph-reveal,
 .ph-home .ph-service-card,.ph-home .ph-service-photo img,.ph-home .ph-gallery-item,
 .ph-home .ph-gallery-item img,.ph-home .ph-client-card,.ph-home .ph-review-card,
 .ph-home .ph-slider-arrow,.ph-home .ph-slider-toggle,.ph-home .ph-slider-dots button,
 .ph-home .ph-view-all,.ph-home .ph-slide.active .ph-offer-body { animation:none!important; transition:none!important; }
 .ph-home .ph-slide.active .ph-offer-photo img,.ph-home .ph-offer-carousel.is-playing .ph-slider-progress-fill { animation:none!important; }
 .ph-home.ph-motion-ready .ph-reveal { opacity:1; transform:none; }
}
