:root{
    --cream:#F5F0E4; --cream-2:#FBF8F0; --surface:#FFFFFF;
    --forest:#213D2C; --forest-2:#2E5540; --forest-deep:#182E22;
    --ink:#282419; --muted:#6E6959; --faint:#9A9583;
    --terra:#BC5A3A; --terra-2:#A54B2E; --gold:#C39A48; --gold-soft:#E6D2A0;
    --line:#E6DDCB; --line-2:#D8CEB8;
    --sh-sm:0 1px 2px rgba(40,36,25,.05),0 6px 18px rgba(40,36,25,.06);
    --sh-md:0 14px 36px rgba(40,36,25,.11),0 3px 8px rgba(40,36,25,.06);
    --sh-lg:0 28px 64px rgba(24,46,34,.20);
    --r:14px; --r-lg:22px; --maxw:1180px;
    --dot:radial-gradient(circle at 1px 1px, rgba(40,36,25,.10) 1px, transparent 0);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0;color:var(--forest);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}

  .eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);display:inline-flex;align-items:center;gap:12px;}
  .eyebrow::before,.eyebrow::after{content:"✦";color:var(--gold);font-size:11px;}
  .eyebrow.solo::after{display:none;}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:"Inter";font-weight:600;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;padding:15px 26px;border-radius:10px;cursor:pointer;border:1.5px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background .16s,color .16s;}
  .btn-primary{background:var(--forest);color:#fff;box-shadow:0 8px 20px rgba(33,61,44,.25);}
  .btn-primary:hover{background:var(--forest-deep);transform:translateY(-2px);box-shadow:0 14px 28px rgba(33,61,44,.32);}
  .btn-terra{background:var(--terra);color:#fff;box-shadow:0 8px 20px rgba(188,90,58,.28);}
  .btn-terra:hover{background:var(--terra-2);transform:translateY(-2px);}
  .btn-ghost{background:transparent;color:var(--forest);border-color:var(--line-2);}
  .btn-ghost:hover{border-color:var(--forest);transform:translateY(-2px);}
  .btn .arw{font-size:15px;}
  .btn .play{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;}
  .btn-sm{padding:11px 18px;font-size:12px;}

  /* ============ NAV ============ */
  header.nav{position:sticky;top:0;z-index:60;background:rgba(245,240,228,.85);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line);}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:82px;gap:18px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{height:42px;width:auto;display:block;}
  .brand-txt{display:flex;flex-direction:column;line-height:1;}
  .brand-txt b{font-family:"Fraunces";font-weight:600;font-size:21px;letter-spacing:.14em;color:var(--forest);}
  .brand-txt small{font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
  nav.links{display:flex;align-items:center;gap:2px;}
  nav.links a{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:10px 15px;border-radius:8px;transition:color .15s,background .15s;position:relative;}
  nav.links a:hover{color:var(--terra);}
  nav.links a[aria-current="true"]{color:var(--terra);}
  nav.links a[aria-current="true"]::after{content:"";position:absolute;left:15px;right:15px;bottom:2px;height:2px;background:var(--gold);border-radius:2px;}
  .nav-ic{display:flex;align-items:center;gap:6px;}
  .icbtn{width:42px;height:42px;border-radius:50%;border:1px solid transparent;background:none;display:grid;place-items:center;cursor:pointer;color:var(--forest);transition:background .15s,border-color .15s;position:relative;}
  .icbtn:hover{background:var(--cream-2);border-color:var(--line);}
  .icbtn svg{width:20px;height:20px;}
  .cart-badge{position:absolute;top:4px;right:4px;background:var(--terra);color:#fff;font-size:9px;font-weight:700;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;}
  .nav-signin{margin-left:4px;}
  .account{position:relative;}
  .account-btn{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;font-weight:600;font-size:13px;color:var(--forest);}
  .avatar{width:30px;height:30px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;font-family:"Fraunces";font-weight:600;font-size:15px;}
  .account-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-md);padding:8px;min-width:200px;z-index:70;}
  .account-menu a,.account-menu button{display:flex;width:100%;text-align:left;gap:9px;padding:11px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--muted);background:none;border:none;cursor:pointer;font-family:"Inter";}
  .account-menu a:hover,.account-menu button:hover{background:var(--cream);color:var(--forest);}
  .account-menu .signout{color:#B23B3B;}
  .burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:11px;cursor:pointer;padding:0;align-items:center;justify-content:center;}
  .burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--forest);position:relative;}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0;}
  .burger span::before{top:-6px;}.burger span::after{top:6px;}
  .menu-auth{display:none;}

  /* ============ PAGES ============ */
  .page{display:none;animation:fade .4s ease;}
  .page.is-active{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;}}
  @keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:none;}}
  .section{padding:90px 0;}
  .sec-head{text-align:center;max-width:640px;margin:0 auto 50px;}
  .sec-head h2{font-size:clamp(30px,4vw,46px);margin:16px 0 12px;}
  .sec-head p{color:var(--muted);font-size:17px;margin:0;}

  /* ============ HERO ============ */
  .hero{padding:70px 0 76px;position:relative;overflow:hidden;}
  .hero::before{content:"";position:absolute;inset:0;background-image:var(--dot);background-size:30px 30px;-webkit-mask-image:radial-gradient(120% 90% at 80% 15%,#000 15%,transparent 68%);mask-image:radial-gradient(120% 90% at 80% 15%,#000 15%,transparent 68%);opacity:.5;}
  .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;position:relative;}
  .hero h1{font-size:clamp(44px,6vw,74px);letter-spacing:-.025em;margin:20px 0 22px;line-height:1.02;}
  .hero h1 em{font-style:italic;color:var(--terra);position:relative;}
  .hero .lead{font-size:19px;color:var(--muted);max-width:52ch;margin-bottom:30px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:32px;padding-top:26px;border-top:1px solid var(--line);}
  .htr{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--muted);}
  .htr .ic{width:26px;height:26px;border-radius:50%;background:var(--cream-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);flex:none;}
  .htr .ic svg{width:14px;height:14px;}

  /* hero visual: planner spread + app card */
  .hero-art{position:relative;}
  .book{position:relative;background:linear-gradient(160deg,#fff,#FBF7EE);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);padding:26px;transform:rotate(-1.2deg);}
  .book .spine{position:absolute;left:50%;top:14px;bottom:14px;width:2px;background:linear-gradient(var(--line-2),transparent);transform:translateX(-50%);}
  .book-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .bpage{padding:8px 16px;}
  .bpage.l{border-right:1px solid var(--line);}
  .bh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
  .bh b{font-family:"Fraunces";font-size:19px;font-style:italic;color:var(--forest);}
  .bh span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);}
  .brow{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12px;color:var(--muted);}
  .brow .bx{width:13px;height:13px;border-radius:4px;border:1.5px solid var(--line-2);flex:none;}
  .brow.d .bx{background:var(--forest);border-color:var(--forest);position:relative;}
  .brow.d .bx::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg);}
  .brow.d{color:var(--faint);text-decoration:line-through;}
  .sprig{color:var(--gold);opacity:.9;margin:2px 0 6px;}
  .bnote{background-image:var(--dot);background-size:15px 15px;border-radius:8px;min-height:96px;opacity:.85;margin-top:6px;}
  .apps-card{position:absolute;right:-14px;bottom:-26px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-md);padding:16px 18px 14px;width:230px;transform:rotate(1.4deg);}
  .apps-card h5{font-family:"Fraunces";font-size:14px;text-align:center;color:var(--forest);margin:0 0 12px;font-weight:600;}
  .apps-row{display:flex;justify-content:space-between;gap:8px;}
  .app-t{text-align:center;flex:1;}
  .app-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin:0 auto 7px;color:#fff;box-shadow:var(--sh-sm);}
  .app-t span{font-size:9.5px;color:var(--muted);font-weight:500;line-height:1.2;display:block;}
  .apps-card .cap{text-align:center;font-size:10px;color:var(--faint);margin:12px 0 0;}
  .badge-float{position:absolute;top:-16px;left:-14px;background:var(--forest);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;padding:9px 14px;border-radius:11px;box-shadow:var(--sh-md);transform:rotate(-3deg);}
  .badge-float b{color:var(--gold-soft);}

  /* ============ MARQUEE / TRUST STRIP ============ */
  .strip{background:var(--forest);color:var(--cream);}
  .strip-in{display:flex;align-items:center;justify-content:center;gap:38px;padding:18px 0;flex-wrap:wrap;font-family:"Fraunces";font-style:italic;font-size:16px;}
  .strip-in span{display:flex;align-items:center;gap:12px;}
  .strip-in span::before{content:"✦";color:var(--gold);font-style:normal;font-size:12px;}

  /* ============ FEATURED (dark band + carousel) ============ */
  .featured{background:var(--forest);color:var(--cream);position:relative;}
  .featured .sec-head h2{color:var(--cream);}
  .featured .sec-head p{color:rgba(245,240,228,.7);}
  .featured .eyebrow{color:var(--gold);}
  .featured .eyebrow::before,.featured .eyebrow::after{color:var(--gold-soft);}
  .carousel{position:relative;}
  .track{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:6px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none;}
  .track::-webkit-scrollbar{display:none;}
  .pcard{flex:0 0 270px;scroll-snap-align:start;background:var(--cream-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);cursor:pointer;transition:transform .2s ease;display:flex;flex-direction:column;}
  .pcard:hover{transform:translateY(-5px);}
  .pcover{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream);}
  .pcover img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
  .pcard:hover .pcover img{transform:scale(1.05);}
  .cover-mock{position:absolute;inset:0;display:flex;flex-direction:column;padding:22px 22px 22px 26px;}
  .cover-mock::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--forest);opacity:.85;}
  .cover-mock .md{position:absolute;inset:0;background-image:var(--dot);background-size:17px 17px;opacity:.4;}
  .cover-mock .mc{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);font-weight:600;position:relative;}
  .cover-mock .mt{font-family:"Fraunces";font-weight:600;font-style:italic;font-size:25px;line-height:1.05;margin-top:auto;color:var(--forest);position:relative;}
  .cover-mock .msprig{position:relative;color:var(--gold);margin-bottom:8px;opacity:.85;}
  .heart{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;color:var(--terra);box-shadow:var(--sh-sm);}
  .heart svg{width:16px;height:16px;}
  .pcard-body{padding:16px 20px 20px;text-align:center;}
  .pcard-body h3{font-family:"Fraunces";font-size:16px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink);margin:0 0 6px;}
  .pcard-body .pr{font-family:"Fraunces";font-size:20px;color:var(--terra);font-weight:600;}
  .pcard-body .pr s{color:var(--faint);font-size:14px;margin-right:6px;}
  .c-arrows{display:flex;gap:10px;justify-content:center;margin-top:26px;}
  .c-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,240,228,.3);background:transparent;color:var(--cream);cursor:pointer;display:grid;place-items:center;transition:.15s;}
  .c-arrows button:hover{background:var(--cream);color:var(--forest);}
  .featured .foot-cta{text-align:center;margin-top:36px;}

  /* ============ PRODUCTS GRID ============ */
  .filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;}
  .chip{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:10px 20px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--muted);cursor:pointer;transition:.15s;}
  .chip:hover{border-color:var(--forest);color:var(--forest);}
  .chip.on{background:var(--forest);color:#fff;border-color:var(--forest);}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px;}
  .grid .pcard{flex:none;background:var(--surface);}

  /* ============ JOURNAL / BLOG ============ */
  .posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;}
  .post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:.2s;display:flex;flex-direction:column;}
  .post:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
  .post-media{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--p1,#EDE6D4),var(--p2,#E4D9C0));}
  .post-media img{width:100%;height:100%;object-fit:cover;}
  .post-media .pd{position:absolute;inset:0;background-image:var(--dot);background-size:18px 18px;opacity:.4;}
  .ptag{position:absolute;top:14px;left:14px;background:var(--terra);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;}
  .post-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
  .post-body .date{font-size:12px;color:var(--faint);letter-spacing:.03em;}
  .post-body h3{font-size:21px;margin:9px 0 14px;line-height:1.2;}
  .readmore{margin-top:auto;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);display:inline-flex;align-items:center;gap:8px;}
  .readmore::after{content:"→";transition:transform .15s;}
  .post:hover .readmore::after{transform:translateX(4px);}

  /* ============ PRICING ============ */
  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;max-width:1000px;margin:0 auto;}
  .tier{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 28px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;position:relative;}
  .tier.feat{border:2px solid var(--terra);box-shadow:var(--sh-md);transform:translateY(-6px);}
  .tier .tn{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;}
  .flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--terra);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px;}
  .tier .amt{font-family:"Fraunces";font-weight:600;font-size:46px;margin:16px 0 4px;color:var(--forest);}
  .tier .amt small{font-size:14px;color:var(--faint);font-weight:400;}
  .tier .td{color:var(--muted);font-size:15px;margin:0 0 20px;}
  .tier ul{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:11px;flex:1;}
  .tier li{display:flex;gap:11px;font-size:15px;color:var(--muted);align-items:flex-start;}
  .tier li .ck{width:20px;height:20px;border-radius:6px;background:var(--cream);display:grid;place-items:center;flex:none;margin-top:1px;}
  .tier li .ck::after{content:"";width:4px;height:8px;border:solid var(--terra);border-width:0 2px 2px 0;transform:rotate(42deg);margin-top:-2px;}
  .tier .btn{width:100%;}

  /* ============ ABOUT ============ */
  .about-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;}
  .about-hero h1{font-size:clamp(34px,4.6vw,52px);margin:16px 0 20px;}
  .about-panel{background:var(--forest);color:var(--cream);border-radius:var(--r-lg);padding:36px;box-shadow:var(--sh-lg);}
  .about-panel .st{padding:16px 0;border-bottom:1px solid rgba(245,240,228,.14);display:flex;align-items:baseline;justify-content:space-between;}
  .about-panel .st:last-child{border-bottom:none;}
  .about-panel .st b{font-family:"Fraunces";font-size:32px;}
  .about-panel .st b em{color:var(--gold-soft);font-style:normal;}
  .about-panel .st span{color:rgba(245,240,228,.7);font-size:13px;max-width:150px;text-align:right;}
  .values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;}
  .val{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--sh-sm);}
  .val .vi{width:46px;height:46px;border-radius:12px;background:var(--cream);display:grid;place-items:center;color:var(--terra);font-family:"Fraunces";font-weight:600;font-size:20px;margin-bottom:15px;}
  .val h3{font-size:19px;margin:0 0 8px;}
  .val p{margin:0;color:var(--muted);font-size:15px;}

  /* ============ CTA BAND ============ */
  .cta{background:var(--forest);color:var(--cream);border-radius:26px;padding:64px 48px;text-align:center;position:relative;overflow:hidden;}
  .cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(245,240,228,.09) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(80% 120% at 50% 0%,#000,transparent 70%);mask-image:radial-gradient(80% 120% at 50% 0%,#000,transparent 70%);}
  .cta .eyebrow{color:var(--gold);position:relative;}
  .cta h2{color:var(--cream);font-size:clamp(30px,4vw,46px);margin:16px 0;position:relative;}
  .cta p{color:rgba(245,240,228,.75);font-size:17px;max-width:52ch;margin:0 auto 30px;position:relative;}
  .cta .hero-cta{justify-content:center;position:relative;}
  .cta .btn-ghost{color:var(--cream);border-color:rgba(245,240,228,.3);}
  .cta .btn-ghost:hover{border-color:var(--cream);background:rgba(245,240,228,.08);}

  /* ============ FOOTER ============ */
  footer.site{background:var(--forest-deep);color:rgba(245,240,228,.82);padding:64px 0 30px;}
  .foot-news{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid rgba(245,240,228,.14);flex-wrap:wrap;}
  .foot-news h3{color:var(--cream);font-size:24px;margin:0 0 6px;}
  .foot-news p{color:rgba(245,240,228,.6);font-size:15px;margin:0;}
  .news-form{display:flex;gap:10px;flex:1;min-width:280px;max-width:440px;}
  .news-form input{flex:1;padding:14px 16px;border:1px solid rgba(245,240,228,.2);border-radius:11px;background:rgba(245,240,228,.06);color:var(--cream);font-family:"Inter";font-size:15px;}
  .news-form input::placeholder{color:rgba(245,240,228,.45);}
  .news-form input:focus{outline:none;border-color:var(--gold);}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;}
  .foot-brand .brand-mark{height:40px;}
  .foot-brand p{color:rgba(245,240,228,.6);font-size:15px;margin:16px 0 20px;max-width:34ch;}
  .socials{display:flex;gap:10px;}
  .socials a{width:40px;height:40px;border-radius:50%;background:rgba(245,240,228,.08);border:1px solid rgba(245,240,228,.14);display:grid;place-items:center;color:var(--cream);transition:.16s;}
  .socials a:hover{background:var(--terra);border-color:var(--terra);transform:translateY(-2px);}
  .socials a svg{width:18px;height:18px;fill:currentColor;}
  .fcol h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 16px;font-weight:700;}
  .fcol a{display:block;color:rgba(245,240,228,.7);font-size:15px;padding:6px 0;transition:.15s;}
  .fcol a:hover{color:var(--cream);}
  .foot-badges{display:flex;gap:26px;flex-wrap:wrap;padding:24px 0 0;margin-top:40px;border-top:1px solid rgba(245,240,228,.14);}
  .foot-badges .fb{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:rgba(245,240,228,.7);}
  .foot-badges .fb i{width:18px;height:18px;border-radius:6px;background:rgba(245,240,228,.1);display:grid;place-items:center;}
  .foot-badges .fb i::after{content:"";width:4px;height:7px;border:solid var(--gold-soft);border-width:0 2px 2px 0;transform:rotate(42deg);margin-top:-2px;}
  .foot-badges .fb.pay{color:rgba(245,240,228,.5);letter-spacing:.03em;}
  .foot-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(245,240,228,.14);margin-top:26px;padding-top:24px;font-size:13px;color:rgba(245,240,228,.5);flex-wrap:wrap;gap:12px;}

  /* ============ MODALS ============ */
  .modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;}
  .modal[hidden]{display:none;}
  .modal-ov{position:absolute;inset:0;background:rgba(24,46,34,.55);backdrop-filter:blur(3px);animation:fade .25s;}
  .modal-card{position:relative;background:var(--surface);border-radius:22px;box-shadow:var(--sh-lg);width:100%;max-height:92vh;overflow:auto;animation:pop .3s cubic-bezier(.2,.9,.3,1);}
  .modal-x{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:22px;color:var(--muted);cursor:pointer;display:grid;place-items:center;}
  .modal-x:hover{background:var(--cream);color:var(--forest);}
  .auth-modal{max-width:440px;padding:36px 34px 28px;}
  .auth-head{text-align:center;margin-bottom:22px;}
  .auth-mark{width:48px;height:48px;border-radius:13px;background:var(--forest);display:inline-grid;place-items:center;margin-bottom:14px;}
  .auth-mark span{font-family:"Fraunces";font-weight:600;color:#fff;font-size:22px;}
  .auth-mark b{color:var(--gold-soft);}
  .auth-head h2{font-size:27px;margin:0 0 6px;}
  .auth-head p{color:var(--muted);font-size:15px;margin:0;}
  .auth-tabs{display:flex;background:var(--cream);border-radius:12px;padding:4px;margin-bottom:20px;}
  .auth-tab{flex:1;padding:10px;border:none;background:none;border-radius:9px;font-family:"Inter";font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;}
  .auth-tab.on{background:var(--surface);color:var(--forest);box-shadow:var(--sh-sm);}
  .fld{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
  .fld span{font-size:13px;font-weight:600;color:var(--muted);}
  .fld input{padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font-family:"Inter";font-size:15px;background:var(--cream-2);}
  .fld input:focus{outline:none;border-color:var(--terra);background:#fff;}
  .auth-submit{width:100%;text-transform:none;letter-spacing:0;}
  .auth-or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:14px 0;}
  .auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line);}
  .auth-google{width:100%;text-transform:none;letter-spacing:0;}
  .auth-google .g{font-family:"Fraunces";font-weight:700;color:var(--terra);}
  .auth-foot{text-align:center;font-size:14px;color:var(--muted);margin:18px 0 0;}
  .auth-foot a{color:var(--terra);font-weight:600;}
  .product-modal{max-width:880px;}
  .pm-grid{display:grid;grid-template-columns:1fr 1fr;}
  .pm-media{position:relative;background:var(--cream);overflow:hidden;min-height:100%;}
  .pm-media .cover-mock{position:absolute;inset:0;}
  .pm-media img{width:100%;height:100%;object-fit:cover;}
  .pm-info{padding:36px 34px 30px;display:flex;flex-direction:column;}
  .pm-cat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);font-weight:600;}
  .pm-info h2{font-size:30px;margin:8px 0 10px;}
  .pm-price{font-family:"Fraunces";font-weight:600;font-size:28px;color:var(--terra);margin-bottom:14px;}
  .pm-price s{color:var(--faint);font-size:17px;margin-right:8px;}
  .pm-info>p{color:var(--muted);font-size:15px;margin:0 0 18px;}
  .pm-feat{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:11px;}
  .pm-feat li{display:flex;gap:11px;align-items:center;font-size:15px;color:var(--muted);}
  .pm-feat .ck{width:20px;height:20px;border-radius:6px;background:var(--cream);display:grid;place-items:center;flex:none;}
  .pm-feat .ck::after{content:"";width:4px;height:8px;border:solid var(--terra);border-width:0 2px 2px 0;transform:rotate(42deg);margin-top:-2px;}
  .pm-actions{display:flex;gap:12px;margin-top:auto;flex-wrap:wrap;}
  .pm-actions .btn{flex:1;min-width:150px;}
  .pm-note{font-size:12px;color:var(--faint);text-align:center;margin:16px 0 0;}
  .toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--forest-deep);color:var(--cream);padding:14px 22px;border-radius:12px;font-size:14.5px;font-weight:500;box-shadow:var(--sh-lg);z-index:300;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center;}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  .toast b{color:var(--gold-soft);}

  /* review card */
  .review-card{text-align:center;}
  .review-card .stars{color:var(--gold);font-size:19px;letter-spacing:3px;}
  .review-card .rnum{font-size:13px;color:var(--muted);margin:9px 0 0;}
  .review-card .rnum b{font-family:"Fraunces";font-size:18px;color:var(--forest);}
  .review-card .cap{margin-top:10px;}
  /* 4-tier pricing + single note */
  .tiers.four{grid-template-columns:repeat(4,1fr);gap:20px;}
  .tiers.four .tier{padding:30px 22px;}
  .tiers.four .amt{font-size:40px;}
  .single-note{text-align:center;margin-top:32px;font-size:15.5px;color:var(--muted);}
  .single-note a{color:var(--terra);font-weight:600;}
  /* about story */
  .about-story{max-width:760px;margin:0 auto;text-align:center;}
  .about-story h2{font-size:clamp(28px,3.6vw,40px);margin:14px 0 18px;}
  .about-story p{color:var(--muted);font-size:17px;margin:0 auto 16px;max-width:64ch;}
  /* prose / policy pages */
  .prose{max-width:760px;margin:0 auto;}
  .prose h1{font-size:clamp(34px,4.4vw,48px);margin:14px 0 6px;}
  .prose .upd{font-size:13px;color:var(--faint);margin:0 0 26px;letter-spacing:.03em;}
  .prose h3{font-size:21px;margin:30px 0 8px;color:var(--forest);}
  .prose p{color:var(--muted);font-size:16px;margin:0 0 14px;line-height:1.7;}
  .prose a{color:var(--terra);font-weight:600;}
  .prose b{color:var(--ink);}
  /* faq */
  .faq{max-width:780px;margin:0 auto;display:grid;gap:12px;}
  .qa{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px;}
  .qa h4{font-family:"Inter";font-weight:600;font-size:16.5px;margin:0 0 7px;color:var(--forest);}
  .qa p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;}
  .qa a{color:var(--terra);font-weight:600;}
  /* contact */
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;max-width:960px;margin:0 auto;align-items:start;}
  .contact-info{display:flex;flex-direction:column;gap:22px;padding-top:6px;}
  .ci-item{display:flex;gap:14px;align-items:flex-start;}
  .ci-ic{width:44px;height:44px;border-radius:12px;background:var(--cream-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--terra);font-size:19px;flex:none;}
  .ci-item b{display:block;font-family:"Inter";color:var(--forest);font-size:15px;margin-bottom:3px;}
  .ci-item a,.ci-item span{color:var(--muted);font-size:15px;}
  .ci-item a:hover{color:var(--terra);}
  .contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-sm);}
  .contact-form textarea{padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font-family:"Inter";font-size:15px;background:var(--cream-2);resize:vertical;width:100%;}
  .contact-form textarea:focus{outline:none;border-color:var(--terra);background:#fff;}
  .ci-socials{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:5px;}
  .ci-socials a{color:var(--terra);font-weight:600;font-size:14px;}
  @media (max-width:960px){ .tiers.four{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:780px){ .tiers.four{grid-template-columns:1fr;} .contact-grid{grid-template-columns:1fr;} }

  @media (prefers-reduced-motion:no-preference){
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1);}
    .reveal.seen{opacity:1;transform:none;}
  }
  a:focus-visible,button:focus-visible{outline:3px solid var(--terra);outline-offset:2px;border-radius:8px;}

  /* ============ RESPONSIVE ============ */
  @media (max-width:960px){
    .hero-grid,.about-hero{grid-template-columns:1fr;gap:44px;}
    .book{transform:none;max-width:460px;margin:0 auto;}
    .apps-card{right:0;}
    .tiers,.values{grid-template-columns:1fr;}
    .tier.feat{transform:none;}
    .foot-grid{grid-template-columns:1fr 1fr;gap:30px;}
    .about-hero .about-panel{order:-1;}
    .pm-grid{grid-template-columns:1fr;}
  }
  @media (max-width:780px){
    body{font-size:16px;}
    .section{padding:64px 0;}
    nav.links,.nav-ic .icbtn.hide-m,.nav-signin,.nav-ic .account{display:none;}
    .burger{display:inline-flex;}
    nav.links.open{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:var(--cream);border-bottom:1px solid var(--line);padding:14px 24px 22px;gap:2px;box-shadow:var(--sh-md);}
    nav.links.open a{padding:14px 10px;font-size:14px;}
    nav.links.open a[aria-current="true"]::after{display:none;}
    nav.links.open .menu-auth:not([hidden]){display:block;color:var(--terra);}
    .foot-news,.about-hero{flex-direction:column;align-items:flex-start;}
    .news-form{width:100%;max-width:none;}
    .foot-grid{grid-template-columns:1fr;}
    .cta{padding:44px 24px;}
    .strip-in{gap:22px;font-size:14px;}
  }

