.tob{--green:#3F9F7F;--green-dark:#236a5c;--navy:#000465;--navy-deep:#02033a;--mint:#ECFFFA;--mint-2:#e3f9f3;--ink:#1a1a1a;--body:#4f5559;--muted:#6b7075;--line:#e7e7e7;--sans:"Raleway",sans-serif;--serif:"Lora",serif;--r:14px;--shadow:0 24px 50px -28px rgba(0,4,101,.35)}
.tob *{box-sizing:border-box}
.tob{font-family:var(--sans);color:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}
.tob p{margin:0}
.tob h1,.tob h2,.tob h3{margin:0;color:var(--ink);line-height:1.15;letter-spacing:0}
.tob .serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.tob .serif em{font-style:italic;color:var(--green);font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}
.tob .eyebrow{font-weight:700;font-size:1.2rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.tob .btn{display:inline-flex;align-items:center;gap:.6em;border:0;cursor:pointer;text-decoration:none;font-weight:700;font-size:1.6rem;padding:15px 28px;border-radius:999px;background:var(--green);color:#fff;transition:background .16s,transform .16s;box-shadow:0 14px 26px -16px rgba(46,132,116,.85)}
.tob .btn:hover{background:var(--navy);transform:translateY(-1px)}
.tob .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);box-shadow:none}
.tob .btn.ghost:hover{background:rgba(255,255,255,.1)}
.tob .btn.lg{font-size:1.75rem;padding:18px 34px}
.tob .btn.dark{background:var(--navy)}
.tob .btn.dark:hover{background:var(--green)}
.tob .arr{display:inline-flex;width:14px;height:14px}
.tob .arr svg{width:14px;height:14px}
.tob section{padding:9rem 0}
.tob .container{max-width:1180px;margin:0 auto;}

/* HERO */
.tob .hero{background:radial-gradient(1200px 600px at 85% 20%,#0d2f7a 0%,var(--navy) 45%,var(--navy-deep) 100%);color:#fff;padding:15rem 0 10rem;position:relative;overflow:hidden}
.tob .hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><circle cx='60' cy='60' r='58' fill='none' stroke='rgba(255,255,255,.06)' stroke-width='1'/><path d='M60 0v120M0 60h120' stroke='rgba(255,255,255,.05)'/></svg>");opacity:.9;pointer-events:none}
.tob .hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.tob .hero .tag{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#bfeadb;margin-bottom:22px}
.tob .hero .tag i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(63,159,127,.25)}
.tob .hero h1{color:#fff;font-size:clamp(3.6rem,4.6vw,5.4rem);line-height:1.1}
.tob .hero h1 em{color:#7fd6b8}
.tob .hero .points{margin:30px 0 34px;display:grid;gap:16px;max-width:520px}
.tob .hero .pt{display:flex;gap:14px;align-items:flex-start;font-size:1.6rem;color:#dfe6ff}
.tob .hero .pt .ico{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center}
.tob .hero .pt .ico svg{width:18px;height:18px;stroke:#7fd6b8;fill:none;stroke-width:2}
.tob .hero .cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.tob .hero .micro{margin-top:18px;font-size:1.3rem;color:#a9b4dc}
.tob .visual{position:relative;max-width:560px;margin-left:auto;padding-bottom:70px;padding-left:20px}
.tob .photo{display:block;border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);aspect-ratio:1.28;background:#0a1a4a}
.tob .photo img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;display:block}
.tob .stub{position:absolute;left:-10px;bottom:0;width:58%;background:#fff;border-radius:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.65);overflow:hidden;border:1px solid rgba(255,255,255,.35)}
.tob .stub svg{display:block;width:100%;height:auto}

/* QUALIFY + STICKY */
.tob .qual{background:#f6f8f8}
.tob .qual .container{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.tob .startcard{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;text-align:center;box-shadow:var(--shadow)}
.tob .startcard .big{font-family:var(--serif);font-size:2.6rem;color:var(--ink);line-height:1.15;margin-bottom:6px}
.tob .startcard p{font-size:1.4rem;color:var(--muted);margin-bottom:18px}
.tob .startcard .btn{width:100%;justify-content:center}
.tob .startcard .trust{margin-top:16px;display:grid;gap:6px;font-size:1.3rem;color:var(--body);text-align:left}
.tob .startcard .trust span{display:flex;gap:8px;align-items:center}
.tob .startcard .trust svg{width:14px;height:14px;stroke:var(--green);stroke-width:3;fill:none}
.tob .qual h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:22px}
.tob .checkbox{background:var(--mint);border-radius:var(--r);padding:30px 32px;border:1px solid #cfeee3}
.tob .checkbox .lead{font-family:var(--serif);font-size:2.2rem;color:var(--ink);margin-bottom:20px;line-height:1.3}
.tob .checkbox ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tob .checkbox li{display:flex;gap:14px;align-items:flex-start;font-size:1.6rem;color:var(--body)}
.tob .checkbox li b{color:var(--ink);display:block}
.tob .checkbox li small{display:block;font-size:1.45rem;color:var(--body);margin-top:2px}
.tob .checkbox li .ck{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin-top:1px}
.tob .checkbox li .ck svg{width:14px;height:14px;stroke:#fff;stroke-width:3;fill:none}
.tob .worth{margin-top:22px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.tob .worth .w{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.tob .worth .w .n{font-family:var(--serif);font-size:2.8rem;color:var(--navy);line-height:1;margin-bottom:6px}
.tob .worth .w .l{font-size:1.35rem;color:var(--muted);line-height:1.4}
.tob .qual .fine{margin-top:16px;font-size:1.3rem;color:var(--muted);font-style:italic}

/* HOW IT WORKS */
.tob .how .container{max-width:1180px}
.tob .how h2{font-size:clamp(3rem,3.6vw,4.2rem);max-width:640px}
.tob .how .intro{margin:14px 0 0;font-size:1.7rem;max-width:560px}
.tob .step{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:64px}
.tob .step.flip .panel{order:-1}
.tob .step .num{font-family:var(--serif);font-size:9rem;line-height:.9;color:#dfe3e6;font-weight:400;margin-bottom:6px}
.tob .step h3{font-family:var(--serif);font-weight:500;font-size:3rem;margin-bottom:12px}
.tob .step p{font-size:1.65rem;max-width:460px}
.tob .step .btn{margin-top:22px}
.tob .step .time{display:inline-block;margin-left:12px;font-size:1.3rem;color:var(--muted)}
.tob .panel{border-radius:20px;overflow:hidden;background:var(--navy);aspect-ratio:1.2;position:relative;box-shadow:var(--shadow)}
.tob .panel svg{width:100%;height:100%;display:block}

/* RULES (compact) */
.tob .rules{background:var(--mint)}
.tob .rules h2{font-size:clamp(3rem,3.6vw,4.2rem);text-align:center;max-width:820px;margin:0 auto 12px}
.tob .rules .sub{text-align:center;font-size:1.7rem;max-width:640px;margin:0 auto}
.tob .rulegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.tob .rule{background:#fff;border-radius:var(--r);padding:26px 22px;border:1px solid #d9efe6}
.tob .rule .ic{width:46px;height:46px;border-radius:12px;background:var(--mint-2);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.tob .rule .ic svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:2}
.tob .rule h3{font-size:1.75rem;font-weight:800;margin-bottom:6px}
.tob .rule p{font-size:1.45rem}
.tob .rule .x{margin-top:12px;font-size:1.3rem;font-weight:700;color:var(--green-dark)}
.tob .rules .cite{text-align:center;margin-top:22px;font-size:1.3rem;color:var(--muted)}

/* EVIDENCE */
.tob .ev .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.tob .ev h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:12px}
.tob .ev p.lead{font-size:1.7rem}
.tob .chips{display:grid;gap:14px}
.tob .chip{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.tob .chip .ic{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--mint-2);display:flex;align-items:center;justify-content:center}
.tob .chip .ic svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:2}
.tob .chip b{display:block;color:var(--ink);font-size:1.6rem}
.tob .chip span{font-size:1.4rem;color:var(--muted)}
.tob .chip.opt{border-style:dashed}
.tob .ev .none{margin-top:18px;font-size:1.45rem;background:var(--mint);border-radius:12px;padding:14px 18px;color:var(--ink)}

/* REMEMBER */
.tob .remember{background:var(--navy);color:#fff;text-align:center;padding:7rem 0}
.tob .remember h2{color:#fff;font-family:var(--serif);font-weight:500;font-size:2.8rem;margin-bottom:14px}
.tob .remember p{max-width:820px;margin:0 auto;font-size:1.55rem;color:#c9d2f5}

/* TRUST */
.tob .trust{background:#fff;padding:7rem 0}
.tob .trust .container{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.tob .trust .n{font-family:var(--serif);font-size:5rem;color:var(--navy);line-height:1}
.tob .trust .l{margin-top:8px;font-size:1.4rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tob .trust .s{margin-top:8px;font-size:1.45rem}

/* FAQ */
.tob .faqs{background:#f6f8f8}
.tob .faqs .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.tob .faqs h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:12px}
.tob .faqs .lead{font-size:1.6rem}
.tob .faq{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.tob .faq button{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-family:var(--sans);font-weight:700;font-size:1.7rem;color:var(--ink)}
.tob .faq .tog{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--mint-2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;font-size:2.4rem;line-height:1;transition:.2s}
.tob .faq.open .tog{background:var(--navy);color:#fff;transform:rotate(45deg)}
.tob .faq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}
.tob .faq.open .ans{max-height:600px}
.tob .faq .ans p{padding:0 22px 20px;font-size:1.5rem}

/* FINAL */
.tob .final{background:linear-gradient(120deg,var(--green) 0%,#2f8a6d 100%);color:#fff;text-align:center;padding:9rem 0}
.tob .final h2{color:#fff;font-family:var(--serif);font-weight:500;font-size:clamp(3rem,3.8vw,4.4rem);max-width:760px;margin:0 auto}
.tob .final p{margin:16px auto 0;font-size:1.65rem;color:#e9f7f3;max-width:560px}
.tob .final .btn{margin-top:30px;background:#fff;color:var(--green-dark)}
.tob .final .btn:hover{background:var(--navy);color:#fff}
.tob .final .micro{font-size:1.25rem;margin-top:14px;color:#d8f2ea}

/* mobile sticky bar */
.tob .mbar{display:none}
.tob .mbar .sub{font-weight:600;opacity:.85;font-size:1.3rem;margin-left:6px}
html,body{overflow-x:hidden}
/* footer: tidy at tablet + phone (theme footer is 3/4-col desktop only) */
@media (max-width:1024px){footer .footer-grid{grid-template-columns:1fr 1fr!important;grid-gap:0 2em!important}footer .footer-grid .footer-item{border-right:0!important;padding:1.6rem 0!important}footer .footer-grid .footer-item h2{font-size:22px!important}}
@media (max-width:767px){footer{padding:2rem 0 3rem!important}footer .footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important}footer .footer-grid .footer-item:first-child{grid-column:1/-1;padding-bottom:0!important}footer .footer-grid .footer-item h2{font-size:15px!important;letter-spacing:.08em;text-transform:uppercase;border:0!important;padding:0 0 .4rem!important;margin:0!important}footer .footer-grid .footer-item h2::before{display:none!important}footer .footer-grid .footer-item ul{opacity:1!important;height:auto!important}footer .footer-grid .footer-item li,footer .footer-grid .footer-item li a{font-size: 14px!important;line-height:1.4!important;margin:0 0 .6rem!important;padding: 0 !important;}footer .footer-grid .footer-item ul{margin:0!important}footer .footer-grid .footer-item:first-child .footer-logo{text-align:left}footer .footer-grid .footer-item:first-child .footer-logo img{width:auto;max-width:250px;height:auto}footer .footer-grid .footer-item p{font-size: 14px!important;
	}footer .footer-bottom{padding:1rem 0!important}footer .footer-bottom p{font-size:12px!important;padding:0!important}footer .footer-bottom img{max-width:260px;margin:8px auto 0;display:block}.bottom-content{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.bottom-content p{font-size:10px}}

@media (max-width:1024px){
  header .header-wrap > .side-button{display:none}
  .tob .rulegrid{grid-template-columns:repeat(2,1fr)}
  .tob .qual .container{grid-template-columns:1fr}
  .tob .startcard{position:static}
}
@media (max-width:767px){
  .tob section{padding:6rem 0}
  .tob .hero{padding:12rem 0 4rem}
  .tob .hero .container,.tob .step,.tob .ev .container,.tob .faqs .container{grid-template-columns:1fr;gap:32px}
  .tob .step.flip .panel{order:0}
  .tob .step{margin-top:44px}
  .tob .step .num{font-size:6.5rem}
  .tob .worth,.tob .trust .container,.tob .rulegrid{grid-template-columns:1fr}
  .tob .visual{max-width:none;margin:0;padding-bottom:0}
  .tob .photo{aspect-ratio:3/4;border-radius:16px}
  .tob .photo img{object-position:45% 15%}
  .tob .visual{padding-left:0}
  .tob .stub{position:absolute;left:8px;right:auto;width:78%;bottom:8px;border-radius:12px}
  .tob .hero .container{display:flex;flex-direction:column;gap:0}
  .tob .hero .copy{display:contents}
  .tob .hero .tag{order:1;font-size:1.1rem;margin-bottom:14px;        position: relative;left: -12px;}
  .tob .hero h1{order:2;font-size:3.2rem;margin-bottom:18px}
  .tob .visual{order:3;margin-bottom:22px}
  .tob .hero .points{order:4;margin:0 0 20px}
  .tob .hero .pt2,.tob .hero .btn.ghost{display:none}
  .tob .hero .pt{font-size:1.55rem}
  .tob .hero .cta{order:5}
  .tob .hero .cta .btn{width:100%;justify-content:center}
  .tob .hero .micro{order:6;margin-top:12px;text-align:center}
  .tob .qual h2,.tob .how h2,.tob .rules h2,.tob .ev h2,.tob .faqs h2,.tob .final h2{font-size:2.9rem}
  .tob .checkbox{padding:22px 18px}
  .tob .checkbox .lead{font-size:1.85rem;margin-bottom:14px}
  .tob .checkbox li{font-size:1.6rem}
  .tob .worth{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
  .tob .worth .w{padding:12px 10px;text-align:center}
  .tob .worth .w .n{font-size:1.9rem}
  .tob .worth .w .l{font-size:1.15rem}
  .tob .step .num{font-size:5.5rem;margin-bottom:0}
  .tob .step h3{font-size:2.5rem}
  .tob .step p{font-size:1.6rem}
  .tob .step .btn{width:100%;justify-content:center}
  .tob .step .time{display:block;margin:8px 0 0;text-align:center}
  .tob .panel{aspect-ratio:1.35}
  .tob .rulegrid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:28px -4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tob .rulegrid::-webkit-scrollbar{display:none}
  .tob .rule{flex:0 0 78%;scroll-snap-align:start}
  .tob .rules .hint{display:block!important;text-align:center;font-size:1.25rem;color:var(--muted);margin-top:2px}
  .tob .rules .cite{font-size:1.25rem}
  .tob .rule p,.tob .chip span,.tob .faq .ans p,.tob .remember p,.tob .startcard p,.tob .qual .fine{font-size:1.5rem}
  .tob .trust{padding:4rem 0}
  .tob .trust .container{grid-template-columns:repeat(3,1fr);gap:8px}
  .tob .trust .n{font-size:2.6rem}
  .tob .trust .l{font-size:1.05rem;letter-spacing:.06em}
  .tob .trust .s{display:none}
  .tob .faq button{font-size:1.6rem;padding:16px 16px;min-height:52px}
  .tob .ev .none{font-size:1.45rem}
  .tob .final .btn{width:100%;justify-content:center}
  .tob .startcard{display:none}
  .tob .mbar{display:block;position:fixed;transform:translateY(110%);transition:transform .25s ease;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.08)}
  .tob .mbar.show{transform:translateY(0)}
  .tob .mbar .btn{width:100%;justify-content:center;min-height:50px}
  .tob .final{padding:6rem 0}
}