/* ═══════════════════════════════════════════════════════════
   NADIA CRUSOE — Servicios shared styles
   ═══════════════════════════════════════════════════════════ */

/* ─── RESET & VARIABLES ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --bg:#0d0916; --bg2:#130e20;
  --fg:#f8f2fc; --fg-dim:#dcc8ec; --fg-muted:#7a6090;
  --lila:#e5bddf; --pink:#f0b4df; --sky:#b8c8ff; --lime:#d8f382;
  --accent:var(--lila); /* overridden per-page */
}

html { scroll-behavior:smooth; }

body {
  background:var(--bg); color:var(--fg);
  font-family:'DM Sans', sans-serif; font-weight:200;
  overflow-x:hidden; cursor:none;
}

/* ─── GRAIN OVERLAY ─── */
body::after {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  background-size:200px 200px; pointer-events:none; z-index:9000;
  mix-blend-mode:overlay; opacity:0.45;
}

/* ─── CUSTOM CURSOR ─── */
.cursor {
  position:fixed; pointer-events:none; z-index:99999;
  transform:translate(-50%,-50%);
  font-size:1.2rem; line-height:1;
  transition:transform .15s ease, font-size .2s ease;
  user-select:none;
}
.cursor-ring {
  position:fixed; width:36px; height:36px;
  border:1px solid rgba(229,189,223,.25); border-radius:50%;
  pointer-events:none; z-index:99998;
  transform:translate(-50%,-50%);
  transition:width .3s, height .3s, border-color .3s, opacity .3s;
}
body.cur-hover .cursor      { font-size:1.8rem; transform:translate(-50%,-50%) rotate(20deg); }
body.cur-hover .cursor-ring { width:52px; height:52px; border-color:var(--pink); opacity:.6; }
@media (pointer:coarse) { .cursor, .cursor-ring { display:none; } }

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 48px;
}
nav::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(13,9,22,.92) 0%, transparent 100%);
  pointer-events:none;
  transition:background .4s;
}
nav.scrolled::before {
  background:rgba(13,9,22,.95);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nav-logo {
  color:var(--fg); text-decoration:none;
  display:flex; align-items:flex-end;
  line-height:1; transition:opacity .3s; position:relative; z-index:1;
}
.nav-logo:hover { opacity:.7; }
.logo-star {
  font-size:1.6rem; color:var(--lila);
  display:block; line-height:1;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), color .3s;
}
.nav-logo:hover .logo-star { transform:rotate(45deg) scale(1.2); color:var(--pink); }
.nav-links { display:flex; gap:32px; list-style:none; position:relative; z-index:1; }
.nav-links a {
  font-family:'Space Mono', monospace; font-size:.58rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--fg-muted); text-decoration:none;
  transition:color .3s;
}
.nav-links a:hover { color:var(--fg); }
.nav-burger { display:none; background:none; border:none; padding:4px; position:relative; z-index:801; cursor:none; }
.nav-burger span { display:block; width:22px; height:1px; background:var(--fg); margin:5px 0; transition:transform .3s, opacity .3s; }
@media (max-width:768px) {
  nav { padding:18px 24px; }
  .nav-links {
    display:none; flex-direction:column; gap:28px;
    position:fixed; inset:0; background:rgba(13,9,22,.97); backdrop-filter:blur(20px);
    align-items:center; justify-content:center; z-index:799;
  }
  .nav-links.open { display:flex; }
  .nav-links.open a { font-size:.9rem; }
  .nav-burger { display:block; }
  body.nav-open .nav-burger span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  body.nav-open .nav-burger span:nth-child(2) { opacity:0; }
  body.nav-open .nav-burger span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
}

/* ─── SCROLL REVEAL ─── */
.reveal {
  opacity:0;
  transform:translateY(28px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1);
}
.reveal.in-view { opacity:1; transform:none; }

