/* Shared animated hero treatment */
.hero-card {
  isolation: isolate;
  overflow: hidden;
}
.hero-card img {
  width: 100%;
  height: clamp(300px, 38vw, 520px);
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  transform: scale(1.08);
  transform-origin: 50% 70%;
  filter: brightness(.72) saturate(.9) contrast(1.04);
  transition: filter .8s ease;
}
.hero-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 3%;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 15% 22%, #fff 0 2px, transparent 3px),
    radial-gradient(circle at 83% 18%, #fff7c2 0 3px, transparent 4px),
    radial-gradient(circle at 90% 62%, #fff 0 2px, transparent 3px),
    radial-gradient(circle at 22% 78%, #ffe08a 0 3px, transparent 4px),
    radial-gradient(circle at 64% 9%, #fff 0 1.5px, transparent 3px),
    radial-gradient(circle at 47% 87%, #fff7c2 0 2px, transparent 3px);
  filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 9px rgba(255,215,112,.85));
  animation: star-shine 2.4s ease-in-out infinite;
}
@keyframes star-shine {
  0%, 100% { opacity: .3; transform: scale(.98) rotate(-.3deg); }
  45% { opacity: 1; transform: scale(1.015) rotate(.3deg); }
  65% { opacity: .55; }
}

.celestial {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}
.sun, .moon {
  top: 2%;
  left: 54%;
  right: auto;
  width: clamp(36px, 5vw, 64px);
  aspect-ratio: 1;
  border-radius: 50%;
  clip-path: inset(0 0 38% 0);
  animation: celestial-rise 9s ease-in-out infinite alternate;
}
.sun {
  z-index: 1;
  opacity: .72;
  background: radial-gradient(circle at 38% 35%, #fffce0 0 12%, #ffd477 35%, #e89a3c 72%);
  box-shadow: 0 0 26px #ffe5a6, 0 0 78px rgba(255,188,86,.58);
  mix-blend-mode: screen;
}
.moon {
  display: block;
  background: radial-gradient(circle at 38% 32%, #fff 0 10%, #dce8ed 46%, #93aeb9 100%);
  box-shadow: 0 0 18px #e8f6ff, 0 0 42px rgba(172,214,231,.65);
}
.window-shade {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  transition: opacity .8s ease, background .8s ease;
  background:
    radial-gradient(circle at 51% 27%, rgba(255,190,92,.32), transparent 5%),
    radial-gradient(circle at 51% 47%, rgba(255,181,72,.35), transparent 11%),
    radial-gradient(circle at 69% 43%, rgba(255,188,83,.3), transparent 7%),
    radial-gradient(circle at 42% 67%, rgba(255,181,72,.28), transparent 8%),
    radial-gradient(circle at 69% 66%, rgba(255,181,72,.3), transparent 8%),
    radial-gradient(circle at 51% 74%, rgba(255,164,55,.26), transparent 8%);
  mix-blend-mode: screen;
}
.house-light {
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(112deg, transparent 20%, rgba(255,226,164,.22) 45%, rgba(10,30,40,.18) 65%, transparent 82%);
  mix-blend-mode: soft-light;
  animation: light-sweep 8s ease-in-out infinite alternate;
}
@keyframes celestial-rise {
  from { opacity: .2; transform: translate(-50%, 75px) scale(.72); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
@keyframes light-sweep {
  from { opacity: .3; transform: translateX(-18%); }
  to { opacity: .9; transform: translateX(18%); }
}
.model-premium[data-theme="light"] .moon { display: none; }
.model-premium:not([data-theme="light"]) .sun { display: none; }
.model-premium[data-theme="light"] .hero-card img { filter: brightness(1.09) saturate(.9) contrast(.96); }
.model-premium[data-theme="light"] .window-shade {
  opacity: .82;
  background:
    linear-gradient(rgba(66,91,99,.42),rgba(66,91,99,.42)) 51% 25% / 5% 10% no-repeat,
    linear-gradient(rgba(66,91,99,.38),rgba(66,91,99,.38)) 51% 43% / 12% 15% no-repeat,
    linear-gradient(rgba(66,91,99,.38),rgba(66,91,99,.38)) 69% 42% / 7% 12% no-repeat,
    linear-gradient(rgba(66,91,99,.35),rgba(66,91,99,.35)) 42% 64% / 8% 12% no-repeat,
    linear-gradient(rgba(66,91,99,.35),rgba(66,91,99,.35)) 69% 63% / 8% 13% no-repeat;
  mix-blend-mode: multiply;
}

.lark {
  position: absolute;
  z-index: 3;
  top: 18%;
  left: -8%;
  width: 22px;
  height: 12px;
  pointer-events: none;
  opacity: .65;
  animation: lark-flight 13s linear infinite;
}
.lark::before, .lark::after {
  content: "";
  position: absolute;
  top: 4px;
  width: 13px;
  height: 7px;
  border-top: 2px solid #173746;
  border-radius: 50% 50% 0 0;
}
.lark::before { left: 0; transform: rotate(18deg); }
.lark::after { right: 0; transform: rotate(-18deg); }
.lark-two {
  top: 25%;
  animation-delay: -5s;
  animation-duration: 16s;
  transform: scale(.72);
  opacity: .5;
}
@keyframes lark-flight {
  0% { left: -8%; transform: translateY(8px) scale(.75); }
  35% { transform: translateY(-7px) scale(.9); }
  70% { transform: translateY(5px) scale(.82); }
  100% { left: 108%; transform: translateY(-3px) scale(.75); }
}
.model-premium:not([data-theme="light"]) .lark { display: none; }

/* Model 1: clean and trustworthy */
.model-classic {
  --navy: #174a3a;
  --navy-2: #0d3026;
  --orange: #d67a32;
  --green: #79a94b;
  --ink: #21342d;
  --muted: #66786f;
  --line: #dce5da;
  --bg: #f7f3e8;
}
.model-classic .page {
  background:
    radial-gradient(circle at 10% 10%, rgba(214,122,50,.12), transparent 28%),
    radial-gradient(circle at 90% 20%, rgba(121,169,75,.14), transparent 30%),
    linear-gradient(180deg,#fffdf7 0%,#f7f3e8 70%,#fffdf7 100%);
}
.model-classic .service { transition: transform .2s ease, box-shadow .2s ease; }
.model-classic .service:hover { transform: translateY(-6px); box-shadow: 0 22px 45px rgba(13,47,99,.13); }

/* Model 2: bold editorial layout */
.model-modern {
  --navy: #173b57;
  --navy-2: #0b2438;
  --orange: #e85d4a;
  --green: #5bc4b1;
  --bg: #e9f0f4;
  --line: #b9cbd6;
  --radius: 8px;
}
.model-modern .page { background: linear-gradient(120deg, #f1f6f8 0 55%, #bfe9df 55% 100%); }
.model-modern .topbar { background: rgba(233,240,244,.9); border-bottom: 2px solid #173b57; }
.model-modern .brand-logo, .model-modern .pill, .model-modern .service,
.model-modern .about-box, .model-modern .contact-box, .model-modern .hero-card { border-radius: 8px; border: 2px solid #173b57; box-shadow: 8px 8px 0 #173b57; }
.model-modern h1 { text-transform: uppercase; letter-spacing: -.07em; }
.model-modern .eyebrow { border-radius: 3px; background: #173b57; color: #fff; }
.model-modern .btn { border-radius: 4px; }
.model-modern .service { transition: transform .18s ease; }
.model-modern .service:hover { transform: rotate(-1deg) translateY(-5px); }

/* Model 3: dark premium */
.model-premium {
  --navy: #f0bd72;
  --navy-2: #cf8f4e;
  --orange: #d89452;
  --green: #7ea16f;
  --ink: #f7f1e6;
  --muted: #b8c3c1;
  --line: rgba(240,189,114,.22);
  --bg: #102733;
  --white: #173746;
}
.model-premium .page { background: radial-gradient(circle at 80% 10%, rgba(240,189,114,.13), transparent 32%), linear-gradient(180deg,#102733,#193b49 65%,#0c202a); }
.model-premium .topbar { background: rgba(16,39,51,.86); }
.model-premium .brand-logo {
  width: 86px;
  height: 54px;
  padding: 5px;
  border: 1px solid rgba(240,189,114,.42);
  border-radius: 12px;
  background: #f7f1e6;
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.model-premium .brand strong {
  color: #f7f1e6;
  letter-spacing: .015em;
}
.model-premium .brand span {
  color: #f0bd72;
  font-weight: 750;
}
.model-premium .pill, .model-premium .service, .model-premium .about-box,
.model-premium .contact-box, .model-premium .contact-item,
.model-premium .process-step, .model-premium .benefit-card,
.model-premium .faq-item { background: rgba(23,55,70,.94); }
.model-premium .hero-card { background: linear-gradient(145deg,rgba(240,189,114,.18),rgba(126,161,111,.08)); border-color: rgba(240,189,114,.3); }
.model-premium .hero-card { padding: 0; }
.model-premium .hero-card img { border-radius: inherit; }
.model-premium .service { transition: border-color .2s ease, transform .2s ease; }
.model-premium .quick-info { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 920px) { .model-premium .quick-info { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .model-premium .quick-info { grid-template-columns: 1fr; } }
.model-premium .service:hover { border-color: #f0bd72; transform: translateY(-5px); }
.model-premium .footer { background: rgba(12,32,42,.8); }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.theme-toggle:hover { border-color: var(--green); }
.language-switch {
  min-height: 42px;
  padding: 8px 30px 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.appearance-switch {
  min-height: 42px;
  padding: 8px 30px 8px 12px;
  border: 2px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--navy);
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}
.service-promise {
  margin-bottom: 26px;
  padding: 20px 22px;
  border-left: 4px solid var(--orange);
  border-radius: 0 18px 18px 0;
  background: color-mix(in srgb, var(--orange) 10%, transparent);
}
.service-promise p { margin: 0; color: var(--muted); font-size: 17px; }
.service-promise p + p { margin-top: 10px; }
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .brand, html[dir="rtl"] .checks li, html[dir="rtl"] .form-consent { flex-direction: row-reverse; }

.model-premium[data-theme="light"] {
  --navy: #244b5a;
  --navy-2: #173746;
  --orange: #b86e35;
  --green: #607f54;
  --ink: #24383e;
  --muted: #68787a;
  --line: #d9d4c7;
  --bg: #f3eee3;
  --white: #ffffff;
}
.model-premium[data-theme="light"] .page {
  background:
    radial-gradient(circle at 82% 9%, rgba(36,75,90,.14), transparent 32%),
    radial-gradient(circle at 10% 18%, rgba(216,148,82,.16), transparent 28%),
    linear-gradient(180deg,#fffaf0,#f3eee3 68%,#fffdf7);
}
.model-premium[data-theme="light"] .topbar { background: rgba(255,255,255,.86); }
.model-premium[data-theme="light"] .brand-logo {
  border-color: rgba(36,75,90,.25);
  background: #fffaf0;
  box-shadow: 0 9px 24px rgba(36,75,90,.14);
}
.model-premium[data-theme="light"] .brand strong { color: #244b5a; }
.model-premium[data-theme="light"] .brand span { color: #b86e35; }
.model-premium[data-theme="light"] .pill,
.model-premium[data-theme="light"] .service,
.model-premium[data-theme="light"] .about-box,
.model-premium[data-theme="light"] .contact-box,
.model-premium[data-theme="light"] .contact-item,
.model-premium[data-theme="light"] .process-step,
.model-premium[data-theme="light"] .benefit-card,
.model-premium[data-theme="light"] .faq-item { background: rgba(255,255,255,.94); }
.model-premium[data-theme="light"] .section-heading h2,
.model-premium[data-theme="light"] .process-step h3,
.model-premium[data-theme="light"] .benefit-card h3,
.model-premium[data-theme="light"] .faq-item summary { color: #244b5a; }
.model-premium[data-theme="light"] .section-heading p,
.model-premium[data-theme="light"] .process-step p,
.model-premium[data-theme="light"] .benefit-card p,
.model-premium[data-theme="light"] .faq-item p { color: #68787a; }
.model-premium[data-theme="light"] .hero-card {
  background: linear-gradient(145deg,rgba(36,75,90,.14),rgba(216,148,82,.13));
  border-color: rgba(36,75,90,.22);
}
.model-premium[data-theme="light"] .footer { background: rgba(255,255,255,.78); }

.model-premium[data-theme="contrast"] {
  --navy: #ffff00;
  --navy-2: #ffff00;
  --orange: #00ffff;
  --green: #00ff66;
  --ink: #ffffff;
  --muted: #ffffff;
  --line: #ffffff;
  --bg: #000000;
  --white: #000000;
}
.model-premium[data-theme="contrast"] .page,
.model-premium[data-theme="contrast"] .topbar,
.model-premium[data-theme="contrast"] .footer { background:#000; }
.model-premium[data-theme="contrast"] .pill,
.model-premium[data-theme="contrast"] .service,
.model-premium[data-theme="contrast"] .about-box,
.model-premium[data-theme="contrast"] .contact-box,
.model-premium[data-theme="contrast"] .contact-item,
.model-premium[data-theme="contrast"] .process-step,
.model-premium[data-theme="contrast"] .benefit-card,
.model-premium[data-theme="contrast"] .faq-item,
.model-premium[data-theme="contrast"] .contact-form-wrap { background:#000; border:2px solid #fff; box-shadow:none; }
.model-premium[data-theme="contrast"] a:not(.btn):not(.brand) { color:#ffff00; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.model-premium[data-theme="contrast"] .btn { border:2px solid #fff; box-shadow:none; }
.model-premium[data-theme="contrast"] .btn-primary { background:#ffff00; color:#000; }
.model-premium[data-theme="contrast"] .btn-secondary { background:#00ffff; color:#000; }
.model-premium[data-theme="contrast"] .btn-ghost { background:#000; color:#fff; }
.model-premium[data-theme="contrast"] input,
.model-premium[data-theme="contrast"] textarea,
.model-premium[data-theme="contrast"] select { background:#000; color:#fff; border:2px solid #fff; }
.model-premium[data-theme="contrast"] :focus-visible { outline:4px solid #00ffff; outline-offset:4px; }
.model-premium[data-theme="contrast"] .hero-card,
.model-premium[data-theme="contrast"] .brand-logo { border:3px solid #fff; box-shadow:none; }
.model-premium[data-theme="contrast"] .service-promise { border-left:6px solid #00ffff; background:#000; }

@media (prefers-reduced-motion: reduce) {
  .hero-card img, .hero-card::after, .sun, .moon, .house-light, .window-shade, .lark { animation: none; }
  .lark { display: none; }
}

.carousel-controls { display: none; }

@media (max-width: 560px) {
  .model-premium .nav { flex-wrap: wrap; }
  .model-premium .theme-toggle { margin-left: auto; }
  .language-switch { order: 3; margin-left: auto; }
  .appearance-switch { order: 4; }
  .hero-card img {
    height: clamp(240px, 62vw, 360px);
    aspect-ratio: 4 / 3;
  }
  .services {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    margin-inline: -12px;
    padding: 6px 12px 18px;
  }
  .services::-webkit-scrollbar { display: none; }
  .services .service {
    flex: 0 0 86%;
    scroll-snap-align: start;
    min-height: 240px;
  }
  .carousel-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 10px;
  }
  .carousel-btn {
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--white);
    color: var(--navy);
    font: inherit;
    font-size: 22px;
    font-weight: 900;
    cursor: pointer;
  }
  .carousel-status { color: var(--muted); font-weight: 800; font-size: 14px; }
}

@media (max-width: 560px) and (prefers-reduced-motion: reduce) {
  .services { scroll-behavior: auto; }
}

/* Selected final hero: original bright artwork with only star sparkle overlay. */
.model-premium .hero-card img,
.model-premium[data-theme="light"] .hero-card img {
  filter: none;
}
.model-premium .hero-card .lark { display: block; }
.model-premium .hero-card .lark-one {
  top: 13%;
  left: 18%;
  animation: none;
  transform: scale(.82) rotate(-5deg);
}
.model-premium .hero-card .lark-two {
  top: 19%;
  left: auto;
  right: 13%;
  animation: none;
  transform: scale(.68) rotate(7deg);
}
