/* Phase 2: shared premium visual system, no runtime dependencies. */
.cta-panel.home-contact-cta {
  display: grid;
  grid-template-columns: minmax(0, max-content) max-content;
  align-items: center;
  justify-content: center;
  gap: 50px;
  padding: 38px 55px;
}
.cta-panel.home-contact-cta h2 { margin-bottom: 12px; }
.cta-panel.home-contact-cta > .button {
  justify-self: start;
  width: auto;
  max-width: 100%;
  padding: 17px 26px;
  gap: 18px;
  border-radius: 4px;
  background: var(--color-accent);
  color: var(--color-background);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: none;
  transform: none;
  transition: background-color 250ms ease-out;
}
.home-contact-cta__arrow { display: inline-block; transition: transform 250ms ease-out; }
.cta-panel.home-contact-cta > .button:hover { background: var(--color-accent-dark); box-shadow: none; transform: none; }
.home-contact-cta > .button:hover .home-contact-cta__arrow { transform: translate(3px, -3px); }
.cta-panel.home-contact-cta > .button:focus-visible { outline: 3px solid var(--color-background); outline-offset: 4px; }
@media (max-width: 1000px) {
  .cta-panel.home-contact-cta { grid-template-columns: minmax(0, 600px); gap: 24px; padding: 30px 40px; }
}
@media (max-width: 480px) {
  .cta-panel.home-contact-cta { padding: 23px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .cta-panel.home-contact-cta > .button, .home-contact-cta__arrow { transition: none; }
  .home-contact-cta > .button:hover .home-contact-cta__arrow { transform: none; }
}
.home-faq details,
.home-faq details[open] {
  padding: 21px 0;
  background: transparent;
  border-bottom: 1px solid var(--color-border);
}
.home-faq summary {
  position: relative;
  padding-right: 32px;
  transition: color 250ms ease-out;
}
.home-faq details[open] > summary { color: var(--color-accent); }
.home-faq summary::before,
.home-faq summary::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  background: var(--color-accent);
  transition: transform 250ms ease-out;
}
.home-faq summary::before {
  right: 6.5px;
  width: 1px;
  height: 14px;
  transform: translateY(-50%) scaleY(1);
}
.home-faq summary::after {
  right: 0;
  width: 14px;
  height: 1px;
  transform: translateY(-50%);
}
.home-faq details[open] > summary::before { transform: translateY(-50%) scaleY(0); }
.home-faq details[open] > summary::after { content: ""; }
.home-faq .faq-answer {
  position: relative;
  margin-top: 18px;
  padding: 18px 22px;
  border-left: 2px solid transparent;
  background: transparent;
  transition: background-color 280ms ease-out;
}
.home-faq .faq-answer::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2px;
  width: 2px;
  background: var(--color-accent);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 260ms ease-out;
}
.home-faq .faq-answer > p,
.home-faq .faq-answer > a {
  opacity: 0;
  filter: blur(2px);
  transform: translateY(6px);
  transition: opacity 220ms ease-out, filter 220ms ease-out, transform 260ms ease-out;
}
.home-faq details[open] > .faq-answer {
  background: var(--color-surface);
  transition-duration: 450ms;
}
.home-faq details[open] > .faq-answer::before {
  transform: scaleY(1);
  transition: transform 320ms cubic-bezier(.22, 1, .36, 1) 80ms;
}
.home-faq details[open] > .faq-answer > p,
.home-faq details[open] > .faq-answer > a {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
  transition: opacity 350ms ease-out 100ms, filter 350ms ease-out 100ms, transform 350ms cubic-bezier(.22, 1, .36, 1) 100ms, color 250ms ease-out, border-color 250ms ease-out;
}
/* Intrinsic height interpolation keeps long answers uncapped and reversible. */
@supports (interpolate-size: allow-keywords) and selector(details::details-content) {
  .home-faq details { interpolate-size: allow-keywords; }
  .home-faq details::details-content {
    display: flow-root;
    height: 0;
    overflow: clip;
    content-visibility: hidden;
    transition: height 280ms cubic-bezier(.22, 1, .36, 1), content-visibility 280ms allow-discrete;
  }
  .home-faq details[open]::details-content {
    height: auto;
    content-visibility: visible;
    transition-duration: 350ms;
  }
}
@starting-style {
  .home-faq details[open] > .faq-answer { background: transparent; }
  .home-faq details[open] > .faq-answer::before { transform: scaleY(0); }
  .home-faq details[open] > .faq-answer > p,
  .home-faq details[open] > .faq-answer > a { opacity: 0; filter: blur(2px); transform: translateY(6px); }
}
.home-faq .faq-answer > p { margin: 0; font-size: 14px; line-height: 1.8; }
.home-faq .faq-answer > a {
  display: inline-block;
  margin-top: 14px;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--color-accent);
  color: var(--color-primary);
  font-size: 13px;
  text-decoration: none;
}
.home-faq .faq-answer > a:hover { color: var(--color-accent); border-color: var(--color-accent); }
@media (max-width: 480px) {
  .home-faq .faq-answer { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-faq summary, .home-faq summary::before, .home-faq summary::after,
  .home-faq .faq-answer,
  .home-faq .faq-answer::before,
  .home-faq .faq-answer > p,
  .home-faq .faq-answer > a,
  .home-faq details[open] > .faq-answer,
  .home-faq details[open] > .faq-answer::before,
  .home-faq details[open] > .faq-answer > p,
  .home-faq details[open] > .faq-answer > a { transition: none; }
  .home-faq .faq-answer > p,
  .home-faq .faq-answer > a,
  .home-faq details[open] > .faq-answer > p,
  .home-faq details[open] > .faq-answer > a { filter: none; transform: none; }
  .home-faq details::details-content,
  .home-faq details[open]::details-content { transition: none; }
}
.section.home-faq {
  align-items: center;
  padding-block: 60px;
}
.section.home-faq > div:first-child { padding-top: 0; }
.home-faq > div:first-child > h2 {
  font-size: clamp(2.478rem, 4.72vw, 4.248rem);
  line-height: 1.1;
  margin-bottom: 0;
}
@media (max-width: 800px) {
  .section.home-faq { padding-block: 40px; row-gap: 28px; }
}
.section.cooperation-process { padding-block: 64px; }
.cooperation-process > .container > h2 { margin-bottom: 0; }
.cooperation-process .steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 38px;
  border: 0;
}
.cooperation-process .steps > article:nth-child(n) {
  position: relative;
  min-height: 0;
  padding: 30px 28px 0;
  border: 0;
  border-top: 1px solid rgba(var(--color-border-rgb), 0.4000);
  border-right: 1px solid rgba(var(--color-border-rgb), 0.4000);
  background: transparent;
  transform: none;
  animation: none;
  transition: none;
}
.cooperation-process .steps > article:last-child { border-right: 0; }
.cooperation-process .steps > article::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 28px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-accent-soft);
}
.cooperation-process .steps > article > span {
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 56px;
  line-height: 1;
  color: var(--color-accent-soft);
}
.cooperation-process .steps > article > h3 {
  margin: 22px 0 14px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-background);
}
.cooperation-process .steps > article > p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-on-dark-muted);
}
@media (max-width: 1000px) {
  .cooperation-process .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .cooperation-process .steps > article:nth-child(2n) { border-right: 0; }
}
@media (max-width: 600px) {
  .section.cooperation-process { padding-block: 44px; }
  .cooperation-process .steps { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 30px; }
  .cooperation-process .steps > article:nth-child(n) {
    padding: 0 0 30px 28px;
    border: 0;
    border-left: 1px solid rgba(var(--color-border-rgb), 0.4000);
  }
  .cooperation-process .steps > article:last-child { padding-bottom: 0; }
  .cooperation-process .steps > article::before { top: 16px; left: -4px; }
  .cooperation-process .steps > article > span { font-size: 48px; }
  .cooperation-process .steps > article > h3 { margin-top: 16px; }
}
.next-step-section .next-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 45px;
}
.next-timeline .timeline-station {
  position: relative;
  min-width: 0;
  padding: 25px 32px 0 0;
  border-top: 1px solid var(--color-accent);
}
.next-timeline .timeline-station:last-child { padding-right: 0; }
.next-timeline .timeline-station::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 70%;
  height: 1px;
  background: var(--color-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 300ms ease-out;
}
.next-timeline .timeline-station.is-active::before { transform: scaleX(1); }
.next-timeline .timeline-trigger {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 23px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: var(--color-primary);
  transition: color 300ms ease-out;
}
.next-timeline .timeline-number {
  font-family: var(--serif);
  font-size: 45px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  color: var(--color-accent);
  transition: color 300ms ease-out;
}
.next-timeline .timeline-title {
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.next-timeline .is-active .timeline-trigger,
.next-timeline .is-active .timeline-number { color: var(--color-accent); }
.next-timeline .timeline-panel {
  margin-top: 20px;
  transition: filter 400ms ease-out, opacity 400ms ease-out;
}
.js .next-timeline .timeline-panel {
  opacity: .6;
  filter: blur(2px);
}
.js .next-timeline .is-active .timeline-panel {
  opacity: 1;
  filter: blur(0);
}
.next-timeline .timeline-panel > p {
  margin: 0 0 16px;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-primary);
}
.next-timeline .timeline-panel > a {
  display: inline-block;
  padding: 8px 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.next-timeline .timeline-trigger:focus-visible,
.next-timeline .timeline-panel > a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 5px; }
@media (max-width: 800px) {
  .next-step-section .next-timeline { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
  .next-timeline .timeline-station,
  .next-timeline .timeline-station:last-child {
    border-top: 0;
    border-left: 1px solid var(--color-accent);
    padding: 0 0 28px 24px;
  }
  .next-timeline .timeline-station::before { top: 0; left: -1px; width: 1px; height: 64px; transform: scaleY(0); transform-origin: top; }
  .next-timeline .timeline-station.is-active::before { transform: scaleY(1); }
  .next-timeline .timeline-trigger { gap: 12px; }
  .next-timeline .timeline-number { font-size: 38px; }
  .next-timeline .timeline-title { font-size: 27px; }
  .next-timeline .timeline-panel { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .next-timeline .timeline-panel,
  .next-timeline .timeline-trigger,
  .next-timeline .timeline-number,
  .next-timeline .timeline-station::before { transition: none; }
  .js .next-timeline .timeline-panel { transform: none; }
}
.next-step-section > .next-step-title {
  font-size: clamp(32px, 4vw, 56px);
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.1;
}
.next-step-title > span { display: block; }
.next-step-title > em {
  display: block;
  font-size: 1.125em;
  line-height: 1.1;
}
@media (min-width: 1440px) {
  .next-step-title > span { white-space: nowrap; }
}
.home-services:has(.flip-service-links) { padding-bottom: 54px; }
.home-services details.flip-service-links,
.home-services details.flip-service-links[open] {
  margin: 40px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.home-services details.flip-service-links > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 18px 30px;
  gap: 20px;
  border-radius: 4px;
  background: var(--color-accent);
  color: var(--color-background);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  list-style: none;
  transition: background-color 230ms ease-out;
}
.home-services details.flip-service-links > summary::after { content: none; }
.home-services details.flip-service-links > summary::-webkit-details-marker { display: none; }
.home-services .service-details-cta__arrow { flex-shrink: 0; transition: transform 230ms ease-out; }
.home-services details.flip-service-links > summary:hover { background: var(--color-accent-dark); }
.home-services details.flip-service-links > summary:hover .service-details-cta__arrow { transform: translate(3px, -3px); }
.home-services details.flip-service-links > summary:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .home-services details.flip-service-links > summary, .home-services .service-details-cta__arrow { transition: none; }
  .home-services details.flip-service-links > summary:hover .service-details-cta__arrow { transform: none; }
}
.home-services .services-grid > .service-card.flip-card,
.home-services .services-grid > .service-card.flip-card:first-child {
  position: relative;
  display: block;
  padding: 0;
  border: 0;
  min-height: 0;
  background: transparent;
  perspective: 1200px;
  transform: none;
  transition: none;
  animation: none;
}
.home-services .services-grid > .service-card.flip-card:hover,
.home-services .services-grid > .service-card.flip-card:first-child:hover { background: transparent; transform: none; }
.home-services .flip-card__toggle {
  display: block;
  width: 100%;
  height: 236px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: center;
  perspective: 1200px;
}
.home-services .flip-card:first-child .flip-card__toggle { height: 250px; }
.home-services .flip-card:nth-child(n+6) .flip-card__toggle { height: 271px; }
.home-services .flip-card__inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform-origin: center;
  transition: transform 650ms ease-in-out;
}
.home-services .flip-card.is-flipped .flip-card__inner { transform: rotateY(180deg); }
.home-services .flip-card__face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 30px;
  border: 1px solid var(--color-border);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.home-services .flip-card__front { background: var(--color-background); color: var(--color-primary); }