/* ─── SERVICE HERO ─── */
.service-hero {
  position:relative; min-height:100vh;
  display:flex; align-items:flex-end;
  padding:0 clamp(24px,6vw,96px) clamp(64px,8vw,120px);
  overflow:hidden;
}
.service-hero-bg {
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse at 10% 20%, rgba(95,55,140,.3), transparent 50%),
    radial-gradient(ellipse at 80% 70%, rgba(var(--accent-rgb),.12), transparent 55%),
    var(--bg);
  filter:blur(60px) saturate(1.1); transform:scale(1.1);
}

/* ─── HERO CAROUSEL ─── */
.service-hero-slides {
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.service-hero-slides::after {
  content:''; position:absolute; inset:0; z-index:1;
  background:rgba(13,9,22,.48);
}
.service-hero-slides .slide {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.6s ease;
  filter:brightness(.75) saturate(1.05);
}
.service-hero-slides .slide.active { opacity:1; }
.service-hero-vignette {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 40%, transparent 20%, rgba(13,9,22,.65) 100%);
}
.service-hero-vignette-b {
  position:absolute; bottom:0; left:0; right:0; height:50%; z-index:1; pointer-events:none;
  background:linear-gradient(to top, var(--bg) 0%, transparent 100%);
}
.service-hero-content {
  position:relative; z-index:2; max-width:1100px; width:100%;
}
.service-eyebrow {
  font-family:'Space Mono', monospace; font-size:.58rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--accent); margin-bottom:20px; display:block;
}
.service-number {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(6rem,16vw,14rem); letter-spacing:-.04em; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(248,242,252,.08);
  position:absolute; right:clamp(24px,6vw,96px); bottom:clamp(64px,8vw,120px);
  user-select:none; pointer-events:none; z-index:2;
}
.service-title {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(3rem,8vw,7.5rem); letter-spacing:-.03em; line-height:.92;
  color:var(--fg); margin-bottom:24px;
}
.service-title em {
  display:block;
  font-family:'Instrument Serif', serif;
  font-style:italic; font-weight:400;
  color:transparent; -webkit-text-stroke:1.5px var(--accent);
}
.service-desc {
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:clamp(.88rem,1.4vw,1.05rem); color:var(--fg-dim);
  max-width:560px; line-height:1.72; margin-bottom:32px;
}
.service-accent-line {
  width:80px; height:2px;
  background:var(--accent);
  display:block;
}

/* ─── GALLERY SECTION ─── */
.section-gallery {
  padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);
  max-width:1400px; margin:0 auto;
}
.section-label {
  font-family:'Space Mono', monospace; font-size:.55rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--fg-muted); margin-bottom:48px; display:block;
}
.projects-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:20px;
  margin-bottom:48px;
}
.project-card {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, #130e20, #1a1330);
  aspect-ratio:4/5;
  text-decoration:none; color:var(--fg);
  display:flex; flex-direction:column; justify-content:flex-end;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(229,189,223,.06);
}
.project-card:hover { transform:translateY(-4px); }
.project-card-inner {
  position:relative; height:100%; display:flex; flex-direction:column; justify-content:flex-end;
}
.project-card-num {
  position:absolute; top:20px; left:20px;
  font-family:'Space Mono', monospace; font-size:.52rem; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(248,242,252,.25);
}
.project-card-placeholder {
  position:absolute; inset:0;
  background:linear-gradient(135deg, #130e20 0%, #1a1330 50%, #0f0c1a 100%);
  overflow:hidden;
}
.project-card-placeholder img {
  width:100%; height:100%; object-fit:cover;
  display:block; transition:transform .6s cubic-bezier(.25,1,.5,1);
}
.project-card:hover .project-card-placeholder img { transform:scale(1.05); }
.project-card-placeholder::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 30% 40%, rgba(var(--accent-rgb),.07), transparent 60%);
}
.project-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(13,9,22,.95) 0%, rgba(13,9,22,.3) 50%, transparent 100%);
  z-index:1;
}
.project-card-info {
  position:relative; z-index:2; padding:20px;
}
.project-card-tags {
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px;
}
.project-card-tag {
  font-family:'Space Mono', monospace; font-size:.44rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent);
  background:rgba(var(--accent-rgb),.1); padding:3px 8px;
  border:1px solid rgba(var(--accent-rgb),.2);
}
.project-card-title {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:1.1rem; letter-spacing:-.01em; color:var(--fg);
  margin-bottom:4px; line-height:1.15;
}
.project-card-year {
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:.75rem; color:var(--fg-muted);
}
.project-card:hover .project-card-placeholder { filter:brightness(1.08); }
.gallery-cta {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Space Mono', monospace; font-size:.58rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent); text-decoration:none;
  transition:gap .3s, opacity .3s;
}
.gallery-cta:hover { gap:16px; opacity:.7; }

