/* === RestroPress site chrome (header, footer, fonts, tokens) extracted from the new site stylesheet === */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/rp-live/assets/optimized/inter-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/rp-live/assets/optimized/inter-400-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/rp-live/assets/optimized/inter-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/rp-live/assets/optimized/inter-500-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/rp-live/assets/optimized/inter-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/rp-live/assets/optimized/inter-600-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/rp-live/assets/optimized/poppins-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/rp-live/assets/optimized/poppins-500-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/rp-live/assets/optimized/poppins-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/rp-live/assets/optimized/poppins-600-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/rp-live/assets/optimized/inter-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/rp-live/assets/optimized/inter-700-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/rp-live/assets/optimized/poppins-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20CF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/rp-live/assets/optimized/poppins-700-ext.woff2') format('woff2');unicode-range:U+0100-024F;}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%; }
body{ margin:0;background:#f7f3ec;color:#1d1a3f;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased; }
:root{ --title:700 clamp(38px,5.2vw,66px)/1.18 Poppins,Arial,sans-serif;--title-ls:-1.7px;--section:700 clamp(29px,3.5vw,44px)/1.18 Poppins,Arial,sans-serif;--card:700 clamp(26px,2.6vw,34px)/1.15 Poppins,Arial,sans-serif;--figure:700 clamp(28px,3.1vw,44px)/1.05 Poppins,Arial,sans-serif; }
@media (max-width:850px){:root{ --title:700 clamp(34px,5.4vw,45px)/1.18 Poppins,Arial,sans-serif; }}
@media (max-width:560px){:root{ --title:700 clamp(24px,7.4vw,38px)/1.18 Poppins,Arial,sans-serif;--title-ls:-1.1px; }}
@media (prefers-reduced-motion:no-preference){html{ scroll-behavior:smooth; }}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{ animation:none !important;transition:none !important; }}
.wrap{ max-width:1280px;margin:0 auto;padding-inline:clamp(20px,4vw,56px); }
.pill{ display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 10px 0 26px;border-radius:999px;background:#1d1a3f;color:#fff;font-size:17px;font-weight:600;text-decoration:none;transition:background .15s; }
.pill:hover{ background:#302367;color:#fff; }
.pill > span{ flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ef643d; }
.pill img{ display:block;width:16px;height:16px; }
.pill.orange{ background:#ef643d;color:#1d1a3f; }
.pill.orange:hover{ background:#ff7a52;color:#1d1a3f; }
.pill.orange > span{ background:#1d1a3f; }
.pill.line{ padding:0 26px;border:1.5px solid #8f86c4;background:none;color:#fff;transition:border-color .15s,background .15s; }
.pill.line:hover{ border-color:#fff;background:#3b2e7a;color:#fff; }
.pill.sm{ height:54px;padding-left:24px;font-size:16px; }
.site-head{ position:sticky;top:0;z-index:50;background:#f7f3ec;border-bottom:1px solid #e3dccf; }
.site-head > .wrap{ min-height:76px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding-block:12px; }
.site-logo{ display:block;flex:none; }
.site-logo img{ display:block;width:158px;height:auto; }
.site-head-nav{ display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:1 1 520px;min-width:0; }
.site-head nav{ display:flex;align-items:center;gap:2px;min-width:0;margin:-6px;padding:6px;overflow-x:auto;scrollbar-width:none; }
.site-head nav::-webkit-scrollbar{ display:none; }
.site-head nav a:not(.pill){ display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:15px;font-weight:500;white-space:nowrap;text-decoration:none;color:#1d1a3f;transition:background .15s; }
.site-head nav a:not(.pill):hover,.site-head nav a.on{ background:#ebe3d5;color:#1d1a3f; }
.site-head nav a.on{ font-weight:600; }
.site-head nav a.on span{ width:6px;height:6px;border-radius:50%;background:#ef643d; }
.site-head .pill{ flex:none;gap:10px;height:46px;padding:0 8px 0 20px;font-size:15px;white-space:nowrap; }
.site-head .pill > span{ width:32px;height:32px; }
.site-head nav > .pill{ margin-left:8px; }
.site-menu{ display:none; }
.site-head nav[popover]{ position:static;width:auto;height:auto;border:0;background:none;color:inherit; }
@supports selector(:popover-open){@media (max-width:1119px){.site-head > .wrap{ column-gap:12px; }.site-head-nav{ flex:0 0 auto; }.site-menu{ display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px;border:1.5px solid #1d1a3f;border-radius:999px;background:none;color:#1d1a3f;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s; }.site-menu:hover{ background:#ebe3d5; }.site-menu img{ display:block; }.site-head nav[popover]:not(:popover-open){ display:none; }.site-head nav:popover-open{ position:fixed;inset:85px clamp(20px,4vw,56px) auto auto;width:min(360px,calc(100vw - 40px));max-height:calc(100dvh - 100px);margin:0;flex-direction:column;align-items:stretch;gap:2px;padding:12px;border:1px solid #e3dccf;border-radius:24px;background:#fffdf9;box-shadow:0 24px 60px rgba(29,26,63,.18);overflow:auto; }.site-head nav:popover-open a:not(.pill){ min-height:48px;padding:12px 16px;font-size:16px; }.site-head nav:popover-open .pill{ justify-content:space-between;margin:10px 0 0; }.site-head-nav:has(nav:popover-open) .site-menu{ background:#ebe3d5; }}}
.site-foot{ background:#efe9df;border-top:1px solid #e3dccf; }
.site-foot > .wrap{ padding-top:clamp(56px,7vw,96px); }
.site-foot-top{ display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px 48px;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid #ddd4c6; }
.site-foot-top > p{ flex:1 1 560px;font:var(--section);letter-spacing:-1.2px;text-wrap:balance; }
.site-foot-top > p span{ letter-spacing:-.01em;color:#e0532b; }
.site-foot-top > div{ flex:0 1 300px;display:flex;flex-direction:column;align-items:flex-start;gap:18px; }
.site-foot-top img{ display:block;width:176px;height:auto; }
.site-foot-top a[href^="mailto"]{ font-size:17px;font-weight:600;text-decoration:underline;text-decoration-color:#ef643d;text-decoration-thickness:2px;text-underline-offset:5px; }
.site-foot-links{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:36px 32px;padding:clamp(40px,5vw,56px) 0; }
.site-foot-links h2{ margin-bottom:16px;font:600 12px Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#b43f1d; }
.site-foot-links ul{ display:grid;gap:10px;padding:0;list-style:none;font-size:16px; }
.site-foot-links a{ text-decoration:none; }
.site-foot-bottom{ display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding:22px 0 28px;border-top:1px solid #ddd4c6;font:600 12px Inter,Arial,sans-serif;letter-spacing:.04em;color:#5b5873; }
.site-foot-bottom nav{ display:flex;flex-wrap:wrap;gap:6px 22px; }
.site-foot-bottom a{ color:#5b5873;text-decoration:none; }
.site-cta > .wrap{ position:relative;padding-block:clamp(72px,10vw,136px); }
.site-cta .pill img{ width:17px;height:17px; }
.faq-block > .wrap{ display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px clamp(40px,6vw,96px); }
.dine-values .wrap{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.dine-plan-callout .pill{ align-self:flex-start; }
.dine-closing > .wrap{ position:relative;padding-top:clamp(72px,10vw,136px); }
.dine-closing .pill > span{ background:#fff; }
.pr-hero > .wrap{ padding-block:clamp(28px,4vw,44px) clamp(64px,8vw,104px); }
.pill.pr-compare{ gap:10px;height:54px;padding:0 24px;margin-top:32px;font-size:16px; }
.pill.pr-rec-link{ display:flex;justify-content:space-between;width:100%;height:52px;margin-top:20px;padding:0 8px 0 22px;font-size:16px; }
.pr-plans > .wrap{ padding-block:clamp(64px,8vw,104px); }
.pr-free .pill{ flex:none;gap:10px;height:54px;padding:0 24px;font-size:16px; }
.pr-free .pill img{ width:17px;height:17px; }
.pr-pro-sec > .wrap{ padding-top:clamp(64px,8vw,104px); }
.pr-pro .pill{ gap:10px;height:52px;padding:0 8px 0 22px;margin-top:28px;font-size:16px; }
.pr-pro.sm .pill{ height:50px;padding:0 8px 0 20px;margin-top:22px;font-size:15px; }
.pr-pro.sm .pill > span{ width:34px;height:34px; }
.pr-pro.sm .pill img{ width:15px;height:15px; }
.ex-catalog > .wrap{ padding-block:clamp(64px,8vw,104px) clamp(72px,9vw,120px); }
.pill.ghost{ padding:0 26px;border:1.5px solid #1d1a3f;background:none;color:#1d1a3f; }
.pill.ghost:hover{ background:#fde8dc;color:#1d1a3f; }
.apps-hero > .wrap{ padding-bottom:clamp(56px,7vw,88px); }
.apps-roles > .wrap{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
.app-hero > .wrap{ padding-bottom:clamp(96px,11vw,140px); }
.app-story .wrap{ display:flex;flex-wrap:wrap;align-items:center;gap:48px clamp(40px,6vw,96px); }
.app-story .wrap > div{ flex:1.1 1 460px;min-width:0; }
.plan-included .wrap > div{ margin-top:44px;padding:clamp(20px,3vw,36px);border-radius:26px;background:#fffdf9;box-shadow:0 1px 0 #e3dccf,0 30px 60px -44px rgba(48,35,103,.5); }
.about-hero > .wrap{ padding-bottom:0; }
.about-fig > .wrap{ padding-bottom:clamp(48px,6vw,80px); }
.about-why > .wrap{ display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px);padding-block:clamp(24px,4vw,48px) clamp(80px,10vw,128px); }
.about-why > .wrap > div:first-child{ flex:1 1 380px; }
.about-why > .wrap > div:last-child{ flex:1.2 1 460px; }
.about-why > .wrap > div:last-child > p{ font-size:18px;line-height:1.7;color:#d9d4f0;margin-top:18px; }
.about-why > .wrap > div:last-child > p:first-child{ margin-top:0;font:600 clamp(28px,3vw,42px)/1.15 Poppins,Arial,sans-serif;color:#ffb59b; }
.about-why > .wrap > div:last-child > p:nth-child(2){ margin-top:28px; }
.about-approach .wrap{ display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px); }
.about-approach .wrap > div:first-child{ flex:1 1 320px; }
.about-approach .wrap > div:last-child{ flex:1.4 1 480px;border-top:1.5px solid #1d1a3f; }
.svc-process .wrap{ display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px); }
.svc-process .wrap > div{ flex:1 1 380px; }
.svc-existing .wrap > div{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;margin-top:44px; }
.svc-existing .wrap > div > div{ display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:26px; }
.svc-orange .pill{ align-self:flex-start;margin-top:10px; }
.svc-orange .pill > span{ background:#fff; }
.wl-hero .hero-copy > .pill{ margin-top:34px; }
.wl-existing .wrap > div{ display:flex;flex-wrap:wrap;gap:24px clamp(40px,6vw,96px);margin-top:40px;padding-top:32px;border-top:1.5px solid #1d1a3f; }
.wl-existing .wrap > div > div{ flex:1 1 420px; }
.demo-story .wrap{ display:flex;flex-wrap:wrap;align-items:center;gap:48px clamp(40px,5vw,80px); }
.demo-team .wrap{ flex-wrap:wrap-reverse; }
.demo-story .wrap > div{ flex:1 1 340px;min-width:0; }
.demo-story .pill{ margin-top:28px; }
.faq-hero > .wrap{ padding-bottom:clamp(56px,7vw,88px); }
.faq-all .wrap{ max-width:1080px;padding-block:clamp(56px,7vw,96px) clamp(80px,10vw,128px); }
.cl-hero > .wrap{ position:relative;padding-block:clamp(28px,4vw,44px) clamp(64px,8vw,104px); }
.cl-info .wrap > div{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;margin-top:44px; }
.cl-info .wrap > div > div{ display:flex;flex-direction:column;gap:12px;padding:32px;border:1.5px solid #6f64b0;border-radius:26px; }
.cl-info .wrap > div > .cl-light{ border:0;background:#fffdf9;color:#1d1a3f; }
.pol-hero > .wrap{ padding-bottom:clamp(48px,6vw,72px); }
.pol-text > .wrap{ display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px clamp(32px,4vw,64px);padding-block:clamp(40px,6vw,80px) clamp(80px,10vw,128px); }
.sm-hero > .wrap{ padding-bottom:clamp(56px,7vw,88px); }
.sm-all > .wrap{ column-width:300px;column-gap:40px;padding-block:clamp(56px,7vw,96px) clamp(80px,10vw,128px); }
.nf-hero > .wrap{ position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:48px clamp(40px,6vw,96px);padding-block:clamp(56px,8vw,112px); }
.nf-hero > .wrap > div:first-child{ flex:1 1 480px;min-width:0; }
.nf-hero > .wrap > div:last-child{ flex:0 1 420px;min-width:240px;display:flex;align-items:center;justify-content:center; }
.nf-hero > .wrap > div:last-child span{ font:600 clamp(40px,6vw,76px) Inter,Arial,sans-serif;letter-spacing:.04em;color:#ffb59b; }
.nf-links .wrap > div{ display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:44px; }
.auth-form .pill{ justify-content:space-between;width:100%;margin-top:6px;border:0;cursor:pointer; }
.blog-news-form .pill{ height:56px; }
.blog-post-hero > .wrap{ padding-bottom:clamp(40px,5vw,64px); }
.blog-post-body > .wrap{ padding-top:clamp(28px,4vw,48px); }


/* ================= v4.3: blog articles (single posts) ================= */
.rp-theme.single-post { background: #f7f3ec !important; color: #1d1a3f; font-family: Inter, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.rp-theme .rp-article { padding: 8px 0 64px; font-size: 18px; line-height: 1.75; color: #2a2748; box-sizing: border-box; }
.rp-theme .rp-article > * { max-width: 100%; }
.rp-theme .rp-article p, .rp-theme .rp-article ul, .rp-theme .rp-article ol { margin: 0 0 22px; }
.rp-theme .rp-article ul, .rp-theme .rp-article ol { padding-left: 26px; }
.rp-theme .rp-article li { margin: 0 0 8px; }
.rp-theme .rp-article li::marker { color: #ef643d; font-weight: 700; }
.rp-theme .rp-article h2 { margin: 44px 0 14px; font: 700 clamp(24px, 2.6vw, 30px)/1.25 Poppins, Arial, sans-serif; letter-spacing: -.02em; color: #1d1a3f; }
.rp-theme .rp-article h3 { margin: 32px 0 10px; font: 600 clamp(20px, 2vw, 23px)/1.3 Poppins, Arial, sans-serif; color: #1d1a3f; }
.rp-theme .rp-article h4 { margin: 26px 0 8px; font: 600 18px/1.35 Poppins, Arial, sans-serif; color: #1d1a3f; }
.rp-theme .rp-article a { color: #1d1a3f; font-weight: 600; text-decoration: underline; text-decoration-color: #ef643d; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rp-theme .rp-article img { max-width: 100%; height: auto; border-radius: 20px; }
.rp-theme .rp-article figure { margin: 28px 0; }
.rp-theme .rp-article figcaption { margin-top: 10px; font-size: 14px; color: #5b5873; }
.rp-theme .rp-article blockquote { margin: 28px 0; padding: 18px 24px; border-left: 4px solid #ef643d; border-radius: 0 18px 18px 0; background: #fffdf9; font-size: 19px; }
.rp-theme .rp-article table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 0 24px; font-size: 15px; background: #fffdf9; border: 1px solid #e3dccf; border-radius: 18px; overflow: hidden; }
.rp-theme .rp-article th { text-align: left; font: 600 12px Inter, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #b43f1d; background: #f1ece2; padding: 12px 16px; }
.rp-theme .rp-article td { padding: 12px 16px; border-top: 1px solid #ece6da; vertical-align: top; }
.rp-theme .rp-article code { font-family: ui-monospace, Menlo, monospace; font-size: 15px; background: #f1ece2; padding: 2px 7px; border-radius: 8px; }
.rp-theme .rp-article pre { background: #1d1a3f; color: #fff; padding: 20px; border-radius: 18px; overflow: auto; }
.rp-theme .rp-article hr { border: 0; border-top: 1px solid #e3dccf; margin: 36px 0; }
/* hero */
.post-hero { background: #f7f3ec; }
.post-hero > .wrap { max-width: 860px; padding-top: 28px; padding-bottom: 36px; }
.post-hero .crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 26px; font: 600 12px Inter, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.post-hero .crumbs a { color: #5b5873; text-decoration: none; }
.post-hero .crumbs span:last-child { color: #b43f1d; }
.post-hero .crumbs span[aria-hidden] { color: #b9b3c9; }
.post-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 16px; font-size: 13px; font-weight: 600; color: #5b5873; }
.post-kicker > span:first-child { color: #b43f1d; letter-spacing: .14em; font-size: 12px; }
.post-hero h1 { margin: 0 0 18px; font: 700 clamp(30px, 4.2vw, 50px)/1.15 Poppins, Arial, sans-serif; letter-spacing: -.025em; color: #1d1a3f; text-wrap: balance; }
.post-lede { margin: 0 0 14px; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; color: #5b5873; max-width: 62ch; }
.post-by { margin: 0; font-size: 14px; font-weight: 600; color: #1d1a3f; }
.post-cover { margin: 30px 0 0; }
.post-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; border-radius: 24px; border: 1px solid #e3dccf; }
/* after the article */
.post-after > .wrap { padding-top: 0; padding-bottom: clamp(64px, 8vw, 96px); }
.post-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; padding: clamp(28px, 4vw, 44px); border-radius: 28px; background: #1d1a3f; color: #fff; }
.post-cta > div:first-child { flex: 1 1 420px; min-width: 0; }
.post-cta-kicker { margin: 0 0 10px; font: 600 12px Inter, Arial, sans-serif; letter-spacing: .16em; color: #ff916d; }
.post-cta h2 { margin: 0 0 10px; font: 700 clamp(24px, 2.8vw, 34px)/1.2 Poppins, Arial, sans-serif; letter-spacing: -.02em; color: #fff; }
.post-cta p { margin: 0; color: #c7d1e7; font-size: 16px; line-height: 1.6; }
.post-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.post-more-title { margin: 56px 0 22px; font: 700 clamp(24px, 2.8vw, 32px)/1.2 Poppins, Arial, sans-serif; letter-spacing: -.02em; color: #1d1a3f; }
.post-more-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.post-more-card { display: flex; flex-direction: column; gap: 10px; padding: 16px; border: 1px solid #e3dccf; border-radius: 22px; background: #fffdf9; color: #1d1a3f; text-decoration: none; transition: border-color .15s; }
.post-more-card:hover { border-color: #1d1a3f; }
.post-more-card img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; border-radius: 14px; }
.post-more-topic { font: 600 11px Inter, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #b43f1d; }
.post-more-card strong { font: 600 17px/1.35 Poppins, Arial, sans-serif; letter-spacing: -.01em; }
.post-more-date { font-size: 13px; color: #5b5873; }


/* ===== theme base ===== */
.rp-theme main { display: block; }
.rp-theme .wrap { max-width: 1280px; margin: 0 auto; padding-inline: clamp(20px, 4vw, 56px); }
.rp-theme.single-post .wrap.rp-article { max-width: 1280px; }
.rp-article { font-size: 19px; line-height: 1.75; color: #2a2748; }
.rp-page-hero { background: #f7f3ec; border-bottom: 1px solid #e3dccf; }
.rp-page-hero > .wrap { padding-top: 40px; padding-bottom: 36px; }
.rp-page-hero h1 { margin: 0; font: 700 clamp(30px, 4vw, 46px)/1.15 Poppins, Arial, sans-serif; letter-spacing: -.025em; color: #1d1a3f; }
.rp-page-lede { margin: 12px 0 0; font-size: 18px; color: #5b5873; max-width: 70ch; }
.rp-page > .wrap, .wrap.rp-page { padding-top: 36px; padding-bottom: clamp(64px, 8vw, 96px); min-height: 40vh; }
.rp-prose { font-size: 17px; line-height: 1.7; color: #2a2748; max-width: 820px; }
.rp-prose :is(p, ul, ol) { margin: 0 0 20px; }
.rp-prose :is(h2, h3) { margin: 36px 0 12px; font-family: Poppins, Arial, sans-serif; font-weight: 700; color: #1d1a3f; letter-spacing: -.02em; }
.rp-prose h2 { font-size: clamp(22px, 2.4vw, 28px); }
.rp-prose h3 { font-size: 20px; }
.rp-prose a { color: #1d1a3f; font-weight: 600; text-decoration: underline; text-decoration-color: #ef643d; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rp-prose img { max-width: 100%; height: auto; border-radius: 16px; }
.rp-prose table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fffdf9; border: 1px solid #e3dccf; border-radius: 18px; overflow: hidden; }
.rp-prose th { text-align: left; font: 600 12px Inter, Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #b43f1d; background: #f1ece2; padding: 12px 16px; }
.rp-prose td { padding: 12px 16px; border-top: 1px solid #ece6da; }
.rp-checkout-page { padding-top: 0; }
.rp-acct .rp-page-content:empty { display: none; }
.rp-acct .rp-page-content { display: grid; gap: 20px; }
/* search + 404 */
.rp-search { display: flex; gap: 10px; max-width: 640px; margin: 0 0 28px; }
.rp-search input { flex: 1; min-width: 0; height: 52px; padding: 0 18px; border: 1.5px solid #ddd5c7; border-radius: 999px; background: #fff; font: 16px Inter, Arial, sans-serif; color: #1d1a3f; }
.rp-search input:focus { outline: 3px solid #fbd3c2; border-color: #1d1a3f; }
.rp-search .pill { height: 52px; padding: 0 24px; border: 0; cursor: pointer; }
.rp-results { display: grid; gap: 12px; max-width: 860px; }
.rp-result { display: grid; gap: 6px; padding: 18px 22px; border: 1px solid #e3dccf; border-radius: 18px; background: #fffdf9; color: #1d1a3f; text-decoration: none; transition: border-color .15s; }
.rp-result:hover { border-color: #1d1a3f; }
.rp-result-type { font: 600 11px Inter, Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #b43f1d; }
.rp-result strong { font: 600 18px/1.3 Poppins, Arial, sans-serif; }
.rp-result > span:last-child { font-size: 15px; line-height: 1.5; color: #5b5873; }
.rp-pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.rp-pager .page-numbers { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1.5px solid #ddd5c7; border-radius: 999px; color: #1d1a3f; font-weight: 600; text-decoration: none; }
.rp-pager .page-numbers.current { background: #1d1a3f; border-color: #1d1a3f; color: #fff; }
.rp-404 > .wrap { padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(64px, 8vw, 112px); }
.rp-404 h1 { font-size: clamp(34px, 5vw, 58px); }
.rp-404-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 28px; }
.pill.line.dark { color: #1d1a3f; border-color: #1d1a3f; }
.pill.line.dark:hover { background: #fde8dc; color: #1d1a3f; }
.rp-404 .rp-search { margin-top: 8px; }
.rp-404 .post-kicker > span:first-child { color: #b43f1d; letter-spacing: .14em; font-size: 12px; font-weight: 600; }
.rp-theme .acc-band { background: #f7f3ec; border-bottom: 1px solid #e3dccf; }

/* base link colour (the static build sets this globally) */
.rp-theme a { color: inherit; }
.rp-theme .site-foot a, .rp-theme .site-head a { text-decoration: none; }
.rp-theme .site-foot-links a { color: #1d1a3f; }
.rp-theme .site-foot-links a:hover { color: #b43f1d; }
.rp-theme .site-foot-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rp-theme .site-foot-links h2 { margin-top: 0; }

/* checkout header: logo + secure label + two quiet links */
.site-head.is-checkout > .wrap { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.site-head.is-checkout .co-secure { display: inline-flex; align-items: center; gap: 8px; margin: 0 auto; font: 600 14px Inter, Arial, sans-serif; color: #1f8f63; }
.site-head.is-checkout .co-secure svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.site-head.is-checkout .co-links { display: flex; gap: 22px; }
.site-head.is-checkout .co-links a { font: 500 14px Inter, Arial, sans-serif; color: #5b5873; text-decoration: none; }
.site-head.is-checkout .co-links a:hover { color: #1d1a3f; text-decoration: underline; text-decoration-color: #ef643d; text-underline-offset: 4px; }
@media (max-width: 640px) { .site-head.is-checkout .co-secure { display: none; } .site-head.is-checkout .co-links { gap: 14px; } }