.home-services .flip-card__back {
  transform: rotateY(180deg);
  background: var(--color-primary);
  color: var(--color-background);
  border-color: var(--color-primary);
}
.home-services .flip-card__title {
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.home-services .flip-card:first-child .flip-card__front {
  background: var(--color-primary);
  color: var(--color-background);
  border-color: var(--color-primary);
}
.home-services .flip-card:first-child .flip-card__back { background: var(--color-primary-light); border-color: var(--color-primary-light); }
.home-services .flip-card:first-child .flip-card__title { font-size: 36px; }
.home-services .flip-card__description {
  font-family: var(--sans);
  font-size: 21px;
  line-height: 1.45;
  font-weight: 400;
  max-width: 45ch;
}
.home-services .flip-card__toggle:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 5px; }
.home-services .flip-card__accessible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.home-services .flip-service-links { margin-top: 24px; border-bottom-color: var(--color-border); }
.home-services .flip-service-links > summary { font-size: 14px; color: var(--color-primary); }
.home-services .flip-service-links nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; margin-top: 18px; }
.home-services .flip-service-links nav a { width: auto; padding: 8px 0; border: 0; background: transparent; color: var(--color-accent); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.home-services .flip-service-links nav a::after { content: none; }
@media (max-width: 1000px) and (min-width: 601px) {
  .home-services .flip-card__toggle { height: 261px; }
  .home-services .flip-card:first-child .flip-card__toggle { height: 245px; }
  .home-services .flip-card:nth-child(4) .flip-card__toggle,
  .home-services .flip-card:nth-child(5) .flip-card__toggle { height: 231px; }
}
@media (max-width: 600px) {
  .home-services .flip-card__toggle { height: 230px; }
  .home-services .flip-card:first-child .flip-card__toggle { height: 232px; }
  .home-services .flip-card:nth-child(2) .flip-card__toggle { height: 254px; }
  .home-services .flip-card:nth-child(n+6) .flip-card__toggle { height: 230px; }
  .home-services .flip-card:last-child .flip-card__toggle { height: 253px; }
  .home-services .flip-card__face { padding: 26px; }
  .home-services .flip-card__title { font-size: 27px; }
  .home-services .flip-card:first-child .flip-card__title { font-size: 31px; }
  .home-services .flip-card__description { font-size: 19px; }
  .home-services .flip-service-links nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .home-services .flip-card__inner { transition: none; transform: none !important; transform-style: flat; }
  .home-services .flip-card__back { transform: none; visibility: hidden; }
  .home-services .flip-card.is-flipped .flip-card__front { visibility: hidden; }
  .home-services .flip-card.is-flipped .flip-card__back { visibility: visible; }
}
.home-services .services-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  border: 0;
}
.home-services .services-grid > .service-card {
  grid-column: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 230px;
  padding: 30px;
  border: 1px solid var(--color-border);
  background: var(--color-background);
  color: var(--color-primary);
}
.home-services .service-card > .card-num {
  display: block;
  width: auto;
  margin: 0 0 22px;
  color: var(--color-accent);
}
.home-services .service-card > h3 {
  margin: 0 0 14px;
  max-width: none;
  font-size: 27px;
  color: var(--color-primary);
}
.home-services .service-card > p {
  margin: 0 0 18px;
  max-width: none;
  color: var(--color-text-muted);
}
.home-services .service-card > .card-arrow {
  margin-top: auto;
  align-self: flex-end;
  color: var(--color-accent);
}
.home-services .services-grid > .service-card:first-child {
  grid-column: 1 / -1;
  min-height: 0;
  padding: 32px 38px;
  background: var(--color-primary);
  border-color: var(--color-primary);
  border-left: 3px solid var(--color-accent-light);
}
.home-services .service-card:first-child > h3 {
  font-size: 36px;
  color: var(--color-background);
}
.home-services .service-card:first-child > p,
.home-services .service-card:first-child > .card-num {
  color: var(--color-on-dark-muted);
}
.home-services .service-card:first-child > .card-arrow { color: var(--color-accent-light); }
.home-services .services-grid > .service-card:hover { background: var(--color-background); }
.home-services .services-grid > .service-card:first-child:hover { background: var(--color-primary-light); }
@media (max-width: 600px) {
  .home-services .services-grid { grid-template-columns: minmax(0, 1fr); }
  .home-services .services-grid > .service-card { padding: 26px; }
  .home-services .services-grid > .service-card:first-child { padding: 28px; }
  .home-services .service-card:first-child > h3 { font-size: 31px; }
}
.home-services .home-services__heading {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  margin-bottom: 24px;
}
.home-services__heading > h2 {
  font-size: clamp(36px, 4vw, 54px);
  margin-bottom: 0;
}
.home-services__heading > .text-link {
  align-self: flex-end;
  margin-bottom: 0;
}
.home-services .home-services__notice {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 18px;
  margin: 0 0 32px;
  padding: 20px 26px;
  border-left: 3px solid var(--color-accent);
  border-radius: 3px;
  background: var(--color-surface);
  font-family: var(--sans);
  line-height: 1.5;
}
.home-services__notice > strong {
  font-size: 17px;
  font-weight: 600;
  color: var(--color-primary);
}
.home-services__notice > span {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-text);
}
@media (min-width: 1001px) {
  .home-services__heading > h2 { white-space: nowrap; }
}
@media (max-width: 800px) {
  .home-services__heading > h2 { font-size: clamp(32px, 5.5vw, 42px); }
  .home-services .home-services__notice { padding: 18px 24px; }
}
.why-hiteles .outlook-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  max-width: 100%;
  margin-top: 4px;
  padding: 15px 24px;
  border: 1px solid var(--color-accent);
  border-radius: 4px;
  background: transparent;
  color: var(--color-accent);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color 230ms ease-out, color 230ms ease-out;
}
.why-hiteles .outlook-cta__arrow {
  flex-shrink: 0;
  transition: transform 230ms ease-out;
}
.why-hiteles .outlook-cta:hover {
  background: var(--color-accent);
  color: var(--color-background);
}
.why-hiteles .outlook-cta:hover .outlook-cta__arrow { transform: translate(3px, -3px); }
.why-hiteles .outlook-cta:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .why-hiteles .outlook-cta, .why-hiteles .outlook-cta__arrow { transition: none; }
  .why-hiteles .outlook-cta:hover .outlook-cta__arrow { transform: none; }
}
.section.why-hiteles {
  padding-block: 60px;
  align-items: center;
  height: auto;
  min-height: 0;
}
.why-hiteles > div:first-child { padding-top: 0; }
.why-hiteles > div:first-child > h2 { margin-bottom: 0; }
@media (max-width: 800px) {
  .section.why-hiteles {
    padding-block: 40px;
    row-gap: 24px;
  }
}
.hero:has(+ .principles) { padding-bottom: 28px; }
:is(.hero,.story) + .principles {
  background: var(--color-background);
  border-block: 1px solid var(--color-border);
}
:is(.hero,.story) + .principles > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-block: 20px;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .015em;
  color: var(--color-primary);
}
:is(.hero,.story) + .principles > .container > span {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
}
:is(.hero,.story) + .principles .principles__icon {
  display: block;
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  color: var(--color-accent);
}
:is(.hero,.story) + .principles .principles__text {
  display: block;
  overflow-wrap: anywhere;
}
@media (max-width: 1000px) {
  :is(.hero,.story) + .principles > .container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
  }
}
@media (max-width: 800px) {
  .hero:has(+ .principles) { padding-bottom: 24px; }
}
@media (max-width: 480px) {
  .hero:has(+ .principles) { padding-bottom: 14px; }
  :is(.hero,.story) + .principles > .container { gap: 16px 18px; }
}
.hero .art-caption.hero-card {
  padding: 32px;
}
.hero .hero-card > .hero-card__title {
  position: relative;
  display: block;
  margin: 0 0 0 24px;
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--color-background);
}
.hero .hero-card__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -12px;
  width: 42px;
  height: 1px;
  background: var(--color-accent-soft);
}
.hero .hero-card__benefits {
  display: grid;
  gap: 8px;
  margin: 26px 0 0 56px;
}
.hero .hero-card__benefit {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
}
.hero .hero-card .hero-card__benefit-text,
.hero .hero-card .hero-card__check {
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--color-background);
}
.hero .hero-card .hero-card__check { color: var(--color-accent-soft); }
@media (max-width: 800px) {
  .hero .art-caption.hero-card { padding: 28px; }
  .hero .hero-card > .hero-card__title { font-size: 32px; margin-left: 18px; }
  .hero .hero-card__benefits { margin-left: 42px; }
}
@media (max-width: 480px) {
  .hero .art-caption.hero-card { padding: 24px; }
  .hero .hero-card > .hero-card__title { font-size: 28px; margin-top: 0; margin-left: 12px; }
  .hero .hero-card__benefits { margin-top: 24px; margin-left: 28px; }
  .hero .hero-card .hero-card__benefit-text,
  .hero .hero-card .hero-card__check { font-size: 13px; }
}
.hero .actions.hero-cta {
  margin-top: 33px;
  padding-left: 22px;
}
.hero .hero-cta > .hero-cta__button {
  width: auto;
  max-width: 100%;
  min-height: 48px;
  padding: 15px 23px;
  gap: 18px;
  border-radius: 4px;
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-background);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  box-shadow: none;
  transform: none;
  transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.hero .hero-cta__arrow {
  display: inline-block;
  flex-shrink: 0;
  transition: transform 220ms ease;
}
.hero .hero-cta > .hero-cta__button:hover {
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: var(--color-background);
  box-shadow: 0 5px 14px rgba(var(--color-accent-rgb), 0.1020);
  transform: none;
}
.hero .hero-cta__button:hover .hero-cta__arrow { transform: translateX(4px); }
.hero .hero-cta__button:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 4px;
}
@media (max-width: 480px) {
  .hero .actions.hero-cta { padding-left: 18px; }
  .hero .hero-cta > .hero-cta__button { padding: 14px 18px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-cta > .hero-cta__button, .hero .hero-cta__arrow { transition: none; }
  .hero .hero-cta__button:hover .hero-cta__arrow { transform: none; }
}
.hero .hero-introduction {
  border-left: 2px solid var(--color-accent);
  padding-left: 20px;
  max-width: 50ch;
  margin-bottom: 22px;
}
.hero .hero-introduction__opening {
  display: block;
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-accent);
  margin-bottom: 14px;
}
.hero .hero-introduction__detail {
  display: block;
  max-width: 48ch;
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
}
@media (max-width: 480px) {
  .hero .hero-introduction { padding-left: 16px; }
  .hero .hero-introduction__opening { font-size: 23px; margin-bottom: 12px; }
  .hero .hero-introduction__detail { font-size: 16px; }
}
.hero .boutique-photo--image {
  display: block;
  padding: 0;
  overflow: hidden;
}
.hero .boutique-photo--image::before {
  content: none;
}
.hero .boutique-photo--image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* Modern Boutique Financial Advisory — Warm Graphite / Burnt Copper. */
.hero-grid > div:first-child > .eyebrow,
.hero .photo-index,
.hero .art-index {
  -webkit-user-select: none;
  user-select: none;
}
.skip{z-index:60}

