@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --red:#d9262d;
  --dark:#050505;
  --text:#151515;
  --line:#dfb1b4;
  --white:#fff;
  --container:1248px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--container),92%);margin:auto}
.kicker{font-family:'Inter',sans-serif;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--red);text-transform:uppercase}
.line{width:62px;height:2px;background:var(--red);margin:34px 0}

/* HERO */
.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#020202 0%,#020202 39.6%,#111111 51%,#1a1a1a 68%,#0d0d0d 100%);color:#fff;min-height:630px}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
radial-gradient(circle at 78% 25%,rgba(255,255,255,.13),rgba(255,255,255,0) 22%),
linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.17) 21%,rgba(0,0,0,.03) 47%,rgba(0,0,0,0) 60%),
linear-gradient(90deg,#020202 0%,#020202 38.8%,rgba(2,2,2,.90) 42.8%,rgba(2,2,2,.55) 47%,rgba(2,2,2,.10) 55%,rgba(2,2,2,0) 61%)}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(56px,6vw,92px);background:linear-gradient(180deg,rgba(5,5,5,.95),rgba(5,5,5,.78));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.04)}
.brand{flex:0 0 auto;display:flex;align-items:center}
.brand-logo{width:clamp(132px,12vw,178px);height:auto}
.menu{display:flex;align-items:center;justify-content:flex-end;gap:clamp(24px,3.5vw,54px);flex:1;min-width:0;margin-left:40px}
.menu a{font-family:'Inter',sans-serif;font-size:clamp(10px,.82vw,12px);font-weight:800;text-transform:uppercase;color:#f6f6f6;letter-spacing:.015em;padding:0;position:relative;white-space:nowrap;line-height:1}
.menu a.active::after,.menu a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:2px;background:var(--red)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,39%) minmax(0,61%);align-items:center;min-height:590px;padding:120px 0 38px}
.hero-copy{position:relative;max-width:520px;padding-top:20px}
.hero-title{font-family:'Barlow Condensed','Oswald',sans-serif;font-size:clamp(4rem,5.05vw,5.25rem);line-height:.92;font-weight:600;text-transform:uppercase;letter-spacing:.006em;margin:26px 0 22px;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.hero-title .accent{color:var(--red);font-weight:600}
.hero-text{max-width:440px;font-family:'Inter',sans-serif;font-size:16px;line-height:1.55;color:#dddddd;margin:0}
.btn-outline{display:inline-flex;align-items:center;gap:16px;padding:19px 24px;border:1px solid rgba(255,255,255,.84);color:#fff;font-family:'Inter',sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;transition:.25s ease;background:transparent}
.btn-outline:hover{background:#fff;color:#111}
.hero-media{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:510px}
.hero-media::before{content:"";position:absolute;inset:0;background:
linear-gradient(90deg,rgba(2,2,2,.88) 0%,rgba(2,2,2,.58) 8%,rgba(2,2,2,.12) 18%,rgba(2,2,2,0) 32%),
radial-gradient(circle at 59% 29%,rgba(255,255,255,.08),rgba(255,255,255,0) 44%);
pointer-events:none;z-index:2}
.hero-media::after{display:none}
.hero-glow{position:absolute;right:3%;top:0;width:96%;height:100%;background:radial-gradient(circle at 58% 44%,rgba(255,255,255,.14),rgba(255,255,255,.02) 38%,rgba(255,255,255,0) 67%);filter:blur(10px);pointer-events:none;z-index:1}
.hero-camera{position:relative;z-index:3;width:min(112%,950px);max-width:none;margin-top:12px;margin-right:-20px;filter:drop-shadow(0 26px 40px rgba(0,0,0,.45))}
.scroll-indicator{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:18px;height:34px;border:1.7px solid rgba(255,255,255,.42);border-radius:16px;z-index:2}
.scroll-indicator::before{content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);width:4px;height:8px;border-radius:8px;background:rgba(255,255,255,.74)}

/* GENERIC SECTIONS */

#inicio,#servicios,#portafolio,#valor,#contacto{scroll-margin-top:110px}
.section{padding:82px 0}
.two-col{display:grid;grid-template-columns:1.02fr .98fr;align-items:start;gap:56px}
.section-intro h2{font-family:'Oswald',sans-serif;font-size:3rem;line-height:.96;letter-spacing:-.02em;font-weight:600;text-transform:none;margin:10px 0 0;max-width:540px}
.intro-copy{display:flex;align-items:flex-start;justify-content:flex-end}
.intro-copy p{margin:6px 0 0;padding-left:38px;border-left:1px solid var(--line);color:#5b5b5b;font-family:'Inter',sans-serif;font-size:14px;line-height:1.65;max-width:430px}

/* SERVICES */
.services-section{background:#fff}
.services-section .kicker{font-size:12px;letter-spacing:.1em}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:34px;background:#fff}
.service-card{position:relative;min-height:380px;overflow:hidden;background:#121212;color:#fff;isolation:isolate}
.service-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.06);z-index:1;pointer-events:none}
.slider,.card-overlay{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.service-card:hover .slide.active img{transform:scale(1.04)}
.card-overlay{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.08) 22%,rgba(0,0,0,.34) 62%,rgba(0,0,0,.78) 100%)}
.service-info{position:absolute;left:20px;right:86px;bottom:18px;z-index:3}
.service-info small{display:block;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#f1f1f1;margin-bottom:4px}
.service-info h3{font-family:'Oswald',sans-serif;font-size:1.9rem;line-height:.94;font-weight:600;text-transform:uppercase;margin:0 0 16px;letter-spacing:.01em}
.more{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.more::before{content:"";display:inline-block;width:22px;height:1px;background:var(--red)}
.slider-control{position:absolute;right:16px;z-index:4;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.28);color:#fff;cursor:pointer;transition:transform .25s ease, background .25s ease, border-color .25s ease}
.slider-control.prev{bottom:58px}
.slider-control.next{bottom:18px}
.slider-control:hover{transform:translateY(-1px);background:rgba(217,38,45,.88);border-color:rgba(217,38,45,.95)}
.slider-control i{font-size:15px;line-height:1}

/* VALUE */
.value-section{position:relative;background:#050505;color:#fff;overflow:hidden;padding:34px 0 36px;min-height:408px;display:flex;align-items:center}.value-section::before{content:"";position:absolute;left:0;top:0;bottom:0;width:46%;background:linear-gradient(90deg,rgba(5,5,5,.02) 0%,rgba(5,5,5,.10) 54%,rgba(5,5,5,.88) 100%),linear-gradient(180deg,rgba(5,5,5,.18),rgba(5,5,5,.28)),url('../img/hero-camera-fade-full.webp') left center/cover no-repeat;opacity:.92;filter:saturate(.95) contrast(1.08)}.value-section::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 45%,rgba(255,255,255,.04),rgba(255,255,255,0) 28%),linear-gradient(90deg,rgba(5,5,5,0) 0%,rgba(5,5,5,.06) 38%,#050505 52%,#050505 100%);pointer-events:none}.value-grid{position:relative;z-index:2;display:grid;grid-template-columns:43% 57%;gap:54px;align-items:center}.value-visual{min-height:305px}.value-copy{max-width:725px;padding:8px 0 0}.value-copy .kicker{font-size:11px;letter-spacing:.08em;margin-bottom:8px}.value-copy h2{font-family:'Inter',sans-serif;font-size:clamp(2rem,3.35vw,3rem);line-height:1.04;font-weight:500;text-transform:none;letter-spacing:-.035em;margin:0 0 16px;max-width:610px}.value-copy h2 .accent{color:var(--red);font-weight:700}.value-copy p{font-family:'Inter',sans-serif;color:#d0d0d0;font-size:13px;line-height:1.65;margin:0;max-width:610px}.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:28px;padding-top:19px;border-top:1px solid rgba(255,255,255,.34)}.benefit{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:flex-start}.benefit i{width:34px;height:34px;border:1.5px solid rgba(255,255,255,.9);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:#fff}.benefit h4{font-family:'Inter',sans-serif;margin:0 0 7px;font-size:13px;line-height:1.18;font-weight:800;text-transform:none;letter-spacing:-.01em;color:#fff}.benefit p{font-family:'Inter',sans-serif;margin:0;font-size:12px;line-height:1.48;color:#c8c8c8}

@media (max-width: 1180px){
  .value-section{min-height:auto;padding:46px 0}.value-grid{grid-template-columns:40% 60%;gap:36px}.value-section::before{width:45%;background-position:left center}.benefits{gap:18px}.benefit{grid-template-columns:32px 1fr}.benefit i{width:30px;height:30px;font-size:17px}.benefit h4{font-size:12px}.benefit p{font-size:11px}
}
@media (max-width: 900px){
  .value-section{padding:54px 0}.value-section::before{width:100%;opacity:.25;background-position:left center}.value-section::after{background:linear-gradient(90deg,rgba(5,5,5,.72),rgba(5,5,5,.96))}.value-grid{grid-template-columns:1fr;gap:0}.value-visual{display:none}.value-copy{max-width:none}.benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .value-copy h2{font-size:2.15rem}.benefits{grid-template-columns:1fr;gap:18px}.benefit{grid-template-columns:34px 1fr}.benefit i{width:32px;height:32px}
}

/* CTA */
.cta-section{background:#fafafa;overflow:hidden;padding:58px 0 44px}.cta-grid{display:grid;grid-template-columns:1fr 1fr 270px;align-items:center;gap:44px}.cta-grid h2{font-family:'Oswald',sans-serif;font-size:2.65rem;line-height:.95;font-weight:600;text-transform:uppercase;letter-spacing:.01em;margin:12px 0 0}.cta-grid h2 .accent{color:var(--red);font-weight:600}.cta-copy-block p{font-family:'Inter',sans-serif;margin:6px 0 18px;padding-left:42px;border-left:1px solid var(--line);color:#575757;font-size:14px;line-height:1.6}.btn-red{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;background:var(--red);border:1px solid var(--red);color:#fff;font-family:'Inter',sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.photographer{width:100%;height:176px;background:url('../img/photographer.svg') center bottom/contain no-repeat}

/* FOOTER */
.footer{background:#050505;color:#fff;padding:20px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-logo{width:118px}.social{display:flex;align-items:center;gap:18px}.social a{font-size:22px;color:#fff;opacity:.9}.footer small{font-family:'Inter',sans-serif;font-size:11px;color:#c6c6c6}

/* ADMIN */
.admin-body{background:#f3f4f6;min-height:100vh}.admin-login{max-width:430px;margin:7vh auto;background:#fff;padding:35px;border-radius:18px;box-shadow:0 20px 50px #0002}.admin-login input,.form-control,select,textarea{width:100%;padding:13px;border:1px solid #ddd;border-radius:10px;margin:7px 0 15px;font:inherit}.admin-btn{border:0;background:#111;color:#fff;border-radius:10px;padding:13px 18px;font-weight:800;cursor:pointer}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#060606;color:#fff;padding:28px}.sidebar .logo{font-weight:900;font-size:34px;letter-spacing:-1px;line-height:.8}.sidebar .logo span{color:var(--red)}.sidebar .logo small{display:block;font-size:11px;letter-spacing:9px;margin-left:6px}.sidebar a{display:block;padding:13px 14px;border-radius:9px;margin:7px 0;color:#ddd}.sidebar a:hover,.sidebar a.active{background:var(--red);color:#fff}.content{padding:34px}.panel{background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 30px #00000010;margin-bottom:20px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left;font-size:14px;vertical-align:top}.thumb{width:110px;height:70px;object-fit:cover;border-radius:10px}.alert{padding:14px 16px;border-radius:10px;margin:0 0 16px}.alert.ok{background:#ebfff1;color:#1e7c45}.alert.err{background:#fff1f1;color:#b52f2f}

@media (max-width: 1180px){
  .nav{padding:0 clamp(28px,4vw,56px)}.menu{gap:clamp(18px,2.6vw,32px);margin-left:28px}.hero-title{font-size:clamp(3.25rem,5vw,4.2rem)}.hero-inner{grid-template-columns:42% 58%;padding-top:118px}.two-col,.cta-grid{grid-template-columns:1fr}.section-intro h2{max-width:none}.intro-copy{justify-content:flex-start}.intro-copy p,.cta-copy-block p{padding-left:26px;max-width:none}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cta-grid{grid-template-columns:1fr 1fr}.photographer{grid-column:1 / -1;max-width:270px;justify-self:end}
}
@media (max-width: 900px){
  .nav{height:auto;padding:18px 24px 16px;align-items:flex-start;gap:18px;flex-direction:column}.menu{width:100%;gap:12px 22px;flex-wrap:wrap;justify-content:flex-start;margin-left:0}.menu a.active::after,.menu a:hover::after{bottom:-8px}.hero{min-height:auto}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:148px 0 58px;gap:24px}.hero-copy{max-width:100%}.hero-title{font-size:3.2rem;max-width:690px}.hero-media{min-height:0;justify-content:center}.hero-media::before{background:radial-gradient(circle at 58% 44%,rgba(255,255,255,.07),rgba(255,255,255,0) 54%)}.hero-media::after{left:18px;top:10px}.hero-camera{width:100%;max-width:760px;margin-top:10px;margin-right:0}.section-intro h2{font-size:2.7rem}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:320px}.service-info{right:96px}.cta-grid{grid-template-columns:1fr}.photographer{justify-self:center}.footer-grid{flex-direction:column;text-align:center}
}
@media (max-width: 640px){
  .container{width:min(var(--container),94%)}.nav{padding:16px 18px 14px}.menu{gap:10px 18px}.menu a{font-size:12px}.brand-logo{width:128px}.kicker{font-size:12px;letter-spacing:3px}.hero-title{font-size:2.7rem;line-height:.97}.hero-text{font-size:15px}.btn-outline,.btn-red{width:100%;justify-content:center}.section{padding:54px 0}.section-intro h2,.value-copy h2,.cta-grid h2{font-size:2.2rem}.intro-copy p{padding-left:18px}.service-card{min-height:290px}.service-info{left:16px;right:82px;bottom:16px}.service-info h3{font-size:1.75rem}.slider-control{width:32px;height:32px;right:14px}.slider-control.prev{bottom:54px}.slider-control.next{bottom:14px}.benefits{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}
}

/* CTA FINAL - ajuste cuarta franja según propuesta */
.cta-section{
  background:#f7f7f7;
  padding:0;
  min-height:193px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cta-section .container{
  width:min(980px,92%);
}
.cta-grid{
  min-height:193px;
  display:grid;
  grid-template-columns:300px 1fr 315px;
  align-items:center;
  gap:48px;
  position:relative;
}
.cta-grid > div:first-child{
  align-self:center;
}
.cta-grid .kicker{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  margin-bottom:14px;
}
.cta-grid h2{
  font-family:'Inter',sans-serif;
  font-size:clamp(2.1rem,3vw,2.95rem);
  line-height:1.02;
  font-weight:600;
  text-transform:none;
  letter-spacing:-.045em;
  margin:0;
  color:#121212;
}
.cta-grid h2 .accent{
  display:block;
  color:var(--red);
  font-weight:600;
}
.cta-copy-block{
  align-self:center;
  min-height:90px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:48px;
  border-left:1px solid var(--line);
}
.cta-copy-block p{
  margin:0 0 18px;
  padding-left:0;
  border-left:0;
  max-width:295px;
  color:#4e4e4e;
  font-size:13px;
  line-height:1.58;
}
.btn-red{
  align-self:flex-start;
  min-width:196px;
  min-height:38px;
  padding:12px 20px;
  border-radius:0;
  box-shadow:0 10px 22px rgba(217,38,45,.15);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.btn-red:hover{
  transform:translateY(-1px);
  background:#c91f25;
  box-shadow:0 14px 28px rgba(217,38,45,.22);
}
.photographer{
  width:385px;
  height:193px;
  justify-self:end;
  align-self:end;
  margin-right:-42px;
  background:url('../img/cta-photographer-proposal.webp') center bottom/contain no-repeat;
  filter:grayscale(100%) contrast(1.04);
}
@media (max-width: 1180px){
  .cta-grid{grid-template-columns:300px 1fr 290px;gap:34px}.photographer{width:350px;margin-right:-70px}.cta-copy-block{padding-left:38px}
}
@media (max-width: 900px){
  .cta-section{padding:52px 0 0}.cta-grid{grid-template-columns:1fr;gap:26px;min-height:auto}.cta-copy-block{border-left:1px solid var(--line);padding-left:26px}.photographer{width:min(385px,100%);height:185px;margin-right:0;justify-self:center}.cta-copy-block p{max-width:none}.cta-grid h2{font-size:2.55rem}
}
@media (max-width: 640px){
  .cta-section{padding:48px 0 0}.cta-grid .kicker{letter-spacing:.08em}.cta-grid h2{font-size:2.25rem}.cta-copy-block{padding-left:20px}.btn-red{width:100%}.photographer{height:170px;background-size:contain}
}
