/* ==========================================================
   THE HOMEBRIDGE — HOMEPAGE v19
   Session 18b: FULL REDESIGN — dark hero, dark role section,
   new safety section, dramatically different visual identity.
   Premium UK student accommodation platform.
   ========================================================== */

:root {
    --thb-navy:    #0B1633;
    --thb-navy-d:  #060c1e;
    --thb-purple:  #6C5CE7;
    --thb-purple-d:#5a4bd4;
    --thb-purple-l:#EDEBFF;
    --thb-green:   #2FA66A;
    --thb-green-l: #E6F9EF;
    --thb-orange:  #F47B20;
    --thb-orange-l:#FFF0E3;
    --thb-cream:   #FFF8EF;
    --thb-white:   #ffffff;
    --thb-ink:     #1a1a2e;
    --thb-muted:   #64748b;
    --thb-line:    rgba(0,0,0,.07);
    --thb-r:       20px;
    --thb-sh:      0 8px 32px rgba(0,0,0,.08);
    --thb-sh-l:    0 20px 60px rgba(0,0,0,.10);
    --thb-font:    'Inter','Figtree',system-ui,-apple-system,sans-serif;
    --thb-font-h:  'Figtree','Inter',system-ui,-apple-system,sans-serif;
    --thb-ease:    cubic-bezier(.22,1,.36,1);
}