body{font-size:16px}h1,h2{letter-spacing:-.055em}h2{line-height:1.13}h3{letter-spacing:-.025em}em{color:var(--color-accent)}header{position:sticky;top:0;z-index:30;background:rgba(var(--color-background-rgb), 0.9608);transition:box-shadow .2s,background .2s;border-bottom:1px solid rgba(var(--color-border-rgb), 0.6000)}header.is-scrolled{background:rgba(var(--color-background-rgb), 0.9804);box-shadow:0 5px 24px rgba(var(--color-primary-rgb), 0.0627)}.nav-wrap{min-height:88px}.brand{font-size:21px}nav{gap:28px}nav a{position:relative;font-weight:500;padding-block:12px;transition:color .18s}nav a:not(:last-child):after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}nav a[aria-current]{border:0;font-weight:650}nav a:last-child{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-background);padding:11px 23px;border-radius:2px}nav a:last-child:hover{background:var(--color-accent-dark)}nav a:last-child[aria-current]{box-shadow:0 0 0 3px var(--color-background),0 0 0 4px var(--color-accent)}
.hero{position:relative;padding:48px 0 54px;background:linear-gradient(110deg,var(--color-background) 68%,var(--color-surface) 68%)}.hero-grid{grid-template-columns:1.03fr 1fr;gap:35px}.hero h1{font-size:clamp(3rem,5.5vw,5rem);line-height:1.05}.hero .lead{font-size:16px;max-width:470px}.hero .eyebrow{margin-bottom:25px}.hero .actions{gap:22px;margin-top:27px}.hero-note{padding-top:21px;margin-top:23px;border-top:1px solid var(--color-border);max-width:420px;letter-spacing:.07em}.hero-art{min-height:0;height:490px;background:transparent;border-radius:0;overflow:visible}.hero-architecture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.art-caption{top:28px;left:44px;z-index:2}.art-caption span{font-size:8px;letter-spacing:.2em}.art-caption strong{font-size:26px;letter-spacing:-.03em}.art-tag{bottom:40px;right:0;z-index:2;border:1px solid var(--color-border);padding:17px 22px;background:var(--color-background);font-size:11px;box-shadow:var(--shadow);border-left:3px solid var(--color-accent)}.art-index{left:42px;bottom:6px;color:var(--color-primary);font-size:8px;letter-spacing:.16em}.principles{background:var(--color-primary);border:0}.principles .container{color:var(--color-surface);padding-block:23px;font-size:11px;letter-spacing:.04em}.principles span{display:flex;align-items:center;gap:7px}.section{padding-block:88px}.section-heading{margin-bottom:38px}.eyebrow{font-size:10px;letter-spacing:.2em}.section-heading .text-link{margin-bottom:8px}.text-link{position:relative;border:0;padding-bottom:6px}.text-link:after{content:"";position:absolute;bottom:0;left:0;height:1px;width:100%;background:var(--color-accent);transition:background .2s,transform .2s;transform-origin:left}.text-link:hover:after{background:var(--color-accent);transform:scaleX(.65)}.button{padding:16px 25px;border-radius:2px;box-shadow:0 5px 12px rgba(var(--color-accent-rgb), 0.0706);transition:transform .2s,box-shadow .2s,background .2s}.button:hover{box-shadow:0 9px 20px rgba(var(--color-accent-rgb), 0.1451);transform:translateY(-2px)}.soft{background:var(--color-surface)}.content-note{border-left-width:2px;background:rgba(var(--color-surface-rgb), 0.5020);font-size:12px;padding:13px 18px;max-width:100%;border-radius:0 3px 3px 0}.services-grid{gap:16px;border:0;grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{padding:29px 28px 25px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:238px;box-shadow:0 3px 8px rgba(var(--color-primary-rgb), 0.0118);transition:transform .22s,box-shadow .22s,border-color .22s,background .22s}.service-card:hover{background:var(--color-background);border-color:var(--color-accent);box-shadow:var(--shadow);transform:translateY(-5px)}.service-card .card-num{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.service-icon{width:27px;height:27px;stroke:var(--color-primary);stroke-width:1.35;fill:none;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:20px;font-family:var(--serif);font-weight:400;line-height:1.25;max-width:240px}.service-card p{font-size:13px;line-height:1.65;margin-bottom:20px}.card-arrow{font-size:20px;margin-top:auto;align-self:flex-end;line-height:1.2;transition:transform .2s}.service-card:hover .card-arrow{transform:translate(2px,-2px)}.service-card:last-child{grid-column:span 3;min-height:125px;display:grid;grid-template-columns:65px 1fr 1fr 30px;gap:25px;align-items:center;background:var(--color-surface)}.service-card:last-child .card-num{margin:0;flex-direction:column;gap:12px}.service-card:last-child h3,.service-card:last-child p{margin:0}.service-card:last-child .card-arrow{margin:0;align-self:center}.situations{gap:25px}.situations article{position:relative;padding:30px 28px;border:1px solid var(--color-border);background:var(--color-background);border-radius:var(--radius)}.situations article>span{font-size:47px;font-style:italic;line-height:1}.situations article:nth-child(2){border-top:2px solid var(--color-accent)}.situations article:nth-child(2)>span{color:var(--color-accent)}.situations h3{font-family:var(--serif);font-size:27px;font-weight:400;margin-top:27px}.situations p{font-size:14px}.situations a{border-bottom:1px solid var(--color-border);padding-bottom:5px}.green{position:relative;background:var(--color-primary);overflow:hidden}.green:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(var(--color-border-rgb), 0.1255);border-radius:50%;right:-110px;top:-180px;pointer-events:none}.green>.container{position:relative}.green h2{max-width:700px}.steps{gap:15px;margin-top:45px}.steps article{border:1px solid rgba(var(--color-border-rgb), 0.2118);padding:27px 22px;background:rgba(var(--color-background-rgb), 0.0157);border-radius:var(--radius);transition:background .2s,transform .2s}.steps article:hover{background:rgba(var(--color-background-rgb), 0.0353);transform:translateY(-3px)}.steps span{display:block;font-size:48px;line-height:1;font-style:italic;color:var(--color-accent-soft)}.steps h3{font-size:16px;margin-top:30px;color:var(--color-background)}.steps p{margin-bottom:0;font-size:13px;line-height:1.75}.pending{padding:28px;border:1px solid var(--color-border);border-left:3px solid var(--color-accent);box-shadow:var(--shadow);background:var(--color-surface)}.pending h3{font-family:var(--serif);font-size:24px;font-weight:400}details{padding:21px 0;border-bottom:1px solid var(--color-border)}summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;font-weight:500;font-size:15px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:25px;line-height:1;color:var(--color-accent);font-weight:300}details[open] summary:after{content:"−"}details[open]{background:rgba(var(--color-surface-rgb), 0.2196);padding-inline:15px}details p{line-height:1.8}.cta-panel{position:relative;background:var(--color-primary);border:0;border-radius:var(--radius);padding:48px 50px;box-shadow:var(--shadow);color:var(--color-background);overflow:hidden}.cta-panel:before{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(var(--color-border-rgb), 0.1882);border-radius:50%;right:23%;top:-100px;pointer-events:none}.cta-panel h2{font-size:38px}.cta-panel p{color:var(--color-on-dark-muted)}.cta-panel .eyebrow{color:var(--color-on-dark-muted)}.cta-panel .button{flex-shrink:0;border-color:var(--color-accent-light);position:relative}footer{background:var(--color-surface);padding-top:64px}.footer-grid :is(h2,.footer-heading){letter-spacing:.06em;font-size:11px;text-transform:uppercase}.footer-grid>div>a:not(.brand){font-size:13px;padding:3px 0}.footer-grid>div>a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{padding-top:25px}.page-intro{position:relative;overflow:hidden;padding:58px 0 52px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.page-intro:after{content:"";position:absolute;width:400px;height:400px;border:1px solid rgba(var(--color-border-rgb), 0.2196);border-radius:50%;right:-40px;top:-130px;pointer-events:none}.page-intro:before{content:"";position:absolute;right:16%;top:36px;width:42px;height:3px;background:var(--color-accent)}.page-intro>.container{position:relative;z-index:1}.page-intro h1{font-size:clamp(2.7rem,5.1vw,4.4rem);max-width:900px}.page-intro .lead{max-width:680px}.service-detail{padding:45px 32px;gap:25px;margin-bottom:16px;border:1px solid var(--color-border);background:var(--color-background);border-radius:var(--radius);scroll-margin-top:110px}.service-detail:nth-child(even){background:var(--color-surface)}.service-detail .card-num{font-family:var(--serif);font-size:34px;font-style:italic;color:var(--color-accent)}.service-details{padding-top:20px;padding-bottom:60px}.service-detail h2{font-size:36px}.service-detail .large-copy{font-size:19px}.result-panel{border:1px solid var(--color-border);border-top:3px solid var(--color-accent);background:var(--color-surface);padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.result-panel .eyebrow{font-size:9px}.result-panel h2{font-size:34px}.result-panel dl{border-top:1px solid var(--color-border);padding-top:8px}.result-panel dt{font-size:11px;letter-spacing:.03em;color:var(--color-primary)}input,select,textarea{border-color:var(--color-border);border-radius:3px;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb), 0.0706)}.form-grid{gap:20px 24px}label{letter-spacing:.015em}fieldset{border-radius:var(--radius)}.legal{padding-top:55px}.reveal{animation:reveal-in .48s ease-out both}@keyframes reveal-in{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){nav{gap:18px}.hero h1{font-size:clamp(2.8rem,5.6vw,4.6rem)}.hero-art{height:450px}.hero-grid{gap:20px}.hero .button{padding-inline:18px}.art-caption{left:30px}.art-tag{right:0;bottom:45px}.service-card{padding:24px}.steps article{padding:23px 18px}}
@media(max-width:800px){.nav-wrap{min-height:76px;padding-block:15px}nav a:not(:last-child):after{left:12px;width:calc(100% - 24px)}nav a:last-child{padding:12px}.hero{padding:37px 0 34px;background:var(--color-background)}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:clamp(3.3rem,7vw,4.4rem);margin-bottom:22px}.hero .lead{max-width:550px}.hero-art{height:390px;max-width:480px}.art-caption{left:35px;top:20px}.art-index{left:35px;bottom:0}.art-tag{bottom:24px;right:0}.section{padding-block:60px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card:last-child{grid-column:span 2;grid-template-columns:45px 1fr 30px;gap:15px}.service-card:last-child p{grid-column:2;grid-row:2}.service-card:last-child .card-arrow{grid-column:3;grid-row:1/3}.service-card:last-child .card-num{grid-row:1/3}.service-card:last-child h3{max-width:none}.steps{grid-template-columns:1fr 1fr;gap:15px}.cta-panel{padding:34px}.cta-panel h2{font-size:34px}.page-intro:before{right:6%;top:30px}.page-intro:after{right:-200px}.service-detail{padding:30px 22px;grid-template-columns:35px 1fr;gap:18px}.service-detail h2{font-size:30px}.form-layout{gap:30px}.principles .container{font-size:11px}.three-grid{grid-template-columns:1fr;gap:14px}.situations article{padding:25px;display:grid;grid-template-columns:50px 1fr;column-gap:20px}.situations article>span{grid-row:1/4}.situations h3{margin:0 0 15px}.situations a{justify-self:start}.situations p{margin-bottom:16px}}
@media(max-width:480px){.brand{font-size:19px}.hero h1{font-size:clamp(2.8rem,12vw,3.5rem)}.hero-grid{gap:15px}.hero .lead{font-size:15px}.hero .actions{gap:18px}.hero-note{font-size:10px;margin-top:18px;padding-top:16px}.hero-art{height:320px}.art-caption{left:26px;top:15px}.art-caption span{font-size:7px}.art-caption strong{font-size:21px}.art-tag{font-size:10px;padding:12px 15px;bottom:20px}.art-index{left:26px;font-size:7px}.principles .container{font-size:10px;gap:13px}.services-grid{grid-template-columns:1fr}.service-card{min-height:210px;padding:26px}.service-card:last-child{grid-column:auto;display:flex;min-height:210px;gap:0}.service-card:last-child .card-num{flex-direction:row;width:100%;margin-bottom:24px}.service-card:last-child h3{margin-bottom:12px}.service-card:last-child p{margin-bottom:20px}.service-card:last-child .card-arrow{align-self:flex-end;margin-top:auto}.section{padding-block:48px}.section-heading{margin-bottom:25px}.steps{gap:10px}.steps article{padding:21px 15px}.steps span{font-size:39px}.steps h3{font-size:14px;margin-top:23px}.steps p{font-size:12px}.cta-panel{padding:30px 24px;margin-bottom:50px}.cta-panel h2{font-size:30px}.page-intro{padding:40px 0}.page-intro h1{font-size:clamp(2.35rem,10vw,3.2rem);overflow-wrap:anywhere}.page-intro .lead{font-size:15px}.service-detail{padding:25px 18px;gap:14px;grid-template-columns:28px 1fr}.service-detail h2{font-size:27px;overflow-wrap:anywhere}.service-detail .card-num{font-size:25px}.service-detail p{font-size:14px}.service-detail .large-copy{font-size:17px}.result-panel{padding:26px}.result-panel h2{font-size:30px}.pending{padding:24px}.footer-grid .brand{font-size:18px}.demo-strip{letter-spacing:.03em}.form-grid{gap:4px}.form-layout{padding-top:30px}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none}header,.service-card,.steps article,.button,nav a:after,.card-arrow,.text-link:after{transition:none}}
/* MODERN BOUTIQUE: final visual overrides shared by every page. */

