
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-800-normal.woff2') format('woff2')}

/* ==========================================================================
   IDC WEBSITE 2.0 — V3.5 · PRIVATE VISUAL PREVIEW
   Standalone. No production connection, no tracking, no cookies, no forms.
   V3.5: Home + global footer only. Removed the meeting photo from "No vendemos
   un tramite" (replaced with an editorial Santiago business-district photo),
   wired the five Home service-area cards to real internal destinations, added
   orange accents to the ecosystem diagram, highlighted the international-
   companies opening phrase, gave the Home final CTA a photographic port
   background, and removed the intermediate disclaimer/entity/RUT block from the
   public footer (kept in the legal pages). Everything else (Invest, Services,
   About, plans, prices, legal pages) is unchanged from V3.4.
   ========================================================================== */

:root{
  --navy:#122032; --navy-deep:#0D1826;
  --orange:#DE470C; --orange-dark:#B23806; --orange-lt:#FF7A45;
  --bg-1:#F6F7F8; --bg-2:#EEF1F4;
  --ivory:#FAF8F4; --warm:#F1EFEA; --stone:#1A2B40;
  --text:#24303D; --text-2:#586470;
  /* on dark: every step below clears WCAG AA over #122032 */
  --od-1:rgba(255,255,255,.96); --od-2:rgba(255,255,255,.84); --od-3:rgba(255,255,255,.72);
  --line:#DFE4E9; --line-2:#EAEEF1; --line-dark:rgba(255,255,255,.22);
  --r:3px; --maxw:1180px; --lw:262px; --lratio:731/184;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
/* Montserrat is the official typeface of the design. The stack below keeps the
   layout intact in preview environments where the Google font cannot load. */
body{
  margin:0;font-family:'Montserrat','Helvetica Neue',Helvetica,Arial,'Liberation Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:clamp(1rem,.97rem + .18vw,1.0625rem);line-height:1.7;color:var(--text);
  background:#fff;overflow-x:hidden;
}
img{max-width:100%;display:block}
button{font-family:inherit}
h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:700;letter-spacing:-.018em;line-height:1.12}
h1{font-size:clamp(2.375rem,1.5rem + 3.4vw,3.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.06}
h2{font-size:clamp(1.875rem,1.35rem + 2.1vw,2.75rem);letter-spacing:-.024em;line-height:1.13}
h3{font-size:clamp(1.375rem,1.2rem + .65vw,1.75rem)}
h4{font-size:clamp(1.0625rem,1.02rem + .18vw,1.1875rem);line-height:1.32;letter-spacing:-.008em}
p{margin:0 0 1.05em}p:last-child{margin-bottom:0}
a{color:var(--orange);text-decoration:none}
a:hover{text-decoration:underline}
.lead{font-size:clamp(1.0625rem,1rem + .42vw,1.3125rem);line-height:1.6;color:var(--text-2);font-weight:400}
.muted{color:var(--text-2)}
.small{font-size:.875rem;line-height:1.65}
.tiny{font-size:.78rem;line-height:1.6;letter-spacing:.005em}
.nb{max-width:24ch}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible{outline-color:var(--orange-lt)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.sec{padding:clamp(64px,8vw,124px) 0}
.sec-s{padding:clamp(44px,5vw,72px) 0}
.bg-1{background:var(--bg-1)}
.bg-2{background:var(--bg-2)}
.bg-ivory{background:var(--ivory)}
.bg-warm{background:var(--warm)}
.bg-navy{background:var(--navy);color:var(--od-2)}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff}
.bg-navy .lead{color:var(--od-2)}
.bg-navy .muted{color:var(--od-3)}
.bg-navy p,.on-dark p{color:var(--od-2)}
.bg-navy .ch-list li,.on-dark .ch-list li{color:var(--od-2)}
.bg-navy .ch-list li{border-bottom-color:var(--line-dark)}
.bg-navy .tiny,.on-dark .tiny{color:var(--od-3)}

.eyebrow{
  display:flex;align-items:center;gap:13px;font-size:.7rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--orange);margin:0 0 22px;
}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--orange);flex:none}
.bg-navy .eyebrow,.hero .eyebrow,.on-dark .eyebrow{color:#FF8A5C}
.bg-navy .eyebrow::before,.hero .eyebrow::before,.on-dark .eyebrow::before{background:#FF8A5C}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-size:.875rem;font-weight:700;letter-spacing:.015em;padding:15px 28px;
  border-radius:var(--r);border:1px solid transparent;cursor:pointer;min-height:50px;
  transition:background .18s,color .18s,border-color .18s;text-align:center;
}
.btn:not(.btn-s){line-height:normal}
.btn:hover{text-decoration:none}
.btn-1{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-1:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn-2{background:transparent;color:var(--navy);border-color:#C2CBD4}
.btn-2:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.on-dark .btn-2,.bg-navy .btn-2{color:#fff;border-color:rgba(255,255,255,.55)}
.on-dark .btn-2:hover,.bg-navy .btn-2:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-s{padding:11px 19px;min-height:42px;font-size:.8125rem}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.lnk{
  display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;
  letter-spacing:.02em;color:var(--orange);background:none;border:0;padding:0;cursor:pointer;line-height:normal;
}
.lnk span{transition:transform .18s}
.lnk:hover span{transform:translateX(4px)}
.bg-navy .lnk,.on-dark .lnk{color:#FF8A5C}
/* V3.5 · two discreet secondary links for Home service area 05 (Compliance /
   Trademarks). Smaller and stacked so the card matches the height of the other
   four single-link cards instead of growing larger. */
.lnk-s{font-size:.75rem;font-weight:600}
.area-links{display:flex;flex-direction:column;gap:10px;align-items:flex-start}

/* ---------- preview strip ----------
   V3.4: hidden in the public view. It is only shown when internal review mode is
   active (body.internal), which is toggled by the #revision hash or Alt+I.
   The public page therefore starts directly with the official header. */
.pv{display:none}
body.internal .pv{display:block}
.pv{background:var(--navy-deep);color:rgba(255,255,255,.8);font-size:.7rem;line-height:1.5;padding:8px 0}
.pv .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;text-align:center}
.pv b{color:var(--orange-lt);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}
.pv span{opacity:.7}

/* ---------- LOGO SLOTS ---------- */
.lslot{display:flex;flex-direction:column;gap:5px;align-items:flex-start;background:none;border:0;padding:0;cursor:pointer;flex:none}
.lbox{
  width:var(--lw);aspect-ratio:var(--lratio);border:1px dashed #BCC6D0;border-radius:2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:repeating-linear-gradient(135deg,rgba(18,32,50,.035) 0 7px,transparent 7px 14px);
}
.lbox b{font-size:.75rem;font-weight:800;letter-spacing:.005em;color:var(--navy);line-height:1.15;text-align:center}
.lbox i{font-style:normal;font-size:.5rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-2)}
.lnote{font-size:.5rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8B96A2;line-height:1.3;text-align:left}
.lbox-inv{border-color:rgba(255,255,255,.35);background:repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 7px,transparent 7px 14px)}
.lbox-inv b{color:#fff}
.lbox-inv i{color:rgba(255,255,255,.55)}
.lslot-inv .lnote{color:rgba(255,255,255,.45)}
.lbox-iso{width:44px;aspect-ratio:1/1}
.lbox-iso b{font-size:.6rem;letter-spacing:.06em}
.lbox-iso i{display:none}
.lslot-iso .lnote{display:none}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line-2);transition:border-color .2s}
.hd.stuck{border-color:var(--line);box-shadow:0 1px 14px rgba(18,32,50,.06)}
.hd-in{display:flex;align-items:center;gap:18px;min-height:84px;padding:12px 0}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav-i{
  background:none;border:0;padding:9px 12px;cursor:pointer;font-size:.8125rem;font-weight:600;
  letter-spacing:.01em;color:var(--navy);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
.nav-i:hover{color:var(--orange)}
.nav-i[aria-current="page"]{color:var(--orange)}
.nav-drop{position:relative}
.nav-menu{
  position:absolute;top:calc(100% + 12px);left:0;min-width:308px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 34px rgba(18,32,50,.1);
  padding:10px;display:none;z-index:70;
}
.nav-drop.open .nav-menu{display:block}
.nav-menu button{
  display:block;width:100%;text-align:left;background:none;border:0;padding:11px 13px;
  font-size:.8125rem;font-weight:600;color:var(--navy);cursor:pointer;border-radius:2px;line-height:1.35;
}
.nav-menu button:hover{background:var(--bg-1);color:var(--orange)}
.nav-menu .nm-note{padding:10px 13px 3px;font-size:.68rem;color:var(--text-2);line-height:1.45;border-top:1px solid var(--line-2);margin-top:6px}
.chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none}
/* ---------- language selector with flags (V3.4) ----------
   Flags are decorative; the ES / EN abbreviation always stays visible so the
   control remains understandable and screen-reader friendly. */
.lang{display:flex;align-items:center;gap:2px;flex:none}
.lang button{
  background:none;border:0;padding:8px 10px;cursor:pointer;font-size:.72rem;font-weight:700;
  letter-spacing:.09em;color:#5B6773;min-height:44px;position:relative;
  display:inline-flex;align-items:center;gap:6px;line-height:1;
}
.lang .flag{display:block;width:18px;height:12px;object-fit:cover;filter:saturate(1.05);box-shadow:0 0 0 1px rgba(18,32,50,.12)}
.lang button[aria-pressed="true"]{color:var(--navy)}
.lang button[aria-pressed="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:1px;background:var(--orange)}
.lang-sep{color:var(--line);font-size:.7rem;user-select:none}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex:none;align-items:center;justify-content:center;margin-left:auto}
.burger i{display:block;width:21px;height:1.5px;background:var(--navy);position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:21px;height:1.5px;background:var(--navy)}
.burger i::before{top:-6px}.burger i::after{top:6px}
.hd .lang{margin-left:6px}
/* Footer selector on navy: white for the active language, and a clearly legible
   (not near-transparent) tone for the inactive one. */
.ft-bot .lang{gap:4px}
.ft-bot .lang button{color:rgba(255,255,255,.78)}
.ft-bot .lang button:hover{color:#fff}
.ft-bot .lang button[aria-pressed="true"]{color:#fff}
.ft-bot .lang button[aria-pressed="true"]::after{background:var(--orange-lt)}
.ft-bot .lang-sep{color:rgba(255,255,255,.35)}

/* ---------- mobile drawer ---------- */
.dr{position:fixed;inset:0;z-index:100;background:#fff;display:none;overflow-y:auto}
.dr.open{display:block}
.dr-hd{display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:12px 0;border-bottom:1px solid var(--line-2)}
.x{background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;flex:none}
.x::before,.x::after{content:"";position:absolute;left:12px;top:21px;width:20px;height:1.5px;background:var(--navy)}
.x::before{transform:rotate(45deg)}.x::after{transform:rotate(-45deg)}
.dr-nav{padding:10px 0 44px}
.dr-i{
  display:flex;width:100%;align-items:center;justify-content:space-between;background:none;border:0;
  border-bottom:1px solid var(--line-2);padding:19px 0;font-size:1.0625rem;font-weight:700;
  color:var(--navy);cursor:pointer;text-align:left;letter-spacing:-.01em;
}
.dr-sub{display:none;padding:2px 0 12px}
.dr-sub.open{display:block}
.dr-sub button{display:block;width:100%;text-align:left;background:none;border:0;padding:12px 0 12px 18px;font-size:.9375rem;font-weight:600;color:var(--text-2);cursor:pointer;border-left:1px solid var(--line)}
.dr-foot{padding:30px 0 0;display:flex;flex-direction:column;gap:20px;align-items:flex-start}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:rgba(255,255,255,.78);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(115% 85% at 90% 6%,rgba(222,71,12,.15),transparent 56%)}
.hero-in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,5vw,80px);align-items:center;padding:clamp(60px,7.5vw,110px) 0}
.hero h1{color:#fff;max-width:16ch}
.hero .lead{color:var(--od-2);margin-top:26px;max-width:48ch}
.hero-sub{background:var(--navy);border-top:1px solid var(--line-dark)}

/* ---------- SIGNATURE: coordination diagram ---------- */
.cd{border-left:1px solid var(--line-dark);padding:6px 0 6px clamp(22px,2.6vw,34px)}
.cd-lab{font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--od-3);margin:0 0 16px}
.cd-chips{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px}
.cd-chip{font-size:.72rem;font-weight:600;letter-spacing:.03em;color:var(--od-2);display:flex;align-items:center;gap:7px}
.cd-chip::before{content:"";width:4px;height:4px;background:#FF8A5C;flex:none}
.cd-svg{width:100%;height:auto;display:block;margin:4px 0}
.cd-svg .cd-in{fill:none;stroke:rgba(255,255,255,.42);stroke-width:1.3}
.cd-svg .cd-out{fill:none;stroke:var(--orange);stroke-width:2.6;stroke-linecap:round}
.cd-svg .cd-tail{fill:none;stroke:var(--orange);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1.5 9;opacity:.6}
.cd-svg .cd-hub{fill:var(--orange)}
.cd-one{font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.01em;margin:6px 0 24px;display:flex;align-items:center;gap:9px}
.cd-one::before{content:"";width:14px;height:1px;background:var(--orange);flex:none}
.cd-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cd-ph{position:relative;padding-top:15px}
.cd-ph::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line-dark)}
.cd-ph::after{content:"";position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.cd-ph:last-child::after{background:transparent;border:1.5px solid var(--orange);width:9px;height:9px;top:-4px}
.cd-ph:last-child b::after{content:"";display:inline-block;width:16px;height:1px;background:linear-gradient(90deg,var(--orange),transparent);margin-left:8px;vertical-align:middle}
.cd-ph b{display:block;font-size:.72rem;font-weight:700;color:#fff}
.cd-ph i{display:block;font-style:normal;font-size:.68rem;color:var(--od-3);margin-top:4px;line-height:1.45}
@media(prefers-reduced-motion:no-preference){
  .cd-svg path{stroke-dasharray:620;stroke-dashoffset:620;animation:draw 1.05s cubic-bezier(.4,0,.2,1) forwards}
  .cd-svg .cd-tail{stroke-dasharray:1.5 9;stroke-dashoffset:0;animation:fade .5s .95s both}
  .cd-svg path:nth-child(2){animation-delay:.05s}.cd-svg path:nth-child(3){animation-delay:.1s}
  .cd-svg path:nth-child(4){animation-delay:.15s}.cd-svg path:nth-child(5){animation-delay:.2s}
  .cd-svg path:nth-child(6){animation-delay:.32s}
  @keyframes draw{to{stroke-dashoffset:0}}
  @keyframes fade{from{opacity:0}to{opacity:.6}}
}

/* ---------- section headings ---------- */
.sh{max-width:56ch;margin-bottom:clamp(38px,4.4vw,64px)}
.sh .lead{margin-top:20px}
.sh-row{display:flex;gap:36px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:clamp(38px,4.4vw,64px)}
.sh-row .sh{margin-bottom:0}

/* ---------- divider grids (replaces cards) ---------- */
.dg{display:grid;gap:0 clamp(26px,3.2vw,52px)}
.dg-3{grid-template-columns:repeat(3,1fr)}
.dg-4{grid-template-columns:repeat(4,1fr)}
.dg-2{grid-template-columns:repeat(2,1fr)}
.di{border-top:1px solid var(--line);padding:26px 0 34px;display:flex;flex-direction:column;gap:11px;align-items:flex-start}
.di .ic{color:var(--orange);flex:none;margin-bottom:2px}
.di h4{margin:0}
.di p{font-size:.9rem;line-height:1.7;color:var(--text-2);margin:0;flex:1}
.di .lnk{margin-top:4px}
.di-n{font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--orange);margin:0}
.bg-navy .di,.on-dark .di{border-top-color:var(--line-dark)}
.bg-navy .di p,.on-dark .di p{color:var(--od-2)}
.di-lg h4{font-size:clamp(1.1875rem,1.1rem + .35vw,1.4375rem)}
.svc-area{border-top:1px solid var(--line);padding:32px 0 8px}
.svc-area:first-child{border-top:0;padding-top:0}
.svc-area h3{margin-bottom:10px}
/* V3.3 harmonisation: compact photo hero for Services pages (same hero-photo
   system as Home/Invest, just shorter), a darker secondary-text token for
   small print, and a light 3-item "principles" row replacing the old 4-up grid. */
:root{ --text-3:#46525F; }
.hero-photo.svc{min-height:clamp(340px,42vh,480px)}
.hero-photo.svc .hero-in{padding:clamp(48px,7vw,72px) 0}
@media(max-width:900px){ .hero-photo.svc{min-height:clamp(320px,50vh,440px)} }
.svc-more{font-size:.8125rem;line-height:1.7;color:var(--text-3);margin-top:14px;max-width:70ch}
.svc-chap-intro{color:var(--text-3)}
.svc-prin{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(28px,3vw,40px)}
.svc-prin .spark-i p{color:var(--text-3)}
@media(max-width:660px){
  .svc-prin{grid-template-columns:1fr}
  .svc-prin .spark-i{border-left:0;padding-left:0}
}

/* ---------- trust strip ---------- */
.tstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(24px,3vw,48px)}
.ts{border-top:1px solid var(--line);padding:22px 0 4px}
.ts b{display:block;font-size:.9375rem;font-weight:700;color:var(--navy);line-height:1.4;letter-spacing:-.008em}
.ts em{display:block;font-style:normal;font-size:.8125rem;color:var(--text-2);margin-top:7px;line-height:1.6}

/* ---------- challenge block ---------- */
.ch{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,84px);align-items:start}
.ch-note{border-top:1px solid var(--orange);padding-top:22px;font-size:clamp(1.125rem,1.02rem + .4vw,1.4375rem);font-weight:700;color:var(--navy);line-height:1.35;letter-spacing:-.018em}
.ch-list{list-style:none;padding:0;margin:22px 0 0}
.ch-list li{font-size:.9rem;color:var(--text-2);line-height:1.65;padding:11px 0 11px 20px;border-bottom:1px solid var(--line-2);position:relative}
.ch-list li:last-child{border-bottom:0}
.ch-list li::before{content:"";position:absolute;left:0;top:1.25em;width:7px;height:1px;background:var(--orange)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(24px,3vw,48px)}
.steps.six{grid-template-columns:repeat(3,1fr)}
.step{position:relative;border-top:1px solid var(--line);padding:26px 0 34px}
.step::after{content:"";position:absolute;top:-3.5px;left:0;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.step-n{font-size:.68rem;font-weight:700;letter-spacing:.16em;color:var(--orange);display:block;margin-bottom:12px}
.step h4{margin-bottom:10px}
.step p{font-size:.9rem;color:var(--text-2);line-height:1.7;margin:0}
.bg-navy .step{border-top-color:var(--line-dark)}
.bg-navy .step p,.on-dark .step p{color:var(--od-2)}

/* ---------- inline strip (client profiles) ---------- */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;flex-wrap:wrap;gap:10px 0;align-items:center}
.strip span{font-size:.8125rem;font-weight:600;color:var(--navy);letter-spacing:.005em;display:flex;align-items:center}
.strip span:not(:last-child)::after{content:"";width:4px;height:4px;background:var(--orange);border-radius:50%;margin:0 16px;flex:none}
.bg-navy .strip{border-color:var(--line-dark)}
.bg-navy .strip span{color:var(--od-1)}

