:root {
  --crimson: #8B1A1A;
  --crimson-dark: #6B1010;
  --crimson-light: #A52020;
  --cream: #F5F0EB;
  --cream-dark: #EDE5DC;
  --ivory: #FAF7F4;
  --charcoal: #1C1C1C;
  --warm-gray: #6B6460;
  --gold: #C9A96E;
  --white: #FFFFFF;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Raleway',sans-serif; background:var(--ivory); color:var(--charcoal); overflow-x:hidden; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:14px 20px; display:flex; justify-content:space-between; align-items:center; background:rgba(28,28,28,0.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(201,169,110,0.2); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--gold); }
.nav-cta { background:var(--crimson); color:white; padding:10px 20px; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; text-decoration:none; border-radius:2px; }

/* HERO */
.hero { min-height:100vh; background:var(--charcoal); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.hero picture { display:contents; }
.hero-photo { width:100%; height:55vw; min-height:340px; max-height:420px; object-fit:cover; object-position:center top; display:block; flex-shrink:0; }
.hero-content { position:relative; z-index:2; padding:32px 24px 48px; flex:1; }
.hero-eyebrow { font-size:0.75rem; text-transform:uppercase; letter-spacing:0.25em; color:var(--gold); margin-bottom:16px; opacity:0; animation:fadeUp 0.8s 0.2s forwards; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,7vw,3.2rem); font-weight:300; line-height:1.15; color:var(--white); margin-bottom:24px; opacity:0; animation:fadeUp 0.8s 0.4s forwards; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:1.05rem; line-height:1.9; color:rgba(255,255,255,0.65); margin-bottom:36px; font-weight:300; opacity:0; animation:fadeUp 0.8s 0.6s forwards; }
.hero-sub span { display:block; padding-left:14px; border-left:2px solid var(--crimson); margin-bottom:8px; }
.hero-btns { display:flex; flex-direction:column; gap:12px; opacity:0; animation:fadeUp 0.8s 0.8s forwards; }
.btn-primary { background:var(--crimson); color:white; padding:16px 24px; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.1em; text-decoration:none; text-align:center; transition:all 0.3s; display:block; }
.btn-outline { background:transparent; color:rgba(255,255,255,0.7); padding:14px 24px; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; text-decoration:none; text-align:center; border:1px solid rgba(255,255,255,0.25); transition:all 0.3s; display:block; }

/* COMMON */
section { position:relative; }
.section-label { font-size:0.72rem; text-transform:uppercase; letter-spacing:0.22em; color:var(--crimson); margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.section-label::after { content:''; height:1px; width:32px; background:var(--crimson); opacity:0.5; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,6vw,2.8rem); font-weight:300; line-height:1.2; color:var(--charcoal); margin-bottom:24px; }
.section-title.light { color:var(--white); }

/* RECOGNITION */
.recognition { background:var(--cream); padding:64px 24px; }
.recognition-intro { font-size:1.05rem; line-height:1.9; color:var(--warm-gray); font-weight:300; margin-bottom:32px; }
.rec-card { background:var(--ivory); padding:22px 24px; border-left:3px solid transparent; margin-bottom:2px; transition:all 0.3s; }
.rec-card:hover { border-left-color:var(--crimson); background:white; }
.rec-card-num { font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:rgba(139,26,26,0.15); font-style:italic; margin-bottom:6px; }
.rec-card-text { font-size:1rem; line-height:1.75; color:var(--charcoal); }
.rec-card-text strong { display:block; font-weight:600; margin-bottom:3px; }

/* REQUESTS */
.requests { background:var(--charcoal); padding:64px 24px; }
.requests-header { margin-bottom:40px; }
.req-item { background:rgba(255,255,255,0.04); padding:28px 24px; border:1px solid rgba(255,255,255,0.07); margin-bottom:2px; transition:all 0.3s; position:relative; overflow:hidden; }
.req-item::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--crimson); transform:scaleX(0); transition:transform 0.4s; }
.req-item:hover::after { transform:scaleX(1); }
.req-icon { width:36px; height:36px; background:rgba(139,26,26,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-size:0.95rem; }
.req-title { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--white); margin-bottom:8px; line-height:1.3; }
.req-desc { font-size:0.95rem; line-height:1.8; color:rgba(255,255,255,0.5); font-weight:300; }

