/* BÔ public landing. Isolated from the operational applications. */
.landing-v2 { --landing-forest:#152d24; --landing-cream:#f6f3e8; --landing-gold:#c2a246; font-family:"Outfit",sans-serif!important; }
.landing-v2 [hidden] { display:none!important; }
.landing-v2 h1,.landing-v2 h2,.landing-v2 h3 { letter-spacing:-.035em; }
.landing-v2 .main-header { background:var(--bo-paper)!important; box-shadow:0 1px 0 var(--bo-line)!important; }
.landing-v2 .header-container { max-width:1360px; padding:16px 40px; gap:26px; }
.landing-v2 .brand-logo { width:62px; height:62px; object-fit:contain; }
.landing-v2 .brand-title { font-family:"Playfair Display",serif; font-size:32px; }
.landing-v2 .brand-utility-bar { background:var(--bo-canvas); color:var(--bo-ink); border-bottom:1px solid var(--bo-line); }
.landing-v2 .utility-status { font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.landing-v2 .theme-toggle-btn { font-size:11px; padding:8px; min-height:44px; }
.landing-v2 .desktop-primary-nav { background:var(--bo-paper); border-top:1px solid var(--bo-line); }
.landing-v2 .desktop-primary-nav-inner { justify-content:center; gap:36px; }
.landing-v2 .desktop-nav-link { color:var(--bo-ink)!important; font-weight:500; font-size:14px; }
.landing-v2 .desktop-nav-link.active { color:var(--bo-leaf-dark)!important; }
.landing-v2 .landing-wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.landing-v2 .landing-eyebrow { margin:0 0 16px; font:600 11px/1.5 "Outfit",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--bo-earth); }
.landing-v2 .landing-hero { display:block; min-height:0; padding:0; position:relative; isolation:isolate; background:#f6f3e8!important; color:#152d24; overflow:hidden; }
.landing-v2 .landing-hero::before { content:""; position:absolute; inset:0 0 0 35%; width:auto; height:auto; border-radius:0; filter:none; opacity:1; z-index:-2; background:url('botanical.webp') center 45%/cover; transform:scaleX(-1); }
.landing-v2 .landing-hero::after { content:""; position:absolute; inset:0; width:auto; height:auto; border-radius:0; filter:none; opacity:1; z-index:-1; background:linear-gradient(90deg,#f6f3e8 0%,#f6f3e8f5 27%,#f6f3e8a6 60%,#f6f3e80a 100%); }
.landing-hero-inner { width:min(1280px,calc(100% - 80px)); margin:auto; padding:64px 0 38px; }
.landing-v2 .landing-hero h1 { font:500 clamp(38px,4.6vw,68px)/1.05 "Playfair Display",serif; color:#152d24; max-width:960px; margin:0 0 24px; }
.landing-hero h1 em { font-style:normal; }
.landing-hero-description { font-size:20px; line-height:1.5; color:#28483a; margin:0 0 24px; }
.landing-actions { display:flex; flex-wrap:wrap; gap:12px; }
.landing-v2 .landing-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:46px; border:1px solid #152d24; border-radius:100px; padding:12px 24px; color:#f6f3e8; background:#152d24; font:500 15px/1.35 "Outfit",sans-serif; text-decoration:none; cursor:pointer; transition:background .15s,transform .15s; }
.landing-v2 .landing-button:hover { background:#294c38; transform:translateY(-1px); }
.landing-v2 .landing-button.secondary { color:#152d24; background:#f6f3e8d9; }
.landing-v2 .landing-button.gold { background:#c2a246; border-color:#c2a246; color:#152d24; }
.landing-rating { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:22px 0 34px; font-size:12px; color:#28483a; text-decoration:none; }
.landing-rating>span:first-child { color:#85641b; letter-spacing:2px; }
.rating-detail { font-size:11px; }
.landing-services { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:930px; }
.landing-services>a { display:flex; gap:16px; align-items:center; border:1px solid #152d2417; border-radius:14px; background:#fffdf5eF; color:#152d24; padding:22px; text-decoration:none; box-shadow:0 8px 25px #152d2408; }
.landing-services svg { width:30px; height:30px; flex-shrink:0; }
.landing-services strong { font:600 22px/1.2 "Playfair Display",serif; }
.landing-services small { display:block; font-size:13px; margin-top:6px; line-height:1.4; max-width:185px; }
.landing-services b { font-size:20px; font-weight:400; margin-left:auto; }
.landing-selection { padding-block:58px; }
.landing-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.landing-v2 .landing-section-heading h2,.landing-v2 .landing-support h2 { margin:0; font:500 clamp(30px,3vw,42px)/1.15 "Playfair Display",serif; color:var(--bo-ink); }
.landing-text-link { display:inline-flex; gap:16px; align-items:center; min-height:44px; color:var(--bo-ink); text-underline-offset:5px; font-size:14px; }
.landing-intro { margin:14px 0 26px; font-size:16px; color:var(--bo-muted); }
.landing-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.landing-category { background:var(--bo-paper); border:1px solid var(--bo-line); border-radius:16px; overflow:hidden; display:grid; grid-template-columns:40% 1fr; text-decoration:none; color:var(--bo-ink); min-height:242px; }
.landing-category img { width:100%; height:100%; object-fit:cover; }
.landing-category>div { padding:22px 18px; display:flex; flex-direction:column; align-items:flex-start; }
.landing-category .landing-eyebrow { font-size:9px; margin-bottom:12px; }
.landing-category h3 { margin:0 0 10px; font:600 23px/1.15 "Playfair Display",serif; }
.landing-category p { font-size:13px; line-height:1.5; margin:0 0 14px; color:var(--bo-muted); }
.landing-category .landing-text-link { margin-top:auto; border-bottom:1px solid var(--bo-line); width:100%; justify-content:space-between; }
.landing-category:hover { border-color:var(--bo-gold); }
.landing-delivery { display:grid; grid-template-columns:repeat(3,1fr); margin-top:28px; padding-top:24px; border-top:1px solid var(--bo-line); gap:24px; }
.landing-delivery p { margin:0; font-size:13px; color:var(--bo-muted); line-height:1.6; }
.landing-delivery strong { display:block; color:var(--bo-ink); font-size:14px; margin-bottom:4px; }
.landing-academy { background:#152d24; color:#f6f3e8; padding:54px 0; }
.landing-academy-layout { display:grid; grid-template-columns:.85fr 1.4fr; gap:80px; align-items:center; }
.landing-academy .landing-eyebrow { color:#dec67b; }
.landing-v2 .landing-academy h2 { font:500 clamp(36px,4vw,58px)/1.08 "Playfair Display",serif; color:#f6f3e8; margin:0 0 20px; }
.landing-academy-layout>div>p:not(.landing-eyebrow) { font-size:17px; line-height:1.6; color:#d2ddcc; margin-bottom:24px; max-width:390px; }
.landing-learning-options { display:grid; gap:10px; }
.landing-learning-options article { padding:20px 24px; display:flex; gap:20px; align-items:center; background:#f6f3e8; color:#152d24; border-radius:12px; }
.landing-learning-options svg { width:32px; height:32px; flex-shrink:0; }
.landing-learning-options h3 { font:600 23px/1.2 "Playfair Display",serif; margin:0 0 5px; color:#152d24; }
.landing-learning-options article p { font-size:14px; margin:0 0 4px; color:#395844; }
.landing-learning-options a,.landing-learning-options button { padding:8px 0; min-height:44px; border:0; background:none; color:#152d24; font:500 13px "Outfit",sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.landing-learning-options .landing-course-note { font-size:12px; color:#d2ddcc; margin:6px 0 0; }
.landing-support { display:grid; grid-template-columns:72px 1.6fr 1fr; align-items:center; gap:28px; border:1px solid var(--bo-line); background:var(--bo-paper); border-radius:18px; padding:36px; margin-block:40px!important; }
.landing-support-icon svg { width:64px; height:64px; color:var(--bo-ink); }
.landing-support p:not(.landing-eyebrow) { font-size:16px; line-height:1.6; color:var(--bo-muted); max-width:620px; margin:18px 0 22px; }
.landing-support-aside { padding:30px 0 30px 28px; border-left:1px solid var(--bo-line); color:var(--bo-muted); }
.landing-support-aside span { display:block; font:italic 27px/1.6 "Playfair Display",serif; }
.landing-support-aside a { display:inline-flex; min-height:44px; align-items:center; color:var(--bo-ink); font-size:13px; margin-top:10px; }
.landing-store-heading { padding:36px 0 28px; }
.landing-store-heading .landing-eyebrow { margin-top:16px; }
.landing-store-heading h1 { font:500 clamp(32px,4vw,48px)/1.2 "Playfair Display",serif; margin:0 0 12px; color:var(--bo-ink); }
.landing-store-heading p:last-child { color:var(--bo-muted); font-size:16px; line-height:1.6; }
.landing-v2 .catalog-section { padding-top:0; }
.landing-v2 .google-reviews { margin-top:0; padding-top:30px; }
.landing-v2 .google-reviews h2,.landing-v2 .contact-title { font-family:"Playfair Display",serif; font-weight:500; }
.landing-v2 .google-review-card { box-shadow:none; border-radius:14px; }
.landing-v2 .contact-section { padding-top:0; }
.landing-v2 .contact-container { padding-top:40px; }
.landing-v2 .contact-bg-glow { display:none; }
.landing-contact-note { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; background:var(--bo-paper); border:1px solid var(--bo-line); border-radius:14px; }
.landing-contact-note p { line-height:1.8; margin:0; color:var(--bo-muted); }
.landing-contact-note strong { font:500 28px "Playfair Display",serif; color:var(--bo-ink); }
.landing-v2[data-landing-view="home"] #floating-wheel-btn { display:none!important; }
.landing-v2[data-landing-view="home"] #catalog-section,
.landing-v2:not([data-landing-view="home"]) .landing-home-content,
.landing-v2:not([data-landing-view="home"]) .landing-hero,
.landing-v2:not([data-landing-view="home"]) #contact-section { display:none!important; }
.landing-v2[data-landing-view="home"] .landing-hero,.landing-v2[data-landing-view="home"] #contact-section { display:block!important; }
.landing-v2 .home-category-strip { display:none!important; }
@media(min-width:1051px) { .landing-v2 .header-search-form { max-width:430px; margin-left:auto; } }
@media(max-width:1050px) {
 .landing-v2 .landing-wrap,.landing-hero-inner { width:calc(100% - 40px); }
 .landing-v2 .header-container { padding:12px 20px; }
 .landing-hero-inner { padding-top:42px; }
 .landing-category-grid { gap:12px; }
 .landing-category { grid-template-columns:1fr; }
 .landing-category img { height:190px; }
 .landing-academy-layout { gap:30px; }
 .landing-support { grid-template-columns:56px 1fr; padding:28px; }
 .landing-support-aside { display:none; }
 .landing-services>a { padding:18px 14px; gap:10px; }
}
@media(max-width:640px) {
 .landing-v2 { padding-bottom:86px!important; }
 .landing-v2 .brand-utility-bar,.landing-v2 .theme-toggle-btn { display:none!important; }
 .landing-v2 .header-container { padding:10px 18px; gap:10px; }
 .landing-v2 .brand-logo { width:48px; height:48px; }
 .landing-v2 .brand-title { font-size:26px; }
 .landing-v2 .header-search-form { order:3; width:100%; max-width:none; }
 .landing-v2 .header-search-form input { height:44px; font-size:14px; }
 .landing-v2 .landing-wrap,.landing-hero-inner { width:calc(100% - 36px); }
 .landing-hero-inner { padding:32px 0 22px; }
 .landing-v2 .landing-hero h1 { font-size:38px; line-height:1.08; max-width:390px; }
 .landing-v2 .landing-hero::before { inset:0 0 0 15%; opacity:.7; }
 .landing-v2 .landing-hero::after { background:linear-gradient(90deg,#f6f3e8f5,#f6f3e8a0 70%,#f6f3e880); }
 .landing-contact-note { flex-direction:column; align-items:start; padding:22px; }
 .landing-hero-description { font-size:16px; margin-bottom:22px; }
 .landing-actions { max-width:350px; }
 .landing-actions .landing-button { width:100%; min-height:48px; }
 .landing-rating { margin:22px 0; font-size:12px; gap:6px; }
 .rating-detail { flex-basis:100%; }
 .landing-services { gap:8px; }
 .landing-services>a { flex-direction:column; text-align:center; padding:16px 4px; gap:9px; border-radius:12px; }
 .landing-services strong { font:600 14px "Outfit",sans-serif; letter-spacing:0; }
 .landing-services small,.landing-services b { display:none; }
 .landing-services svg { width:27px; height:27px; }
 .landing-selection { padding-block:34px; }
 .landing-section-heading { display:block; }
 .landing-section-heading>.landing-text-link { margin-top:10px; }
 .landing-v2 .landing-section-heading h2 { font-size:32px; }
 .landing-intro { margin-top:8px; font-size:15px; line-height:1.5; }
 .landing-category-grid { grid-template-columns:1fr; gap:14px; }
 .landing-category { grid-template-columns:37% 1fr; min-height:212px; }
 .landing-category img { height:100%; }
 .landing-category>div { padding:20px 16px; }
 .landing-category h3 { font-size:23px; }
 .landing-delivery { gap:12px; grid-template-columns:1fr; }
 .landing-delivery p { padding-left:14px; border-left:2px solid var(--bo-gold); }
 .landing-academy { padding:34px 0; }
 .landing-academy-layout { grid-template-columns:1fr; gap:28px; }
 .landing-v2 .landing-academy h2 { font-size:40px; }
 .landing-learning-options article { padding:16px; gap:14px; }
 .landing-learning-options h3 { font-size:22px; }
 .landing-support { grid-template-columns:1fr; gap:10px; padding:24px; margin-block:28px!important; }
 .landing-support-icon svg { width:40px; height:40px; }
 .landing-support .landing-eyebrow { margin-bottom:10px; }
 .landing-v2 .landing-support h2 { font-size:31px; }
 .landing-v2 .mobile-nav { background:#fffdf6!important; border-top:1px solid #152d2420; padding-bottom:env(safe-area-inset-bottom,0px); }
 .landing-v2 .mobile-nav-btn { min-width:44px; min-height:60px; color:#395844!important; }
 .landing-v2 .mobile-nav-btn.active { color:#152d24!important; background:#e9eedf!important; }
 .landing-store-heading { padding-top:20px; }
 .landing-v2 .product-grid { gap:12px; }
 .landing-v2 .product-card { border-radius:14px; }
}
@media(prefers-reduced-motion:reduce) { .landing-v2 *,html { scroll-behavior:auto!important; transition:none!important; } }
.landing-store-benefit { float:right; margin:20px 5%; padding:12px 18px; border:1px solid #C2A246; border-radius:30px; background:transparent; color:inherit; cursor:pointer; min-height:44px; }