/* ---- PAGE ---- */
.thbx-page{font-family:var(--thb-font);color:var(--thb-ink);background:var(--thb-white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.thbx-page *,.thbx-page *::before,.thbx-page *::after{box-sizing:border-box}

/* ============================
   NAV — glass over dark hero
   ============================ */
.header.header-transparent{
    position:fixed!important;top:0;left:0;right:0;z-index:1000;
    background:rgba(11,22,51,.6)!important;
    border-bottom:1px solid rgba(108,92,231,.15);
    box-shadow:0 4px 30px rgba(0,0,0,.2);
    -webkit-backdrop-filter:blur(20px) saturate(1.5);
    backdrop-filter:blur(20px) saturate(1.5);
    transition:background .35s,box-shadow .35s;
}
.header.header-transparent .logo-white{display:block!important}
.header.header-transparent .logo-dark{display:none!important}
.header.header-transparent .nav-brand img{
    max-width:200px!important;height:auto;
    filter:drop-shadow(0 2px 12px rgba(108,92,231,.3));
    transition:transform .3s ease;
}
.header.header-transparent .nav-brand:hover img{transform:scale(1.04)}
.header.header-transparent .nav-menu>li>a,
.header.header-transparent .nav-brand,
.header.header-transparent .custome-nav>li>a{
    color:rgba(255,255,255,.9)!important;font-weight:600;transition:color .25s;
}
.header.header-transparent .nav-menu>li>a:hover,
.header.header-transparent .custome-nav>li>a:hover{color:#fff!important;text-shadow:0 0 12px rgba(108,92,231,.5)}
.header.header-transparent .logIn{
    border-radius:12px;
    background:linear-gradient(135deg,var(--thb-purple),var(--thb-orange))!important;
    color:#fff!important;
    padding:10px 26px!important;font-weight:700;
    box-shadow:0 6px 24px rgba(108,92,231,.4);
    transition:transform .2s,box-shadow .2s;
    border:none!important;
}
.header.header-transparent .logIn:hover{
    transform:translateY(-2px);box-shadow:0 10px 32px rgba(108,92,231,.5);
}

/* ============================
   HERO — DARK NAVY GRADIENT
   ============================ */
.thbx-hero{
    position:relative;min-height:92vh;
    padding:clamp(110px,12vw,140px) 0 clamp(36px,4vw,52px);
    background:linear-gradient(160deg,#060c1e 0%,#0B1633 20%,#1a1145 40%,#2d1b69 55%,#1a1145 70%,#0B1633 85%,#060c1e 100%);
    isolation:isolate;overflow:hidden;
    color:#fff;
}
.thbx-hero .container{max-width:1200px;width:100%}

/* dot pattern overlay */
.thbx-hero::after{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(108,92,231,.06) 1px,transparent 1px);
    background-size:28px 28px;pointer-events:none;z-index:0;
}

.thbx-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.thbx-hero-warm{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 70% 50% at 80% 20%,rgba(244,123,32,.08),transparent),
        radial-gradient(ellipse 60% 50% at 20% 80%,rgba(108,92,231,.1),transparent),
        radial-gradient(ellipse 50% 40% at 50% 0%,rgba(47,166,106,.05),transparent);
}

/* Aurora — visible on dark bg */
.thbx-aurora{position:absolute;border-radius:50%;opacity:0;filter:blur(90px);animation:thbAurora 14s ease-in-out infinite;will-change:transform,opacity}
.thbx-aurora--1{left:-10%;top:-20%;width:700px;height:700px;background:linear-gradient(135deg,rgba(108,92,231,.3),rgba(47,166,106,.15));animation-delay:0s}
.thbx-aurora--2{right:-5%;top:10%;width:600px;height:600px;background:linear-gradient(225deg,rgba(244,123,32,.2),rgba(108,92,231,.12));animation-delay:4s}
.thbx-aurora--3{left:30%;bottom:-15%;width:800px;height:600px;background:linear-gradient(45deg,rgba(47,166,106,.18),rgba(244,123,32,.12));animation-delay:8s}

/* Glowing orbs — vivid on dark */
.thbx-glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.7;animation:thbGlowDrift 12s ease-in-out infinite;will-change:transform}
.thbx-glow--one{left:5%;top:10%;width:400px;height:400px;background:rgba(108,92,231,.2)}
.thbx-glow--two{right:5%;top:5%;width:450px;height:450px;background:rgba(244,123,32,.12);animation-delay:2s}
.thbx-glow--three{left:40%;bottom:5%;width:500px;height:500px;background:rgba(47,166,106,.1);animation-delay:4s}

.thbx-particles{position:absolute;inset:0;width:100%;height:100%;opacity:.6}

/* Skyline — brighter on dark */
.thbx-skyline-svg{position:absolute;bottom:0;left:0;width:100%;height:auto;opacity:.9;animation:thbSkylineFade 1.8s ease-out both;animation-delay:.3s}
.thbx-bridge-path{stroke-dasharray:12 8;animation:thbBridgeDash 18s linear infinite}

/* Floating icons — glass on dark */
.thbx-fi{
    position:absolute;left:var(--fi-x);top:var(--fi-y);
    display:grid;place-items:center;
    width:54px;height:54px;border-radius:16px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(108,92,231,.2);
    box-shadow:0 10px 36px rgba(0,0,0,.3);
    font-size:1.05rem;color:rgba(255,255,255,.8);
    animation:thbFloat 6s ease-in-out infinite;animation-delay:var(--fi-d);
    backdrop-filter:blur(12px);transition:transform .3s,box-shadow .3s;
}
.thbx-fi--p{color:var(--thb-purple-l);border-color:rgba(108,92,231,.25)}
.thbx-fi--g{color:var(--thb-green-l);border-color:rgba(47,166,106,.25)}
.thbx-fi--o{color:var(--thb-orange-l);border-color:rgba(244,123,32,.25)}
.thbx-fi:hover{transform:translateY(-8px) scale(1.15)!important;box-shadow:0 14px 36px rgba(0,0,0,.4)}

/* ---- hero content ---- */
.thbx-hero-shell{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:clamp(22px,3vw,32px)}

.thbx-hero-copy{text-align:center;max-width:820px}
.thbx-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--thb-orange);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.thbx-eyebrow i{font-size:.8rem;opacity:.7}
.thbx-hero h1{margin:0;font-family:var(--thb-font-h);font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:800;line-height:1.08;color:#fff}
.thbx-purple{background:linear-gradient(135deg,var(--thb-purple),#a78bfa,var(--thb-orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.thbx-sub{max-width:600px;margin:18px auto 0;color:rgba(255,255,255,.7);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65}

/* ============================
   SEARCH BAR — glass on dark
   ============================ */
.thbx-search{
    display:flex;align-items:center;width:100%;max-width:920px;
    background:rgba(255,255,255,.08);
    border:1.5px solid rgba(255,255,255,.12);
    border-radius:60px;
    box-shadow:0 12px 48px rgba(0,0,0,.25);
    padding:6px 6px 6px 24px;
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    transition:box-shadow .4s var(--thb-ease),transform .4s var(--thb-ease),border-color .3s,background .3s;
}
.thbx-search:hover,.thbx-search:focus-within{
    box-shadow:0 20px 64px rgba(108,92,231,.3);transform:translateY(-5px);
    border-color:rgba(108,92,231,.35);background:rgba(255,255,255,.12);
}
.thbx-search-field{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px 14px}
.thbx-sf-icon{color:var(--thb-purple-l);font-size:.9rem;flex-shrink:0;opacity:.65;transition:opacity .2s,transform .2s}
.thbx-search-field:focus-within .thbx-sf-icon{opacity:1;transform:scale(1.1)}
.thbx-search-field label{display:block;font-size:.62rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin:0 0 2px;cursor:pointer}
.thbx-search-field input,.thbx-search-field select{display:block;width:100%;border:0;background:transparent;font-family:var(--thb-font);font-size:.86rem;font-weight:600;color:#fff;outline:none;padding:0;margin:0;-webkit-appearance:none;appearance:none;cursor:pointer}
.thbx-search-field input::placeholder{color:rgba(255,255,255,.45);font-weight:500}
.thbx-search-field select option{color:var(--thb-navy);background:#fff}
.thbx-search-div{display:block;width:1px;height:32px;background:rgba(255,255,255,.12);flex-shrink:0}
.thbx-search-btn{
    flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    height:50px;padding:0 30px;border:0;border-radius:50px;
    background:linear-gradient(135deg,var(--thb-purple),var(--thb-orange));color:#fff;
    font-family:var(--thb-font);font-size:.9rem;font-weight:700;
    white-space:nowrap;cursor:pointer;
    box-shadow:0 6px 24px rgba(108,92,231,.4);
    transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;
}
.thbx-search-btn::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);
    transform:translateX(-120%);transition:transform .6s;
}
.thbx-search-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 36px rgba(108,92,231,.55)}
.thbx-search-btn:hover::after{transform:translateX(120%)}
.thbx-search-btn em{font-style:normal}

/* ============================
   TRUST BAR — glass on dark
   ============================ */
.thbx-trust{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:1080px;padding:18px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 8px 36px rgba(0,0,0,.15);backdrop-filter:blur(12px)}
.thbx-trust-item{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 10px}
.thbx-trust-item+.thbx-trust-item{border-left:1px solid rgba(255,255,255,.1)}
.thbx-ti-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(108,92,231,.2);color:var(--thb-purple-l);font-size:.9rem;flex-shrink:0;transition:transform .3s}
.thbx-ti-icon--g{background:rgba(47,166,106,.2);color:var(--thb-green-l)}
.thbx-ti-icon--o{background:rgba(244,123,32,.2);color:var(--thb-orange-l)}
.thbx-trust-item:hover .thbx-ti-icon{transform:scale(1.12) rotate(-4deg)}
.thbx-trust-item strong{display:block;font-size:.78rem;font-weight:800;color:#fff;white-space:nowrap}
.thbx-trust-item span{display:block;font-size:.66rem;color:rgba(255,255,255,.55);line-height:1.3}

/* ============================
   ROLE CARDS SECTION — Dark bg, cards pop
   ============================ */
.thbx-roles-section{
    position:relative;
    padding:clamp(40px,5vw,64px) 0;
    background:linear-gradient(180deg,var(--thb-navy-d) 0%,var(--thb-navy) 30%,#1a1145 70%,var(--thb-navy-d) 100%);
    color:#fff;overflow:hidden;
}
.thbx-roles-section::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(108,92,231,.05) 1px,transparent 1px);
    background-size:28px 28px;pointer-events:none;
}
.thbx-roles-section .thbx-sec-head h2{color:#fff}
.thbx-roles-section .thbx-sec-head h2::after{background:linear-gradient(90deg,var(--thb-purple),var(--thb-orange))}
.thbx-roles-section .thbx-sec-head>p:last-child{color:rgba(255,255,255,.6)}

.thbx-role-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;width:100%;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.thbx-role-card{
    --accent:var(--thb-purple);--accent-l:var(--thb-purple-l);
    position:relative;display:flex;flex-direction:column;align-items:flex-start;
    padding:36px 30px 30px;
    border:1.5px solid rgba(255,255,255,.08);
    border-radius:var(--thb-r);
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(12px);
    box-shadow:0 10px 40px rgba(0,0,0,.2);
    overflow:hidden;cursor:pointer;
    transition:transform .4s var(--thb-ease),box-shadow .4s var(--thb-ease),border-color .3s,background .3s;
}
.thbx-role-card:hover{
    transform:translateY(-16px) scale(1.02);
    box-shadow:0 32px 80px rgba(0,0,0,.3),0 0 0 2px var(--accent);
    border-color:var(--accent);background:rgba(255,255,255,.08);
}
.thbx-rc--student{--accent:var(--thb-purple);--accent-l:var(--thb-purple-l)}
.thbx-rc--owner{--accent:var(--thb-green);--accent-l:var(--thb-green-l)}
.thbx-rc--agent{--accent:var(--thb-orange);--accent-l:var(--thb-orange-l)}

.thbx-rc-deco{position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;background:var(--accent);opacity:.06;transition:transform .6s var(--thb-ease),opacity .5s}
.thbx-role-card:hover .thbx-rc-deco{transform:scale(1.6);opacity:.12}

.thbx-rc-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:var(--accent);color:#fff;font-size:1.5rem;margin-bottom:20px;position:relative;z-index:1;transition:transform .35s var(--thb-ease),box-shadow .35s;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.thbx-role-card:hover .thbx-rc-icon{transform:scale(1.14) rotate(-5deg);box-shadow:0 12px 32px rgba(0,0,0,.3)}

.thbx-role-card h2{margin:0 0 8px;font-family:var(--thb-font-h);font-size:1.5rem;font-weight:800;color:#fff;position:relative;z-index:1}
.thbx-role-card h2 span{color:var(--accent-l)}
.thbx-role-card>p{margin:0 0 16px;color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.6;position:relative;z-index:1}

/* Feature list in role cards */
.thbx-rc-features{list-style:none;padding:0;margin:0 0 20px;position:relative;z-index:1}
.thbx-rc-features li{display:flex;align-items:center;gap:8px;padding:4px 0;color:rgba(255,255,255,.75);font-size:.84rem;font-weight:600}
.thbx-rc-features li i{color:var(--accent-l);font-size:.65rem}

.thbx-rc-btn{
    display:inline-flex;align-items:center;gap:8px;margin-top:auto;
    padding:13px 26px;border:0;border-radius:12px;
    background:var(--accent);color:#fff!important;
    font-family:var(--thb-font);font-size:.9rem;font-weight:700;
    text-decoration:none!important;position:relative;z-index:1;overflow:hidden;
    transition:transform .25s,box-shadow .25s;
    box-shadow:0 6px 20px rgba(0,0,0,.2);
}
.thbx-rc-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.25) 50%,transparent);transform:translateX(-110%);transition:transform .55s}
.thbx-rc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.thbx-rc-btn:hover::before{transform:translateX(110%)}
.thbx-arrow{transition:transform .3s}
.thbx-rc-btn:hover .thbx-arrow,.thbx-btn:hover .thbx-arrow{animation:thbArrowBounce .6s ease infinite}

