/* ══════════════════════════════════════════════════════════════════
   REED CREATIVE — Shared Styles
   ══════════════════════════════════════════════════════════════════ */

/* ── RESET ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* ── VARIABLES ──────────────────────────────────────────────────── */
:root{
  --bg:        #0B1220;
  --bg-mid:    #0F1828;
  --bg-elv:    #152035;
  --bg-card:   #0D1525;
  --gold:      #C9A84C;
  --gold-lt:   #E8D48A;
  --gold-dk:   #9D7C2E;
  --off-white: #F5F0E8;
  --gray:      #8A8FA8;
  --gray-lt:   #B0B6CB;
  --f-display: 'Cormorant Garamond', Georgia, serif;
  --f-body:    'Raleway', Helvetica, sans-serif;
  /* Satin gold: soft low-contrast sheen, antiqued — reads premium and
     modern rather than a glossy metallic mirror. */
  --g-gold:    linear-gradient(135deg, #B5934A 0%, #D3B572 50%, #A8863C 100%);
  /* Flat-solid satin gold for buttons. */
  --g-gold-btn: linear-gradient(180deg, #CDAC54 0%, #BD9A45 100%);
}

/* ── BODY ───────────────────────────────────────────────────────── */
body{background:url('slate.png') left top / cover fixed var(--bg);color:var(--off-white);font-family:var(--f-body);overflow-x:hidden;position:relative}

/* ── VIGNETTE ───────────────────────────────────────────────────── */
body::after{
  content:'';position:fixed;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(ellipse 80% 80% at 50% 40%,transparent 45%,rgba(5,10,22,.55) 100%);
}

/* ── PARTICLE CANVAS ────────────────────────────────────────────── */
#particle-canvas{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  mix-blend-mode:screen;opacity:.9;
}

/* ── CONTENT Z-INDEX ────────────────────────────────────────────── */
nav,section,.hero-content,.partner,
.why,.voice,.testimonial,.services-preview,
.cta-banner,.page-hero,.about-content,.values,.about-cta,
.process,.tiers,.whats-included,.services-cta,
.filter-bar,.portfolio-grid,.tstrip,.portfolio-cta,
.contact-wrap,footer{position:relative;z-index:10}

/* ── UTILITIES ──────────────────────────────────────────────────── */
.gold-gradient-text{
  background:var(--g-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
@supports not (-webkit-background-clip:text){.gold-gradient-text{color:var(--gold-lt)}}

.arrow-rule{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold-dk)}
.arrow-rule::before{content:'';flex:0 1 72px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dk) 70%)}
.arrow-rule::after {content:'';flex:0 1 72px;height:1px;background:linear-gradient(90deg,var(--gold-dk) 30%,transparent)}
.arrow-inner{display:flex;align-items:center;gap:6px;white-space:nowrap;
  font-family:var(--f-body);font-size:9px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-dk)}
.arrow-inner::before{content:'◂'}.arrow-inner::after{content:'▸'}

.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);border:none}
.eyebrow{font-family:var(--f-body);font-size:9px;font-weight:600;letter-spacing:.45em;color:var(--gold);text-transform:uppercase}

/* ── BUTTONS ────────────────────────────────────────────────────── */
.btn-primary{
  font-family:var(--f-body);font-size:10px;font-weight:600;letter-spacing:.28em;
  color:var(--bg);text-transform:uppercase;text-decoration:none;
  background:var(--g-gold-btn);
  padding:16px 40px;display:inline-block;transition:opacity .2s,transform .15s;
}
.btn-primary:hover{opacity:.88;transform:translateY(-1px)}
.btn-ghost{
  font-family:var(--f-body);font-size:10px;font-weight:500;letter-spacing:.28em;
  color:var(--gold);text-transform:uppercase;border:1px solid rgba(201,168,76,.4);
  padding:16px 40px;text-decoration:none;display:inline-block;
  transition:border-color .2s,color .2s,transform .15s;
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-lt);transform:translateY(-1px)}

