/* =====================================================================
   De-OrganicMaster - Homepage "Test · Trust · Transform" layer (Aurora)
   Loaded ONLY by app/views/public/aurora/home.php. Every rule is scoped
   under .ttt-home and built on the existing Aurora tokens (--au-*), so no
   other page, colour or component of the theme is affected.
   Icons: Lucide (ISC) via app/views/partials/ttt_icons.php.
   ===================================================================== */

.ttt-home {
    position: relative; isolation: isolate;
    /* glass tokens */
    --g-fill: linear-gradient(rgba(255, 255, 255, .62), rgba(255, 255, 255, .62));
    --g-fill-hover: linear-gradient(rgba(255, 255, 255, .78), rgba(255, 255, 255, .78));
    --g-edge: linear-gradient(140deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.35) 38%, rgba(216,184,74,.28) 70%, rgba(46,140,69,.22) 100%);
    --g-blur: saturate(165%) blur(18px);
    --g-shadow: 0 1px 0 rgba(255,255,255,.85) inset, 0 -1px 0 rgba(12,46,20,.04) inset, 0 12px 32px -14px rgba(12,46,20,.20), 0 2px 6px -2px rgba(12,46,20,.06);
    --g-shadow-hover: 0 1px 0 rgba(255,255,255,.9) inset, 0 22px 48px -18px rgba(12,46,20,.30), 0 4px 10px -4px rgba(12,46,20,.10);
    --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Soft mesh of brand colour behind the whole page - gives the glass something to blur */
.ttt-mesh {
    position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
    background:
        radial-gradient(520px 420px at 6% 9%,  rgba(46,140,69,.13), transparent 70%),
        radial-gradient(560px 460px at 96% 17%, rgba(216,184,74,.16), transparent 70%),
        radial-gradient(640px 520px at 12% 34%, rgba(216,184,74,.10), transparent 70%),
        radial-gradient(620px 520px at 92% 46%, rgba(46,140,69,.12), transparent 70%),
        radial-gradient(600px 480px at 8% 64%,  rgba(46,140,69,.10), transparent 70%),
        radial-gradient(560px 460px at 94% 78%, rgba(216,184,74,.13), transparent 70%),
        radial-gradient(600px 480px at 30% 94%, rgba(46,140,69,.10), transparent 70%);
}

/* ---------- Glass surface (shared) ---------- */
.ttt-glass {
    position: relative;
    background: var(--g-fill) padding-box, var(--g-edge) border-box;
    border: 1px solid transparent;
    -webkit-backdrop-filter: var(--g-blur); backdrop-filter: var(--g-blur);
    box-shadow: var(--g-shadow);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .ttt-home { --g-fill: linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)); --g-fill-hover: linear-gradient(#fff, #fff); }
}

/* ---------- Icons ---------- */
.ttt-home .li { width: 1.15em; height: 1.15em; flex: none; }
.ttt-ic {
    position: relative; flex: none;
    width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center;
    color: var(--au-emerald);
    background: linear-gradient(150deg, rgba(255,255,255,.95) 0%, rgba(232,240,233,.75) 100%);
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 0 1px 0 #fff inset, 0 6px 16px -8px rgba(26,92,42,.45), 0 0 0 1px rgba(26,92,42,.08);
}
.ttt-ic .li { width: 23px; height: 23px; }
.ttt-ic--gold {
    color: var(--au-gold-ink);
    background: linear-gradient(150deg, #FFFBEE 0%, #F2E3B4 100%);
    box-shadow: 0 1px 0 #fff inset, 0 6px 16px -8px rgba(184,151,42,.6), 0 0 0 1px rgba(184,151,42,.18);
}
.ttt-ic--lg { width: 56px; height: 56px; border-radius: 16px; }
.ttt-ic--lg .li { width: 26px; height: 26px; }

/* Buttons with icons */
.ttt-home .ttt-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; }
.ttt-home .ttt-btn .li { width: 1.1em; height: 1.1em; }