/* ─── SERVICE DETAILS ─── */
.section-details {
  padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);
  border-top:1px solid rgba(229,189,223,.07);
}
.details-inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,96px);
}
.details-col-label {
  font-family:'Space Mono', monospace; font-size:.55rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--fg-muted); margin-bottom:32px; display:block;
}
.details-col-title {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(1.4rem,2.5vw,2rem); letter-spacing:-.02em;
  color:var(--fg); margin-bottom:28px; line-height:1.1;
}
.includes-list {
  list-style:none; display:flex; flex-direction:column; gap:14px;
}
.includes-list li {
  display:flex; align-items:flex-start; gap:12px;
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:.92rem; color:var(--fg-dim); line-height:1.5;
}
.includes-list li::before {
  content:'✦'; color:var(--accent); font-size:.65rem;
  flex-shrink:0; margin-top:3px;
}
.steps-list {
  list-style:none; display:flex; flex-direction:column; gap:0;
  counter-reset:steps;
}
.steps-list li {
  display:flex; align-items:flex-start; gap:20px;
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:.92rem; color:var(--fg-dim); line-height:1.5;
  padding:16px 0;
  border-bottom:1px solid rgba(229,189,223,.07);
  counter-increment:steps;
  position:relative;
}
.steps-list li:last-child { border-bottom:none; }
.steps-list li::before {
  content:counter(steps, decimal-leading-zero);
  font-family:'Space Mono', monospace; font-size:.52rem;
  letter-spacing:.1em; color:var(--accent);
  flex-shrink:0; min-width:28px; margin-top:3px;
}
.steps-list li .step-arrow {
  display:none;
}
@media (max-width:768px) {
  .details-inner { grid-template-columns:1fr; }
}

/* ─── CTA STRIP ─── */
.section-cta {
  padding:clamp(80px,10vw,140px) clamp(24px,6vw,96px);
  text-align:center; position:relative; overflow:hidden;
}
.section-cta::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(var(--accent-rgb),.06), transparent 65%),
    linear-gradient(to bottom, transparent, rgba(var(--accent-rgb),.04), transparent);
  pointer-events:none;
}
.cta-eyebrow {
  font-family:'Space Mono', monospace; font-size:.55rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--fg-muted); margin-bottom:20px; display:block;
}
.cta-title {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(2.4rem,6vw,5.5rem); letter-spacing:-.03em;
  color:var(--fg); line-height:.95; margin-bottom:40px;
}
.cta-title em {
  font-family:'Instrument Serif', serif;
  font-style:italic; font-weight:400;
  color:transparent; -webkit-text-stroke:1.5px var(--accent);
}
.cta-btn {
  display:inline-flex; align-items:center; gap:12px;
  font-family:'Space Mono', monospace; font-size:.62rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--bg); background:var(--accent);
  text-decoration:none; padding:18px 36px;
  transition:opacity .3s, transform .3s;
}
.cta-btn:hover { opacity:.85; transform:translateY(-2px); }