body{background:var(--color-background)}em{color:var(--color-accent)}h1,h2{letter-spacing:-.055em}h3{letter-spacing:-.02em}.container{width:min(1220px,calc(100% - 64px))}.demo-strip{font-size:10px;letter-spacing:.08em;padding:6px 15px}header{background:rgba(var(--color-background-rgb), 0.9608);border-bottom-color:rgba(var(--color-border-rgb), 0.6000)}header.is-scrolled{background:rgba(var(--color-background-rgb), 0.9804);box-shadow:0 6px 22px rgba(var(--color-primary-rgb), 0.0471)}.nav-wrap{min-height:94px}nav a:last-child{background:transparent;color:var(--color-accent);border-color:var(--color-accent);padding:10px 23px}nav a:last-child:hover{background:var(--color-accent);color:var(--color-background)}nav a:last-child[aria-current]{background:var(--color-accent);color:var(--color-background);box-shadow:none}nav a[aria-current]{font-weight:650}.brand{font-size:22px}.brand-sub{font-size:9px;letter-spacing:.32em}.button{box-shadow:none;border-radius:0;padding:15px 25px;font-size:12px;letter-spacing:.015em}.button:hover{box-shadow:0 8px 18px rgba(var(--color-accent-rgb), 0.0824)}.text-link{font-weight:500;letter-spacing:.02em}
.hero{padding:60px 0 68px;background:var(--color-background)}.hero-grid{grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}.hero h1{font-size:clamp(3.2rem,5.7vw,5.35rem);line-height:1.015;margin-bottom:30px}.hero .eyebrow{margin-bottom:29px;letter-spacing:.22em}.hero .lead{font-size:16px;line-height:1.85;max-width:430px}.hero .actions{gap:27px;margin-top:29px}.hero-note{margin-top:30px;padding-top:18px;font-size:10px;letter-spacing:.055em}.hero-art{height:505px;max-width:none;margin:0 0 30px;overflow:visible;isolation:isolate}.hero-art:before{content:"";position:absolute;right:-15px;top:-15px;width:85%;height:91%;border:1px solid var(--color-border);z-index:-1}.hero-art:after{content:"";position:absolute;right:16px;top:-15px;width:56px;height:3px;background:var(--color-accent)}.boutique-photo{position:absolute;inset:0 20px 24px 0;background:var(--color-surface);border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:25px;color:var(--color-primary)}.boutique-photo:before{content:"";height:42px;width:32px;border:1px solid var(--color-border);position:relative}.photo-label{font-size:9px;letter-spacing:.17em;color:var(--color-text-muted)}.photo-description{font:italic 25px/1.45 var(--serif);letter-spacing:-.03em;color:var(--color-text-muted)}.photo-index{position:absolute;top:22px;left:22px;font-size:8px;letter-spacing:.14em}.art-caption{top:auto;left:-34px;bottom:-10px;right:38px;padding:28px 30px 64px;background:var(--color-primary);color:var(--color-background);box-shadow:0 18px 30px rgba(var(--color-primary-rgb), 0.0784)}.art-caption span{font-size:8px;letter-spacing:.2em;color:var(--color-on-dark-muted)}.art-caption strong{font-size:30px;color:var(--color-background);margin-top:4px;font-weight:400}.art-tag{bottom:5px;left:-4px;right:auto;padding:0;border:0;background:none;box-shadow:none;color:var(--color-on-dark-muted);z-index:3;font-size:10px;line-height:1.8}.art-index{bottom:-36px;left:0;font-size:8px;letter-spacing:.18em}.principles{background:var(--color-background);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.principles .container{color:var(--color-primary);padding-block:23px;font-size:11px;letter-spacing:.02em}.section{padding-block:98px}.split{grid-template-columns:.9fr 1.1fr;gap:120px}.split>div:first-child{padding-top:4px}.large-copy{font-family:var(--serif);font-size:29px;line-height:1.4;letter-spacing:-.025em}.split>div:nth-child(2)>p:not(.large-copy){font-size:15px;max-width:530px}.section-heading{align-items:end;margin-bottom:38px}.eyebrow{font-size:9px;letter-spacing:.21em}.soft{background:var(--color-surface)}.content-note{background:transparent;border-left:1px solid var(--color-border);border-radius:0;padding-block:8px;font-size:12px;color:var(--color-text-muted)}.services-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0;border-top:1px solid var(--color-border)}.service-card{grid-column:span 4;min-height:235px;padding:30px 30px 24px;background:transparent;border:0;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);box-shadow:none;border-radius:0;transition:background .2s,transform .2s}.service-card:nth-child(1){grid-column:span 7;min-height:285px;background:var(--color-primary);color:var(--color-background);padding:38px}.service-card:nth-child(2){grid-column:span 5;min-height:285px;background:var(--color-background);padding:38px;border-right:0}.service-card:nth-child(5){border-right:0}.service-card:nth-child(6){grid-column:span 5;border-right:1px solid var(--color-border)}.service-card:last-child{grid-column:span 7;display:flex;gap:0;align-items:stretch;min-height:235px;background:var(--color-surface);border-right:0}.service-card .card-num,.service-card:last-child .card-num{font-family:var(--serif);font-size:43px;font-style:italic;line-height:1;margin:0 0 26px;color:var(--color-accent);display:block;width:auto;letter-spacing:-.04em}.service-card h3,.service-card:last-child h3{font:400 27px/1.14 var(--serif);max-width:320px;margin:0 0 15px;letter-spacing:-.035em}.service-card:nth-child(1) h3{font-size:36px;max-width:360px}.service-card p,.service-card:last-child p{font-size:13px;margin:0 0 18px;max-width:340px}.service-card:nth-child(1) p,.service-card:nth-child(1) .card-num{color:var(--color-on-dark-muted)}.service-card:nth-child(1) .card-arrow{color:var(--color-on-dark-muted)}.service-card .card-arrow,.service-card:last-child .card-arrow{margin-top:auto;align-self:flex-end;font-size:20px}.service-card:hover{background:var(--color-background);transform:translateY(-2px);box-shadow:none;border-color:var(--color-border)}.service-card:nth-child(1):hover{background:var(--color-primary-light)}.service-card:last-child:hover{background:var(--color-surface)}.service-icon{display:none}.situations{grid-template-columns:1.2fr 1fr 1fr;gap:40px}.situations article{border:0;border-top:1px solid var(--color-border);background:transparent;padding:27px 0;border-radius:0}.situations article:nth-child(2){border-top:1px solid var(--color-accent);padding-top:56px}.situations article:nth-child(3){padding-top:82px}.situations article>span{font-size:45px}.situations h3{font-size:29px;max-width:250px}.situations p{max-width:280px}.green{background:var(--color-primary)}.green:before{display:none}.green h2{max-width:760px}.steps{gap:0;border-top:1px solid rgba(var(--color-border-rgb), 0.4000)}.steps article{background:none;border:0;border-right:1px solid rgba(var(--color-border-rgb), 0.4000);padding:30px 28px;border-radius:0;min-height:235px}.steps article:first-child{padding-left:0}.steps article:last-child{border-right:0}.steps article:nth-child(2){padding-top:52px}.steps article:nth-child(3){padding-top:74px}.steps article:nth-child(4){padding-top:96px}.steps article:hover{background:rgba(var(--color-background-rgb), 0.0157);transform:none}.steps span{font-size:47px}.steps h3{margin-top:26px;font-size:15px}.steps p{font-size:13px;color:var(--color-on-dark-muted)}.pending{position:relative;border:0;border-top:1px solid var(--color-accent);background:transparent;padding:35px 0 20px;box-shadow:none}.pending:before{content:"“";display:block;font:70px/.7 var(--serif);color:var(--color-accent);margin:10px 0 12px}.pending h3{font-size:26px}.pending p{max-width:450px}.cta-panel{padding:50px 55px;background:var(--color-primary);border-radius:0;box-shadow:none;gap:50px;margin-bottom:90px}.cta-panel:before{display:none}.cta-panel h2{font-size:42px;max-width:600px}.cta-panel .button{border-color:var(--color-accent-light)}.cta-panel .eyebrow{color:var(--color-on-dark-muted)}.cta-panel p{color:var(--color-on-dark-muted)}.page-intro{background:var(--color-background);padding:65px 0 62px;border-bottom-color:var(--color-border)}.page-intro:after{display:none}.page-intro:before{width:48px;right:6%;top:70px;height:2px}.page-intro h1{font-size:clamp(2.8rem,5.3vw,4.8rem);max-width:980px;line-height:1.07}.page-intro .lead{font-size:16px;max-width:670px}.service-details{padding-top:15px}.service-detail{position:relative;background:transparent;border:0;border-bottom:1px solid var(--color-border);margin:0;padding:50px 0;grid-template-columns:130px 1fr;gap:45px;border-radius:0}.service-detail:nth-child(even){background:transparent;padding-left:70px}.service-detail .card-num{font-size:56px;line-height:1;margin:0;color:var(--color-accent)}.service-detail h2{font-size:40px;max-width:680px}.service-detail .large-copy{font-size:23px}.service-detail p{max-width:680px}.result-panel{background:var(--color-primary);color:var(--color-background);border:0;border-top:2px solid var(--color-accent);border-radius:0;padding:36px;box-shadow:none}.result-panel h2{font-size:35px;color:var(--color-background)}.result-panel p{color:var(--color-on-dark-muted)}.result-panel .eyebrow,.result-panel dt{color:var(--color-on-dark-muted)}.result-panel dd{color:var(--color-background)}.result-panel a{color:var(--color-background)}.result-panel a:hover{color:var(--color-on-dark-muted)}.result-panel dl{border-top-color:rgba(var(--color-border-rgb), 0.4000)}.result-panel .text-link:after{background:var(--color-on-dark-muted)}input,select,textarea,fieldset{border-radius:0}.form-layout{grid-template-columns:1.55fr 1fr;gap:80px}.legal{max-width:880px}.legal p{font-size:15px;line-height:1.85}.legal h2{font-size:38px}footer{background:var(--color-primary-dark);color:var(--color-background);padding-top:72px}.footer-grid{grid-template-columns:1.5fr .8fr 1fr;gap:65px}.footer-grid .brand{color:var(--color-background);font-size:22px;letter-spacing:.04em}.footer-grid :is(h2,.footer-heading){color:var(--color-on-dark-muted);font-size:10px;letter-spacing:.1em}.footer-grid p{color:var(--color-on-dark-muted);font-size:13px}.footer-grid>div>a:not(.brand){color:var(--color-background);font-size:13px;line-height:1.9}.footer-grid>div>a:hover{color:var(--color-on-dark-muted)}.footer-bottom{border-top-color:rgba(var(--color-border-rgb), 0.3020);color:var(--color-on-dark-muted);font-size:10px;padding-top:24px}.footer-bottom a:hover{color:var(--color-background)}.skip{z-index:60}
@media(max-width:1100px){.hero-grid{gap:35px}.hero-art{height:470px}.hero h1{font-size:clamp(3rem,5.7vw,5rem)}.hero .actions{gap:20px}.hero .button{padding-inline:18px}.split{gap:60px}.form-layout{gap:45px}.art-caption{left:-15px;right:28px}.art-tag{left:15px}.services-grid .service-card{padding:28px}.footer-grid{gap:40px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.nav-wrap{min-height:78px;padding-block:16px}.hero{padding:38px 0 64px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero h1{font-size:clamp(3.3rem,7.2vw,4.5rem);max-width:600px}.hero .lead{max-width:560px}.hero-art{height:430px;width:min(480px,calc(100% - 22px));justify-self:end;margin:0 15px 30px}.boutique-photo{inset:0 15px 24px 0}.art-caption{left:-28px;right:34px;bottom:-13px}.art-tag{left:2px;bottom:2px}.art-index{bottom:-40px}.principles .container{font-size:10px;gap:13px}.section{padding-block:65px}.split{grid-template-columns:1fr;gap:28px}.large-copy{font-size:27px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.service-card:nth-child(n){grid-column:span 1;min-height:255px;padding:28px}.service-card:last-child{grid-column:span 2;min-height:230px}.service-card:nth-child(1) h3{font-size:31px}.service-card h3{font-size:25px}.service-card .card-num{font-size:38px}.service-card:nth-child(2n){border-right:0}.service-card:nth-child(5){border-right:1px solid var(--color-border)}.situations{grid-template-columns:1fr;gap:20px}.situations article:nth-child(n){padding:26px 0;display:grid;grid-template-columns:65px 1fr;column-gap:22px}.situations article>span{grid-row:1/4}.situations h3{margin:0 0 16px;max-width:none}.situations p{max-width:500px}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(n){padding:30px 24px;border-bottom:1px solid rgba(var(--color-border-rgb), 0.4000);min-height:245px}.steps article:nth-child(2n){border-right:0}.steps article:nth-last-child(-n+2){border-bottom:0}.cta-panel{padding:40px;gap:30px;margin-bottom:60px}.cta-panel h2{font-size:36px}.page-intro{padding:48px 0}.page-intro:before{top:40px}.service-detail,.service-detail:nth-child(even){grid-template-columns:70px 1fr;gap:25px;padding:40px 0}.service-detail h2{font-size:32px}.service-detail .card-num{font-size:45px}.form-layout{grid-template-columns:1fr;gap:38px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px}.page-intro h1{font-size:clamp(2.7rem,6.5vw,4rem)}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.brand{font-size:20px}.hero h1{font-size:clamp(2.75rem,11.7vw,3.55rem);margin-bottom:25px}.hero .eyebrow{margin-bottom:25px}.hero .lead{font-size:15px}.hero .actions{gap:17px;margin-top:23px}.hero-note{margin-top:23px;font-size:9px;padding-top:15px}.hero-grid{gap:36px}.hero-art{height:340px;width:calc(100% - 14px);margin-right:8px;margin-bottom:20px}.hero-art:before{right:-8px;top:-10px}.hero-art:after{top:-10px;right:12px;width:40px}.boutique-photo{inset:0 8px 14px 0;padding:20px}.photo-description{font-size:23px}.photo-label{font-size:8px;letter-spacing:.13em}.photo-index{font-size:7px;top:18px;left:18px}.art-caption{left:-14px;right:17px;bottom:-16px;padding:23px 24px 62px}.art-caption strong{font-size:27px}.art-tag{left:10px;bottom:0;font-size:9px}.art-index{bottom:-42px;font-size:7px}.hero{padding-bottom:54px}.section{padding-block:48px}.services-grid{grid-template-columns:1fr}.service-card:nth-child(n){grid-column:auto;min-height:225px;border-right:0;padding:26px}.service-card:nth-child(1){min-height:255px}.service-card:last-child{min-height:225px}.service-card .card-num,.service-card:last-child .card-num{font-size:39px;margin-bottom:22px}.service-card h3,.service-card:last-child h3{font-size:27px;margin-bottom:14px}.service-card p,.service-card:last-child p{margin-bottom:17px}.service-card .card-arrow,.service-card:last-child .card-arrow{margin-top:auto}.steps article:nth-child(n){padding:25px 15px;min-height:265px}.steps span{font-size:39px}.steps h3{font-size:14px;margin-top:24px}.steps p{font-size:12px}.cta-panel{padding:30px 24px;margin-bottom:48px}.cta-panel h2{font-size:32px}.cta-panel p{font-size:14px}.cta-panel .button{width:100%}.page-intro h1{font-size:clamp(2.3rem,10vw,3.2rem);overflow-wrap:anywhere}.page-intro .lead{font-size:15px}.page-intro:before{width:26px;top:29px}.page-intro{padding:38px 0}.service-detail,.service-detail:nth-child(even){grid-template-columns:36px 1fr;gap:18px;padding:32px 0}.service-detail h2{font-size:28px}.service-detail .card-num{font-size:30px}.service-detail .large-copy{font-size:20px}.service-detail p{font-size:14px}.result-panel{padding:28px}.result-panel h2{font-size:32px}.large-copy{font-size:25px}.footer-grid{gap:35px 22px}.footer-grid .brand{font-size:19px}.footer-grid p{font-size:12px}.footer-grid :is(h2,.footer-heading){font-size:9px;line-height:1.6}.footer-grid>div>a:not(.brand){font-size:12px}.footer-bottom{flex-direction:column}.demo-strip{font-size:8px;letter-spacing:.03em}.form-layout{padding-top:30px}.principles .container{font-size:9px}}
@media(prefers-reduced-motion:reduce){.service-card,.button,header,.text-link:after{transition:none}.reveal{animation:none}}
@media(max-width:480px){.boutique-photo{justify-content:flex-start;padding-top:58px;gap:15px}.boutique-photo:before{display:none}.photo-description{font-size:20px;line-height:1.35}}
/* Tudatos évzárás + Miért mi (tartalmi finomítás, 2026-11). */
.yearend{background:var(--color-primary);color:var(--color-background);scroll-margin-top:110px}
.yearend__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}
.yearend h2{color:var(--color-background);margin-bottom:24px}.yearend h2 em{color:var(--color-accent-soft)}
.yearend .eyebrow{color:var(--color-on-dark-muted)}
.yearend .yearend__intro .large-copy{color:var(--color-background);font-size:26px}
.yearend .yearend__intro p{color:var(--color-on-dark-muted);max-width:560px}
.yearend__offer{border-left:2px solid var(--color-accent-soft);padding:14px 20px;margin:6px 0 30px;background:rgba(var(--color-background-rgb),.05)}
.yearend__offer strong{display:block;font-size:17px;font-weight:600;color:var(--color-background)}
.yearend__offer span{font-size:14px;color:var(--color-on-dark-muted)}
.yearend .button{border-color:var(--color-accent-light)}
.yearend__checks{background:var(--color-background);color:var(--color-text);padding:38px;border-top:3px solid var(--color-accent)}
.yearend__checks h3{font:400 28px/1.2 var(--serif);letter-spacing:-.03em;color:var(--color-primary);margin-bottom:14px}
.yearend__checks ul{list-style:none;margin:0 0 22px;padding:0}
.yearend__checks li{display:grid;gap:2px;padding:13px 0;border-bottom:1px solid var(--color-border)}
.yearend__checks li strong{font-size:15px;font-weight:600;color:var(--color-primary)}
.yearend__checks li span{font-size:14px;line-height:1.55;color:var(--color-text-muted)}
.yearend__checks .yearend__result{font-size:14px;color:var(--color-text);margin-bottom:12px}
.yearend__checks .small{color:var(--color-text-muted);margin:0}
.why-us h2{margin-bottom:40px}
.why-us__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 44px}
.why-us__grid article{border-top:1px solid var(--color-border);padding-top:22px}
.why-us__grid span{display:block;font:italic 400 38px/1 var(--serif);color:var(--color-accent);margin-bottom:18px}
.why-us__grid h3{font:400 24px/1.2 var(--serif);letter-spacing:-.03em;color:var(--color-primary);margin-bottom:12px}
.why-us__grid p{font-size:14px;line-height:1.7;margin:0}
.footer-legal p{font-size:11px;line-height:1.7;color:var(--color-on-dark-muted);margin:16px 0 0;max-width:900px}
@media(max-width:1000px){.yearend__grid{gap:44px}.why-us__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.yearend__grid{grid-template-columns:1fr;gap:36px}.yearend__checks{padding:28px}.yearend .yearend__intro .large-copy{font-size:23px}}
@media(max-width:600px){.why-us__grid{grid-template-columns:1fr;gap:28px}.yearend__checks{padding:24px 20px}}
/* 3D történet: mérleg és iránytű (görgetésre reagáló sticky színpad). */
.story{position:relative}
.story__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.story__stage canvas{position:absolute;right:0;top:88px;width:56%;height:calc(100% - 88px);display:block}
.story__meter{position:absolute;right:max(32px,calc((100% - 1220px)/2));bottom:26px;display:flex;gap:6px}
.story__meter i{display:block;width:22px;height:2px;background:var(--color-border);transition:background .3s}
.story__meter i.on{background:var(--color-accent)}
.story__steps{position:relative;margin-top:-100vh;margin-top:-100svh;pointer-events:none}
.story__step{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:88px}
.story__step:last-child{min-height:135vh;min-height:135svh;align-items:flex-end;padding-bottom:28vh;padding-bottom:28svh}
.story__card{pointer-events:auto;max-width:470px;min-width:0}
.story h1{font-size:clamp(2.8rem,5.2vw,4.8rem);line-height:1.02;margin-bottom:26px}
.story h2{font-size:clamp(2.1rem,3.8vw,3.4rem);margin-bottom:20px}
.story__lead{font:400 clamp(1.3rem,2vw,1.65rem)/1.35 var(--serif);letter-spacing:-.02em;color:var(--color-accent);border-left:2px solid var(--color-accent);padding-left:18px;margin-bottom:16px}
.story__card p{font-size:16px}
.story__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}
.story__actions .button{border-radius:4px;font-size:15px;padding:15px 23px}
.story__hint{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.05em;color:var(--color-text-muted)}
.story__hint span{display:block;width:1px;height:34px;background:var(--color-accent);transform-origin:top;animation:story-hint 1.8s ease-in-out infinite}
@keyframes story-hint{0%,100%{transform:scaleY(.2)}50%{transform:scaleY(1)}}
.story__offer{border-left:2px solid var(--color-accent);background:var(--color-surface);padding:10px 16px;color:var(--color-text)!important;font-size:14px!important}
.story-interlude h2 em{color:var(--color-accent-soft)}
.story-interlude p{max-width:560px}
.no-3d .story__stage{display:none}
.no-3d .story__steps{margin-top:0}
.no-3d .story__step,.no-3d .story__step:last-child{min-height:0;padding-block:56px 0}
.no-3d .story__steps .container{padding-bottom:56px}
@media(max-width:800px){
  .story__stage canvas{top:78px;width:100%;height:calc(52% - 40px)}
  .story__meter{top:90px;bottom:auto;right:20px}
  .story__step,.story__step:last-child{align-items:flex-end;padding-top:0;padding-bottom:max(22px,env(safe-area-inset-bottom,0px))}
  .story__card{max-width:none;width:100%;background:rgba(var(--color-background-rgb),.92);border-top:2px solid var(--color-accent);padding:20px 20px 8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .story h1{font-size:clamp(2.3rem,10.5vw,3rem);margin-bottom:16px}
  .story h2{font-size:clamp(1.8rem,8vw,2.4rem)}
  .story__lead{font-size:1.15rem}
  .story__card p{font-size:15px}
  .story__actions{margin-top:16px;margin-bottom:12px;gap:14px}
  .no-3d .story__card{background:transparent;border:0;padding:0}
}
@media(prefers-reduced-motion:reduce){.story__hint span{animation:none}.story__meter i{transition:none}}

/* Ajánlatkérő és kapcsolati űrlap. */
.form-block{border:0;border-top:1px solid var(--color-border);margin:0 0 30px;padding:26px 0 0}
.form-block legend{display:flex;align-items:center;gap:14px;padding:0 14px 0 0;font:400 26px/1.2 var(--serif);letter-spacing:-.03em;color:var(--color-primary)}
.form-block__num{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-accent);border-radius:50%;font:italic 400 17px var(--serif);color:var(--color-accent)}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;margin:18px 0 6px}
.offer-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 22px}
.check--feature{border:1px solid var(--color-border);padding:16px;margin:0;background:var(--color-background);cursor:pointer;transition:border-color .2s,background .2s}
.check--feature:has(input:checked){border-color:var(--color-accent);background:var(--color-surface)}
.check--feature span{display:grid;gap:3px;font-size:13px;color:var(--color-text-muted);font-weight:400}
.check--feature strong{font-size:15px;color:var(--color-primary);font-weight:600}
.consents{display:grid;gap:4px;margin:6px 0 22px;font-size:13px}
.consents a{text-decoration:underline;text-underline-offset:3px}