/* ============================
   BELOW-FOLD SECTIONS
   ============================ */
.thbx-sec{position:relative;padding:clamp(40px,5vw,64px) 0}
.thbx-sec .container{max-width:1200px}
.thbx-sec-head{max-width:680px;margin:0 auto clamp(20px,3vw,36px);text-align:center}
.thbx-tag{display:inline-block;margin:0 0 12px;padding:7px 18px;border-radius:50px;background:var(--thb-purple-l);color:var(--thb-purple);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 2px 12px rgba(108,92,231,.1)}
.thbx-tag--light{background:rgba(255,255,255,.1);color:rgba(255,255,255,.9);box-shadow:none}
.thbx-sec-head h2{margin:0 0 14px;font-family:var(--thb-font-h);font-size:clamp(2rem,3.8vw,3.2rem);font-weight:800;line-height:1.1;color:var(--thb-navy)}
.thbx-sec-head h2::after{content:"";display:block;width:56px;height:3px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-orange));margin:14px auto 0;border-radius:2px}
.thbx-sec-head>p:last-child{margin:0;color:var(--thb-muted);font-size:1.05rem;line-height:1.6}

/* HOW IT WORKS */
.thbx-sec--how{background:linear-gradient(180deg,#fff 0%,var(--thb-cream) 50%,#fff 100%)}
.thbx-steps{display:flex;align-items:flex-start;justify-content:center;max-width:1080px;margin:0 auto}
.thbx-step{flex:1;text-align:center;padding:0 16px}
.thbx-step-n{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 12px;border-radius:50%;background:var(--thb-purple);color:#fff;font-size:.78rem;font-weight:800}
.thbx-step-ic{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:20px;background:linear-gradient(135deg,var(--thb-purple-l),rgba(108,92,231,.15));color:var(--thb-purple);font-size:1.5rem;transition:transform .35s var(--thb-ease),box-shadow .3s,background .3s,color .3s;border:1.5px solid rgba(108,92,231,.1)}
.thbx-step:hover .thbx-step-ic{transform:scale(1.12) rotate(-4deg);box-shadow:0 12px 32px rgba(108,92,231,.2);background:var(--thb-purple);color:#fff}
.thbx-step h3{margin:0 0 8px;font-family:var(--thb-font-h);font-size:1.1rem;font-weight:800;color:var(--thb-navy)}
.thbx-step p{margin:0;color:var(--thb-muted);font-size:.88rem;line-height:1.5}
.thbx-step-line{width:60px;flex-shrink:0;display:flex;align-items:center;padding-top:54px}
.thbx-step-line::after{content:"";display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-green));border-radius:2px;opacity:.3}

/* WHY STUDENTS */
.thbx-sec--why{background:linear-gradient(180deg,#f3eeff 0%,#faf8ff 40%,#fff 100%);position:relative}
.thbx-sec--why::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.thbx-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.thbx-wc{padding:28px 26px;border:1.5px solid rgba(108,92,231,.06);border-radius:var(--thb-r);background:var(--thb-white);box-shadow:0 6px 24px rgba(11,22,51,.05);transition:transform .4s var(--thb-ease),box-shadow .4s,border-color .3s;position:relative;overflow:hidden}
.thbx-wc::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-green),var(--thb-orange));opacity:0;transition:opacity .35s}
.thbx-wc:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(108,92,231,.12);border-color:rgba(108,92,231,.15)}
.thbx-wc:hover::before{opacity:1}
.thbx-wc-i{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;font-size:1.2rem;margin-bottom:18px;transition:transform .35s var(--thb-ease)}
.thbx-wc:hover .thbx-wc-i{transform:scale(1.12) rotate(-4deg)}
.thbx-wc-i--p{background:var(--thb-purple-l);color:var(--thb-purple)}
.thbx-wc-i--g{background:var(--thb-green-l);color:var(--thb-green)}
.thbx-wc-i--o{background:var(--thb-orange-l);color:var(--thb-orange)}
.thbx-wc h3{margin:0 0 8px;font-family:var(--thb-font-h);font-size:1.15rem;font-weight:800;color:var(--thb-navy)}
.thbx-wc p{margin:0;color:var(--thb-muted);font-size:.9rem;line-height:1.55}

