.drp-reference-service {
  --gold: #C9A96E;
  --gold-dim: rgba(201,169,110,.6);
  --gold-faint: rgba(201,169,110,.12);
  --black: #0C0B09;
  --ink: #1C1C1C;
  --cream: #F7F4EF;
  --warm: #F2EEE7;
  --muted: #1C1C1C;
  --border: rgba(201,169,110,.2);
  background: var(--cream);
  color: var(--ink);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  overflow: clip;
}
.drp-reference-service *,
.drp-reference-service *::before,
.drp-reference-service *::after { box-sizing: border-box; }
.drp-reference-service :where(h1,h2,h3,p,ul,ol) { margin: 0; padding: 0; }
/* Page */
.page-hero { background: var(--black); padding: 100px 80px 80px; position: relative; overflow: hidden; border-bottom: .5px solid rgba(201,169,110,0.15); }
.page-hero::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 60% 50%, rgba(201,169,110,0.06) 0%, transparent 65%); pointer-events:none; }
.page-hero-tag { font:300 9px/1 'Jost',sans-serif; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.page-hero-title { font:400 clamp(36px,4vw,58px)/1.1 'Cormorant Garamond',serif; color:var(--cream); margin-bottom:18px; }
.page-hero-title em { font-style:italic; color:var(--gold); }
.page-hero-desc { font:300 14px/1.85 'Jost',sans-serif; color:rgba(247,244,239,0.55); max-width:580px; }
.page-body { max-width:1100px; margin:0 auto; padding:80px 52px; }
.page-section { margin-bottom:64px; }
.page-section-tag { font:300 9px/1 'Jost',sans-serif; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.page-section-title { font:400 clamp(24px,2.5vw,36px)/1.2 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:20px; }
.page-section-title em { font-style:italic; color:var(--gold); }
.page-p { font:300 14px/1.85 'Jost',sans-serif; color:#1C1C1C; margin-bottom:16px; }
.page-divider { border:none; border-top:.5px solid var(--border); margin:48px 0; }
/* Cards grid */
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1px; background:var(--border); border:.5px solid var(--border); margin:32px 0; }
.card { background:var(--cream); padding:36px 32px; }
.card-icon { width:40px; height:40px; margin-bottom:20px; color:var(--gold); }
.card-title { font:400 20px/1.2 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:10px; }
.card-body { font:300 13px/1.75 'Jost',sans-serif; color:#1C1C1C; }
/* Steps */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:0; counter-reset:step; border:.5px solid var(--border); margin:32px 0; }
.step { padding:32px 28px; border-right:.5px solid var(--border); position:relative; }
.step:last-child { border-right:none; }
.step-num { font:300 9px/1 'Jost',sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.step-title { font:400 18px/1.2 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:10px; }
.step-body { font:300 12px/1.75 'Jost',sans-serif; color:#1C1C1C; }
/* Accordion FAQ */
.faq-block { border-top:.5px solid var(--border); margin:32px 0; }
.faq-item { border-bottom:.5px solid var(--border); }
.faq-q { display:flex; justify-content:space-between; align-items:center; padding:20px 0; cursor:pointer; font:400 15px/1.3 'Cormorant Garamond',serif; color:var(--ink); gap:16px; user-select:none; }
.faq-q:hover { color:var(--gold); }
.faq-q svg { flex-shrink:0; transition:transform .25s; }
.faq-item.open .faq-q svg { transform:rotate(45deg); }
.faq-a { display:none; padding:0 0 20px; font:300 13px/1.8 'Jost',sans-serif; color:#1C1C1C; }
.faq-item.open .faq-a { display:block; }
/* CTA band */
.cta-band { background:var(--black); padding:64px 80px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; border-top:.5px solid rgba(201,169,110,0.15); }
.cta-band-title { font:400 clamp(24px,2.5vw,34px)/1.2 'Cormorant Garamond',serif; color:var(--cream); }
.cta-band-title em { font-style:italic; color:var(--gold); }
.cta-band-sub { font:300 13px/1.7 'Jost',sans-serif; color:rgba(247,244,239,0.5); margin-top:8px; }
.btn-gold { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--black); font:400 10px/1 'Jost',sans-serif; letter-spacing:.2em; text-transform:uppercase; padding:18px 32px; text-decoration:none; transition:background .22s; white-space:nowrap; }
.btn-gold:hover { background:#b8924f; }
.btn-outline { display:inline-flex; align-items:center; gap:8px; border:.5px solid var(--gold); color:var(--gold); font:400 10px/1 'Jost',sans-serif; letter-spacing:.2em; text-transform:uppercase; padding:18px 32px; text-decoration:none; transition:all .22s; white-space:nowrap; }
.btn-outline:hover { background:var(--gold); color:var(--black); }
/* Finance specific */
.finance-options { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:.5px solid var(--border); margin:32px 0; }
.finance-card { background:var(--cream); padding:44px 40px; }
.finance-card.featured { background:var(--black); }
.finance-card-badge { font:300 9px/1 'Jost',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.finance-card-name { font:400 clamp(28px,2.5vw,38px)/1.1 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:8px; }
.finance-card.featured .finance-card-name { color:var(--cream); }
.finance-card-limit { font:300 13px/1 'Jost',sans-serif; color:var(--gold); margin-bottom:20px; letter-spacing:.05em; }
.finance-card-desc { font:300 13px/1.8 'Jost',sans-serif; color:#1C1C1C; margin-bottom:24px; }
.finance-card.featured .finance-card-desc { color:rgba(247,244,239,0.55); }
.finance-feature-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.finance-feature-list li { font:300 12px/1.5 'Jost',sans-serif; color:#1C1C1C; display:flex; align-items:flex-start; gap:10px; }
.finance-card.featured .finance-feature-list li { color:rgba(247,244,239,0.55); }
.finance-feature-list li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:5px; }
/* Care guide */
.care-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:.5px solid var(--border); margin:32px 0; }
.care-item { background:var(--cream); padding:36px 32px; }
.care-item-icon { width:36px; height:36px; color:var(--gold); margin-bottom:18px; }
.care-item-title { font:400 20px/1.2 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:12px; }
.care-tips { list-style:none; display:flex; flex-direction:column; gap:8px; }
.care-tips li { font:300 12px/1.65 'Jost',sans-serif; color:#1C1C1C; display:flex; gap:10px; align-items:flex-start; }
.care-tips li::before { content:'→'; color:var(--gold); font-size:11px; flex-shrink:0; margin-top:1px; }
/* Design services */
.service-list { display:flex; flex-direction:column; gap:0; border:.5px solid var(--border); margin:32px 0; }
.service-item { display:grid; grid-template-columns:80px 1fr; gap:0; border-bottom:.5px solid var(--border); }
.service-item:last-child { border-bottom:none; }
.service-num { padding:32px 24px; font:300 9px/1 'Jost',sans-serif; letter-spacing:.15em; color:var(--gold); border-right:.5px solid var(--border); display:flex; align-items:flex-start; padding-top:36px; }
.service-content { padding:32px 36px; }
.service-title { font:400 22px/1.2 'Cormorant Garamond',serif; color:var(--ink); margin-bottom:10px; }
.service-desc { font:300 13px/1.8 'Jost',sans-serif; color:#1C1C1C; }
/* Reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
@media(max-width:768px) {
  .page-hero { padding:64px 24px; }
  .page-body { padding:48px 24px; }
  .finance-options,.care-grid { grid-template-columns:1fr; }
  .cta-band { grid-template-columns:1fr; gap:24px; padding:48px 24px; }
  .steps { grid-template-columns:1fr; }
  .service-item { grid-template-columns:1fr; }
  .service-num { border-right:none; border-bottom:.5px solid var(--border); padding:16px 24px; }
}


@media (max-width: 390px) {
  .page-body { padding-inline: 16px; }
  .page-hero { padding-inline: 16px; }
  .card-grid { grid-template-columns: minmax(0,1fr); }
  .steps { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .drp-reference-service .reveal { opacity: 1; transform: none; transition: none; }
}
