:root{
    --paper:#FBFAF6;
    --paper-deep:#F1EFE8;
    --navy:#06324A;
    --navy-deep:#04212F;
    --gold:#FCC101;
    --gold-deep:#B9860A;
    --charcoal:#1E1F21;
    --hairline: rgba(6,50,74,0.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter', sans-serif; color:var(--charcoal); background:var(--paper); line-height:1.65; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Archivo', sans-serif; color:var(--navy); line-height:1.04; letter-spacing:-0.015em;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 40px;}
  .cap{font-family:'Inter', sans-serif; font-weight:700; font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase;}
  .mark svg{display:block;}

  .placeholder{color:var(--gold-deep); font-style:normal; border-bottom:1.5px dashed var(--gold-deep);}

  .folio{position:relative; margin-bottom:64px;}
  .folio .ghost{font-family:'Archivo', sans-serif; font-weight:800; font-size:140px; color:var(--navy); opacity:0.05; position:absolute; top:-56px; left:-6px; line-height:1; pointer-events:none; user-select:none;}
  .folio .cap{color:var(--gold-deep); display:flex; align-items:center; gap:12px; margin-bottom:18px;}
  .folio .cap::before{content:''; width:26px; height:2px; background:var(--gold-deep);}
  .folio h2{font-size:clamp(30px,3.6vw,44px); max-width:660px; position:relative;}
  .folio .sub{color:rgba(30,31,33,0.62); max-width:560px; margin-top:18px; font-size:16px; position:relative;}

    header.main {
	  position: sticky;
	  top: 0;
	  z-index: 50;
	  background: var(--navy);
	  border-bottom: none;
	}
	header.main .wrap {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  padding: 14px 40px;
	}
	.brand-logo {
	  height: 64px;
	  width: auto;
	  display: block;
	}
	header.main .wrap {
	  padding: 10px 40px;
	}
	nav.primary {
	  display: flex;
	  align-items: center;
	  gap: 36px;
	}
	nav.primary ul {
	  display: flex;
	  align-items: center;
	  gap: 28px;
	  list-style: none;
	}
	nav.primary ul a {
	  font-size: 14px;
	  font-weight: 600;
	  color: #FFFFFF;
	  padding-bottom: 4px;
	  border-bottom: 2px solid transparent;
	  transition: border-color 0.2s ease, color 0.2s ease;
	}
	nav.primary ul a:hover {
	  color: var(--gold);
	}
	nav.primary ul li.active a,
	nav.primary ul a.active {
	  border-bottom-color: var(--gold);
	  color: var(--gold);
	}
	.btn-navy {
	  display: inline-block;
	  background: var(--gold);
	  color: var(--navy-deep);
	  font-size: 14px;
	  font-weight: 600;
	  padding: 12px 24px;
	  border-radius: 4px;
	  transition: background-color 0.2s ease;
	}
	.btn-navy:hover {
	  background: var(--gold-deep);
	}
	@media (max-width: 768px) {
	  header.main .wrap {
		padding: 12px 20px;
		flex-wrap: wrap;
		gap: 12px;
	  }
	  nav.primary {
		width: 100%;
		justify-content: space-between;
	  }
	  nav.primary ul {
		flex-wrap: wrap;
		gap: 14px;
		row-gap: 8px;
	  }
	}

	.hero-inicio {
	  position: relative;
	  min-height: 620px;
	  display: flex;
	  align-items: center;
	  overflow: hidden;
	}
	.hero-inicio__img {
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  object-position: center;
	}
	.hero-inicio__overlay {
	  position: absolute;
	  inset: 0;
	  background: linear-gradient(
		90deg,
		var(--navy-deep) 0%,
		rgba(6, 50, 74, 0.88) 46%,
		rgba(6, 50, 74, 0.4) 68%,
		rgba(6, 50, 74, 0.08) 88%
	  );
	}
	.hero-inicio__patron {
	  position: absolute;
	  top: -60px;
	  right: -60px;
	  width: 320px;
	  height: 320px;
	  background: url('assets/img/patron_blanco.png') center / contain no-repeat;
	  opacity: 0.16;
	}
	.hero-inicio__contenido {
	  position: relative;
	  z-index: 1;
	  max-width: 960px;
	  padding: 40px 5vw;
	}
	.hero-inicio__eyebrow {
	  display: flex;
	  align-items: center;
	  gap: 10px;
	  margin: 0 0 22px;
	  color: var(--gold);
	  font-size: 13px;
	  font-weight: 700;
	  letter-spacing: 0.12em;
	  text-transform: uppercase;
	}
	.hero-inicio__linea {
	  width: 28px;
	  height: 2px;
	  background: var(--gold);
	}
	.hero-inicio__titulo {
	  font-family: 'Archivo', sans-serif;
	  font-weight: 700;
	  font-size: clamp(32px, 3.6vw, 46px);
	  line-height: 1.16;
	  color: #FFFFFF;
	  margin: 0 0 22px;
	  max-width: 760px;
	}
	.hero-inicio__titulo em {
	  color: var(--gold);
	  font-style: normal;
	}
	.hero-inicio__texto {
	  font-family: 'Inter', sans-serif;
	  font-size: 16px;
	  line-height: 1.6;
	  color: #DCE7EC;
	  max-width: 620px;
	  margin: 0 0 34px;
	}
	.hero-inicio__ctas {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 14px;
	}
	.hero-inicio .btn {
	  display: inline-block;
	  padding: 14px 28px;
	  font-size: 14px;
	  font-weight: 600;
	  border-radius: 4px;
	  text-decoration: none;
	  transition: opacity 0.2s ease, background-color 0.2s ease;
	}
	.hero-inicio .btn--primario {
	  background: var(--gold);
	  color: var(--navy-deep);
	  border: none;
	}
	.hero-inicio .btn--primario:hover {
	  opacity: 0.9;
	}
	.hero-inicio .btn--ghost {
	  background: transparent;
	  color: #FFFFFF;
	  border: 1px solid rgba(255, 255, 255, 0.5);
	}
	.hero-inicio .btn--ghost:hover {
	  border-color: #FFFFFF;
	}
	@media (max-width: 768px) {
	  .hero-inicio {
		min-height: 520px;
		align-items: flex-end;
	  }
	  .hero-inicio__overlay {
		background: linear-gradient(
		  180deg,
		  rgba(4, 32, 47, 0.35) 0%,
		  rgba(4, 32, 47, 0.94) 78%
		);
	  }
	  .hero-inicio__contenido {
		max-width: 100%;
		padding: 40px 24px 48px;
	  }
	  .hero-inicio__patron {
		display: none;
	  }
	  .hero-inicio__titulo {
		font-size: 30px;
	  }
	}

  /* 1. Quienes somos */
  .hero{padding:90px 0 100px; background:var(--paper); overflow:hidden;}
  .hero .wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:70px; align-items:center;}
  .hero .cap{color:var(--gold-deep); display:flex; align-items:center; gap:12px; margin-bottom:24px;}
  .hero .cap::before{content:''; width:26px; height:2px; background:var(--gold-deep);}
  .hero h1{font-size:clamp(40px,4.8vw,58px); margin-bottom:24px;}
  .hero h1 em{font-style:normal; color:var(--gold-deep);}
  .hero p.lead{font-size:17px; color:rgba(30,31,33,0.66); max-width:460px; margin-bottom:30px;}
  .pattern-block{position:relative; aspect-ratio:1/1.02;}
  .pattern-block .plate{position:absolute; inset:0; background:var(--navy); border-radius:4px; overflow:hidden;}
  .pattern-block .plate.photo{background-size:cover; background-position:center;}
  .pattern-block .plate.photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,33,47,0.15), rgba(4,33,47,0.55));}
  .pattern-block .fig-cap{position:absolute; bottom:-28px; left:0; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(30,31,33,0.4);}

  /* Header logo image */
  .brand-logo{height:34px; width:auto; display:block;}

  /* Footer logo (icon image + typed wordmark, no white lockup available) */
  .foot-logo{display:flex; align-items:center; gap:10px;}
  .foot-logo .mark-img{height:24px; width:auto; display:block;}

  /* Real photo frames used inside content sections */
  .photo-frame{position:relative; margin-top:30px; border-radius:4px; overflow:hidden;}
  .photo-frame img{width:100%; height:260px; object-fit:cover; display:block;}
  .photo-frame .fig-cap{display:block; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(30,31,33,0.45); margin-top:10px;}

  .who{padding:0 0 120px; background:var(--paper);}
  .id-body{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
  .id-body p{color:rgba(30,31,33,0.68); font-size:16px; margin-bottom:20px;}
  .quote-block{border-left:3px solid var(--gold); padding-left:26px; margin:30px 0;}
  .quote-block p{font-family:'Archivo', sans-serif; font-weight:600; font-size:18px; color:var(--navy); line-height:1.4; margin:0;}
  .mv-stack{display:flex; flex-direction:column; gap:1px; background:var(--hairline); border:1px solid var(--hairline);}
  .mv-item{background:var(--paper); padding:32px 34px;}
  .mv-item .cap{color:var(--gold-deep); margin-bottom:12px;}
  .mv-item p{font-size:15px; color:rgba(30,31,33,0.68); margin:0;}

  /* 2. Servicios */
  .services{padding:120px 0; background:var(--paper-deep);}
  .svc-index{border-top:1px solid var(--hairline);}

  /* 3. Indicadores */
  .indicators{padding:120px 0; background:var(--navy); color:#fff; position:relative; overflow:hidden;}
  .indicators .folio .cap{color:var(--gold);}
  .indicators .folio .cap::before{background:var(--gold);}
  .indicators .folio h2{color:#fff;}
  .indicators .folio .sub{color:rgba(255,255,255,0.62);}
  .indicators .folio .ghost{color:#fff;}
  .stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.14);}
  .stat{background:var(--navy); padding:32px 28px;}
  .stat .v{font-family:'Archivo', sans-serif; font-weight:800; font-size:38px; color:var(--gold); line-height:1;}
  .stat .l{font-size:12.5px; color:rgba(255,255,255,0.62); margin-top:10px; letter-spacing:0.02em;}
  .indicators-note{margin-top:26px; font-size:13px; color:rgba(255,255,255,0.45); max-width:600px;}

  /* 4. Metodologia */
  .process{padding:120px 0; background:var(--paper);}
  .report-list{border-top:1px solid var(--hairline);}
  .report-item{display:grid; grid-template-columns:140px 1fr; gap:30px; padding:34px 0; border-bottom:1px solid var(--hairline);}
  .report-item .ghost-n{font-family:'Archivo',sans-serif; font-weight:800; font-size:48px; color:var(--navy); opacity:0.1;}
  .report-item h4{font-size:19px; margin-bottom:8px;}
  .report-item p{font-size:14.5px; color:rgba(30,31,33,0.62); max-width:560px; margin:0;}

  /* 5. Capacidades */
  .capacities{padding:120px 0; background:var(--paper-deep);}
  .cap-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline);}
  .cap-item{background:var(--paper-deep); padding:34px 32px;}
  .cap-item .icon{width:42px; height:42px; border-radius:2px; background:var(--navy); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
  .cap-item .icon svg{width:20px; height:20px; stroke:var(--gold);}
  .cap-item h4{font-size:16.5px; margin-bottom:8px;}
  .cap-item p{font-size:14px; color:rgba(30,31,33,0.6); margin:0;}

  /* 6. Compromiso */
  .commitment{padding:120px 0; background:var(--paper);}
  .commit-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;}
  .value-list{display:flex; flex-direction:column;}
  .value-row{display:grid; grid-template-columns:50px 1fr; gap:18px; padding:22px 0; border-top:1px solid var(--hairline);}
  .value-row:last-child{border-bottom:1px solid var(--hairline);}
  .value-row .n{font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; color:var(--gold-deep); padding-top:2px;}
  .value-row h4{font-size:16px; margin-bottom:5px;}
  .value-row p{font-size:14px; color:rgba(30,31,33,0.6); margin:0;}
  .terms-band{background:var(--navy); color:#fff; padding:38px 36px; border-radius:4px;}
  .terms-band .cap{color:var(--gold); margin-bottom:14px;}
  .terms-band p{font-size:14px; color:rgba(255,255,255,0.7); margin-bottom:18px;}
  .terms-band p:last-child{margin-bottom:0;}

  /* CTA */
  .cta-band{background:var(--navy-deep); color:#fff; padding:80px 0; text-align:center;}
  .cta-band h2{color:#fff; font-size:clamp(28px,3.6vw,40px); max-width:680px; margin:0 auto 28px;}
  .cta-band .cap{display:flex; align-items:center; justify-content:center; gap:12px; color:var(--gold); margin-bottom:20px;}
  .cta-band .cap::before, .cta-band .cap::after{content:''; width:26px; height:2px; background:var(--gold);}

  /* 7. Contacto */
  .contact{padding:120px 0; background:var(--paper-deep);}
  .contact-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:70px;}
  .clist{border-top:1px solid var(--hairline); margin-top:0;}
  .cline{display:grid; grid-template-columns:90px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid var(--hairline);}
  .cline .cap{color:var(--gold-deep);}
  .cline a, .cline span{display:block; font-size:15px; color:var(--navy); margin-bottom:3px; font-weight:600;}
  .form-card{background:var(--paper); border:1px solid var(--hairline); padding:44px;}
  .frow{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  .field label{display:block; font-size:11.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--navy); margin-bottom:8px;}
  .field input, .field select, .field textarea{width:100%; border:1px solid var(--hairline); background:var(--paper-deep); padding:13px 14px; font-family:'Inter',sans-serif; font-size:14px; color:var(--charcoal);}
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--gold); border-color:var(--gold);}
  .field.full{grid-column:1/-1;}

  /* Footer */
  footer{background:var(--navy-deep); color:rgba(255,255,255,0.6); padding:64px 0 30px;}
  .foot-top{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.14);}
  .foot-brand .wordmark{font-family:'Archivo',sans-serif; font-weight:800; font-size:22px; color:#fff;}
  .foot-brand .wordmark span{color:var(--gold);}
  .foot-brand p{font-size:13.5px; margin-top:16px; max-width:280px; color:rgba(255,255,255,0.5);}
  .foot-col .cap{color:var(--gold); margin-bottom:16px; display:block;}
  .foot-col ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .foot-col a{font-size:13.5px; color:rgba(255,255,255,0.62);}
  .foot-col a:hover{color:#fff;}
  .foot-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:11.5px; letter-spacing:0.04em;}

  @media(max-width:940px){
    .hero .wrap{grid-template-columns:1fr;}
    .id-body{grid-template-columns:1fr;}
    .stat-grid{grid-template-columns:1fr 1fr;}
    .cap-grid{grid-template-columns:1fr;}
    .commit-grid{grid-template-columns:1fr;}
    .svc-body{grid-template-columns:1fr; padding-left:0;}
    .contact-grid{grid-template-columns:1fr;}
    .foot-top{grid-template-columns:1fr 1fr;}
    nav.primary ul{display:none;}
    .frow{grid-template-columns:1fr;}
    .report-item{grid-template-columns:1fr; gap:8px;}
    .svc-row summary{grid-template-columns:40px 1fr auto;}
  }

  /* ================= MOTION & INTERACTION LAYER ================= */

  @media (prefers-reduced-motion: reduce) {
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }

  /* Scroll progress bar */
  .scroll-progress{position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg, var(--gold-deep), var(--gold)); z-index:200; transition:width .12s linear;}

  /* Header dynamic states */
  .topline{overflow:hidden; max-height:40px; transition:max-height .35s ease, opacity .3s ease, padding .35s ease;}
  .topline.hidden{max-height:0; opacity:0;}
  header.main{transition:box-shadow .3s ease;}
  header.main .wrap{transition:height .3s ease;}
  header.main.scrolled{box-shadow:0 10px 30px -14px rgba(6,50,74,0.28);}
  header.main.scrolled .wrap{height:70px;}
  nav.primary a.active{color:var(--navy);}
  nav.primary a.active::after{width:100%;}

  /* Hero entrance */
  .hero-in{opacity:0; transform:translateY(22px); animation:heroIn .8s cubic-bezier(.16,.84,.44,1) forwards; animation-delay:calc(var(--d, 0) * 140ms + 120ms);}
  @keyframes heroIn{to{opacity:1; transform:translateY(0);}}
  .hero-in-panel{opacity:0; transform:translateY(18px) scale(.98); animation:heroPanelIn 1s cubic-bezier(.16,.84,.44,1) forwards; animation-delay:.4s;}
  @keyframes heroPanelIn{to{opacity:1; transform:translateY(0) scale(1);}}

  /* Ambient drifting glow behind hero */
  .hero{position:relative; overflow:hidden;}
  .hero::before{
    content:''; position:absolute; width:560px; height:560px; border-radius:50%;
    background:radial-gradient(circle, rgba(252,193,1,0.14), transparent 68%);
    top:-220px; right:-160px; pointer-events:none; z-index:0;
    animation:drift 14s ease-in-out infinite alternate;
  }
  @keyframes drift{from{transform:translate(0,0);} to{transform:translate(-50px,50px);}}
  .hero .wrap{position:relative; z-index:1;}

  /* Pulse rings around the hero panel mark */
  .mark-pulse{position:absolute; bottom:22px; right:22px; width:46px; height:46px; z-index:2;}
  .mark-pulse img{position:relative; z-index:2; width:100%; height:auto; display:block;}
  .mark-pulse::before, .mark-pulse::after{
    content:''; position:absolute; inset:0; border:1.5px solid var(--gold); border-radius:50%;
    animation:pulseRing 2.6s ease-out infinite; opacity:0;
  }
  .mark-pulse::after{animation-delay:1.3s;}
  @keyframes pulseRing{0%{transform:scale(1); opacity:.75;} 100%{transform:scale(2.6); opacity:0;}}

  /* Generic scroll reveal */
  .reveal-watch{opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1);}
  .reveal-watch.is-visible{opacity:1; transform:translateY(0);}
  .stagger .reveal{opacity:0; transform:translateY(24px); transition:opacity .6s cubic-bezier(.16,.84,.44,1), transform .6s cubic-bezier(.16,.84,.44,1);}
  .stagger.is-visible .reveal{opacity:1; transform:translateY(0);}
  .stagger .reveal:nth-child(1){transition-delay:0ms}
  .stagger .reveal:nth-child(2){transition-delay:80ms}
  .stagger .reveal:nth-child(3){transition-delay:160ms}
  .stagger .reveal:nth-child(4){transition-delay:240ms}
  .stagger .reveal:nth-child(5){transition-delay:320ms}
  .stagger .reveal:nth-child(6){transition-delay:400ms}
  .stagger .reveal:nth-child(7){transition-delay:480ms}
  .stagger .reveal:nth-child(8){transition-delay:560ms}

  /* Placeholder pending-data pulse */
  .placeholder{animation:pulseSoft 2.2s ease-in-out infinite;}
  @keyframes pulseSoft{0%,100%{opacity:.55;} 50%{opacity:1;}}

  /* Button micro-interactions */
  .btn{position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, background .2s ease;}
  .btn::before{
    content:''; position:absolute; top:0; left:-60%; width:35%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.45), transparent);
    transform:skewX(-20deg); transition:left .55s ease; pointer-events:none;
  }
  .btn:hover::before{left:130%;}
  .btn:hover{transform:translateY(-3px);}
  .btn-navy:hover{box-shadow:0 14px 28px -12px rgba(6,50,74,0.5);}
  .btn-gold:hover{box-shadow:0 14px 28px -12px rgba(252,193,1,0.5);}

  /* Card hover lifts */
  .cap-item{transition:transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease, background .35s ease;}
  .cap-item:hover{transform:translateY(-6px); box-shadow:0 24px 44px -22px rgba(6,50,74,0.28); background:var(--paper);}
  .cap-item .icon{transition:transform .35s cubic-bezier(.16,.84,.44,1);}
  .cap-item:hover .icon{transform:rotate(-6deg) scale(1.08);}

  .stat{transition:transform .3s cubic-bezier(.16,.84,.44,1), background .3s ease;}
  .stat:hover{transform:translateY(-5px); background:var(--navy-deep);}

  .mv-item{transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease;}
  .mv-item:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(6,50,74,0.18);}

  .value-row{transition:padding-left .3s ease;}
  .value-row:hover{padding-left:10px;}

  /* Photo frame hover zoom */
  .photo-frame img{transition:transform .7s cubic-bezier(.16,.84,.44,1);}
  .photo-frame:hover img{transform:scale(1.06);}

  /* Nav underline is already animated via ::after; add link lift */
  nav.primary a{transition:color .2s ease;}

  /* ================= CUSTOM ANIMATED ACCORDION ================= */
  .svc-row{border-bottom:1px solid var(--hairline);}
  .svc-summary{
    all:unset; box-sizing:border-box; cursor:pointer; display:grid;
    grid-template-columns:70px 1fr auto; align-items:center; gap:24px;
    padding:30px 0; width:100%;
  }
  .svc-summary .idx{font-family:'Archivo', sans-serif; font-weight:800; font-size:16px; color:var(--gold-deep);}
  .svc-summary .title h3{font-size:21px; margin-bottom:4px; transition:color .25s ease;}
  .svc-summary .title p{font-size:14px; color:rgba(30,31,33,0.55); margin:0;}
  .svc-summary .toggle{
    width:38px; height:38px; border:1.5px solid var(--navy); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--navy);
    transition:all .3s cubic-bezier(.16,.84,.44,1); flex-shrink:0;
  }
  .svc-row:hover .svc-summary .title h3{color:var(--gold-deep);}
  .svc-row:hover .svc-summary .toggle{border-color:var(--gold-deep); color:var(--gold-deep); transform:rotate(90deg);}
  .svc-row.is-open .svc-summary .toggle{background:var(--navy); border-color:var(--navy); color:#fff; transform:rotate(45deg);}

  .svc-body-wrap{
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s cubic-bezier(.16,.84,.44,1);
  }
  .svc-row.is-open .svc-body-wrap{grid-template-rows:1fr;}
  .svc-body-inner{overflow:hidden; min-height:0;}
  .svc-body{padding:0 0 34px 94px; display:grid; grid-template-columns:1fr 1fr; gap:10px 30px;}
  .svc-body div{font-size:14px; color:rgba(30,31,33,0.7); display:flex; gap:10px; opacity:0; transform:translateY(6px); transition:opacity .35s ease .1s, transform .35s ease .1s;}
  .svc-row.is-open .svc-body div{opacity:1; transform:translateY(0);}
  .svc-body div::before{content:'—'; color:var(--gold-deep); flex-shrink:0;}

  @media(max-width:940px){
    .svc-summary{grid-template-columns:40px 1fr auto;}
    .svc-body{padding-left:0;}
  }