/* Shared type and control geometry for both languages and every section. */
:root{
 --font-ui:Manrope,Arial,sans-serif;
 --text-body:17px;
 --text-small:14px;
 --text-lead:18px;
 --text-button:16px;
 --text-disclosure:20px;
 --heading-subsection:28px;
 --heading-card:20px;
 --control-radius:14px;
}
html,body,button,input,textarea,select,summary{font-family:var(--font-ui)}
body .section .section-surface h2,body .photo-stage .section-head h2{
 font-size:var(--heading-section);font-weight:500;line-height:1.16;letter-spacing:-.04em;
}
body .section .section-surface h3{
 font-size:var(--heading-subsection);font-weight:500;line-height:1.3;letter-spacing:-.025em;
}
body .section .section-surface h4{
 font-size:var(--heading-card);font-weight:500;line-height:1.45;letter-spacing:-.02em;
}
body .section .section-surface :is(p,li),body .hero-copy>p{
 font-size:var(--text-body);line-height:1.75;
}
body .section .section-surface .service-lead{
 font-size:var(--text-lead);font-weight:500;line-height:1.65;
}
body .section .section-surface :is(.fine,.eyebrow,.form-note,.company-data-note,.founder-role),
body .section .section-surface .form-privacy p{
 font-size:var(--text-small);line-height:1.65;
}
body .section .section-surface .agency-country-list li{font-size:18px}
body .section .section-surface .agency-country-callout{font-size:var(--text-body)!important;line-height:1.75}

/* The same rounded rectangle and material for every action and disclosure.
   Icon controls remain square; navigation keeps its shared raised container. */
:root body :is(.button,.contact-trigger,.contact-close,.social-item,.service-item>button,
 .profession-choice,.disclosure>summary,.catalog>summary,.journey-stops button,
 .journey-back,.journey-next,.language-switch a,.header nav a){
 border:1px solid #ffffff73;
 border-radius:var(--control-radius)!important;
 background:var(--disclosure-fill);
 color:var(--soft-ink);
 box-shadow:var(--soft-raised);
 font-family:var(--font-ui);
 font-size:var(--control-text,var(--text-button))!important;
 font-weight:500;line-height:1.45;letter-spacing:0;
 transform:none;
 transition:box-shadow .2s ease,color .2s ease,border-color .2s ease;
 touch-action:manipulation;
}
.service-item>button,.profession-choice,.disclosure>summary,.catalog>summary{--control-text:var(--text-disclosure)}
.header nav a,.language-switch a,.header-phone,.journey-stops button{--control-text:14px}
:root body :is(.header nav a,.language-switch a){background:transparent;box-shadow:none;border-color:transparent}
:root body :is(.button.primary,.journey-next){font-weight:600}
:root body :is(.button,.contact-trigger){min-height:52px}
:root body :is(.header-phone,.button.small){min-height:44px}
:root body :is(.service-item>button,.profession-choice,.disclosure>summary,.catalog>summary){
 min-height:66px;padding:18px var(--disclosure-inset);gap:18px;letter-spacing:-.025em;
}
:root body .journey .journey-stops{gap:12px;padding:18px 28px;background:transparent;border:0}
:root body .journey .journey-stops button{min-height:52px;padding:12px 10px;border:1px solid #ffffff73}

:root body :is(.button,.contact-trigger,.contact-close,.social-item,.service-item>button,
 .profession-choice,.disclosure>summary,.catalog>summary,.journey-stops button,
 .journey-back,.journey-next,.language-switch a,.header nav a):focus-visible{
 outline:2px solid #3676a6;outline-offset:4px;
}
:root body :is(.contact-trigger,.service-item>button,.profession-choice,.disclosure>summary,
 .catalog>summary,.journey-stops button,.language-switch a):is([aria-expanded=true],[aria-current=step],[aria-current=page]),
:root body :is(.disclosure,.catalog)[open]>summary:not([aria-expanded]){
 background:var(--soft-control);box-shadow:var(--soft-pressed);border-color:transparent;color:var(--brand-navy);
}
@media(hover:hover) and (pointer:fine){
 :root body :is(.button,.contact-trigger,.contact-close,.social-item,.service-item>button,
  .profession-choice,.disclosure>summary,.catalog>summary,.journey-stops button,
  .journey-back,.journey-next,.language-switch a,.header nav a):not(:disabled):hover{
  background:var(--soft-control);box-shadow:var(--soft-hover);border-color:transparent;color:var(--brand-navy);transform:none;
 }
 :root body :is(.contact-trigger,.service-item>button,.profession-choice,.disclosure>summary,
  .catalog>summary,.journey-stops button,.language-switch a):is([aria-expanded=true],[aria-current=step],[aria-current=page]):hover{
  box-shadow:var(--soft-pressed);
 }
}
:root body :is(.button,.contact-trigger,.contact-close,.social-item,.service-item>button,
 .profession-choice,.disclosure>summary,.catalog>summary,.journey-stops button,
 .journey-back,.journey-next,.language-switch a,.header nav a):not(:disabled):active{
 background:var(--soft-control);box-shadow:var(--soft-deep);transform:none;transition-duration:.08s;
}
:root body :is(.button,.journey-back,.journey-next):disabled{opacity:.45;box-shadow:none;cursor:default}
/* Inputs echo the same corners, with an inset surface instead of a raised one. */
:root body :is(.brief-form input:not([type=checkbox]),.brief-form select,.brief-form textarea,.catalog-search input){
 border-radius:var(--control-radius)!important;font-family:var(--font-ui);font-size:16px;
 background-color:var(--soft-control);box-shadow:inset 4px 4px 9px #18395822,inset -4px -4px 9px #fff;
}
@media(max-width:700px){
 :root{--text-body:16px;--text-lead:17px;--text-button:15px;--text-disclosure:18px;--heading-subsection:25px}
 .header nav a,.language-switch a,.header-phone,.journey-stops button{--control-text:13px}
 :root body :is(.service-item>button,.profession-choice,.disclosure>summary,.catalog>summary){min-height:62px;padding:16px var(--disclosure-inset);gap:14px}
 :root body .journey .journey-stops{gap:10px;padding:16px}
 :root body .journey .journey-stops button{min-width:calc(33.333% - 10px);flex-basis:calc(33.333% - 10px);min-height:48px;padding:10px 6px}
 :root body .journey .journey-stops button:nth-child(n+4){flex-basis:calc(50% - 10px)}
}
@media(prefers-reduced-motion:reduce){
 :root body :is(button,.button,summary,.language-switch a,.header nav a,.social-item){transition:none!important}
}
@media(forced-colors:active){
 :root body :is(.button,.contact-trigger,.contact-close,.social-item,.service-item>button,
  .profession-choice,.disclosure>summary,.catalog>summary,.journey-stops button,
  .journey-back,.journey-next,.language-switch a,.header nav a){
  box-shadow:none!important;border:1px solid ButtonText!important;background:ButtonFace!important;color:ButtonText!important;
 }
 :root body :is(button,summary,a):is([aria-expanded=true],[aria-current=step],[aria-current=page]){outline:2px solid Highlight;outline-offset:-4px}
 :root body :is(.brief-form input:not([type=checkbox]),.brief-form select,.brief-form textarea,.catalog-search input){box-shadow:none;background:Field;color:FieldText;border:1px solid FieldText}
}
:root body .language-switch a{min-width:36px;min-height:36px}