/* WHY */
.why { background:var(--crimson-dark); padding:64px 24px; }
.why-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,5vw,2.2rem); font-weight:300; line-height:1.3; color:var(--white); margin-bottom:16px; }
.why-text { font-size:1rem; line-height:2; color:rgba(255,255,255,0.65); font-weight:300; margin-bottom:28px; }
.why-item { background:rgba(255,255,255,0.07); padding:16px 20px; border-left:2px solid rgba(201,169,110,0.4); font-size:0.98rem; color:rgba(255,255,255,0.8); line-height:1.7; margin-bottom:10px; }

/* PROCESS */
.process { background:var(--ivory); padding:64px 24px; }
.process-header { margin-bottom:40px; }
.process-step { display:flex; gap:20px; margin-bottom:28px; }
.step-num { width:52px; height:52px; flex-shrink:0; background:var(--crimson); color:white; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-style:italic; }
.step-title { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:500; margin-bottom:6px; color:var(--charcoal); }
.step-text { font-size:0.95rem; line-height:1.8; color:var(--warm-gray); font-weight:300; }

/* METHODS */
.methods { background:var(--cream-dark); padding:64px 24px; }
.methods-lead { font-size:1rem; line-height:1.9; color:var(--warm-gray); font-weight:300; margin-bottom:20px; }
.methods-note { background:var(--crimson); color:white; padding:20px 24px; font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-style:italic; line-height:1.6; margin-bottom:28px; text-align: center;}
.method-card { background:var(--ivory); padding:28px 24px; margin-bottom:2px; transition:all 0.3s; }
.method-card:hover { background:white; }
.method-name { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--crimson); margin-bottom:8px; }
.method-desc { font-size:0.95rem; line-height:1.8; color:var(--warm-gray); font-weight:300; }

/* PRICING */
.pricing { background:var(--charcoal); padding:64px 24px; }
.pricing-header { margin-bottom:40px; }
.price-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); padding:28px 24px; margin-bottom:12px; position:relative; transition:all 0.3s; }
.price-card.featured { background:var(--crimson); border-color:var(--crimson); }
.price-card.featured .price-label,
.price-card.featured .price-desc { color:rgba(255,255,255,0.85); }
.price-badge { position:absolute; top:-10px; right:20px; background:var(--gold); color:var(--charcoal); font-size:0.68rem; text-transform:uppercase; letter-spacing:0.15em; padding:4px 12px; font-weight:600; }
.price-label { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--white); margin-bottom:10px; line-height:1.3; }
.price-amount { font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--gold); font-style:italic; margin-bottom:8px; line-height:1; }
.price-amount span { font-size:1rem; }
.price-desc { font-size:0.93rem; color:rgba(255,255,255,0.5); line-height:1.6; font-weight:300; }
.price-free { color:#6dffb5; }

/* RESULTS */
.results { background:var(--crimson-dark); padding:64px 24px; }
.results-header { margin-bottom:36px; }
.results-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.result-item { text-align:center; padding:24px 16px; border:1px solid rgba(255,255,255,0.1); }
.result-deco { font-family:'Cormorant Garamond',serif; font-size:2rem; color:rgba(201,169,110,0.2); line-height:1; margin-bottom:10px; }
.result-text { font-size:0.95rem; color:rgba(255,255,255,0.75); line-height:1.6; font-weight:300; }

/* ABOUT */
.about { background:var(--cream); padding:64px 24px; }
.about-photo-placeholder { width:100%; aspect-ratio:4/3; margin-bottom:32px; overflow:hidden; }
.about-photo-placeholder img { width:100%; height:100%; object-fit:cover; display:block; }
.about-name { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; font-style:italic; color:var(--charcoal); margin-bottom:4px; }
.about-credential { font-size:0.78rem; text-transform:uppercase; letter-spacing:0.18em; color:var(--crimson); margin-bottom:24px; }
.about-text { font-size:1.05rem; line-height:2; color:var(--warm-gray); font-weight:300; margin-bottom:20px; }
.about-value { display:flex; align-items:flex-start; gap:14px; font-size:0.98rem; color:var(--charcoal); line-height:1.6; margin-bottom:10px; }
.about-value::before { content:'—'; color:var(--crimson); flex-shrink:0; }

/* FORMAT */
.format { background:var(--crimson); padding:64px 24px; }
.format-card { background:rgba(255,255,255,0.07); padding:28px 24px; margin-bottom:2px; border:1px solid rgba(255,255,255,0.1); }
.format-card-title { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--gold); margin-bottom:10px; font-style:italic; }
.format-card-text { font-size:0.95rem; line-height:1.9; color:rgba(255,255,255,0.75); font-weight:300; }