/* ===== Products dropdown (added) ===== */
.nav-dd{position:relative;display:inline-flex;align-items:center}
.nav-dd>a::after{content:"\25BE";font-size:.7em;margin-left:5px;opacity:.65}
.nav-dd .dd{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid #e6ddc9;border-radius:12px;box-shadow:0 18px 44px -18px rgba(44,33,23,.4);padding:8px;display:none;z-index:200}
.nav-dd:hover .dd,.nav-dd:focus-within .dd{display:block}
.nav-dd .dd a{display:block;padding:9px 12px;border-radius:8px;white-space:nowrap;color:#2c2117;font-weight:600}
.nav-dd .dd a:hover{background:#f4ece0;color:#123047}
@media(max-width:760px){
  .nav-dd{display:block;width:100%}
  .nav-dd>a::after{display:none}
  .nav-dd .dd{position:static;display:block;box-shadow:none;border:0;padding:2px 0 6px 14px;min-width:0}
}


/* ===== Products dropdown — robust override ===== */
.nav .nav-dd{position:relative;display:inline-flex;align-items:center}
.nav .nav-dd .dd{display:none !important}
.nav .nav-dd:hover .dd,.nav .nav-dd:focus-within .dd{display:block !important}

/* ============================================================
   NEXALY SOFTWARE THEME — visual layer only
   Modern SaaS palette for USA / Tier 1 & 2 audiences.
   No layout structure, content, commerce or behavior changes.
   ============================================================ */
:root{
  --cream:#F7F9FC;
  --cream-2:#F1F5F9;
  --surface:#FFFFFF;
  --forest:#0B1F3A;
  --forest-2:#123A63;
  --forest-deep:#071426;
  --ink:#10213A;
  --muted:#52627A;
  --faint:#8290A5;
  --terra:#2563EB;
  --terra-2:#1D4ED8;
  --gold:#06B6D4;
  --gold-soft:#67E8F9;
  --line:#DCE5F0;
  --line-2:#C7D4E4;
  --sh-sm:0 1px 2px rgba(15,31,55,.04),0 8px 24px rgba(15,31,55,.07);
  --sh-md:0 18px 44px rgba(15,31,55,.12),0 3px 10px rgba(15,31,55,.06);
  --sh-lg:0 34px 80px rgba(2,12,27,.24);
  --r:14px;
  --r-lg:20px;
  --dot:radial-gradient(circle at 1px 1px,rgba(37,99,235,.14) 1px,transparent 0);
}

body{
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.07),transparent 27rem),
    radial-gradient(circle at 94% 8%,rgba(6,182,212,.055),transparent 24rem),
    var(--cream);
  color:var(--ink);
}
h1,h2,h3,h4,.brand-txt b,.bh b,.apps-card h5,.cover-mock .mt,
.pcard-body h3,.pcard-body .pr,.tier .amt,.about-panel .st b,
.auth-mark span,.pm-price,.review-card .rnum b{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-style:normal;
  letter-spacing:-.035em;
}

/* Navigation */
header.nav{
  background:rgba(247,249,252,.86);
  border-bottom:1px solid rgba(199,212,228,.76);
  backdrop-filter:saturate(1.5) blur(18px);
  box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 32px rgba(15,31,55,.045);
}
.nav-in{height:76px;}
.brand-txt b{font-weight:800;letter-spacing:.08em;color:var(--forest);}
.brand-txt small{color:#64748B;font-weight:600;}
nav.links a{font-size:12.5px;letter-spacing:.055em;color:#334155;border-radius:9px;}
nav.links a:hover,nav.links a[aria-current="true"]{color:var(--terra);background:rgba(37,99,235,.065);}
nav.links a[aria-current="true"]::after{background:linear-gradient(90deg,var(--terra),var(--gold));}
.nav-dd .dd,.nav .nav-dd .dd{
  border-color:var(--line) !important;
  border-radius:14px !important;
  box-shadow:0 24px 60px -22px rgba(2,12,27,.32) !important;
}
.nav-dd .dd a{color:var(--ink);}
.nav-dd .dd a:hover{background:#EFF6FF;color:var(--terra);}
.account-btn{border-color:var(--line);box-shadow:0 4px 16px rgba(15,31,55,.06);}
.avatar,.cart-badge{background:linear-gradient(135deg,var(--terra),var(--gold));}

/* Buttons and form controls */
.btn{border-radius:10px;font-weight:700;letter-spacing:.035em;text-transform:none;box-shadow:none;}
.btn-primary{
  background:linear-gradient(135deg,#0B1F3A,#123A63);
  box-shadow:0 10px 24px rgba(11,31,58,.22);
}
.btn-primary:hover{background:linear-gradient(135deg,#071426,#0B2E55);box-shadow:0 16px 34px rgba(11,31,58,.27);}
.btn-terra{
  background:linear-gradient(135deg,#2563EB,#0EA5E9);
  box-shadow:0 10px 24px rgba(37,99,235,.23);
}
.btn-terra:hover{background:linear-gradient(135deg,#1D4ED8,#0284C7);box-shadow:0 16px 34px rgba(37,99,235,.28);}
.btn-ghost{background:rgba(255,255,255,.72);border-color:var(--line-2);color:var(--forest);}
.btn-ghost:hover{background:#fff;border-color:#93B4E8;box-shadow:0 10px 24px rgba(15,31,55,.08);}
.chip{font-weight:700;letter-spacing:.025em;text-transform:none;border-color:var(--line);box-shadow:0 3px 12px rgba(15,31,55,.04);}
.chip:hover{border-color:#93B4E8;color:var(--terra);}
.chip.on{background:linear-gradient(135deg,var(--forest),var(--forest-2));border-color:transparent;box-shadow:0 8px 20px rgba(11,31,58,.18);}
.fld input,.contact-form textarea,.news-form input{transition:border-color .16s,box-shadow .16s,background .16s;}
.fld input:focus,.contact-form textarea:focus{border-color:#60A5FA;box-shadow:0 0 0 4px rgba(37,99,235,.11);}

/* Section rhythm and headings */
.section{padding:86px 0;}
.eyebrow{color:var(--terra);font-weight:800;letter-spacing:.15em;}
.eyebrow::before,.eyebrow::after{content:"";width:16px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--terra),var(--gold));}
.sec-head{max-width:700px;}
.sec-head h2{font-weight:800;letter-spacing:-.045em;}
.sec-head p{color:var(--muted);}

/* Hero and software visual */
.hero{padding:78px 0 88px;}
.hero::before{
  background-image:
    linear-gradient(rgba(37,99,235,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(80% 85% at 74% 20%,#000 8%,transparent 72%);
  mask-image:radial-gradient(80% 85% at 74% 20%,#000 8%,transparent 72%);
  opacity:.7;
}
.hero h1{font-weight:850;letter-spacing:-.055em;line-height:1.01;}
.hero h1 em{
  font-style:normal;
  color:transparent;
  background:linear-gradient(100deg,#2563EB,#06B6D4);
  -webkit-background-clip:text;background-clip:text;
}
.hero .lead{color:#52627A;}
.hero-trust{border-color:var(--line);}
.htr .ic{background:#EFF6FF;border-color:#BFDBFE;color:var(--terra);}
.book{
  background:linear-gradient(145deg,#FFFFFF,#F2F7FC);
  border-color:#C9D8EA;
  border-radius:18px;
  transform:rotate(-.45deg);
  box-shadow:0 38px 90px rgba(11,31,58,.2),0 0 0 1px rgba(255,255,255,.8) inset;
}
.apps-card{border-color:#C9D8EA;box-shadow:0 24px 60px rgba(11,31,58,.17);}
.badge-float{background:linear-gradient(135deg,#0B1F3A,#123A63);border:1px solid rgba(103,232,249,.28);}
.badge-float b{color:var(--gold-soft);}

/* Dark technology bands */
.strip,.featured,.about-panel,.cta,footer.site{
  background:
    radial-gradient(circle at 15% 0%,rgba(37,99,235,.24),transparent 28rem),
    radial-gradient(circle at 90% 15%,rgba(6,182,212,.13),transparent 25rem),
    var(--forest-deep);
}
.strip-in{font-family:"Inter",system-ui,sans-serif;font-style:normal;font-weight:600;font-size:14px;}
.strip-in span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(6,182,212,.7);}
.featured .sec-head h2,.cta h2{color:#F8FAFC;}
.featured .sec-head p,.cta p{color:#B9C7D9;}
.featured .eyebrow,.cta .eyebrow{color:#67E8F9;}

/* Product, journal and information cards */
.pcard,.post,.tier,.val,.qa,.contact-form{
  border:1px solid rgba(199,212,228,.9);
  background:rgba(255,255,255,.94);
  box-shadow:var(--sh-sm);
}
.pcard{border-radius:18px;}
.pcard:hover,.post:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 55px rgba(15,31,55,.14);
  border-color:#AFC5E1;
}
.pcover{background:linear-gradient(145deg,#EDF3FA,#E4ECF6);}
.pcover::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);pointer-events:none;}
.pcard-body{padding:18px 20px 21px;}
.pcard-body h3{font-size:15px;line-height:1.35;letter-spacing:-.015em;text-transform:none;font-weight:750;}
.pcard-body .pr{color:var(--terra);font-size:19px;font-weight:800;letter-spacing:-.03em;}
.heart{color:var(--terra);border:1px solid rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(15,31,55,.13);}
.post{border-radius:18px;}
.ptag,.flag{background:linear-gradient(135deg,var(--terra),#0EA5E9);}
.post-body h3{font-weight:750;letter-spacing:-.025em;}
.readmore,.single-note a,.prose a,.qa a,.ci-socials a,.auth-foot a{color:var(--terra);}
.tier{border-radius:18px;}
.tier.feat{border-color:#3B82F6;box-shadow:0 22px 54px rgba(37,99,235,.16);}
.tier .amt{font-weight:800;}
.tier li .ck,.pm-feat .ck,.val .vi{background:#EFF6FF;}
.tier li .ck::after,.pm-feat .ck::after{border-color:var(--terra);}
.val .vi,.ci-ic{color:var(--terra);border-color:#CFE0F4;background:#EFF6FF;}

/* Modals and feedback surfaces */
.modal-ov{background:rgba(2,12,27,.68);}
.modal-card,.account-menu{border:1px solid var(--line);box-shadow:0 36px 90px rgba(2,12,27,.3);}
.auth-mark{background:linear-gradient(135deg,var(--forest),var(--terra));}
.toast{background:#071426;color:#F8FAFC;border:1px solid rgba(103,232,249,.22);}

/* Accessibility and responsive polish */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(37,99,235,.45);outline-offset:3px;
}
@media(max-width:780px){
  nav.links.open{background:rgba(247,249,252,.98);border-color:var(--line);}
  .hero{padding:58px 0 68px;}
  .hero h1{font-size:clamp(40px,12vw,58px);}
  .section{padding:64px 0;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
@media(max-width:760px){
  .nav .nav-dd{display:block;width:100%}
  .nav .nav-dd .dd{display:block !important;position:static;box-shadow:none;border:0;padding:2px 0 6px 14px}
}


/* Homepage-specific visual rules (override its legacy warm inline palette) */
body .home-hero{
  position:relative;
  padding-top:74px;
  background:
    radial-gradient(circle at 50% 0%,rgba(37,99,235,.12),transparent 24rem),
    linear-gradient(rgba(37,99,235,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
}
body .home-hero .eyebrow{color:var(--terra);font-weight:800;}
body .home-hero h1,body .home-sec h2{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--forest);
  font-weight:800;
  letter-spacing:-.045em;
}
body .home-hero p{color:var(--muted);}
body .home-sec .sec-h a{color:var(--terra);}
body .home-trust{background:linear-gradient(90deg,#071426,#0B2E55);}
body .home-trust .in{color:#DCE8F7;font-weight:600;}
body .home-trust .in span{display:inline-flex;align-items:center;gap:7px;}

/* Make editorial links recognisable within journal articles. */
article.reading a:not(.btn):not(.download),
.ai-journal article a:not(.btn):not(.download){
  color:#97412b;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
article.reading a:not(.btn):not(.download):hover,
.ai-journal article a:not(.btn):not(.download):hover{
  color:#6f2c1a;
  text-decoration-thickness:2px;
}

/* Keep the actual RenewGuard dashboard visible within portrait product cards. */
a[href="/planners/renewguard-os/"] .pcover{background:linear-gradient(150deg,#102c50,#e7f0ff 48%,#172b49)}
a[href="/planners/renewguard-os/"] .pcover img{object-fit:contain;padding:12px;box-sizing:border-box}

/* Keep newsletter controls within narrow screens. */
@media(max-width:520px){.news-form{min-width:0;flex-direction:column;align-items:stretch}.news-form input{min-width:0;width:100%}.news-form .btn{width:100%;justify-content:center}}

/* Fit the authorized Free Tools menu item on smaller desktop/tablet widths. */
@media(min-width:781px) and (max-width:1100px){
  header.nav .nav-in{gap:8px;}
  header.nav nav.links{gap:0;}
  header.nav nav.links>a,header.nav nav.links>.nav-dd>a{font-size:11px;letter-spacing:0;padding:10px 7px;white-space:nowrap;}
}

/* Owner-approved compact homepage hero and shared footer, October 7. */
body .home-hero{
  display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:44px;
  max-width:1120px;padding:34px 24px 30px;text-align:left;
  background:radial-gradient(ellipse at 95% 5%,rgba(37,99,235,.10),transparent 65%);
  border-bottom:1px solid var(--line);
}
body .home-hero .eyebrow{grid-column:1;justify-self:start;margin:0 0 12px;padding:6px 10px;border:1px solid #dbe6f6;border-radius:999px;background:#f0f5fc;font-size:11px;line-height:1.4;letter-spacing:.07em;max-width:100%;}
body .home-hero h1{grid-column:1;margin:0;max-width:25ch;font-size:clamp(32px,3.6vw,50px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance;}
body .home-hero p:not(.eyebrow){grid-column:1;margin:14px 0 0;max-width:62ch;font-size:16px;line-height:1.6;}
body .home-hero .hero-actions{grid-column:2;grid-row:2/4;align-self:center;display:flex;flex-direction:column;gap:10px;margin:0;padding:18px;border:1px solid #dbe6f6;border-radius:18px;background:rgba(255,255,255,.8);box-shadow:0 8px 24px rgba(15,38,70,.05);}
body .home-hero .hero-actions .btn{justify-content:center;min-height:44px;white-space:nowrap;}
body .home-trust{margin-top:0;}
body .home-trust .in{padding:14px 24px;gap:8px 28px;font-size:13px;}
footer.site{padding:30px 0 18px;background:linear-gradient(125deg,#0b1728,#10253d);border-top:1px solid #21354e;}
footer.site .foot-news{gap:18px;padding-bottom:22px;margin-bottom:22px;flex-wrap:nowrap;}
footer.site .foot-news>div{min-width:0;}
footer.site .foot-news h3{font-family:Inter,system-ui,sans-serif;font-size:20px;letter-spacing:-.025em;line-height:1.25;margin:0 0 5px;}
footer.site .foot-news p{font-size:13px;line-height:1.5;max-width:58ch;color:#b8c7da;}
footer.site .news-form{min-width:0;flex:0 1 370px;gap:8px;}
footer.site .news-form input{min-width:0;width:0;padding:10px 12px;font-size:14px;}
footer.site .news-form .btn{min-height:44px;padding:10px 16px;}
footer.site .foot-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:24px;}
footer.site .foot-brand .brand-mark{height:32px;width:auto;}
footer.site .foot-brand p{margin:10px 0 12px;font-size:13px;line-height:1.5;color:#b8c7da;}
footer.site .socials{gap:6px;flex-wrap:wrap;}
footer.site .socials a{width:40px;height:40px;border-radius:10px;}
footer.site .fcol{min-width:0;}
footer.site .fcol h5{margin-bottom:8px;font-size:11px;letter-spacing:.09em;color:#a8c9ff;}
footer.site .fcol a{font-size:13px;line-height:1.5;padding:5px 0;color:#c4d1e2;overflow-wrap:anywhere;}
footer.site a:focus-visible,footer.site button:focus-visible{outline:2px solid #a8c9ff;outline-offset:4px;}
footer.site .foot-badges{padding-top:16px;margin-top:18px;gap:8px 20px;}
footer.site .foot-badges .fb{font-size:12px;}
footer.site .foot-bottom{margin-top:16px;padding-top:14px;font-size:12px;gap:8px;}
@media(max-width:820px){
  body .home-hero{column-gap:24px;}
  footer.site .foot-news{flex-wrap:wrap;}
  footer.site .news-form{flex-basis:100%;max-width:440px;}
  footer.site .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px;}
  footer.site .foot-brand{grid-column:1/-1;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px 14px;align-items:center;}
  footer.site .foot-brand p{margin:0;max-width:48ch;}
  footer.site .foot-brand .socials{grid-column:1/-1;}
}
@media(max-width:600px){
  body .home-hero{display:block;padding:26px 20px 24px;}
  body .home-hero .eyebrow{display:inline-block;font-size:10px;margin-bottom:12px;}
  body .home-hero h1{font-size:clamp(30px,8vw,38px);max-width:25ch;}
  body .home-hero p:not(.eyebrow){font-size:15px;margin-top:12px;}
  body .home-hero .hero-actions{flex-direction:row;flex-wrap:wrap;margin-top:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
  body .home-hero .hero-actions .btn{flex:1;padding:11px 12px;font-size:13px;}
  body .home-trust .in{justify-content:flex-start;padding:12px 20px;gap:8px 18px;font-size:12px;}
  footer.site{padding:24px 0 16px;}
  footer.site .foot-news{padding-bottom:18px;margin-bottom:18px;gap:12px;}
  footer.site .foot-news h3{font-size:18px;}
  footer.site .news-form{flex-direction:row;align-items:stretch;}
  footer.site .news-form input{width:0;flex:1;}
  footer.site .news-form .btn{width:auto;flex:0 0 auto;padding:10px 13px;}
  footer.site .foot-bottom{align-items:flex-start;}
}
@media(max-width:340px){footer.site .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}footer.site .news-form{flex-direction:column;}footer.site .news-form input{width:100%;}}
