/* Snapshot of the Tailwind 4 layers the original app compiled into its bundle
 * (theme variables, preflight reset, and the few utilities the markup uses).
 * Static file — no Tailwind toolchain involved. Edit freely.
 */
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme {
  :root,:host {
  --font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --spacing:.25rem;
  --default-font-family:var(--font-sans);
  --default-mono-font-family:var(--font-mono)}
}
@layer base {
  *,:after,:before,::backdrop {
  box-sizing:border-box;
  border:0 solid;
  margin:0;
  padding:0}
::file-selector-button {
  box-sizing:border-box;
  border:0 solid;
  margin:0;
  padding:0}
html,:host {
  -webkit-text-size-adjust:100%;
  tab-size:4;
  line-height:1.5;
  font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-feature-settings:var(--default-font-feature-settings,normal);
  font-variation-settings:var(--default-font-variation-settings,normal);
  -webkit-tap-highlight-color:transparent}
hr {
  height:0;
  color:inherit;
  border-top-width:1px}
abbr:where([title]) {
  -webkit-text-decoration:underline dotted;
  text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6 {
  font-size:inherit;
  font-weight:inherit}
a {
  color:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  text-decoration:inherit}
b,strong {
  font-weight:bolder}
code,kbd,samp,pre {
  font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-feature-settings:var(--default-mono-font-feature-settings,normal);
  font-variation-settings:var(--default-mono-font-variation-settings,normal);
  font-size:1em}
small {
  font-size:80%}
sub,sup {
  vertical-align:baseline;
  font-size:75%;
  line-height:0;
  position:relative}
sub {
  bottom:-.25em}
sup {
  top:-.5em}
table {
  text-indent:0;
  border-color:inherit;
  border-collapse:collapse}
:-moz-focusring {
  outline:auto}
progress {
  vertical-align:baseline}
summary {
  display:list-item}
ol,ul,menu {
  list-style:none}
img,svg,video,canvas,audio,iframe,embed,object {
  vertical-align:middle;
  display:block}
img,video {
  max-width:100%;
  height:auto}
button,input,select,optgroup,textarea {
  font:inherit;
  font-feature-settings:inherit;
  font-variation-settings:inherit;
  letter-spacing:inherit;
  color:inherit;
  opacity:1;
  background-color:#0000;
  border-radius:0}
::file-selector-button {
  font:inherit;
  font-feature-settings:inherit;
  font-variation-settings:inherit;
  letter-spacing:inherit;
  color:inherit;
  opacity:1;
  background-color:#0000;
  border-radius:0}
:where(select:is([multiple],[size])) optgroup {
  font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option {
  padding-inline-start:20px}
::file-selector-button {
  margin-inline-end:4px}
::placeholder {
  opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder {
  color:currentColor}
@supports (color:color-mix(in lab, red, red)) {
  ::placeholder {
  color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea {
  resize:vertical}
::-webkit-search-decoration {
  -webkit-appearance:none}
::-webkit-date-and-time-value {
  min-height:1lh;
  text-align:inherit}
::-webkit-datetime-edit {
  display:inline-flex}
::-webkit-datetime-edit-fields-wrapper {
  padding:0}
::-webkit-datetime-edit {
  padding-block:0}
::-webkit-datetime-edit-year-field {
  padding-block:0}
::-webkit-datetime-edit-month-field {
  padding-block:0}
::-webkit-datetime-edit-day-field {
  padding-block:0}
::-webkit-datetime-edit-hour-field {
  padding-block:0}
::-webkit-datetime-edit-minute-field {
  padding-block:0}
::-webkit-datetime-edit-second-field {
  padding-block:0}
::-webkit-datetime-edit-millisecond-field {
  padding-block:0}
::-webkit-datetime-edit-meridiem-field {
  padding-block:0}
::-webkit-calendar-picker-indicator {
  line-height:1}
:-moz-ui-invalid {
  box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]) {
  appearance:button}
::file-selector-button {
  appearance:button}
::-webkit-inner-spin-button {
  height:auto}
::-webkit-outer-spin-button {
  height:auto}
[hidden]:where(:not([hidden=until-found])) {
  display:none!important}
}
@layer components;
  @layer utilities {
  .absolute {
  position:absolute}
.start {
  inset-inline-start:var(--spacing)}
.table {
  display:table}
.grow {
  flex-grow:1}
.antialiased {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale}
}

/* Montserrat variable font (weights 100-900), self-hosted; split by unicode
 * subset so browsers download only what a page renders. Extracted from the
 * original next/font build output. */

/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/montserrat-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/montserrat-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/montserrat-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/montserrat-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.font-montserrat { --font-montserrat: 'Montserrat', sans-serif; }

@font-face {
  font-family:"Manrope";
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url("/assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family:"Manrope";
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url("/assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  --font-sans:"Manrope",Arial,sans-serif;
  --orange:#ff9900;
  --orange-soft:#fff5e5;
  --brand-gray:#575756;
  --navy:#072b3d;
  --blue:#0d5369;
  --ink:#18313d;
  --muted:#63757e;
  --mist:#f2f5f6;
  --line:#dce4e7;
  --violet:#6d3bff;
  --shadow:0 24px 64px rgba(7,43,61,.09);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; font-family:var(--font-sans); font-synthesis:none; font-optical-sizing:auto; font-feature-settings:"kern" 1,"liga" 1; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body { margin:0; color:var(--brand-gray); background:#fff; font-family:inherit; }
button,input,select,textarea { color:inherit; font:inherit; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
:focus-visible { outline:3px solid #ffb33f; outline-offset:4px; border-radius:6px; }

/* Shared navigation */
.site-header { position:sticky; top:0; z-index:60; color:var(--ink); background:rgba(255,255,255,.92); border-bottom:1px solid rgba(7,43,61,.1); backdrop-filter:blur(18px); }
.header-dark { color:var(--ink); background:rgba(255,255,255,.92); }
.header-inner { display:grid; grid-template-columns:205px 1fr auto; align-items:center; gap:28px; min-height:84px; }
.brand { display:inline-flex; align-items:center; width:max-content; }
.brand-logo { display:block; width:194px; height:auto; }
.desktop-nav { display:flex; align-items:center; justify-content:flex-end; gap:25px; }
.desktop-nav a { position:relative; display:flex; align-items:center; gap:6px; padding:12px 0; color:var(--brand-gray); font-size:13px; font-weight:610; }
.desktop-nav a>span { color:#9aa7ad; font-size:8px; font-weight:760; letter-spacing:.08em; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; border-radius:2px; background:var(--orange); transition:right .22s ease; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--navy); }
.desktop-nav a:hover::after,.desktop-nav a.active::after { right:0; }
.header-utilities,.directo-header-tools { display:flex; align-items:center; gap:14px; }
.language-switch,.directo-language-switch { display:inline-flex; align-items:center; justify-content:center; width:42px; min-width:42px; height:32px; padding:1px 0 0; border:1px solid rgba(7,43,61,.3); border-radius:999px; color:var(--navy); background:#fff; font-size:11px; font-weight:780; line-height:1; letter-spacing:.07em; transition:border-color .2s,color .2s,background .2s; }
.language-switch:hover,.directo-language-switch:hover { color:#fff; border-color:var(--navy); background:var(--navy); }
.mobile-menu,.directo-mobile-menu { display:none; }

/* Shared elements */
.eyebrow,.directo-kicker { margin:0 0 20px; color:var(--orange); font-size:clamp(11px,1vw,12px); font-weight:780; letter-spacing:.14em; }
.button,.directo-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 23px; border:1px solid transparent; border-radius:999px; font:inherit; font-size:14px; font-weight:680; cursor:pointer; transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease; }
.button:hover,.directo-button:hover { transform:translateY(-2px); }
.button-orange,.directo-button { color:#fff; background:var(--orange); box-shadow:0 12px 28px rgba(255,153,0,.18); }
.button-orange:hover,.directo-button:hover { background:#ffad2f; box-shadow:0 17px 34px rgba(255,153,0,.24); }
.button-outline { color:#fff; border-color:rgba(255,255,255,.66); background:rgba(255,255,255,.04); backdrop-filter:blur(8px); }
.button-outline:hover { color:var(--navy); background:#fff; }
.arrow-link { display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:620; }
.arrow-link span { transition:transform .2s ease; }
.arrow-link:hover span { transform:translateX(4px); }

/* Corporate home */
.hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:760px; overflow:hidden; color:#fff; background:url('/assets/hero-afianza.jpg') center/cover no-repeat; }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:76px 76px; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.hero-overlay { position:absolute; z-index:-2; inset:0; background:radial-gradient(circle at 86% 18%,rgba(255,153,0,.2),transparent 34%),linear-gradient(104deg,rgba(3,24,38,.82) 0%,rgba(7,61,80,.48) 48%,rgba(15,108,130,.18) 72%,rgba(255,153,0,.1) 100%); }
.hero-content { position:relative; padding-block:18px; padding-left:31px; border-left:2px solid var(--orange); animation:hero-rise .65s ease-out both; }
.hero-content::before { content:""; position:absolute; left:-2px; top:0; width:34px; height:2px; background:var(--orange); }
.hero h1 { max-width:940px; margin:0 0 27px; font-size:clamp(48px,5.3vw,76px); font-weight:590; line-height:1; letter-spacing:-.04em; text-wrap:balance; }
.hero-copy { max-width:720px; margin:0; color:rgba(255,255,255,.86); font-size:18px; line-height:1.5; }
.hero-actions,.directo-actions { display:flex; align-items:center; gap:28px; margin-top:36px; }
.hero-actions .arrow-link { color:#fff; }
.hero-meta,.directo-hero-meta { display:flex; gap:28px; width:min(520px,100%); margin-top:62px; padding-top:17px; border-top:1px solid rgba(255,255,255,.34); color:rgba(255,255,255,.84); font-size:11px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }

.metrics { padding-block:94px 82px; }
.metrics-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.metrics-heading .eyebrow { margin:0; }
.metrics-heading>span { color:#73838b; font-size:12px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:40px; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:linear-gradient(135deg,#f7f9fa,#edf2f3); }
.metric { position:relative; display:flex; flex-direction:column; min-height:176px; padding:26px 27px 29px; border-right:1px solid var(--line); transition:background .22s ease; }
.metric:last-child { border-right:0; }
.metric:hover { background:rgba(255,255,255,.88); }
.metric small { display:flex; align-items:center; gap:8px; color:var(--orange); font-size:9px; font-weight:790; letter-spacing:.1em; }
.metric small::after { content:""; width:22px; height:1px; background:var(--orange); }
.metric strong { margin-top:auto; margin-bottom:10px; color:var(--orange); font-size:clamp(28px,2.5vw,38px); font-weight:690; line-height:1; letter-spacing:-.035em; }
.metric>span { max-width:200px; color:#465b65; font-size:14px; line-height:1.45; }
.metrics>.button { display:flex; width:max-content; margin-inline:auto; }

.services { position:relative; overflow:hidden; padding-block:104px 110px; color:#fff; background:var(--navy); }
.services::before { content:""; position:absolute; inset:0; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(180deg,#000,transparent 68%); }
.services-intro,.service-grid { position:relative; }
.services-intro h2 { max-width:800px; margin:0 0 20px; font-size:clamp(42px,5vw,68px); font-weight:580; line-height:1; letter-spacing:-.038em; text-wrap:balance; }
.services-intro>p:last-child { max-width:780px; margin:0; color:rgba(255,255,255,.72); font-size:17px; line-height:1.55; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:64px; }
.service-card { position:relative; display:flex; flex-direction:column; min-height:430px; overflow:hidden; padding:32px; border:1px solid rgba(255,255,255,.22); border-radius:20px; color:var(--ink); background:#fff; cursor:pointer; transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.service-card:hover { transform:translateY(-6px); border-color:transparent; box-shadow:0 26px 65px rgba(0,18,27,.25); }
.service-card::after { content:"↗"; position:absolute; top:25px; right:25px; display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; color:var(--orange); transition:transform .22s ease,color .22s ease,background .22s ease; }
.service-card:hover::after { color:#fff; background:var(--orange); transform:rotate(45deg); }
.service-card.expert::after { color:var(--violet); }
.service-card.expert:hover::after { color:#fff; background:var(--violet); }
.service-index { margin-bottom:31px; color:#829198; font-size:9px; font-weight:760; letter-spacing:.1em; }
.service-card h3 { margin:0; }
.service-card h3::after { content:""; display:block; height:1px; margin:20px 0; background:var(--line); }
.service-logo { display:block; width:min(286px,72%); height:auto; }
.service-type { margin:0 0 8px; color:var(--navy); font-weight:660; }
.service-card p,.service-card li { font-size:14px; line-height:1.55; }
.service-card ul { margin:10px 0 24px; padding:0; list-style:none; }
.service-card li { position:relative; margin:8px 0; padding-left:18px; }
.service-card li::before { content:"›"; position:absolute; left:1px; color:var(--orange); font-size:18px; }
.service-card.expert li::before { color:var(--violet); }
.service-card .arrow-link { margin-top:auto; color:var(--orange); }
.service-card.expert .arrow-link { color:var(--violet); }

/* Shared footer */
.footer,.directo-footer { padding:68px 0 30px; color:var(--ink); background:#f4f7f8; border-top:1px solid var(--line); }
.footer-inner>.brand { display:flex; justify-content:center; margin:0 auto 55px; }
.footer-inner>.brand .brand-logo { width:232px; }
.footer-grid,.directo-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; column-gap:clamp(32px,4.2vw,64px); row-gap:42px; }
.footer-grid>div,.directo-footer-grid>div { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-grid h3,.directo-footer-grid h3 { min-height:20px; margin:0 0 13px; color:var(--navy); font-size:13px; font-weight:760; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; }
.footer a,.footer span,.directo-footer-grid a,.directo-footer-grid span { color:#4e626c; font-size:14px; line-height:1.5; }
.footer-grid h3 a,.directo-footer-grid h3 a { color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; text-transform:inherit; }
.footer a:hover,.directo-footer-grid a:hover { color:var(--orange); }
.footer-address,.directo-footer-legal { margin:56px 0 0; padding-top:26px; border-top:1px solid var(--line); color:#6f7f87; font-size:12px; text-align:center; }

/* Internal corporate pages */
.plain-page,.group-page { min-height:650px; background:linear-gradient(145deg,#f3f6f7,#fff 58%,#f6f2ec); }
.certifications-page { min-height:720px; padding:108px 0; background:linear-gradient(145deg,#f3f6f7,#fff 58%,#f6f2ec); }
.certifications-hero { padding-bottom:54px; }
.certifications-heading { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr); align-items:end; gap:76px; }
.certifications-heading h1 { max-width:850px; margin:0; color:var(--navy); font-size:clamp(46px,5.4vw,74px); font-weight:580; line-height:.99; letter-spacing:-.04em; }
.certifications-heading>p { max-width:410px; margin:0 0 4px; color:#53666f; font-size:16px; line-height:1.65; }
.certifications-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rating-card { position:relative; display:flex; flex-direction:column; min-height:560px; overflow:hidden; padding:29px 32px 31px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.88); transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease; }
.rating-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--orange); }
.rating-card.experto::before { background:var(--violet); }
.rating-card:hover { transform:translateY(-4px); border-color:#c9d5da; box-shadow:var(--shadow); }
.rating-card header { display:flex; align-items:center; justify-content:space-between; color:#73838b; font-size:11px; font-weight:750; letter-spacing:.12em; }
.rating-number { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; }
.rating-status { display:flex; align-items:center; gap:8px; }
.rating-status i { width:7px; height:7px; border-radius:50%; background:#40b582; box-shadow:0 0 0 4px rgba(64,181,130,.12); }
.rating-logo { width:min(270px,75%); height:72px; margin:34px 0 24px; object-fit:contain; object-position:left center; }
.rating-classification { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; padding:21px 0; border-block:1px solid var(--line); }
.rating-classification p { margin:0; color:#60727b; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.rating-classification strong { color:var(--navy); font-size:29px; font-weight:600; letter-spacing:-.03em; }
.rating-description { min-height:70px; margin:22px 0; color:#344a55; font-size:15px; line-height:1.6; }
.rating-card dl { display:grid; gap:10px; margin:0 0 27px; }
.rating-card dl div { display:grid; grid-template-columns:145px 1fr; gap:15px; }
.rating-card dt { color:#667a84; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.rating-card dd { margin:0; color:#263e49; font-size:12px; font-weight:630; }
.rating-card>a { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:auto; padding:0 18px; border-radius:999px; color:#fff; background:var(--navy); font-size:12px; font-weight:680; }
.rating-card.directo>a:hover { background:var(--orange); }
.rating-card.experto>a:hover { background:var(--violet); }
.ratings-note { display:grid; grid-template-columns:170px 1fr; gap:38px; margin-top:28px; padding-top:26px; border-top:1px solid var(--line); }
.ratings-note span { color:var(--orange); font-size:11px; font-weight:780; letter-spacing:.14em; }
.ratings-note p { max-width:820px; margin:0; color:#687981; font-size:11px; line-height:1.65; }

.group-hero { position:relative; overflow:hidden; padding:110px 0 95px; color:#fff; background:var(--navy); }
.group-hero::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 85%); }
.group-hero>.shell { position:relative; }
.group-hero h1 { max-width:790px; margin:0 0 24px; font-size:clamp(48px,6vw,78px); font-weight:580; line-height:1; letter-spacing:-.04em; }
.group-hero>.shell>p:not(.eyebrow) { max-width:720px; margin:0; color:rgba(255,255,255,.76); font-size:18px; line-height:1.55; }
.group-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:62px; color:var(--ink); }
.group-company { --company-accent:var(--orange); position:relative; display:flex; min-height:370px; overflow:hidden; flex-direction:column; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:20px; background:#fff; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.group-company::before { content:""; position:absolute; z-index:2; inset:0 0 auto; height:3px; background:var(--company-accent); }
.group-company:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.5); box-shadow:0 24px 58px rgba(0,18,27,.2); }
.group-company.experto-company { --company-accent:var(--violet); }
.group-company.myv-company { --company-accent:#ff5d00; }
.group-company.austral-company { --company-accent:#ea601c; }
.group-company>header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 28px 0; }
.group-company>header span { color:#89979e; font-size:11px; font-weight:790; letter-spacing:.09em; }
.group-company>header strong { padding:6px 10px; border:1px solid color-mix(in srgb,var(--company-accent) 35%,transparent); border-radius:999px; color:var(--company-accent); background:color-mix(in srgb,var(--company-accent) 7%,white); font-size:11px; font-weight:740; letter-spacing:.07em; text-transform:uppercase; }
.group-logo-stage { display:flex; min-height:112px; align-items:center; padding:20px 28px 24px; border-bottom:1px solid var(--line); }
.group-brand-logo { display:block; width:auto; max-width:min(330px,80%); max-height:62px; object-fit:contain; object-position:left center; }
.experto-brand-logo { max-width:min(330px,84%); filter:brightness(.48) saturate(2.4); }
.myv-brand-logo { max-width:min(300px,78%); max-height:72px; }
.austral-brand-logo { max-width:min(260px,72%); max-height:66px; }
.group-company-body { display:flex; flex:1; flex-direction:column; padding:25px 28px 28px; }
.group-company h3 { margin:0 0 15px; color:var(--company-accent); font-size:16px; font-weight:700; }
.group-company p { margin:0 0 25px; color:#52666f; font-size:15px; line-height:1.6; }
.group-company .arrow-link { margin-top:auto; color:var(--company-accent); }
.group-utility { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-top:18px; padding:26px 30px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.group-utility>div { display:grid; gap:5px; }
.group-utility span { color:var(--orange); font-size:11px; font-weight:780; letter-spacing:.14em; }
.group-utility strong { font-size:23px; }
.group-utility p { margin:0; color:rgba(255,255,255,.78); font-size:14px; }
.group-utility .arrow-link { flex:0 0 auto; color:var(--orange); }
.team-section { padding-block:100px 115px; }
.team-section h2 { max-width:920px; margin:0 0 28px; color:var(--navy); font-size:clamp(44px,5vw,66px); font-weight:580; line-height:1; letter-spacing:-.038em; }
.team-section>p:last-child { max-width:900px; margin:0; color:var(--muted); font-size:18px; line-height:1.6; }

.contact-page { padding:100px 0 105px; }
.contact-heading { display:grid; grid-template-columns:1.5fr .5fr; gap:70px; align-items:end; }
.contact-heading h1 { margin:0 0 28px; color:var(--navy); font-size:clamp(52px,6vw,76px); font-weight:580; line-height:1; letter-spacing:-.04em; }
.contact-heading p,.contact-heading address { margin:0; color:var(--muted); font-size:17px; line-height:1.5; font-style:normal; }
.contact-heading address { display:flex; flex-direction:column; gap:5px; text-align:right; }
.contact-heading address a { color:var(--navy); font-weight:620; }
.contact-options { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:58px; }
.contact-options article { display:flex; flex-direction:column; min-height:320px; padding:31px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.88); transition:transform .22s ease,box-shadow .22s ease; }
.contact-options article:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.contact-options article>span { color:var(--orange); font-size:11px; font-weight:780; letter-spacing:.12em; }
.contact-options h2 { margin:45px 0 15px; color:var(--navy); font-size:30px; font-weight:590; letter-spacing:-.025em; }
.contact-options p { max-width:500px; margin:0 0 26px; color:#53666f; font-size:15px; line-height:1.65; }
.contact-options .button { width:max-content; max-width:100%; margin-top:auto; }
.contact-phone { color:var(--navy); border-color:var(--navy); background:transparent; }
.contact-phone:hover { color:#fff; background:var(--navy); }
.contact-privacy { margin-top:23px; color:#687981; font-size:12px; line-height:1.55; }
.contact-privacy a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }

.legal-page { padding:100px 0 110px; }
.legal-page article { max-width:930px; }
.legal-page h1 { max-width:800px; margin:0 0 44px; color:var(--navy); font-size:clamp(48px,6vw,74px); font-weight:580; line-height:1; letter-spacing:-.04em; }
.legal-page h2 { position:relative; margin:40px 0 12px; padding-left:28px; color:var(--navy); font-size:22px; }
.legal-page h2::before { content:""; position:absolute; left:0; top:.65em; width:16px; height:2px; background:var(--orange); }
.legal-page p { max-width:800px; color:#4f626c; font-size:15px; line-height:1.75; }
.legal-page .legal-intro { padding-bottom:31px; border-bottom:1px solid var(--line); color:#405661; font-size:18px; }
.legal-page a { color:#a96100; text-decoration:underline; text-underline-offset:3px; }
.legal-updated { margin-top:45px; color:#74848c!important; font-size:11px!important; letter-spacing:.04em; }

/* Afianza Directo */
.directo-site { --directo:var(--orange); --directo-navy:var(--navy); --directo-ink:var(--ink); --directo-muted:var(--muted); overflow:hidden; color:var(--ink); background:#fff; }
.directo-shell { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.directo-header { position:sticky; top:0; z-index:60; background:rgba(255,255,255,.92); border-bottom:1px solid rgba(7,43,61,.1); backdrop-filter:blur(18px); }
.directo-header-inner { display:grid; grid-template-columns:280px 1fr auto; align-items:center; gap:30px; min-height:84px; }
.directo-logo { display:block; width:268px; height:auto; mix-blend-mode:multiply; }
.directo-header nav { display:flex; align-items:center; justify-content:flex-end; gap:24px; }
.directo-header nav a { position:relative; display:flex; align-items:center; gap:6px; padding:12px 0; color:#354b56; font-size:13px; font-weight:610; }
.directo-header nav a>span { color:#9aa7ad; font-size:8px; font-weight:760; letter-spacing:.08em; }
.directo-header nav a::after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; border-radius:2px; background:var(--orange); transition:right .22s ease; }
.directo-header nav a:hover::after,.directo-header nav a:focus-visible::after { right:0; }

.directo-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:720px; overflow:hidden; color:#fff; background:#082536 url('/assets/directo-original-2.jpg') center 58%/cover no-repeat; }
.directo-hero::before { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(104deg,rgba(4,30,44,.76),rgba(8,65,82,.47) 54%,rgba(255,153,0,.1)); }
.directo-hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size:76px 76px; mask-image:linear-gradient(90deg,#000,transparent 70%); }
.directo-hero-layout { display:flex; align-items:center; min-height:720px; padding-block:70px; }
.directo-hero-content { position:relative; width:min(980px,84%); padding-block:18px; padding-left:31px; border-left:2px solid var(--orange); animation:hero-rise .65s ease-out both; }
.directo-hero-content::before { content:""; position:absolute; left:-2px; top:0; width:34px; height:2px; background:var(--orange); }
.directo-hero h1 { max-width:900px; margin:0; font-size:clamp(52px,5.8vw,86px); font-weight:590; line-height:.98; letter-spacing:-.044em; text-wrap:balance; }
.directo-hero-content>p:not(.directo-kicker) { max-width:650px; margin:28px 0 0; color:rgba(255,255,255,.85); font-size:18px; line-height:1.55; }
.directo-text-link { padding-bottom:5px; border-bottom:1px solid rgba(255,255,255,.46); color:#fff; font-size:14px; font-weight:620; }
.directo-text-link span { display:inline-block; transition:transform .2s ease; }
.directo-text-link:hover span { transform:translate(3px,-3px); }

.directo-proof { padding-block:92px; background:#fff; }
.directo-proof-heading { max-width:760px; margin-bottom:36px; }
.directo-proof-heading h2,.directo-operating-heading h2,.directo-section-heading h2,.directo-advantages-heading h2,.directo-contact h2 { margin:0; color:var(--navy); font-size:clamp(40px,4.6vw,64px); font-weight:590; line-height:1; letter-spacing:-.04em; text-wrap:balance; }
.directo-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:20px; overflow:hidden; background:linear-gradient(135deg,#f7f9fa,#edf2f3); }
.directo-proof article { display:flex; flex-direction:column; min-height:172px; padding:25px 26px 28px; border-right:1px solid var(--line); transition:background .22s ease; }
.directo-proof article:last-child { border-right:0; }
.directo-proof article:hover { background:rgba(255,255,255,.88); }
.directo-proof small { display:flex; align-items:center; gap:8px; color:var(--orange); font-size:9px; font-weight:790; letter-spacing:.1em; }
.directo-proof small::after { content:""; width:22px; height:1px; background:var(--orange); }
.directo-proof strong { margin-top:auto; margin-bottom:9px; color:var(--orange); font-size:clamp(28px,2.5vw,38px); font-weight:690; line-height:1; letter-spacing:-.035em; }
.directo-proof article>span { max-width:200px; color:#53666f; font-size:14px; line-height:1.45; }
.directo-portfolio-proof { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:end; margin-top:20px; overflow:hidden; padding:39px; border-radius:20px; color:#fff; background:linear-gradient(118deg,#072b3d,#0b4c61 75%,#315665 135%); }
.directo-portfolio-proof::before { content:""; position:absolute; right:-88px; top:-96px; width:290px; height:290px; opacity:.1; background:var(--orange); -webkit-mask:url('/assets/logo-afianza-corporativo-transparent.png') left center/auto 100% no-repeat; mask:url('/assets/logo-afianza-corporativo-transparent.png') left center/auto 100% no-repeat; pointer-events:none; }
.directo-portfolio-intro,.directo-portfolio-metrics { position:relative; z-index:1; }
.directo-portfolio-intro>span { display:inline-flex; margin-bottom:15px; color:#ffae36; font-size:11px; font-weight:800; letter-spacing:.14em; }
.directo-portfolio-intro h3 { max-width:500px; margin:0 0 16px; font-size:clamp(28px,3vw,40px); font-weight:590; line-height:1.05; letter-spacing:-.03em; }
.directo-portfolio-intro p { max-width:560px; margin:0; color:rgba(255,255,255,.9); font-size:15px; line-height:1.65; }
.directo-portfolio-metrics { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.3); border-left:1px solid rgba(255,255,255,.3); }
.directo-portfolio-metrics>div { min-height:105px; padding:19px 21px; border-right:1px solid rgba(255,255,255,.3); border-bottom:1px solid rgba(255,255,255,.3); }
.directo-portfolio-metrics strong { display:block; margin-bottom:7px; color:var(--orange); font-size:32px; font-weight:690; line-height:1; }
.directo-portfolio-metrics span { color:rgba(255,255,255,.92); font-size:13px; line-height:1.45; }

.directo-services { position:relative; padding-block:108px; background:var(--mist); }
.directo-section-heading,.directo-operating-heading,.directo-advantages-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:74px; align-items:end; }
.directo-section-heading>p,.directo-operating-heading>div:last-child>p,.directo-advantages-heading>p:last-child { max-width:450px; margin:0 0 5px; color:var(--muted); font-size:16px; line-height:1.6; }
.directo-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:58px; }
.directo-service-grid article { position:relative; min-height:305px; overflow:hidden; padding:29px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.86); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.directo-service-grid article:hover { transform:translateY(-4px); border-color:rgba(255,153,0,.38); box-shadow:var(--shadow); }
.directo-service-top { display:flex; align-items:center; gap:11px; }
.directo-service-top>span { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.09em; }
.directo-service-top small { color:#667a84; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.directo-service-grid h3 { max-width:430px; margin:51px 0 15px; color:var(--navy); font-size:clamp(27px,3vw,37px); font-weight:590; line-height:1.06; letter-spacing:-.028em; }
.directo-service-grid p { max-width:560px; margin:0; color:#53666f; font-size:15px; line-height:1.65; }
.directo-service-line { position:absolute; left:29px; right:29px; bottom:24px; height:2px; overflow:hidden; background:#e4eaec; }
.directo-service-line i { display:block; width:22%; height:100%; background:var(--orange); transition:width .32s ease; }
.directo-service-grid article:hover .directo-service-line i { width:100%; }

.directo-operating { padding-block:112px; overflow:hidden; background:#fff; }
.directo-operating-heading { margin-bottom:48px; }
.directo-operating-photos { position:relative; min-height:520px; padding:0 12px 12px 0; }
.directo-operating-photos::before { content:""; position:absolute; inset:20px 0 0 20px; border:1px solid rgba(255,153,0,.65); border-radius:23px; }
.directo-operating-main { position:relative; min-height:520px; margin:0; overflow:hidden; border-radius:22px; background:var(--navy); box-shadow:0 28px 68px rgba(7,43,61,.14); }
.directo-operating-main img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 61%; filter:saturate(1.05) contrast(1.02); transition:transform .55s ease; }
.directo-operating-main:hover img { transform:scale(1.018); }
.directo-operating-main::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,30,44,.54),transparent 56%),linear-gradient(0deg,rgba(4,30,44,.74),transparent 45%); }
.directo-photo-eyebrow { position:absolute; z-index:2; top:27px; left:27px; display:flex; align-items:center; gap:11px; color:#fff; font-size:11px; font-weight:760; letter-spacing:.12em; }
.directo-photo-eyebrow span { display:grid; place-items:center; width:33px; height:33px; border:1px solid rgba(255,153,0,.9); border-radius:50%; color:var(--orange); letter-spacing:0; }
.directo-photo-flow { position:absolute; z-index:2; right:28px; bottom:27px; display:grid; grid-template-columns:repeat(3,minmax(135px,1fr)); width:min(650px,65%); }
.directo-photo-flow span { position:relative; display:flex; flex-direction:column; gap:7px; min-height:70px; padding:15px 18px 0; border-top:1px solid rgba(255,255,255,.62); color:#fff; font-size:12px; font-weight:650; text-shadow:0 1px 12px rgba(0,18,27,.5); }
.directo-photo-flow span+span { border-left:1px solid rgba(255,255,255,.28); }
.directo-photo-flow b { color:#ffae36; font-size:8px; letter-spacing:.11em; }
.directo-operating-photos figcaption { position:absolute; z-index:2; left:27px; bottom:27px; display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.84); font-size:11px; font-weight:620; }
.directo-status-dot { width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 4px rgba(255,153,0,.15); }

.directo-advantages { padding-block:108px; background:linear-gradient(135deg,#edf3f4,#f8f9f7 62%,#fff4e2); }
.directo-advantages-heading { margin-bottom:44px; }
.directo-advantages-heading { row-gap:18px; }
.directo-advantages-heading .directo-kicker { grid-column:1/-1; margin:0; }
.directo-capability-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.directo-capability-grid article { display:flex; flex-direction:column; min-height:250px; padding:25px; border:1px solid rgba(7,43,61,.1); border-radius:18px; background:rgba(255,255,255,.74); transition:transform .22s ease,background .22s ease,box-shadow .22s ease; }
.directo-capability-grid article:hover { transform:translateY(-4px); background:#fff; box-shadow:var(--shadow); }
.directo-capability-grid article>span { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(255,153,0,.4); border-radius:50%; color:var(--orange); font-size:8px; font-weight:800; }
.directo-capability-grid h3 { margin:50px 0 13px; color:var(--navy); font-size:20px; line-height:1.12; }
.directo-capability-grid p { margin:0; color:#53666f; font-size:14px; line-height:1.6; }

.directo-contact { position:relative; overflow:hidden; padding-block:96px; color:#fff; background:linear-gradient(115deg,var(--navy),#0b4d63 74%,#84571f 135%); }
.directo-contact::before { content:""; position:absolute; right:-122px; top:-178px; width:430px; height:430px; opacity:.08; background:var(--orange); -webkit-mask:url('/assets/logo-afianza-corporativo-transparent.png') left center/auto 100% no-repeat; mask:url('/assets/logo-afianza-corporativo-transparent.png') left center/auto 100% no-repeat; pointer-events:none; }
.directo-contact-inner { position:relative; display:flex; align-items:end; justify-content:space-between; gap:55px; }
.directo-contact-inner>div { max-width:800px; }
.directo-contact h2 { color:#fff; }
.directo-contact-inner>div>p:last-child { margin:20px 0 0; color:rgba(255,255,255,.72); font-size:16px; }
.directo-button-dark { flex:0 0 auto; color:var(--navy); background:#fff; box-shadow:0 15px 38px rgba(0,18,27,.2); }
.directo-button-dark:hover { color:#fff; background:var(--orange); }
.directo-footer-logo { width:318px; margin:0 auto 54px; }
.directo-footer>.directo-shell { width:min(1180px,calc(100% - 48px)); }

/* Analytics */
.analytics-consent { position:fixed; z-index:100; right:24px; bottom:22px; left:24px; display:flex; align-items:center; justify-content:space-between; gap:28px; width:min(760px,calc(100% - 48px)); margin-inline:auto; padding:17px 19px; border:1px solid rgba(255,255,255,.15); border-radius:16px; color:#fff; background:rgba(7,43,61,.96); box-shadow:0 22px 58px rgba(0,18,27,.27); backdrop-filter:blur(16px); }
.analytics-consent p { display:flex; flex-direction:column; gap:4px; margin:0; font-size:12px; line-height:1.45; }
.analytics-consent p span { color:rgba(255,255,255,.72); }
.analytics-consent p a { width:max-content; color:#fff; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.analytics-consent>div { display:flex; gap:8px; }
.analytics-consent button { min-height:37px; padding:0 14px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; background:transparent; font:inherit; font-size:11px; cursor:pointer; }
.analytics-consent button.accept { border-color:var(--orange); background:var(--orange); }
.analytics-preferences { position:fixed; z-index:90; right:17px; bottom:13px; min-height:33px; padding:0 12px; border:1px solid rgba(7,43,61,.18); border-radius:999px; color:#435862; background:rgba(255,255,255,.95); box-shadow:0 8px 22px rgba(7,43,61,.1); font:inherit; font-size:11px; cursor:pointer; }

@keyframes hero-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:1050px) {
  .header-inner { grid-template-columns:190px 1fr auto; gap:20px; }
  .desktop-nav { gap:17px; }
  .desktop-nav a { font-size:12px; }
  .directo-header-inner { grid-template-columns:240px 1fr auto; }
  .directo-logo { width:230px; }
  .directo-header nav { gap:16px; }
  .directo-capability-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:850px) {
  .shell { width:min(100% - 36px,1180px); }
  .directo-shell { width:calc(100% - 40px); }
  .directo-footer>.directo-shell { width:calc(100% - 36px); }
  .header-inner,.directo-header-inner { grid-template-columns:1fr auto; min-height:76px; }
  .desktop-nav,.directo-header nav { display:none; }
  .brand-logo { width:174px; }
  .directo-logo { width:220px; }
  .mobile-menu,.directo-mobile-menu { position:relative; display:block; }
  .mobile-menu summary,.directo-mobile-menu>button { display:grid; place-content:center; gap:6px; width:43px; height:43px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:#fff; cursor:pointer; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span,.directo-mobile-menu>button span { display:block; width:17px; height:2px; border-radius:2px; background:currentColor; }
  .mobile-menu nav,.directo-mobile-menu nav { position:absolute; z-index:70; top:49px; right:0; display:flex; flex-direction:column; width:min(300px,calc(100vw - 30px)); padding:11px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; box-shadow:0 20px 52px rgba(7,43,61,.18); }
  .mobile-menu nav a,.directo-mobile-menu nav a { padding:12px; border-bottom:1px solid #edf1f2; font-size:13px; }
  .mobile-menu nav a:last-child,.directo-mobile-menu nav a:last-child { border-bottom:0; }
  .directo-mobile-menu>button span { transition:transform .2s ease; }
  .directo-mobile-menu>button[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .directo-mobile-menu>button[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .metric-grid,.directo-proof-grid { grid-template-columns:1fr 1fr; }
  .metric:nth-child(2),.directo-proof article:nth-child(2) { border-right:0; }
  .metric:nth-child(-n+2),.directo-proof article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-grid,.group-cards,.contact-options,.certifications-grid { grid-template-columns:1fr; }
  .footer-grid,.directo-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(36px,8vw,72px); }
  .certifications-heading,.contact-heading,.directo-section-heading,.directo-operating-heading,.directo-advantages-heading,.directo-portfolio-proof { grid-template-columns:1fr; gap:24px; }
  .contact-heading address { text-align:left; }
  .directo-portfolio-proof { gap:32px; }
  .directo-advantages-heading .directo-kicker { grid-column:auto; }
  .directo-contact-inner { align-items:flex-start; flex-direction:column; }
  .group-utility { align-items:flex-start; flex-direction:column; }
}

@media (max-width:620px) {
  .shell,.directo-shell { width:calc(100% - 32px); }
  .directo-footer>.directo-shell { width:calc(100% - 32px); }
  .brand-logo { width:160px; }
  .directo-logo { width:202px; }
  .language-switch,.directo-language-switch { width:40px; min-width:40px; height:30px; }
  .hero,.directo-hero,.directo-hero-layout { min-height:650px; }
  .hero { background-position:58% center; }
  .hero-content,.directo-hero-content { width:100%; padding-left:21px; }
  .hero h1,.directo-hero h1 { font-size:41px; }
  .hero-copy,.directo-hero-content>p:not(.directo-kicker) { font-size:15px; }
  .hero-actions,.directo-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .hero-meta,.directo-hero-meta { margin-top:42px; gap:14px; font-size:11px; }
  .metrics,.directo-proof,.directo-services,.directo-operating,.directo-advantages,.directo-contact { padding-block:74px; }
  .metrics-heading { align-items:flex-start; flex-direction:column; gap:9px; }
  .metric-grid,.directo-proof-grid { grid-template-columns:1fr; }
  .metric,.directo-proof article { min-height:142px; border-right:0; border-bottom:1px solid var(--line); }
  .metric:last-child,.directo-proof article:last-child { border-bottom:0; }
  .services { padding-block:78px; }
  .services-intro h2,.directo-proof-heading h2,.directo-section-heading h2,.directo-operating-heading h2,.directo-advantages-heading h2,.directo-contact h2 { font-size:40px; }
  .service-grid { margin-top:42px; }
  .service-card { min-height:390px; padding:27px; }
  .footer-grid,.directo-footer-grid { grid-template-columns:1fr; gap:34px; }
  .footer-inner>.brand .brand-logo { width:210px; }
  .certifications-page,.contact-page,.legal-page { padding-block:72px 80px; }
  .certifications-heading h1,.contact-heading h1,.legal-page h1 { font-size:41px; }
  .rating-card { min-height:0; padding:25px 23px; }
  .rating-classification { align-items:flex-start; flex-direction:column; }
  .rating-description { min-height:0; }
  .rating-card dl div { grid-template-columns:1fr; gap:3px; }
  .ratings-note { grid-template-columns:1fr; gap:9px; }
  .group-hero { padding-block:76px; }
  .group-hero h1 { font-size:44px; }
  .group-utility { padding:23px; }
  .team-section { padding-block:74px 82px; }
  .team-section h2 { font-size:42px; }
  .contact-options { margin-top:40px; }
  .contact-options article { min-height:285px; padding:27px; }
  .contact-options h2 { margin-top:34px; font-size:27px; }
  .directo-header-tools { gap:10px; }
  .directo-hero { background-position:55% center; }
  .directo-portfolio-proof { padding:27px 21px; }
  .directo-portfolio-metrics>div { min-height:98px; padding:16px 14px; }
  .directo-service-grid { grid-template-columns:1fr; margin-top:42px; }
  .directo-service-grid article { min-height:285px; padding:25px; }
  .directo-service-line { left:25px; right:25px; }
  .directo-operating-heading { margin-bottom:34px; }
  .directo-operating-photos { min-height:0; padding:0 8px 8px 0; }
  .directo-operating-photos::before { inset:12px 0 0 12px; border-radius:19px; }
  .directo-operating-main { min-height:500px; border-radius:18px; }
  .directo-operating-main img { object-position:54% center; }
  .directo-photo-eyebrow { top:20px; left:20px; }
  .directo-photo-flow { right:20px; bottom:51px; grid-template-columns:1fr; width:calc(100% - 40px); }
  .directo-photo-flow span { flex-direction:row; align-items:center; gap:13px; min-height:51px; padding:11px 13px; border-top:1px solid rgba(255,255,255,.5); }
  .directo-photo-flow span+span { border-left:0; }
  .directo-operating-photos figcaption { left:20px; bottom:20px; }
  .directo-capability-grid { grid-template-columns:1fr; }
  .directo-capability-grid article { min-height:210px; }
  .directo-capability-grid h3 { margin-top:36px; }
  .directo-footer-logo { width:250px; }
  .analytics-consent { align-items:flex-start; flex-direction:column; gap:13px; right:15px; bottom:13px; left:15px; width:calc(100% - 30px); }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