/* ─── FOOTER ─── */
footer {
  border-top:1px solid rgba(229,189,223,.1);
  padding:clamp(48px,6vw,80px) clamp(24px,6vw,80px) clamp(28px,4vw,40px);
  background:var(--bg2);
}
.footer-top {
  display:flex; justify-content:space-between; align-items:flex-start;
  gap:48px; margin-bottom:clamp(32px,4vw,56px); flex-wrap:wrap;
}
.footer-brand {
  display:flex; flex-direction:column; gap:0; line-height:.9;
}
.footer-nadia {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.03em; color:var(--fg);
}
.footer-crusoe {
  font-family:'Instrument Serif', serif;
  font-style:italic; font-weight:400;
  font-size:clamp(2rem,4.5vw,3.6rem);
  color:transparent; -webkit-text-stroke:1px var(--lila);
}
.footer-cols {
  display:flex; gap:clamp(32px,5vw,80px); flex-wrap:wrap;
}
.footer-col { display:flex; flex-direction:column; gap:14px; }
.footer-col-label {
  font-family:'Space Mono', monospace; font-size:.5rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--fg-muted);
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col a {
  font-family:'DM Sans', sans-serif; font-weight:200; font-size:.82rem;
  color:var(--fg-dim); text-decoration:none; transition:color .3s;
}
.footer-col a:hover { color:var(--fg); }
.footer-col span {
  font-family:'DM Sans', sans-serif; font-weight:200; font-size:.82rem;
  color:var(--fg-muted);
}
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid rgba(229,189,223,.08); padding-top:clamp(16px,2vw,24px);
}
.footer-copy {
  font-family:'Space Mono', monospace; font-size:.46rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--fg-muted);
}
.footer-star {
  font-size:1.2rem; color:var(--lila); text-decoration:none;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), color .3s;
  display:block;
}
.footer-star:hover { transform:rotate(45deg) scale(1.2); color:var(--pink); }

/* ─── BACK LINK ─── */
.back-link {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Space Mono', monospace; font-size:.52rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--fg-muted); text-decoration:none;
  transition:color .3s, gap .3s;
  position:relative; z-index:2;
  margin-bottom:48px;
}
.back-link::before { content:'←'; }
.back-link:hover { color:var(--fg); gap:12px; }

/* ─── COVER WALL (Álbumes & Portadas) ─── */
.covers-section {
  padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);
  max-width:1400px; margin:0 auto;
}
.covers-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px; margin-bottom:40px;
}
.cover-item {
  position:relative; aspect-ratio:1/1; overflow:hidden;
  display:block; text-decoration:none;
}
.cover-item img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.25,1,.5,1), filter .4s;
}
.cover-item:hover img { transform:scale(1.05); filter:brightness(.6); }
.cover-overlay {
  position:absolute; inset:0;
  display:flex; align-items:flex-end; padding:12px;
  background:linear-gradient(to top, rgba(13,9,22,.9) 0%, transparent 55%);
  opacity:0; transition:opacity .3s;
}
.cover-item:hover .cover-overlay { opacity:1; }
.cover-overlay span {
  font-family:'Space Mono', monospace; font-size:.48rem;
  letter-spacing:.15em; text-transform:uppercase; color:var(--fg);
  line-height:1.5;
}
@media (max-width:900px) { .covers-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px) { .covers-grid { grid-template-columns:repeat(2,1fr); } }

/* ─── EDITORIAL FEATURES ─── */
.editorial-features {
  padding:0 clamp(24px,6vw,96px) clamp(64px,8vw,120px);
  display:flex; flex-direction:column; gap:0;
}
.editorial-feature {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:520px; border-top:1px solid rgba(229,189,223,.08);
}
.editorial-feature--reverse { direction:rtl; }
.editorial-feature--reverse > * { direction:ltr; }
.editorial-img {
  display:block; overflow:hidden; text-decoration:none;
}
.editorial-img img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.25,1,.5,1), filter .4s;
}
.editorial-img:hover img { transform:scale(1.04); filter:brightness(.85); }
.editorial-info {
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(32px,5vw,80px);
}
.editorial-num {
  font-family:'Space Mono', monospace; font-size:.52rem; letter-spacing:.25em;
  text-transform:uppercase; color:var(--accent); margin-bottom:20px; display:block;
}
.editorial-info h2 {
  font-family:'Syne', sans-serif; font-weight:800;
  font-size:clamp(1.8rem,4vw,3.2rem); letter-spacing:-.03em;
  line-height:.95; color:var(--fg); margin-bottom:16px;
}
.editorial-info h2 em {
  font-family:'Instrument Serif', serif; font-style:italic; font-weight:400;
}
.editorial-info p {
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:.9rem; color:var(--fg-dim); line-height:1.7;
  max-width:380px; margin-bottom:24px;
}
.editorial-tags {
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:28px;
}
.editorial-tags span {
  font-family:'Space Mono', monospace; font-size:.44rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent);
  border:1px solid rgba(var(--accent-rgb),.25); padding:3px 8px;
}
.editorial-link {
  font-family:'Space Mono', monospace; font-size:.55rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--fg); text-decoration:none;
  transition:color .3s, letter-spacing .3s;
}
.editorial-link:hover { color:var(--accent); letter-spacing:.28em; }
@media (max-width:768px) {
  .editorial-feature, .editorial-feature--reverse { grid-template-columns:1fr; direction:ltr; }
  .editorial-img { min-height:280px; }
}

