/* Genvilo — header (Modern) + footer (Editorial) restyle. Loaded AFTER app.css; overrides only. */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* ===== Header — "Modern" (Space Grotesk, hairline underline, rounded-square buttons) ===== */
.snav{border-bottom:1px solid #eaddd7}
.snav-in,.sfoot-in{max-width:1400px}
/* Mobile app nav: the top tabs, notifications bell and logout duplicate the bottom bar (.bnav), which appears at <=767px. Hide them on mobile so only the logo remains up top. Logout stays available on the Profile page (/me). */
@media(max-width:767px){.anav-tabs,.anav-bell,.anav-out{display:none}}
.snav-brand{font-family:'Fraunces',serif;font-weight:500;font-size:25px;letter-spacing:-.01em}
.snav-mark{width:32px;height:32px}
.snav-links{gap:34px}
.snav-links a{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;color:#271a29}
.snav-links a:hover{color:#d22a5b}
.snav-btn{font-family:'Space Grotesk',sans-serif;border-radius:8px}
.snav-btn.ghost{border:1.5px solid #271a29;color:#271a29;font-weight:500}
.snav-btn.ghost:hover{background:#271a29;color:#fff}
.snav-btn.primary{background:linear-gradient(135deg,#d22a5b,#ef6a62);box-shadow:none}
.snav-btn.primary:hover{background:linear-gradient(135deg,#c11f4f,#e85c54)}

/* ===== Footer — "Editorial" (oversized serif brand, italic blurb, underlined serif headings) ===== */
.sfoot-brand{font-family:'Fraunces',serif;font-weight:500;font-size:25px;letter-spacing:-.01em}
.sfoot-mark{width:32px;height:32px}
.sfoot-blurb{font-family:'Fraunces',serif;font-style:italic;font-size:16.5px;line-height:1.7;color:#4a3d4f;max-width:32ch;margin:24px 0 26px}
.sfoot-soc a{background:transparent;border:1.5px solid #e2d2cb;width:42px;height:42px}
.sfoot-soc a:hover{background:transparent;border-color:#d22a5b;color:#d22a5b}
.sfoot-cols h4{font-family:'Fraunces',serif;font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;color:#271a29;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #eaddd8}
.sfoot-cols a{font-size:15px;color:#6e5d72;margin-bottom:12px}
.sfoot-cols a:hover{color:#d22a5b}

/* ===== Interior pages — premium editorial layout (.pg-*), additive ===== */
main.pg{background:#fdf9f5}
.pg-wrap{max-width:760px;margin:0 auto;padding:0 40px}
.pg-wrap-wide{max-width:1200px;margin:0 auto;padding:0 40px}
.pg-hero{text-align:center;padding:76px 0 52px}
.pg-eyebrow{font:700 12px/1 Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#d22a5b}
.pg-hero h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;color:#271a29;margin:16px 0 0}
.pg-sub{font:500 clamp(1.05rem,1.4vw,1.28rem)/1.6 Manrope,sans-serif;color:#6e5d72;max-width:34em;margin:20px auto 0}
.pg-body{padding-bottom:20px}
.pg-body h2{font-family:Fraunces,serif;font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.01em;color:#271a29;margin:52px 0 0}
.pg-body p{font:400 17.5px/1.72 Manrope,sans-serif;color:#4a3d4f;margin:18px 0 0}
.pg-body p em{font-style:italic;color:#271a29}
.pg-body a{color:#d22a5b;text-decoration:none;border-bottom:1px solid rgba(210,42,91,.3)}
.pg-body a:hover{border-color:#d22a5b}
.pg-steps{margin:44px 0 8px}
.pg-step{display:flex;gap:24px;align-items:flex-start;padding:26px 0;border-top:1.5px solid #efe0d9}
.pg-step:first-child{border-top:0}
.pg-no{font:600 clamp(2.2rem,3.2vw,2.9rem)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1.5px #d22a5b;flex:0 0 auto}
.pg-step h3{font-family:Fraunces,serif;font-weight:600;font-size:1.3rem;color:#271a29;margin:2px 0 8px}
.pg-step p{font:400 16px/1.65 Manrope,sans-serif;color:#4a3d4f;margin:0}
.pg-step em{font-style:italic;color:#271a29}
.pg-step a{color:#d22a5b;text-decoration:none;border-bottom:1px solid rgba(210,42,91,.3)}
.pg-callout{background:#fff;border:1px solid #eadfda;border-left:4px solid #d22a5b;border-radius:14px;padding:22px 26px;margin:40px 0 0;box-shadow:0 20px 40px -30px rgba(39,26,41,.3)}
.pg-callout p{font:500 16px/1.6 Manrope,sans-serif;color:#271a29;margin:0}
.pg-callout strong{color:#d22a5b}
.pg-list{list-style:none;padding:0;margin:22px 0 0}
.pg-list li{position:relative;padding-left:26px;margin:14px 0;font:400 16.5px/1.6 Manrope,sans-serif;color:#4a3d4f}
.pg-list li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#d22a5b,#ef6a62)}
.pg-list li strong{color:#271a29;font-weight:600}
.pg-list.pg-check li{padding-left:34px}
.pg-list.pg-check li::before{display:none}
.pg-list.pg-check li::after{content:"\2713";position:absolute;left:0;top:.05em;width:22px;height:22px;border-radius:50%;background:#e8f7f1;color:#0e7a5f;font:700 12px/22px Manrope,sans-serif;text-align:center}
.pg-cta{display:flex;gap:14px;flex-wrap:wrap;margin:44px 0 0}
.pg-btn{display:inline-block;font:700 15.5px/1 Manrope,sans-serif;text-decoration:none;border-radius:100px;padding:16px 30px}
.pg-btn.primary{color:#fff;background:linear-gradient(135deg,#d22a5b,#ef6a62);box-shadow:0 14px 34px -14px rgba(210,42,91,.55)}
.pg-btn.primary:hover{transform:translateY(-1px)}
.pg-btn.ghost{color:#271a29;border:1.5px solid #e2d2cb}
.pg-btn.ghost:hover{border-color:#c9b6c0}
.pg-h2-wide{font-family:Fraunces,serif;font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);color:#271a29;margin:56px 0 0;text-align:center}
.pg-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:22px 0 26px}
.pg-chip{font:600 13px/1 Manrope,sans-serif;color:#4a3d4f;background:#fff;border:1.5px solid #eadfda;border-radius:100px;padding:9px 16px;cursor:pointer}
.pg-chip.on{background:linear-gradient(135deg,#d22a5b,#ef6a62);color:#fff;border-color:transparent}
.pg-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pg-pcard{display:block;text-decoration:none;background:#fff;border:1px solid #eadfda;border-radius:16px;padding:22px;transition:transform .15s,box-shadow .15s}
a.pg-pcard:hover{transform:translateY(-3px);box-shadow:0 24px 46px -28px rgba(39,26,41,.35)}
.pg-cat{display:inline-block;font:700 10.5px/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#d22a5b;background:#fbe9ef;border-radius:100px;padding:5px 10px}
.pg-pcard h3{font-family:Fraunces,serif;font-weight:500;font-size:1.15rem;line-height:1.25;color:#271a29;margin:14px 0 8px}
.pg-pcard p{font:400 15px/1.55 Manrope,sans-serif;color:#4a3d4f;font-style:italic;margin:0 0 14px}
.pg-more{font:600 13.5px/1 Manrope,sans-serif;color:#d22a5b}
.pg-beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0}
.pg-belief{background:#fff;border:1px solid #eadfda;border-radius:16px;padding:24px}
.pg-belief h3{font-family:Fraunces,serif;font-weight:600;font-size:1.1rem;color:#d22a5b;margin:0 0 10px}
.pg-belief p{font:400 15px/1.6 Manrope,sans-serif;color:#4a3d4f;margin:0}
@media(max-width:1024px){.pg-pgrid,.pg-beliefs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.pg-wrap,.pg-wrap-wide{padding:0 20px}.pg-hero{padding:48px 0 36px}}
@media(max-width:640px){.pg-pgrid,.pg-beliefs{grid-template-columns:1fr}}
