/* ============ Data Export – standalone stylesheet ============
   Follows "Data Export Style Guide" v1 (Petal layout × Data Export palette):
   flat and square, 96px section rhythm, Satoshi type scale, orange primary / indigo secondary. */
:root{
  /* primary: orange */
  --de-primary:#F37435;
  --de-primary-hot:#FF6C2F;
  --de-primary-dark:#C94F14;     /* only if white text on orange is required */

  /* secondary: blue */
  --de-secondary:#485696;
  --de-secondary-500:#4C5EA0;

  /* aliases */
  --de-orange:var(--de-primary);
  --de-orange-hot:var(--de-primary-hot);
  --de-indigo:var(--de-secondary);
  --de-indigo-500:var(--de-secondary-500);

  /* text */
  --de-ink:#120A0B;
  --de-body:#454140;
  --de-slate-700:#394365;
  --de-slate-600:#4F5877;
  --de-muted:#848FAB;
  --de-link:#2E52D0;
  --de-red:#CF5243;              /* Red 600: icons, borders, large text */
  --de-red-700:#AA3E32;          /* negative numbers in tables (6.10:1) */

  /* surfaces */
  --de-white:#FFFFFF;
  --de-cream:#F8F4F1;
  --de-peach:#FFF8F2;
  --de-navy:#1C243D;
  --de-tint-6:rgba(76,94,160,.06);
  --de-tint-12:rgba(76,94,160,.12);
  --de-tint-6-solid:#F6F7FB;
  --de-tint-12-solid:#EAECF4;   /* Indigo Tint 12% flattened, for fills on cream */
  --de-on-dark:rgba(255,255,255,.8);
  --de-on-dark-muted:rgba(255,255,255,.72);
  --de-grad-hero:linear-gradient(180deg,#ECD7FC -14%,#FAF5F9 15%,#FFFFFF 100%);
  --de-grad-card:linear-gradient(135deg,#FBF4FA 0%,#F4F3FF 100%);
  --de-focus:0 0 0 3px rgba(243,116,53,.35);

  /* status (in-app report states only, always with a label) */
  --de-success:#2F7A4B;
  --de-success-bg:#E9F7EE;

  /* type (Petal scale) */
  --de-font:"Satoshi","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --de-font-ui:"Inter",system-ui,sans-serif;
  --fs-base:14.2222px;
  --lh-base:28px;
  --fs-hero:4.375em;             /* 62.22px */
  --fs-h2:2.5em;                 /* 35.56px */
  --fs-stat:2em;                 /* 28.44px */
  --fs-h3:1.5em;                 /* 21.33px */
  --fs-lead:18px;
  --fs-overline:16px;
  --fs-button:16px;
  --fs-label:14px;
  --fs-h5:.875em;                /* 12.44px */
  --fs-caption:12px;
  --ls-hero:-.04em;
  --ls-h2:-.03em;
  --ls-overline:.04em;

  /* space */
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:96px;
  --section-y:96px;              /* --section-pad split into its two axes */
  --gutter:32px;
  --section-title-gap:64px;
  --container:1280px;

  /* shape */
  --radius:0;
  --radius-pill:999px;
  --divider:1px solid var(--de-tint-12);
  --transition:.3s;
}
@media (max-width:991px){:root{--fs-base:16px;--fs-hero:3.5rem;--section-y:64px}}
@media (max-width:767px){:root{--fs-hero:2rem;--gutter:20px;--section-title-gap:48px}}
@media (max-width:479px){:root{--section-y:48px;--gutter:16px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:var(--de-font);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--de-body);background:var(--de-white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0}
:focus-visible{outline:none;box-shadow:var(--de-focus)}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.orange{color:var(--de-orange)}   /* H1/H2 display phrase only */
.center{text-align:center}

/* ---------- type ---------- */
h2{font-size:var(--fs-h2);line-height:1.2;font-weight:700;letter-spacing:var(--ls-h2);color:var(--de-indigo)}
.sub,.lead{font-size:var(--fs-lead);line-height:28px;color:var(--de-body)}
.section-head{max-width:780px;margin:0 auto var(--section-title-gap);display:flex;flex-direction:column;gap:var(--space-2);text-align:center}
.section-head .sub{max-width:770px;margin:var(--space-1) auto 0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;font-family:var(--de-font);font-size:var(--fs-button);font-weight:700;line-height:1;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition),color var(--transition),border-color var(--transition)}
.btn-lg{height:64px}
.btn-primary{background:var(--de-orange);color:var(--de-ink)}
.btn-primary:hover{background:var(--de-orange-hot)}
.btn-secondary{background:var(--de-white);color:var(--de-indigo);border-color:var(--de-indigo);font-weight:600}
.btn-secondary:hover{background:var(--de-tint-6-solid)}
.btn-on-dark{background:transparent;color:#fff;border-color:#fff;font-weight:600}
.btn-on-dark:hover{background:rgba(255,255,255,.1)}
.badge{display:inline-flex}
.badge img{height:48px;width:auto}

/* ---------- nav ---------- */
.nav-wrap{position:sticky;top:0;z-index:50;background:var(--de-white);border-bottom:var(--divider)}
.nav{max-width:var(--container);margin:0 auto;height:72px;padding:0 var(--gutter);display:flex;align-items:center;gap:var(--space-4)}
.nav-logo img{height:28px;width:auto}
.nav-links{display:flex;gap:var(--space-4);margin-left:auto;font-size:16px;font-weight:500;color:var(--de-ink)}
.nav-links a{transition:color var(--transition)}
.nav-links a:hover{color:var(--de-indigo)}
.badge-nav img{height:44px}

/* ---------- shared ---------- */
ol{list-style:none;margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
select{font:inherit;color:inherit}
.btn-ink{background:var(--de-ink);color:#fff}          /* primary on the orange band */
.btn-ink:hover{background:var(--de-navy)}
.badge-lg img{height:64px}
.cta-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}
.band-cream{background:var(--de-cream)}
.num{text-align:right;font-variant-numeric:tabular-nums}
.neg{color:var(--de-red-700)}

/* in-app controls (Inter) */
.ui-btn{text-align:center;background:var(--de-orange);color:var(--de-ink);font-family:var(--de-font-ui);font-size:13px;font-weight:600;padding:6px 12px;transition:background-color var(--transition)}
.ui-btn:hover{background:var(--de-orange-hot)}
.ui-btn.done{background:var(--de-success-bg);color:var(--de-success)}
.seg{display:inline-flex;border:1px solid var(--de-tint-12)}
.seg button{font-family:var(--de-font-ui);font-size:12px;font-weight:500;padding:6px 10px;color:var(--de-body);transition:background-color var(--transition),color var(--transition)}
.seg button+button{border-left:1px solid var(--de-tint-12)}
.seg button:hover{background:var(--de-tint-6)}
.seg [aria-checked=true]{background:var(--de-indigo);color:#fff}
.switch{width:34px;height:18px;border-radius:var(--radius-pill);background:#C9CDDD;position:relative;flex:none;transition:background-color var(--transition)}
.switch span{position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform var(--transition)}
.switch[aria-checked=true]{background:var(--de-indigo-500)}
.switch[aria-checked=true] span{transform:translateX(16px)}
.link-btn{font-family:var(--de-font-ui);font-size:12px;font-weight:600;color:var(--de-indigo)}
.link-btn:hover{text-decoration:underline}
.link-btn.done{color:var(--de-success);text-decoration:none;cursor:default}
.tag-green{display:inline-block;background:var(--de-success-bg);color:var(--de-success);font-family:var(--de-font-ui);font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}
.tag-green.pending{background:var(--de-tint-12);color:var(--de-slate-600)}
.icon-btn{width:48px;height:48px;display:inline-grid;place-items:center;border:1px solid var(--de-indigo);color:var(--de-indigo);background:var(--de-white);transition:background-color var(--transition)}
.icon-btn:hover{background:var(--de-tint-6-solid)}
.icon-btn svg{width:20px;height:20px}

/* ---------- split (hero + CTA): 2 col · gap 0 · panels meet edge to edge ---------- */
.split{display:grid;grid-template-columns:1fr 1fr}
.split-copy{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--section-y) var(--space-5) var(--section-y) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)))}
.split-media{background:var(--de-grad-card);display:flex;align-items:center;padding:var(--space-5) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter))) var(--space-5) var(--space-5)}
/* hero: app runs the full height of the copy column, so its top meets the H1 and its bottom meets the buttons */
.hero .split-media{align-items:stretch;padding-top:var(--section-y);padding-bottom:var(--section-y)}
.hero .split-copy{background:var(--de-grad-hero)}
.hero h1{font-size:var(--fs-hero);line-height:1.1;font-weight:700;letter-spacing:var(--ls-hero);color:var(--de-indigo)}
.hero .lead{max-width:560px}
.cta-split{min-height:560px}
.cta-split .split-copy{background:var(--de-indigo)}
.cta-split h2{color:#fff}
.cta-split .lead{color:var(--de-on-dark);max-width:520px}

/* ---------- hero demo app ---------- */
.app{position:relative;display:flex;flex-direction:column;width:100%;max-width:640px;background:var(--de-white);border:var(--divider);font-family:var(--de-font-ui);color:var(--de-ink);line-height:1.4}
.app-head{display:flex;align-items:center;gap:10px;height:52px;padding:0 18px;border-bottom:var(--divider);font-size:14px}
.app-sync{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--de-slate-600)}
.app-sync i{width:8px;height:8px;border-radius:50%;background:var(--de-success);animation:blink 2s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.app-main{flex:1;display:grid;grid-template-columns:190px 1fr}
.app-list{border-right:var(--divider);padding:8px 0;background:var(--de-tint-6)}
.app-list button{display:block;width:100%;padding:12px 16px;border-left:2px solid transparent;transition:background-color var(--transition)}
.app-list button:hover{background:var(--de-tint-12)}
.app-list b{display:block;font-size:13px;font-weight:500}
.app-list small{display:block;font-size:11px;color:var(--de-slate-600);margin-top:2px}
.app-list [aria-selected=true]{background:var(--de-white);border-left-color:var(--de-orange)}
.app-list [aria-selected=true] b{font-weight:600}
.app-view{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.app-view-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.app-view-head h4{font-size:16px;font-weight:600}
.app-meta{font-size:12px;color:var(--de-slate-600);white-space:nowrap}
.app-table-wrap{flex:1;min-height:200px}
.app-table,.data-table,.lib-table table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.app-table th,.data-table th,.lib-table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--de-slate-600);background:var(--de-tint-6);padding:8px 10px;white-space:nowrap}
.app-table td,.data-table td,.lib-table td{padding:0 10px;height:44px;border-bottom:var(--divider)}
.app-table th.num,.data-table th.num,.lib-table th.num{text-align:right}
.app-table tbody tr{animation:rowin .35s ease both;animation-delay:var(--d,0ms)}
@keyframes rowin{from{opacity:0;transform:translateY(6px)}}
.shimmer{display:block;height:10px;width:70%;background:linear-gradient(90deg,var(--de-tint-6),var(--de-tint-12),var(--de-tint-6));background-size:200% 100%;animation:shim 1s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
.app-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto}
.app-schedule{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:var(--divider);font-size:13px}
.app-schedule label{cursor:pointer}
.app-next{margin-left:auto;font-size:12px;font-weight:600;color:var(--de-indigo)}
.toast{position:absolute;left:50%;bottom:-20px;transform:translate(-50%,8px);background:var(--de-ink);color:#fff;font-size:13px;padding:10px 16px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- logos (white) ---------- */
.trust{padding:var(--section-y) 0;background:var(--de-white)}
.trust-title{text-align:center;margin-bottom:var(--space-5)}
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;align-items:center;animation:scroll var(--dur,40s) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.marquee-logos{padding:8px 0}
.marquee-logos .marquee-track{gap:84px;padding-right:84px}
.marquee-logos img{height:42px;width:auto;object-fit:contain;max-width:none;filter:grayscale(1);opacity:.7;transition:filter var(--transition),opacity var(--transition)}
.marquee-logos img:hover{filter:none;opacity:1}
.marquee-logos img[src*="brand-4"]{height:60px}
.marquee-logos img[src*="brand-6"]{height:48px}
.marquee-logos img[src*="brand-7"]{height:56px}
.marquee-logos img[src*="brand-8"]{height:54px}
.marquee-logos img[src*="brand-5"]{height:44px}

/* ---------- report library (cream, 3-col) ---------- */
.library{padding:var(--section-y) 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.fcard{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-height:220px;border:1px solid transparent;transition:border-color var(--transition),background-color var(--transition)}
.fcard:hover,.fcard[aria-pressed=true]{border-color:var(--de-indigo)}
.fill-tint{background:var(--de-tint-12-solid)}
.fill-peach{background:var(--de-peach);border-color:var(--de-tint-12)}
.fill-mist{background:var(--de-grad-card);border-color:var(--de-tint-12)}
.ficon{width:24px;height:24px;color:var(--de-indigo-500)}
.fcard h3,.plan h3{font-size:var(--fs-h3);line-height:1.4;font-weight:500;color:var(--de-ink)}
.fcard p{color:var(--de-body)}
.library-ui{margin-top:var(--space-4)}   /* full width under the 3 cards, same 32px grid gap */
.library-ui.pulse{animation:pulse .6s ease}
@keyframes pulse{40%{outline:2px solid var(--de-orange);outline-offset:4px}}

/* ---------- product UI mockups (Inter, flat) ---------- */
.mock{padding:var(--space-3);font-family:var(--de-font-ui);color:var(--de-ink);line-height:1.4}
.mock-panel{background:var(--de-white);position:relative}
.mock h4{font-weight:600;font-size:15px;color:var(--de-ink)}
.mock-tint{background:var(--de-tint-12-solid)}
.mock-peach{background:var(--de-peach);border:var(--divider)}
.mock-mist{background:var(--de-grad-card);border:var(--divider)}

/* library mock */
.mock-library{padding:20px 18px 24px}
.lib-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:var(--divider);margin-bottom:14px}
.lib-top h4{font-size:16px}
.lib-search{display:flex;align-items:center;gap:6px;border:var(--divider);padding:0 10px;height:34px;width:220px;background:var(--de-tint-6)}
.lib-search svg{width:16px;height:16px;color:var(--de-slate-600);flex:none}
.lib-search input{border:0;background:transparent;outline:0;font:inherit;font-size:13px;width:100%;color:var(--de-ink)}
.lib-body{display:grid;grid-template-columns:200px 1fr;gap:16px}
.lib-cats button{display:flex;justify-content:space-between;width:100%;font-size:12px;color:var(--de-body);padding:0 8px;height:40px;align-items:center;font-variant-numeric:tabular-nums;transition:background-color var(--transition)}
.lib-cats button:hover{background:var(--de-tint-6)}
.lib-cats [aria-selected=true]{color:var(--de-indigo);font-weight:600;background:var(--de-tint-12)}
.lib-table{border:var(--divider);min-height:300px}
.lib-table td{font-size:12px}
.th-sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;gap:6px}
.th-sort:hover{color:var(--de-indigo)}
.col-run{display:none}
.show-run .col-run{display:table-cell}
.lib-empty{padding:24px;text-align:center;font-size:13px;color:var(--de-slate-600)}
.lib-btn{display:block;margin:16px auto 0}