/* ── NAV ────────────────────────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 60px;height:80px;overflow:hidden;
  background:rgba(11,18,32,.9);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(201,168,76,.15);
}
.nav-logo-wrap{display:flex;align-items:center;text-decoration:none}
.logo-icon-wrap{
  position:relative;width:56px;height:56px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:radial-gradient(circle at 50% 36%,#26314c 0%,#141d30 58%,#0C1322 100%);
  border:1px solid rgba(201,168,76,.55);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.10),inset 0 -3px 5px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.35);
}
.logo-icon{width:auto;height:62%;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}
.nav-wordmark{height:18px;width:auto;margin-left:14px;display:block}
.nav-links{display:flex;align-items:center;gap:36px;flex-wrap:nowrap;white-space:nowrap}
.nav-links a:not(.nav-cta){font-family:var(--f-body);font-size:10px;font-weight:500;letter-spacing:.22em;color:var(--gray-lt);text-transform:uppercase;text-decoration:none;transition:color .2s}
.nav-links a:not(.nav-cta):hover,.nav-links a.active{color:var(--gold)}
.nav-cta{font-family:var(--f-body);font-size:10px;font-weight:700;letter-spacing:.22em;color:#0B1220;text-transform:uppercase;background:var(--g-gold-btn);padding:10px 26px;text-decoration:none;transition:opacity .2s}
.nav-cta:hover{opacity:.85}

/* ── MOBILE NAV TOGGLE ──────────────────────────────────────────── */
.nav-toggle{
  display:none;background:none;border:none;cursor:pointer;
  width:28px;height:20px;position:relative;z-index:101;
}
.nav-toggle span{
  display:block;width:100%;height:1.5px;background:var(--gold);
  position:absolute;left:0;transition:all .3s;
}
.nav-toggle span:nth-child(1){top:0}
.nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}
.nav-toggle span:nth-child(3){bottom:0}
.nav-toggle.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}

/* ── PAGE HERO (about, services, portfolio) ─────────────────────── */
.page-hero{padding:160px 60px 100px;background:rgba(15,24,40,.60);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 70% 50%,rgba(25,38,70,.6) 0%,transparent 70%)}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3) 30%,rgba(201,168,76,.3) 70%,transparent)}
.page-hero-inner{max-width:900px;margin:0 auto;position:relative;z-index:1}
.page-hero .eyebrow{margin-bottom:24px}
.page-hero h1{font-family:var(--f-display);font-size:clamp(42px,6vw,80px);font-weight:300;line-height:1.08;color:var(--off-white);margin-bottom:28px}
.page-hero h1 em{font-style:italic;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@supports not (-webkit-background-clip:text){.page-hero h1 em{color:var(--gold-lt)}}
.page-hero .lead{font-family:var(--f-body);font-size:17px;font-weight:300;line-height:1.95;color:var(--gray-lt);max-width:680px;letter-spacing:.01em}

/* ── SECTION HEADER ─────────────────────────────────────────────── */
.section-header{text-align:center;margin-bottom:72px}
.section-header .arrow-rule{margin:0 auto 24px}
.section-header h2{font-family:var(--f-display);font-size:clamp(36px,4.5vw,58px);font-weight:300;color:var(--off-white);line-height:1.1;margin-bottom:20px}
.section-header h2 em{font-style:italic;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@supports not (-webkit-background-clip:text){.section-header h2 em{color:var(--gold-lt)}}
.section-header p{font-size:16px;font-weight:300;color:var(--gray-lt);line-height:1.9;max-width:580px;margin:0 auto;letter-spacing:.01em}

/* ── CTA PAIR ───────────────────────────────────────────────────── */
.cta-pair{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}

/* ── FOOTER ─────────────────────────────────────────────────────── */
footer{background:rgba(11,18,32,.78);border-top:1px solid rgba(201,168,76,.12);padding:72px 60px 36px;position:relative}
footer::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.25) 30%,rgba(201,168,76,.25) 70%,transparent)}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:56px;margin-bottom:52px}
.footer-brand .wordmark{height:19px;width:auto;display:block;margin-bottom:10px}
.footer-brand .tagline{font-family:var(--f-body);font-size:7px;font-weight:600;letter-spacing:.5em;color:var(--gold-dk);text-transform:uppercase;margin-bottom:22px;display:block}
.footer-brand p{font-family:var(--f-body);font-size:13px;font-weight:300;line-height:1.9;color:var(--gray);max-width:240px;letter-spacing:.01em}
.footer-nav h4,.footer-contact h4{font-family:var(--f-body);font-size:9px;font-weight:600;letter-spacing:.4em;color:var(--gold-dk);text-transform:uppercase;margin-bottom:22px}
.footer-nav ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-nav a{font-family:var(--f-body);font-size:13px;font-weight:400;color:var(--gray-lt);text-decoration:none;letter-spacing:.06em;transition:color .2s}
.footer-nav a:hover{color:var(--gold)}
.footer-contact p{font-family:var(--f-body);font-size:13px;font-weight:300;color:var(--gray-lt);line-height:2}
.footer-contact a{color:var(--gold);text-decoration:none}
.footer-bottom{max-width:1100px;margin:0 auto;border-top:1px solid rgba(255,255,255,.05);padding-top:28px;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-family:var(--f-body);font-size:10px;font-weight:400;letter-spacing:.12em;color:var(--gray)}