/* Text link with arrow */
.ttt-home .ttt-link {
    display: inline-flex; align-items: center; gap: .4rem; margin-top: auto;
    color: var(--au-emerald); font-weight: 600; font-size: .9rem; text-decoration: none;
}
.ttt-home .ttt-link .li { width: 16px; height: 16px; transition: transform .25s var(--au-ease-out); }
.ttt-home .ttt-card--link:hover .ttt-link .li, .ttt-home .ttt-link:hover .li { transform: translateX(3px); }

/* Chips & tags */
.ttt-chip {
    display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap;
    font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    padding: .32rem .66rem; border-radius: 999px;
    background: rgba(255,255,255,.7); color: var(--au-ink-2); border: 1px solid var(--au-line);
}
.ttt-chip--gold { background: rgba(244,237,214,.9); color: var(--au-gold-ink); border-color: #E8D9A6; }
.ttt-chip .li { width: 14px; height: 14px; }
.ttt-tag {
    margin-left: auto; white-space: nowrap;
    font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: .3rem .62rem; border-radius: 999px; background: var(--au-pine); color: var(--au-gold-2);
    box-shadow: 0 6px 14px -6px rgba(12,46,20,.5);
}

/* ---------- Section heads (one consistent system) ---------- */
.ttt-head { margin-bottom: clamp(1.4rem, 3.5vw, 2.2rem); }
.ttt-head h2 { margin: .55rem 0 0; letter-spacing: -.02em; color: var(--au-pine); }
.ttt-home .ttt-head p { color: var(--au-ink-2); font-size: var(--au-fs-lead); margin: .7rem 0 0; }
.ttt-head--center { text-align: center; max-width: 62ch; margin-inline: auto; }
.ttt-head--center .au-eyebrow { justify-content: center; }
.ttt-head--center p { margin-inline: auto !important; max-width: 56ch; }
.ttt-head--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; }
.ttt-head--split .au-btn { flex: none; }
.ttt-h-xl { font-size: var(--au-fs-h1); }
.ttt-center { display: flex; justify-content: center; margin-top: 1.6rem; }

/* ---------- Grids & cards ---------- */
.ttt-grid { display: grid; gap: 1.1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px)  { .ttt-grid--3, .ttt-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px)  { .ttt-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ttt-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ttt-card {
    display: flex; flex-direction: column; align-items: flex-start;
    border-radius: var(--au-radius-lg); padding: 1.45rem 1.45rem 1.35rem;
    color: inherit; text-decoration: none; overflow: hidden;
    transition: transform .3s var(--au-ease-out), box-shadow .3s var(--au-ease-out), background .3s;
}
.ttt-card > .ttt-ic { margin-bottom: 1rem; }
.ttt-card h3 { font-size: 1.1rem; line-height: 1.3; margin: 0 0 .4rem; color: var(--au-pine); letter-spacing: -.015em; }
.ttt-home .ttt-card p { color: var(--au-ink-2); margin: 0 0 1.1rem; font-size: .94rem; line-height: 1.6; flex: 1; }
.ttt-card--link:hover { transform: translateY(-4px); box-shadow: var(--g-shadow-hover); background: var(--g-fill-hover) padding-box, var(--g-edge) border-box; color: inherit; }
.ttt-card--link::after { /* light sweep on hover */
    content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 66%);
    transform: translateX(-120%); transition: transform .9s var(--au-ease-out);
}
.ttt-card--link:hover::after { transform: translateX(120%); }
.ttt-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; width: 100%; margin-bottom: 1rem; }
.ttt-card--compact { padding: 1.25rem; }
.ttt-card--compact h3 { font-size: 1.02rem; }
.ttt-home .ttt-card--compact p { font-size: .9rem; margin-bottom: 0; }
.ttt-media { display: block; width: 100%; aspect-ratio: 4/3; border-radius: 14px; overflow: hidden; margin-bottom: 1rem; background: var(--au-bg-2); }
.ttt-media--wide { aspect-ratio: 16/9; }
.ttt-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ttt-price { font-weight: 800; color: var(--au-emerald); }

