/* One header component for every future page; body typography uses store tokens. */
.home-header{position:sticky;top:0;z-index:100001;background:#fff;border-bottom:1px solid #e7e9e1;color:var(--home-green)}
.home-topbar,.home-header-main{max-width:1440px;margin:auto;padding-left:32px;padding-right:32px;display:flex;align-items:center}
.home-topbar{min-height:40px;padding-top:7px;gap:24px}.home-toplinks{display:flex;align-items:center;gap:clamp(20px,3vw,45px);flex:1;font-size:12px;color:#53634f}.home-toplinks a{white-space:nowrap}.home-toplinks a:hover{text-decoration:underline;text-underline-offset:4px}
.home-more-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid #c8d0c1;border-radius:20px;padding:5px 13px;line-height:20px;color:inherit;font-size:12px;flex-shrink:0}
.home-header-main{height:76px;gap:24px}.home-brand-link{flex:0 0 250px;display:block;margin-right:12px}.home-logo{width:240px;height:40px;object-fit:contain;display:block}.home-catalog-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--home-green);color:#fff;border:0;border-radius:8px;flex:0 0 132px;height:44px;padding:0 15px;font-size:14px;line-height:1}
.home-search{display:flex;align-items:center;flex:1;min-width:0;margin:0;height:44px;background:#f5f6f0;border:1px solid #dce1d6;border-radius:8px}.home-search input{background:none;border:0;border-radius:8px;min-width:0;width:100%;height:100%;padding:0 16px;font:14px var(--vm-font-body);color:#28352e;outline-offset:3px}.home-search button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:42px;padding:0;line-height:0;border:0;background:transparent;color:#617b5c}
.home-header svg{display:block;width:23px;height:23px;flex-shrink:0}.home-search svg,.home-catalog-button svg,.home-more-button svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.home-more-button svg{width:18px;height:18px}.home-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.home-actions button,.home-actions>a{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;position:relative;border:0;padding:0;line-height:0;border-radius:50%;background:transparent;color:var(--home-green)}.home-actions svg{width:26px;height:26px}.home-actions [data-cart-count]{position:absolute;right:-3px;top:-3px;min-width:17px;height:17px;border-radius:50%;background:var(--home-green);color:white;font:10px/17px Arial;text-align:center}
.home-menu{position:absolute;left:0;right:0;top:100%;padding:28px max(32px,calc((100% - 1376px)/2));display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:32px;background:#fff;box-shadow:0 18px 24px #1432241a;max-height:calc(100dvh - 116px);overflow:auto}.home-menu a{display:block;margin-top:15px;font-size:14px;line-height:1.5}.home-menu small{font-size:10px;letter-spacing:.08em;color:#799171}.home-menu-feature{background:#eff0e5;padding:22px;border-radius:12px}.home-menu-feature h3{font-size:24px;font-weight:500;line-height:1.25;margin-top:12px}.home-more{position:absolute;right:max(32px,calc((100% - 1376px)/2));top:40px;display:grid;gap:17px;min-width:260px;background:#fff;border:1px solid #e1e4d8;border-radius:12px;padding:24px;box-shadow:0 14px 30px #1432241a;font-size:14px;max-height:75dvh;overflow:auto}
.home-header button:focus-visible,.home-header a:focus-visible{outline:2px solid #779174;outline-offset:3px}.home-header button:hover{filter:brightness(.97)}
@media(max-width:1050px){.home-header-main{gap:16px;padding-left:24px;padding-right:24px}.home-topbar{padding-left:24px;padding-right:24px}.home-toplinks{gap:22px;font-size:11px}.home-brand-link{flex-basis:200px;margin-right:0}.home-logo{width:200px}.home-catalog-button{flex-basis:116px;font-size:13px}.home-actions{gap:7px}.home-search input{font-size:13px}}
@media(max-width:700px){.home-topbar{height:0;min-height:0;padding:0}.home-toplinks{display:none}.home-more-button{position:absolute;top:13px;right:14px;width:34px;height:34px;padding:7px;justify-content:center;border:0}.home-more-button span{display:none}.home-more-button svg{width:22px;height:22px}.home-header-main{height:auto;display:grid;grid-template-columns:100px 1fr 77px;gap:12px 10px;padding:10px 14px 13px}.home-brand-link{grid-column:1/3;grid-row:1;max-width:185px}.home-logo{width:185px;height:38px}.home-actions{grid-column:3;grid-row:1;gap:6px;transform:translateX(-35px)}.home-actions button,.home-actions>a{width:30px;height:30px;flex-basis:30px}.home-actions svg{width:23px;height:23px}.home-catalog-button{grid-column:1;grid-row:2;width:100px;height:40px;font-size:12px;gap:7px;padding:0 8px}.home-catalog-button svg{width:18px;height:18px}.home-search{grid-column:2/4;grid-row:2;height:40px;width:100%}.home-search input{padding-left:11px;font-size:12px}.home-search button{height:38px;flex-basis:34px}.home-search svg{width:20px;height:20px}.home-menu{padding:20px 16px;grid-template-columns:1fr 1fr;gap:22px;max-height:calc(100dvh - 113px)}.home-menu a{font-size:12px}.home-menu-feature{grid-column:1/-1;padding:18px}.home-menu-feature h3{font-size:20px}.home-more{top:52px;right:14px;left:14px;font-size:14px}}
/* Drawer and scroll states belong to this same header component. */
.home-header-space{height:117px}.home-header{position:fixed;inset:0 0 auto;width:100%}.home-topbar{height:40px;min-height:0;overflow:hidden;transition:height .22s,padding .22s,opacity .18s;padding-right:145px}.home-header-main{transition:height .22s}.home-header-main>.home-more-button{position:absolute;top:7px;right:max(32px,calc((100% - 1376px)/2))}.home-header.is-compact{box-shadow:0 3px 18px #1739230a}.home-header.is-compact .home-topbar{height:0;padding-top:0;opacity:0;visibility:hidden}.home-header.is-compact .home-header-main{height:68px}.home-header.is-compact .home-header-main>.home-more-button{position:static;height:40px;border-radius:8px;padding:0 15px;font-size:13px}.home-header.is-compact .home-search{display:none}.home-header.is-compact .home-actions{margin-left:auto}.home-actions .home-search-toggle{display:none}.home-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.home-header.is-compact .home-search-toggle{display:grid}
html.home-menu-open{overflow:hidden}.home-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(1100px,94vw);max-width:100%;height:100dvh;max-height:100dvh;overflow:hidden;background:#fff;color:#28352e;box-shadow:-10px 0 60px #17392320}.home-drawer::backdrop{background:#152b2059}.home-drawer-head{height:86px;display:flex;align-items:center;justify-content:space-between;padding:22px 38px;border-bottom:1px solid #e7e9e1}.home-drawer-head>img{width:235px;height:40px;object-fit:contain}.home-drawer-head>button{border:0;background:transparent;color:#20553f;padding:9px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%}.home-drawer-head svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5}.home-drawer-scroll{height:calc(100% - 86px);overflow-y:auto;overscroll-behavior:contain}.home-drawer-sections{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;row-gap:35px;padding:38px}.home-drawer-group>summary{list-style:none;font-size:26px;line-height:1.3;font-weight:400;cursor:pointer;position:relative;padding-right:30px}.home-drawer-group>summary::-webkit-details-marker{display:none}.home-drawer-group>summary:after{content:'';position:absolute;right:4px;top:10px;width:8px;height:8px;border-right:1.5px solid #779174;border-bottom:1.5px solid #779174;transform:rotate(45deg)}.home-drawer-group[open]>summary:after{transform:rotate(225deg);top:14px}.home-drawer-group>div{display:grid;gap:19px;padding:23px 0 0 16px}.home-drawer-group a{font-size:15px;line-height:1.5;color:#586453!important}.home-drawer a:hover{text-decoration:underline;text-underline-offset:4px}.home-drawer-bottom{background:#f0f2e9;padding:35px 38px 42px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.home-drawer-bottom h3{font-size:23px;font-weight:400;margin:0 0 23px}.home-drawer-bottom p{font-size:12px;line-height:1.7;color:#70806a;margin:24px 0 0}.home-drawer-phone a{font-size:25px;line-height:1.3;white-space:nowrap}.home-drawer-help{display:inline-flex;gap:25px;align-items:center;background:#20553f;color:white!important;padding:13px 20px;border-radius:8px;font-size:13px;margin-top:22px}.home-drawer-socials{display:flex;flex-wrap:wrap;gap:10px}.home-mobile-bar{display:none}
@media(max-width:1050px){.home-drawer-sections,.home-drawer-bottom{gap:32px}.home-drawer-group>summary{font-size:24px}.home-header-main>.home-more-button{right:24px}}
@media(max-width:700px){.home-header-space{height:114px}.home-topbar{display:none}.home-header-main>.home-more-button,.home-header.is-compact .home-header-main>.home-more-button{position:absolute;right:14px;top:13px;height:34px;width:34px;border:0;padding:7px}.home-header.is-compact .home-header-main{height:62px;display:flex;padding:10px 14px;gap:10px}.home-header.is-compact .home-brand-link{flex:0 1 185px;margin-right:auto}.home-header.is-compact .home-logo{width:185px;max-width:100%}.home-header.is-compact .home-catalog-button{display:none}.home-header.is-compact .home-actions{margin:0 40px 0 0;transform:none}.home-header.is-compact .home-actions>a,.home-header.is-compact .home-actions>[data-cart-open]{display:none}.home-header.is-compact .home-search-toggle{display:grid;width:34px;height:34px;flex-basis:34px;border:1px solid #dce1d6;border-radius:8px}.home-header .home-menu{position:fixed;top:114px;bottom:calc(64px + env(safe-area-inset-bottom));max-height:none;align-content:start}.home-header.is-compact .home-menu{top:62px}.home-drawer{width:100%;height:100dvh;max-height:100dvh}.home-drawer-head{height:68px;padding:14px 16px}.home-drawer-head>img{width:180px;height:32px}.home-drawer-scroll{height:calc(100% - 68px)}.home-drawer-sections{display:block;padding:0 16px}.home-drawer-group{border-bottom:1px solid #dfe5d7}.home-drawer-group>summary{font-size:17px;padding:20px 28px 20px 0}.home-drawer-group>summary:after{top:25px;right:5px}.home-drawer-group[open]>summary:after{top:29px}.home-drawer-group>div{padding:0 0 17px 12px;gap:0}.home-drawer-group a{display:block;font-size:14px;padding:12px 0;border-top:1px solid #edf0e7}.home-drawer-bottom{grid-template-columns:1fr;gap:30px;padding:28px 16px calc(28px + env(safe-area-inset-bottom))}.home-drawer-bottom h3{font-size:19px;margin-bottom:17px}.home-drawer-phone a{font-size:24px}.home-drawer-bottom p{margin-top:18px;font-size:11px}.home-mobile-bar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;inset:auto 0 0;z-index:100002;min-height:64px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e6d9;box-shadow:0 -3px 15px #17392308}.home-mobile-bar a,.home-mobile-bar button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:0;color:#20553f;font:400 10px/1.3 var(--vm-font-body,VmFonts,Arial,sans-serif);padding:0;min-width:0}.home-mobile-bar svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.vm-home{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.vm-home #home-cart{z-index:100010}}
@media(prefers-reduced-motion:reduce){.home-topbar,.home-header-main{transition:none}}
.home-drawer .home-drawer-bottom h3{margin:0 0 23px}.home-drawer .home-drawer-bottom p{margin:24px 0 0}
@media(max-width:700px){.home-drawer .home-drawer-bottom h3{margin-bottom:17px}.home-drawer .home-drawer-bottom p{margin-top:18px}}

/* Social artwork, colors and URLs are imported from the canonical footer. */
.home-drawer-socials .vm-social-link{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--social-color);color:#fff;transition:background-color .2s}
.home-drawer-socials .vm-social-link:hover{background:var(--social-hover)}
.home-drawer-socials .vm-social-link span{display:block;width:var(--social-icon-size);height:var(--social-icon-size);background:currentColor;mask:var(--social-icon) center/contain no-repeat;-webkit-mask:var(--social-icon) center/contain no-repeat}

/* Catalog controls share the actual disclosure state on desktop and mobile. */
:is([data-menu-toggle],[data-mobile-catalog]) :is(.home-catalog-grid,.home-catalog-close){transform-origin:center;transition:opacity .16s ease,transform .16s ease}
:is([data-menu-toggle],[data-mobile-catalog]) .home-catalog-close{opacity:0;transform:rotate(-45deg) scale(.8)}
:is([data-menu-toggle],[data-mobile-catalog])[aria-expanded="true"] .home-catalog-grid{opacity:0;transform:scale(.8)}
:is([data-menu-toggle],[data-mobile-catalog])[aria-expanded="true"] .home-catalog-close{opacity:1;transform:rotate(0) scale(1)}
.home-catalog-button{transition:background-color .16s ease}
.home-catalog-button:is(:hover,[aria-expanded="true"]){background:var(--vm-color-brand-hover)}
@media(prefers-reduced-motion:reduce){:is([data-menu-toggle],[data-mobile-catalog]) :is(.home-catalog-grid,.home-catalog-close),.home-catalog-button{transition:none}}

/* The shared ticker folds away with the upper navigation on scroll. */
.home-header-space{height:149px}
.home-header .vm-site-ticker{transition:height .22s,opacity .18s}
.home-header:not(.is-compact) .home-header-main>.home-more-button{top:39px}
.home-header.is-compact .vm-site-ticker{height:0;opacity:0}
@media(max-width:700px){.home-header-space{height:146px}.home-header:not(.is-compact) .home-header-main>.home-more-button{top:45px}.home-header:not(.is-compact) .home-menu{top:146px}}
@media(prefers-reduced-motion:reduce){.home-header .vm-site-ticker{transition:none}}

.vm-home .home-header a{color:inherit}.vm-home .home-header .home-toplinks a{color:#52684e}

/* Shared courses dropdown, used by every storefront shell. */
.home-header:not(.is-compact) .home-topbar{overflow:visible}
.home-courses{position:relative}.home-courses>summary{cursor:pointer;list-style:none;white-space:nowrap;padding:8px 0}.home-courses>summary::-webkit-details-marker{display:none}.home-courses>summary:focus-visible{outline:2px solid #20553f;outline-offset:4px;border-radius:3px}.home-courses:not([open])>.home-courses-links{display:none!important}.home-courses-links{position:absolute;top:100%;right:0;z-index:20;min-width:260px;padding:12px;background:#fff;border:1px solid #e1e4d8;border-radius:12px;box-shadow:0 10px 30px #20553f1a;display:grid;gap:4px}.home-courses-links a{display:block;padding:12px;color:#20553f!important;font-size:14px}.home-courses-links a:hover{background:#f6f6ef;border-radius:6px}
/* Shell colors must not depend on page-specific token bundles. */
.home-header,.home-mobile-bar,.site-footer{--home-green:var(--vm-color-brand,#20553f);--home-ink:var(--vm-color-ink,#242424);--home-paper:var(--vm-color-paper,#eff0e5);--home-soft:#f6f6ef;--home-line:#e1e4d8;--vm-color-brand-hover:#173e30}

/* Mobile navigation owns its typography, independent of account/page styles. */
@media(max-width:700px){.home-mobile-bar{box-sizing:border-box;min-height:64px}.home-mobile-bar>a,.home-mobile-bar>button{font-family:var(--vm-font-body,VmFonts,Arial,sans-serif);font-size:10px;line-height:13px;font-weight:400;text-decoration:none;letter-spacing:normal;gap:5px;min-height:44px;box-sizing:border-box}.home-mobile-bar>a>svg,.home-mobile-bar>button>svg{width:22px;height:22px;min-width:22px;max-width:22px;flex:0 0 22px;display:block}}
