/* Shared styles for the standalone service pages (/denver-*-photography/).
   Same tokens as index.html so the pages read as one site. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --gold:#C9A84C;--gold-light:#E8C96A;--gold-dim:#8A6A28;
  --black:#0A0A0A;--off-black:#111111;--dark:#161616;
  --surface:#1A1A1A;--border:rgba(201,168,76,0.18);
  --border-hover:rgba(201,168,76,0.5);
  --text:#F0EDE6;--muted:#9A9A92;
  --display:'Cormorant Garamond',Georgia,serif;
  --body:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--text);font-family:var(--body);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:var(--gold);}

/* Nav */
nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 3rem;background:rgba(10,10,10,0.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.nav-logo{font-size:0.75rem;letter-spacing:0.4em;color:var(--gold);text-decoration:none;text-transform:uppercase;font-weight:500;}
.nav-links{display:flex;gap:2.25rem;list-style:none;}
.nav-links a{font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(--muted);}
.nav-links a:hover{color:var(--gold);}
.nav-cta{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:0.6rem 1.4rem;text-decoration:none;font-weight:500;}
.nav-cta:hover{background:var(--gold-light);}

/* Hero */
.s-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;}
.s-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.s-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,0.94) 0%,rgba(10,10,10,0.7) 50%,rgba(10,10,10,0.2) 100%),linear-gradient(to top,rgba(10,10,10,0.9) 0%,transparent 45%);}
.s-hero-inner{position:relative;z-index:1;padding:6rem 5rem 4.5rem;max-width:860px;}
.crumbs{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--gold);}
.eyebrow{font-size:0.62rem;letter-spacing:0.45em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem;}
h1{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.6rem);font-weight:300;line-height:1.05;margin-bottom:1.25rem;letter-spacing:-0.01em;}
h1 em,h2 em{font-style:italic;color:var(--gold);}
.lead{font-size:1rem;color:#C2BEB4;max-width:620px;margin-bottom:2rem;}
.btns{display:flex;gap:0.9rem;flex-wrap:wrap;}
.btn-gold,.btn-outline{display:inline-block;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;padding:1rem 2.2rem;text-decoration:none;font-family:var(--body);font-weight:500;transition:all .2s;}
.btn-gold{color:var(--black);background:var(--gold);}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{color:var(--gold);border:1px solid var(--border-hover);}
.btn-outline:hover{background:var(--gold);color:var(--black);}
.chips{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.75rem;}
.chips span{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;border:1px solid var(--border-hover);background:rgba(10,10,10,0.55);padding:0.45rem 0.9rem;}

/* Sections */
.sec{padding:5.5rem 5rem;border-top:1px solid var(--border);}
.sec.alt{background:var(--off-black);}
.sec-inner{max-width:1180px;margin:0 auto;}
h2{font-family:var(--display);font-size:clamp(1.9rem,3.6vw,3rem);font-weight:300;line-height:1.1;margin-bottom:0.5rem;}
.divider{width:40px;height:1px;background:var(--gold);opacity:.6;margin:1.25rem 0 2rem;}
.prose{max-width:760px;color:#B8B4AA;font-size:0.95rem;}
.prose p+p{margin-top:1rem;}
.prose strong{color:var(--text);font-weight:500;}

/* Offer grid */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);margin-top:2.5rem;}
.offer{background:var(--off-black);padding:2rem 1.75rem;}
.sec.alt .offer{background:var(--black);}
.offer h3{font-family:var(--display);font-size:1.45rem;font-weight:400;margin-bottom:0.4rem;}
.offer p{font-size:0.84rem;color:var(--muted);margin-bottom:1rem;}
.offer .price{font-size:0.74rem;letter-spacing:0.1em;color:var(--gold);}

/* Photos */
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(--border);padding:3px;margin-top:2.5rem;}
.photos figure{position:relative;overflow:hidden;background:var(--surface);}
.photos figure.wide{grid-column:span 2;}
.photos img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.photos figure.wide img{aspect-ratio:auto;}
.photos figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1.1rem 0.9rem;font-family:var(--display);font-size:1.1rem;background:linear-gradient(to top,rgba(10,10,10,0.85),transparent);}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem;counter-reset:step;}
.step{border-top:1px solid var(--border-hover);padding-top:1.25rem;}
.step::before{counter-increment:step;content:'0' counter(step);font-family:var(--display);font-size:2.4rem;color:var(--gold);display:block;line-height:1;margin-bottom:0.75rem;}
.step h3{font-family:var(--display);font-size:1.35rem;font-weight:400;margin-bottom:0.4rem;}
.step p{font-size:0.86rem;color:var(--muted);}

/* Areas */
.areas{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:2rem;}
.areas span{font-size:0.78rem;border:1px solid var(--border);padding:0.5rem 1rem;color:#C2BEB4;}

/* FAQ */
.faq{margin-top:2rem;max-width:860px;}
.faq details{border-bottom:1px solid var(--border);padding:1.25rem 0;}
.faq summary{font-family:var(--display);font-size:1.3rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';color:var(--gold);font-family:var(--body);}
.faq details[open] summary::after{content:'–';}
.faq details p{font-size:0.9rem;color:#B8B4AA;margin-top:0.75rem;}

/* Related + CTA + footer */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);margin-top:2rem;}
.related a{background:var(--off-black);padding:1.5rem;text-decoration:none;color:var(--text);font-family:var(--display);font-size:1.3rem;transition:background .2s;}
.related a:hover{background:var(--dark);}
.related a span{display:block;font-family:var(--body);font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:0.4rem;}
.cta{text-align:center;padding:6rem 2rem;border-top:1px solid var(--border);background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(201,168,76,0.08) 0%,transparent 70%);}
.cta h2{font-size:clamp(2.2rem,4.5vw,4rem);margin-bottom:1rem;}
.cta p{color:var(--muted);font-size:0.9rem;margin-bottom:2.25rem;}
.cta .btns{justify-content:center;}
footer{text-align:center;padding:2rem 1.5rem;border-top:1px solid var(--border);font-size:0.7rem;letter-spacing:0.08em;color:var(--muted);}
footer a{color:var(--muted);text-decoration:none;}
footer a:hover{color:var(--gold);}
footer .links{margin-bottom:0.75rem;display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;}

@media(max-width:900px){
  nav{padding:0.8rem 1rem;flex-wrap:wrap;row-gap:0.7rem;}
  .nav-links{order:3;width:100%;justify-content:space-between;gap:0.5rem;}
  .nav-links a{font-size:0.6rem;letter-spacing:0.15em;}
  .nav-cta{padding:0.5rem 1rem;}
  .s-hero{min-height:80vh;}
  .s-hero::after{background:linear-gradient(to top,rgba(10,10,10,0.95) 0%,rgba(10,10,10,0.75) 60%,rgba(10,10,10,0.45) 100%);}
  .s-hero-inner{padding:4rem 1.5rem 3rem;}
  .sec{padding:4rem 1.5rem;}
  .offers,.steps,.related{grid-template-columns:1fr;}
  .steps{gap:1.75rem;}
  .photos{grid-template-columns:repeat(2,1fr);}
  .photos figure.wide{grid-column:span 2;}
  .photos figure.wide img{aspect-ratio:16/9;}
}