/* ---------- stats (white, 4 across) ---------- */
.stats{background:var(--de-white);padding:var(--section-y) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.stat{background:var(--de-cream);border:var(--divider);min-height:152px;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;transition:border-color var(--transition)}
.stat:hover{border-color:var(--de-indigo)}
.stat strong{font-size:var(--fs-stat);font-weight:700;line-height:1.2;color:var(--de-indigo);font-variant-numeric:tabular-nums}
.stat span{font-size:16px;line-height:24px;color:var(--de-body)}

/* ---------- features (cream): alternating 40/60 · 60/40 rows ---------- */
.features{padding:var(--section-y) 0}
.row-4060,.row-6040{display:grid;gap:var(--space-4);align-items:center}
.row-4060{grid-template-columns:2fr 3fr}
.row-4060 > *,.row-6040 > *,.split > *{min-width:0}   /* let wide tables scroll instead of stretching the grid */
.row-6040{grid-template-columns:3fr 2fr}
.features .row-4060 + .row-6040{margin-top:var(--space-7)}
.feature-copy{display:flex;flex-direction:column;gap:var(--space-3)}

/* custom-report toggles */
.toggle-list{display:flex;flex-direction:column;gap:var(--space-1)}
.toggle-list button{display:flex;gap:12px;align-items:flex-start;width:100%;padding:10px 12px;border:1px solid transparent;transition:border-color var(--transition),background-color var(--transition)}
.toggle-list button:hover{background:var(--de-white);border-color:var(--de-tint-12)}
.toggle-list svg{width:24px;height:24px;flex:none;color:var(--de-muted);transition:color var(--transition)}
.toggle-list b{display:block;font-size:16px;line-height:24px;font-weight:500;color:var(--de-ink)}
.toggle-list small{display:block;font-size:var(--fs-base);line-height:24px;color:var(--de-body)}
.toggle-list .is-active{background:var(--de-white);border-color:var(--de-indigo)}   /* only the point the demo is showing */
.toggle-list [aria-pressed=true] svg{color:var(--de-indigo-500)}

/* custom report mock */
.custom-ui{padding:20px}
.custom-ui > h4{margin-bottom:14px}
.table-scroll{overflow-x:auto}
.data-table td{white-space:nowrap}
.data-table .new{animation:colin .45s ease both}
@keyframes colin{from{background:var(--de-peach);opacity:0}}
.tier{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;background:var(--de-tint-12);color:var(--de-indigo)}
.tier.hi{background:var(--de-peach);color:var(--de-primary-dark)}
.custom-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.mini-card{border:var(--divider);border-top:2px solid var(--de-tint-12);padding:10px 12px;transition:border-color var(--transition)}
.mini-card.lit{border-top-color:var(--de-indigo-500)}
.mini-card h5{font-size:13px;font-weight:600;color:var(--de-indigo)}
.mini-card p{font-size:11px;color:var(--de-body);margin-top:4px;line-height:1.45}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--de-slate-700)}

