:root { --rp-ink:#202923; --rp-paper:#f4f1e8; --rp-accent:#d3ee63; --rp-muted:#556058; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--rp-ink); background:var(--rp-paper); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
img { max-width:100%; }
a { color:inherit; text-underline-offset:.2em; }
button { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--rp-ink); outline-offset:5px; }
.skip-link { position:absolute; top:-5rem; left:1rem; z-index:100; background:var(--rp-ink); color:white; padding:.75rem 1rem; }
.skip-link:focus { top:1rem; }
.policy-header { display:flex; justify-content:center; padding:2rem 1.25rem 1rem; }
.policy-header a { display:flex; align-items:center; gap:1rem; text-decoration:none; font-weight:650; font-size:1.15rem; }
.policy-header img { border-radius:12px; }
.policy-content { width:min(100% - 2.5rem,46rem); margin:2rem auto 5rem; }
.policy-content h1 { text-align:center; font-size:clamp(2.1rem,5vw,3rem); line-height:1.1; letter-spacing:-.035em; }
.effective { text-align:center; color:var(--rp-muted); margin:1rem 0 3rem; }
.policy-content section { margin:2.5rem 0; }
.policy-content h2 { font-size:1.2rem; line-height:1.35; margin-bottom:.65rem; }
.policy-content p { font-size:1.025rem; line-height:1.7; }
.contact-button { display:table; margin:0 auto 3rem; padding:1rem 1.5rem; border-radius:99px; background:var(--rp-ink); color:var(--rp-paper); font-weight:600; text-decoration:none; }
.site-footer { padding:3.5rem 1.25rem 2rem; text-align:center; background:var(--rp-ink); color:var(--rp-paper); }
.maker-link img { width:auto; height:22px; }
.site-footer nav { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.8rem 1.4rem; margin:2rem auto 1rem; }
.site-footer a,.site-footer button { color:inherit; font-size:.9rem; }
.site-footer button { border:0; padding:.4rem 0; text-decoration:underline; text-underline-offset:.2em; background:none; cursor:pointer; }
.site-footer p { font-size:.8rem; opacity:.75; }
.site-footer :focus-visible { outline-color:var(--rp-accent); }
.more-apps { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:.75rem 1.2rem; max-width:65rem; margin:2rem auto; }
.more-apps strong { width:100%; margin-bottom:.4rem; font-size:.9rem; }
.moreapps { display:flex; flex-direction:column; align-items:center; gap:.7rem; margin:1.5rem auto; max-width:65rem; }
.moreapps small,.madeby small { color:#c2c9b8; font-size:.75rem; letter-spacing:.04em; }
.madeby { display:flex; flex-direction:column; align-items:center; gap:.6rem; }
.moreapps nav { margin:0; font-size:.85rem; }
.analytics-choice[hidden] { display:none; }
.analytics-choice { position:fixed; z-index:90; bottom:1rem; left:50%; transform:translateX(-50%); width:min(35rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow-y:auto; padding:1.5rem; border:1px solid #b4b9ab; border-radius:1rem; background:var(--rp-paper); color:var(--rp-ink); box-shadow:0 10px 50px #20292325; }
.analytics-choice h2 { font-size:1.2rem; margin:0 0 .7rem; }
.analytics-choice p { font-size:.95rem; line-height:1.5; margin:.75rem 0; }
.analytics-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; }
.analytics-actions button { flex:1; min-width:8rem; min-height:44px; border:1px solid var(--rp-ink); border-radius:.7rem; padding:.75rem; color:var(--rp-ink); background:none; cursor:pointer; }
.analytics-actions [data-allow-analytics] { background:var(--rp-ink); color:var(--rp-paper); }
.product-note { max-width:44rem; margin:1.25rem auto; text-align:center; color:var(--rp-muted); font-size:.9rem; line-height:1.6; padding-inline:1rem; }
.screen-gallery { padding:3rem 0 4rem; }
.screen-gallery>h2 { font-size:clamp(1.75rem,4vw,2.75rem); line-height:1.15; text-align:center; padding-inline:1rem; letter-spacing:-.025em; }
.hero h1 .hl { font-style:normal; }
.fcard .ico { font-variant-numeric:tabular-nums; font-size:.9rem; font-weight:700; }
.brand img { box-shadow:none; }
.nav { min-height:66px; height:auto; padding-block:.75rem; gap:.75rem; flex-wrap:wrap; }
.brand { font-size:1.1875rem; min-width:0; }
.nav .cta { white-space:nowrap; font-size:.875rem; }
.hero h1 { font-size:clamp(2.375rem,6.4vw,4.5rem); overflow-wrap:anywhere; }
.hero p.sub { font-size:clamp(1.0625rem,2.3vw,1.3125rem); }
.eyebrow { font-size:.8125rem; }
.free-note { font-size:.875rem; }
.feat h2 { font-size:clamp(1.875rem,4.4vw,2.875rem); overflow-wrap:anywhere; }
.feat .lead,.cta-band p { font-size:1.125rem; }
.fcard h3 { font-size:1.3125rem; }
.fcard p { font-size:.96875rem; }
.stat b { font-size:clamp(2.125rem,5vw,3.375rem); }
.stat span { font-size:.875rem; }
.cta-band h2 { font-size:clamp(1.875rem,4.6vw,3rem); overflow-wrap:anywhere; }
.grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr)); }
.rp-gallery { display:grid; grid-auto-flow:column; grid-auto-columns:min(78vw,20rem); gap:1.25rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scroll-padding-inline:1.25rem; padding:1.25rem; max-width:100%; }
.rp-gallery [data-responsive-card] { min-width:0; scroll-snap-align:start; margin:0; }
.rp-gallery [data-responsive-card]:last-child { scroll-snap-align:end; }
.rp-gallery img { display:block; width:100%; height:auto; border-radius:1rem; }
.rp-gallery h3 { font-size:1.05rem; line-height:1.35; margin:1rem 0 .4rem; }
.rp-gallery p { font-size:.9rem; line-height:1.55; margin:0; color:var(--rp-muted); }
@media(min-width:1212px) { .rp-gallery { max-width:1280px; margin-inline:auto; grid-auto-flow:row; grid-template-columns:repeat(4,minmax(0,1fr)); overflow-x:visible; padding-inline:2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
