/* GROWT Core 2.0 — scoped styles only */
.growt-core-view { overflow-x:clip; }
.growt-core-view .site-header,.growt-core-view header.site-header,.growt-core-view #masthead { position:sticky; top:0; z-index:999; }
.growt-app { --growt-ink:#19343e; --growt-muted:#708087; width:min(calc(100% - 48px),var(--growt-max-width,1280px)); margin-inline:auto; color:var(--growt-ink); }
.growt-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); gap:clamp(26px,5vw,76px); align-items:center; min-height:490px; margin:26px auto 0; padding:clamp(38px,6vw,78px); overflow:hidden; border:1px solid rgba(30,100,91,.12); border-radius:30px; background:radial-gradient(circle at 82% 25%,rgba(157,232,207,.65),transparent 32%),linear-gradient(135deg,#fbfefd 0%,#f0faf6 55%,#e7f6f2 100%); box-shadow:0 24px 70px rgba(24,77,70,.07); }
.growt-hero:before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(19,99,90,.15) .7px,transparent .7px); background-size:18px 18px; opacity:.2; pointer-events:none; }
.growt-hero__copy,.growt-hero__visual { position:relative; z-index:1; }
.growt-eyebrow { display:inline-block; margin-bottom:16px; color:#0d8079; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.growt-hero h1 { max-width:680px; margin:0 0 20px; color:#15303b; font-size:clamp(38px,5.3vw,68px); font-weight:550; line-height:1.04; letter-spacing:-.055em; }
.growt-hero h1 span { color:#0d8079; }
.growt-hero__copy>p { max-width:560px; margin:0; color:#586e76; font-size:clamp(16px,1.5vw,19px); line-height:1.75; }
.growt-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:29px; }
.growt-btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:12px; padding:0 21px; border:1px solid transparent; border-radius:14px; text-decoration:none!important; font-size:14px; font-weight:600; transition:transform .2s ease,box-shadow .2s ease; }
.growt-btn:hover { transform:translateY(-2px); }
.growt-btn--primary { color:#fff!important; background:#117c73; box-shadow:0 10px 24px rgba(17,124,115,.2); }
.growt-btn--light { color:#244650!important; border-color:rgba(29,82,83,.17); background:rgba(255,255,255,.66); }
.growt-note { display:flex; align-items:center; gap:9px; margin-top:26px; color:#6b7e82; font-size:12px; }
.growt-note i { width:7px; height:7px; border-radius:50%; background:#28a57f; box-shadow:0 0 0 4px rgba(40,165,127,.12); }
.growt-hero__visual { display:grid; min-height:300px; place-items:center; }
.growt-orbit { position:absolute; width:min(29vw,330px); aspect-ratio:1; border:1px solid rgba(31,126,109,.16); border-radius:50%; }
.growt-orbit--a { transform:rotate(-24deg) scaleX(.77); } .growt-orbit--b { transform:rotate(30deg) scaleX(.77); }
.growt-glass { width:min(100%,330px); padding:28px; border:1px solid rgba(255,255,255,.85); border-radius:24px; background:rgba(255,255,255,.72); box-shadow:0 24px 70px rgba(27,90,79,.14); backdrop-filter:blur(20px); }
.growt-glass small { color:#68857f; font-size:10px; font-weight:700; letter-spacing:.16em; }
.growt-progress { height:6px; margin-top:20px; overflow:hidden; border-radius:9px; background:#e4efeb; } .growt-progress i { display:block; width:72%; height:100%; border-radius:9px; background:linear-gradient(90deg,#1b9b83,#9bd9b9); }
.growt-glass strong { display:block; margin-top:22px; color:#183943; font-size:23px; font-weight:550; letter-spacing:-.03em; } .growt-glass p { margin:8px 0 0; color:#7a8d90; font-size:12px; }
.growt-float { position:absolute; padding:12px 16px; border:1px solid rgba(255,255,255,.9); border-radius:14px; background:rgba(255,255,255,.82); box-shadow:0 12px 30px rgba(25,87,77,.1); color:#47666a; font-size:12px; backdrop-filter:blur(16px); }
.growt-float--top { top:7%; right:0; } .growt-float--bottom { bottom:6%; left:0; }
.growt-directions,.growt-latest { padding:clamp(56px,7vw,88px) 0 20px; }
.growt-heading { max-width:720px; margin:0 auto 32px; text-align:center; }
.growt-heading h2,.growt-library-hero h1 { margin:0; color:#19343e; font-size:clamp(27px,3.3vw,42px); font-weight:550; line-height:1.16; letter-spacing:-.04em; }
.growt-heading p,.growt-library-hero p { margin:14px auto 0; color:#708087; font-size:16px; line-height:1.7; }
.growt-direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.growt-direction { display:flex; min-height:222px; flex-direction:column; align-items:flex-start; padding:23px; border:1px solid rgba(27,64,76,.12); border-radius:20px; background:rgba(255,255,255,.88); box-shadow:0 8px 28px rgba(28,65,69,.035); text-decoration:none!important; transition:transform .22s ease,box-shadow .22s ease; }
.growt-direction:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(28,65,69,.09); }
.growt-icon { display:grid; width:43px; height:43px; place-items:center; margin-bottom:20px; border-radius:14px; background:#e8f8f2; color:#0d8079; font-size:22px; }
.growt-direction strong { color:#203c45; font-size:16px; font-weight:650; } .growt-direction p { margin:9px 0 20px; color:#78878b; font-size:13px; line-height:1.65; }
.growt-direction b { display:flex; width:100%; justify-content:space-between; gap:8px; margin-top:auto; color:#0d8079; font-size:12px; font-weight:650; } .growt-direction b i { font-style:normal; }
.growt-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.growt-resource { min-width:0; overflow:hidden; border:1px solid rgba(27,64,76,.12); border-radius:20px; background:#fff; box-shadow:0 8px 28px rgba(28,65,69,.04); }
.growt-resource__image { display:block; aspect-ratio:16/9; overflow:hidden; background:#eaf4f0; } .growt-resource__image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; } .growt-resource:hover img { transform:scale(1.035); }
.growt-resource>div { padding:21px; } .growt-resource__label { color:#0d8079; font-size:10px; font-weight:700; letter-spacing:.12em; }
.growt-resource h2,.growt-resource h3 { margin:10px 0; font-size:19px; font-weight:600; line-height:1.3; } .growt-resource h2 a,.growt-resource h3 a { color:#203c45; text-decoration:none; }
.growt-resource p { color:#728188; font-size:13px; line-height:1.65; } .growt-link { color:#0d8079; font-size:13px; font-weight:650; text-decoration:none; }
.growt-empty { padding:48px 24px; border:1px dashed rgba(13,128,121,.25); border-radius:22px; background:#f8fcfa; text-align:center; } .growt-empty>span { display:inline-grid; width:46px; height:46px; place-items:center; border-radius:15px; background:#e3f7ee; color:#0d8079; font-size:24px; } .growt-empty h2,.growt-empty h3 { margin:15px 0 8px; color:#203c45; font-size:21px; font-weight:600; } .growt-empty p { margin:0; color:#74858a; font-size:14px; }
.growt-library-hero { margin:30px auto 35px; padding:50px 24px; border:1px solid rgba(30,100,91,.12); border-radius:26px; background:linear-gradient(135deg,#f5fcf9,#e8f7f1); text-align:center; } .growt-library-hero p { max-width:680px; }
.growt-single-resource { padding-top:36px; padding-bottom:80px; } .growt-article { max-width:850px; margin:auto; } .growt-back { display:inline-block; margin-bottom:30px; color:#0d8079; font-size:13px; text-decoration:none; } .growt-article h1 { margin:0 0 20px; color:#183943; font-size:clamp(34px,5vw,56px); font-weight:550; line-height:1.1; letter-spacing:-.045em; } .growt-article__intro { color:#718188; font-size:19px; line-height:1.7; } .growt-article__image { margin:30px 0; overflow:hidden; border-radius:22px; } .growt-article__image img { display:block; width:100%; height:auto; } .growt-article__content { color:#334b54; font-size:17px; line-height:1.85; } .growt-article__content img { max-width:100%; height:auto; } .growt-article__content h2,.growt-article__content h3 { color:#183943; line-height:1.25; }
@media(max-width:1000px) { .growt-hero { grid-template-columns:minmax(0,1fr) minmax(240px,.8fr); padding:40px 30px; } .growt-direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .growt-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) { .growt-app { width:min(calc(100% - 28px),var(--growt-max-width,1280px)); } .growt-hero { grid-template-columns:1fr; gap:8px; min-height:0; margin-top:14px; padding:34px 22px 22px; border-radius:22px; } .growt-hero h1 { font-size:clamp(37px,10vw,54px); } .growt-hero__visual { min-height:255px; margin-top:8px; } .growt-orbit { width:min(68vw,290px); } .growt-glass { width:min(90%,310px); padding:23px; } .growt-float--top { right:0; top:2%; } .growt-float--bottom { bottom:0; left:0; } .growt-heading { margin-bottom:25px; } .growt-direction { min-height:200px; padding:17px; } .growt-icon { margin-bottom:17px; } .growt-resource-grid { grid-template-columns:1fr; } .growt-library-hero { padding:38px 20px; } }
@media(max-width:420px) { .growt-actions { flex-direction:column; align-items:stretch; } .growt-btn { width:100%; box-sizing:border-box; } .growt-direction-grid { gap:10px; } .growt-direction { padding:14px; border-radius:16px; } .growt-direction strong { font-size:14px; } .growt-direction p { font-size:12px; } .growt-float { padding:9px 11px; font-size:11px; } }

/* GROWT Interface OS 2.1 — global responsive layout and polished navigation */
:root{--growt-site-width:1320px;--growt-site-gutter:clamp(16px,3vw,36px);--growt-brand:#117c73;--growt-brand-dark:#0b655e;--growt-text:#19343e;--growt-line:rgba(25,65,72,.12)}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{overflow-x:clip;color:var(--growt-text)}
/* Keep site content readable on wide screens without forcing full-bleed theme sections */
body:not(.growt-core-view) :is(.entry-content,.wp-block-post-content,.site-main article,.page .entry-content,.single .entry-content){min-width:0;max-width:var(--growt-site-width);margin-inline:auto;padding-inline:var(--growt-site-gutter);box-sizing:border-box}
body:not(.growt-core-view) :is(.entry-content,.wp-block-post-content) img{max-width:100%;height:auto}
/* Common WordPress theme header selectors */
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header,.ast-primary-header-bar,.main-header-bar,.elementor-location-header){position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-bottom:1px solid rgba(25,65,72,.08);box-shadow:0 5px 22px rgba(24,55,62,.035)}
body.admin-bar :is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header,.ast-primary-header-bar,.main-header-bar,.elementor-location-header){top:32px}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(.inside-header,.header-inner,.container,.ast-container,.wp-block-group.alignwide){max-width:var(--growt-site-width);margin-inline:auto}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(nav,.main-navigation,.wp-block-navigation){font-size:14px}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(nav a,.main-navigation a,.wp-block-navigation a){text-decoration:none;border-radius:10px;transition:color .18s ease,background .18s ease}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(nav a,.main-navigation a,.wp-block-navigation a):hover{color:var(--growt-brand-dark);background:rgba(17,124,115,.07)}
:is(.entry-content,.wp-block-post-content,.site-main) :is(button,.button,a.wp-block-button__link,input[type=submit]){transition:transform .18s ease,box-shadow .18s ease;max-width:100%}
:is(.entry-content,.wp-block-post-content,.site-main) :is(button,.button,a.wp-block-button__link,input[type=submit]):hover{transform:translateY(-1px)}
:is(.entry-content,.wp-block-post-content,.site-main) :is(input,select,textarea){max-width:100%;box-sizing:border-box}
@media(max-width:782px){body.admin-bar :is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header,.ast-primary-header-bar,.main-header-bar,.elementor-location-header){top:46px}body:not(.growt-core-view) :is(.entry-content,.wp-block-post-content,.site-main article,.page .entry-content,.single .entry-content){padding-inline:16px}}
@media(max-width:600px){body.admin-bar :is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header,.ast-primary-header-bar,.main-header-bar,.elementor-location-header){top:0}html{scroll-padding-top:78px}}
/* Prevent long URLs, tables and embedded media from breaking the viewport */
:is(.entry-content,.wp-block-post-content,.growt-app) :is(pre,table,iframe,video,embed){max-width:100%}
:is(.entry-content,.wp-block-post-content) table{display:block;overflow-x:auto}

/* GROWT Core 2.1.1 — tidy site identity and responsive canvas */
.site-description,.site-tagline,.wp-block-site-tagline{max-width:42ch;line-height:1.45}
body:not(.growt-core-view) :is(.site-content,.content-area,.site-main,.wp-site-blocks main){min-width:0;box-sizing:border-box}
body:not(.growt-core-view) :is(.site-content,.content-area,.site-main) > :is(.container,.inside-article,.content-container){width:min(100%,var(--growt-site-width,1320px));margin-inline:auto;box-sizing:border-box}
@media(max-width:782px){body:not(.growt-core-view) :is(.site-content,.content-area,.site-main){max-width:100%;overflow-wrap:anywhere}}

/* GROWT Core 2.1.2: brand name and responsive page canvas */
:root{--growt-site-max:1320px;--growt-site-space:clamp(16px,3vw,36px)}
body:not(.growt-core-view) :is(.site-content,.content-area,.site-main,.wp-site-blocks main){min-width:0;max-width:var(--growt-site-max);margin-inline:auto;box-sizing:border-box}
body:not(.growt-core-view) :is(.site-content,.content-area,.site-main,.wp-site-blocks main) > :is(.entry-content,.wp-block-post-content){width:100%;max-width:100%;box-sizing:border-box}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(.site-title,.wp-block-site-title,.custom-logo-link){font-weight:650;letter-spacing:-.035em;line-height:1.15}
:is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header) :is(.site-description,.wp-block-site-tagline){max-width:34ch;font-size:12px;line-height:1.45;color:#667980}
@media(max-width:782px){body:not(.growt-core-view) :is(.site-content,.content-area,.site-main,.wp-site-blocks main){width:100%;padding-inline:var(--growt-site-space)}body.admin-bar :is(#masthead,.site-header,header.wp-block-template-part,.wp-site-blocks>header){top:46px}}
