/* Telesecretariaat.PRO — friendly reception visual direction */
:root {
  --sun: #ffd65c;
  --sun-soft: #fff6cf;
  --mint: #b9eee8;
  --paper: #fbfdfd;
  --playful-shadow: 0 1rem 2.8rem rgba(9, 43, 59, .09);
}

body {
  background: var(--paper);
  font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
}

h1, h2, h3, h4 {
  font-family: "Avenir Next Rounded", "Avenir Next", Avenir, "Segoe UI", sans-serif;
  letter-spacing: -.035em;
}

.site-header { background: rgba(251, 253, 253, .94); }

.brand-logo {
  display: block;
  width: auto;
  height: 3.1rem;
  object-fit: contain;
}

.brand-mark {
  width: 2.5rem;
  height: 2.15rem;
  border-radius: 1.2rem 1.2rem 1.2rem .35rem;
  background: var(--teal-600);
  box-shadow: 0 .4rem 1rem rgba(1, 148, 166, .2);
}

.brand-mark::before {
  content: "•••";
  color: #fff;
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .06em;
  transform: translateY(-.08rem);
}

.brand-mark::after { display: none; }

.button {
  border: 1px solid rgba(9, 43, 59, .18);
  font-weight: 800;
  box-shadow: 0 .55rem 1.3rem rgba(9, 43, 59, .11);
}

.button:hover { transform: translateY(-.12rem); box-shadow: 0 .75rem 1.7rem rgba(9, 43, 59, .14); }
.button-teal { background: var(--teal-500); color: var(--navy-950); }
.button-light, .button-white { background: #fff; color: var(--navy-900); }

.hero {
  position: relative;
  overflow: hidden;
  padding: 3.75rem 0 4.5rem;
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 214, 92, .52) 0 3.5rem, transparent 3.6rem),
    var(--teal-100);
}

.hero::after {
  content: "";
  position: absolute;
  right: 6%;
  top: 2rem;
  width: 6.5rem;
  height: 6.5rem;
  opacity: .16;
  background-image: radial-gradient(var(--navy-900) 1.5px, transparent 1.5px);
  background-size: .8rem .8rem;
  transform: rotate(9deg);
}

.hero-grid { position: relative; z-index: 1; padding-block: 0; }
.hero-copy { max-width: 42rem; }

.eyebrow {
  border: 1px solid rgba(9, 43, 59, .14);
  background: rgba(255, 255, 255, .68);
  color: var(--navy-900);
}

.hero h1 {
  max-width: 13ch;
  margin-bottom: 1.35rem;
  color: var(--navy-950);
  font-size: clamp(3.15rem, 13vw, 6.4rem);
  line-height: .91;
  letter-spacing: -.065em;
}

.hero h1 em {
  position: relative;
  display: inline-block;
  color: var(--teal-700);
  font-style: normal;
  z-index: 0;
}

.hero h1 em::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -.12em;
  bottom: .02em;
  left: -.12em;
  height: .16em;
  border-radius: 999px;
  background: var(--sun);
}

.hero-lead { color: var(--navy-800); font-size: 1.08rem; }

.checks li::before {
  display: inline-grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border: 1px solid rgba(9, 43, 59, .22);
  border-radius: 50%;
  background: var(--sun);
  color: var(--navy-950);
}

.hero-media { isolation: isolate; }
.hero-photo-wrap {
  padding: .55rem;
  border: 1px solid rgba(9, 43, 59, .16);
  border-radius: 48% 48% 1.6rem 1.6rem;
  background: #fff;
  box-shadow: 0 1.8rem 4.5rem rgba(9, 43, 59, .18);
}

.hero-photo { border-radius: 48% 48% 1.05rem 1.05rem; }

.call-badge, .report-badge {
  border: 1px solid rgba(9, 43, 59, .17);
  box-shadow: 0 .8rem 2rem rgba(9, 43, 59, .13);
}

