/* Composición C: un recorrido fotográfico y reversible, con el contenido común de A/B. */
.c-story,.service-media,.c-static-description { display:none; }
html[data-concept="c"] .hero { display:none; }
html[data-concept="c"] .site-header { background:#0c1422; }
html[data-concept="c"] .site-header-inner { border-bottom-color:#ffffff29; }
html[data-concept="c"] .nav-cta { color:#17243c; background:#d5e2fc; border-color:#d5e2fc; }
html[data-concept="c"] .c-story { display:block; position:relative; height:270svh; isolation:isolate; color:#f6f8fd; background:#0c1422; --c-start:1; --c-grow:0; --c-media-top:43%; --c-media-side:22%; --c-media-bottom:-24%; --c-media-radius:24px; --c-media-border:8px; --c-title-y:0px; --c-reveal-x:calc(100vw + 32px); }
html[data-concept="c"] .c-story-sticky { position:sticky; top:var(--snap-offset); height:calc(100svh - var(--snap-offset)); min-height:500px; overflow:hidden; background:radial-gradient(ellipse 53% 43% at 50% 74%,#526d9d35,transparent 82%),#0c1422; }
.c-story-start { position:absolute; z-index:3; top:8%; left:50%; width:min(100% - 64px,1080px); margin:0; text-align:center; opacity:var(--c-start); transform:translateX(-50%) translateY(var(--c-title-y)); pointer-events:none; }
.c-story-start .eyebrow { justify-content:center; margin-bottom:18px; }
.c-story-start h1 { max-width:970px; margin:0 auto 26px; font-size:clamp(58px,7.2vw,112px); line-height:.98; }
.c-story-start .button { pointer-events:auto; }
.c-scroll-hint { display:flex; justify-content:center; gap:10px; margin-top:28px; color:#afbed7; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.c-expanding-frame { position:absolute; z-index:1; top:var(--c-media-top); right:var(--c-media-side); bottom:var(--c-media-bottom); left:var(--c-media-side); overflow:hidden; border:var(--c-media-border) solid #27364f; border-radius:var(--c-media-radius); background:#1b2b43; box-shadow:0 35px 95px #01030bbb,0 0 0 1px #b5c8ef80; will-change:top,right,bottom,left,border-radius; }
.c-expanding-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.c-frame-top { position:absolute; z-index:2; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; height:30px; padding:0 17px; color:#dce6f8; background:#101b2bbd; border-bottom:1px solid #ffffff5c; opacity:var(--c-start); font-size:9px; letter-spacing:.14em; }
.c-frame-camera { width:26px; height:5px; border-radius:99px; background:#889bb7; }
.c-frame-shade { position:absolute; inset:0; background:linear-gradient(90deg,#061021c9 0%,#0a15288c 45%,#0c172440 100%); opacity:var(--c-grow); }
.c-story-reveal { position:absolute; z-index:2; top:30%; right:max(32px,calc((100vw - 1240px)/2)); width:min(45%,580px); margin:0; transform:translateX(var(--c-reveal-x)); pointer-events:none; }
.c-story-reveal .section-label { color:#d6e2ff; }
.c-story-reveal h2 { margin:22px 0 20px; color:#f6f8fd; font-size:clamp(43px,5vw,76px); font-weight:500; line-height:1.03; letter-spacing:-.068em; }
.c-story-reveal p { max-width:450px; margin-bottom:28px; color:#dce6f5; font-size:16px; line-height:1.58; }
.c-story-reveal .button { pointer-events:auto; }

html[data-concept="c"] .light { min-height:0; background:#f5f5f2; }
html[data-concept="c"] .intro { display:block; padding:104px 0 30px; }
html[data-concept="c"] .intro h2 { max-width:980px; font-size:clamp(53px,5.8vw,86px); line-height:1.02; }
html[data-concept="c"] .intro p { max-width:540px; margin:21px 0 0; font-size:16px; }
html[data-concept="c"] .services { display:block; padding-bottom:105px; }
html[data-concept="c"] .service { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto 1fr auto; align-items:start; gap:0 clamp(50px,6vw,120px); min-height:clamp(650px,91svh,880px); padding:72px 0; border:0; border-bottom:1px solid #d2d8de; border-radius:0; background:transparent; box-shadow:none; transform:none; }
html[data-concept="c"] .service-number { grid-column:1; grid-row:1; margin:0 0 24px; color:#596f93; font-size:11px; }
html[data-concept="c"] .service h3 { grid-column:1; grid-row:2; align-self:start; max-width:500px; margin:0; color:#18263d; font-size:clamp(52px,5.2vw,76px); line-height:1.03; letter-spacing:-.065em; }
html[data-concept="c"] .service p { grid-column:1; grid-row:3; align-self:end; max-width:430px; margin:0; color:#485768; font-size:17px; line-height:1.55; }
html[data-concept="c"] .service-media { display:block; position:relative; grid-column:2; grid-row:1/4; align-self:stretch; min-height:540px; overflow:hidden; border-radius:25px; background:#182741; isolation:isolate; }
html[data-concept="c"] .service-media img { position:absolute; top:-120px; left:0; display:block; width:100%; height:calc(100% + 240px); object-fit:cover; transform:translate3d(0,var(--c-media-shift,0px),0); will-change:transform; }
html[data-concept="c"] .service:nth-child(1) .service-media img { object-position:52% center; }
html[data-concept="c"] .service:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
html[data-concept="c"] .service:nth-child(even) .service-media { grid-column:1; }
html[data-concept="c"] .service:nth-child(even) .service-number,html[data-concept="c"] .service:nth-child(even) h3,html[data-concept="c"] .service:nth-child(even) p { grid-column:2; }
html[data-concept="c"] .service:nth-child(2) .service-media img { object-position:33% center; }
html[data-concept="c"] .service-float { position:absolute; z-index:2; top:17%; left:10%; display:flex; width:min(72%,330px); min-height:215px; flex-direction:column; padding:26px; border:1px solid #ffffff8a; border-radius:19px; color:#eaf2ff; background:#142545ad; box-shadow:0 20px 45px #0610227d; backdrop-filter:blur(16px); }
html[data-concept="c"] .service-float span { font-size:10px; letter-spacing:.15em; }
html[data-concept="c"] .service-float strong { max-width:270px; margin:auto 0; font-size:25px; font-weight:500; line-height:1.16; letter-spacing:-.04em; }
html[data-concept="c"] .service-float i { display:block; width:75px; height:4px; border-radius:99px; background:#b6caff; }
html[data-concept="c"] .service:nth-child(3) { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(500px,67svh) auto; min-height:0; padding:100px 0 0; border:0; }
html[data-concept="c"] .service:nth-child(3) .service-number { grid-column:1; grid-row:1; }
html[data-concept="c"] .service:nth-child(3) h3 { grid-column:1; grid-row:2; max-width:950px; margin:0 0 43px; }
html[data-concept="c"] .service:nth-child(3) .service-media { grid-column:1; grid-row:3; min-height:500px; }
html[data-concept="c"] .service:nth-child(3) .service-media img { object-position:center 42%; }
html[data-concept="c"] .service:nth-child(3) p { grid-column:1; grid-row:4; max-width:650px; margin:26px 0 0; }

html[data-concept="c"] .showcase { background:radial-gradient(ellipse 58% 63% at 74% 43%,#7896cb36,transparent 80%),#111a2c; }
html[data-concept="c"] .showcase-browser-body { position:relative; background:#172238 var(--showcase-image) center/cover; }
html[data-concept="c"] .showcase-browser-body::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0a1424df,#0b14287d 72%); }
html[data-concept="c"] .showcase-browser-head,html[data-concept="c"] .showcase-browser-layout { position:relative; z-index:1; }
html[data-concept="c"] .showcase-browser-head,html[data-concept="c"] .showcase-browser-text { color:#f3f6fd; }
html[data-concept="c"] .showcase-browser-head { border-color:#ffffff51; }
html[data-concept="c"] .showcase-browser-head span+span,html[data-concept="c"] .showcase-browser-text>span { color:#d0dced; }
html[data-concept="c"] .showcase-browser-text em,html[data-concept="c"] .showcase-browser-text small { color:#bed0fa; }
html[data-concept="c"] .showcase-browser-art { opacity:.12; }
html[data-concept="c"] .showcase-browser-text b { color:#17243c; background:#dae7ff; }
html[data-concept="c"] .process { color:#f6f8ff; background:linear-gradient(145deg,#455d99,#293e73 72%,#17294f); }
html[data-concept="c"] .process .section-label,html[data-concept="c"] .process-step-number { color:#c9d7ff; }
html[data-concept="c"] .process-intro p,html[data-concept="c"] .process-step p { color:#d7e0f5; }
html[data-concept="c"] .process-step h3 { color:#fff; }
html[data-concept="c"] .process-steps,html[data-concept="c"] .process-step { border-color:#e5edff66; }

@media (max-width:900px) {
  html[data-concept="c"] .c-story { height:245svh; }
  .c-story-start { top:9%; }
  .c-story-start h1 { font-size:clamp(56px,9vw,82px); }
  .c-story-reveal { top:auto; right:6%; bottom:12%; width:min(78%,610px); }
  html[data-concept="c"] .service,html[data-concept="c"] .service:nth-child(even) { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto minmax(440px,60svh); min-height:0; padding:74px 0; }
  html[data-concept="c"] .service-number,html[data-concept="c"] .service:nth-child(even) .service-number { grid-column:1; grid-row:1; }
  html[data-concept="c"] .service h3,html[data-concept="c"] .service:nth-child(even) h3 { grid-column:1; grid-row:2; max-width:660px; margin-bottom:16px; }
  html[data-concept="c"] .service p,html[data-concept="c"] .service:nth-child(even) p { grid-column:1; grid-row:3; max-width:600px; margin-bottom:34px; }
  html[data-concept="c"] .service-media,html[data-concept="c"] .service:nth-child(even) .service-media { grid-column:1; grid-row:4; min-height:440px; }
  html[data-concept="c"] .service:nth-child(3) { grid-template-rows:auto auto minmax(440px,60svh) auto; padding:80px 0 0; }
  html[data-concept="c"] .service:nth-child(3) .service-media { grid-row:3; min-height:440px; }
  html[data-concept="c"] .service:nth-child(3) p { grid-row:4; margin:24px 0 0; }
}
@media (max-width:720px) {
  .review { flex-wrap:wrap; }
  .review-controls { width:100%; justify-content:space-between; }
  .review-controls button { flex:1; }
}
@media (max-width:600px) {
  html[data-concept="c"] .site-header-inner { min-height:69px; }
  html[data-concept="c"] .c-story { height:235svh; }
  html[data-concept="c"] .c-story-sticky { min-height:0; }
  .c-story-start { top:8%; width:calc(100% - 38px); }
  .c-story-start .eyebrow { font-size:9px; }
  .c-story-start h1 { max-width:440px; margin-bottom:20px; font-size:clamp(46px,11.5vw,66px); }
  .c-scroll-hint { margin-top:19px; font-size:9px; }
  .c-frame-top { height:25px; padding:0 10px; font-size:7px; }
  .c-story-reveal { right:19px; left:19px; bottom:10%; width:auto; }
  .c-story-reveal h2 { font-size:clamp(39px,9.2vw,58px); }
  .c-story-reveal p { font-size:14px; }
  html[data-concept="c"] .intro { padding:80px 0 45px; }
  html[data-concept="c"] .intro h2 { font-size:clamp(43px,10vw,62px); }
  html[data-concept="c"] .intro p { font-size:14px; }
  html[data-concept="c"] .services { padding-bottom:75px; }
  html[data-concept="c"] .service,html[data-concept="c"] .service:nth-child(2) { grid-template-rows:auto auto auto minmax(360px,53svh); margin:0; padding:60px 0; }
  html[data-concept="c"] .service h3 { font-size:clamp(40px,10vw,56px); }
  html[data-concept="c"] .service p { font-size:15px; }
  html[data-concept="c"] .service-media,html[data-concept="c"] .service:nth-child(2) .service-media { min-height:360px; border-radius:18px; }
  html[data-concept="c"] .service-float { top:14%; left:7%; width:75%; min-height:170px; padding:18px; border-radius:14px; }
  html[data-concept="c"] .service-float strong { font-size:20px; }
  html[data-concept="c"] .service:nth-child(3) { grid-template-rows:auto auto minmax(360px,53svh) auto; padding:70px 0 0; }
  html[data-concept="c"] .service:nth-child(3) h3 { margin-bottom:26px; }
  html[data-concept="c"] .service:nth-child(3) .service-media { min-height:360px; }
}
@media (prefers-reduced-motion:reduce), (max-height:560px) and (orientation:landscape) {
  html[data-concept="c"] .c-story { height:auto; min-height:calc(100svh - var(--snap-offset)); }
  html[data-concept="c"] .c-story-sticky { position:relative; top:auto; min-height:calc(100svh - var(--snap-offset)); }
  .c-expanding-frame { inset:0; border:0; border-radius:0; box-shadow:none; will-change:auto; }
  .c-frame-top,.c-story-reveal,.c-scroll-hint { display:none; }
  .c-frame-shade { opacity:1; }
  .c-story-start { top:24%; opacity:1; transform:translateX(-50%); }
  .c-static-description { display:block; max-width:590px; margin:0 auto 25px; color:#dce6f5; font-size:16px; line-height:1.55; }
  html[data-concept="c"] .service,html[data-concept="c"] .service-media img { transform:none; will-change:auto; }
}
@media (max-height:560px) and (orientation:landscape) {
  html[data-concept="c"] .c-story-sticky { height:auto; overflow:hidden; }
  .c-story-start { position:relative; top:auto; left:auto; width:min(100% - 44px,1080px); margin:0 auto; padding:30px 0 38px; transform:none; }
  .c-story-start h1 { font-size:clamp(42px,6vw,68px); }
}
html[data-concept="c"]:not(.has-js) .c-story { height:auto; min-height:calc(100svh - var(--snap-offset)); }
html[data-concept="c"]:not(.has-js) .c-story-sticky { position:relative; top:auto; min-height:calc(100svh - var(--snap-offset)); }
html[data-concept="c"]:not(.has-js) .c-expanding-frame { inset:0; border:0; border-radius:0; box-shadow:none; }
html[data-concept="c"]:not(.has-js) .c-frame-top,html[data-concept="c"]:not(.has-js) .c-story-reveal,html[data-concept="c"]:not(.has-js) .c-scroll-hint { display:none; }
html[data-concept="c"]:not(.has-js) .c-frame-shade { opacity:1; }
html[data-concept="c"]:not(.has-js) .c-story-start { top:24%; opacity:1; transform:translateX(-50%); }
html[data-concept="c"]:not(.has-js) .c-static-description { display:block; max-width:590px; margin:0 auto 25px; color:#dce6f5; font-size:16px; line-height:1.55; }