/* CTA */
.cta { background:var(--charcoal); padding:80px 24px; text-align:center; position:relative; overflow:hidden; }
.cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(139,26,26,0.3) 0%,transparent 70%); }
.cta-inner { position:relative; z-index:1; }
.cta-quote { font-family:'Cormorant Garamond',serif; font-size:clamp(1.4rem,5vw,2.1rem); font-weight:300; font-style:italic; line-height:1.5; color:var(--white); margin-bottom:16px; }
.cta-sub { font-size:0.98rem; line-height:1.9; color:rgba(255,255,255,0.55); margin-bottom:40px; font-weight:300; }
.cta-btns { display:flex; flex-direction:column; gap:12px; }

/* FOOTER */
footer { background:#111; padding:36px 24px; text-align:center; border-top:1px solid rgba(201,169,110,0.15); }
.footer-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--gold); margin-bottom:8px; }
.footer-text { font-size:0.82rem; color:rgba(255,255,255,0.3); margin-bottom:16px; }
.footer-links { display:flex; gap:20px; justify-content:center; }
.footer-links a { font-size:0.78rem; color:rgba(255,255,255,0.4); text-decoration:none; text-transform:uppercase; letter-spacing:0.1em; }

@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.6s ease,transform 0.6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* DESKTOP */
@media (min-width:768px) {
  nav { padding:18px 60px; }
  .nav-logo { font-size:1.4rem; }
  .hero { flex-direction:row; align-items:stretch; }
  .hero-photo { width:42%; height:auto; max-height:none; }
  .hero-content { padding:120px 60px 80px; max-width:600px; display:flex; flex-direction:column; justify-content:center; }
  .hero-btns { flex-direction:row; }
  .btn-primary,.btn-outline { display:inline-block; }
  .recognition { padding:100px 60px; }
  .recognition-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1200px; margin:0 auto; }
  .requests { padding:100px 60px; }
  .requests-inner { max-width:1200px; margin:0 auto; }
  .req-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2px; }
  .req-item { margin-bottom:0; }
  .why { padding:100px 60px; }
  .why-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:center; }
  .process { padding:100px 60px; }
  .process-inner { max-width:1200px; margin:0 auto; }
  .process-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
  .process-step { margin-bottom:0; }
  .methods { padding:100px 60px; }
  .methods-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1.5fr; gap:60px; }
  .methods-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .method-card { margin-bottom:0; }
  .pricing { padding:100px 60px; }
  .pricing-inner { max-width:1000px; margin:0 auto; }
  .price-cards-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
  .price-card { margin-bottom:0; }
  .results { padding:100px 60px; }
  .results-inner { max-width:1200px; margin:0 auto; }
  .results-grid { grid-template-columns:repeat(4,1fr); }
  .about { padding:100px 60px; }
  .about-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:center; }
  .about-photo-placeholder { margin-bottom:0; aspect-ratio:3/4; }
  .format { padding:80px 60px; }
  .format-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:2px; }
  .format-card { margin-bottom:0; }
  .cta { padding:120px 60px; }
  .cta-inner { max-width:640px; margin:0 auto; }
  .cta-btns { flex-direction:row; justify-content:center; }
  footer { display:flex; justify-content:space-between; align-items:center; padding:40px 60px; text-align:left; }
  .footer-logo,.footer-text { margin-bottom:0; }
}