/* ── SCROLL REVEAL ──────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ══════════════════════════════════════════════════════════════════ */

@media(max-width:1024px){
  .partner-inner{grid-template-columns:1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid,.tiers-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .included-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;inset:0;
    background:rgba(11,18,32,.97);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    flex-direction:column;justify-content:center;align-items:center;
    gap:28px;display:none;z-index:99;
  }
  .nav-links.open{display:flex}
  .nav-links a:not(.nav-cta){font-size:14px;letter-spacing:.3em}
  .nav-links .nav-cta{font-size:12px;letter-spacing:.25em;padding:14px 32px}

  nav{padding:0 24px;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
  .hero,.partner,.why,.voice,.testimonial,.services-preview,
  .cta-banner,.page-hero,.about-content,.values,.about-cta,
  .process,.tiers,.whats-included,.services-cta,
  .filter-bar,.portfolio-grid,.tstrip,.portfolio-cta{padding-left:24px;padding-right:24px}
  footer{padding-left:24px;padding-right:24px}

  .partner-inner{grid-template-columns:1fr;gap:48px}
  .why-grid{grid-template-columns:1fr}
  .services-grid,.tiers-grid{grid-template-columns:1fr}
  .testimonial-grid{grid-template-columns:1fr}
  .tcard:first-child{border-right:none;border-bottom:1px solid rgba(201,168,76,.15);padding-bottom:52px;margin-bottom:52px}
  .tcard{padding:0 20px}
  .about-grid{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:36px}
  .values-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr}
  .process-step{border-right:none;border-bottom:1px solid rgba(201,168,76,.1)}
  .process-step:last-child{border-bottom:none}
  .portfolio-grid{grid-template-columns:repeat(2,1fr);padding-bottom:60px}
  .included-grid{grid-template-columns:1fr}
  .contact-left,.contact-right{padding:100px 24px 60px}
}

@media(max-width:480px){
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-item.wide{grid-column:span 1;aspect-ratio:4/3}
  .values-grid{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;width:100%;max-width:320px;margin:0 auto}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{width:100%;text-align:center}
  .cta-pair{flex-direction:column;align-items:center}
  .cta-pair .btn-primary,.cta-pair .btn-ghost{width:100%;max-width:320px;text-align:center}
  .nav-wordmark{display:none}
}
