/* ============================================================
   DemandLetterNY — Enterprise brand layer
   Loaded after each page's inline styles; overrides by cascade.
   Design language: white-shoe law firm × modern fintech.
   ============================================================ */

:root{
  --ink:#0d1726;
  --ink-soft:#42506b;
  --paper:#faf9f4;
  --paper-deep:#f1efe6;
  --cert:#0e6b47;
  --cert-deep:#0a5236;
  --seal:#ac8b32;
  --rule:#e2ded2;
  --shadow-sm:0 1px 2px rgba(13,23,38,.05),0 2px 8px rgba(13,23,38,.04);
  --shadow-md:0 2px 6px rgba(13,23,38,.06),0 12px 32px rgba(13,23,38,.10);
  --shadow-lg:0 4px 12px rgba(13,23,38,.08),0 28px 64px rgba(13,23,38,.16);
}

::selection{background:#0e6b47;color:#fff}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---- Brand kit typography: Source Serif 4 ---- */
h1,h2,h3,.serif,.card h4,.letter-head .firm,.letter .sig,.big-price,.sub-price,.band-stat .big,.card .price{font-family:'Source Serif 4','Libre Caslon Text',serif}
h1,h2{font-weight:600}
h1,h2,h3{letter-spacing:-.02em}

/* ---- Brand kit mark: DL tile before the wordmark ---- */
.logo{gap:10px;align-items:center}
.logo::before{content:"DL";display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--ink);color:#6fc79a;font-family:'Source Serif 4',Georgia,serif;font-weight:700;font-size:15px;letter-spacing:.01em;box-shadow:0 1px 3px rgba(13,23,38,.25),inset 0 1px 0 rgba(255,255,255,.07);flex:none}
.logo .serif{font-weight:600;letter-spacing:-.02em}
footer .logo::before{box-shadow:0 0 0 1px rgba(255,255,255,.14)}

/* ---- Notice bar: quiet, precise ---- */
.notice-bar{background:linear-gradient(90deg,#0d1726,#13233c 55%,#0d1726);letter-spacing:.06em;padding:8px 12px}

/* ---- Navigation: glass over paper ---- */
nav{background:rgba(250,249,244,.82);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(13,23,38,.08)}
.nav-inner{height:74px}
.logo .serif{font-size:22px;letter-spacing:-.01em}
.nav-item>a{border-radius:6px;transition:background .15s,color .15s}
.dropdown{border-radius:12px;border-color:rgba(13,23,38,.08);box-shadow:var(--shadow-lg);padding:10px;min-width:300px}
.dropdown a{border-radius:8px;padding:11px 13px}
.nav-cta{border-radius:8px;padding:10px 18px;background:linear-gradient(180deg,#118355,#0e6b47);box-shadow:0 1px 2px rgba(10,82,54,.4),inset 0 1px 0 rgba(255,255,255,.14);transition:transform .15s,box-shadow .15s}
.nav-cta:hover{background:linear-gradient(180deg,#0e6b47,#0a5236);transform:translateY(-1px);box-shadow:0 4px 14px rgba(10,82,54,.35),inset 0 1px 0 rgba(255,255,255,.14)}

/* ---- Buttons ---- */
.btn{border-radius:8px;padding:15px 30px;letter-spacing:.01em}
.btn-green{background:linear-gradient(180deg,#118355,#0e6b47);box-shadow:0 1px 2px rgba(10,82,54,.45),0 8px 22px rgba(14,107,71,.28),inset 0 1px 0 rgba(255,255,255,.16);transition:transform .16s,box-shadow .16s}
.btn-green:hover{background:linear-gradient(180deg,#0e6b47,#0a5236);transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,82,54,.45),0 14px 32px rgba(14,107,71,.34),inset 0 1px 0 rgba(255,255,255,.16)}
.btn-ghost{border-width:1.5px;border-color:rgba(13,23,38,.35);transition:all .16s}
.btn-ghost:hover{border-color:var(--ink)}

/* ---- Hero: quiet gravity ---- */
.hero{position:relative;padding:84px 0 76px;overflow:hidden;border-bottom:1px solid var(--rule)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(58% 90% at 78% 8%,rgba(14,107,71,.07),transparent 60%),
  radial-gradient(40% 60% at 4% 100%,rgba(172,139,50,.05),transparent 60%)}
.hero>.container{position:relative}
.hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08}
.hero h1 em{color:var(--cert-deep)}
.hero .sub{font-size:19px;line-height:1.65}
.eyebrow{color:var(--cert-deep);letter-spacing:.16em}
.trust-item{font-weight:500}

/* ---- The letter artifact: gallery piece ---- */
.letter{transform:rotate(.8deg);border-radius:2px;box-shadow:var(--shadow-lg);border-color:rgba(13,23,38,.10)}
.letter-wrap::after{content:"";position:absolute;left:12%;right:12%;bottom:-26px;height:30px;background:radial-gradient(50% 100% at 50% 0,rgba(13,23,38,.16),transparent 70%);z-index:-1}
.stamp{border-radius:6px;background:rgba(250,249,244,.96);box-shadow:var(--shadow-sm)}

/* ---- Sections ---- */
section{padding:76px 0}
h2{letter-spacing:-.02em;font-size:clamp(27px,3.4vw,38px)}
.section-label{letter-spacing:.16em;color:var(--cert-deep)}
.section-sub{font-size:18px;line-height:1.65}

/* ---- Cards: precision-milled ---- */
.card{border-radius:12px;border-color:rgba(13,23,38,.09);box-shadow:var(--shadow-sm);padding:26px;transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(14,107,71,.45)}
.card .statute{border-radius:99px;padding:4px 11px;background:#e7f1ea;color:#0a5236;letter-spacing:.03em}
.card h4{font-size:18px}
.card .price{font-size:21px}
.card .go{transition:transform .18s;display:inline-block}
.card:hover .go{transform:translateX(3px)}
.cat-head{border-bottom-width:1px;border-bottom-color:rgba(13,23,38,.16)}

/* ---- Dark bands: boardroom ---- */
.band{background:linear-gradient(160deg,#0d1726 20%,#122036 70%,#0f1c30);position:relative;padding:70px 0}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 80% at 85% 0%,rgba(111,199,154,.08),transparent 60%)}
.band>.container{position:relative}
.band-stat .big{font-size:44px;background:linear-gradient(180deg,#8fdcb4,#5cb98c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.band-stat{border-left:1px solid rgba(255,255,255,.10);padding-left:20px}

/* ---- Steps ---- */
.step{border-radius:12px;border-color:rgba(13,23,38,.09);box-shadow:var(--shadow-sm);padding:26px;transition:transform .18s,box-shadow .18s}
.step:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.step::before{color:var(--seal);font-size:14px}

/* ---- Product pages ---- */
.prod-hero{position:relative;padding:52px 0 56px;overflow:hidden}
.prod-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 90% at 90% 0%,rgba(14,107,71,.06),transparent 60%)}
.prod-hero>.container{position:relative}
.prod-hero .statute{border-radius:99px;background:#e7f1ea;color:#0a5236}
.big-price{font-size:40px}
.law-box{border-radius:12px;border-left-width:3px;box-shadow:var(--shadow-sm)}
.included{border-radius:12px;border:1px solid rgba(13,23,38,.07)}
.related-links a{border-radius:8px;transition:all .15s}
.related-links a:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.faq-item h4::after{color:var(--seal)}

/* ---- Attorney block ---- */
.atty-photo{border-radius:12px;box-shadow:var(--shadow-md)}
.bar-card{border-radius:12px;box-shadow:var(--shadow-sm)}
.bar-card .lab{color:var(--seal)}

/* ---- Intake wizard: private-client desk ---- */
.intake{border-radius:16px;box-shadow:var(--shadow-md);border-color:rgba(13,23,38,.08);padding:36px}
.intake .prog{height:5px;border-radius:99px}
.intake .prog-fill{background:linear-gradient(90deg,#118355,#0e6b47);border-radius:99px}
.field input,.field select,.field textarea{border-radius:8px;background:#fff;border-color:rgba(13,23,38,.14);transition:border-color .15s,box-shadow .15s;padding:12px 14px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cert);box-shadow:0 0 0 4px rgba(14,107,71,.12)}

/* ---- Subscription + CTA ---- */
.sub-band{border-radius:16px;border:1px solid rgba(13,23,38,.07);box-shadow:var(--shadow-sm)}
.sub-price{font-size:48px}
.cta-band{background:linear-gradient(150deg,#0a5236,#0e6b47 55%,#118355);position:relative;padding:72px 0}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 100% at 80% 0%,rgba(255,255,255,.09),transparent 60%)}
.cta-band>.container{position:relative}
.cta-band .btn{border-radius:8px;box-shadow:0 10px 28px rgba(6,40,26,.35)}

/* ---- Footer: engraved ---- */
footer{background:linear-gradient(180deg,#0d1726,#0a1220);padding:56px 0 40px}
footer h5{color:#e7e4d9;letter-spacing:.12em}
.foot-legal{border-top-color:rgba(255,255,255,.09)}
.ad-tag{border-radius:99px;border-color:rgba(255,255,255,.18)}

/* ---- Tables (guides/terms) ---- */
table{border-collapse:separate;border-spacing:0;width:100%}
th{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}

/* ---- Focus ---- */
:focus-visible{outline-color:var(--cert);border-radius:6px}

/* ---- Sticky mobile CTA ---- */
#mcta{display:none}
@media(max-width:700px){
  #mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:150;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(250,249,244,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--rule);box-shadow:0 -8px 24px rgba(13,23,38,.08)}
  body{padding-bottom:76px}
  .page[data-page="intake"] ~ #mcta{display:none}
}