/* ---------- team ---------- */
.team2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,44px);max-width:620px}
.tm{display:flex;flex-direction:column;gap:14px}
.ph{
  aspect-ratio:4/5;border:1px dashed #BCC6D0;border-radius:2px;
  background:repeating-linear-gradient(135deg,rgba(18,32,50,.035) 0 8px,transparent 8px 16px),var(--bg-2);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;
  font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8B96A2;line-height:1.6;
}
.ph-wide{aspect-ratio:16/7}
.tm b{display:block;font-size:1rem;font-weight:700;color:var(--navy);line-height:1.3;letter-spacing:-.01em}
.tm i{display:block;font-style:normal;font-size:.8125rem;color:var(--text-2);margin-top:4px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);max-width:840px}
.fq{border-bottom:1px solid var(--line-2)}
.fq:last-child{border-bottom:1px solid var(--line)}
.fq-b{
  width:100%;display:flex;gap:20px;align-items:flex-start;justify-content:space-between;
  background:none;border:0;padding:21px 0;cursor:pointer;text-align:left;
  font-size:1rem;font-weight:700;color:var(--navy);line-height:1.45;letter-spacing:-.008em;
}
.fq-b:hover{color:var(--orange)}
.fq-ic{flex:none;width:16px;height:16px;position:relative;margin-top:5px}
.fq-ic::before,.fq-ic::after{content:"";position:absolute;background:var(--orange);transition:transform .2s}
.fq-ic::before{left:0;top:7.5px;width:16px;height:1.5px}
.fq-ic::after{left:7.5px;top:0;width:1.5px;height:16px}
.fq-b[aria-expanded="true"] .fq-ic::after{transform:scaleY(0)}
.fq-p{display:none;padding:0 44px 24px 0;font-size:.9rem;line-height:1.75;color:var(--text-2)}
.fq-p.open{display:block}