/* ============================
   SAFETY SECTION — Dark
   ============================ */
.thbx-sec--safety{
    background:linear-gradient(135deg,var(--thb-navy) 0%,#1a1145 40%,#2d1b69 60%,var(--thb-navy) 100%);
    color:#fff;overflow:hidden;
    padding:clamp(56px,7vw,90px) 0;
}
.thbx-sec--safety::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);
    background-size:24px 24px;pointer-events:none;
}
.thbx-safe-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;position:relative;z-index:1}
.thbx-safe-copy h2{margin:0 0 16px;font-family:var(--thb-font-h);font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.1;color:#fff}
.thbx-safe-copy>p{margin:0 0 28px;color:rgba(255,255,255,.65);font-size:1rem;line-height:1.65}
.thbx-safe-list{display:flex;flex-direction:column;gap:16px}
.thbx-safe-item{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);transition:transform .35s var(--thb-ease),background .3s,border-color .3s}
.thbx-safe-item:hover{transform:translateX(8px);background:rgba(255,255,255,.08);border-color:rgba(108,92,231,.25)}
.thbx-safe-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(108,92,231,.2);color:var(--thb-purple-l);font-size:1rem;flex-shrink:0}
.thbx-safe-ic--g{background:rgba(47,166,106,.2);color:var(--thb-green-l)}
.thbx-safe-ic--o{background:rgba(244,123,32,.2);color:var(--thb-orange-l)}
.thbx-safe-item strong{display:block;font-size:.92rem;font-weight:800;color:#fff;margin-bottom:2px}
.thbx-safe-item span{display:block;font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.4}

/* Shield visual */
.thbx-safe-visual{display:flex;align-items:center;justify-content:center}
.thbx-safe-shield{position:relative;width:200px;height:200px;display:grid;place-items:center}
.thbx-safe-shield>i{font-size:4.5rem;color:var(--thb-purple-l);position:relative;z-index:2;filter:drop-shadow(0 0 30px rgba(108,92,231,.4))}
.thbx-safe-ring{position:absolute;border-radius:50%;border:2px solid rgba(108,92,231,.15);animation:thbRingPulse 4s ease-out infinite}
.thbx-safe-ring--1{width:160px;height:160px;animation-delay:0s}
.thbx-safe-ring--2{width:240px;height:240px;animation-delay:1s}
.thbx-safe-ring--3{width:320px;height:320px;animation-delay:2s}

/* WELCOME TICKER */
.thbx-welcome-ticker{overflow:hidden;background:linear-gradient(90deg,var(--thb-navy),var(--thb-purple),var(--thb-purple-d),var(--thb-purple),var(--thb-navy));padding:14px 0;position:relative}
.thbx-welcome-ticker::before,.thbx-welcome-ticker::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.thbx-welcome-ticker::before{left:0;background:linear-gradient(90deg,var(--thb-navy),transparent)}
.thbx-welcome-ticker::after{right:0;background:linear-gradient(270deg,var(--thb-navy),transparent)}
.thbx-ticker-track{display:flex;width:max-content;animation:thbTickerScroll 45s linear infinite}
.thbx-ticker-slide{display:flex;align-items:center;gap:0;flex-shrink:0;padding:0 20px}
.thbx-ticker-slide>span{color:#fff;font-family:var(--thb-font-h);font-size:clamp(1rem,1.4vw,1.25rem);font-weight:700;white-space:nowrap;padding:0 16px;opacity:.9;transition:opacity .3s,transform .3s}
.thbx-ticker-slide>span:hover{opacity:1;transform:scale(1.08)}
.thbx-ticker-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.4);flex-shrink:0}

/* ============================
   POPULAR UNIVERSITY CITIES
   ============================ */