.form-status.is-error{border-left-color:#B3261E;color:#8C1D18;background:#FBEDEB}
.button[disabled]{opacity:.6;cursor:progress;transform:none}
.offer-summary dl:empty{display:none}
.form-success{border-top:2px solid var(--color-accent);background:var(--color-surface);padding:34px}
.form-success h2{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:14px}
.form-success .ref{display:inline-block;font:600 15px var(--sans);letter-spacing:.06em;color:var(--color-primary);background:var(--color-background);border:1px solid var(--color-border);padding:6px 12px;margin:4px 0 18px;font-variant-numeric:tabular-nums}
.mail-preview{margin-top:26px;border:1px solid var(--color-border);background:#fff;color:#292522;font-size:13px}
.mail-preview__bar{background:var(--color-primary);color:var(--color-background);padding:10px 16px;font-size:11px;letter-spacing:.1em}
.mail-preview__head{padding:14px 16px;border-bottom:1px solid var(--color-border);display:grid;gap:3px}
.mail-preview__head b{display:inline-block;min-width:70px;color:#716660;font-weight:500}
.mail-preview__body{padding:4px 16px 16px;overflow-x:auto}
.mail-preview table{border-collapse:collapse;width:100%;min-width:320px}
.mail-preview td{padding:7px 8px;border-bottom:1px solid #EEE7DF;vertical-align:top}
.mail-preview td:first-child{color:#716660;width:42%}
@media(max-width:600px){.check-grid,.offer-extras{grid-template-columns:1fr}.form-success{padding:24px}}
.form-layout>*{min-width:0}
#merleg{margin-top:-95px}
@media(max-width:800px){#merleg{margin-top:-79px}}
.no-3d #merleg{margin-top:0}
.form-success{scroll-margin-top:110px}
/* Rólunk: bemutatkozás */
.about-figure{margin:0;font:400 15px/1.5 var(--sans);color:var(--color-text-muted);max-width:260px}
.about-figure span{display:block;font:italic 400 clamp(4.5rem,9vw,7.5rem)/1 var(--serif);letter-spacing:-.05em;color:var(--color-accent);margin-bottom:12px}
.pitfalls{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:0;border-top:1px solid var(--color-border)}
.pitfalls li{display:grid;gap:8px;align-content:start;padding:24px 22px 24px 0;border-bottom:1px solid var(--color-border)}
.pitfalls strong{font:400 21px/1.25 var(--serif);letter-spacing:-.02em;color:var(--color-primary)}
.pitfalls span{font-size:14px;line-height:1.6;color:var(--color-text-muted)}
.promise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.promise{padding:34px;border:1px solid var(--color-border)}
.promise--yes{background:var(--color-primary);border-color:var(--color-primary);border-top:3px solid var(--color-accent)}
.promise--yes .eyebrow{color:var(--color-on-dark-muted)}
.promise--yes p{color:var(--color-on-dark-muted)}
.promise .promise__text{font:400 clamp(1.4rem,2.3vw,1.9rem)/1.3 var(--serif);letter-spacing:-.02em;color:var(--color-text);margin-bottom:16px}
.promise--yes .promise__text{color:var(--color-background)}
.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.group-grid article{background:var(--color-background);border:1px solid var(--color-border);padding:28px}
.group-grid h3{font:400 26px/1.2 var(--serif);letter-spacing:-.03em;color:var(--color-primary);margin-bottom:10px}
.group-grid p{margin-bottom:10px}
.group-note{margin:22px 0 0;font-size:14px;max-width:720px}
.why-promise{border-left:2px solid var(--color-accent);padding-left:16px;color:var(--color-text)!important}
@media(max-width:800px){.promise-grid,.group-grid{grid-template-columns:1fr}.promise{padding:26px}}
.js .next-timeline .timeline-station:focus-within .timeline-panel{opacity:1;filter:none}
.footer-grid .footer-heading{margin-top:0;font-weight:600;text-transform:uppercase}
.story__kicker{display:block;font:700 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);margin-bottom:22px}
@media(max-width:800px){.story__kicker{font-size:10px;margin-bottom:12px}}
.story__stage canvas{left:0;right:auto;width:100%}
@media(max-width:800px){.story__stage canvas{top:78px;height:calc(100% - 78px)}}

.group-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.group-grid--3{grid-template-columns:1fr}}
/* Szolgáltatás-csempék: a háttérben statikus mérleg, előtte áttetsző, forduló kártyák */
.home-services .services-grid{position:relative;isolation:isolate}
.home-services .services-grid::before{content:"";position:absolute;inset:-30px 6% -10px;z-index:-1;background:url(../img/merleg-hatter.webp) center/contain no-repeat;pointer-events:none}
.home-services .flip-card__face{border-color:rgba(var(--color-border-rgb),.9)}
.home-services .flip-card__front{background:rgba(var(--color-background-rgb),.55);color:var(--color-primary)}
.home-services .flip-card__back{background:rgba(var(--color-primary-rgb),.9)}
.home-services .flip-card:first-child .flip-card__front{background:rgba(var(--color-primary-rgb),.8);border-color:transparent}
.home-services .flip-card:first-child .flip-card__back{background:rgba(var(--color-accent-rgb),.88);border-color:transparent}
.home-services .flip-card__toggle{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.home-services .flip-card__title{text-shadow:0 1px 0 rgba(var(--color-background-rgb),.6)}
.home-services .flip-card:first-child .flip-card__title{text-shadow:none}
.home-services .flip-card__description{font-family:var(--serif);font-size:23px;letter-spacing:-.02em}
@media(max-width:600px){.home-services .services-grid::before{inset:0;background-position:center 30%;background-size:120% auto;opacity:.9}.home-services .flip-card__description{font-size:20px}}

/* Idővonal: a szöveg mindig éles, az aktív állomás csak kiemelést kap */
.js .next-timeline .timeline-panel,.js .next-timeline .is-active .timeline-panel{opacity:1;filter:none}
.next-timeline .timeline-panel{transition:transform 300ms ease-out}
.js .next-timeline .is-active .timeline-panel{transform:translateY(-2px)}
/* Szolgáltatás-csempék: egységes színek (elöl világos üveg, hátul sötét), az első csempe is ugyanígy */
.home-services .flip-card .flip-card__front,.home-services .flip-card:first-child .flip-card__front{background:rgba(var(--color-background-rgb),.62);border-color:rgba(var(--color-border-rgb),.95);color:var(--color-primary)}
.home-services .flip-card .flip-card__back,.home-services .flip-card:first-child .flip-card__back{background:rgba(var(--color-primary-rgb),.9);border-color:rgba(var(--color-primary-rgb),.9);color:var(--color-background)}
.home-services .flip-card:first-child .flip-card__title{text-shadow:0 1px 0 rgba(var(--color-background-rgb),.6)}
.home-services .flip-card__back .flip-card__description{color:var(--color-background)}
.home-services .flip-card__front{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.footer-grid a[href^="tel:"]{color:inherit}

/* Szolgáltatások: letisztult "összes szolgáltatás" hivatkozás a csempék alatt */
.home-services .services-more{display:flex;justify-content:center;margin-top:44px}
.services-more__link{display:inline-flex;align-items:center;gap:14px;padding:14px 4px 10px;border-bottom:1px solid var(--color-accent);color:var(--color-primary);font:400 clamp(1.15rem,1.8vw,1.4rem)/1.2 var(--serif);letter-spacing:-.02em;text-decoration:none;transition:color .2s,gap .2s}
.services-more__link svg{color:var(--color-accent);transition:transform .2s}
.services-more__link:hover{color:var(--color-accent);gap:18px}
.services-more__link:hover svg{transform:translateX(3px)}
.services-more__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}
@media(prefers-reduced-motion:reduce){.services-more__link,.services-more__link svg{transition:none}}
/* Egyedi legördülő lista */
.hk-select{position:relative;margin-top:7px}
.hk-select__native{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.hk-select__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 13px;border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);font:inherit;font-weight:500;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.hk-select.is-empty .hk-select__value{color:var(--color-text-muted);font-weight:400}
.hk-select__btn:hover{border-color:var(--color-taupe)}
.hk-select__btn:focus-visible,.hk-select.is-open .hk-select__btn{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb),.12)}
.hk-select.is-invalid .hk-select__btn{border-color:#B3261E}
.hk-select__chev{width:18px;height:18px;flex:none;color:var(--color-accent);transition:transform .2s}
.hk-select.is-open .hk-select__chev{transform:rotate(180deg)}
.hk-select__list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;margin:0;padding:6px 0;list-style:none;max-height:280px;overflow-y:auto;background:var(--color-background);border:1px solid var(--color-border);border-top:2px solid var(--color-accent);box-shadow:0 18px 40px rgba(var(--color-primary-rgb),.16);outline:none;animation:hk-drop .16s ease-out}
.hk-select.drop-up .hk-select__list{top:auto;bottom:calc(100% + 6px);border-top:1px solid var(--color-border);border-bottom:2px solid var(--color-accent)}
@keyframes hk-drop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.hk-select__opt{position:relative;padding:10px 40px 10px 16px;font-size:15px;font-weight:400;color:var(--color-text);cursor:pointer;letter-spacing:0}
.hk-select__opt.is-active{background:var(--color-surface);color:var(--color-primary)}
.hk-select__opt[aria-selected="true"]{font-weight:600;color:var(--color-accent)}
.hk-select__opt[aria-selected="true"]::after{content:"";position:absolute;right:16px;top:50%;width:6px;height:11px;border:solid var(--color-accent);border-width:0 2px 2px 0;transform:translateY(-65%) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.hk-select__list{animation:none}.hk-select__chev{transition:none}}


/* aszf-page v2 */
.aszf h2{font-size:clamp(24px,3vw,30px);margin-top:2.2em;scroll-margin-top:110px}.aszf h3{font-size:19px;margin:1.6em 0 .5em}.aszf ul{margin:.3em 0 1.1em;padding-left:1.3em}.aszf li{font-size:15px;line-height:1.75;margin:.25em 0}.aszf p strong{color:inherit}.aszf-meta{opacity:.75;font-size:14px!important}.aszf-download{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:18px 0 30px}.aszf-download span{font-size:13px;opacity:.7}.aszf-download--end{margin-top:40px}.aszf-toc{border:1px solid rgba(56,49,46,.14);border-radius:14px;padding:18px 22px;margin:28px 0 10px;background:rgba(255,255,255,.5)}.aszf-toc ul{list-style:none;margin:8px 0 0;padding:0;columns:2;column-gap:32px}.aszf-toc a{text-decoration:none;border-bottom:1px solid transparent}.aszf-toc a:hover{border-bottom-color:currentColor}.aszf-toc__title{font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0!important}.aszf-toc li{font-size:14px;margin:.2em 0;break-inside:avoid}@media(max-width:640px){.aszf-toc ul{columns:1}}.aszf li{color:inherit}

html{scroll-padding-top:110px}
/* mobil menü v2: ikon gomb (három vonal → X), függőleges menülista */
.legal ul{margin:.3em 0 1.1em;padding-left:1.3em}.legal li{font-size:15px;line-height:1.75;margin:.35em 0;color:inherit}
@media(max-width:800px){
.menu-toggle{position:relative;display:block;width:46px;height:46px;padding:0;margin-right:-6px;border:0;border-radius:50%;background:transparent;font-size:0;color:var(--color-primary);cursor:pointer;transition:background .2s}
@media(hover:hover){.menu-toggle:hover{background:rgba(var(--color-primary-rgb),.06)}}
.menu-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:12px;width:22px;height:1.75px;border-radius:2px;background:currentColor;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .2s,top .28s}
.menu-toggle::before{top:16px;box-shadow:0 6.5px 0 currentColor}
.menu-toggle::after{top:29px;width:14px;left:20px}
.menu-toggle[aria-expanded="true"]::before{top:22px;transform:rotate(45deg);box-shadow:none}
.menu-toggle[aria-expanded="true"]::after{top:22px;left:12px;width:22px;transform:rotate(-45deg)}
.js nav.open{flex-direction:column;flex-wrap:nowrap;gap:0;padding:6px 0 18px;animation:hk-menu .22s ease-out}
@keyframes hk-menu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
nav a,nav a:last-child{width:100%}
nav a:not(:last-child){padding:15px 2px;font-family:var(--serif);font-size:21px;font-weight:400;color:var(--color-primary);border-bottom:1px solid rgba(var(--color-border-rgb),.7)}
nav a:not(:last-child):after{content:none}
nav a[aria-current]:not(:last-child){color:var(--color-accent);font-weight:400}
nav a:last-child{margin-top:18px;padding:15px 20px;text-align:center;font-size:15px;letter-spacing:.02em}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){.menu-toggle::before,.menu-toggle::after{transition:none}.js nav.open{animation:none}}