/* ---------- CTA ---------- */
.cta{background:var(--navy-deep);color:var(--od-2)}
.cta-in{max-width:720px}
.cta h2{color:#fff}
.cta .lead{color:var(--od-2);margin-top:22px}

/* ---------- disclaimer / notes ---------- */
.disc{border-top:1px solid var(--line);padding-top:22px;font-size:.8125rem;line-height:1.75;color:var(--text-2);max-width:80ch}
.disc b{color:var(--navy);font-weight:700}
.bg-navy .disc,.on-dark .disc{border-top-color:var(--line-dark);color:var(--od-2)}
.bg-navy .disc b{color:#fff}
.caution{border-left:1px solid var(--orange);padding:2px 0 2px 20px;font-size:.8125rem;line-height:1.75;color:var(--text-2);max-width:78ch}
.bg-navy .caution,.on-dark .caution{color:var(--od-2)}
.pend{
  display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  line-height:1.45;color:#8A3B00;background:#FFF3EA;border:1px solid #F3CDB2;border-radius:2px;padding:3px 7px;vertical-align:middle;
}
.pend-b{display:block;margin-top:10px}
.bg-navy .pend,.ft .pend{color:#FFD9C2;background:rgba(222,71,12,.18);border-color:rgba(222,71,12,.42)}

/* ---------- legal pages ---------- */
.lg{display:grid;grid-template-columns:236px 1fr;gap:clamp(30px,4.5vw,72px);align-items:start}
.lg-side{position:sticky;top:104px}
.lg-t{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-2);margin:0 0 14px}
.lg-side button,.lg-side a{
  display:block;width:100%;text-align:left;background:none;border:0;border-left:1px solid var(--line);
  padding:10px 16px;font-size:.8125rem;font-weight:600;color:var(--text-2);cursor:pointer;line-height:1.4;
}
.lg-side button[aria-current="page"],.lg-side a[aria-current="page"]{border-left-color:var(--orange);color:var(--navy)}
.lg-side button:hover,.lg-side a:hover{color:var(--orange);text-decoration:none}
.lg-body{max-width:74ch;min-width:0}
.lg-body h2{font-size:clamp(1.1875rem,1.1rem + .4vw,1.4375rem);margin:46px 0 14px}
.lg-body h2:first-child{margin-top:0}
.lg-body p,.lg-body li{font-size:.9rem;line-height:1.8;color:var(--text-2)}
.lg-meta{font-size:.8125rem;line-height:1.8;color:var(--text-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:26px 0 34px}
.lg-meta b{color:var(--navy)}
.ol{list-style:none;padding:0;margin:0 0 26px;border-top:1px solid var(--line-2)}
.ol li{padding:14px 0;border-bottom:1px solid var(--line-2);font-size:.875rem;font-weight:600;color:var(--navy);line-height:1.45;display:grid;grid-template-columns:32px 1fr;gap:4px 10px}
.ol li em{grid-column:2;font-style:normal;font-weight:400;font-size:.8125rem;color:var(--text-2);line-height:1.65}
.ol li b{font-weight:700;color:#A9B3BD;font-size:.75rem;letter-spacing:.04em}
.tbl{width:100%;border-collapse:collapse;font-size:.78rem;margin:0 0 26px;display:block;overflow-x:auto}
.tbl th,.tbl td{border-bottom:1px solid var(--line-2);padding:11px 14px 11px 0;text-align:left;vertical-align:top;line-height:1.55}
.tbl th{font-weight:700;color:var(--navy);font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;border-bottom-color:var(--line)}
.tbl td{color:var(--text-2)}

/* ---------- contact ---------- */
.ct{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,5vw,80px);align-items:start}
.ct-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.ct-list li{border-bottom:1px solid var(--line-2);padding:16px 0;display:flex;gap:18px;align-items:flex-start}
.ct-k{flex:none;width:96px;font-size:.65rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--text-2);padding-top:4px}
.ct-v{font-size:.9375rem;font-weight:600;color:var(--navy);line-height:1.5;word-break:break-word}
.ct-v a{color:var(--navy)}
.ct-v a:hover{color:var(--orange)}
.ct-v em{display:block;font-style:normal;font-size:.78rem;font-weight:400;color:var(--text-2);margin-top:5px;line-height:1.6}
.form{border-top:1px solid var(--line);padding-top:30px}
.f-row{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}
.f-f{display:block;margin-bottom:20px}
.f-lab{display:block;font-size:.65rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}
.f-f input,.f-f select,.f-f textarea{
  width:100%;font-family:inherit;font-size:.9375rem;color:var(--text);padding:11px 0;
  border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:44px;
}
.f-f input:focus,.f-f select:focus,.f-f textarea:focus{outline:0;border-bottom-color:var(--orange)}
.f-f textarea{min-height:104px;resize:vertical}
.f-req{color:var(--orange)}
.f-chk{display:flex;gap:13px;align-items:flex-start;margin:10px 0 8px}
.f-chk input{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:var(--orange)}
.f-chk label{font-size:.8125rem;line-height:1.65;color:var(--text-2);font-weight:400}
.f-note{margin-top:18px;font-size:.75rem;color:var(--text-2);line-height:1.65}

/* ---------- footer ---------- */
.ft{background:var(--navy);color:var(--od-2);font-size:.8125rem}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.05fr;gap:clamp(26px,3.4vw,54px);padding:clamp(52px,6vw,84px) 0 46px}
.ft h4{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--od-3);margin:0 0 18px}
.ft ul{list-style:none;padding:0;margin:0}
.ft li{margin-bottom:12px;line-height:1.6}
.ft a{color:var(--od-2);border-bottom:1px solid transparent}
.ft a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.5);text-decoration:none}
.ft-l{background:none;border:0;padding:0;font-family:inherit;font-size:.8125rem;color:var(--od-2);cursor:pointer;text-align:left;line-height:1.6}
.ft-l:hover{color:#fff;text-decoration:underline}
.ft-desc{margin-top:22px;font-size:.8125rem;line-height:1.75;color:var(--od-2);max-width:36ch}
.ft-soc{display:flex;gap:18px;margin-top:22px;align-items:center}
.ft-soc a{color:var(--od-2);display:flex;border:0}
.ft-soc a:hover{color:#fff}
/* .ft-mid / .ft-pend removed in V3.5 together with the intermediate footer block. */
.ft-bot{border-top:1px solid var(--line-dark);padding:22px 0 34px;display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--od-3)}

/* ---------- WhatsApp (V3.4: real corporate link) ---------- */
.wa{
  position:fixed;right:18px;z-index:80;width:56px;height:56px;border-radius:50%;border:0;
  bottom:calc(20px + env(safe-area-inset-bottom,0px));
  cursor:pointer;background:#0F7A50;color:#fff;box-shadow:0 6px 20px rgba(18,32,50,.26);
  display:flex;align-items:center;justify-content:center;transition:bottom .25s,transform .18s;
  text-decoration:none;
}
.wa:hover{transform:scale(1.06);color:#fff}
.wa:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
/* Lifted when it would otherwise sit on top of the cookie banner or hero CTAs. */
.wa.up{bottom:calc(212px + env(safe-area-inset-bottom,0px))}
@media(max-width:680px){
  .wa{right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .wa.up{bottom:calc(238px + env(safe-area-inset-bottom,0px))}
}

/* ---------- overlays ---------- */
.ov{position:fixed;inset:0;z-index:110;background:rgba(13,24,38,.62);display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.ov.open{display:flex}
.md{background:#fff;border-radius:var(--r);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(13,24,38,.3)}
.md-sm{max-width:470px}
.md-hd{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:26px 30px 18px;border-bottom:1px solid var(--line-2);position:sticky;top:0;background:#fff;z-index:2}
.md-hd h3{font-size:1.1875rem}
.md-bd{padding:24px 30px}
.md-ft{padding:20px 30px 26px;border-top:1px solid var(--line-2);display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:0;background:#fff}
.md-ft .btn{flex:1 1 auto}
.ck-cat{border-top:1px solid var(--line-2);padding:18px 0}
.ck-cat:first-child{border-top:1px solid var(--line)}
.ck-hd{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.ck-hd b{display:block;font-size:.9375rem;color:var(--navy);line-height:1.35}
.ck-hd p{font-size:.8125rem;color:var(--text-2);margin:6px 0 0;line-height:1.65}
.ck-bd{margin-top:12px}
.sw{flex:none;display:flex;align-items:center;gap:10px;padding-top:2px;position:relative;cursor:pointer}
.sw input{position:absolute;opacity:0;width:42px;height:23px;margin:0;cursor:pointer;left:0;top:2px}
.sw-t{position:relative;width:42px;height:23px;border-radius:12px;background:#C7D0D8;transition:background .18s;flex:none;pointer-events:none}
.sw-t::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .18s}
.sw input:checked + .sw-t{background:var(--orange)}
.sw input:checked + .sw-t::after{transform:translateX(19px)}
.sw input:disabled + .sw-t{background:#A6B3BF;opacity:.75}
.sw input:focus-visible + .sw-t{outline:2px solid var(--orange);outline-offset:3px}
.sw-lab{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-2);white-space:nowrap}
.ck-state{border-left:1px solid var(--orange);padding:2px 0 2px 18px;font-size:.8125rem;color:var(--text-2);line-height:1.7;margin-bottom:22px}
.ck-state b{color:var(--navy)}

/* ---------- cookie banner ---------- */
.cb{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 30px rgba(18,32,50,.13);display:none}
.cb.open{display:block}
.cb-in{display:grid;grid-template-columns:1fr auto;gap:clamp(22px,3.4vw,52px);align-items:center;padding:24px 0 26px}
.cb h4{margin-bottom:9px}
.cb p{font-size:.8125rem;line-height:1.7;color:var(--text-2);margin:0;max-width:76ch}
.cb-btns{display:flex;flex-wrap:wrap;gap:9px}
.cb-btns .btn{flex:1 1 auto;white-space:nowrap;min-width:172px}

/* ---------- toast ---------- */
.tst{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(160%);z-index:130;
  background:var(--navy-deep);color:#fff;font-size:.8125rem;font-weight:600;padding:14px 22px;
  border-radius:var(--r);box-shadow:0 12px 32px rgba(13,24,38,.3);max-width:calc(100vw - 40px);
  text-align:center;line-height:1.5;transition:transform .28s;
}
.tst.show{transform:translateX(-50%) translateY(0)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}



/* ---------- V3.1 · ecosystem of coordination ---------- */
.eco{margin-top:6px}
.eco-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0 clamp(14px,2vw,30px)}
.eco-n{border-top:1px solid var(--line-dark);padding:18px 0 0;font-size:.875rem;font-weight:700;color:#FF8A5C;letter-spacing:-.005em;line-height:1.35;position:relative}
.eco-n::before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:#FF8A5C;box-shadow:0 0 0 3px rgba(255,138,92,.16)}
.eco-n em{display:block;font-style:normal;font-size:.75rem;font-weight:400;color:var(--od-3);margin-top:7px;line-height:1.55}
.eco-svg{width:100%;height:auto;display:block;margin:26px 0 0}
.eco-svg path{fill:none;stroke:rgba(255,138,92,.45);stroke-width:1.3}
.eco-hub{
  display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;
  border:1px solid rgba(255,255,255,.32);border-top:2px solid #FF8A5C;border-radius:2px;padding:20px 26px;max-width:520px;margin:0 auto;
}
.eco-hub b{font-size:.9375rem;font-weight:700;color:#fff;letter-spacing:-.01em}
.eco-hub span{font-size:.8125rem;color:var(--od-2);line-height:1.55}
.eco-note{margin-top:30px;max-width:76ch}
/* V3.5 · secondary network line — raised from rgba(255,255,255,.55) so it stays
   legible on mobile without turning it orange. */
.eco-network{margin-top:28px;color:rgba(255,255,255,.72);line-height:1.7}

/* ---------- V3.1 · continuous cycle ---------- */
.cyc{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(20px,2.6vw,42px)}
.cyc-i{border-top:1px solid var(--line);padding:22px 0 30px;position:relative}
.cyc-i::before{content:"";position:absolute;top:-3.5px;left:0;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.cyc-n{font-size:.68rem;font-weight:700;letter-spacing:.16em;color:var(--orange);display:block;margin-bottom:10px}
.cyc-i h4{font-size:1rem;margin-bottom:8px}
.cyc-i p{font-size:.875rem;line-height:1.65;color:var(--text-2);margin:0}
.cyc-loop{
  grid-column:1/-1;border-top:1px solid var(--orange);padding:20px 0 0;margin-top:4px;
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
}
.cyc-loop b{font-size:.9375rem;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.cyc-loop span{font-size:.875rem;color:var(--text-2);line-height:1.6}

/* ---------- V3.1 · service models ---------- */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.mod{border-top:1px solid var(--line);padding:26px clamp(16px,1.8vw,26px) 34px 0;transition:background .2s}
.mod + .mod{border-left:1px solid var(--line);padding-left:clamp(16px,1.8vw,26px)}
.mod:hover{background:#fff}
.mod-n{display:block;font-size:clamp(1.75rem,1.4rem + 1.3vw,2.5rem);font-weight:800;letter-spacing:-.04em;color:var(--line);line-height:1;margin-bottom:16px;transition:color .2s}
.mod:hover .mod-n{color:var(--orange)}
.mod h4{font-size:1.0625rem;margin-bottom:9px}
.mod p{font-size:.875rem;line-height:1.65;color:var(--text-2);margin:0}

/* ---------- V3.1 · client logos ---------- */
/* ---------- client logos (V3.4 rebuild) ----------
   Flex wrap instead of a fixed grid, so a partly-filled last row simply has
   fewer items and is centred — never empty grey cells. Logos keep their own
   proportions (object-fit:contain), are never cropped, deformed or filtered. */
.cl-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  background:none;border:0;padding:0;
}
.cl-i{
  flex:0 1 calc((100% - 14px*5)/6);
  min-width:150px;max-width:210px;
  background:var(--ivory);border:1px solid var(--line-2);border-radius:var(--r);
  min-height:124px;display:flex;align-items:center;justify-content:center;padding:18px 20px;
}
.cl-i img{
  max-width:100%;max-height:66px;width:auto;height:auto;
  object-fit:contain;display:block;
}
.cl-note{margin-top:26px;max-width:74ch}
.cl-note .caution{font-size:.8125rem;color:var(--text-3,#46525F)}
@media(max-width:1100px){
  .cl-i{flex:0 1 calc((100% - 14px*4)/5)}
}
@media(max-width:900px){
  .cl-i{flex:0 1 calc((100% - 14px*3)/4)}
}
@media(max-width:680px){
  .cl-grid{gap:12px}
  /* Mobile: exactly two columns, 110–130px tall, logo ~55–70% of the cell. */
  .cl-i{flex:0 1 calc((100% - 12px)/2);min-width:0;max-width:none;min-height:118px;padding:16px}
  .cl-i img{max-height:58px;max-width:78%}
}








/* ---------- V3.1.8 · CTA final with photo background (Invertir en Chile only) ---------- */
.cta.cta-photo{position:relative;overflow:hidden}
.cta.cta-photo .cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.cta.cta-photo .cta-bg.mobile{display:none}
.cta.cta-photo .cta-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,24,38,.82) 0%,rgba(13,24,38,.9) 55%,rgba(13,24,38,.95) 100%)}
.cta.cta-photo .cta-in{position:relative;z-index:2}
@media(max-width:660px){
  .cta.cta-photo .cta-bg.desktop{display:none}
  .cta.cta-photo .cta-bg.mobile{display:block}
  /* Moderate height; overlay strong enough for AA but the photo still reads. */
  .cta.cta-photo{padding-top:clamp(48px,10vw,64px);padding-bottom:clamp(48px,10vw,64px)}
  .cta.cta-photo .cta-ov{background:linear-gradient(180deg,rgba(13,24,38,.72) 0%,rgba(13,24,38,.86) 60%,rgba(13,24,38,.92) 100%)}
  .cta.cta-photo .btns{flex-direction:column}
  .cta.cta-photo .btns .btn{width:100%}
}

/* ---------- V3.1.8 · partner photo supporting the "why IDC" statement ---------- */
.spark-photo{margin-top:clamp(28px,3.2vw,44px);max-width:420px;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.spark-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- V3.1.7 · big-type value statement ("Por qué IDC") ---------- */
.spark{max-width:1000px}
.spark h2{
  font-size:clamp(2.25rem,1.5rem + 3.2vw,4.25rem);font-weight:800;letter-spacing:-.03em;
  line-height:1.06;color:var(--navy);
}
.spark h2 em{font-style:normal;color:var(--orange)}
.spark-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(48px,5.5vw,80px)}
.spark-i{border-top:2px solid var(--navy);padding:22px clamp(16px,1.8vw,26px) 0 0}
.spark-i + .spark-i{border-left:1px solid var(--line);padding-left:clamp(16px,1.8vw,26px)}
.spark-i h4{font-size:1rem;margin-bottom:9px}
.spark-i p{font-size:.875rem;line-height:1.65;color:var(--text-2);margin:0}
@media(max-width:960px){ .spark-row{grid-template-columns:repeat(2,1fr)} }
@media(max-width:660px){
  .spark-row{grid-template-columns:1fr}
  .spark-i + .spark-i{border-left:0;padding-left:0}
}

/* ---------- V3.1.6 · real editorial photography (Home, Invest, Contact) ---------- */
.ed-photo{width:100%;overflow:hidden;border-radius:2px;margin-top:28px}
.ed-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ed-photo.land{aspect-ratio:3/2}
.ed-photo.port{aspect-ratio:4/5;max-width:360px}

/* ---------- V3.1.5 · refined pricing table (Invertir en Chile / Invest in Chile only) ---------- */
.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);align-items:stretch}
.plan-card{
  background:#fff;padding:clamp(24px,2.2vw,30px) clamp(20px,2vw,26px);
  display:flex;flex-direction:column;position:relative;
}
.plan-card.featured{background:var(--ivory)}
.plan-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--line)}
.plan-card.featured::before{background:var(--orange)}
.plan-tag{
  display:inline-flex;align-self:flex-start;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--orange);border:1px solid var(--orange);border-radius:2px;padding:4px 8px;margin-bottom:16px;
}
.plan-name{font-size:1.0625rem;font-weight:700;color:var(--navy);letter-spacing:-.008em;line-height:1.3;margin-bottom:4px}
.plan-sub{font-size:.75rem;color:var(--text-2);margin:0 0 18px;line-height:1.4}
.plan-price-row{border-top:1px solid var(--line-2);padding-top:16px;margin-top:auto}
.plan-card.featured .plan-price-row{border-top-color:#E5DFD1}
.plan-price{font-size:clamp(1.375rem,1.2rem + .6vw,1.625rem);font-weight:800;letter-spacing:-.015em;color:var(--navy);line-height:1.15}
.plan-note{font-size:.7rem;font-weight:600;color:var(--orange);margin-top:5px}
.plan-desc{font-size:.8125rem;line-height:1.65;color:var(--text-2);margin:16px 0 0}
.plan-scope{list-style:none;margin:16px 0 0;padding:0;flex:1}
.plan-scope li{font-size:.8125rem;line-height:1.55;color:var(--text-2);padding:8px 0 8px 16px;position:relative;border-top:1px solid var(--line-2)}
.plan-scope li:first-child{border-top:0}
.plan-scope li::before{content:"";position:absolute;left:0;top:1em;width:7px;height:1px;background:var(--orange)}
.plan-foot{margin-top:20px}
.plan-foot .btn{width:100%}
.plan-foot .btn[href^="mailto:"]{line-height:1.7}
.plans-cap{border-left:2px solid var(--orange);padding:2px 0 2px 20px;font-size:.875rem;line-height:1.7;color:var(--navy);font-weight:600;max-width:82ch;margin-top:22px}
@media(max-width:960px){
  .plans-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:660px){
  .plans-grid{grid-template-columns:1fr}
}

/* ---------- V3.1.4 · service plans — fine-print notes below the pricing table ---------- */
.plans-note{border-top:1px solid var(--line);padding-top:22px;margin-top:clamp(40px,4.5vw,60px);max-width:88ch}
.plans-note p{font-size:.8125rem;line-height:1.75;color:var(--text-2);margin:0 0 10px}
.plans-note p:last-child{margin-bottom:0}

/* ---------- V3.1.3 · local presence (asymmetric photo + text, replaces team on Home) ---------- */
.lp{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,4.5vw,72px);align-items:center}
.lp-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.lp-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 35%;display:block}
.lp-tint{position:absolute;inset:0;background:rgba(18,32,50,.16)}
.lp-map{position:absolute;left:18px;bottom:18px;width:78px;height:auto;stroke:#fff;stroke-width:1.4;fill:none;opacity:.85}
.lp-map circle{fill:var(--orange);stroke:none}
.lp-loc{
  position:absolute;left:18px;bottom:56px;font-size:.72rem;font-weight:600;color:#fff;
  line-height:1.5;text-shadow:0 1px 3px rgba(13,24,38,.5);
}
.lp-loc b{display:block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-lt);margin-bottom:2px}
.lp-txt{max-width:52ch}
@media(max-width:960px){
  .lp{grid-template-columns:1fr;gap:34px}
  .lp-photo{aspect-ratio:16/10}
}

/* ---------- V3.1.2 · photographic hero (Home only) ---------- */
.hero-photo{position:relative;overflow:hidden;min-height:clamp(440px,52vh,620px);display:flex;align-items:center}
.hero-photo .hp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;object-position:50% 50%}
.hero-photo.iv .hp-img{object-position:58% 38%}
.hero-photo .hp-img.mobile{display:none}
.hero-photo .hp-ov{
  position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(13,24,38,.95) 0%,rgba(13,24,38,.86) 30%,rgba(18,32,50,.5) 62%,rgba(18,32,50,.24) 100%);
}
/* Localised scrim directly behind the text block — the fix for text sitting on
   bright sky/snow/building areas that the directional gradient alone can miss,
   without resorting to a per-letter text-shadow. */
.hero-photo .hero-in{position:relative}
.hero-photo .hero-in::before{
  content:"";position:absolute;top:-18px;bottom:-18px;left:-22px;right:-22px;z-index:-1;
  background:radial-gradient(120% 130% at 0% 50%,rgba(13,24,38,.5) 0%,rgba(13,24,38,.28) 55%,transparent 82%);
}
.hero-photo .hero-in{position:relative;z-index:2;display:block;padding:clamp(64px,9vw,116px) 0}
.hero-photo .hero-in > div{max-width:640px}
.hero-photo h1{max-width:16ch}
@media(max-width:960px){
  .hero-photo{min-height:clamp(420px,58vh,560px)}
  .hero-photo .hero-in{padding:52px 0}
  .hero-photo .hp-ov{background:linear-gradient(105deg,rgba(13,24,38,.96) 0%,rgba(13,24,38,.88) 42%,rgba(18,32,50,.55) 72%,rgba(18,32,50,.3) 100%)}
}
@media(max-width:660px){
  /* The photo stays visible above and below; the text itself sits on its own
     full-bleed scrim band, sized to the content — not a fixed-position gradient
     that breaks when the H1 wraps to three lines. */
  .hero-photo{min-height:clamp(440px,66vh,560px);align-items:center}
  .hero-photo .hp-img.desktop{display:none}
  .hero-photo .hp-img.mobile{display:block}
  .hero-photo .hp-ov{background:linear-gradient(180deg,rgba(13,24,38,.22) 0%,rgba(13,24,38,.1) 30%,rgba(13,24,38,.1) 70%,rgba(13,24,38,.3) 100%)}
  .hero-photo .hero-in{padding:22px 0}
  .hero-photo .hero-in::before{
    content:"";position:absolute;top:0;bottom:0;left:-20px;right:-20px;z-index:-1;
    background:rgba(13,24,38,.66);
  }
  .hero-photo h1{font-size:clamp(1.875rem,1.5rem + 3vw,2.375rem);max-width:15ch}
  .hero-photo .lead{font-size:.9375rem}

  /* --- V3.4 · Invest in Chile as the primary Google Ads landing ---
     The H1 was taking almost the whole first viewport on a real phone. Tighter
     type and spacing keep the promise, the sub-line and both CTAs above the
     fold, with part of the photograph still visible. */
  .hero-photo.iv{min-height:0;align-items:flex-start}
  .hero-photo.iv .hero-in{padding:26px 0 30px}
  .hero-photo.iv h1{
    font-size:clamp(1.5rem,1.12rem + 2.5vw,1.9375rem);
    line-height:1.16;max-width:19ch;text-wrap:balance;hyphens:none;
  }
  .hero-photo.iv .eyebrow{margin-bottom:8px}
  .hero-photo.iv .lead{margin-top:14px;font-size:.875rem;line-height:1.6;max-width:38ch}
  .hero-photo.iv .btns{margin-top:20px;display:flex;flex-direction:column;gap:12px}
  .hero-photo.iv .btns .btn{width:100%;justify-content:center;min-height:48px}
  .hero-photo.iv .btns .btn-2{border-color:rgba(255,255,255,.85)}
}

/* ---------- V3.1 · scroll reveal (very restrained) ---------- */
@media(prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
  .rv.in{opacity:1;transform:none}
}

/* ---------- utilities ---------- */
.hide-s{display:flex}
.show-s{display:none}
.ch-2{columns:2;column-gap:clamp(24px,3vw,48px)}
.ch-2 li{break-inside:avoid}

/* ---------- V3: real assets ---------- */
.lbox.has-img{border:0;background:none;display:block}
.lbox.has-img img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}
.lbox-iso.has-img img{object-position:center}

.team5{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,1.9vw,26px)}
.team5 .tm{flex:1 1 168px;max-width:200px}
.tm-ph{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--bg-2);display:flex;align-items:center;justify-content:center}
.tm-ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.tm-ph.noimg{border:1px dashed #BCC6D0;background:repeating-linear-gradient(135deg,rgba(18,32,50,.035) 0 8px,transparent 8px 16px),var(--bg-2)}
.tm-ph.noimg::after{content:attr(data-ph);padding:14px;font-size:.55rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8B96A2;line-height:1.6;text-align:center}
.tm-pend{color:var(--orange)}

/* ---------- V3: internal review zone (not part of the website) ---------- */
.rev-hd{background:#FFF3EA;border-bottom:1px solid #F3CDB2}
.rev-hd .wrap{padding:18px 26px}
.rev-hd b{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8A3B00}
.rev-hd p{font-size:.8125rem;color:#8A3B00;margin:7px 0 0;line-height:1.65;max-width:82ch}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.rev-i{background:#fff;padding:18px 14px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;min-height:128px;justify-content:center}
.rev-i em{font-style:normal;font-size:.75rem;font-weight:700;color:var(--navy);line-height:1.35;word-break:break-word}
.rev-i span{font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;color:#8A3B00;line-height:1.5;font-weight:700}
.ldr{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 12px}
.ldr b{display:block;font-size:.68rem;font-weight:700;letter-spacing:.05em;color:var(--navy);margin-bottom:5px;line-height:1.4}
.ldr code{display:block;font-size:.68rem;color:var(--text-2);margin-bottom:10px;word-break:break-all;line-height:1.5}
.ldr input[type=file]{font-family:inherit;font-size:.72rem;width:100%}
.pvbtn{background:none;border:1px solid rgba(255,255,255,.32);border-radius:2px;color:rgba(255,255,255,.85);font-family:inherit;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;cursor:pointer}
.pvbtn:hover{border-color:#fff;color:#fff}

/* ============ RESPONSIVE ============ */
@media(max-width:1060px){
  .nav-i{padding:9px 9px;font-size:.78rem}
  .ft-top{grid-template-columns:repeat(2,1fr);gap:34px}
}
@media(max-width:960px){
  .eco-row{grid-template-columns:repeat(2,1fr);gap:0 24px}
  .eco-svg{display:none}
  .eco-hub{margin-top:28px}
  .cyc,.mods{grid-template-columns:repeat(2,1fr)}
  .mod + .mod{border-left:0;padding-left:0}
  .mods .mod:nth-child(2n){border-left:1px solid var(--line);padding-left:24px}
  .ldr{grid-template-columns:1fr}
  .nav,.hd .btn,.hd .lang{display:none}
  .burger{display:flex}
  .hd-in,.dr-hd{min-height:74px}
  .hero-in{grid-template-columns:1fr;padding:46px 0 58px}
  .cd{border-left:0;border-top:1px solid var(--line-dark);padding:26px 0 0}
  .dg-3,.dg-4,.steps,.steps.six,.tstrip{grid-template-columns:repeat(2,1fr)}
  .ch,.ct,.lg{grid-template-columns:1fr}
  .lg-side{position:static}
  .lg-nav{display:flex;flex-wrap:wrap;gap:8px}
  .lg-side button,.lg-side a{width:auto;border:1px solid var(--line);border-left-width:1px;border-radius:var(--r);padding:9px 14px}
  .lg-side button[aria-current="page"],.lg-side a[aria-current="page"]{border-color:var(--orange)}
  .cb-in{grid-template-columns:1fr;gap:20px}
}
@media(max-width:660px){
  .eco-row,.cyc,.mods{grid-template-columns:1fr}
  .mods .mod:nth-child(2n){border-left:0;padding-left:0}
  .eco-hub{flex-direction:column;gap:8px}
  .team5 .tm{flex-basis:42%}
  .hide-s{display:none}
  .show-s{display:flex}
  .ch-2{columns:1}
  .wrap{padding:0 20px}
  .dg-2,.dg-3,.dg-4,.steps,.steps.six,.tstrip,.f-row,.team2{grid-template-columns:1fr}
  .cd-rail{grid-template-columns:repeat(2,1fr);gap:18px}
  .ft-top{grid-template-columns:1fr;padding-bottom:30px}
  .btns .btn{width:100%}
  .cb-btns{flex-direction:column}
  .cb-btns .btn{width:100%;min-width:0}
  .md-ft{flex-direction:column}.md-ft .btn{width:100%}
  .fq-p{padding-right:0}
  .wa.up{bottom:calc(296px + env(safe-area-inset-bottom,0px))}
  .ct-list li{flex-direction:column;gap:6px}
  .ct-k{width:auto}
  .strip{display:block}
  .strip span{display:block;padding:9px 0;border-bottom:1px solid var(--line-2)}
  .strip span:not(:last-child)::after{display:none}
  .strip span:last-child{border-bottom:0}
  .team2{max-width:340px}
  .ph{aspect-ratio:1/1}
}
/* =========================================================================
   V3.4 · mobile review fixes + new sections
   ========================================================================= */

/* --- 19 · header logo legibility ---------------------------------------
   On a real phone the mark was too small to read the "ADVISORY · TAX&LEGAL ·
   BACKOFFICE" line. The logo now takes the available width up to 285px, with a
   max-width guard so it can never collide with the burger, and the header grows
   slightly to accommodate it. */

/* The bigger logo plus five Spanish nav labels, the flag selector and the header
   CTA no longer fit between 960 and 1080px, so the drawer takes over earlier.
   Only the header switches here — every other layout keeps its own breakpoints,
   so the rest of the site is unchanged. */
@media(max-width:1080px){
  .nav,.hd .btn,.hd .lang{display:none}
  .burger{display:flex}
}
@media(max-width:1240px){
  .hd-in{gap:12px}
  .nav-i{padding:9px 8px;font-size:.7813rem}
  .lang button{padding:8px 7px}
}
@media(max-width:960px){
  .hd-in,.dr-hd{min-height:82px;gap:12px}
  .lbox{width:clamp(232px,62vw,285px);max-width:calc(100vw - 20px - 44px - 12px - 40px)}
}
@media(max-width:420px){
  .hd-in,.dr-hd{min-height:78px;gap:8px}
  .wrap{padding:0 16px}
  .lbox{width:clamp(212px,64vw,268px);max-width:calc(100vw - 16px - 44px - 8px - 32px)}
}
@media(max-width:360px){
  .lbox{width:clamp(196px,62vw,240px)}
}

/* --- 18 · language selector stays visible on mobile --------------------- */
.dr-foot .lang{margin-left:-10px}
.dr-foot .lang button{min-height:48px;font-size:.8125rem}
.dr-foot .lang .flag{font-size:1.125rem}
@media(max-width:660px){
  .ft-bot{justify-content:flex-start;gap:16px 22px}
  .ft-bot .lang button{min-height:48px;padding:10px 12px;font-size:.8125rem}
  .ft-bot .lang .flag{font-size:1.125rem}
}

/* --- 3 · entry routes, developed in place on Invest in Chile ------------
   Editorial composition (discreet number, rule, short text, brief list, CTA)
   rather than three generic commercial cards. */
.ent{border-top:1px solid var(--line);padding:clamp(34px,4vw,52px) 0}
.ent:first-of-type{border-top:0;padding-top:clamp(8px,1vw,16px)}
.ent-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:start}
.ent-n{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 12px}
.ent h3{margin-bottom:14px}
.ent-lead{color:var(--text-3,#46525F);margin:0;max-width:46ch}
.ent-sub{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);margin:0 0 14px}
.ent .btns{margin-top:24px}
.ent .btn-s{line-height:normal}
.ent-photo{margin:0 0 clamp(32px,4vw,48px);overflow:hidden;border-radius:var(--r);aspect-ratio:21/8}
.ent-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
@media(max-width:860px){
  .ent-in{grid-template-columns:1fr;gap:24px}
  .ent-photo{aspect-ratio:16/9}
}

/* --- 4 · remote process ------------------------------------------------- */
.rem-note{font-size:.8125rem;line-height:1.75;color:var(--text-3,#46525F);margin:18px 0 0;max-width:74ch}

/* --- 6 · About: partners and team -------------------------------------- */
.pp{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(26px,3.4vw,48px)}
.pp-i{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:start}
.pp-ph{aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);background:var(--bg-1)}
.pp-ph img{width:100%;height:100%;object-fit:cover;display:block}
.pp-i b{display:block;font-size:1.0625rem;font-weight:700;color:var(--navy);line-height:1.3}
.pp-i i{display:block;font-style:normal;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin:6px 0 12px}
.pp-i p{font-size:.875rem;line-height:1.7;color:var(--text-3,#46525F);margin:0}
@media(max-width:860px){ .pp{grid-template-columns:1fr} }
@media(max-width:420px){ .pp-i{grid-template-columns:104px 1fr;gap:16px} }

/* --- accessibility helper: visually hidden text for external links ------ */
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* --- 9 · internal-only notes (draft status of the legal pages) ----------
   Present in the file for the firm's own review, never rendered publicly. */
.internal-only{display:none}
body.internal .internal-only{display:block}

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


/* ==========================================================================
   IDC WordPress production integration
   ========================================================================== */
body.admin-bar .hd{top:32px}
@media(max-width:782px){body.admin-bar .hd{top:46px}}
body.idc-site .pv,body.idc-site .internal-only,body.idc-site .pend,
body.idc-site .tm-pend,body.idc-site .rev-hd{display:none!important}
.idc-form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.idc-form-status{display:none;margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--orange);background:var(--bg-1);font-size:.875rem}
.idc-form-status.is-visible{display:block}
.idc-form-status.is-error{border-left-color:#A61B1B;color:#7A1111}
.idc-form-status.is-success{border-left-color:#26734D;color:#174E34}
.idc-map-trigger{position:relative;cursor:pointer;background:var(--bg-2)}
.idc-map-trigger>iframe{display:block;width:100%;height:100%;border:0}
.idc-map-trigger:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.idc-map-trigger.is-loaded{cursor:default}
.idc-cookie-tech{font-size:.78rem;color:var(--text-2)}
.cl-i img{width:100%;height:100%;object-fit:contain}
.lslot img{width:100%;height:auto;max-height:54px;object-fit:contain}
.lslot-inv img{max-height:62px;object-position:left center}
.nav-menu a{display:block;width:100%;text-align:left;background:none;border:0!important;padding:11px 13px;font-size:.8125rem;font-weight:600;color:var(--navy);cursor:pointer;border-radius:2px;line-height:1.35}
.nav-menu a:hover{background:var(--bg-1);color:var(--orange);text-decoration:none}
.dr-sub a{display:block;width:100%;text-align:left;padding:12px 0 12px 18px;font-size:.9375rem;font-weight:600;color:var(--text-2);cursor:pointer;border-left:1px solid var(--line)}
.dr-sub a:hover{color:var(--orange);text-decoration:none}
.lang a{background:none;border:0!important;padding:8px 10px;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.09em;color:#5B6773;min-height:44px;position:relative;display:inline-flex;align-items:center;gap:6px;line-height:1}
.lang a:hover{text-decoration:none;color:var(--orange)}
.lang a[aria-pressed="true"]{color:var(--navy)}
.lang a[aria-pressed="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:1px;background:var(--orange)}
.ft-bot .lang a{color:rgba(255,255,255,.78)}
.ft-bot .lang a:hover,.ft-bot .lang a[aria-pressed="true"]{color:#fff}
.ft-bot .lang a[aria-pressed="true"]::after{background:var(--orange-lt)}
.dr-foot .lang a{min-height:48px;font-size:.8125rem}
.dr-foot .lang a .flag{font-size:1.125rem}
.ft-l{display:inline-block}
.nav-i,.dr-i{line-height:normal}
.sr:focus{position:fixed;z-index:200;top:10px;left:10px;width:auto;height:auto;margin:0;padding:10px 14px;clip:auto;background:#fff;color:var(--navy);font-weight:700}

/* ==========================================================================
   IDC 1.1.0 · acquisition landings, editorial content and global mobile QA
   ========================================================================== */
html,body{max-width:100%;overflow-x:clip}
main,.hero-in,.ch>*,.ct>*,.service-landing>*{min-width:0}
.hero h1,.hero .lead,.nb,.article-card h2{overflow-wrap:anywhere}

/* Contextual WhatsApp prompt: mobile-only, one appearance per session. */
.wa-prompt{
  position:fixed;right:18px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:79;
  width:min(360px,calc(100vw - 36px));padding:20px 20px 18px;background:#fff;border:1px solid var(--line);
  border-top:3px solid #0F7A50;border-radius:var(--r);box-shadow:0 16px 42px rgba(18,32,50,.2);
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s,transform .22s,visibility .22s;
}
.wa-prompt.show{opacity:1;visibility:visible;transform:translateY(0)}
.cb.open~.wa{opacity:0;pointer-events:none}
.wa-prompt strong{display:block;color:var(--navy);font-size:.9375rem;line-height:1.35;padding-right:24px}
.wa-prompt p{font-size:.8125rem;line-height:1.55;color:var(--text-2);margin:7px 0 14px}
.wa-prompt .btn{width:100%;min-height:44px}
.wa-prompt-close{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;background:transparent;color:var(--text-2);font-size:1.5rem;line-height:1;cursor:pointer}
@media(min-width:769px){.wa-prompt{display:none!important}}

/* Landing composition. */
.landing-hero .hero-in{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr)}
.landing-proof{border-left:1px solid rgba(255,255,255,.35);padding-left:clamp(22px,3vw,38px)}
.landing-proof b{display:block;color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.landing-proof ul{list-style:none;padding:0;margin:0}
.landing-proof li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.875rem;line-height:1.5;color:var(--od-1)}
.landing-proof li:last-child{border-bottom:0}
.service-landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:clamp(38px,6vw,86px);align-items:start}
.landing-aside{position:sticky;top:112px;background:var(--bg-1);padding:clamp(24px,3vw,38px);border-top:3px solid var(--orange)}
.landing-aside h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.8rem);margin-bottom:10px}
.landing-aside .lead-form{margin-top:24px}
.lead-form-service{font-size:.875rem;color:var(--text-2);padding:12px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin:0 0 20px}
.lead-form .btn{width:100%;min-height:48px}
.f-chk-optional{margin-top:14px}
.landing-list{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--line)}
.landing-list li{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid var(--line-2);font-size:.9rem;color:var(--text-2);line-height:1.6}
.landing-list li::before{content:"";position:absolute;left:0;top:1.55rem;width:8px;height:2px;background:var(--orange)}
.private-note{margin-top:28px;border-left:2px solid var(--orange);padding:2px 0 2px 18px;font-size:.78rem;line-height:1.65;color:var(--text-2)}

/* Team directory and individual profiles. */
.team-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,54px)}
.team-card{border-top:1px solid var(--line);padding-top:22px}
.team-card-photo{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--bg-2);margin-bottom:20px}
.team-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.team-card h3{font-size:1.2rem;margin-bottom:5px}
.team-card p{font-size:.875rem;line-height:1.65;color:var(--text-2);margin:10px 0 14px}
.team-card .team-role{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin:0}
.team-card-support{grid-column:auto}
.profile{display:grid;grid-template-columns:minmax(250px,.64fr) minmax(0,1.36fr);gap:clamp(34px,6vw,86px);align-items:start}
.profile-photo{aspect-ratio:4/5;overflow:hidden;background:var(--bg-2)}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.profile-body h1{margin-bottom:10px}
.profile-role{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:30px}
.profile-body h2{font-size:1.25rem;margin:36px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.profile-body p,.profile-body li{font-size:.9375rem;line-height:1.8;color:var(--text-2)}

/* Articles / Insights. */
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,52px)}
.article-card{border-top:1px solid var(--line);padding-top:18px}
.article-image{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:20px;background:var(--bg-2)}
.article-image img{width:100%;height:100%;object-fit:cover}
.article-meta{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:11px}
.article-card h2{font-size:1.3rem;line-height:1.28;margin-bottom:12px}
.article-card h2 a{color:var(--navy)}
.article-card p{font-size:.875rem;line-height:1.7;color:var(--text-2)}
.article-empty{max-width:680px;border-top:1px solid var(--line);padding-top:26px}
.article-single{max-width:820px;margin:0 auto}
.article-head{padding:clamp(54px,7vw,96px) 0 42px;background:var(--navy);color:var(--od-2)}
.article-head h1{color:#fff;max-width:19ch}
.article-head .article-meta{color:#FF9A70;margin:0 0 16px}
.article-byline{margin-top:22px;font-size:.8125rem;color:var(--od-2)}
.article-feature{margin:0 auto clamp(40px,6vw,72px);max-width:1040px;aspect-ratio:16/8;overflow:hidden}
.article-feature img{width:100%;height:100%;object-fit:cover}
.article-content{font-size:1.02rem;line-height:1.82}
.article-content h2{font-size:1.75rem;margin:2.1em 0 .65em}
.article-content h3{font-size:1.35rem;margin:1.7em 0 .55em}
.article-content p,.article-content li{color:var(--text);line-height:1.82}
.article-content a{text-decoration:underline;text-underline-offset:3px}
.article-content blockquote{margin:28px 0;padding:4px 0 4px 24px;border-left:3px solid var(--orange);color:var(--text-2)}
.article-author{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:.875rem;color:var(--text-2)}

@media(max-width:900px){
  .landing-hero .hero-in,.service-landing,.profile{grid-template-columns:1fr}
  .landing-aside{position:static}
  .landing-proof{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:24px 0 0}
  .team-directory,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-photo{max-width:440px}
}

@media(max-width:660px){
  .wrap{width:100%;padding-left:20px;padding-right:20px}
  .hero-in,.hero-photo.svc .hero-in{padding-left:0;padding-right:0}
  .hero h1{font-size:clamp(2rem,9.6vw,2.72rem);line-height:1.08;max-width:100%}
  .hero .lead{font-size:1.02rem;max-width:100%;margin-top:20px}
  .sec{padding:56px 0}.sec-s{padding:40px 0}
  .team-directory,.article-grid{grid-template-columns:1fr}
  .team-card{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:start}
  .team-card-photo{margin:0;aspect-ratio:4/5}
  .profile-photo{max-width:320px}
  .article-head{padding:48px 0 34px}
  .article-feature{aspect-ratio:16/10;margin-bottom:34px}
  .article-content{font-size:.97rem}
  .wa-prompt{right:12px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);padding:17px 17px 16px}
  .tst{bottom:calc(90px + env(safe-area-inset-bottom,0px));padding:11px 15px;font-size:.75rem;max-width:calc(100vw - 24px)}
  .cb-in{max-height:min(72vh,520px);overflow-y:auto;padding:18px 20px}
  .idc-route-svc-litig .hero h1{font-size:clamp(1.9rem,9vw,2.55rem)}
}

@media(max-width:390px){
  .wrap{padding-left:18px;padding-right:18px}
  .team-card{grid-template-columns:96px 1fr;gap:14px}
  .team-card h3{font-size:1.05rem}
  .btn{white-space:normal;text-align:center;line-height:1.25}
}
