/* Shared surfaces and motion, matching the project calculator. */
:root {
  --brand-paper:#f7f2e9; --brand-ink:#19213b; --brand-muted:#53607a; --brand-blue:#425fc7;
  --brand-line:#cdd5ed; --brand-soft:#eef0fa; --brand-card:linear-gradient(150deg,#fffefa,#f7f8ff);
  --font-display:Georgia,'Times New Roman',serif;
  --type-section:clamp(2rem,3.5vw,3.4rem); --type-card:clamp(1.35rem,2vw,1.75rem);
  --space-section:clamp(3rem,5vw,5rem); --space-card:clamp(1.25rem,2.5vw,2rem);
  --radius-sm:.65rem; --radius-md:1.25rem; --radius-lg:1.25rem;
  --shadow-card:0 .6rem 2rem #232d6210;
  --motion-ui:180ms ease;
  --color-bg:#f7f2e9; --color-bg-soft:#eef0fa; --color-surface:#fffefa; --color-surface-strong:#e9edfc; --color-surface-light:#f7f8ff;
  --color-text:#19213b; --color-text-dark:#171c30; --color-muted:#5d657b; --color-muted-strong:#45516a;
  --color-line:rgba(72,90,145,.18); --color-line-strong:rgba(72,90,145,.3);
  --color-accent:#425fc7; --color-accent-strong:#304796; --color-accent-soft:#e9edfc; --color-focus:#4567de;
  --brand-gradient:linear-gradient(112deg,#2167cc 0%,#4b50d6 52%,#7735ce 100%);
  --brand-text-gradient:linear-gradient(112deg,#2188d5 0%,#5963ce 52%,#9252a2 100%);
  --shadow-float:0 1.5rem 4rem rgba(35,45,98,.16);
}
body.page { min-width:0; background:radial-gradient(ellipse at 88% 0,rgba(99,106,224,.07),transparent 35rem),var(--color-bg); }
.page .site-header { background:rgba(247,242,233,.96); border-color:rgba(72,90,145,.16); }
.page :is(.button--accent,.pc-button) { background:var(--brand-gradient); color:#fff; border-color:#a7b2fb55; box-shadow:0 .6rem 2rem #4245be2e; }
.page :is(.button--accent,.pc-button):hover { filter:brightness(.96); box-shadow:0 .7rem 2rem #4245be45; }
.page .button--ghost { background:#eef1fd; color:#304796; border-color:#c3cdef; }
.page .button--ghost:hover { background:#e1e8ff; color:#203779; }
.page :is(.tfa-gradient,.text-accent) { display:inline-block; background:var(--brand-text-gradient); color:transparent; background-clip:text; -webkit-background-clip:text; padding-bottom:.15em; margin-bottom:-.15em; }
.page .page-hero { min-height:0; padding-top:calc(var(--header-height) + 4rem); padding-bottom:4rem; background:radial-gradient(ellipse at 90% 15%,#7168b41a,transparent 55%),#f7f2e9; }
.page .page-hero__grid { align-items:center; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,5vw,5rem); }
.page .page-hero h1 { max-width:none; font-family:var(--font-display); font-size:clamp(3rem,5.5vw,5.6rem); font-weight:400; line-height:1.06; letter-spacing:-.05em; }
.page .page-hero__aside > p { font-size:1.125rem; line-height:1.65; max-width:29rem; }
.page--leistungen .leistungen-hero__copy h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.page .section-heading { margin-bottom:2rem; }
.page :is(.section-heading,.service-detail__sticky,.statement-copy,.pc-section-heading) h2 { font-family:var(--font-sans); font-size:var(--type-section); font-weight:600; line-height:1.12; letter-spacing:-.045em; }
.page .section-heading > p,.page .service-detail__sticky > p:last-child { font-size:1rem; line-height:1.65; }
.page .tfa-night {
  --color-bg:#090b12; --color-bg-soft:#111827; --color-text:#f5f3ed; --color-text-dark:#f5f3ed;
  --color-muted:#b1bed5; --color-muted-strong:#c1cbe5; --color-line:#34415c; --color-line-strong:#4b5c7e; --color-accent:#bbcaff; --color-accent-strong:#c5d2ff; --color-focus:#c5d2ff;
  background:radial-gradient(ellipse at 100% 0,rgba(80,62,173,.16),transparent 55%),#090b12; color:#f5f3ed;
}
.page .tfa-night :is(h2,h3) { color:#f5f3ed; }
.page .tfa-night :is(.section-heading > p,.section-heading--split > div > p,.service-detail__sticky > p,.team-preview__copy > p) { color:#b8c6de; }
.page .tfa-night :is(.text-link,.card-link) { color:#bbcaff; }
.page :is(.detail-card,.compact-grid article,.case-card,.profile-card,.contact-option) {
  --card-text:#1a2340; --card-copy:#53607a; --card-line:#cdd5ed;
  position:relative; border:1px solid var(--card-line); border-radius:var(--radius-lg);
  background:var(--brand-card); color:var(--card-text); box-shadow:var(--shadow-card);
}
.page :is(.detail-card,.compact-grid article,.case-card,.profile-card,.contact-option) h3 { color:var(--card-text); font-family:var(--font-sans); font-size:var(--type-card); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.page :is(.detail-card,.compact-grid article,.case-card__content,.profile-card__body,.contact-option) p { color:var(--card-copy); opacity:1; font-size:1rem; line-height:1.65; }
.page .tfa-night :is(.detail-card,.case-card,.profile-card),.page article.contact-option--primary {
  --card-text:#f4f6ff; --card-copy:#c1cbe5; --card-line:#6477b6;
  background:radial-gradient(ellipse at 100% 0,rgba(120,78,236,.32),transparent 55%),radial-gradient(ellipse at 0 100%,rgba(43,113,210,.2),transparent 65%),#141b32;
  color:var(--card-text); box-shadow:0 1.4rem 4rem #232d6226;
}
.page .service-detail { padding-block:var(--space-section); }
.page .service-detail__grid { gap:clamp(2rem,5vw,5rem); }
.page .service-detail__content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; border:0; }
.page .detail-card { display:block; min-height:0; padding:var(--space-card); }
.page .detail-card h3 { margin-bottom:.9rem; }
.page .compact-grid { border:0; gap:1rem; }
.page .compact-grid article { min-height:0; padding:var(--space-card); }
.page .compact-grid article > span { display:inline-grid; place-items:center; width:2.3rem; height:2.3rem; border:1px solid #c3cdef; border-radius:.65rem; margin-bottom:1rem; background:#e9edfc; color:#425fc7; font-size:.875rem; }
.page :is(.case-framework,.collaboration,.team-profiles,.contact-options,.direct-contact,.case-list,.team-principle,.section--included) { padding-block:var(--space-section); }
.page .case-card__visual { min-height:25rem; }
.page .case-card__content { padding:clamp(1.5rem,4vw,3rem); }
.page .case-card :is(dt,dd) { color:#c1cbe5; font-size:.9375rem; }
.page .profile-card__portrait { min-height:25rem; }
.page .profile-card__portrait,.page .portrait-placeholder { color:#c1cbe5; background:radial-gradient(ellipse at 80% 20%,#7860d53d,transparent 60%),linear-gradient(145deg,#202c49,#101625); }
.page .profile-card__portrait--alt,.page .portrait-placeholder--offset { background:radial-gradient(ellipse at 10% 60%,#3587d54d,transparent 65%),linear-gradient(145deg,#242545,#101625); }
.page .team-principle .statement-grid { display:block; }
.page .contact-option { min-height:0; padding:clamp(1.5rem,3vw,2.5rem); }
.page .contact-option__number { display:none; }
.page .contact-option .button { margin-top:auto; }
.page .contact-option h3 { font-size:var(--type-card); }
.page .contact-data dt { font-size:.875rem; }
.page .direct-contact .contact-data a { color:#bbcaff; overflow-wrap:anywhere; }
.page .legal-page { padding-top:calc(var(--header-height) + 3rem); }
.page .legal-page h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(2.75rem,5.5vw,5.2rem); }
.page .legal-page article section p { color:#45516a; }
.page--projekt-starten .legal-page > .container { max-width:58rem; }
.page--projekt-starten .legal-page > .container > p { max-width:38rem; font-size:1.125rem; }
.page--projekt-starten .legal-page .button { margin:1rem 0 2rem; }
.page .draft-badge { color:#87394d; background:#fff0f3; border-color:#dcb3bd; font-size:.8125rem; }
.page .site-footer { --color-text:#f4f6ff; --color-muted:#aebbd4; --color-muted-strong:#c1cbe5; --color-line:#34415c; background:#07090f; color:#f4f6ff; }
.page .site-footer__brand > p,.page .site-footer__column a,.page .site-footer__directory .site-footer__column a { color:#c1cbe5; }
.page .site-footer__column h2,.page .site-footer__directory .site-footer__column h2 { color:#aebbd4; font-size:.875rem; }
.page .site-footer__column a { min-height:32px; }
.page .site-footer__bottom { border-color:#34415c; }
.page .footer-cta { background:radial-gradient(ellipse at 80% 20%,#7168b417,transparent 60%),#f7f2e9; --color-muted-strong:#45516a; }
.page:not(.page--home) .footer-cta__grid { grid-template-columns:minmax(0,1.7fr) minmax(15rem,1fr); gap:3rem; }
.page:not(.page--home) .footer-cta__content h2 { max-width:20ch; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(2.4rem,4vw,4rem); }
.page .mobile-nav a { grid-template-columns:1fr; }
.page .mobile-nav a > span { display:none; }
.page--preisrechner .pc-hero__copy { padding-top:.5rem; }
.page--preisrechner .pc-visual__card strong { margin-top:0; }
/* Preserve the homepage's scenes, with the same surfaces as the calculator. */
.page--home .section--services,.page--home .section--services.is-cinematic-ready .services-story__stage { background:radial-gradient(ellipse at 80% 30%,#6149bf24,transparent 60%),#090b12; }
.page--home .section--services .service-frame { --color-text-dark:#f4f6ff; background:radial-gradient(ellipse at 100% 0,#784eec36,transparent 60%),#141b32; border-color:#485b85; color:#c1cbe5; }
.page--home .section--services .service-frame.is-active { --color-text:#19213b; --color-text-dark:#19213b; --color-muted:#53607a; --color-muted-strong:#45516a; --color-line:#cdd5ed; background:linear-gradient(145deg,#fffefa,#f0f2ff); color:#19213b; border-color:#a7b6ea; }
.page--home .section--services .service-frame:not(.is-active) h3 { color:#f4f6ff; }
.page--home .section--services .service-frame.is-active h3 { color:#19213b; }
.page--home .section--services .service-frame__copy h3 { line-height:1.12; }
.page--home .section--services .service-frame__details a { color:#bbcaff; }
.page--home .section--services .service-frame.is-active .service-frame__details a { color:#304796; }
.page--home .section--services .service-frame.is-active .service-frame__offers li { color:#45516a; }
.page--home .section--services .service-frame__offers li { font-size:1rem; }
.page--home .section--process { background:radial-gradient(ellipse at 88% 18%,#636ae014,transparent 60%),#eef0fa; }
.page--home .team-preview__stage { background:radial-gradient(ellipse at 90% 25%,#6149bf24,transparent 65%),#090b12; }
.page--home .team-preview__copy h2 { color:#f4f6ff; }
.page--home .team-preview__badge { color:#c1cbe5; }
.page--home .footer-cta.is-cinematic-closing .footer-cta__stage { background:radial-gradient(ellipse at 80% 20%,#7168b417,transparent 60%),#f7f2e9; }
/* Shared reading and interaction rules; loaded after the page styles. */
.page :is(.page-hero,.footer-cta,.tfa-faq,.site-header) {
  --color-text:var(--brand-ink); --color-text-dark:var(--brand-ink);
  --color-muted:var(--brand-muted); --color-muted-strong:var(--brand-muted);
  --color-accent:var(--brand-blue); --color-focus:var(--brand-blue);
  --color-line:rgba(72,90,145,.18); --color-line-strong:var(--brand-line);
  color:var(--brand-ink);
}
.page :is(.page-hero,.footer-cta) :is(h1,h2) { color:var(--brand-ink); }
.page .footer-cta { padding-block:var(--space-section); }
.page :is(.page-hero__grid,.service-detail__grid,.section-heading--split,.contact-option-grid,.compact-grid,.profile-grid) > * { min-width:0; }
.page :is(.button,.pc-button) { min-height:3rem; border-radius:var(--radius-pill); font-size:1rem; line-height:1.4; text-align:center; transition:background var(--motion-ui),box-shadow var(--motion-ui),transform var(--motion-ui); }
.page .site-header .button { min-height:2.85rem; font-size:.875rem; }
.page :is(.text-link,.card-link,.pc-link) { font-size:1rem; line-height:1.5; text-underline-offset:.3em; text-decoration-thickness:1px; }
.page :is(.text-link,.card-link,.pc-link):not(.card-link--disabled):hover { text-decoration:underline; }
.page :is(.text-link,.card-link,.pc-link):focus-visible { border-radius:.2rem; }
.page .text-link--header { font-size:.875rem; }
.page .desktop-nav a { font-size:.875rem; }
.page .desktop-nav a[aria-current="page"] { color:var(--brand-blue); }
.page .desktop-nav a::after { background:var(--brand-blue); }
.page .mobile-menu__panel {
  --color-text:var(--brand-ink); --color-muted:var(--brand-muted); --color-muted-strong:var(--brand-muted);
  --color-line:var(--brand-line); --color-focus:var(--brand-blue);
  background:var(--brand-paper); color:var(--brand-ink);
}
.page .mobile-menu__panel .mobile-nav a { color:var(--brand-ink); border-color:var(--brand-line); }
.page .mobile-nav a[aria-current="page"] { color:var(--brand-blue); background:var(--brand-soft); }
.page .mobile-menu__trigger { color:var(--brand-ink); border-color:var(--brand-line); min-height:44px; }
.page .mobile-menu__icon i { background:var(--brand-ink); }
.page .mobile-menu__claim { color:var(--brand-muted); }
.page .site-footer { --color-focus:#bbcaff; }
.page .site-footer__column a { display:inline-flex; align-items:center; min-height:44px; font-size:1rem; }
.page .site-footer__column a:hover { color:#fff; text-decoration:underline; text-underline-offset:.3em; }
.page .legal-page article { color:var(--brand-ink); }
.page .legal-page article h2 { font-family:var(--font-sans); font-weight:600; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.25; }
.page .legal-page article :is(p,li) { font-size:1rem; line-height:1.75; }
.page .legal-page article a { color:var(--brand-blue); text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.page .not-found h1 { font-family:var(--font-display); font-weight:400; }
.page .not-found__code { color:var(--brand-blue); }

/* Calculator and checkout use the same palette, card edges and control states. */
.page--preisrechner {
  --pc-ink:var(--brand-ink); --pc-muted:var(--brand-muted); --pc-line:var(--brand-line);
  --pc-blue:var(--brand-blue); --pc-paper:#fffefa; --pc-gradient:var(--brand-gradient);
}
.page--preisrechner :is(.pc-hero,.pc-packages) { color:var(--brand-ink); background:var(--brand-paper); }
.page--preisrechner .pc-hero h1 { color:var(--brand-ink); font-family:var(--font-display); }
.page--preisrechner .pc-hero__lead { color:var(--brand-muted); }
.page--preisrechner .pc-packages .pc-section-heading h2 { color:var(--brand-ink); }
.page--preisrechner :is(.pc-calculator,.checkout-main) { background:var(--brand-soft); --color-focus:var(--brand-blue); }
.page--preisrechner :is(.pc-calculator,.pc-packages) { padding-block:var(--space-section); }
.page--preisrechner :is(.pc-summary,.pc-cart,.iq-form,.iq-success,.cart-empty) { background:var(--brand-card); border-color:var(--brand-line); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); padding:var(--space-card); }
.page--preisrechner .pc-calculator .pc-disclosure,.page--checkout .pc-disclosure { border-radius:var(--radius-md); }
.page--preisrechner .pc-calculator .pc-disclosure[open] > summary,.page--checkout .pc-disclosure[open] > summary { background:var(--brand-soft); color:var(--brand-ink); }
.page--preisrechner :is(.pc-disclosure > summary,.pc-option,.iq-progress button) { transition:background var(--motion-ui),border-color var(--motion-ui); }
.page--preisrechner :is(.pc-disclosure > summary,.pc-option) { min-height:3rem; }
.page--preisrechner .pc-calculator .pc-disclosure > summary strong,.page--checkout .pc-disclosure > summary strong { font-size:1rem; line-height:1.5; }
.page--preisrechner :is(.pc-disclosure__body,.iq-intro,.iq-check,.iq-review-block p,.cart-empty-copy) { font-size:1rem; line-height:1.65; }
.page--preisrechner :is(.pc-summary__note,.pc-cart__note,.cart-item p,.cart-item__actions button,.pc-option__copy small) { font-size:.875rem; line-height:1.6; }
.page--preisrechner .pc-summary__actions .pc-button,.page--preisrechner .pc-mobile-total__next { background:var(--brand-gradient); color:#fff; }
.page--preisrechner .pc-field select,.page--checkout .iq-field :is(input,textarea,select) { font-size:1rem; border-radius:var(--radius-sm); }
.page--preisrechner .pc-swipe-arrow { border-color:var(--brand-line); color:var(--brand-blue); }
.page--preisrechner .pc-swipe-dot[aria-current="true"] { background:var(--brand-blue); }
.page--preisrechner .pc-swipe-hint { color:var(--brand-muted); font-size:.875rem; }
.page--preisrechner #preset-options.pc-swipe-track > .pc-package {
  --pkg-title:var(--brand-ink); --pkg-copy:var(--brand-muted); --pkg-line:var(--brand-line);
  --pkg-accent:var(--brand-blue); --pkg-tint:#e9edfc;
  background:var(--brand-card); border-radius:var(--radius-lg); box-shadow:var(--shadow-card);
}
.page--preisrechner #preset-options.pc-swipe-track > .pc-package[data-package="launch"] {
  --pkg-title:#f4f6ff; --pkg-copy:#c1cbe5; --pkg-line:#6477b6; --pkg-accent:#bbcaff; --pkg-tint:#253458;
  background:radial-gradient(ellipse at 100% 0,#784eec36,transparent 65%),#141b32;
}
.page--preisrechner #preset-options.pc-swipe-track > .pc-package[data-package="appstarter"] { background:linear-gradient(150deg,#fffefa,#efebfb); }
.page--preisrechner #preset-options.pc-swipe-track > .pc-package[data-package="growth"] { background:linear-gradient(150deg,#fffefa,#e9effc); }
.page--preisrechner #preset-options .pc-package h3 { font-family:var(--font-sans); font-weight:600; font-size:clamp(2rem,3.3vw,3rem); letter-spacing:-.035em; }
.page--preisrechner #preset-options .pc-package__button { border-radius:var(--radius-pill); font-size:1rem; }
.page--preisrechner #preset-options .pc-package__tag { font-size:.875rem; border-color:var(--pkg-line); color:var(--pkg-title); }
.page--preisrechner .pc-calculator .pc-disclosure > summary,.page--checkout .pc-disclosure > summary { border-radius:var(--radius-md); }
.page--preisrechner .pc-calculator .pc-disclosure[open] > summary,.page--checkout .pc-disclosure[open] > summary { border-radius:var(--radius-md) var(--radius-md) 0 0; }
.page--checkout .iq-progress button { min-height:3rem; border-radius:var(--radius-sm); font-size:.875rem; }

/* Native details keep keyboard and no-JavaScript behavior built in. */
.page .tfa-faq { padding-block:var(--space-section); background:var(--brand-paper); color-scheme:light; }
.tfa-faq__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:start; gap:clamp(2rem,5vw,5rem); }
.tfa-faq__intro { padding-block:1rem; }
.page .tfa-faq h2 { margin:0 0 1.25rem; color:var(--brand-ink); font-family:var(--font-sans); font-size:var(--type-section); font-weight:600; line-height:1.12; letter-spacing:-.045em; }
.tfa-faq__intro > p { max-width:28ch; margin:0 0 1.5rem; color:var(--brand-muted); font-size:1rem; line-height:1.65; }
.page .tfa-faq__contact { display:inline-flex; align-items:center; min-height:44px; margin:0; color:var(--brand-blue); text-decoration:underline; }
.page .tfa-faq__contact::after { display:none; }
.tfa-faq__items { min-width:0; border:1px solid var(--brand-line); border-radius:var(--radius-lg); background:var(--brand-card); box-shadow:var(--shadow-card); }
.tfa-faq__item { border:0; border-bottom:1px solid var(--brand-line); }
.tfa-faq__item:first-child,.tfa-faq__item:first-child > summary { border-top-left-radius:var(--radius-lg); border-top-right-radius:var(--radius-lg); }
.tfa-faq__item:last-child { border-bottom:0; border-bottom-left-radius:var(--radius-lg); border-bottom-right-radius:var(--radius-lg); }
.tfa-faq__item:last-child:not([open]) > summary { border-bottom-left-radius:var(--radius-lg); border-bottom-right-radius:var(--radius-lg); }
.tfa-faq__item > summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:5.5rem; padding:1.25rem 1.75rem; list-style:none; color:var(--brand-ink); font-size:1.0625rem; font-weight:550; line-height:1.5; transition:background var(--motion-ui),color var(--motion-ui); }
.tfa-faq__item > summary::-webkit-details-marker { display:none; }
.tfa-faq__item > summary::marker { content:''; }
.tfa-faq__item > summary:hover { background:var(--brand-soft); }
.tfa-faq__item > summary:focus-visible { position:relative; z-index:1; outline:3px solid var(--brand-blue); outline-offset:3px; }
.tfa-faq__item[open] { background:#eef0fa; }
.tfa-faq__item[open] > summary { color:var(--brand-blue); }
.tfa-faq__icon { position:relative; flex:0 0 2.5rem; width:2.5rem; height:2.5rem; border:1px solid var(--brand-line); border-radius:50%; background:#e9edfc; color:var(--brand-blue); }
.tfa-faq__icon::before,.tfa-faq__icon::after { position:absolute; inset:50% auto auto 50%; width:.85rem; height:2px; background:currentColor; content:''; transform:translate(-50%,-50%); }
.tfa-faq__icon::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform var(--motion-ui); }
.tfa-faq__item[open] .tfa-faq__icon { background:var(--brand-blue); border-color:var(--brand-blue); color:#fff; }
.tfa-faq__item[open] .tfa-faq__icon::after { transform:translate(-50%,-50%) rotate(0); }
.tfa-faq__answer { padding:0 5.75rem 1.75rem 1.75rem; }
.tfa-faq__answer p { max-width:64ch; margin:0; color:var(--brand-muted); font-size:1rem; line-height:1.75; }
@media (max-width:900px) {
  .tfa-faq__grid { grid-template-columns:1fr; gap:1.5rem; }
  .tfa-faq__intro { padding:0; }
  .tfa-faq__intro > p { max-width:42ch; margin-bottom:.75rem; }
}
@media (max-width:700px) {
  .page .tfa-faq__item > summary { gap:1rem; min-height:5rem; padding:1.1rem 1.25rem; font-size:1rem; }
  .tfa-faq__answer { padding:0 1.25rem 1.5rem; }
  .page--preisrechner .pc-calculator { padding-bottom:5rem; }
  .page :is(.pc-calculator,.checkout-main) .pc-section-heading h2 { font-size:var(--type-section); }
}
/* Pointer effects share the calculator's small tilt and moving highlight. */
.page [data-tilt]:not(.pc-package) { transition:opacity 350ms ease-out,transform 220ms ease-out,box-shadow 220ms ease-out,border-color 220ms ease-out; }
.page [data-tilt]:not(.pc-package)::after { position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at var(--light-x,80%) var(--light-y,10%),#7f9bff20,transparent 55%); opacity:0; pointer-events:none; content:''; transition:opacity 220ms ease; }
@media (min-width:761px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .page [data-tilt]:not(.pc-package):hover { transform:perspective(1200px) translateY(-4px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); border-color:#8295d5; box-shadow:0 1.5rem 3.5rem #28316429; }
  .page [data-tilt]:not(.pc-package):hover::after { opacity:1; }
}
@media (max-width:1000px) {
  .page .compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page .service-detail__grid { grid-template-columns:1fr; }
  .page .service-detail__sticky { position:static; }
}
@media (max-width:700px) {
  .page .page-hero { padding-top:calc(var(--header-height) + 2rem); padding-bottom:2.5rem; }
  .page .page-hero__grid { grid-template-columns:1fr; gap:1.5rem; }
  .page .page-hero h1 { font-size:clamp(2.65rem,10.5vw,4rem); }
  .page .page-hero__aside > p { font-size:1rem; margin-bottom:1.2rem; }
  .page :is(.service-detail,.case-framework,.collaboration,.team-profiles,.contact-options,.direct-contact,.case-list,.team-principle,.section--included) { padding-block:2.5rem; }
  .page .service-detail__content,.page .compact-grid,.page .contact-option-grid,.page .profile-grid { grid-template-columns:1fr; }
  .page .case-card { grid-template-columns:1fr; }
  .page .case-card--reverse .case-card__visual { order:0; }
  .page .case-card__visual,.page .profile-card__portrait { min-height:18rem; }
  .page .detail-card,.page .compact-grid article { padding:1.3rem; }
  .page:not(.page--home) .footer-cta__grid { grid-template-columns:1fr; gap:1.5rem; }
  .page .legal-page { padding-top:calc(var(--header-height) + 2rem); }
}
@media (prefers-reduced-motion:reduce) {
  .page [data-tilt] { transform:none !important; transition:none !important; }
  .page :is(.button,.pc-button,.pc-option,.pc-disclosure > summary,.iq-progress button,.tfa-faq__item > summary,.tfa-faq__icon::after) { transition:none; }
}
@media (forced-colors:active) {
  .page :is(.tfa-gradient,.text-accent) { background:none; color:CanvasText; -webkit-text-fill-color:currentColor; }
  .page [data-tilt] { border-color:CanvasText; }
  .page [data-tilt]::after { display:none; }
  .tfa-faq__items,.tfa-faq__item,.tfa-faq__icon { border-color:CanvasText; }
  .tfa-faq__icon::before,.tfa-faq__icon::after { background:ButtonText; }
  .tfa-faq__item[open] .tfa-faq__icon { background:Canvas; color:ButtonText; border-color:ButtonText; }
}