.thbx-sec--cities{background:linear-gradient(180deg,#f3eeff 0%,#faf8ff 40%,#fff 100%);position:relative}
.thbx-sec--cities::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.thbx-city-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:20px}
.thbx-city-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;border-radius:var(--thb-r);overflow:hidden;text-decoration:none!important;cursor:pointer;transition:transform .5s var(--thb-ease),box-shadow .5s}
.thbx-city-card--lg{grid-column:1/-1;min-height:260px}
.thbx-city-bg{position:absolute;inset:0;transition:transform .6s var(--thb-ease)}
.thbx-city-card:hover .thbx-city-bg{transform:scale(1.06)}
.thbx-city-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,22,51,.85) 0%,rgba(11,22,51,.3) 50%,transparent 100%);transition:background .4s}
.thbx-city-card:hover .thbx-city-overlay{background:linear-gradient(0deg,rgba(108,92,231,.85) 0%,rgba(108,92,231,.25) 50%,transparent 100%)}
.thbx-city-icon{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:1rem;backdrop-filter:blur(8px);transition:transform .35s var(--thb-ease),background .3s}
.thbx-city-card:hover .thbx-city-icon{transform:scale(1.12) rotate(-6deg);background:rgba(108,92,231,.3)}
.thbx-city-info{position:relative;z-index:1;padding:24px}
.thbx-city-info h3{margin:0 0 4px;font-family:var(--thb-font-h);font-size:1.4rem;font-weight:800;color:#fff}
.thbx-city-info span{color:rgba(255,255,255,.65);font-size:.82rem;font-weight:500}
.thbx-city-tag{display:inline-block;margin-top:10px;padding:4px 14px;border-radius:50px;background:linear-gradient(135deg,var(--thb-purple),var(--thb-orange));color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.thbx-center{text-align:center;margin-top:36px}
.thbx-city-cta{text-align:center;margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:12px}
.thbx-city-cta-note{color:var(--thb-muted);font-size:.78rem;font-weight:600;letter-spacing:.02em}

/* ============================
   PLATFORM NUMBERS — counter strip
   ============================ */
.thbx-numbers{padding:clamp(32px,4vw,48px) 0;background:linear-gradient(135deg,var(--thb-navy) 0%,#1a1145 40%,#2d1b69 60%,var(--thb-navy) 100%);position:relative;overflow:hidden}
.thbx-numbers::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.thbx-numbers-grid{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,40px);position:relative;z-index:1}
.thbx-num-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.thbx-num-icon{width:48px;height:48px;border-radius:14px;background:rgba(108,92,231,.2);color:var(--thb-purple-l);font-size:1.1rem;display:grid;place-items:center;margin-bottom:6px;transition:transform .35s var(--thb-ease)}
.thbx-num-icon--g{background:rgba(47,166,106,.2);color:var(--thb-green-l)}
.thbx-num-icon--o{background:rgba(244,123,32,.2);color:var(--thb-orange-l)}
.thbx-num-item:hover .thbx-num-icon{transform:scale(1.12) rotate(-6deg)}
.thbx-num-item strong{font-family:var(--thb-font-h);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;line-height:1}
.thbx-num-item>span{color:rgba(255,255,255,.55);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.thbx-num-div{width:1px;height:56px;background:rgba(255,255,255,.12);flex-shrink:0}

/* ============================
   ACCOMMODATION FINDER — interactive quiz
   ============================ */
.thbx-sec--finder{background:linear-gradient(180deg,#fff 0%,#f3eeff 50%,#fff 100%);position:relative}
.thbx-sec--finder::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.thbx-finder{max-width:640px;margin:0 auto;background:var(--thb-white);border:1.5px solid rgba(108,92,231,.08);border-radius:28px;box-shadow:0 20px 60px rgba(11,22,51,.08);padding:clamp(24px,4vw,40px);position:relative;overflow:hidden}
.thbx-finder-progress{height:4px;border-radius:2px;background:#e2e8f0;margin-bottom:28px;overflow:hidden}
.thbx-finder-progress__bar{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-green));transition:width .5s var(--thb-ease)}
.thbx-finder-step{display:none}
.thbx-finder-step.is-active{display:block;animation:thbxFadeUp .4s var(--thb-ease) both}
.thbx-finder-step h3{margin:0 0 20px;font-family:var(--thb-font-h);font-size:1.15rem;font-weight:800;color:var(--thb-navy);text-align:center}
.thbx-finder-step h3 i{color:var(--thb-purple);margin-right:8px;font-size:.95rem}
.thbx-finder-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.thbx-finder-opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border:2px solid rgba(108,92,231,.08);border-radius:16px;background:var(--thb-white);color:var(--thb-navy);font-family:var(--thb-font);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .3s var(--thb-ease)}
.thbx-finder-opt i{font-size:1.2rem;color:var(--thb-purple);transition:transform .3s var(--thb-ease)}
.thbx-finder-opt:hover{border-color:var(--thb-purple);background:var(--thb-purple-l);transform:translateY(-4px);box-shadow:0 8px 24px rgba(108,92,231,.12)}
.thbx-finder-opt:hover i{transform:scale(1.15)}
.thbx-finder-opt.is-selected{border-color:var(--thb-purple);background:var(--thb-purple);color:#fff;box-shadow:0 8px 24px rgba(108,92,231,.3)}
.thbx-finder-opt.is-selected i{color:#fff}
.thbx-finder-result{display:none;text-align:center;animation:thbxFadeUp .5s var(--thb-ease) both}
.thbx-finder-result.is-active{display:block}
.thbx-finder-result__icon{font-size:3rem;color:var(--thb-green);margin-bottom:12px}
.thbx-finder-result h3{margin:0 0 8px;font-family:var(--thb-font-h);font-size:1.3rem;font-weight:800;color:var(--thb-navy)}
.thbx-finder-result p{margin:0 0 20px;color:var(--thb-muted);font-size:.92rem}
.thbx-finder-reset{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:0;border:0;background:none;color:var(--thb-muted);font-family:var(--thb-font);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .2s}
.thbx-finder-reset:hover{color:var(--thb-purple)}
@keyframes thbxFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* HOMEOWNER BENEFITS */
.thbx-sec--owners{background:linear-gradient(135deg,var(--thb-navy) 0%,#1a1145 35%,#2d1b69 55%,#1a1145 75%,#0B1633 100%);color:#fff;overflow:hidden}
.thbx-sec--owners::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 20% 20%,rgba(108,92,231,.2),transparent),radial-gradient(ellipse 50% 60% at 80% 80%,rgba(47,166,106,.15),transparent);pointer-events:none}
.thbx-sec--owners::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.thbx-own-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.thbx-own-copy h2{margin:0 0 16px;font-family:var(--thb-font-h);font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.1;color:#fff}
.thbx-own-copy>p{margin:0 0 24px;color:rgba(255,255,255,.7);font-size:1.02rem;line-height:1.6}
.thbx-own-list{list-style:none;padding:0;margin:0 0 28px}
.thbx-own-list li{display:flex;align-items:center;gap:12px;padding:8px 0;color:rgba(255,255,255,.85);font-size:.95rem;font-weight:600}
.thbx-own-list li i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--thb-green);color:#fff;font-size:.6rem}
.thbx-own-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.thbx-stat{display:flex;align-items:center;gap:14px;padding:24px;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--thb-r);background:rgba(255,255,255,.05);backdrop-filter:blur(12px);transition:transform .4s var(--thb-ease),background .3s,border-color .3s,box-shadow .4s}
.thbx-stat:hover{transform:translateY(-8px);background:rgba(255,255,255,.1);border-color:rgba(108,92,231,.3);box-shadow:0 16px 48px rgba(0,0,0,.25)}
.thbx-float-icons{position:absolute;inset:0;z-index:1;pointer-events:none}
.thbx-stat--1{grid-column:1/-1}
.thbx-stat--2 i{background:rgba(47,166,106,.2);color:#6ee7b7}
.thbx-stat--3 i{background:rgba(244,123,32,.2);color:#fdba74}
.thbx-stat i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(108,92,231,.2);color:#c4b5fd;font-size:1.2rem;flex-shrink:0}
.thbx-stat strong{display:block;font-size:1.8rem;font-weight:800;color:#fff}
.thbx-stat span{display:block;color:rgba(255,255,255,.5);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}

/* TESTIMONIALS */
.thbx-sec--test{background:linear-gradient(180deg,#fff 0%,var(--thb-cream) 40%,#fff8ef 100%)}
.thbx-tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.thbx-tcard{padding:28px;border:1.5px solid rgba(108,92,231,.06);border-radius:var(--thb-r);background:var(--thb-white);box-shadow:0 6px 24px rgba(11,22,51,.05);transition:transform .4s var(--thb-ease),box-shadow .4s,border-color .3s;position:relative;overflow:hidden}
.thbx-tcard::after{content:"\201C";position:absolute;top:12px;right:18px;font-size:3.5rem;font-family:Georgia,serif;color:rgba(108,92,231,.08);line-height:1;pointer-events:none}
.thbx-tcard:hover{transform:translateY(-10px);box-shadow:0 20px 52px rgba(108,92,231,.12);border-color:rgba(108,92,231,.15)}
.thbx-stars{color:#f59e0b;font-size:.82rem;margin-bottom:14px;display:flex;gap:3px}
.thbx-tcard>p{margin:0 0 20px;color:var(--thb-ink);font-size:.95rem;line-height:1.6;font-style:italic}
.thbx-tauth{display:flex;align-items:center;gap:12px}
.thbx-av{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:800;font-size:.9rem;color:#fff;flex-shrink:0}
.thbx-av--p{background:var(--thb-purple)}.thbx-av--g{background:var(--thb-green)}.thbx-av--o{background:var(--thb-orange)}
.thbx-tauth strong{display:block;font-size:.88rem;font-weight:800;color:var(--thb-navy)}
.thbx-tauth span{display:block;font-size:.78rem;color:var(--thb-muted)}

/* FINAL CTA */
.thbx-cta{padding:clamp(50px,6vw,80px) 0;background:linear-gradient(135deg,#0B1633 0%,#1a1145 35%,#2d1b69 55%,#1a1145 75%,#0B1633 100%);position:relative;overflow:hidden}
.thbx-cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.08) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.thbx-cta::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(108,92,231,.2) 0%,transparent 60%);pointer-events:none}
.thbx-cta-card{max-width:780px;margin:0 auto;padding:clamp(36px,5vw,56px);text-align:center;border:1.5px solid rgba(108,92,231,.15);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 32px 80px rgba(0,0,0,.2);position:relative;z-index:1}
.thbx-cta-card h2{margin:0 0 14px;font-family:var(--thb-font-h);font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800;line-height:1.12;color:var(--thb-navy)}
.thbx-cta-card h2::after{display:none}
.thbx-cta-card>p{margin:0 0 28px;color:var(--thb-muted);font-size:1rem;line-height:1.6;max-width:520px;margin-left:auto;margin-right:auto}
.thbx-cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* BUTTONS */
.thbx-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border:2px solid transparent;border-radius:14px;font-family:var(--thb-font);font-size:.92rem;font-weight:700;text-decoration:none!important;cursor:pointer;transition:transform .25s var(--thb-ease),box-shadow .25s,background .25s,color .25s,border-color .25s}
.thbx-btn--primary{background:linear-gradient(135deg,var(--thb-purple),var(--thb-orange));color:#fff!important;box-shadow:0 6px 20px rgba(108,92,231,.3);border:none}
.thbx-btn--primary:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(108,92,231,.45)}
.thbx-btn--outline{background:transparent;color:var(--thb-purple)!important;border-color:var(--thb-purple)}
.thbx-btn--outline:hover{background:var(--thb-purple);color:#fff!important;transform:translateY(-3px);box-shadow:0 8px 24px rgba(108,92,231,.3)}
.thbx-btn--outline-d{background:transparent;color:var(--thb-navy)!important;border-color:var(--thb-line)}
.thbx-btn--outline-d:hover{background:var(--thb-navy);color:#fff!important;border-color:var(--thb-navy);transform:translateY(-3px);box-shadow:0 8px 24px rgba(11,22,51,.2)}
.thbx-btn--white{background:#fff;color:var(--thb-navy)!important;border-color:rgba(255,255,255,.3);box-shadow:0 6px 20px rgba(0,0,0,.15)}
.thbx-btn--white:hover{background:#f0f0f0;transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.2)}

/* REVEAL / STAGGER */
.thbx-reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--thb-ease),transform .9s var(--thb-ease)}
.thbx-reveal.is-visible{opacity:1;transform:translateY(0)}
.thbx-stagger-child{opacity:0;transform:translateY(32px);transition:opacity .7s var(--thb-ease),transform .7s var(--thb-ease)}
.thbx-stagger-child.is-visible{opacity:1;transform:translateY(0)}

/* ============================
   KEYFRAMES
   ============================ */
@keyframes thbGlowDrift{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(20px,-30px,0) scale(1.08)}66%{transform:translate3d(-15px,20px,0) scale(.94)}}
@keyframes thbAurora{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.7;transform:translate(50px,-35px) scale(1.12)}45%{opacity:.5;transform:translate(-25px,25px) scale(.93)}70%{opacity:.75;transform:translate(35px,15px) scale(1.1)}100%{opacity:0;transform:translate(0,0) scale(1)}}
@keyframes thbIconPulse{0%{transform:scale(1.14) rotate(-5deg)}50%{transform:scale(1.22) rotate(-2deg)}100%{transform:scale(1.14) rotate(-5deg)}}
@keyframes thbArrowBounce{0%,100%{transform:translateX(4px)}50%{transform:translateX(10px)}}
@keyframes thbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes thbShine{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes thbSkylineFade{from{opacity:0;transform:translateY(24px)}to{opacity:.9;transform:translateY(0)}}
@keyframes thbBridgeDash{from{stroke-dashoffset:0}to{stroke-dashoffset:-200}}
@keyframes thbTickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes thbRingPulse{0%{transform:scale(.8);opacity:.6}50%{opacity:.2}100%{transform:scale(1.3);opacity:0}}

/* ============================
   HERO ROLE CARDS — compact inline cards
   ============================ */
.thbx-hero-roles{width:100%;max-width:920px}
.thbx-hero-roles-label{text-align:center;margin:0 0 12px;color:rgba(255,255,255,.5);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.thbx-hrole-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.thbx-hrole{
    --accent:var(--thb-purple);
    display:flex;align-items:center;gap:14px;
    padding:16px 18px;
    border:1.5px solid rgba(255,255,255,.1);
    border-radius:16px;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    text-decoration:none!important;color:#fff!important;
    transition:transform .4s var(--thb-ease),box-shadow .4s,border-color .3s,background .3s;
    cursor:pointer;position:relative;overflow:hidden;
}
.thbx-hrole::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,var(--accent));opacity:0;transition:opacity .4s}
.thbx-hrole:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.3);border-color:var(--accent);background:rgba(255,255,255,.1)}
.thbx-hrole:hover::before{opacity:.12}
.thbx-hrole--student{--accent:var(--thb-purple)}
.thbx-hrole--owner{--accent:var(--thb-green)}
.thbx-hrole--agent{--accent:var(--thb-orange)}
.thbx-hrole-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent);color:#fff;font-size:1.1rem;flex-shrink:0;transition:transform .35s var(--thb-ease);box-shadow:0 4px 16px rgba(0,0,0,.25)}
.thbx-hrole:hover .thbx-hrole-ic{transform:scale(1.1) rotate(-4deg)}
.thbx-hrole-body{flex:1;min-width:0}
.thbx-hrole-body strong{display:block;font-size:.88rem;font-weight:800;line-height:1.2;margin-bottom:2px}
.thbx-hrole-body span{display:block;font-size:.72rem;color:rgba(255,255,255,.55);line-height:1.3;font-weight:500}
.thbx-hrole-arrow{font-size:.7rem;color:rgba(255,255,255,.35);transition:transform .3s,color .3s;flex-shrink:0}
.thbx-hrole:hover .thbx-hrole-arrow{color:#fff;animation:thbArrowBounce .6s ease infinite}

/* ============================
   SAFETY PROMISE — 6 premium cards (dark)
   ============================ */
.thbx-sec--promise{
    background:linear-gradient(135deg,var(--thb-navy) 0%,#1a1145 35%,#2d1b69 55%,#1a1145 75%,var(--thb-navy) 100%);
    color:#fff;overflow:hidden;padding:clamp(48px,6vw,80px) 0;
}
.thbx-sec--promise::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.thbx-sec--promise .thbx-sec-head h2{color:#fff}
.thbx-sec--promise .thbx-sec-head h2::after{background:linear-gradient(90deg,var(--thb-purple),var(--thb-orange))}
.thbx-sec--promise .thbx-sec-head>p:last-child{color:rgba(255,255,255,.6)}

.thbx-promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:1}
.thbx-promise-card{
    position:relative;padding:32px 26px 28px;
    border:1.5px solid rgba(255,255,255,.08);
    border-radius:var(--thb-r);
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(10px);
    transition:transform .45s var(--thb-ease),box-shadow .45s,border-color .3s,background .3s;
    overflow:hidden;
}
.thbx-promise-card::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-green),var(--thb-orange));opacity:0;transition:opacity .35s}
.thbx-promise-card:hover{transform:translateY(-10px);box-shadow:0 24px 64px rgba(0,0,0,.25);border-color:rgba(108,92,231,.25);background:rgba(255,255,255,.08)}
.thbx-promise-card:hover::before{opacity:1}

.thbx-pc-badge{position:absolute;top:16px;right:16px;color:var(--thb-green);font-size:.85rem;opacity:.5;transition:opacity .3s,transform .3s}
.thbx-promise-card:hover .thbx-pc-badge{opacity:1;transform:scale(1.15)}

.thbx-pc-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:rgba(108,92,231,.2);color:var(--thb-purple-l);font-size:1.3rem;margin-bottom:18px;transition:transform .35s var(--thb-ease),box-shadow .3s}
.thbx-pc-icon--g{background:rgba(47,166,106,.2);color:var(--thb-green-l)}
.thbx-pc-icon--o{background:rgba(244,123,32,.2);color:var(--thb-orange-l)}
.thbx-promise-card:hover .thbx-pc-icon{transform:scale(1.12) rotate(-4deg);box-shadow:0 8px 24px rgba(0,0,0,.2)}

.thbx-promise-card h3{margin:0 0 8px;font-family:var(--thb-font-h);font-size:1.08rem;font-weight:800;color:#fff}
.thbx-promise-card p{margin:0;color:rgba(255,255,255,.55);font-size:.86rem;line-height:1.55}

/* ============================
   BEFORE YOU ARRIVE — journey timeline
   ============================ */
.thbx-sec--timeline{background:linear-gradient(180deg,#f3eeff 0%,#faf8ff 40%,#fff 100%);position:relative}
.thbx-sec--timeline::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(108,92,231,.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}

/* Journey steps — compact horizontal strip */
.thbx-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;max-width:1060px;margin:0 auto;padding:8px 0 0}
.thbx-step{flex:1;text-align:center;position:relative;padding:0 10px;max-width:200px}
.thbx-step-num{width:32px;height:32px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,var(--thb-purple),var(--thb-orange));color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;box-shadow:0 4px 14px rgba(108,92,231,.25)}
.thbx-step-ic{width:48px;height:48px;margin:0 auto 10px;border-radius:14px;background:var(--thb-purple-l);display:grid;place-items:center;font-size:1.1rem;color:var(--thb-purple);transition:transform .3s var(--thb-ease),box-shadow .3s}
.thbx-step:hover .thbx-step-ic{transform:translateY(-4px) scale(1.08);box-shadow:0 8px 24px rgba(108,92,231,.15)}
.thbx-step h3{margin:0 0 6px;font-family:var(--thb-font-h);font-size:.88rem;font-weight:800;color:var(--thb-navy);line-height:1.25}
.thbx-step p{margin:0;color:var(--thb-muted);font-size:.76rem;line-height:1.45}
.thbx-step-line{flex:0 0 28px;height:2px;margin-top:15px;border-radius:1px;background:linear-gradient(90deg,var(--thb-purple),var(--thb-orange));opacity:.2}

/* ============================
   WARMER HERO — enhanced orange warmth
   ============================ */
.thbx-hero{
    background:linear-gradient(160deg,#060c1e 0%,#0B1633 15%,#1a1145 32%,#2d1b69 48%,#1a1145 62%,#0B1633 78%,#060c1e 100%)!important;
    min-height:auto!important;padding:clamp(100px,10vw,130px) 0 clamp(28px,3vw,40px)!important;
}
.thbx-hero-warm{
    background:
        radial-gradient(ellipse 70% 50% at 80% 20%,rgba(244,123,32,.12),transparent),
        radial-gradient(ellipse 60% 50% at 20% 80%,rgba(108,92,231,.12),transparent),
        radial-gradient(ellipse 50% 40% at 50% 0%,rgba(47,166,106,.06),transparent),
        radial-gradient(ellipse 80% 60% at 50% 100%,rgba(244,123,32,.08),transparent)!important;
}

/* ============================
   REDUCED SPACING — tighter sections
   ============================ */
.thbx-sec{padding:clamp(32px,4vw,52px) 0}
.thbx-sec-head{margin-bottom:clamp(16px,2.5vw,28px)}

/* ============================
   RESPONSIVE
   ============================ */
@media(max-width:1199px){
    .thbx-trust{flex-wrap:wrap;gap:12px}
    .thbx-trust-item+.thbx-trust-item{border-left:0}
    .thbx-trust-item{flex:0 1 calc(50% - 12px)}
    .thbx-hrole-deck{grid-template-columns:repeat(3,1fr);gap:10px}
}
@media(max-width:991px){
    .thbx-hero{padding-top:110px!important}
    .thbx-search{flex-wrap:wrap;border-radius:20px;padding:16px;gap:0}
    .thbx-search-field{flex:0 0 50%;padding:12px}
    .thbx-search-div{display:none}
    .thbx-search-btn{width:100%;margin-top:8px;border-radius:14px;height:52px}
    .thbx-hrole-deck{grid-template-columns:1fr}
    .thbx-hrole{padding:14px 16px}
    .thbx-why-grid{grid-template-columns:1fr 1fr}
    .thbx-steps{flex-direction:column;align-items:center;gap:8px}
    .thbx-step-line{width:2px;height:36px;padding:0}
    .thbx-step-line::after{width:2px;height:100%}
    .thbx-city-grid{grid-template-columns:1fr 1fr}
    .thbx-city-card--lg{grid-column:1/-1}
    .thbx-own-grid{grid-template-columns:1fr}
    .thbx-tgrid{grid-template-columns:1fr;max-width:480px;margin:0 auto}
    .thbx-fi{display:none}
    .thbx-promise-grid{grid-template-columns:1fr 1fr}
    .thbx-numbers-grid{flex-wrap:wrap;gap:20px}
    .thbx-num-div{display:none}
    .thbx-num-item{flex:0 1 calc(50% - 12px)}
    .thbx-finder-opts{grid-template-columns:repeat(2,1fr)}
    /* Steps wrap on tablet */
    .thbx-steps{flex-wrap:wrap;gap:16px 0}
    .thbx-step{flex:0 0 33.33%;max-width:none;padding:0 12px;margin-bottom:8px}
    .thbx-step-line{display:none}
}
@media(max-width:575px){
    .thbx-page .container{padding-left:16px;padding-right:16px}
    .thbx-hero{padding:96px 0 20px!important}
    .thbx-hero h1{font-size:clamp(2rem,9vw,2.6rem)}
    .thbx-hero-copy{text-align:left}
    .thbx-sub{margin-left:0;margin-right:0;font-size:.92rem}
    .thbx-sub br{display:none}
    .thbx-eyebrow{font-size:.58rem}
    .thbx-search-field{flex:0 0 100%}
    .thbx-hrole-deck{grid-template-columns:1fr;gap:8px}
    .thbx-hrole{padding:12px 14px;gap:10px}
    .thbx-hrole-ic{width:40px;height:40px;font-size:.95rem}
    .thbx-hrole-body strong{font-size:.82rem}
    .thbx-hrole-body span{font-size:.68rem}
    .thbx-hero-roles-label{font-size:.6rem;margin-bottom:8px}
    .thbx-trust{flex-direction:column;padding:14px;gap:8px}
    .thbx-trust-item{flex:1 1 100%;padding:6px 0}
    .thbx-trust-item strong{font-size:.72rem}
    .thbx-trust-item span{font-size:.6rem}
    .thbx-why-grid{grid-template-columns:1fr}
    .thbx-promise-grid{grid-template-columns:1fr}
    .thbx-sec-head{text-align:left}
    .thbx-sec-head h2{font-size:clamp(1.7rem,7vw,2.2rem)}
    .thbx-own-copy h2{font-size:clamp(1.7rem,7vw,2.2rem)}
    .thbx-own-stats{grid-template-columns:1fr}
    .thbx-stat--1{grid-column:auto}
    .thbx-cta-card{padding:24px 18px}
    .thbx-cta-btns{flex-direction:column}
    .thbx-cta-btns .thbx-btn{width:100%;justify-content:center}
    .thbx-welcome-ticker .thbx-ticker-slide>span{font-size:.85rem;padding:0 10px}
    .header.header-transparent .nav-brand img{max-width:160px!important}
    .thbx-city-grid{grid-template-columns:1fr}
    .thbx-city-card--lg{min-height:200px}
    .thbx-city-card{min-height:160px}
    .thbx-finder{padding:20px 16px;border-radius:20px}
    .thbx-finder-opts{grid-template-columns:1fr 1fr}
    .thbx-finder-opt{padding:14px 10px;font-size:.78rem}
    /* Steps 2-col on mobile */
    .thbx-steps{gap:12px 0}
    .thbx-step{flex:0 0 50%;padding:0 8px;margin-bottom:4px}
    .thbx-step-ic{width:40px;height:40px;border-radius:12px;font-size:.95rem}
    .thbx-step h3{font-size:.8rem}
    .thbx-step p{font-size:.7rem}
}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
    .thbx-page *,.thbx-page *::before,.thbx-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    .thbx-reveal,.thbx-stagger-child{opacity:1;transform:none}
    .thbx-particles,.thbx-fi,.thbx-aurora{display:none}
    .thbx-ticker-track{animation:none}
    .thbx-bridge-path{animation:none}
}
