:root {
  --black: #111111;
  --ink: #111111;
  --gray-900: #242424;
  --gray-700: #555553;
  --gray-400: #8c8c89;
  --gray-200: #d9d9d7;
  --gray-100: #f7f6f3;
  --white: #f7f6f3;
  --accent: #b5a58f;
  --accent-soft: rgba(181,165,143,.26);
  --line: rgba(255,255,255,.16);
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--white); font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1.5; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3,.brand { font-family: "Manrope", sans-serif; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 20; height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px,5vw,76px); border-bottom: 1px solid var(--line); background: rgba(9,9,9,.82); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 13px; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.55); font-size: 11px; letter-spacing: .08em; }
.brand-name { font-size: 15px; }
.main-nav { display: flex; align-items: center; gap: clamp(20px,2.8vw,44px); font-size: 14px; }
.main-nav a { color: #cfcfcf; transition: color .2s; }
.main-nav a:hover { color: var(--white); }
.main-nav .nav-cta { padding: 11px 18px; border: 1px solid var(--white); color: var(--white); }
.menu-toggle { display: none; color: white; background: none; border: 0; }

.hero { min-height: 820px; padding: 152px clamp(24px,5vw,76px) 72px; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.08fr .82fr; gap: clamp(40px,7vw,110px); align-items: center; }
.eyebrow,.section-index,.project-info>span,.case-title>span { font-size: 12px; letter-spacing: .18em; font-weight: 600; }
.eyebrow { color: var(--gray-400); margin-bottom: 28px; }
.hero h1 { max-width: 790px; font-size: clamp(52px,6.2vw,92px); line-height: .98; letter-spacing: -.065em; margin-bottom: 30px; }
.hero h1 span { color: var(--gray-400); font-weight: 500; }
.hero-intro { max-width: 630px; color: #b8b8b8; font-size: clamp(17px,1.35vw,20px); line-height: 1.65; }
.hero-actions { display: flex; gap: 28px; align-items: center; margin: 38px 0 60px; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 21px; font-weight: 600; font-size: 14px; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-light { color: var(--black); background: var(--white); }
.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom: 1px solid #737373; padding-bottom: 7px; font-size: 14px; }
.icon-arrow { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.icon-arrow-horizontal { width:17px; height:17px; }
.hero-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding-top: 25px; border-top: 1px solid var(--line); }
.hero-stats div { display: flex; flex-direction: column; }
.hero-stats strong { font-family: "Manrope"; font-size: 27px; }
.hero-stats span { color: var(--gray-400); font-size: 12px; }
.hero-media { position: relative; display: flex; justify-content: center; }
.media-frame { border: 1px solid #3b3b3b; background: #171717; position: relative; overflow: hidden; }
.media-frame::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.08); pointer-events:none; }
.media-frame-hero { width: min(100%,430px); aspect-ratio: .74; padding: 22px; transform: rotate(2deg); }
.media-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #777; background: linear-gradient(135deg,#1b1b1b,#101010); border: 1px dashed #414141; }
.media-placeholder p { margin: 16px 0 2px; font-size: 12px; letter-spacing: .17em; font-weight: 600; }
.media-placeholder small { max-width: 210px; color: #686868; }
.play-icon { display: grid; place-items: center; width: 58px; height: 58px; padding-left: 4px; border: 1px solid #5a5a5a; border-radius: 50%; font-size: 16px; }
.frame-label { position: absolute; left: 22px; bottom: 8px; color: #777; font-size: 9px; letter-spacing: .2em; }
.orbit-label { position: absolute; right: -20px; bottom: 8%; writing-mode: vertical-rl; font-size: 10px; letter-spacing: .3em; color: #686868; }

.section-pad { padding: clamp(84px,10vw,150px) clamp(24px,5vw,76px); }
.section-index { color: #777; margin-bottom: 44px; }
.about { max-width: var(--max); margin: 0 auto; border-top: 1px solid var(--line); }
.about-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px,9vw,140px); align-items: center; }
.about-portrait { aspect-ratio: 4 / 5; max-width: 430px; width: 100%; margin: 0; overflow: hidden; background: #d9d9d9; }
.about-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; }
.kicker { color: #9a9a9a; }
.about h2,.section-heading h2 { font-size: clamp(40px,5vw,72px); line-height: 1.04; letter-spacing: -.055em; margin-bottom: 46px; }
.copy-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; color: #adadad; line-height: 1.75; }
.role-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.role-list span { border: 1px solid #3d3d3d; padding: 9px 13px; color: #d4d4d4; font-size: 13px; }

.brand-showcase { background:var(--black); color:var(--white); overflow:hidden; }
.brand-showcase-heading { max-width:var(--max); margin:0 auto 54px; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.brand-showcase-heading h2 { max-width:980px; margin:0; font-size:clamp(42px,5vw,72px); line-height:1.05; }
.brand-showcase .section-index { color:var(--accent); margin-bottom:26px; }
.marquee-toggle { flex:0 0 auto; padding:11px 16px; border:1px solid var(--accent); background:transparent; color:var(--white); font:600 12px "DM Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s; }
.marquee-toggle:hover,.marquee-toggle:focus-visible { background:var(--accent); color:var(--black); }
.brand-marquee { width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent); }
.brand-track { display:flex; width:max-content; animation:brands-to-right 96s linear infinite; will-change:transform; }
.brand-sequence { display:flex; gap:20px; padding-right:20px; }
.brand-card { flex:0 0 clamp(190px,20vw,280px); width:clamp(190px,20vw,280px); aspect-ratio:3 / 4; margin:0; overflow:hidden; padding:4px; background:#171717; border:1px solid rgba(181,165,143,.8); box-shadow:0 10px 30px rgba(0,0,0,.2); }
.brand-card img { display:block; width:100%; height:100%; object-fit:cover; }
.brand-marquee:hover .brand-track,.brand-marquee:focus-within .brand-track,.brand-showcase.is-paused .brand-track { animation-play-state:paused; }
@keyframes brands-to-right { from { transform:translateX(calc(-50% - 10px)); } to { transform:translateX(0); } }

.process { background: var(--gray-100); color: var(--ink); }
.process .section-heading,.services .section-heading { max-width: var(--max); margin: 0 auto; }
.process .section-index,.services .section-index { color: #777; }
.process-list { max-width: var(--max); margin: 30px auto 0; list-style:none; padding:0; border-top:1px solid #bdbdbd; }
.process-list li { display:grid; grid-template-columns: 1fr 40px; gap:20px; padding:29px 0; border-bottom:1px solid #bdbdbd; align-items:center; }
.process-list li div { display:grid; grid-template-columns: .8fr 1.2fr; align-items:center; gap:30px; }
.process-list h3 { margin:0; font-size:clamp(21px,2vw,29px); letter-spacing:-.03em; }
.process-list p { margin:0; color:#666; max-width:560px; }
.process-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(17,17,17,.28); border-radius:50%; color:#555; }
.process-mark .icon-arrow { width:15px; height:15px; }
.process-mark-complete { color:var(--black); border-color:var(--accent); background:rgba(181,165,143,.2); }
.process-mark-complete svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

.portfolio { max-width: var(--max); margin: 0 auto; }
.section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.section-heading-row>p { max-width: 400px; color:#898989; line-height:1.7; margin-bottom:48px; }
.projects { display:grid; grid-template-columns:1fr 1fr; gap: clamp(35px,6vw,90px); }
.project-wide { grid-column:1/-1; width:min(100%,1050px); margin:0 auto 70px; display:grid; grid-template-columns:minmax(280px,460px) 1fr; gap:clamp(45px,8vw,120px); align-items:center; }
.project-media { background:#151515; padding:14px; }
.ratio-landscape { aspect-ratio: 1.75; }
.ratio-reel { width:100%; aspect-ratio:9/16; padding:0; overflow:hidden; background:#050505; }
.project-video { width:100%; height:100%; display:block; object-fit:contain; background:#050505; }
.ratio-vertical { aspect-ratio: .75; }
.project-info { padding:20px 0; }
.project-info>span { color:#717171; }
.project-info h3 { font-size:clamp(24px,2.5vw,36px); letter-spacing:-.035em; line-height:1.15; margin:13px 0; }
.project-info p { color:#8f8f8f; }
.project-offset { margin-top:110px; }
.case-breakdown { margin-top:140px; padding:55px; background:#f0f0f0; color:#111; display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:36px; }
.case-title span { color:#777; }
.case-title h3 { font-size:31px; line-height:1.1; margin-top:19px; }
.mini-placeholder { aspect-ratio:1; display:grid; place-items:center; background:#d1d1d1; color:#777; font-size:30px; margin-bottom:22px; }
.breakdown-step h4 { margin:0 0 8px; font-family:"Manrope"; font-size:18px; }
.breakdown-step p { color:#666; font-size:14px; }

.services { background:#d8d8d8; color:#111; }
.service-grid { max-width:var(--max); margin:30px auto 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #aaa; border-left:1px solid #aaa; }
.service-card { min-height:340px; padding:28px; border-right:1px solid #aaa; border-bottom:1px solid #aaa; display:flex; flex-direction:column; }
.service-card::before { content:""; width:34px; height:1px; background:var(--accent); }
.service-card h3 { margin-top:auto; font-size:25px; line-height:1.15; letter-spacing:-.03em; }
.service-card p { color:#666; font-size:14px; }

.testimonials { max-width:var(--max); margin:0 auto; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.testimonial { margin:0; min-height:360px; padding:34px; background:#171717; border:1px solid #282828; display:flex; flex-direction:column; }
.testimonial>span { font-family:Georgia,serif; font-size:70px; line-height:.8; color:#555; }
.testimonial>p { margin:auto 0; font-family:"Manrope"; font-size:19px; line-height:1.55; color:#ccc; }
.testimonial footer { display:flex; flex-direction:column; padding-top:24px; border-top:1px solid #363636; }
.testimonial footer small { color:#777; margin-top:3px; }
.testimonial.featured { background:#ededed; color:#111; transform:translateY(28px); }
.testimonial.featured>p { color:#333; }
.testimonial.featured footer { border-color:#bbb; }

.contact { background:var(--white); color:var(--black); display:grid; grid-template-columns:1.3fr .7fr; gap:60px; align-items:end; }
.contact h2 { font-size:clamp(44px,6vw,88px); line-height:.98; letter-spacing:-.06em; margin:0; }
.contact .eyebrow { color:#777; }
.contact-actions { display:flex; flex-direction:column; gap:10px; }
.button-dark { background:#0b0b0b; color:white; }
.button-outline { border:1px solid #111; }
.contact-actions small { color:#777; margin-top:8px; }
.contact-button { min-height:76px; display:grid; grid-template-columns:34px 1fr auto; gap:17px; align-items:center; padding:13px 18px; border:1px solid #aaa; transition:background .2s,color .2s,transform .2s; }
.contact-button:hover { background:#0b0b0b; color:#fff; transform:translateY(-2px); }
.contact-button svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.contact-button svg .icon-fill { fill:currentColor; stroke:none; }
.contact-button span { min-width:0; font-size:14px; overflow-wrap:anywhere; }
.contact-button span small { display:block; margin:0 0 2px; color:#777; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.contact-button:hover span small { color:#aaa; }
.contact-button b { font-size:18px; font-weight:400; }
.footer { max-width:var(--max); margin:0 auto; padding:55px clamp(24px,5vw,76px); display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; align-items:start; color:#929292; }
.footer-brand { color:white; }
.footer p { font-size:13px; }
.footer-links { display:flex; justify-content:flex-end; gap:20px; font-size:13px; }
.footer>small { grid-column:1/-1; padding-top:30px; border-top:1px solid var(--line); }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .site-header { height:72px; }
  .menu-toggle { display:flex; flex-direction:column; gap:6px; padding:10px; }
  .menu-toggle span:not(.sr-only) { width:24px; height:1px; background:white; }
  .main-nav { display:none; position:absolute; top:72px; left:0; right:0; background:#101010; padding:28px; flex-direction:column; align-items:flex-start; border-bottom:1px solid #333; }
  .main-nav.open { display:flex; }
  .hero { grid-template-columns:1fr; padding-top:125px; }
  .hero-media { max-width:520px; justify-self:center; width:100%; }
  .media-frame-hero { aspect-ratio:.9; }
  .about-grid { grid-template-columns:1fr; }
  .about-portrait { max-width:520px; }
  .process-list li div { grid-template-columns:1fr; gap:5px; }
  .project-wide { grid-template-columns:1fr; }
  .case-breakdown { grid-template-columns:1fr 1fr; }
  .case-title { grid-column:1/-1; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .testimonial-grid { grid-template-columns:1fr; }
  .testimonial.featured { transform:none; }
  .contact { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .brand-name { display:none; }
  .hero { min-height:auto; }
  .hero h1 { font-size:47px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-stats { grid-template-columns:1fr; }
  .hero-stats div { display:grid; grid-template-columns:74px 1fr; align-items:center; }
  .copy-columns,.projects,.case-breakdown,.service-grid { grid-template-columns:1fr; }
  .project-wide,.case-title { grid-column:auto; }
  .project-offset { margin-top:15px; }
  .case-breakdown { margin-top:80px; padding:28px; }
  .section-heading-row { display:block; }
  .section-heading-row>p { margin-bottom:40px; }
  .process-list li { grid-template-columns:1fr 34px; gap:12px; }
  .service-card { min-height:270px; }
  .footer { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; flex-wrap:wrap; }
  .footer>small { grid-column:auto; }
  .brand-showcase-heading { align-items:flex-start; flex-direction:column; }
  .brand-showcase-heading h2 { font-size:42px; }
  .brand-card { flex-basis:210px; width:210px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .brand-marquee { overflow-x:auto; mask-image:none; }
  .brand-track { animation:none; }
  .brand-sequence[aria-hidden="true"] { display:none; }
  .marquee-toggle { display:none; }
}

/* Dirección editorial inspirada en la referencia de estudio */
h1,h2,.project-info h3,.service-card h3,.case-title h3 {font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;letter-spacing:-.035em;}
.brand-logo {width:clamp(230px,22vw,315px);height:58px;display:block;object-fit:contain;object-position:left center;}
.hero {max-width:none;background:#e4e4e4;color:#111;grid-template-columns:1fr 1fr;gap:70px;min-height:760px;}
.hero h1 {font-size:clamp(50px,5.3vw,80px);line-height:1.06;max-width:680px;}
.hero h1 span {color:#555;}
.hero-intro {color:#555;font-size:17px;max-width:530px;}
.hero .eyebrow {color:#666;}
.hero .button-light {background:#171717;color:white;}
.hero-stats {border-color:#bbb;}
.hero-stats span {color:#666;}
.hero-media {align-self:stretch;}
.media-frame-hero {transform:none;width:min(100%,520px);aspect-ratio:4/5;max-height:none;padding:0;border:0;background:#ccc;}
.media-frame-hero::before {display:none;}
.hero-portrait {width:100%;height:100%;display:block;object-fit:cover;}
.portrait-label {font-family:"Cormorant Garamond",serif;font-size:70px;color:#888;}
.orbit-label {display:none;}
.about {max-width:none;background:#fafafa;color:#161616;}
.about h2,.section-heading h2 {font-size:clamp(46px,5vw,76px);line-height:1.06;}
.about .copy-columns {color:#666;}
.about .role-list span {color:#555;border-color:#ccc;}
.process {background:#202020;color:white;}
.process-list {border-color:#555;}
.process-list li {border-color:#555;padding:38px 0;}
.process-list p {color:#aaa;}
.process-list h3 {font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:400;}
.portfolio {max-width:none;background:#ececec;color:#151515;}
.project-info p {color:#666;}
.case-breakdown {background:#fff;}
.services {background:#171717;color:#eee;}
.service-card h3 {font-size:34px;}
.service-card p {color:#aaa;}
.service-grid,.service-card {border-color:#484848;}
.testimonials {max-width:none;background:#fafafa;color:#111;}
.testimonial {background:#eee;border-color:#ddd;}
.testimonial>p {color:#555;}
.testimonial footer {border-color:#ccc;}
.testimonial.featured {background:#202020;color:white;}
.testimonial.featured>p {color:#eee;}
.contact {background:#d7d7d7;}
.contact h2 {font-family:"Cormorant Garamond",serif;font-size:clamp(48px,6vw,86px);line-height:1.08;}
section[id] {scroll-margin-top:85px;}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px}.hero-media{max-width:600px}.hero h1{font-size:58px}}
@media(max-width:600px){.hero h1{font-size:48px}.brand-logo{width:210px;height:48px}.hero-stats{grid-template-columns:1fr}}

.pauta-preview { display:block; margin-bottom:22px; }
.pauta-preview img { display:block; width:100%; height:auto; }
.pauta-preview:focus-visible { outline:2px solid #111; outline-offset:5px; }

.result-video { display:block; width:100%; aspect-ratio:512 / 910; object-fit:contain; background:#050505; margin-bottom:22px; }

/* Paleta elegante: negro, blanco cálido, grises y champagne grisáceo */
.site-header { border-bottom-color: var(--accent-soft); }
.main-nav a:hover,
.main-nav a:focus-visible { color: var(--accent); }
.main-nav .nav-cta { border-color: var(--accent); }
.main-nav .nav-cta:hover,
.main-nav .nav-cta:focus-visible { background: var(--accent); color: var(--black); }
.hero { background: var(--gray-100); }
.hero .button-light { background: var(--accent); color: var(--black); }
.hero .button-light:hover,
.hero .button-light:focus-visible { background: #c3b49f; }
.text-link { border-bottom-color: var(--accent); }
.hero-stats { border-top-color: var(--accent); }
.section-index,
.process-list li > span,
.process-list li > b,
.service-card > span { color: var(--accent); }
.role-list span:hover { border-color: var(--accent); color: var(--black); }
.process-list,
.process-list li { border-color: var(--accent-soft); }
.portfolio { background: #e9e8e5; }
.case-breakdown { background: var(--gray-100); border-top: 4px solid var(--accent); }
.case-title > span { color: var(--gray-700); }
.breakdown-step h4 { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 6px; text-decoration-thickness: 2px; }
.service-grid,
.service-card { border-color: var(--accent-soft); }
.testimonial > span { color: var(--accent); }
.testimonial.featured { border-top: 4px solid var(--accent); }
.contact { background: var(--gray-200); }
.contact-button { border-color: var(--accent); }
.contact-button:hover,
.contact-button:focus-visible { background: var(--accent); color: var(--black); }
.contact-button:hover span small,
.contact-button:focus-visible span small { color: var(--gray-700); }
.pauta-preview:focus-visible,
.contact-button:focus-visible,
.button:focus-visible,
.main-nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

/* Llamadas a la acción destacadas */
.hero .eyebrow {
  color:var(--black);
  font-weight:700;
  text-shadow:none;
}
.whatsapp-float { position:fixed; right:clamp(18px,2.4vw,34px); bottom:clamp(18px,2.4vw,32px); z-index:60; display:inline-flex; align-items:center; gap:11px; min-height:54px; padding:0 20px; border:1px solid var(--accent); border-radius:999px; background:var(--accent); color:var(--black); box-shadow:0 12px 36px rgba(0,0,0,.28); font:700 13px "DM Sans",sans-serif; letter-spacing:.02em; transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease; }
.whatsapp-float svg { width:22px; height:22px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:translateY(-3px); background:var(--black); color:var(--accent); box-shadow:0 16px 42px rgba(0,0,0,.34); }
.whatsapp-float:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }

@media(max-width:600px){
  .whatsapp-float { right:16px; bottom:16px; min-height:50px; padding:0 17px; font-size:12px; }
  .whatsapp-float svg { width:21px; height:21px; }
}

/* Modalidades de servicios */
.service-modalities { max-width:var(--max); margin:48px auto 0; }
.service-modality { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:clamp(32px,6vw,88px); padding:56px 0; border-top:1px solid var(--accent-soft); }
.service-number { color:var(--accent); font:500 15px "Manrope",sans-serif; letter-spacing:.12em; }
.service-modality h3 { font:400 clamp(34px,3.3vw,48px)/1.1 "Cormorant Garamond",Georgia,serif; margin:20px 0; letter-spacing:-.025em; }
.service-tagline { color:var(--accent); font-size:18px; max-width:360px; }
.service-modality-body { color:#c5c5c5; font-size:16px; line-height:1.75; }
.service-modality-body p { margin:0 0 20px; }
.service-modality-body h4 { color:#eee; margin:30px 0 12px; font-size:16px; }
.service-modality-body ul { padding-left:20px; margin:0; }
.service-modality-body li { padding-left:5px; margin-bottom:8px; }
.service-modality-body li::marker { color:var(--accent); }
.service-closing { max-width:var(--max); margin:0 auto; padding-top:48px; border-top:1px solid var(--accent-soft); text-align:center; }
.service-closing h3 { font:400 clamp(32px,4vw,48px)/1.15 "Cormorant Garamond",Georgia,serif; margin:0 0 16px; }
.service-closing p { color:#c5c5c5; }
.service-contact { background:var(--accent); color:var(--black); margin-top:16px; }
.service-contact:hover { background:#c3b49f; }
@media(max-width:900px) { .service-modality { grid-template-columns:1fr; gap:20px; padding:40px 0; } .service-tagline { max-width:none; } }

/* Portadas y reproducción manual del portafolio */
.video-player { position:relative; }
.result-player { margin-bottom:22px; }
.result-player .result-video { margin-bottom:0; }
.video-start { position:absolute; inset:0 0 48px; display:grid; place-items:center; border:0; padding:0; background:transparent; color:#fff; cursor:pointer; }
.video-start[hidden] { display:none; }
.video-start span { width:64px; height:64px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.85); border-radius:50%; background:rgba(9,9,9,.65); box-shadow:0 4px 24px rgba(0,0,0,.25); transition:background .2s,transform .2s; }
.video-start svg { width:22px; height:22px; margin-left:3px; fill:currentColor; }
.video-start:hover span { background:rgba(9,9,9,.9); transform:scale(1.06); }
.video-start:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; }

/* Logo principal extendido en el pie de página */
.footer { grid-template-columns:1fr 1fr; }
.footer .footer-brand { grid-column:1 / -1; width:min(100%,620px); }
.footer .footer-logo { display:block; width:100%; height:auto; object-fit:contain; }
@media(max-width:600px) { .footer { grid-template-columns:1fr; } }