/* done-for-you walkthrough */
.steps{display:flex;flex-direction:column;gap:var(--space-1)}
.steps button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:16px;line-height:24px;font-weight:500;color:var(--de-ink);border:1px solid transparent;transition:border-color var(--transition),background-color var(--transition)}
.steps button:hover{background:var(--de-white)}
.steps [aria-pressed=true]{background:var(--de-white);border-color:var(--de-indigo)}
.steps span,.step-no{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;background:var(--de-ink);color:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.dfy-ui{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--space-2);align-items:start}
.dfy-step{padding:var(--space-2);display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:var(--divider);cursor:pointer;transition:opacity var(--transition),border-color var(--transition)}
.dfy-ui .dfy-step:nth-child(2){grid-column:2;grid-row:1 / span 2}
.dfy-step-3{grid-column:1;grid-row:2}
.dfy-ui.walking .dfy-step{opacity:.45}
.dfy-ui.walking .dfy-step.active{opacity:1;border-color:var(--de-indigo)}
.dfy-step.active .step-no{background:var(--de-orange);color:var(--de-ink)}
.bubble{width:100%;background:var(--de-peach);border:var(--divider);padding:14px}
.bubble b{display:block;color:var(--de-ink);font-size:13px;font-weight:600;margin-bottom:6px}
.bubble p{font-size:13px;line-height:1.5;color:var(--de-body)}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.chips span{background:var(--de-tint-12);color:var(--de-indigo);font-size:12px;font-weight:500;text-align:center;padding:7px 0}
.built{width:100%;border:var(--divider);padding:12px}
.built h4{font-size:13px}
.formula{color:var(--de-indigo);font-size:11px;line-height:1.4;margin-top:6px}
.built table{width:100%;border-collapse:collapse;margin-top:12px;font-size:11px;font-variant-numeric:tabular-nums}
.built th{text-align:left;font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--de-slate-600);background:var(--de-tint-6);padding:6px 4px}
.built td{padding:8px 4px;border-bottom:var(--divider)}
.built th:nth-child(n+2),.built td:nth-child(n+2){text-align:right}
.sched-box{width:100%;background:var(--de-tint-6);border:var(--divider);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.sched-box b{font-size:14px;font-weight:600}
.sched-box em{font-style:normal;font-size:13px;color:var(--de-indigo)}
.sched-box em.gs{color:var(--de-indigo-500);font-weight:600;margin-top:4px}
.sched-box small{font-size:12px;color:var(--de-body)}

/* ---------- scheduled delivery: the one Export Orange band, all text Ink ---------- */
.emphasis{background:var(--de-orange);padding:var(--section-y) 0}
.emphasis h2,.emphasis .lead,.emphasis .check-list li,.emphasis .check-list svg{color:var(--de-ink)}
.check-list{display:flex;flex-direction:column;gap:var(--space-2)}
.check-list.simple li{display:flex;align-items:center;gap:12px;font-size:16px;line-height:24px;font-weight:500}
.check-list svg{width:24px;height:24px;flex:none}
.mock-split{display:grid;grid-template-columns:1fr 1.02fr;gap:var(--space-2);padding:0;align-items:start}
.sched,.summary{padding:20px 16px 16px}
.sched-head,.summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:8px}
.field{background:var(--de-tint-6);border:var(--divider);padding:6px 9px;display:flex;flex-direction:column;gap:2px;transition:border-color var(--transition)}
.field:focus-within,.field:hover{border-color:var(--de-indigo)}
.field small,.deliver{font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--de-slate-600)}
.field select{border:0;background:transparent;font-size:13px;color:var(--de-ink);padding:0;outline:0;cursor:pointer;width:100%}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.deliver{display:block;margin:16px 0 8px}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pill{font-size:12px;text-align:center;padding:6px 0;background:var(--de-white);color:var(--de-body);border:var(--divider);transition:all var(--transition)}
.pill:hover{border-color:var(--de-indigo)}
.pill[aria-pressed=true]{background:var(--de-tint-12);border-color:var(--de-indigo);color:var(--de-indigo);font-weight:600}
.sched-btn{display:block;width:100%;margin-top:18px;padding:9px 12px}
.sched-note{min-height:36px;margin-top:8px;font-size:11.5px;line-height:1.5;color:var(--de-slate-700)}
.paused .sched select,.paused .sched .pill{opacity:.5}
.sum-pick{font-size:12px;font-weight:600;color:var(--de-indigo);font-variant-numeric:tabular-nums}
.bars{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;height:110px;border-bottom:var(--divider)}
.bars button{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}
.bars i{display:block;width:14px;height:var(--h);background:var(--de-indigo);transition:background-color var(--transition)}
.bars button:hover i{background:var(--de-indigo-500)}
.bars button.on i{background:var(--de-orange)}
.summary table{width:100%;border-collapse:collapse;margin-top:14px;font-size:11px;font-variant-numeric:tabular-nums}
.summary th{text-align:left;font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--de-slate-600);background:var(--de-tint-6);padding:6px 4px}
.summary td{padding:9px 4px;border-bottom:var(--divider)}
.summary th:nth-child(n+2),.summary td:nth-child(n+2){text-align:right}
.summary tr.on td{background:var(--de-peach);font-weight:600}

