/* Shared public-site design system. Booking endpoints and form behavior stay native. */
.ka-family{--site-bg:#f7f5ef;--site-ink:#17302e;--site-muted:#56665d;--site-line:#d4dace;--site-teal:#0b393a;--site-teal-deep:#082f31;--site-teal-soft:#e6ece2;--site-gold:#ddc79c;--site-radius:12px;--site-radius-sm:8px;--site-shadow:0 18px 45px #12392b10;--site-shadow-sm:0 8px 22px #12392b0a;background:#f7f5ef;color:#17302e;overflow-wrap:break-word}.ka-family .wrap{width:min(1240px,calc(100% - 64px))}.ka-family .site-nav{background:#f7f5eff2;border-color:#d4dace}.ka-family .site-nav-inner{width:min(1320px,calc(100% - 48px))}.ka-family .site-nav-cta{background:#082f31;border-radius:6px}.ka-family .site-brand img{width:40px;height:40px;border-radius:0}.ka-family:not(.consultant-home) .hero{background:#082f31;color:#f7f5ef;padding:72px 0;margin-bottom:32px}.ka-family:not(.consultant-home) .hero h1{color:#f7f5ef;font-size:clamp(36px,4.8vw,66px);letter-spacing:-.05em;line-height:1.07;font-weight:550;max-width:950px}.ka-family:not(.consultant-home) .hero .lead{color:#d1dfd4;font-size:18px;line-height:1.7}.ka-family .hero .eyebrow{color:#ddc79c}.ka-family .hero .hero-badge{color:#dfe7dc;background:#234745;border:1px solid #577267}.ka-family .hero .btn-primary{background:#ddc79c;color:#082f31;box-shadow:none}.ka-family .hero .btn-ghost{color:#f7f5ef;background:transparent;border-color:#819789}.ka-family .hero-portrait{border:0;border-radius:0;box-shadow:none;max-width:450px;aspect-ratio:4/5}.ka-family .hero-portrait img{border-radius:0;object-position:center 30%}.family-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.family-visual{margin:0;overflow:hidden;border-radius:4px}.family-visual img{display:block;width:100%;height:350px;object-fit:cover}.ka-family:not(.consultant-home) h2{letter-spacing:-.04em;font-weight:600;line-height:1.15}.ka-family .section{padding:76px 0}.ka-family .btn{border-radius:7px;min-height:48px;box-shadow:none}.ka-family .btn-primary{background:#0b393a;color:#fff}.ka-family .btn-ghost{background:transparent;border-color:#bdc9b9}.ka-family .card,.ka-family .product-card,.ka-family .contact-tile,.ka-family .blog-card,.ka-family .res-card{border:1px solid #d4dace;border-radius:12px;background:#fffefa;box-shadow:none;transition:transform .25s,box-shadow .25s,border-color .25s}.ka-family .card:hover,.ka-family .product-card:hover,.ka-family .contact-tile:hover,.ka-family .blog-card:hover,.ka-family .res-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #193d2512;border-color:#a7b9a0}.ka-family .card-icon,.ka-family .ct-icon{display:grid;place-items:center;background:#e6ece2;color:#154c45;border-radius:12px}.ka-family .panel-teal{background:#0b393a;border-radius:12px;color:#e4eee4;box-shadow:none}.ka-family .panel-teal h2,.ka-family .panel-teal h3{color:#f7f5ef}.ka-family .panel-teal .lead,.ka-family .panel-teal p,.ka-family .panel-teal li{color:#d6e4d8}.ka-family .cta-band{background:#082f31;color:#f7f5ef;border-radius:12px;box-shadow:none}.ka-family .cta-band h2{color:#f7f5ef}.ka-family .cta-band .lead{color:#d1dfd4}.ka-family .cta-band .btn-primary{background:#ddc79c;color:#082f31}.ka-family .faq-item{border-radius:10px;border-color:#d4dace;background:#fffefa;box-shadow:none}.ka-family .faq-item summary{font-size:17px;min-height:60px}.ka-family .stat-strip{border-radius:10px;background:#e8ece2;box-shadow:none}.ka-family .stat strong{color:#143d37}.ka-family .site-foot{background:#e7ebe2;color:#17302e;border-top:1px solid #d0d7c9}.ka-family .site-foot h4{color:#17302e}.ka-family .foot-brand img{width:40px;height:40px}.ka-family .res-thumb{aspect-ratio:16/10}.ka-family .res-thumb img,.ka-family .blog-card-cover img{transition:transform .55s}.ka-family .res-card:hover .res-thumb img,.ka-family .blog-card:hover .blog-card-cover img{transform:scale(1.035)}.ka-family .res-card-body h3{font-size:20px;line-height:1.3}.ka-family input,.ka-family select,.ka-family textarea{font-size:16px;scroll-margin-bottom:110px}.ka-family a,.ka-family button{-webkit-tap-highlight-color:transparent}.ka-family :focus-visible{outline:3px solid #a47e38;outline-offset:4px}.ka-mobile-dock{display:none}.ka-menu-sheet:not([open]){display:none}.ka-menu-sheet{width:min(560px,100%);max-height:90dvh;box-sizing:border-box;margin:auto auto 0;border:0;border-radius:24px 24px 0 0;padding:26px 24px max(24px,env(safe-area-inset-bottom));background:#f7f5ef;color:#17302e;box-shadow:0 -20px 80px #001f3b33}.ka-menu-sheet::backdrop{background:#041f27a6;backdrop-filter:blur(5px)}.ka-sheet-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.ka-sheet-top p{font-size:12px;letter-spacing:.14em;margin:0 0 4px;color:#637461}.ka-sheet-top h2{font-size:26px;margin:0;letter-spacing:-.04em;color:#17302e}.ka-sheet-top button{width:44px;height:44px;border:1px solid #cad3c4;background:#e6ece2;border-radius:50%;font-size:28px;color:#17302e;cursor:pointer}.ka-menu-sheet nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ka-menu-sheet nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 12px;border-bottom:1px solid #d4dace;font-size:15px;color:#17302e;min-height:54px;text-decoration:none}.ka-menu-sheet nav a[aria-current]{background:#e1e8dc;border-radius:8px}.ka-sheet-cta{margin-top:24px;display:flex;align-items:center;justify-content:space-between;background:#082f31;color:#f7f5ef!important;border-radius:10px;padding:17px 20px;text-decoration:none;font-weight:650}.ka-family:has(.ka-menu-sheet[open]){overflow:hidden}.ka-booking-title,.ka-booking-menu{display:none}.ka-booking{--bg:#f7f5ef;--teal:#0b393a;--teal-deep:#082f31;--teal-soft:#e6ece2;--ink:#17302e;--muted:#586b60;--line:#d4dace;--shadow:0 16px 40px #12392b12;background:#f7f5ef}.ka-booking:before{display:none}.ka-booking .frame{border-radius:16px;border:1px solid #d4dace;background:#fffefa;box-shadow:none}.ka-booking .sidebar{background:#eff1e8}.ka-booking .profile-card{border-radius:12px;box-shadow:none}.ka-booking .btn-primary{background:#0b393a;color:#fff}.ka-booking .calendar-card,.ka-booking .form-card,.ka-booking .summary-side-card,.ka-booking .intro-side-card{border-radius:14px;box-shadow:none}.ka-booking .progress-dock{box-shadow:none;border-radius:12px}.ka-booking .calendar-day.active,.ka-booking .slot-button.selected{background:#0b393a;color:white}.ka-booking .wa-fab{z-index:45}
@media(max-width:1100px){.family-hero-grid{gap:32px}.family-visual img{height:320px}.ka-family .hero-grid{gap:32px}.ka-family .site-nav-links{background:#f7f5ef}}
@media(max-width:780px){.ka-family{padding-bottom:calc(82px + env(safe-area-inset-bottom));overscroll-behavior-y:auto}.ka-family .wrap,.ka-family.consultant-home .wrap{width:calc(100% - 36px)}.ka-family .site-nav-inner{width:calc(100% - 32px);padding:11px 0}.ka-family .site-brand{font-size:16px;gap:10px}.ka-family .site-brand small{font-size:12px}.ka-family .site-brand img{width:36px;height:36px}.ka-family .site-nav{position:sticky;top:0;z-index:50}.ka-family .nav-toggle{width:44px;height:44px;padding:4px;border:1px solid #c9d2c4;border-radius:12px}.ka-family .site-nav-links.is-open{display:none}.ka-mobile-dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:70;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#f7f5eff5;backdrop-filter:blur(18px);border-top:1px solid #cbd6c6;box-shadow:0 -5px 24px #12392b0b}.ka-mobile-dock a,.ka-mobile-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;border:0;border-radius:12px;font:inherit;font-size:12px;line-height:1.2;color:#5a6d60;text-decoration:none;background:transparent;cursor:pointer}.ka-mobile-dock [aria-current]{color:#0b393a;background:#e2e9dc;font-weight:700}.ka-mobile-dock .ka-dock-book{background:#082f31;color:#f7f5ef;margin:0 4px}.ka-mobile-dock svg{width:22px;height:22px}.ka-family .wa-fab{bottom:calc(94px + env(safe-area-inset-bottom));right:14px;padding:12px;z-index:45}.ka-family .wa-fab-label{display:none}.ka-family .section{padding:50px 0}.ka-family:not(.consultant-home) .hero{padding:42px 0;margin-bottom:10px}.ka-family:not(.consultant-home) .hero h1{font-size:clamp(34px,8.8vw,48px);line-height:1.08}.ka-family:not(.consultant-home) .hero .lead{font-size:16px}.family-hero-grid{grid-template-columns:1fr;gap:24px}.family-visual img{height:230px}.ka-family .hero-portrait{max-width:100%;aspect-ratio:5/4}.ka-family .hero-portrait img{object-position:center 25%}.ka-family .hero-grid{grid-template-columns:1fr}.ka-family .card-grid,.ka-family .res-grid,.ka-family .blog-grid,.ka-family .contact-grid,.ka-family .split,.ka-family .res-hero{grid-template-columns:minmax(0,1fr);gap:18px}.ka-family .card,.ka-family .product-card{padding:24px}.ka-family .contact-tile{min-height:76px;padding:18px}.ka-family .res-card-body h3{font-size:19px}.ka-family .cta-band{padding:32px 22px}.ka-family .cta-band h2{font-size:30px}.ka-family .cta-band .lead{font-size:16px}.ka-family .site-foot{padding:42px 0 28px}.ka-family .site-foot .foot-bottom{padding-bottom:0}.ka-family .hero-cta-row{gap:10px}.ka-family .hero-cta-row .btn{flex:1;min-width:135px;padding:14px 16px}.ka-family .btn{min-height:48px}.ka-family .res-hero-preview{border-radius:10px}.ka-family .blog-body,.ka-family .prose{font-size:17px;line-height:1.75}.ka-family table{max-width:100%}.ka-family .skill-cloud{gap:8px}.ka-family .skill-chip{font-size:14px}.ka-booking .shell{width:100%;margin:0}.ka-booking .shell .public-frame{display:block;min-height:auto;background:#f7f5ef;border:0;border-radius:0;overflow:visible}.ka-booking .sidebar{display:none}.ka-booking .mobile-appbar{display:flex;position:sticky;top:0;z-index:50;align-items:center;gap:12px;padding:12px 16px;background:#f7f5eff5;border-bottom:1px solid #d4dace}.ka-booking .appbar-nav{display:none}.ka-booking-title{display:block;font-size:15px;flex:1}.ka-booking-menu{display:block;width:42px;height:42px;border:1px solid #c9d2c4;background:transparent;color:#17302e;border-radius:12px;font-size:23px}.ka-booking .content{padding:18px;gap:18px;display:grid}.ka-booking .topbar{padding:0;gap:12px}.ka-booking .time-pill{min-width:0}.ka-booking .calendar-stage,.ka-booking .details-stage,.ka-booking .overview-stage{grid-template-columns:minmax(0,1fr)}.ka-booking .calendar-card,.ka-booking .form-card{padding:18px;background:#fffefa}.ka-booking .progress-dock{padding:14px;position:static}.ka-booking .progress-hint{font-size:13px}.ka-booking .calendar-day,.ka-booking .calendar-spacer{min-height:53px;border-radius:9px}.ka-booking .calendar-day small,.ka-booking .calendar-day-meta{font-size:10px}.ka-booking .slot-button{min-height:60px}.ka-booking .field-grid{flex-direction:column}.ka-booking input,.ka-booking select,.ka-booking textarea{font-size:16px}.ka-booking .panel-head h1{font-size:28px}.ka-booking .intro-side-card{display:block}.ka-booking .summary-side-card{margin-bottom:12px}.ka-booking .btn-primary{min-height:50px}.ka-family :target{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){.ka-family{scroll-behavior:auto}.ka-family .card,.ka-family .product-card,.ka-family .contact-tile,.ka-family .blog-card,.ka-family .res-card,.ka-family .res-thumb img,.ka-family .blog-card-cover img{transition:none}.ka-family .card:hover,.ka-family .product-card:hover,.ka-family .contact-tile:hover,.ka-family .blog-card:hover,.ka-family .res-card:hover,.ka-family .res-card:hover .res-thumb img,.ka-family .blog-card:hover .blog-card-cover img{transform:none}[data-family-depth]{translate:none!important}}
/* Explicit contrast for components that originally used dark backgrounds. */
.ka-family .stat span{color:#50654e}.ka-family .stat strong b{color:#786134}.ka-family .site-foot .foot-brand,.ka-family .site-foot .foot-brand span{color:#17302e}.ka-family .site-foot a{color:#244c3b}.ka-family .site-foot a:hover{color:#082f31}.ka-family .site-foot .foot-note,.ka-family .site-foot .foot-bottom{color:#50654e}.ka-family .site-foot .foot-bottom{border-color:#c5cebf}.ka-family .site-foot h4{color:#17302e}
