/* Features hub (/features) and the one-page-per-feature layout
   (/features/<slug>), built like the intention pages: "All features" and a
   thin tab row on top, the feature's own block, then "Keep exploring". */
.fp-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Same band as .intent-intro on the intention pages: the site header is
   transparent and white here, so the band starts below it. */
.fp-top{background:linear-gradient(115deg,#1f5942,#3b8260);padding:124px 0 24px;color:#fff}
.fp-all{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;font-weight:800;color:#ffd0e1;text-decoration:none}
.fp-all:hover,.fp-all:focus-visible{color:#fff}
.fp-tabs{display:flex;gap:clamp(16px,2.4vw,28px);overflow-x:auto;scrollbar-width:none;margin-top:18px;border-bottom:1px solid rgba(255,255,255,.22)}
.fp-tabs::-webkit-scrollbar{display:none}
.fp-tabs a{flex:none;padding:8px 0 12px;font-size:.84rem;font-weight:700;color:rgba(255,255,255,.78);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.fp-tabs a:hover,.fp-tabs a:focus-visible{color:#fff}
.fp-tabs a[aria-current=page]{color:#fff;border-bottom-color:#ffd0e1}

/* hub: the same list as "Explore all nine intentions" on the homepage */
.fp-hub{background:#fffdf9}
.fp-hub-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:40px;align-items:end;padding-bottom:32px}
.fp-hub-heading h2{margin:0;font-size:clamp(3.2rem,5.2vw,6.1rem);line-height:.99;letter-spacing:-.07em;text-wrap:balance}
.fp-hub-heading h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#b74070}
.fp-hub-heading p{max-width:360px;margin:0 0 8px;color:#536858;font-size:1.08rem;line-height:1.52}
.fp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(36px,5vw,84px);row-gap:0;margin:0;border-top:1px solid #bbd0c1}
.fp-list a{display:grid;grid-template-columns:minmax(0,1fr) 25px;align-items:center;gap:20px;min-height:110px;padding:20px 4px 20px 0;border-bottom:1px solid #bbd0c1;color:#193a2b;text-decoration:none;transition:color .2s,padding .2s}
.fp-list a:hover,.fp-list a:focus-visible{color:#ad376a;padding-left:8px}
.fp-link-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.fp-link-copy strong{font-size:clamp(1.35rem,2.05vw,2.15rem);font-weight:700;line-height:1.12;letter-spacing:-.052em}
.fp-link-copy small{font-size:.92rem;font-weight:500;line-height:1.42;color:#58705e}
.fp-list b{color:#bd4776;text-align:right;font-size:1.42rem;font-weight:400;line-height:1;transition:transform .2s}
.fp-list a:hover b,.fp-list a:focus-visible b{transform:translate(3px,-3px)}
@media(max-width:850px){.fp-hub-heading{grid-template-columns:1fr;gap:16px;padding-bottom:24px}.fp-hub-heading h2{font-size:clamp(2.7rem,10vw,4.35rem)}.fp-hub-heading p{font-size:1rem}.fp-list{grid-template-columns:1fr}.fp-list a{min-height:86px;padding:16px 2px 16px 0}.fp-link-copy strong{font-size:1.4rem}.fp-link-copy small{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){.fp-list a,.fp-list b{transition:none}}

/* "Keep exploring" on every feature page */
.fp-more{background:#f2f6ef;padding:clamp(48px,6vw,80px) 0}
.fp-more .eyebrow{color:#bb4173}
.fp-more h2{font-size:clamp(2.2rem,3.6vw,3.4rem);letter-spacing:-.04em;line-height:1.05;margin:12px 0 0}
.fp-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.fp-more-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #dfe6dd;border-radius:16px;padding:18px 18px;color:#183727;text-decoration:none;font-size:1.05rem}
.fp-more-grid a:hover,.fp-more-grid a:focus-visible{border-color:#245F49}
.fp-more-grid b{color:#245F49}

/* Simple feature pages (Stories, First Impressions): text and a photo */
.fp-simple{background:#fffdf9}
.fp-simple-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center}
.fp-simple h2{font-size:clamp(3.4rem,5.6vw,6.6rem);line-height:.99;margin:20px 0 24px;letter-spacing:-.05em}
.fp-simple p{max-width:520px;font-size:1.18rem;line-height:1.6;color:#4d5a53;margin:0}
.fp-simple-photo{border-radius:22px;overflow:hidden;height:clamp(320px,38vw,520px);background:#dfe6dd}
.fp-simple-photo img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:850px){.fp-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-simple-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.fp-simple h2{font-size:clamp(3rem,12vw,4.4rem)}.fp-simple p{font-size:1.05rem}}

/* Safety page: verification + report and block, with app screenshots. */
.fv-verify{background:#fbf6e6}
.fv-report{background:#fdf3f6}
.fv-block .eyebrow{font-weight:800}
.fv-verify .eyebrow{color:#8a6a10}.fv-report .eyebrow{color:#c7487d}
.fv-block h2{font-size:clamp(3.2rem,5.4vw,6.4rem);line-height:.99;margin:18px 0 22px;letter-spacing:-.05em}
.fv-block h2 em{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.065em}
.fv-verify h2 em{color:#a07c12}.fv-report h2 em{color:#D94679}
.fv-lead{max-width:620px;font-size:1.18rem;line-height:1.6;color:#4d5a53;margin:0}
.fv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;margin-top:clamp(28px,4vw,44px)}
.fv-phones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,22px)}
.fv-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fv-steps li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:15px;padding:13px 15px;font-size:.95rem;color:#4d5a53;line-height:1.5}
.fv-steps li>span{width:28px;height:28px;border-radius:50%;color:#fff;font-weight:800;font-size:.85rem;display:grid;place-items:center;flex-shrink:0;line-height:1}
.fv-steps.gold li>span{background:#a07c12}.fv-steps.pink li>span{background:#D94679}
.fv-steps strong{display:block;color:#183727;font-size:1.02rem}
.fv-facts{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fv-facts li{background:#fff;border:1px solid #f1d6df;border-radius:999px;padding:7px 14px;font-size:.9rem;color:#4d5a53}
@media(max-width:850px){.fv-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.fv-block h2{font-size:clamp(2.9rem,11vw,4.2rem)}.fv-lead{font-size:1.05rem}}

/* Hub intro: text left, a tall photo right (under the text on phones). */
.fh-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,5vw,80px);align-items:center}
.fh-intro-grid h2{font-size:clamp(3.6rem,5.6vw,7.2rem)}
.fh-intro-photo{border-radius:22px;overflow:hidden;height:clamp(420px,46vw,640px);background:#dfe6dd}
.fh-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
@media(max-width:850px){.fh-intro-grid{grid-template-columns:minmax(0,1fr)}.fh-intro-photo{height:520px}}
@media(max-width:600px){.fh-intro-photo{height:440px}}

/* Live Map page: three app screens under the map block */
.lm-shots{background:#fffdf9}
.lm-phones{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px}
@media(max-width:600px){.lm-phones{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Stories page: four app screens */
.st-shots{background:#fdf3f6}
.st-shots .fq-feats li{display:block}

/* Phone rows sit in the middle of the page */
.fq-phones,.lm-phones{margin-left:auto;margin-right:auto}

/* Chat page: The Quiet Question (soft pink) and No Small Talk (soft gold) */
.cq-qq{background:#fdf3f6}
.cq-qq .eyebrow{color:#c7487d}
.cq-qq h2 em{color:#D94679}
.cq-nst{background:#fbf6e6}
.cq-nst .eyebrow{color:#8a6a10}
.cq-nst .fq-copy h2 em{color:#a07c12}
.cq-nst .fq-feats li{display:block;border-color:#eadfbd}

/* Discover page: three app screens. Filters page: screens, then Free and Premium. */
.dc-shots{background:#fdf3f6}
.dc-more{text-align:center;margin:34px 0 0}
.fl-main{background:#fffdf9}
.fl-main .fq-feats li{display:block}
.fl-plans{background:#fdf3f6}
.fl-plans .eyebrow{color:#c7487d}
.fl-plans h2{font-size:clamp(2.8rem,4.6vw,5.2rem);line-height:1;letter-spacing:-.05em;margin:16px 0 0}
.fl-plans h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#D94679}
.fl-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px;max-width:900px}
.fl-col{background:#fff;border:1px solid #f1d6df;border-radius:20px;padding:24px 26px}
.fl-col h3{margin:0 0 12px;font-size:1.5rem}
.fl-col ul{margin:0 0 6px;padding-left:20px;color:#4d5a53;line-height:1.9}
.fl-col-premium{border-color:#e7c86b;background:#fffaf0}
.fl-note{max-width:640px;color:#4d5a53;margin:24px 0 0}
@media(max-width:700px){.fl-cols{grid-template-columns:minmax(0,1fr)}}
/* Discover page: the Grid View phone sits where the photo was, next to the explanation */
.dc-hero-phone{display:flex;justify-content:center;align-items:center;background:#f2f6ef;border-radius:24px;padding:clamp(28px,4vw,48px) 20px}
.dc-hero-phone .fp-phone{width:100%;max-width:330px}

/* Numbered labels (01, 02, 03) were removed site-wide: the text takes the full row */
.fh-inline-features>div{grid-template-columns:minmax(0,1fr)}

/* First Impressions page: three call screens */
.fi-shots{background:#fdf3f6}
.fi-shots .fq-feats li{display:block}

/* App screens inside an existing block, and text + phones side by side */
.two-phones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.4vw,26px);max-width:560px;margin:clamp(28px,4vw,44px) auto clamp(36px,4vw,48px)}
.fx-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.fx-split h2{font-size:clamp(3rem,5vw,5.8rem);line-height:1;letter-spacing:-.05em;margin:18px 0 22px}
.fx-split h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:#D94679}
.fx-split p{max-width:560px;font-size:1.12rem;line-height:1.6;color:#4d5a53;margin:0 0 24px}
.fx-split .two-phones{margin:0;max-width:none}
.one-phone{max-width:300px;margin:0 auto;width:100%}
.sf-centre,.pf-music{background:#f2f6ef}
.sf-centre .eyebrow,.pf-music .eyebrow{color:#c7487d}
@media(max-width:850px){.fx-split-grid{grid-template-columns:minmax(0,1fr)}}
.cq-nst.cq-pg{background:#f2f6ef}.cq-pg .eyebrow{color:#245F49}.cq-pg .fq-copy h2 em{color:#D94679}.cq-pg .fq-feats li{border-color:#d6e3d6}
