    :root { color-scheme: light; --ink:#22243d; --navy:#1b1840; --navy2:#2c3150; --orange:#ed9353; --orange-deep:#bd6329; --paper:#f6f7f7; --white:#fff; --muted:#5c6670; --rule:#d9dfe2; --max:1200px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.55; }
    a { color:inherit; }
    button, input, textarea, select { font:inherit; }
    button { cursor:pointer; }
    img { max-width:100%; display:block; }
    :focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
    .container { width:min(var(--max), calc(100% - 48px)); margin-inline:auto; }
    .skip { position:absolute; top:-80px; left:16px; z-index:99; padding:10px 14px; background:var(--white); color:var(--navy); }
    .skip:focus { top:12px; }
    .topbar { position:relative; z-index:5; color:var(--navy); background:var(--white); border-bottom:1px solid #e2e5e9; }
    .nav { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
    .brand { display:inline-flex; align-items:center; gap:13px; text-decoration:none; min-width:0; }
    .brand-logo { display:block; width:210px; height:auto; }
    .nav-links { display:flex; align-items:center; gap:36px; }
    .nav-links a { text-decoration:none; font-size:14px; font-weight:650; transition:color .18s; }
    .nav-links a:hover { color:var(--orange); }
    .nav-cta { display:inline-flex; align-items:center; gap:18px; padding:11px 17px; border:1px solid #9ca2b6; white-space:nowrap; }
    .nav-cta:hover { border-color:var(--orange); }
    .menu-button { display:none; color:var(--navy); background:none; border:1px solid #9ca2b6; padding:9px 11px; line-height:1; }
    .hero { color:var(--white); background:var(--navy); overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:minmax(0, .93fr) minmax(0, 1.07fr); min-height:610px; }
    .hero-copy { position:relative; z-index:2; padding:100px 68px 106px max(24px, calc((100vw - var(--max))/2)); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
    .eyebrow { display:flex; gap:11px; align-items:center; margin:0 0 24px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
    .eyebrow::before { content:""; width:30px; height:2px; background:currentColor; }
    h1,h2,h3,p { margin-top:0; }
    h1 { max-width:650px; margin-bottom:28px; font-size:clamp(3rem, 5.15vw, 5.25rem); line-height:1.04; letter-spacing:-.065em; font-weight:760; }
    h1 em { color:var(--orange); font-style:normal; }
    .hero-intro { max-width:510px; color:#cbd3d4; font-size:18px; line-height:1.65; margin-bottom:38px; }
    .primary-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:56px; padding:15px 19px 15px 22px; background:var(--orange); color:var(--navy); text-decoration:none; font-size:15px; font-weight:800; transition:background .18s, transform .18s; }
    .primary-link:hover { background:#f4a368; transform:translateY(-2px); }
    .primary-link svg, .nav-cta svg { width:17px; height:17px; flex:none; }
    .hero-visual { position:relative; min-width:0; background:linear-gradient(150deg, #3b4443 0%, #5a574c 48%, #151f24 100%); }
    .hero-visual img { width:100%; height:100%; min-height:610px; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.04); }
    .hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(17,27,33,.42), transparent 35%), linear-gradient(0deg, rgba(17,27,33,.45), transparent 45%); pointer-events:none; }
    .hero-label { position:absolute; z-index:1; bottom:34px; right:40px; color:var(--white); border-left:2px solid var(--orange); padding-left:14px; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.14em; }
    .strip { background:#dfe4e2; border-bottom:1px solid #ced5d2; }
    .strip-inner { display:grid; grid-template-columns:1fr 1fr 1fr; padding-block:21px; }
    .strip-item { display:flex; align-items:center; gap:14px; padding:4px 30px; border-right:1px solid #c0c9c6; color:#3b4b50; font-size:13px; font-weight:750; text-transform:uppercase; letter-spacing:.09em; }
    .strip-item:first-child { padding-left:0; }
    .strip-item:last-child { border:0; }
    .strip-item span { color:var(--orange-deep); font-size:13px; }
    section { scroll-margin-top:20px; }
    .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:52px; }
    .section-head h2, .process h2, .contact h2 { font-size:clamp(2.3rem, 3.65vw, 3.85rem); line-height:1.12; letter-spacing:-.055em; margin-bottom:0; font-weight:760; }
    .section-head p:last-child { max-width:390px; color:var(--muted); margin:0; font-size:16px; }
    .services { padding:102px 0 112px; }
    .services .eyebrow, .process .eyebrow { color:var(--orange-deep); }
    .service-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); }
    .service-card { min-height:335px; padding:37px 32px 39px; background:var(--white); display:flex; flex-direction:column; }
    .service-num { color:var(--orange-deep); font-size:14px; font-weight:800; letter-spacing:.08em; }
    .service-icon { width:50px; height:50px; margin:43px 0 25px; color:var(--navy2); }
    .service-card h3 { font-size:23px; line-height:1.2; letter-spacing:-.035em; margin-bottom:15px; }
    .service-card p { color:var(--muted); margin:0; line-height:1.62; }
    .process { padding:95px 0 105px; background:#e9eeeb; }
    .process-layout { display:grid; grid-template-columns: .72fr 1.28fr; gap:90px; }
    .process-lead { max-width:430px; }
    .process-lead p:last-child { color:var(--muted); margin-top:25px; font-size:17px; }
    .steps { border-top:1px solid #bfc9c5; }
    .step { display:grid; grid-template-columns:72px 1fr; gap:15px; padding:27px 0 28px; border-bottom:1px solid #bfc9c5; }
    .step-number { color:var(--orange-deep); font-size:18px; font-weight:800; }
    .step h3 { font-size:21px; line-height:1.3; letter-spacing:-.025em; margin:0 0 7px; }
    .step p { color:var(--muted); margin:0; }
    .contact { color:var(--white); background:var(--navy); padding:100px 0 110px; }
    .contact-grid { display:grid; grid-template-columns:.76fr 1.24fr; gap:100px; align-items:start; }
    .contact-copy h2 { max-width:420px; }
    .contact-copy > p:not(.eyebrow) { color:#bfc9ca; max-width:360px; margin:24px 0 38px; font-size:17px; }
    .contact-detail { border-top:1px solid rgba(255,255,255,.22); padding-top:19px; max-width:360px; }
    .contact-detail small { display:block; color:#9aabaa; text-transform:uppercase; font-weight:800; font-size:12px; letter-spacing:.12em; margin-bottom:8px; }
    .contact-detail a { color:var(--white); text-underline-offset:4px; overflow-wrap:anywhere; }
    .form-panel { background:#f5f6f3; color:var(--ink); padding:40px; }
    .form-panel h3 { font-size:24px; line-height:1.25; letter-spacing:-.035em; margin-bottom:8px; }
    .form-panel > p { color:var(--muted); margin-bottom:28px; }
    .field-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px 18px; }
    .field { display:flex; flex-direction:column; gap:7px; min-width:0; }
    .field.full { grid-column:1 / -1; }
    .field label { font-size:14px; font-weight:750; }
    .field input, .field select, .field textarea { width:100%; border:1px solid #cbd4d0; background:var(--white); border-radius:0; padding:12px 13px; min-height:48px; color:var(--ink); outline:none; }
    .field textarea { min-height:128px; resize:vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color:var(--orange-deep); box-shadow:0 0 0 2px rgba(200,111,50,.18); }
    .field input::placeholder, .field textarea::placeholder { color:#788682; }
    .form-bottom { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-top:26px; }
    .submit { border:0; display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:54px; padding:13px 20px; background:var(--orange); color:var(--navy); font-weight:800; white-space:nowrap; }
    .submit:hover { background:#f4a368; }
    .submit:disabled { cursor:not-allowed; opacity:.58; }
    .form-note { max-width:280px; color:var(--muted); font-size:13px; line-height:1.5; margin:0; }
    .form-status { margin:16px 0 0; font-size:14px; color:#9f4d18; font-weight:650; }
    .footer { padding:26px 0; color:var(--muted); background:var(--white); border-top:1px solid var(--rule); font-size:13px; }
    .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .footer .brand-logo { width:165px; }
    .footer-contact { display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:flex-end; }
    .footer-contact a { color:var(--navy); font-weight:700; text-underline-offset:4px; }
    @media (max-width:1000px) {
      .hero-grid { min-height:560px; }
      .hero-copy { padding:80px 45px 80px 24px; }
      .hero-visual img { min-height:560px; }
      .process-layout, .contact-grid { gap:48px; }
      .service-card { padding-inline:24px; }
    }
    @media (max-width:900px) {
      .container { width:min(var(--max), calc(100% - 36px)); }
      .nav { min-height:68px; flex-wrap:wrap; }
      .menu-button { display:block; }
      .nav-links { display:none; flex-basis:100%; flex-direction:column; align-items:stretch; gap:0; padding:2px 0 18px; }
      .nav-links.open { display:flex; }
      .nav-links a { padding:12px 4px; }
      .nav-links .nav-cta { justify-content:space-between; padding-inline:14px; margin-top:8px; }
      .hero-grid { grid-template-columns:1fr; }
      .hero-copy { padding:70px 18px 64px; }
      h1 { max-width:590px; font-size:clamp(3rem, 10vw, 4.5rem); }
      .hero-visual { min-height:310px; }
      .hero-visual img { height:330px; min-height:0; }
      .hero-label { bottom:22px; right:20px; }
      .strip-inner { padding-block:13px; }
      .strip-item { padding:6px 12px; font-size:11px; letter-spacing:.045em; gap:8px; }
      .services, .process, .contact { padding-block:76px; }
      .section-head { display:block; margin-bottom:32px; }
      .section-head p:last-child { max-width:560px; margin-top:18px; }
      .service-grid { grid-template-columns:1fr; }
      .service-card { min-height:0; padding:30px; }
      .service-icon { margin:28px 0 18px; }
      .process-layout, .contact-grid { grid-template-columns:1fr; gap:36px; }
      .process-lead p:last-child { margin-top:16px; }
      .contact-copy > p:not(.eyebrow) { margin-bottom:28px; }
    }
    @media (max-width:520px) {
      .brand-logo { width:175px; }
      .hero-copy { padding-block:61px; }
      .hero-intro { font-size:17px; }
      .strip-inner { grid-template-columns:1fr; }
      .strip-item { border-right:0; border-bottom:1px solid #c0c9c6; padding:10px 0; }
      .strip-item:last-child { border:0; }
      .field-grid { grid-template-columns:1fr; }
      .form-panel { padding:25px 20px; }
      .form-bottom { align-items:stretch; flex-direction:column; }
      .form-note { max-width:none; }
      .footer-inner { align-items:flex-start; flex-direction:column; }
      .footer-contact { justify-content:flex-start; gap:8px 18px; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .primary-link { transition:none; } }

/* Quiénes somos */
.about-hero { color:var(--white); background:var(--navy); overflow:hidden; }
.about-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; min-height:540px; }
.about-copy { padding:96px 66px 92px max(24px, calc((100vw - var(--max))/2)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.about-copy h1 { max-width:670px; font-size:clamp(3rem, 4.6vw, 4.9rem); }
.about-copy > p:last-child { max-width:540px; color:#cbd3d9; font-size:18px; line-height:1.65; margin:0; }
.about-image { position:relative; min-height:400px; background:#3c4147; }
.about-image img { height:100%; width:100%; object-fit:cover; object-position:60% center; filter:saturate(.8); }
.about-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(27,24,64,.2),transparent 50%),linear-gradient(0deg,rgba(27,24,64,.4),transparent 55%); }
.about-location { position:absolute; z-index:1; bottom:30px; right:34px; border-left:2px solid var(--orange); padding-left:14px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.about-story { padding:108px 0 100px; }
.about-story-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:95px; }
.about-story h2, .about-goal h2 { font-size:clamp(2.3rem,3.65vw,3.75rem); line-height:1.12; letter-spacing:-.055em; font-weight:760; margin:0; }
.about-story-copy { max-width:720px; color:#4d5962; font-size:18px; line-height:1.75; }
.about-story-copy p { margin-bottom:22px; }
.about-story-copy p:last-child { margin-bottom:0; }
.about-goal { padding:95px 0 105px; background:#e9eeeb; }
.about-goal-head { display:grid; grid-template-columns:.72fr 1.28fr; gap:95px; align-items:start; }
.about-goal-lead { max-width:720px; color:#4d5962; font-size:19px; line-height:1.7; margin:0; }
.about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:72px; border-top:1px solid #bfc9c5; }
.about-principle { padding-top:25px; }
.about-principle span { color:var(--orange-deep); font-size:15px; font-weight:800; }
.about-principle h3 { font-size:22px; line-height:1.25; letter-spacing:-.03em; margin:28px 0 10px; }
.about-principle p { color:var(--muted); margin:0; }
.about-cta { padding:64px 0; color:var(--white); background:var(--navy); }
.about-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.about-cta h2 { font-size:clamp(2rem,3.25vw,3.25rem); line-height:1.16; letter-spacing:-.05em; margin:0; max-width:690px; }
@media (max-width:900px) {
  .about-copy { padding-left:24px; padding-right:35px; }
  .about-story-grid, .about-goal-head { gap:45px; }
}
@media (max-width:900px) {
  .about-hero-grid { grid-template-columns:1fr; }
  .about-copy { padding:70px 18px 68px; }
  .about-image { min-height:300px; }
  .about-image img { height:330px; }
  .about-story, .about-goal { padding-block:76px; }
  .about-story-grid, .about-goal-head { grid-template-columns:1fr; gap:25px; }
  .about-story-copy, .about-goal-lead { font-size:17px; }
  .about-principles { grid-template-columns:1fr; gap:25px; margin-top:48px; }
  .about-principle { padding-top:20px; }
  .about-principle h3 { margin-top:15px; }
  .about-cta-inner { align-items:flex-start; flex-direction:column; }
}

/* Experiencia */
.experience { padding:92px 0 98px; background:var(--white); }
.experience-layout { display:grid; grid-template-columns:1fr; gap:35px; }
.experience .eyebrow { color:var(--orange-deep); }
.experience h2 { max-width:800px; font-size:clamp(2.3rem,3.5vw,3.7rem); line-height:1.12; letter-spacing:-.055em; margin:0; }
.experience-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:42px; list-style:none; margin:0; padding:0; }
.experience-row { color:var(--navy); font-size:18px; font-weight:700; line-height:1.4; letter-spacing:-.025em; padding:19px 0; border-top:1px solid var(--rule); }
@media (max-width:900px) {
  .experience { padding:76px 0; }
  .experience-layout { gap:28px; }
  .experience-list { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .experience-row { font-size:17px; padding:18px 0; }
}