/* ─── VIDEO WRAP & YOUTUBE FACADE ─── */
.proj-video-wrap {
  position:relative; width:100%; padding-bottom:56.25%;
  background:#000; overflow:hidden;
}
.proj-video-wrap iframe,
.proj-video-wrap video {
  position:absolute; inset:0; width:100%; height:100%; border:none;
}
.yt-facade { cursor:pointer; }
.yt-facade .yt-thumb {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block; transition:filter .3s;
}
.yt-facade:hover .yt-thumb { filter:brightness(.75); }
.yt-play {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:72px; height:50px;
  background:rgba(0,0,0,.75); border:none; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  transition:background .3s, transform .3s;
}
.yt-facade:hover .yt-play {
  background:rgba(180,0,0,.9); transform:translate(-50%,-50%) scale(1.08);
}
.yt-play::after {
  content:''; border-style:solid;
  border-width:11px 0 11px 20px;
  border-color:transparent transparent transparent #fff;
  margin-left:5px;
}

/* ─── SERVICE VIDEOS ─── */
.service-videos {
  padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);
  max-width:1400px; margin:0 auto;
}
.service-videos-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:20px; margin-bottom:40px;
}
.service-video-item { display:flex; flex-direction:column; gap:10px; }
.service-video-label {
  font-family:'Space Mono', monospace; font-size:.5rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--fg-muted);
}
.service-video-item .proj-video-wrap { padding-bottom:56.25%; }
@media (max-width:700px) { .service-videos-grid { grid-template-columns:1fr; } }

/* ─── STATEMENT HERO (servicios sin proyectos aún) ─── */
.service-statement {
  padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);
  max-width:900px; margin:0 auto;
  border-top:1px solid rgba(229,189,223,.07);
}
.service-statement p {
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:clamp(1rem,2vw,1.2rem); color:var(--fg-dim);
  line-height:1.8; margin-bottom:20px;
}
.service-statement p + p { color:var(--fg-muted); font-size:clamp(.85rem,1.4vw,.95rem); }

/* ─── SERVICIOS A FOTÓGRAFOS — oferta lista ─── */
.foto-services-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:2px; margin-bottom:48px;
}
.foto-service-item {
  padding:32px 28px;
  border:1px solid rgba(229,189,223,.07);
  display:flex; flex-direction:column; gap:10px;
  transition:border-color .3s, background .3s;
}
.foto-service-item:hover {
  border-color:rgba(var(--accent-rgb),.2);
  background:rgba(var(--accent-rgb),.03);
}
.foto-service-item-title {
  font-family:'Syne', sans-serif; font-weight:700;
  font-size:1rem; color:var(--fg);
}
.foto-service-item-desc {
  font-family:'DM Sans', sans-serif; font-weight:200;
  font-size:.85rem; color:var(--fg-muted); line-height:1.6;
}
@media (max-width:600px) { .foto-services-grid { grid-template-columns:1fr; } }

/* ─── UTILITIES ─── */
a { cursor:none; }