.call-badge { background: var(--sun); }
.report-badge { background: #fff; }

.trust-bar { border: 0; background: var(--navy-950); color: #fff; }
.trust-grid { gap: .7rem; padding-block: 1.15rem; }
.trust-item {
  position: relative;
  min-height: 0;
  padding: .85rem 1rem .85rem 2.5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.trust-item::before { content: "✦"; position: absolute; left: .85rem; top: .85rem; color: var(--sun); }
.trust-item strong { color: #fff; }
.trust-item span { color: #c7d9df; }
.trust-grid .trust-item:first-child { padding-left: 2.5rem; }
.trust-grid .trust-item:last-child { padding-right: 1rem; }

.service-card {
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  box-shadow: var(--playful-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}

.service-card:nth-child(n) { background: #fff; }
.service-card:hover { transform: translateY(-.25rem); box-shadow: 0 1.4rem 3.3rem rgba(9, 43, 59, .13); }
.service-card.featured { background: var(--mint); color: var(--copy); }
.service-card.featured h3, .service-card.featured .card-link { color: var(--navy-950); }
.service-card.featured .card-icon { border: 1px solid rgba(9, 43, 59, .15); background: #fff; color: var(--navy-900); }
.card-icon { border: 1px solid var(--line); background: var(--teal-50); color: var(--teal-700); }

.section-heading h2 { max-width: 15ch; }

.section-how {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 13%, rgba(255, 214, 92, .28) 0 6rem, transparent 6.1rem),
    var(--surface);
  color: var(--navy-800);
}

.section-how::before {
  content: "";
  position: absolute;
  left: 4%;
  bottom: 8%;
  width: 5rem;
  height: 5rem;
  opacity: .15;
  background-image: radial-gradient(var(--navy-950) 1.5px, transparent 1.5px);
  background-size: .72rem .72rem;
}

.section-how .shell { position: relative; z-index: 1; }
.section-how h2, .section-how h3 { color: var(--navy-950); }

.section-how .step {
  position: relative;
  grid-template-columns: 4rem 1fr;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 .8rem 2.2rem rgba(9, 43, 59, .07);
}

.section-how .step:nth-child(2) { margin-left: 1rem; background: var(--teal-50); }
.section-how .step:nth-child(3) { margin-right: .75rem; background: #fff; }
.section-how .step-number { color: var(--teal-700); font-size: .68rem; letter-spacing: .02em; }

.pill {
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 .35rem 1rem rgba(9, 43, 59, .06);
  transition: transform .18s ease, background .18s ease;
}
.pill:nth-child(3n + 2) { background: var(--teal-50); }
.pill:hover { border-color: var(--teal-600); background: var(--sun-soft); transform: translateY(-.12rem); }

.cta-band {
  position: relative;
  overflow: hidden;
  background: var(--teal-500);
  color: var(--navy-950);
}

.cta-band::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -7rem;
  width: 18rem;
  height: 18rem;
  border: 2rem solid rgba(255, 255, 255, .18);
  border-radius: 50%;
}

.cta-band .cta-inner { position: relative; z-index: 1; }
.cta-band h2 { max-width: 18ch; color: var(--navy-950); }
.cta-band .eyebrow { border-color: var(--navy-900); background: var(--sun); color: var(--navy-950); }
.cta-band .phone-link small, .cta-band .phone-link strong { color: var(--navy-950); }

.site-footer { border-radius: 0; }
.footer-logo {
  width: fit-content;
  padding: .55rem .75rem;
  border-radius: .85rem;
  background: #fff;
}
.footer-logo .brand-logo { height: 3.35rem; }

.dropdown-list {
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 1.2rem 3rem rgba(9, 43, 59, .13);
}

.site-nav.is-open {
  height: calc(100dvh - 4.75rem);
  min-height: calc(100vh - 4.75rem);
  padding-bottom: max(2rem, env(safe-area-inset-bottom));
}

.site-nav.is-open .nav-list {
  min-height: 100%;
  align-content: start;
  gap: .5rem;
}

.breadcrumb-wrap { border: 0; background: var(--sun-soft); }

.page-hero {
  position: relative;
  isolation: isolate;
  padding-block: 4.4rem;
  background:
    radial-gradient(circle at 88% 38%, rgba(255, 214, 92, .72) 0 4.5rem, transparent 4.6rem),
    var(--teal-100);
  color: var(--navy-800);
}

.page-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 8%;
  top: 1.5rem;
  width: 7rem;
  height: 7rem;
  opacity: .12;
  background-image: radial-gradient(var(--navy-950) 1.5px, transparent 1.5px);
  background-size: .8rem .8rem;
  transform: rotate(8deg);
}

.page-hero h1 { color: var(--navy-950); }
.page-hero .eyebrow-light { border-color: rgba(9, 43, 59, .18); background: #fff; color: var(--navy-900); }
.page-hero p { color: var(--navy-800); }

.section-soft { background: var(--paper); }

.subnav {
  border: 1px solid var(--line);
  border-top: .28rem solid var(--teal-600);
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 .8rem 2.2rem rgba(9, 43, 59, .07);
}
.subnav strong { color: var(--navy-900); }
.subnav a { border: 1px solid transparent; }
.subnav a:hover, .subnav a[aria-current="page"] { border-color: var(--line); background: var(--teal-50); color: var(--teal-700); }

.content-main h2 { color: var(--navy-950); }
.content-main h2::after {
  content: "";
  display: block;
  width: 2.8rem;
  height: .34rem;
  margin-top: .65rem;
  border-radius: 999px;
  background: var(--sun);
  transform: rotate(-2deg);
}

.highlight {
  position: relative;
  border: 1px solid #c9e6e7;
  border-left: .28rem solid var(--teal-600);
  border-radius: 0 1rem 1rem 0;
  background: var(--teal-50);
  box-shadow: none;
}

.feature {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .55rem 1.5rem rgba(9, 43, 59, .055);
}
.feature:nth-child(3n + 2) { background: var(--teal-50); }

.related-section { border-top: 2px dashed var(--line); }
.related-card {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .55rem 1.5rem rgba(9, 43, 59, .055);
}
.related-card:nth-child(3n + 1) { background: var(--teal-50); }
.related-card:nth-child(3n + 2) { background: #fff; }
.related-card:nth-child(3n) { background: var(--sun-soft); }
.related-card:hover { transform: translateY(-.2rem); box-shadow: 0 .9rem 2rem rgba(9, 43, 59, .09); }

.price-card {
  border: 1px solid var(--line);
  border-top: .28rem solid var(--teal-600);
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(9, 43, 59, .065);
}
.price-card:nth-child(4n + 2) { border-top-color: var(--sun); }

.timeline li {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .55rem 1.5rem rgba(9, 43, 59, .05);
}
.timeline li:nth-child(3n + 2) { background: var(--teal-50); }
.timeline li:nth-child(3n) { background: #fff; }
.timeline li::before { border: 1px solid rgba(9, 43, 59, .14); background: var(--sun); color: var(--navy-950); }

.contact-card {
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  box-shadow: 0 .9rem 2.5rem rgba(9, 43, 59, .07);
}
.contact-card:first-child { background: var(--teal-50); }
.contact-card:last-child { background: #fff; }
.contact-call { border: 1px solid rgba(9, 43, 59, .16); background: var(--teal-600); box-shadow: 0 .6rem 1.5rem rgba(9, 43, 59, .11); }
.contact-call:hover { background: var(--sun); color: var(--navy-950) !important; }
.contact-call:hover strong, .contact-call:hover small { color: var(--navy-950); }

.mobile-action { border: 1px solid rgba(9, 43, 59, .18); background: var(--sun); color: var(--navy-950); box-shadow: 0 .7rem 1.8rem rgba(9, 43, 59, .2); }

@media (min-width: 48rem) {
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card.featured { grid-column: span 2; }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .utility-bar { display: none; }
}

@media (min-width: 64rem) {
  .hero { padding: 5.5rem 0 6rem; }
  .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .8fr); gap: 5rem; }
  .trust-grid { grid-template-columns: repeat(4, 1fr); }
  .card-grid { grid-template-columns: repeat(3, 1fr); }
  .service-card.featured { grid-column: span 2; }
  .service-card.featured:hover { transform: translateY(-.25rem); }
  .dropdown-list { top: calc(100% - .1rem); }
}

@media (prefers-reduced-motion: reduce) {
  .button:hover, .service-card:hover { transform: none; }
}
