/* Kailani Home — isolated styles */
.kailani-home{--kh-ink:#10191f;--kh-blue:#0d3446;--kh-paper:#f5f4f0;--kh-muted:#5e686d;color:var(--kh-ink);font-family:inherit;font-size:16px;line-height:1.5}
.kailani-home *{box-sizing:border-box}
.kailani-home img{display:block;max-width:100%;height:auto}
.kailani-home h1,.kailani-home h2,.kailani-home h3,.kailani-home p{margin-top:0}
.kailani-home h1,.kailani-home h2,.kailani-home h3{line-height:.98;letter-spacing:-.035em;font-weight:800}
.kailani-home h1{font-size:clamp(42px,6.5vw,88px);max-width:650px;margin-bottom:20px}
.kailani-home h2{font-size:clamp(30px,4vw,52px);margin-bottom:18px}
.kailani-home h3{font-size:22px;margin-bottom:10px}
.kailani-home .kh-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;margin-bottom:12px}
.kailani-home .kh-hero{min-height:620px;position:relative;display:flex;align-items:center;background-color:#0b3447;background-image:var(--kh-hero-image,linear-gradient(115deg,#dce6e9 0%,#a7c5d0 34%,#0c536d 70%,#082c3b 100%));background-size:cover;background-position:center;overflow:hidden;padding:70px clamp(24px,6vw,90px)}
.kailani-home .kh-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,247,245,.95) 0%,rgba(246,247,245,.78) 34%,rgba(7,28,38,.08) 70%,rgba(0,0,0,.08) 100%)}
.kailani-home .kh-hero-shade{display:none}
.kailani-home .kh-hero-content{position:relative;z-index:1;max-width:680px}
.kailani-home .kh-hero-copy{font-size:clamp(16px,1.5vw,20px);max-width:470px;margin-bottom:28px}
.kailani-home .kh-actions{display:flex;flex-wrap:wrap;gap:12px}
.kailani-home .kh-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.08em;transition:transform .2s,background .2s;border:1px solid var(--kh-ink);min-height:46px}
.kailani-home .kh-button:hover{transform:translateY(-2px)}
.kailani-home .kh-button-dark{background:var(--kh-ink);color:#fff!important}
.kailani-home .kh-button-light{background:#fff;color:var(--kh-ink)!important;border-color:#fff}
.kailani-home .kh-button-outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.8)}
.kailani-home .kh-section{padding:64px clamp(22px,6vw,88px)}
.kailani-home .kh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.kailani-home .kh-section-heading h2{margin-bottom:0}
.kailani-home .kh-text-link{font-size:11px;font-weight:800;letter-spacing:.06em;color:inherit;text-decoration:none!important;white-space:nowrap}
.kailani-home .kh-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kailani-home .kh-model-card{background:#eeefed;display:flex;flex-direction:column;min-width:0}
.kailani-home .kh-model-card{padding:0!important;overflow:hidden}
.kailani-home .kh-model-img,.kailani-home .kh-image-placeholder.kh-model-img{display:block!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:2/3;object-fit:contain;object-position:center;background:transparent;padding:0!important;margin:0!important;align-self:stretch!important;border:0!important;border-radius:0!important}
.kailani-home .kh-image-placeholder{background:linear-gradient(135deg,#dce4e5,#7ca4b4 55%,#123e50)}
.kailani-home .kh-model-info{padding:22px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.kailani-home .kh-model-info .kh-eyebrow{color:#56646a;margin-bottom:10px}
.kailani-home .kh-model-info p:not(.kh-eyebrow){color:#3c474b;font-size:14px}
.kailani-home .kh-small-link{margin-top:auto;padding-top:8px;color:var(--kh-ink);font-size:10px;font-weight:800;text-decoration:none!important}
.kailani-home .kh-made{background:#f1f0eb;padding:58px clamp(22px,6vw,88px);display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:28px;align-items:start}
.kailani-home .kh-made-intro p:not(.kh-eyebrow){font-size:14px;color:#525d60;max-width:330px}
.kailani-home .kh-step{padding-top:8px}
.kailani-home .kh-step-icon{width:54px;height:54px;border:1px solid #28373d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;margin-bottom:22px}
.kailani-home .kh-step h3{font-size:14px;letter-spacing:0}
.kailani-home .kh-step p{font-size:13px;color:#566166}
.kailani-home .kh-paths{display:grid;grid-template-columns:1fr 1fr}
.kailani-home .kh-path{min-height:390px;padding:48px clamp(24px,5vw,72px);display:flex;align-items:center;background-size:cover;background-position:center;position:relative}
.kailani-home .kh-path:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,36,50,.82),rgba(4,36,50,.18))}
.kailani-home .kh-path>div{position:relative;max-width:420px;color:#fff}
.kailani-home .kh-path h2{font-size:clamp(30px,3vw,44px)}
.kailani-home .kh-path p{max-width:390px}
.kailani-home .kh-path-models{background-image:linear-gradient(120deg,#174b61,#7ca9b5)}
.kailani-home .kh-path-custom{background-image:var(--kh-path-image,linear-gradient(130deg,#d6c8b8,#7d756b));}
.kailani-home .kh-path-custom:before{background:linear-gradient(90deg,rgba(15,20,22,.65),rgba(15,20,22,.1))}
.kailani-home .kh-story{display:grid;grid-template-columns:1.05fr 1fr;background:#f2f0ea;min-height:350px}
.kailani-home .kh-story-image img,.kailani-home .kh-story-image .kh-image-placeholder{height:100%;min-height:350px;width:100%;object-fit:cover}
.kailani-home .kh-story-copy{padding:clamp(30px,5vw,70px);align-self:center;max-width:620px}
.kailani-home .kh-story-copy p:not(.kh-eyebrow){color:#4d575a}
.kailani-home .kh-tech{padding:60px clamp(22px,6vw,88px);background:#fff}
.kailani-home .kh-tech .kh-section-heading p{margin:12px 0 0;color:#566166}
.kailani-home .kh-tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kailani-home .kh-tech-grid>div{border-top:1px solid #c6ccca;padding:18px 12px 0 0}
.kailani-home .kh-tech-grid span{font-size:10px;letter-spacing:.15em;color:#61737a}
.kailani-home .kh-tech-grid h3{font-size:18px;margin:16px 0 8px}
.kailani-home .kh-tech-grid p{font-size:13px;color:#586267}
.kailani-home .kh-performance{min-height:350px;padding:55px clamp(22px,6vw,88px);display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(5,34,47,.88),rgba(5,34,47,.12)),linear-gradient(120deg,#0b394e,#43849a 50%,#c3d7d8);background-size:cover;background-position:center}
.kailani-home .kh-performance>div{max-width:520px}
.kailani-home .kh-performance h2{font-size:clamp(34px,4vw,52px)}
.kailani-home .kh-performance p:not(.kh-eyebrow){max-width:400px}
.kailani-home .kh-final{padding:68px 22px;text-align:center;color:#fff;background:linear-gradient(120deg,#082c3c,#14546a 55%,#0a2938)}
.kailani-home .kh-final h2{font-size:clamp(30px,4vw,48px)}
.kailani-home .kh-final>p:not(.kh-eyebrow){max-width:650px;margin:0 auto 24px;color:#e5edef}
.kailani-home .kh-final .kh-actions{justify-content:center}
@media(max-width:900px){.kailani-home .kh-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kailani-home .kh-made{grid-template-columns:repeat(3,1fr)}.kailani-home .kh-made-intro{grid-column:1/-1}.kailani-home .kh-model-img,.kailani-home .kh-image-placeholder.kh-model-img{width:100%!important;min-width:100%!important;height:auto!important;aspect-ratio:2/3;object-fit:contain}.kailani-home .kh-path{min-height:330px;padding:32px 24px}}
@media(max-width:640px){.kailani-home .kh-hero{min-height:570px;padding:44px 22px;background-position:58% center}.kailani-home .kh-hero:before{background:linear-gradient(90deg,rgba(246,247,245,.92),rgba(246,247,245,.68) 62%,rgba(7,28,38,.08))}.kailani-home .kh-section{padding:42px 18px}.kailani-home .kh-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.kailani-home .kh-model-grid{grid-template-columns:1fr}.kailani-home .kh-model-card{display:flex;flex-direction:column}.kailani-home .kh-model-img,.kailani-home .kh-image-placeholder.kh-model-img{display:block!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:none!important;height:auto!important;min-height:0;aspect-ratio:2/3;object-fit:contain;padding:0!important;margin:0!important;align-self:stretch!important}.kailani-home .kh-model-info{padding:18px 14px}.kailani-home .kh-model-info h3{font-size:20px}.kailani-home .kh-made{grid-template-columns:1fr;padding:42px 22px;gap:18px}.kailani-home .kh-made-intro{grid-column:auto}.kailani-home .kh-step{display:grid;grid-template-columns:52px 1fr;column-gap:14px}.kailani-home .kh-step-icon{grid-row:span 2;margin-bottom:0}.kailani-home .kh-step h3{align-self:end;margin-bottom:6px}.kailani-home .kh-step p{grid-column:2;margin-bottom:0}.kailani-home .kh-paths{grid-template-columns:1fr}.kailani-home .kh-path{min-height:330px}.kailani-home .kh-story{grid-template-columns:1fr}.kailani-home .kh-story-image img,.kailani-home .kh-story-image .kh-image-placeholder{min-height:240px;height:240px}.kailani-home .kh-story-copy{padding:32px 22px}.kailani-home .kh-tech{padding:42px 22px}.kailani-home .kh-tech .kh-section-heading{align-items:flex-start}.kailani-home .kh-tech-grid{grid-template-columns:repeat(2,1fr);gap:22px}.kailani-home .kh-performance{min-height:330px;padding:42px 22px}.kailani-home .kh-final{padding:48px 20px}.kailani-home .kh-final .kh-actions{flex-direction:column;align-items:stretch}.kailani-home .kh-button{width:100%}}


/* ==========================================================
   KAILANI HOMEPAGE — FULL-BLEED LAYOUT
   Scoped to pages containing [kailani_home]. This lives in
   the plugin so no extra rules are needed in TheGem style.css.
   ========================================================== */
body.kailani-home-page {
    overflow-x: hidden !important;
}

body.kailani-home-page .elementor-widget-shortcode,
body.kailani-home-page .elementor-widget-shortcode > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

body.kailani-home-page .kailani-home {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.kailani-home-page .kailani-home > section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.kailani-home-page .kailani-home .kh-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    box-sizing: border-box !important;
}


/* ==================================================
   v1.2.0 HERO TUNING
   Keep the existing working full-width layout, but
   move hero copy below the overlapping site header.
   ================================================== */
body.kailani-home-page .kailani-home .kh-hero {
    min-height: 680px !important;
}

body.kailani-home-page .kailani-home .kh-hero-content {
    transform: translateY(56px) !important;
}

@media (max-width: 640px) {
    body.kailani-home-page .kailani-home .kh-hero {
        min-height: 650px !important;
    }

    body.kailani-home-page .kailani-home .kh-hero-content {
        transform: translateY(30px) !important;
    }
}


/* v1.3.3 — restore model copy below each image and remove artificial vertical flex sizing. */
.kailani-home .kh-model-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
}
.kailani-home .kh-model-card > img.kh-model-img,
.kailani-home .kh-model-card > .kh-image-placeholder.kh-model-img {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
}
.kailani-home .kh-model-card > .kh-model-info {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 18px 20px 22px !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.kailani-home .kh-model-info .kh-eyebrow,
.kailani-home .kh-model-info h3,
.kailani-home .kh-model-info p,
.kailani-home .kh-model-info .kh-small-link {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
@media (max-width: 640px) {
    .kailani-home .kh-model-card > .kh-model-info { padding: 16px 14px 20px !important; }
}


/* v1.3.6 — two editorial community panels replace the repetitive final sales CTA. */
.kailani-home .kh-community{display:grid;grid-template-columns:1fr 1fr;width:100%;}
.kailani-home .kh-community-panel{position:relative;isolation:isolate;min-height:430px;overflow:hidden;background:#123b4b;color:#fff;display:flex;align-items:flex-end;padding:clamp(28px,4vw,60px);}
.kailani-home .kh-community-photos{position:absolute;z-index:-2;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;background:#0a2833;}
.kailani-home .kh-community-photos img{width:100%;height:100%;min-height:0;object-fit:cover;}
.kailani-home .kh-community-photos img:first-child{grid-row:1 / 3;}
.kailani-home .kh-community-photos img:only-child{grid-column:1 / -1;grid-row:1 / -1;}
.kailani-home .kh-community-panel:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,24,33,.82),rgba(3,24,33,.35) 75%),linear-gradient(0deg,rgba(3,24,33,.4),transparent 65%);}
.kailani-home .kh-community-copy{max-width:430px;}
.kailani-home .kh-community-copy .kh-eyebrow{color:#e1e9e9;}
.kailani-home .kh-community-copy h2{font-size:clamp(30px,3.2vw,46px);}
.kailani-home .kh-community-copy p:not(.kh-eyebrow){max-width:370px;color:#f0f4f4;}
.kailani-home .kh-community-copy .kh-button{margin-top:8px;}
@media(max-width:640px){.kailani-home .kh-community{grid-template-columns:1fr}.kailani-home .kh-community-panel{min-height:370px;padding:30px 22px}.kailani-home .kh-community-copy h2{font-size:34px}.kailani-home .kh-community-copy .kh-button{width:auto;}}