/* ---------- Hero ---------- */
.ttt-home .au-hero__inner { padding-bottom: calc(clamp(1.8rem, 5vw, 3.6rem) + 2.6rem); }
.ttt-home .ttt-stat__txt span { margin-top: .2rem; }
/* Glass is drawn in CSS from the first paint (no late-loading effect), so the
   buttons and the stats panel never change shape or jump while the page loads.
   The gradient rim is a masked ring (::before) so it can't tint the clear fill. */
.ttt-home .au-hero .ttt-btn.au-btn--light,
.ttt-home .au-hero__stats.ttt-stats {
    position: relative; isolation: isolate;
    border: 0; color: #fff;
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    -webkit-backdrop-filter: blur(10px) saturate(130%); backdrop-filter: blur(10px) saturate(130%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 14px 30px -20px rgba(0,0,0,.6);
}
.ttt-home .au-hero .ttt-btn.au-btn--light::before,
.ttt-home .au-hero__stats.ttt-stats::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: -1;
    background: linear-gradient(140deg, rgba(255,255,255,.55), rgba(255,255,255,.12) 45%, rgba(216,184,74,.45));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
}
.ttt-home .au-hero .ttt-btn.au-btn--light:hover { background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06)); }
.ttt-home .au-hero__stats.ttt-stats {
    display: inline-flex; flex-wrap: wrap; align-items: center; gap: .9rem 0;
    width: auto; max-width: 100%;
    margin-top: 1.8rem; padding: 1rem 1.4rem; border-radius: 20px;
}
.au-hero[data-hero="light"] .ttt-stats.au-hero__stats { color: inherit; background: rgba(255,255,255,.7); }
.au-hero[data-hero="light"] .ttt-stats.au-hero__stats::before { background: linear-gradient(140deg, rgba(26,92,42,.18), rgba(216,184,74,.45)); }
.ttt-stat { display: flex; align-items: center; gap: .75rem; padding: 0 1.4rem; }
.ttt-stat:first-child { padding-left: 0; }
.ttt-stat:last-child { padding-right: 0; }
.ttt-home .ttt-stat + .ttt-stat { border-left: 1px solid rgba(255,255,255,.12); }
.au-hero[data-hero="light"] .ttt-stat + .ttt-stat { border-left-color: var(--au-line); }
.ttt-stat__ic {
    width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none;
    color: var(--au-gold-2); background: rgba(255,255,255,.08); border: 1px solid rgba(216,184,74,.35);
    box-shadow: 0 1px 0 rgba(255,255,255,.12) inset;
}
.ttt-stat__ic .li { width: 19px; height: 19px; }
.ttt-stat__txt { display: flex; flex-direction: column; line-height: 1.15; }
.ttt-home .ttt-stat b { font-size: 1.4rem; }
.au-hero[data-hero="light"] .ttt-stat__ic { color: var(--au-gold-ink); background: var(--au-gold-soft); }

/* Hero width: "Full width" (Admin -> Site Settings -> Homepage -> Hero Width) */
.ttt-hero-full .au-hero { border-radius: 0; margin-top: 0; }
.ttt-hero-full .au-hero__inner { width: min(1180px, 100% - 2.2rem); margin-inline: auto; padding-inline: 0; }
.ttt-hero-full .au-float-practitioner { display: none; }