/* ---------- testimonials (cream, 3-col carousel) ---------- */
.testimonials{padding:var(--section-y) 0}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;gap:var(--space-4);transition:transform .5s ease;touch-action:pan-y}
.tcard{flex:0 0 calc((100% - 2 * var(--space-4)) / 3);background:var(--de-white);border:var(--divider);padding:var(--space-4) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);transition:border-color var(--transition)}
.tcard:hover{border-color:var(--de-indigo)}
.tcard blockquote{font-size:16px;line-height:26px;color:var(--de-body);flex:1}
.tcard figcaption{display:flex;align-items:center;gap:12px;padding-top:var(--space-2);border-top:var(--divider)}
.tcard figcaption img{width:48px;height:48px;object-fit:contain;border-radius:var(--radius-pill);border:var(--divider);background:#fff}
.tcard figcaption b{display:block;font-size:16px;line-height:24px;font-weight:500;color:var(--de-ink)}
.tcard figcaption span{display:block;font-size:14px;line-height:20px;color:var(--de-slate-600)}
.stars{display:flex;gap:4px;color:var(--de-orange)}
.stars svg{width:20px;height:20px}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-5)}
.dots{display:flex;gap:8px}
.dots button{width:28px;height:4px;background:var(--de-tint-12);position:relative;transition:background-color var(--transition)}
.dots button::before{content:"";position:absolute;inset:-20px 0}   /* 44px tap target */
.dots [aria-selected=true]{background:var(--de-indigo)}

