:root,:root[data-theme]{
--color-base-100:#fff;--color-base-200:#f1faf5;--color-base-300:#d3eadd;--color-base-content:#12261d;
--color-primary:#0a7d57;--color-primary-content:#fff;--color-accent:#22c55e;--color-accent-content:#06281a;
--color-neutral:#06402e;--color-neutral-content:#fff;
--radius-box:1.25rem;--radius-field:.9rem;--radius-selector:999px;
--font-display:"Fraunces",Georgia,serif;--font-sans:"Nunito",system-ui,sans-serif;
--tl-deep:#06402e;--tl-em:#0a7d57;--tl-bright:#22c55e;--tl-gold:#d4a62a;--tl-mint:#f1faf5;
}
html{scroll-behavior:smooth}
svg[data-lucide]{width:1.25em;height:1.25em;flex:none}
.tl-logo{white-space:nowrap}
@media(max-width:480px){.tl-logo{font-size:1.1rem}.tl-head .tl-btn{padding:.4rem .9rem;font-size:.85rem}.tl-right{gap:.2rem}}
body{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;color:var(--color-base-content);background:#fff}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;font-weight:700;overflow-wrap:break-word}
.tl-wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.tl-sec{padding:clamp(3.5rem,8vw,6.5rem) 0}
.tl-mint{background:var(--tl-mint)}
.tl-eyebrow{display:inline-block;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--tl-em);margin-bottom:.8rem}
.tl-eyebrow::after{content:"";display:block;width:2.5rem;height:3px;border-radius:3px;background:var(--tl-gold);margin-top:.5rem}
.tl-h2{font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem);color:var(--tl-deep);margin-bottom:1rem}
.tl-lead{font-size:1.15rem;max-width:42rem;color:#33493f}
.tl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.7rem;border-radius:999px;font-weight:800;text-decoration:none;background:var(--tl-em);color:#fff;border:2px solid var(--tl-em);transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;font-size:1rem}
.tl-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(10,125,87,.55);background:var(--tl-deep);border-color:var(--tl-deep)}
.tl-btn-ghost{background:transparent;color:var(--tl-deep);border-color:var(--tl-deep)}
.tl-btn-ghost:hover{color:#fff}
.tl-btn-gold{background:var(--tl-gold);border-color:var(--tl-gold);color:#10281e}
.tl-btn-gold:hover{background:#e6b93c;border-color:#e6b93c}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--tl-gold);outline-offset:2px}
.tl-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-base-300)}
.tl-head .tl-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.tl-logo{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--tl-deep);text-decoration:none;display:flex;align-items:center;gap:.5rem}
.tl-logo b{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--tl-em);color:#fff;font-size:.85rem;border:2px solid var(--tl-gold)}
.tl-nav{display:none;gap:1.6rem;align-items:center}
.tl-nav a{color:var(--tl-deep);font-weight:700;text-decoration:none}
.tl-nav a:hover{color:var(--tl-em)}
.tl-head .tl-btn{min-height:44px;padding:.5rem 1.2rem;font-size:.95rem}
.tl-mob{position:relative}
.tl-mob summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--tl-deep)}
.tl-mob summary::-webkit-details-marker{display:none}
.tl-mob nav{position:absolute;right:0;top:52px;background:#fff;border:1px solid var(--color-base-300);border-radius:1rem;box-shadow:0 18px 40px -12px rgba(6,64,46,.3);padding:.5rem;width:230px;display:grid}
.tl-mob nav a{padding:.8rem 1rem;color:var(--tl-deep);font-weight:700;text-decoration:none;border-radius:.6rem}
.tl-mob nav a:hover{background:var(--tl-mint)}
.tl-right{display:flex;align-items:center;gap:.5rem}
@media(min-width:900px){.tl-nav{display:flex}.tl-mob{display:none}}
.tl-hero{background:linear-gradient(160deg,#f1faf5 0%,#fff 60%);overflow:hidden}
.tl-hero .tl-wrap{display:grid;gap:2rem;padding:2.5rem 0 3.5rem;align-items:center}
.tl-hero h1{font-size:clamp(2.3rem,1.5rem + 4.2vw,4.4rem);color:var(--tl-deep);margin-bottom:1.1rem}
.tl-hero h1 em{font-style:normal;color:var(--tl-em);background:linear-gradient(transparent 70%,rgba(212,166,42,.45) 70%)}
.tl-tag{font-weight:800;color:var(--tl-em);margin-bottom:1rem}
.tl-acts{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 1.4rem}
.tl-vals{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}
.tl-vals li{padding:.35rem 1rem;border-radius:999px;background:#fff;border:1.5px solid var(--tl-gold);font-weight:800;color:var(--tl-deep);font-size:.95rem}
.tl-photo{position:relative}
.tl-photo img{width:100%;aspect-ratio:4/4.2;object-fit:cover;border-radius:2rem 2rem 2rem 6rem;display:block;box-shadow:0 30px 60px -24px rgba(6,64,46,.5)}
.tl-photo::before{content:"";position:absolute;inset:auto -12px -12px auto;width:55%;height:55%;border-radius:2rem;background:var(--tl-bright);opacity:.25;z-index:-1}
.tl-photo{isolation:isolate}
@media(min-width:900px){.tl-hero .tl-wrap{grid-template-columns:1.05fr .95fr;gap:4rem;padding:4rem 0 5rem}}
.tl-split{display:grid;gap:2.5rem;align-items:center}
.tl-split img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.5rem;display:block}
@media(min-width:900px){.tl-split{grid-template-columns:1fr 1fr;gap:4.5rem}.tl-rev>:first-child{order:2}}
.tl-quote{font-family:var(--font-display);font-size:1.4rem;color:var(--tl-em);font-weight:600;border-left:4px solid var(--tl-gold);padding-left:1rem;margin-top:1.5rem}
.tl-svc{background:var(--tl-deep);color:#fff;border-radius:2rem;padding:clamp(1.8rem,5vw,3.5rem);display:grid;gap:2rem;position:relative;overflow:hidden}
.tl-svc h2,.tl-svc h3{color:#fff}
.tl-svc .tl-eyebrow{color:#7ff0ad}
.tl-svc .tl-lead{color:#dcf5e8}
.tl-price{background:#fff;color:var(--tl-deep);border-radius:1.5rem;padding:1.8rem;border-top:6px solid var(--tl-gold)}
.tl-price h3{font-size:1.5rem;color:var(--tl-deep)}
.tl-amt{font-family:var(--font-display);font-size:3.2rem;font-weight:700;color:var(--tl-em);line-height:1;margin:.6rem 0}
.tl-amt small{font-family:var(--font-sans);font-size:1rem;color:#41584d;font-weight:600}
.tl-price ul{list-style:none;padding:0;margin:1rem 0 1.4rem;display:grid;gap:.5rem}
.tl-price li{display:flex;gap:.6rem;align-items:flex-start}
.tl-price li svg{color:var(--tl-em);flex:none;margin-top:.25rem}
@media(min-width:900px){.tl-svc{grid-template-columns:1.2fr .8fr;align-items:center}}
.tl-grid{display:grid;gap:1.2rem;margin-top:2.2rem}
@media(min-width:640px){.tl-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.tl-grid.tl-g3{grid-template-columns:repeat(3,1fr)}}
.tl-card{background:#fff;border:1px solid var(--color-base-300);border-radius:1.4rem;padding:1.6rem;transition:transform .25s,box-shadow .25s}
.tl-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(6,64,46,.35)}
.tl-card h3{font-size:1.25rem;color:var(--tl-deep);margin:.9rem 0 .4rem}
.tl-ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--tl-mint);color:var(--tl-em);border:1.5px solid var(--tl-gold)}
.tl-ico svg{width:1.4rem;height:1.4rem}
.tl-coach{display:grid;gap:2rem;align-items:center;background:#fff;border-radius:2rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--color-base-300)}
.tl-coach img{width:100%;max-width:340px;aspect-ratio:4/5;object-fit:cover;border-radius:1.5rem;border:3px dashed var(--tl-gold);background:var(--tl-mint);margin-inline:auto;display:block}
@media(min-width:800px){.tl-coach{grid-template-columns:340px 1fr;gap:3.5rem}}
.tl-note{margin-top:1rem;padding:.9rem 1.1rem;border-radius:1rem;background:var(--tl-mint);color:#33493f;font-size:.98rem;border:1px solid var(--color-base-300)}
.tl-testi{border:2px dashed var(--color-base-300);border-radius:1.4rem;padding:1.6rem;background:#fff;color:#33493f;display:grid;gap:.6rem;align-content:start}
.tl-testi svg{color:var(--tl-gold);width:2rem;height:2rem}
.tl-form{background:#fff;border-radius:1.8rem;padding:clamp(1.4rem,4vw,2.5rem);box-shadow:0 30px 60px -30px rgba(6,64,46,.4);border:1px solid var(--color-base-300);display:grid;gap:1rem}
.tl-form label span{display:block;font-weight:800;margin-bottom:.3rem;color:var(--tl-deep);font-size:.95rem}
.tl-form .input,.tl-form .textarea{width:100%;border-color:#9bc7b0;background:#fff}
.tl-book{display:grid;gap:2.5rem;align-items:start}
@media(min-width:900px){.tl-book{grid-template-columns:.8fr 1.2fr;gap:4rem}}
.tl-steps{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem;counter-reset:s}
.tl-steps li{counter-increment:s;display:flex;gap:.9rem;align-items:flex-start}
.tl-steps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--tl-em);color:#fff;font-weight:800}
.tl-give{background:linear-gradient(135deg,#fff7de,#f1faf5);border:1.5px solid var(--tl-gold);border-radius:2rem;padding:clamp(1.8rem,5vw,3.5rem);text-align:center}
.tl-give p{margin-inline:auto;max-width:38rem}
.tl-band{background:var(--tl-em);color:#fff;text-align:center;padding:clamp(3rem,7vw,5rem) 0}
.tl-band h2{color:#fff;font-size:clamp(1.8rem,1.2rem + 2.6vw,3.2rem);max-width:40rem;margin:0 auto 1.4rem}
.tl-foot{background:var(--tl-deep);color:#d6efe3;padding:3rem 0 2rem}
.tl-foot a{color:#fff}
.tl-foot .tl-wrap{display:grid;gap:1.5rem}
.tl-foot .tl-logo{color:#fff}
.tl-foot .tl-logo b{background:var(--tl-bright);color:#06281a}
.tl-flinks{display:flex;gap:1.2rem;flex-wrap:wrap}
.tl-small{font-size:.9rem;color:#b5dcc8}
.tl-legal{max-width:65ch;margin:3rem auto;padding:0 1.25rem}
.tl-legal h1{color:var(--tl-deep);font-size:2.4rem;margin-bottom:1rem}
.tl-legal h2{font-size:1.4rem;margin:1.5rem 0 .5rem;color:var(--tl-deep)}
.tl-rise{animation:tlrise .8s ease both}
@keyframes tlrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tl-rise{animation:none}.tl-btn,.tl-card{transition:none}html{scroll-behavior:auto}}
/* ginta: easier to read and tap */@media (max-width:767px){a.tl-btn.tl-btn{font-size:1rem;line-height:1.5}.tl-logo.tl-logo b{font-size:1rem;line-height:1.5}}@media (min-width:768px){a.tl-btn.tl-btn{font-size:1rem;line-height:1.5}.tl-logo.tl-logo b{font-size:1rem;line-height:1.5}}