/* ---------- Path cards (overlap the hero) ---------- */
.ttt-paths {
    position: relative; z-index: 3; margin-top: -2.9rem;
    padding-inline: clamp(.6rem, 3vw, 2.4rem);
    display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 760px) { .ttt-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ttt-path {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.1rem;
    border-radius: var(--au-radius-lg); padding: 1.25rem 1.35rem; color: inherit; text-decoration: none;
    --g-fill: linear-gradient(rgba(255,255,255,.80), rgba(255,255,255,.80));
    box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 24px 50px -22px rgba(12,46,20,.42), 0 4px 12px -6px rgba(12,46,20,.12);
    transition: transform .3s var(--au-ease-out), box-shadow .3s var(--au-ease-out);
}
.ttt-path:hover { transform: translateY(-3px); color: inherit; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 30px 60px -22px rgba(12,46,20,.5); }
.ttt-path__label { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--au-ink-3); margin-bottom: .15rem; }
.ttt-path h3 { font-size: 1.14rem; margin: 0 0 .2rem; color: var(--au-pine); }
.ttt-home .ttt-path p { margin: 0; color: var(--au-ink-2); font-size: .92rem; line-height: 1.5; }
.ttt-go {
    width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; flex: none;
    color: var(--au-emerald); background: rgba(255,255,255,.7); border: 1px solid var(--au-line-2);
    transition: background .25s, color .25s, border-color .25s, transform .25s var(--au-ease-out);
}
.ttt-go .li { width: 18px; height: 18px; }
.ttt-path:hover .ttt-go { background: var(--au-emerald); border-color: var(--au-emerald); color: #fff; transform: translateX(2px); }
.ttt-path--health:hover .ttt-go { background: var(--au-grad-gold); border-color: var(--au-gold); color: var(--au-pine); }
@media (max-width: 480px) {
    .ttt-path { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 1.1rem; }
    .ttt-path .ttt-ic--lg { width: 46px; height: 46px; }
    .ttt-go { display: none; }
}

/* ---------- Journey ---------- */
.ttt-journey {
    position: relative; margin-top: clamp(.6rem, 2vw, 1.2rem);
    background: linear-gradient(180deg, rgba(239,238,230,0) 0%, rgba(228,238,230,.75) 18%, rgba(239,238,230,.85) 82%, rgba(239,238,230,0) 100%);
    scroll-margin-top: 80px;
}
.ttt-journey .au-section { padding-block: clamp(2.6rem, 6vw, 4.4rem); }
.ttt-steps { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr); }
.ttt-step { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 1rem; }
.ttt-steps::before {
    content: ""; position: absolute; left: 26px; top: 28px; bottom: 28px; width: 2px; border-radius: 2px; opacity: .6;
    background: linear-gradient(180deg, var(--au-gold) 0%, var(--au-emerald-3) 55%, var(--au-emerald) 100%);
}
.ttt-step__marker {
    position: relative; z-index: 1; width: 54px; height: 54px; border-radius: 50%;
    display: grid; place-items: center; font-weight: 700; font-size: .95rem; color: var(--au-emerald);
    background: rgba(255,255,255,.85); border: 2px solid var(--au-emerald-3);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    box-shadow: 0 0 0 6px rgba(255,255,255,.35), 0 8px 18px -8px rgba(26,92,42,.45);
}
.ttt-step--start .ttt-step__marker { background: var(--au-grad-gold); color: var(--au-pine); border-color: var(--au-gold); box-shadow: 0 0 0 6px rgba(244,237,214,.7), var(--au-shadow-gold); }
.ttt-step__card { display: flex; flex-direction: column; border-radius: var(--au-radius-lg); padding: 1.5rem 1.5rem 1.4rem; transition: transform .3s var(--au-ease-out), box-shadow .3s var(--au-ease-out); }
.ttt-step__card:hover { transform: translateY(-3px); box-shadow: var(--g-shadow-hover); }
.ttt-step--start .ttt-step__card {
    --g-fill: linear-gradient(180deg, rgba(255,251,238,.9) 0%, rgba(255,255,255,.7) 60%);
    background: var(--g-fill) padding-box, linear-gradient(140deg, #F0DC9A, rgba(255,255,255,.6) 45%, rgba(216,184,74,.55)) border-box;
    box-shadow: 0 1px 0 #fff inset, 0 22px 46px -22px rgba(184,151,42,.55);
}
.ttt-step__top { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.ttt-step__top .ttt-ic { width: 42px; height: 42px; border-radius: 12px; }
.ttt-step__top .ttt-ic .li { width: 20px; height: 20px; }
.ttt-step__kicker { font-size: .74rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--au-emerald); white-space: nowrap; }
.ttt-step--start .ttt-step__kicker { color: var(--au-gold-ink); }
.ttt-step__card h3 { font-size: 1.22rem; margin: 0 0 .45rem; color: var(--au-pine); letter-spacing: -.015em; }
.ttt-home .ttt-step__card p { color: var(--au-ink-2); margin: 0 0 1.25rem; flex: 1; line-height: 1.6; }
.ttt-step__card .au-btn { align-self: flex-start; }
@media (min-width: 900px) {
    .ttt-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
    .ttt-step { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 1.1rem; }
    .ttt-step__marker { margin-inline: auto; }
    .ttt-steps::before { left: calc(100% / 6); right: calc(100% / 6); top: 26px; bottom: auto; width: auto; height: 2px; background: linear-gradient(90deg, var(--au-gold) 0%, var(--au-emerald-3) 50%, var(--au-emerald) 100%); }
}
@media (max-width: 480px) {
    .ttt-step { grid-template-columns: 44px minmax(0, 1fr); gap: .8rem; }
    .ttt-step__marker { width: 44px; height: 44px; font-size: .85rem; }
    .ttt-steps::before { left: 21px; }
    .ttt-step__card { padding: 1.2rem 1.15rem; }
    .ttt-step__kicker { font-size: .7rem; letter-spacing: .1em; }
}
.ttt-home .ttt-note {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem .5rem;
    width: fit-content; max-width: 100%; margin: clamp(1.6rem, 3vw, 2.2rem) auto 0;
    padding: .72rem 1.2rem; border-radius: 999px; color: var(--au-ink-2); font-size: .92rem; text-align: center;
}
.ttt-note .li { color: var(--au-gold); width: 18px; height: 18px; }
.ttt-note a { color: var(--au-emerald); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ttt-note__muted { color: var(--au-ink-3); }
@media (max-width: 560px) { .ttt-home .ttt-note { border-radius: var(--au-radius); } }

#system { scroll-margin-top: 80px; }

/* ---------- Dark bands: noise + glass chips ---------- */
.ttt-band { isolation: isolate; }
.ttt-band::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--noise); background-size: 160px; opacity: .05; mix-blend-mode: overlay; }
.ttt-chips-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.ttt-chip--dark { background: rgba(255,255,255,.07); color: #EAF7EE; border-color: rgba(216,184,74,.35); letter-spacing: .08em; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ttt-chip--dark .li { color: var(--au-gold-2); }
.ttt-assess { display: grid; gap: 1.4rem; align-items: center; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .ttt-assess { grid-template-columns: minmax(0, 1.4fr) auto auto; gap: 1.6rem; } }
.ttt-assess h2 { color: #fff; margin: 0 0 .6rem; }
.ttt-home .ttt-assess p { color: #CFE3D4; margin: 0; max-width: 54ch; }
.ttt-assess__cta { display: flex; flex-direction: column; align-items: center; gap: .7rem; }
.ttt-home .ttt-sublink { display: inline-flex; align-items: center; gap: .4rem; color: #BFE0C7; font-size: .86rem; text-decoration: underline; text-underline-offset: 3px; }
.ttt-sublink .li { width: 16px; height: 16px; }

/* ---------- The Book ---------- */
.ttt-book {
    display: grid; gap: clamp(1.4rem, 4vw, 3rem); align-items: center; grid-template-columns: minmax(0, 1fr);
    border-radius: var(--au-radius-lg); padding: clamp(1.4rem, 4.5vw, 3rem); overflow: hidden;
    --g-fill: linear-gradient(135deg, rgba(255,251,236,.86) 0%, rgba(244,237,214,.72) 100%);
    background: var(--g-fill) padding-box, linear-gradient(140deg, #F2E2A6, rgba(255,255,255,.7) 40%, rgba(216,184,74,.5)) border-box;
    box-shadow: 0 1px 0 #fff inset, 0 30px 60px -30px rgba(184,151,42,.5);
}
@media (min-width: 860px) { .ttt-book { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
.ttt-book__visual { position: relative; display: block; text-decoration: none; }
.ttt-book__glow { position: absolute; inset: 8% 6%; border-radius: 30px; background: radial-gradient(closest-side, rgba(216,184,74,.55), rgba(26,92,42,.18) 60%, transparent); filter: blur(28px); z-index: 0; }
.ttt-book__frame {
    position: relative; z-index: 1; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden;
    border-radius: 18px; padding: 10px;
    background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.85);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 #fff inset, 0 26px 50px -24px rgba(12,46,20,.5);
    transition: transform .5s var(--au-ease-out);
}
.ttt-book__visual:hover .ttt-book__frame { transform: translateY(-4px) rotate(-.6deg); }
.ttt-book__frame img { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); object-fit: contain; border-radius: 12px; background: transparent; }
.ttt-book__fallback {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; text-align: center;
    width: 46%; aspect-ratio: 2 / 3; padding: 16px; border-radius: 6px 12px 12px 6px;
    background: var(--au-grad-pine); color: var(--au-gold-2);
    box-shadow: 18px 22px 40px -16px rgba(12,46,20,.55), inset 8px 0 10px -6px rgba(0,0,0,.4);
    transform: rotate(-3deg);
}
.ttt-book__fallback .li { width: 30px; height: 30px; }
.ttt-book__fallback b { font-size: .9rem; line-height: 1.25; }
.ttt-book .au-eyebrow { color: var(--au-gold-ink); }
.ttt-book h2 { color: var(--au-pine); margin: .55rem 0 .7rem; font-size: var(--au-fs-h2); letter-spacing: -.02em; }
.ttt-home .ttt-book p { color: var(--au-ink-2); margin: 0; max-width: 54ch; }
.ttt-book__facts { list-style: none; margin: 1.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ttt-book__facts li {
    display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .8rem; border-radius: 999px;
    background: rgba(255,255,255,.7); border: 1px solid rgba(232,217,166,.9); color: var(--au-ink-2); font-size: .84rem; font-weight: 600;
}
.ttt-book__facts .li { width: 16px; height: 16px; color: var(--au-gold-ink); }
.ttt-book__buy { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.2rem; margin-top: 1.5rem; }
.ttt-book__price { font-weight: 800; color: var(--au-pine); font-size: 1.25rem; letter-spacing: -.01em; }

/* ---------- Testimonials ---------- */
.ttt-quote { margin: 0; }
.ttt-quote__mark { position: absolute; top: 1rem; right: 1.1rem; color: rgba(184,151,42,.28); }
.ttt-quote__mark .li { width: 40px; height: 40px; }
.ttt-stars { display: inline-flex; gap: 2px; color: var(--au-gold); margin-bottom: .8rem; font-size: 1rem; }
.ttt-quote blockquote { margin: 0 0 1.2rem; color: var(--au-ink); font-size: .97rem; line-height: 1.65; flex: 1; }
.ttt-quote figcaption { display: flex; align-items: center; gap: .7rem; width: 100%; padding-top: 1rem; border-top: 1px solid rgba(12,46,20,.07); margin-top: auto; }
.ttt-avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; flex: none; font-weight: 700; color: var(--au-pine); background: linear-gradient(150deg, #FFFBEE, #F2E3B4); border: 1px solid #E8D9A6; }
.ttt-quote figcaption b { display: block; color: var(--au-pine); font-size: .92rem; }
.ttt-quote figcaption small { display: inline-flex; align-items: center; gap: .25rem; color: var(--au-ink-3); font-size: .8rem; }
.ttt-quote figcaption small .li { width: 13px; height: 13px; }
.ttt-verified { margin-left: auto; color: var(--au-emerald-3); }
.ttt-verified .li { width: 20px; height: 20px; }

/* ---------- Articles ---------- */
.ttt-post > .ttt-ic { margin-bottom: 1rem; }

/* ---------- Final CTA ---------- */
.ttt-cta { text-align: center; }
.ttt-cta__chips { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; margin-bottom: 1.2rem; }
.ttt-cta__chips span {
    display: inline-flex; align-items: center; gap: .45rem; padding: .38rem .85rem; border-radius: 999px;
    font-size: .8rem; font-weight: 600; letter-spacing: .03em; color: #EAF7EE;
    background: rgba(255,255,255,.07); border: 1px solid rgba(216,184,74,.35);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ttt-cta__chips span .li { width: 15px; height: 15px; color: var(--au-gold-2); }
.ttt-cta__chips b { color: var(--au-gold-2); font-weight: 700; }
.ttt-cta__chips i { font-style: normal; color: rgba(216,184,74,.7); display: inline-flex; }
.ttt-cta__chips i .li { width: 14px; height: 14px; }
.ttt-cta h2 { color: #fff; margin: 0 auto .7rem; max-width: 24ch; }
.ttt-home .ttt-cta p { color: #CFE3D4; margin: 0 auto; max-width: 52ch; }
.ttt-cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.6rem; }
.ttt-sublink--wa { margin-top: 1rem; }

/* ---------- Dark-mode safety (only if the admin turns dark mode on) ---------- */
html[data-mode="dark"] .ttt-home { --g-fill: linear-gradient(rgba(18,38,26,.62), rgba(18,38,26,.62)); --g-fill-hover: linear-gradient(rgba(22,46,31,.8), rgba(22,46,31,.8)); --g-edge: linear-gradient(140deg, rgba(255,255,255,.18), rgba(255,255,255,.04) 40%, rgba(216,184,74,.25)); }
html[data-mode="dark"] .ttt-journey { background: linear-gradient(180deg, transparent, rgba(14,31,20,.8) 20%, rgba(14,31,20,.8) 80%, transparent); }
html[data-mode="dark"] .ttt-ic { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #9FD3AE; }
html[data-mode="dark"] .ttt-card h3, html[data-mode="dark"] .ttt-path h3, html[data-mode="dark"] .ttt-step__card h3,
html[data-mode="dark"] .ttt-head h2, html[data-mode="dark"] .ttt-book h2, html[data-mode="dark"] .ttt-book__price { color: #EAF7EE; }
html[data-mode="dark"] .ttt-home .ttt-card p, html[data-mode="dark"] .ttt-home .ttt-path p, html[data-mode="dark"] .ttt-home .ttt-step__card p,
html[data-mode="dark"] .ttt-home .ttt-book p, html[data-mode="dark"] .ttt-quote blockquote { color: #B9CABE; }
html[data-mode="dark"] .ttt-book { --g-fill: linear-gradient(135deg, rgba(29,36,20,.85), rgba(36,48,26,.8)); }

@media (prefers-reduced-motion: reduce) {
    .ttt-card, .ttt-path, .ttt-step__card, .ttt-book__frame, .ttt-go, .ttt-link .li { transition: none !important; }
    .ttt-card--link::after { display: none; }
}

/* ---------- Hero on mobile: two buttons side by side, stats on one line ---------- */
@media (max-width: 640px) {
    .ttt-home .au-hero__inner { padding-inline: 1.2rem; }
    .ttt-home .ttt-hero-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: .5rem; }
    .ttt-home .ttt-hero-cta .au-btn--lg {
        width: 100%; min-height: 50px; padding: .75rem .5rem; gap: .4rem;
        font-size: clamp(.78rem, 3.4vw, .92rem); white-space: nowrap; letter-spacing: -.005em;
        -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    }
    .ttt-home .ttt-hero-cta .au-btn .li { width: 16px; height: 16px; }

    .ttt-home .au-hero__stats.ttt-stats {
        display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem;
        width: 100%; margin-top: 1.2rem; padding: .85rem .5rem;
        border: 1px solid rgba(255,255,255,.14); border-radius: 16px;
        background: rgba(255,255,255,.06); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    }
    .ttt-home .ttt-stat { min-width: 0; flex-direction: column; align-items: center; text-align: center; gap: .3rem; padding: 0; }
    .ttt-home .ttt-stat + .ttt-stat { border-left: 1px solid rgba(255,255,255,.1); }
    .ttt-home .ttt-stat__ic { width: 28px; height: 28px; border-radius: 8px; }
    .ttt-home .ttt-stat__ic .li { width: 14px; height: 14px; }
    .ttt-home .ttt-stat__txt { align-items: center; min-width: 0; max-width: 100%; }
    .ttt-home .ttt-stat b { font-size: clamp(.95rem, 4.4vw, 1.15rem); white-space: nowrap; }
    .ttt-home .ttt-stat__txt span { font-size: clamp(.56rem, 2.55vw, .7rem); white-space: nowrap; letter-spacing: -.01em; margin-top: .12rem; }
}
@media (max-width: 350px) {
    .ttt-home .ttt-hero-cta .au-btn .li { display: none; }
    .ttt-home .ttt-hero-cta { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
    .ttt-home .ttt-stat__txt span { font-size: .54rem; letter-spacing: -.015em; }
}

/* ---------- Book band: real photo or 3D cover (partials/book_cover.php) ---------- */
.ttt-book__visual { display: flex; align-items: center; justify-content: center; min-height: 300px; padding: 1rem 0 1.6rem; }
.ttt-book__visual .dbk { position: relative; z-index: 1; }
.ttt-book__visual .dbk--photo:not(.is-fallback) .dbk__photo {
    border-radius: 16px; box-shadow: 0 1px 0 #fff inset, 0 26px 50px -24px rgba(12,46,20,.5);
    transform: perspective(1400px) rotateY(-8deg) rotateX(2deg); transition: transform .5s var(--au-ease-out);
}
.ttt-book__visual:hover .dbk--photo:not(.is-fallback) .dbk__photo { transform: perspective(1400px) rotateY(-2deg); }
.ttt-cta__addr { margin: 1.1rem auto 0; color: rgba(207,227,212,.7); font-size: .86rem; }
.ttt-cta__addr a { color: inherit; text-decoration: none; }
.ttt-path__body .ttt-link { margin-top: .55rem; font-size: .86rem; }

/* ---------- "Also living with": the rest of the conditions, once each ---------- */
.ttt-more {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .9rem 1rem;
    margin-top: 1.6rem; padding: 1.2rem 1.3rem; border-radius: var(--au-radius-lg);
    background: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,.5)) padding-box, var(--g-edge) border-box;
    border: 1px solid transparent; -webkit-backdrop-filter: var(--g-blur); backdrop-filter: var(--g-blur);
}
.ttt-home .ttt-more__label { margin: 0; color: var(--au-ink-3); font-size: .9rem; white-space: nowrap; }
.sig-serif .ttt-home .ttt-more__label { font-family: var(--sig-serif, 'Lora', serif); font-style: italic; font-size: 1rem; color: var(--au-gold-ink); }
.ttt-more__list { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; flex: 1 1 520px; }
.ttt-cond {
    display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border-radius: 999px;
    background: rgba(255,255,255,.78); border: 1px solid rgba(12,46,20,.10); color: var(--au-pine);
    font-size: .88rem; font-weight: 600; text-decoration: none; transition: background .2s, border-color .2s, transform .2s var(--au-ease-out);
}
.ttt-cond .li { width: 16px; height: 16px; color: var(--au-emerald); }
.ttt-cond:hover { background: #fff; border-color: var(--au-gold); color: var(--au-pine); transform: translateY(-1px); }
@media (max-width: 640px) { .ttt-more { flex-direction: column; } .ttt-more__list { flex-basis: auto; } }
