@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300&family=Hanken+Grotesk:wght@400;500;600&display=swap');
:root{--spruce:#12302F;--spruce2:#1C4543;--mist:#EDF2F0;--sage:#A9C2B8;--brass:#B08D57;--pearl:#FBFCFB;--line:#D5DFDB;
--white-color:#fff;--heading-color:#12302F;--heading-color-2:#12302F;--body-color:#4A5B58;--gray-color:#EDF2F0;--gray-color-2:#EDF2F0;
--border-color:#D5DFDB;--accent-color:#12302F;--heading-font:'Newsreader',serif;--body-font:'Hanken Grotesk',sans-serif}
html,body{font-family:var(--body-font);font-weight:400;color:var(--body-color);background:var(--pearl);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.cs_card_title{font-family:var(--heading-font);font-weight:400;color:var(--spruce);letter-spacing:-.015em;text-transform:none}
.cs_preloader{display:none!important}
::selection{background:var(--sage)}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* Inner-page reskin */
.cs_btn.cs_style_1{background:var(--spruce)!important;color:#fff!important;border:0;border-radius:999px;box-shadow:none;transition:background .2s}
.cs_btn.cs_style_1:hover{background:var(--spruce2)!important}
.cs_btn.cs_style_1:before,.cs_btn.cs_style_1:after{display:none}
.cs_btn.cs_style_1 span{color:#fff!important}
.cs_value_card,.cs_card,.cs_iconbox{border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:none!important;background:#fff}
.cs_badge{background:transparent!important;color:var(--brass)!important;border:0;padding:0!important;font-weight:500}
.cs_heading_bg,.cs_workflow_style_1{background:var(--spruce)!important}
.cs_gray_bg_2{background:var(--mist)!important}
.cs_radius_24{border-radius:24px 24px 24px 4px!important}

/* Header */
.tk_header{position:sticky;top:0;z-index:50;background:var(--spruce);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12)}
.tk_bar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1240px;margin:0 auto;padding:14px 32px}
.tk_bar img
{
    height:70px;
    display:block;
    /* filter:brightness(0) invert(1) */
}
.tk_nav{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.tk_nav a{font:600 17px var(--body-font);color:#fff;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.tk_nav a:hover,.tk_nav .current-menu-item a{color:var(--brass);border-color:var(--brass)}
.tk_login{font:600 15px var(--body-font);color:var(--spruce);background:#fff;text-decoration:none;padding:12px 26px;border-radius:999px 999px 999px 4px;transition:background .2s,color .2s}
.tk_login:hover{background:var(--mist);color:var(--spruce)}
@media(max-width:720px){.tk_bar{flex-wrap:wrap;justify-content:center;gap:10px;padding:12px 16px}.tk_nav{order:3;width:100%;justify-content:center;gap:20px}}

/* Home */
/* Bootstrap .container provides the site-wide content width and gutters. */
.tk_hero{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;padding:88px 0 72px}
.tk_hero h1{font-size:clamp(46px,6.4vw,72px);line-height:1;font-weight:300;margin:0 0 28px}
.tk_hero h1 em{font-style:italic}
.tk_hero p{font-size:19px;line-height:1.65;max-width:30em;margin:0 0 40px}
.tk_cta{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.tk_btn{font:500 16px var(--body-font);color:#fff;background:var(--spruce);text-decoration:none;padding:17px 34px;border-radius:999px 999px 999px 999px;transition:background .2s}
.tk_btn:hover{background:var(--spruce2);color:#fff}
.tk_link{font:500 16px var(--body-font);color:var(--spruce);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:3px}
.tk_photo{position:relative}
.tk_photo img{width:100%;aspect-ratio:4/4;object-fit:cover;object-position:35% 50%;display:block;border-radius:220px 220px 220px 24px}
.tk_note{position:absolute;left:-36px;bottom:40px;background:#fff;border-radius:20px 20px 20px 4px;padding:18px 24px;max-width:260px;box-shadow:0 20px 50px -20px rgba(18,48,47,.35);font:400 18px/1.35 var(--heading-font);color:var(--spruce);animation:tkn .9s .4s both}
.tk_note small{display:block;font:500 12px var(--body-font);color:var(--brass);margin-top:6px}
@keyframes tkn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tk_note{animation:none}}
.tk_facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tk_facts div{padding:28px 32px;font:500 15px var(--body-font);color:var(--spruce)}
.tk_facts div+div{border-left:1px solid var(--line)}
.tk_sec{padding:120px 0}
.tk_sec h2{font-size:clamp(34px,4.6vw,64px);line-height:1.05;font-weight:300;margin:0 0 24px;max-width:15em}
.tk_lead{font-size:18px;line-height:1.7;max-width:34em;margin:0 0 36px}
.tk_about{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.tk_about img{width:100%;display:block;border-radius:24px 24px 24px 4px}
.tk_vals{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.tk_val{padding:32px 32px 8px 0}.tk_val+.tk_val{padding-left:32px;border-left:1px solid var(--line)}
.tk_val h3{font-size:28px;margin:0 0 12px}.tk_val p{margin:0;line-height:1.65}
.tk_mist{background:var(--mist)}
.tk_list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tk_list a{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);font:300 clamp(26px,3.4vw,42px) var(--heading-font);color:var(--spruce);text-decoration:none;transition:padding .25s,color .25s}
.tk_list a:hover{padding-left:20px;color:var(--brass)}
.tk_list a span{font:500 14px var(--body-font);color:var(--brass)}
.tk_split{display:grid;grid-template-columns:.8fr 1.2fr;gap:96px}
.tk_steps{background:var(--spruce);color:#fff;padding:120px 0}
.tk_steps h2{color:#fff}.tk_steps .tk_lead{color:#BFD0CA}
.tk_tl{list-style:none;margin:0;padding:0;counter-reset:s}
.tk_tl li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.tk_tl li:before{content:counter(s);font:300 36px var(--heading-font);color:var(--brass)}
.tk_tl b{display:block;font:400 26px var(--heading-font);color:#fff;margin-bottom:6px}
.tk_tl span{color:#BFD0CA;line-height:1.6}
.tk_close{text-align:center;padding:130px 0}
.tk_close h2{margin:0 auto 36px;font-size:clamp(38px,5.4vw,60px);font-weight:300}
.tk_close .tk_cta{justify-content:center}
@media(max-width:900px){.tk_hero,.tk_about,.tk_split{grid-template-columns:1fr;gap:48px}.tk_hero{padding:48px 0}.tk_note{left:12px}.tk_sec,.tk_steps{padding:72px 0}.tk_vals{grid-template-columns:1fr 1fr}.tk_val:nth-child(3){padding-left:0;border-left:0}.tk_facts{grid-template-columns:1fr}.tk_facts div+div{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:520px){.container{padding-left:20px;padding-right:20px}.tk_vals{grid-template-columns:1fr}.tk_val,.tk_val+.tk_val{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* Footer */
.tk_footer{background:var(--spruce);color:#fff;padding:80px 0 28px}
.tk_foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.tk_footer img{height:56px;
    /* filter:invert(1); */
    margin-bottom:18px}
.tk_footer h4{color:var(--brass);font:500 14px var(--body-font);margin:0 0 16px}
.tk_footer ul{list-style:none;margin:0;padding:0}.tk_footer li{margin-bottom:10px}
.tk_footer a{color:#DCE7E3;text-decoration:none}.tk_footer a:hover{color:#fff}
.tk_footer p{margin:0 0 10px;color:#BFD0CA;line-height:1.6}
.tk_copy{border-top:1px solid rgba(255,255,255,.15);margin-top:56px;padding-top:22px;color:#8FA7A0;font-size:14px}
@media(max-width:800px){.tk_foot{grid-template-columns:1fr 1fr}}

/* ===== Booking flow (modals) ===== */
.modal-content{border:0!important;border-radius:28px 28px 28px 6px!important;background:var(--pearl);box-shadow:0 40px 90px -30px rgba(18,48,47,.5)}
.modal-header{padding:28px 32px 8px!important}
.modal-body{padding:12px 32px 32px!important}
.modal-title{font:400 30px var(--heading-font)!important;color:var(--spruce)}
.modal-backdrop.show{opacity:.55;background:var(--spruce)}
.btn-close:focus{box-shadow:0 0 0 2px var(--brass)}
#bookSessionModal .service-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:14px;background:#fff;border:1px solid var(--line)!important;border-radius:20px 20px 20px 4px!important;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
#bookSessionModal .service-card:hover{border-color:var(--spruce)!important;transform:translateY(-2px);box-shadow:0 18px 36px -22px rgba(18,48,47,.45)}
#bookSessionModal .service-card.selected,#bookSessionModal .service-card.active{border-color:var(--brass)!important;background:var(--mist)}
.service-img{width:72px;height:72px;border-radius:16px;object-fit:cover;background:var(--mist)}
.service-left h5{font:400 22px var(--heading-font);color:var(--spruce);margin:0 0 4px}
.service-left small{display:block;color:var(--body-color);font-size:13px;margin-bottom:4px}
.service-left a{color:var(--brass);font-size:13px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--brass)}
.service-card .price{font:400 24px var(--heading-font);color:var(--spruce)}
.calendar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.calendar-day-header{font:500 12px var(--body-font);color:var(--brass);padding:6px 0}
.date-btn{border:0;background:transparent;border-radius:50%;aspect-ratio:1;font:500 14px var(--body-font);color:var(--spruce);transition:background .15s}
.date-btn:hover:not(:disabled){background:var(--mist)}
.date-btn.active{background:var(--spruce)!important;color:#fff!important}
.date-btn:disabled{opacity:.3}
.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.time-slots>*{border:1px solid var(--line);background:#fff;border-radius:999px 999px 999px 4px;padding:10px 6px;text-align:center;font:500 14px var(--body-font);color:var(--spruce);cursor:pointer;transition:all .15s}
.time-slots>*:hover{border-color:var(--spruce)}
.time-slots>.selected,.time-slots>.active{background:var(--spruce);color:#fff;border-color:var(--spruce)}
#personalModal label{font:500 13px var(--body-font)!important;color:var(--spruce)!important}
.form-control,.form-select{border:1px solid var(--line)!important;border-radius:14px!important;padding:12px 14px!important;background:#fff;color:var(--spruce)}
.form-control:focus,.form-select:focus{border-color:var(--spruce)!important;box-shadow:0 0 0 3px rgba(176,141,87,.25)!important}
#summaryModal .table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
#summaryModal .table td{padding:14px 20px;border-color:var(--line);color:var(--spruce);font-size:15px}
#summaryModal .table tr:last-child td{background:var(--mist);font:400 20px var(--heading-font)}
.modal .btn-success,.modal .btn-primary,.modal .btn-dark{background:var(--spruce)!important;border:0!important;border-radius:999px 999px 999px 4px!important;padding:14px 28px!important;font:500 15px var(--body-font)!important;color:#fff!important}
.modal .btn-success:hover,.modal .btn-primary:hover{background:var(--spruce2)!important}
.modal .btn-light{border-radius:50%;background:var(--mist)}

/* ===== Homepage steps as cards ===== */
.tk_steps{background:var(--mist)!important;color:var(--body-color)!important}
.tk_steps h2{color:var(--spruce)!important}.tk_steps .tk_lead{color:var(--body-color)!important}
.tk_stephead{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.tk_stephead h2,.tk_stephead .tk_lead{margin-bottom:0}
.tk_cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;counter-reset:c}
.tk_card{counter-increment:c;background:#fff;border:1px solid var(--line);border-radius:26px 26px 26px 6px;padding:28px 24px 32px;display:flex;flex-direction:column;min-height:260px;transition:transform .25s,box-shadow .25s}
.tk_card:hover{transform:translateY(-6px);box-shadow:0 28px 50px -28px rgba(18,48,47,.4)}
.tk_card:before{content:counter(c);width:48px;height:48px;border-radius:50% 50% 50% 6px;background:var(--spruce);color:#fff;display:grid;place-items:center;font:400 22px var(--heading-font);margin-bottom:auto}
.tk_card:nth-child(3):before{background:var(--brass)}
.tk_card b{font:400 25px/1.15 var(--heading-font);color:var(--spruce);margin:36px 0 10px;display:block}
.tk_card span{line-height:1.6;font-size:15px}
@media(max-width:1000px){.tk_cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.tk_cards{grid-template-columns:1fr}.tk_card{min-height:0}}

/* ===== Inner pages ===== */
.cs_hero.cs_style_1{background-image:linear-gradient(rgba(18,48,47,.68),rgba(18,48,47,.68)),url('../img/banner_img.webp?v=counselling20261007')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
    /* padding:96px 0 80px */
}
.cs_hero h1{font:300 clamp(44px,6vw,84px)/1 var(--heading-font)!important;color:#fff!important}
.cs_breadcrumb ul li,.cs_breadcrumb ul li a{color:#BFD0CA!important}.cs_breadcrumb .active{color:var(--brass)!important}
.cs_vision_card_text h2{font:300 clamp(32px,4vw,52px)/1.08 var(--heading-font)!important}
.cs_vision_card_text p{font-size:18px;line-height:1.7}
.cs_vision_list{list-style:none;padding:0}
.cs_vision_list li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative;color:var(--spruce);font-weight:500}
.cs_vision_list li:before{content:"";position:absolute;left:0;top:19px;width:16px;height:16px;border-radius:50% 50% 50% 3px;background:var(--brass)}
section img.cs_radius_24,section img.w-100{object-fit:cover}
.cs_value_card{padding:32px!important;transition:transform .25s,box-shadow .25s}
.cs_value_card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(18,48,47,.4)!important}
.cs_icon{border-radius:50% 50% 50% 8px!important;background:var(--mist)!important}
.cs_card_title,.cs_card_title a{font-weight:400!important;color:var(--spruce)!important}
.cs_card_arrow{background:var(--spruce)!important;color:#fff!important}
.cs_footer{display:none}

/* ===== Conditions as cards ===== */
.tk_conds{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tk_cond{display:flex;flex-direction:column;min-height:260px;padding:30px 26px;background:var(--spruce);border:1px solid var(--spruce);border-radius:26px 26px 26px 6px;text-decoration:none;transition:background .3s,transform .3s,border-color .3s}
.tk_cond:nth-child(even){border-radius:26px 26px 6px 26px}
.tk_cond h3{font:400 28px/1.1 var(--heading-font);color:#fff;margin:0 0 12px;transition:color .3s}
.tk_cond p{margin:0 0 auto;line-height:1.6;font-size:15px;color:#BFD0CA;transition:color .3s}
.tk_cond span{margin-top:28px;font:500 14px var(--body-font);color:var(--brass);display:flex;align-items:center;gap:10px}
.tk_cond span:after{content:"";width:28px;height:1px;background:currentColor;transition:width .3s}
.tk_cond:hover{background:#fff;border-color:var(--brass);transform:translateY(-6px)}
.tk_cond:hover h3{color:var(--spruce)}.tk_cond:hover p{color:var(--body-color)}.tk_cond:hover span{color:var(--brass)}.tk_cond:hover span:after{width:48px}
@media(max-width:1000px){.tk_conds{grid-template-columns:1fr 1fr}}@media(max-width:560px){.tk_conds{grid-template-columns:1fr}.tk_cond{min-height:0}}

/* ===== Steps as horizontal timeline ===== */
.tk_line{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;position:relative}
.tk_line:before{content:"";position:absolute;left:2.5%;right:2.5%;top:11px;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(176,141,87,.18) 10%,rgba(176,141,87,.5) 50%,rgba(176,141,87,.18) 90%,transparent 100%);border-radius:999px;box-shadow:0 0 18px rgba(176,141,87,.12)}
.tk_line li{position:relative;padding-top:48px}.tk_line li:not(:last-child):after{content:"→";position:absolute;top:0;right:-20px;color:rgba(176,141,87,.6);font:400 20px var(--heading-font);transform:translateY(-1px)}
.tk_line i{position:absolute;top:0;left:0;width:23px;height:23px;border-radius:50% 50% 50% 4px;background:var(--spruce);box-shadow:0 0 0 8px var(--mist)}
.tk_line li:nth-child(3) i{background:var(--brass)}
.tk_line b{display:block;font:400 25px/1.15 var(--heading-font);color:var(--spruce);margin-bottom:10px}
.tk_line span{display:block;line-height:1.6;font-size:15px;max-width:15em}
@media(max-width:900px){.tk_line{grid-template-columns:1fr;gap:0;padding-left:44px}
.tk_line:before{left:11px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,rgba(176,141,87,.05),rgba(176,141,87,.45),rgba(176,141,87,.05))}
.tk_line li{padding:0 0 36px}.tk_line li:not(:last-child):after{content:"↓";left:-39px;right:auto;top:25px;transform:none;font-size:16px}.tk_line i{left:-44px;top:4px}}

/* ===== First-session step numbering + classic sequential line fill ===== */
.tk_line{counter-reset:session-step;--line-progress:0%;position:relative}
.tk_line li{counter-increment:session-step;opacity:1;transform:none}
.tk_line li.is-active b,.tk_line li.is-filled b{color:var(--spruce)}
.tk_line li.is-active span,.tk_line li.is-filled span{color:#405652}

/* Gold progress travels through the existing horizontal journey line. */
.tk_line:after{content:"";position:absolute;left:2.5%;top:11px;width:var(--line-progress);height:2px;background:var(--brass);border-radius:999px;z-index:1;transition:width .9s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 10px rgba(176,141,87,.18);pointer-events:none}
.tk_line li:before{display:none}
.tk_line i{display:grid!important;place-items:center!important;z-index:3;position:absolute;top:0;left:0;width:27px;height:27px;border-radius:50% 50% 50% 5px;background:var(--mist)!important;border:2px solid rgba(176,141,87,.55);box-shadow:0 0 0 8px var(--mist)!important;transition:background .35s ease,border-color .35s ease,color .35s ease;overflow:hidden}
.tk_line i:before{content:counter(session-step);font:600 11px/1 var(--body-font);color:var(--spruce);position:relative;z-index:2}
.tk_line li.is-active i,.tk_line li.is-filled i{background:var(--brass)!important;border-color:var(--brass);box-shadow:0 0 0 8px var(--mist)!important}
.tk_line li.is-active i:before,.tk_line li.is-filled i:before{color:#fff}

.tk_line b{position:relative;z-index:2;display:block;font:400 25px/1.15 var(--heading-font);color:var(--spruce);margin-bottom:10px}
.tk_line span{position:relative;z-index:2;display:block;line-height:1.6;font-size:15px;max-width:15em}

/* Remove the old bottom fill bars. */
.tk_fill{display:none!important}

@media(max-width:900px){
  .tk_line:after{left:11px;top:0;width:2px;height:var(--line-progress);max-height:calc(100% - 27px);transition:height .9s cubic-bezier(.22,.61,.36,1)}
  .tk_line li{padding:0 0 36px}
  .tk_line i{left:-44px;top:4px}
}
@media(prefers-reduced-motion:reduce){.tk_line:after,.tk_line i{transition:none!important}}

/* ===== Responsive navigation + image-backed CTA/banner ===== */
.tk_menu_toggle{display:none;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;font-size:21px;cursor:pointer}
.tk_menu_toggle span,.tk_menu_toggle span:before,.tk_menu_toggle span:after{display:block;width:20px;height:2px;background:#fff;border-radius:2px;content:"";position:relative;transition:transform .25s,opacity .25s}
.tk_menu_toggle span:before{position:absolute;top:-7px}.tk_menu_toggle span:after{position:absolute;top:7px}
.tk_header.menu-open .tk_menu_toggle span{background:transparent}.tk_header.menu-open .tk_menu_toggle span:before{transform:translateY(7px) rotate(45deg)}.tk_header.menu-open .tk_menu_toggle span:after{transform:translateY(-7px) rotate(-45deg)}

.tk_close{position:relative;isolation:isolate;overflow:hidden;border-radius:0;background:linear-gradient(90deg,rgba(18,48,47,.94),rgba(18,48,47,.76)),url('../img/banner_img.png') center/cover no-repeat;color:#fff;max-width:none;padding:120px 32px}
.tk_close:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,rgba(255,255,255,.14),transparent 34%);z-index:-1}
.tk_close h2{color:#fff!important;max-width:900px}
.tk_close .tk_btn{background:#fff;color:var(--spruce)}
.tk_close .tk_btn:hover{background:var(--brass);color:#fff}

.cs_hero.cs_style_1{background-image:linear-gradient(90deg,rgba(18,48,47,.86),rgba(18,48,47,.48)),url('../img/banner_img.png')!important;background-size:cover!important;background-position:center!important}

@media(max-width:900px){
  .tk_bar{padding:12px 24px}
  .tk_hero{gap:42px}
  .tk_photo img{aspect-ratio:1/1}
  .tk_note{left:8px;bottom:24px;max-width:240px}
  .tk_close{padding:90px 24px}
  .conditions-page{overflow:hidden}
  .conditions-intro{padding:0 8px}
}
@media(max-width:760px){
  .tk_bar{display:grid;grid-template-columns:1fr auto;gap:0 16px;align-items:center;padding:12px 18px}
  .tk_bar>a:first-child img{height:34px}
  .tk_menu_toggle{display:flex}
  .tk_nav{display:none;grid-column:1/-1;width:100%;padding:10px 0 4px;margin:0;flex-direction:column;gap:0;align-items:stretch}
  .tk_header.menu-open .tk_nav{display:flex}
  .tk_nav li{width:100%;text-align:center}
  .tk_nav a{display:block;padding:12px 8px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .tk_login{justify-self:end;padding:10px 18px;font-size:14px}
  .tk_header.menu-open .tk_login{grid-column:1/-1;justify-self:center;margin:4px 0 8px}
  /* .tk_hero{padding:44px 0 56px} */
  .tk_hero h1{font-size:clamp(40px,12vw,58px)}
  .tk_hero p{font-size:17px;margin-bottom:28px}
  .tk_cta{gap:14px}
  .tk_btn{padding:14px 24px}
  /* .tk_sec,.tk_steps{padding:68px 0} */
  .tk_about{gap:34px}
  .tk_vals{grid-template-columns:1fr}
  .tk_val,.tk_val+.tk_val{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .tk_conds{grid-template-columns:1fr}
  .tk_cond{min-height:220px}
  .tk_stephead{align-items:flex-start;gap:10px;margin-bottom:34px}
  .tk_line{grid-template-columns:1fr;gap:0;padding-left:42px}
  .tk_line:before{left:10px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .tk_line:after{left:10px;top:0;width:2px;height:var(--line-progress);max-height:100%;transition:height .9s cubic-bezier(.22,.61,.36,1)}
  .tk_line li{padding:0 0 34px}
  .tk_line li:not(:last-child):after{left:-37px;top:27px;right:auto}
  .tk_line i{left:-42px;top:3px}
  .tk_close{padding:78px 20px}
  .tk_close h2{font-size:clamp(38px,11vw,56px);margin-bottom:28px}
  .cs_hero.cs_style_1{padding:0 20px!important;background-position:58% center!important}
  .cs_hero.cs_style_1 .cs_hero_in{
    /* padding:100px 0 58px!important */
}
  .cs_hero h1{font-size:clamp(42px,12vw,64px)!important}
  .cs_breadcrumb ul{gap:7px}
  .conditions-page{padding:0 0 8px}
  .conditions-intro h2{font-size:clamp(34px,10vw,48px)}
  .conditions-intro p{font-size:16px;line-height:1.65}
  .condition-card{min-height:0!important;padding:24px!important}
  .condition-footer{gap:14px;align-items:flex-start;flex-wrap:wrap}
  .condition-book{margin-left:auto}
}
@media(max-width:480px){
  .tk{padding:0 18px}
  .tk_bar{padding-left:14px;padding-right:14px}
  .tk_bar>a:first-child img{max-width:150px;height:auto}
  .tk_login{padding:9px 15px}
  .tk_note{position:relative;left:auto;bottom:auto;margin:-30px 12px 0;max-width:none}
  .tk_facts div{padding:20px 18px}
  .tk_close{padding:68px 18px}
  .tk_close .tk_cta{width:100%}
  .tk_close .tk_btn{width:100%;text-align:center}
  .condition-content h3{font-size:23px}
  .condition-content p{font-size:15px}
}


/* ===== Icons + robust mobile layout ===== */
.tk_val{position:relative}
.tk_val_icon{width:48px;height:48px;border-radius:50% 50% 50% 8px;background:var(--spruce);color:#fff;display:grid;place-items:center;margin:0 0 22px;font-size:18px;transition:transform .25s,background .25s,color .25s}
.tk_val:nth-child(2) .tk_val_icon{background:var(--brass)}
.tk_val:hover .tk_val_icon{transform:translateY(-3px) rotate(-3deg);background:var(--spruce2)}
.tk_cond_icon{width:52px;height:52px;border-radius:50% 50% 50% 8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:var(--brass);display:grid;place-items:center;font-size:19px;margin-bottom:28px;transition:transform .25s,background .25s,color .25s,border-color .25s}
.tk_cond:hover .tk_cond_icon{background:var(--spruce);color:var(--brass);border-color:var(--brass);transform:translateY(-3px)}
.tk_cond h3{margin-top:0}
.tk_conds,.tk_vals,.tk_line,.tk_about,.tk_hero{min-width:0}
img{max-width:100%;height:auto}
html,body{overflow-x:hidden}
@media(max-width:760px){
  .tk{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  .tk_bar{width:100%;box-sizing:border-box}
  .tk_hero{grid-template-columns:1fr;gap:34px;
    /* padding:44px 0 52px */
}
  .tk_hero h1{font-size:clamp(38px,11vw,54px);line-height:1.02;margin-bottom:20px}
  .tk_hero p{font-size:16px;line-height:1.65;margin-bottom:26px}
  .tk_cta{align-items:stretch;flex-direction:column;gap:12px}
  .tk_cta .tk_btn,.tk_cta .tk_link{text-align:center;width:100%;box-sizing:border-box}
  .tk_cta .tk_link{padding:12px 0}
  .tk_photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:120px 120px 120px 18px}
  .tk_note{left:8px;right:8px;bottom:18px;max-width:none;padding:14px 18px;font-size:16px}
  .tk_facts{grid-template-columns:1fr}
  .tk_facts div{padding:18px 20px}
  .tk_facts div+div{border-left:0;border-top:1px solid var(--line)}
  /* .tk_sec,.tk_steps{padding:64px 0} */
  .tk_sec h2{font-size:clamp(34px,10vw,48px);line-height:1.06}
  .tk_lead{font-size:16px;line-height:1.65}
  .tk_about{grid-template-columns:1fr;gap:34px}
  .tk_about img{border-radius:22px 22px 22px 6px}
  .tk_vals{grid-template-columns:1fr}
  .tk_val,.tk_val+.tk_val{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .tk_val:last-child{border-bottom:0}
  .tk_val_icon{margin-bottom:16px}
  .tk_stephead{align-items:flex-start;gap:8px;margin-bottom:34px}
  .tk_stephead h2{max-width:100%}
  .tk_stephead .tk_lead{margin-bottom:0}
  .tk_conds{grid-template-columns:1fr;gap:14px}
  .tk_cond{min-height:0;padding:24px 22px;border-radius:22px 22px 22px 6px}
  .tk_cond:nth-child(even){border-radius:22px 22px 6px 22px}
  .tk_cond_icon{margin-bottom:18px}
  .tk_cond h3{font-size:25px}
  .tk_cond p{font-size:15px}
  .tk_line{padding-left:42px;grid-template-columns:1fr;gap:0}
  .tk_line li{padding:0 0 34px}
  .tk_line li:last-child{padding-bottom:0}
  .tk_line:before{left:10px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .tk_line:after{left:10px;top:0;width:2px;height:var(--line-progress);max-height:calc(100% - 27px)}
}
@media(max-width:380px){
  .tk{padding-left:15px;padding-right:15px}
  .tk_bar{padding-left:14px;padding-right:14px}
  .tk_login{padding:9px 15px;font-size:13px}
  .tk_bar>a:first-child img{height:31px}
  .tk_hero h1{font-size:36px}
}
/* =========================================================
   MOBILE MENU – SHOW LOGIN BUTTON INSIDE HAMBURGER
   ========================================================= */

@media (max-width: 991px) {

    /* Keep desktop login hidden */
    .desktop-login {
        display: none !important;
    }

    /* Mobile menu */
    .mobile-menu {
        width: 100%;
    }

    /* Login button inside hamburger menu */
    .mobile-menu .login-btn,
    .mobile-menu .mobile-login,
    .mobile-menu .nav-login,
    .mobile-menu a[href*="login"] {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin-top: 18px;
        padding: 13px 20px;
        background: #ffffff;
        color: #173f35;
        border: 1px solid #ffffff;
        border-radius: 50px;
        font-weight: 600;
        text-decoration: none;
    }

    .mobile-menu .login-btn:hover,
    .mobile-menu .mobile-login:hover,
    .mobile-menu .nav-login:hover,
    .mobile-menu a[href*="login"]:hover {
        background: #d9b36c;
        color: #ffffff;
        border-color: #d9b36c;
    }
}


/* =========================================================
   FOOTER – ONE COLUMN ON MOBILE
   ========================================================= */

@media (max-width: 767px) {

    footer .container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Footer columns one below another */
    footer .footer-columns,
    footer .footer-grid,
    footer .footer-content,
    footer .footer-inner {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        gap: 30px;
    }

    /* Each footer column full width */
    footer .footer-column,
    footer .footer-col,
    footer .footer-widget,
    footer .footer-section {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin: 0 !important;
    }

    /* Contact items stack naturally */
    footer .footer-contact,
    footer .contact-column {
        width: 100% !important;
    }

    /* Footer headings */
    footer h3,
    footer h4 {
        margin-bottom: 14px;
    }

    /* Footer links */
    footer ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    footer li {
        margin-bottom: 8px;
    }

    /* Footer bottom */
    footer .footer-bottom {
        width: 100%;
        text-align: center;
        display: block !important;
    }
}


/* =========================================================
   EXTRA SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    footer .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    footer .footer-columns,
    footer .footer-grid,
    footer .footer-content,
    footer .footer-inner {
        gap: 24px;
    }

    footer .footer-column,
    footer .footer-col,
    footer .footer-widget,
    footer .footer-section {
        width: 100% !important;
    }
}




/* =========================================================
   LOGIN BUTTON
   ========================================================= */

.tk_mobile_login {
    display: none;
}

.tk_login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: #ffffff;
    color: #173f35;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

@media (max-width: 991px) {

    .tk_header {
        position: relative;
        z-index: 9999;
    }

    .tk_bar {
        position: relative;
    }

    /* Hide desktop login */
    .tk_login {
        display: none !important;
    }

    /* Hamburger */
    .tk_menu_toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: relative;
        z-index: 10001;
    }

    .tk_menu_toggle span,
    .tk_menu_toggle span::before,
    .tk_menu_toggle span::after {
        width: 24px;
        height: 2px;
        background: #ffffff;
        display: block;
        position: absolute;
        transition: 0.3s ease;
    }

    .tk_menu_toggle span::before,
    .tk_menu_toggle span::after {
        content: "";
        left: 0;
    }

    .tk_menu_toggle span::before {
        transform: translateY(-3px);
    }

    .tk_menu_toggle span::after {
        transform: translateY(3px);
    }

    /* Hamburger → X */
    .tk_header.menu-open .tk_menu_toggle span {
        background: transparent;
    }

    .tk_header.menu-open .tk_menu_toggle span::before {
        transform: rotate(45deg);
    }

    .tk_header.menu-open .tk_menu_toggle span::after {
        transform: rotate(-45deg);
    }


    /* Mobile navigation */
    .tk_nav {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;

        display: flex !important;
        flex-direction: column;

        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 20px;

        background: #173f35;

        border-radius: 0 0 18px 18px;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translateY(-10px);

        transition:
            opacity 0.25s ease,
            visibility 0.25s ease,
            transform 0.25s ease;

        box-sizing: border-box;
    }

    /* Open menu */
    .tk_header.menu-open .tk_nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }


    /* Menu items */
    .tk_nav li {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .tk_nav li a {
        display: flex;
        align-items: center;

        width: 100%;
        min-height: 48px;

        padding: 10px 4px;

        color: #ffffff;
        text-decoration: none;

        font-size: 16px;
        font-weight: 500;

        box-sizing: border-box;
    }

    .tk_nav li a:hover,
    .tk_nav li.current-menu-item a {
        color: #d9b36c;
    }


    /* =====================================================
       LOGIN INSIDE HAMBURGER
       ===================================================== */

    .tk_nav .tk_mobile_login {
        display: block;
        margin-top: 15px;
        padding-top: 15px;
        border-top: 1px solid rgba(255,255,255,0.18);
    }

    .tk_nav .tk_mobile_login a {
        display: flex;
        align-items: center;
        justify-content: center;

        min-height: 46px;
        padding: 11px 20px;

        background: #ffffff;
        color: #173f35 !important;

        border-radius: 50px;

        font-size: 15px;
        font-weight: 600;
    }

    .tk_nav .tk_mobile_login a:hover {
        background: #d9b36c;
        color: #ffffff !important;
    }
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

    .tk_mobile_login {
        display: none !important;
    }

    .tk_nav {
        display: flex;
        align-items: center;
    }
}

/* =========================================================
   FIREFOX MOBILE SCROLL FIX
   ========================================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    overflow-x: hidden !important;
}

/* IMPORTANT:
   Do NOT lock vertical scrolling on mobile */
body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Prevent sections from creating a fixed viewport */
@media (max-width: 991px) {

    html {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        height: auto !important;
    }

    body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        height: auto !important;
        min-height: 100vh;
        position: relative;
    }

    /* Remove possible fixed viewport heights */
    .tk_header,
    .tk_bar,
    main,
    section,
    .tk_section {
        max-width: 100%;
    }

    /* Prevent horizontal overflow */
    img,
    video,
    iframe {
        max-width: 100%;
    }

    /* Mobile navigation itself can scroll if it becomes tall */
    .tk_nav {
        max-height: calc(100vh - 90px);
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

    /* Never lock the page when menu is open */
    body.menu-open,
    body.tk-menu-open,
    html.menu-open {
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}
/* =========================================================
   FULL-SCREEN MOBILE MENU — PREMIUM OVERLAY
   Desktop remains unchanged.
   ========================================================= */
@media (max-width: 991px) {
    .tk_header {
        position: relative;
        z-index: 10000;
    }

    /* Keep the close button above the full-screen menu */
    .tk_menu_toggle {
        position: relative !important;
        z-index: 10003 !important;
        width: 48px !important;
        height: 48px !important;
        /* border: 1px solid rgba(255,255,255,.22) !important; */
        border-radius: 50% !important;
        /* background: rgba(255,255,255,.06) !important; */
        transition: background .25s ease, border-color .25s ease, transform .25s ease;
    }

    .tk_menu_toggle:hover {
        background: rgba(255,255,255,.12) !important;
        border-color: rgba(255,255,255,.45) !important;
    }

    /* Full viewport menu */
    .tk_nav {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10002 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        max-width: none !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 112px 28px 36px !important;
        box-sizing: border-box !important;

        background:
            radial-gradient(circle at 85% 12%, rgba(176,141,87,.14), transparent 28%),
            linear-gradient(145deg, #12302F 0%, #173F35 52%, #0D2928 100%) !important;

        border-radius: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-18px) !important;
        transition: opacity .3s ease, visibility .3s ease, transform .3s ease !important;
    }

    .tk_header.menu-open .tk_nav {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    /* Decorative vertical line inside the menu */
    .tk_nav::before {
        content: "";
        position: absolute;
        top: 112px;
        left: 28px;
        width: 2px;
        height: 54px;
        background: var(--brass);
        opacity: .9;
    }

    .tk_nav li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .tk_nav li:first-child {
        border-top: 1px solid rgba(255,255,255,.10);
    }

    .tk_nav li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 68px !important;
        padding: 0 8px 0 18px !important;
        box-sizing: border-box !important;

        color: #fff !important;
        font-size: clamp(20px, 5.5vw, 27px) !important;
        font-weight: 500 !important;
        letter-spacing: -.01em;
        border: 0 !important;
        text-decoration: none !important;
        transition: color .2s ease, padding-left .2s ease !important;
    }

    .tk_nav li a::after {
        content: "→";
        color: var(--brass);
        font-size: 22px;
        opacity: .65;
        transition: transform .2s ease, opacity .2s ease;
    }

    .tk_nav li a:hover,
    .tk_nav li.current-menu-item a {
        color: var(--brass) !important;
        padding-left: 24px !important;
    }

    .tk_nav li a:hover::after,
    .tk_nav li.current-menu-item a::after {
        opacity: 1;
        transform: translateX(4px);
    }

    /* Login remains part of the full-screen menu */
    .tk_nav .tk_mobile_login {
        margin-top: 26px !important;
        padding-top: 0 !important;
        border: 0 !important;
    }

    .tk_nav .tk_mobile_login a {
        justify-content: center !important;
        min-height: 54px !important;
        padding: 0 24px !important;
        background: #fff !important;
        color: var(--spruce) !important;
        border-radius: 999px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
    }

    .tk_nav .tk_mobile_login a::after {
        display: none !important;
    }

    .tk_nav .tk_mobile_login a:hover {
        background: var(--brass) !important;
        color: #fff !important;
    }

    /* Make the hamburger become a clean X */
    .tk_header.menu-open .tk_menu_toggle {
        background: rgba(255,255,255,.10) !important;
        border-color: rgba(255,255,255,.42) !important;
        transform: rotate(0deg);
    }

    .tk_header.menu-open .tk_menu_toggle span,
    .tk_header.menu-open .tk_menu_toggle span::before,
    .tk_header.menu-open .tk_menu_toggle span::after {
        width: 23px !important;
    }

    .tk_header.menu-open .tk_menu_toggle span {
        background: transparent !important;
    }

    .tk_header.menu-open .tk_menu_toggle span::before {
        transform: rotate(45deg) !important;
    }

    .tk_header.menu-open .tk_menu_toggle span::after {
        transform: rotate(-45deg) !important;
    }
}

@media (max-width: 480px) {
    .tk_nav {
        padding: 100px 20px 28px !important;
    }

    .tk_nav::before {
        top: 100px;
        left: 20px;
    }

    .tk_nav li a {
        min-height: 64px !important;
        padding-left: 16px !important;
    }

    .tk_nav li a:hover,
    .tk_nav li.current-menu-item a {
        padding-left: 22px !important;
    }
}

/* =========================================================
   MOBILE MENU — TRUE CENTERED X CLOSE ICON
   Prevents the close icon from appearing as a chevron/arrow.
   ========================================================= */
@media (max-width: 991px) {
    .tk_header.menu-open .tk_menu_toggle span {
        position: relative !important;
        width: 24px !important;
        height: 24px !important;
        background: transparent !important;
        display: block !important;
    }

    .tk_header.menu-open .tk_menu_toggle span::before,
    .tk_header.menu-open .tk_menu_toggle span::after {
        content: "" !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: 25px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #ffffff !important;
        border-radius: 2px !important;
        transform-origin: center center !important;
        transition: transform .25s ease !important;
    }

    .tk_header.menu-open .tk_menu_toggle span::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    .tk_header.menu-open .tk_menu_toggle span::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }
}