/* ---------- pricing (white) ---------- */
.pricing{background:var(--de-white);padding:var(--section-y) 0}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.plan{background:var(--de-cream);border:1px solid var(--de-tint-12);padding:var(--space-4) var(--space-3);text-align:center;font-family:var(--de-font);transition:border-color var(--transition),background-color var(--transition)}
.plan:hover{border-color:var(--de-indigo)}
.plan[aria-checked=true]{background:var(--de-white);border:2px solid var(--de-indigo);padding:calc(var(--space-4) - 1px) calc(var(--space-3) - 1px)}
.plan .price{font-size:var(--fs-stat);font-weight:700;color:var(--de-indigo);line-height:1.2;margin:var(--space-1) 0;font-variant-numeric:tabular-nums}
.plan .price small{font-size:16px;font-weight:500;color:var(--de-body)}
.plan p:last-child{color:var(--de-body)}
.includes-panel{margin-top:var(--space-4);background:var(--de-tint-6);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}
.includes{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);max-width:820px}
.includes li{display:flex;align-items:center;gap:var(--space-1);color:var(--de-ink);font-size:16px;line-height:24px;font-weight:500}
.includes svg{width:20px;height:20px;color:var(--de-indigo-500);flex:none}

/* ---------- closing CTA: delivery feed ---------- */
.feed{width:100%;max-width:560px;background:var(--de-white);border:var(--divider);font-family:var(--de-font-ui);color:var(--de-ink);line-height:1.4}
.feed-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:var(--divider)}
.feed-head h4{font-size:15px;font-weight:600}
.feed-list li{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:var(--divider)}
.feed-list li:last-child{border-bottom:0}
.feed-list li.fresh{animation:feedin .5s ease both}
@keyframes feedin{from{opacity:0;transform:translateY(-10px);background:var(--de-peach)}}
.feed-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--de-tint-12);color:var(--de-indigo)}
.feed-icon svg{width:20px;height:20px}
.feed-text b{display:block;font-size:13px;font-weight:600}
.feed-text small,.feed-meta small{display:block;font-size:11.5px;color:var(--de-slate-600)}
.feed-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
/* ---------- footer (navy) ---------- */
.footer{background:var(--de-navy);color:#fff;padding:var(--section-y) 0 24px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 6fr;gap:40px;align-items:start}
.footer-logo img{height:28px;width:auto}
.fcol h5,.fnews h5{font-size:var(--fs-h5);line-height:20px;font-weight:700;color:#fff;margin-bottom:var(--space-2)}
.fcol a{display:block;color:var(--de-on-dark);margin-bottom:var(--space-1);transition:color var(--transition)}
.fcol a:hover{color:#fff}
.fnews{justify-self:end;width:100%;max-width:380px}
.subscribe{display:flex}
.subscribe input{flex:1;min-width:0;height:48px;border:1px solid #fff;border-right:0;border-radius:var(--radius);background:#fff;font:inherit;font-size:16px;padding:0 14px;color:var(--de-ink)}
.subscribe input::placeholder{color:var(--de-slate-600)}
.subscribe button{border:1px solid #fff;border-radius:var(--radius);background:transparent;color:#fff;font:inherit;font-size:16px;font-weight:600;padding:0 24px;height:48px;cursor:pointer;transition:background-color var(--transition)}
.subscribe button:hover{background:rgba(255,255,255,.1)}
.copyright{margin-top:var(--space-6);padding-top:30px;border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-caption);line-height:18px;color:var(--de-on-dark-muted)}

/* ============ responsive (479 · 767 · 991) ============ */
@media (max-width:1180px){
  .app-main{grid-template-columns:160px 1fr}
}
@media (max-width:991px){
  h2{font-size:2rem}
  .split{grid-template-columns:1fr;min-height:0}
  .split-copy{padding:var(--section-y) var(--gutter)}
  .split-media{padding:var(--space-5) var(--gutter);justify-content:center}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .row-4060,.row-6040{grid-template-columns:1fr;gap:var(--space-5)}
  .row-6040 .mock{order:2}
  .tcard{flex-basis:calc((100% - var(--space-4)) / 2)}
  .plans{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-4) 40px}
  .footer-logo,.fnews{grid-column:1 / -1}
  .fnews{justify-self:start}
}
@media (max-width:767px){
  .nav-links{display:none}
  .nav{justify-content:space-between}
  .badge-nav img{height:40px}
  .btn-lg{height:48px}
  .badge-lg img{height:48px}
  .lead,.sub{font-size:16px;line-height:26px}
  .split-media{padding:var(--space-4) var(--gutter)}
  .app-main{grid-template-columns:1fr}
  .app-list{display:flex;overflow-x:auto;border-right:0;border-bottom:var(--divider);padding:0}
  .app-list button{flex:none;width:auto;border-left:0;border-bottom:2px solid transparent;padding:10px 14px}
  .app-list [aria-selected=true]{border-bottom-color:var(--de-orange)}
  .app-list small{display:none}
  .app-sync{display:none}
  .grid-3{grid-template-columns:1fr}
  .fcard{min-height:0}
  .marquee-logos img{height:32px}
  .stats-grid{gap:var(--space-2)}
  .stat{min-height:128px;padding:var(--space-3) var(--space-2)}
  .mock{padding:var(--space-2)}
  .lib-top{flex-direction:column;align-items:stretch}
  .lib-search{width:100%}
  .lib-body{grid-template-columns:1fr}
  .lib-cats{display:flex;overflow-x:auto;gap:4px}
  .lib-cats button{white-space:nowrap;gap:8px}
  .custom-cards{grid-template-columns:1fr}
  .mock-split{grid-template-columns:1fr}
  .dfy-ui{grid-template-columns:1fr}
  .dfy-ui .dfy-step:nth-child(2),.dfy-step-3{grid-column:auto;grid-row:auto}
  .tcard{flex-basis:100%}
  .carousel-controls{gap:var(--space-2)}
  .dots{gap:6px}
  .dots button{width:14px}
  .includes-panel{padding:var(--space-4) var(--space-3)}
  .feed-list li{grid-template-columns:36px 1fr}
  .feed-meta{grid-column:2;align-items:flex-start;flex-direction:row;gap:8px}
}
@media (max-width:479px){
  h2{font-size:1.75rem}
  .plans{grid-template-columns:1fr}
  .includes{flex-direction:column;align-items:flex-start}
  .feed-head{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* ---------- hero fit + custom-report loop ---------- */
.hero .split-copy,.hero .split-media{padding-top:var(--space-6);padding-bottom:var(--space-6)}
.app-table tfoot td{font-weight:600;border-bottom:0;border-top:1px solid var(--de-indigo);background:var(--de-tint-6)}
.custom-ui{overflow:hidden}
.loop-bar{position:absolute;left:0;top:0;height:2px;width:0;background:var(--de-orange)}
.loop-bar.run{animation:loopbar 3s linear infinite}
@keyframes loopbar{from{width:0}to{width:100%}}
.data-table th.new,.data-table td.new{background:var(--de-peach)}
@media (max-width:1100px){
  .hero.split{grid-template-columns:1fr}
  .hero .split-copy{padding:var(--space-6) var(--gutter)}
  .hero .split-media{padding:var(--space-5) var(--gutter);justify-content:center}
}

/* ---------- hero app fills its panel ---------- */
.col-share{width:30%}
.app-table td.col-share{white-space:nowrap}
.share{display:inline-block;vertical-align:middle;width:calc(100% - 44px);height:8px;background:var(--de-tint-12)}
.share i{display:block;height:100%;background:var(--de-indigo-500);transition:width .5s ease}
.app-table tbody tr:first-child .share i{background:var(--de-orange)}
.col-share small{display:inline-block;width:40px;text-align:right;font-size:12px;color:var(--de-slate-600);font-variant-numeric:tabular-nums}
@media (min-width:1101px){
  .hero .split-media{padding-left:var(--space-5);padding-right:max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)))}   /* app ends on the container edge, mirroring the copy */
  .hero .app{max-width:none}
  .app-table-wrap{display:flex;flex-direction:column}
  .app-table{flex:1}                                     /* rows grow to use the full height */
}
@media (min-width:768px){
  .app-list{display:flex;flex-direction:column}
  .app-list button{flex:1}                               /* report list spans the full column */
}
@media (max-width:767px){
  .col-share{display:none}
}
@media (min-width:1101px){
  .app .col-share{display:none}                          /* not enough width beside the headline */
}

/* ---------- custom report: panel matches the copy column height ---------- */
@media (min-width:992px){
  .features .row-4060:first-child{align-items:stretch}
  .features .row-4060:first-child .mock{display:flex}
  .custom-ui{flex:1;display:flex;flex-direction:column}
  .custom-ui .table-scroll{flex:1;display:flex;flex-direction:column}
  .custom-ui .data-table{flex:1}                        /* rows share the extra height */
}
.custom-ui .data-table{font-size:12.5px}
.custom-ui .data-table th,.custom-ui .data-table td{padding-left:8px;padding-right:8px}
.custom-ui .data-table td{white-space:normal}         /* rows are tall enough to wrap, so all 8 columns fit */
.custom-ui .data-table td:first-child{white-space:nowrap}

/* ---------- done-for-you: steps 1 | 2 on top, step 3 full width, even 16px gaps ---------- */
.dfy-ui{grid-template-columns:1fr 1.25fr;align-items:stretch;gap:var(--space-2)}
.dfy-ui .dfy-step:nth-child(2){grid-column:2;grid-row:1}
.dfy-ui .dfy-step:nth-child(2) .tag-green{margin-top:auto}
.dfy-ui .dfy-step-3{grid-column:1 / -1;grid-row:2;flex-direction:row;align-items:center;gap:var(--space-2)}
.dfy-step-3 .sched-box{flex:1;align-self:stretch;justify-content:center}
@media (max-width:767px){
  .dfy-ui{grid-template-columns:1fr}
  .dfy-ui .dfy-step:nth-child(2),.dfy-ui .dfy-step-3{grid-column:auto;grid-row:auto}
  .dfy-ui .dfy-step-3{flex-direction:column;align-items:flex-start}
  .dfy-step-3 .sched-box{align-self:auto}
}

/* ---------- schedule + summary cards share one height ---------- */
.mock-split{align-items:stretch}
.summary{display:flex;flex-direction:column}
.summary .bars{flex:1;min-height:110px;height:auto}   /* chart takes the extra height */
.field-range{margin-top:8px}
@media (min-width:992px){
  .emphasis .row-4060{align-items:stretch}               /* cards run the full height of the copy */
  .sched{display:flex;flex-direction:column}
  .sched .sched-btn{margin-top:auto}                     /* button sits level with the end of the table */
  .sched-note{min-height:0}
}
.upcoming{margin-top:4px}
.upcoming ul{border:var(--divider)}
.upcoming li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;font-size:12.5px;font-variant-numeric:tabular-nums}
.upcoming li+li{border-top:var(--divider)}
.upcoming li b{font-weight:600}
.upcoming li span{color:var(--de-indigo);font-weight:600;text-align:right}
.upcoming li small{grid-column:1 / -1;font-size:11px;color:var(--de-slate-600)}
.upcoming li.off{opacity:.45}
.sched .sched-btn{margin-top:16px}
@media (min-width:992px){
  .sched .upcoming{flex:1;display:flex;flex-direction:column}
  .upcoming ul{flex:1;display:flex;flex-direction:column}
  .upcoming li{flex:1;align-content:center}             /* rows share the card's spare height */
}
.upcoming li{grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:6px 10px}


/* ============ legal pages (terms · privacy · cookies) ============ */
.legal-hero{background:var(--de-grad-hero);padding:var(--space-6) 0 var(--space-5)}
.legal-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-bottom:var(--space-4);border-bottom:var(--divider)}
.legal-tabs a{padding:0 0 12px;margin-bottom:-1px;font-size:16px;font-weight:500;color:var(--de-slate-600);border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}
.legal-tabs a:hover{color:var(--de-indigo)}
.legal-tabs a[aria-current=page]{color:var(--de-indigo);font-weight:700;border-bottom-color:var(--de-orange)}
.legal-hero h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1;font-weight:700;letter-spacing:var(--ls-hero);color:var(--de-indigo)}
.legal-updated{margin-top:var(--space-2);font-size:var(--fs-label);line-height:20px;font-weight:500;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--de-slate-600)}
.legal{padding:var(--space-6) 0 var(--section-y)}
.legal-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-6);align-items:start}
.legal-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding:var(--space-3);background:var(--de-tint-6-solid);border:var(--divider)}
.legal-toc h5{font-size:var(--fs-h5);line-height:20px;font-weight:700;letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--de-slate-700);margin-bottom:var(--space-2)}
.legal-toc ol{display:flex;flex-direction:column;gap:2px}
.legal-toc a{display:block;padding:4px 0 4px 12px;border-left:2px solid transparent;font-size:13px;line-height:20px;color:var(--de-slate-600);transition:color var(--transition),border-color var(--transition)}
.legal-toc a:hover{color:var(--de-indigo);border-left-color:var(--de-orange)}
.legal-body{max-width:820px;font-size:16px;line-height:28px;color:var(--de-body)}
.legal-body h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.02em;scroll-margin-top:96px}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{margin:var(--space-4) 0 var(--space-1);font-size:18px;line-height:26px;font-weight:700;color:var(--de-ink)}
.legal-body p{margin:0 0 var(--space-2)}
.legal-body ul{list-style:disc;padding-left:var(--space-3);margin:0 0 var(--space-3)}
.legal-body li{margin-bottom:var(--space-1);padding-left:4px}
.legal-body li::marker{color:var(--de-orange)}
.legal-body strong{font-weight:700;color:var(--de-ink)}
.legal-body a{color:var(--de-link);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-body a:hover{color:var(--de-indigo)}
.legal-body address{font-style:normal;margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);background:var(--de-tint-6-solid);border-left:3px solid var(--de-orange)}
.legal-body .in-short{padding:var(--space-2) var(--space-3);background:var(--de-peach);border-left:3px solid var(--de-orange);color:var(--de-ink)}
@media (max-width:991px){
  .legal-hero{padding:var(--space-5) 0 var(--space-4)}
  .legal-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .legal-toc{position:static;max-height:none}
  .legal-toc ol{columns:2;column-gap:var(--space-4);display:block}
  .legal-toc li{break-inside:avoid}
}
@media (max-width:767px){
  .legal-tabs{gap:var(--space-1) var(--space-3)}
  .legal-tabs a{font-size:14px}
  .legal-toc ol{columns:1}
}
