/*
 * BeThree Child (Dockos) – global styles.
 * 1. Reset (inlined from the parent theme)   5. Buttons
 * 2. Fonts                                   6. Header
 * 3. Tokens (Figma variables)                7. Shared components (section header, cards, demo CTA, forms)
 * 4. Base + layout (.be_row)                 8. Footer
 * Per-page styles: assets/css/pages/{key}.css (see inc/enqueue.php).
 */

/* 1. Reset ---------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{line-height:1}
ol,ul{list-style:none}
a{text-decoration-skip-ink:auto}
button{outline:0}
table{border-collapse:collapse;border-spacing:0}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block}
*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
img,svg{max-width:100%;height:auto}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.skip-link:focus{background:#fff;border-radius:999px;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#1f3a39;display:block;font-size:14px;font-weight:600;height:auto;left:8px;line-height:normal;padding:14px 22px;text-decoration:none;top:8px;width:auto;z-index:100000}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* 2. Fonts (self-hosted Manrope variable, 300–600) ------------------------- */
@font-face{font-family:Manrope;font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/manrope-greek.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* 3. Tokens ------------------------------------------------------------------ */
:root{
	--be-petrol-900:#1f3a39;
	--be-petrol-800:#274847;
	--be-petrol-700:#3a5b59;
	--be-petrol-500:#568783;
	--be-petrol-100:#e3eceb;
	--be-sand-500:#d89c78;
	--be-sand-100:#f6eadf;
	--be-ink:#1e2e2d;
	--be-ink-muted:#5b6b69;
	--be-line:#e4ded6;
	--be-paper:#faf6f1;
	--be-white:#fff;
	--be-font:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--be-pad-x:120px;
	--be-pad-y:120px;
	--be-h1:58px;
	--be-h2:42px;
	--be-h2-inner:40px;
	--be-pad-y-inner:112px;
}
@media (max-width:1200px){:root{--be-pad-x:60px;--be-pad-y:88px;--be-h1:50px;--be-h2:38px;--be-h2-inner:36px;--be-pad-y-inner:88px}}
@media (max-width:767px){:root{--be-pad-x:20px;--be-pad-y:60px;--be-h1:38px;--be-h2:30px;--be-h2-inner:28px;--be-pad-y-inner:60px}}

/* 4. Base + layout ------------------------------------------------------------- */
body{background:var(--be-white);color:var(--be-ink);font-family:var(--be-font);font-size:16px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}
a{color:inherit}
strong,b{font-weight:600}
:focus-visible{outline:2px solid var(--be-sand-500);outline-offset:3px}

.be_row{padding:var(--be-pad-y) var(--be-pad-x)}
.be_section--dark{background:var(--be-petrol-800);color:var(--be-white)}

.be_h1{font-size:var(--be-h1);font-weight:500;letter-spacing:-.025em;line-height:1.15}
.be_h2{font-size:var(--be-h2);font-weight:500;letter-spacing:-.025em;line-height:1.15}
.be_eyebrow{color:var(--be-petrol-500);font-size:13px;font-weight:600;letter-spacing:.14em;line-height:1.2}
.be_eyebrow--sand,.be_section--dark .be_eyebrow{color:var(--be-sand-500)}
.be_eyebrow--petrol{color:var(--be-petrol-800)}
.be_lead{color:var(--be-ink-muted);font-size:18px;font-weight:300;line-height:1.6}
.be_icon{display:block;flex:none}

/* 5. Buttons ------------------------------------------------------------------- */
.be_btn{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:16px;font-weight:600;justify-content:center;line-height:1.2;padding:15px 27px;text-align:center;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap}
.be_btn--primary{background:var(--be-sand-500);color:var(--be-petrol-900)}
.be_btn--primary:hover{background:#e2ad8c}
.be_btn--outline{border-color:var(--be-white);color:var(--be-white);padding:16px 28px}
.be_btn--outline:hover{background:var(--be-white);color:var(--be-petrol-900)}
.be_btn--petrol{background:var(--be-petrol-800);color:var(--be-white)}
.be_btn--petrol:hover{background:var(--be-petrol-900)}
.be_btn--sm{padding:11px 21px}
.be_btn--block{width:100%}

/* 6. Header (Figma 46:78) ------------------------------------------------------ */
.be_site-header{align-items:center;background:var(--be-petrol-800);color:var(--be-white);display:flex;gap:32px;justify-content:space-between;padding:32px var(--be-pad-x) 0;position:relative;z-index:20}
.be_site-header-logo{display:block;flex:none;line-height:0}
.be_menu{align-items:center;display:flex;flex:1;gap:32px;justify-content:space-between}
.be_nav-list{display:flex;flex:1;gap:36px;justify-content:center}
.be_nav-list a{font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap}
.be_nav-list a:hover,.be_nav-list .current-menu-item>a{color:var(--be-sand-500)}
.be_site-header-actions{align-items:center;display:flex;gap:24px;margin-left:auto}
.be_lang{display:flex;font-size:14px;gap:6px;line-height:1.2;text-transform:uppercase}
.be_lang li+li::before{content:"·";margin-right:6px}
.be_lang a{text-decoration:none}
.be_menu-toggle{background:none;border:0;cursor:pointer;display:none;height:44px;margin-right:-10px;padding:10px;width:44px}
.be_menu-toggle-bar{background:var(--be-white);border-radius:2px;display:block;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;width:24px}
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(2){transform:translateY(7px) rotate(45deg)}
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(3){opacity:0}
.be_menu-toggle[aria-expanded="true"] .be_menu-toggle-bar:nth-child(4){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1100px){
	.be_site-header{padding-top:20px}
	.be_menu-toggle{display:block}
	.be_menu{align-items:stretch;background:var(--be-petrol-900);display:none;flex-direction:column;gap:24px;left:0;padding:24px var(--be-pad-x) 32px;position:absolute;right:0;top:100%}
	.be_menu.is-open{display:flex}
	.be_nav-list{flex-direction:column;gap:0}
	.be_nav-list a{display:block;font-size:17px;padding:14px 0}
	.be_site-header-actions{justify-content:space-between;margin-left:0}
}

/* 7. Shared components --------------------------------------------------------- */
.be_section-header{display:flex;flex-direction:column;gap:18px}
.be_section-header .be_h2{max-width:760px}
.be_section-header--wide .be_h2{max-width:820px}
.be_section-header .be_lead{max-width:640px}

.be_cards{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.be_card{border-radius:16px;display:flex;flex-direction:column;gap:14px;padding:32px}
.be_card--outline{background:var(--be-white);border:1px solid var(--be-line)}
.be_card--paper{background:var(--be-paper)}
.be_card--feature{background:var(--be-petrol-700);gap:16px;min-height:236px}
.be_card-icon{align-items:center;background:var(--be-sand-100);border-radius:12px;display:flex;flex:none;height:52px;justify-content:center;width:52px}
.be_card-title{font-size:20px;font-weight:600;line-height:1.3}
.be_card-title--lg{font-size:22px}
.be_card-text{color:var(--be-ink-muted);font-size:15px;line-height:1.6}
.be_card--feature .be_card-text{color:rgba(255,255,255,.8)}
@media (max-width:900px){.be_cards{grid-template-columns:minmax(0,1fr)}.be_card--feature{min-height:0}}

/* Demo CTA (Figma 46:79) */
.be_demo{align-items:center;background:var(--be-petrol-800);color:var(--be-white);display:flex;gap:96px}
.be_demo-copy{display:flex;flex:1;flex-direction:column;gap:24px;min-width:0}
.be_demo-copy .be_h2{max-width:520px}
.be_demo-copy .be_lead{color:rgba(255,255,255,.85);max-width:500px}
.be_demo-form{background:var(--be-white);border-radius:20px;color:var(--be-ink);flex:0 1 520px;min-width:0;padding:40px}
@media (max-width:1100px){.be_demo{align-items:stretch;flex-direction:column;gap:48px}.be_demo-form{flex-basis:auto}}
@media (max-width:767px){.be_demo-form{padding:24px}}

/* Forms (Contact Form 7 markup, see inc/forms.php) */
.be_form .wpcf7-form{display:flex;flex-direction:column;gap:16px}
.be_form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.be_form label{color:var(--be-ink);display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px;line-height:1.2}
.be_form .wpcf7-form-control-wrap{display:block}
.be_form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.be_form textarea,.be_form select{-webkit-appearance:none;appearance:none;background:var(--be-paper);border:1px solid var(--be-line);border-radius:10px;color:var(--be-ink);font-family:inherit;font-size:15px;font-weight:400;line-height:1.2;padding:13px 14px;width:100%}
.be_form ::placeholder{color:var(--be-ink-muted);opacity:1}
.be_form input:focus,.be_form textarea:focus,.be_form select:focus{border-color:var(--be-petrol-500);outline:0}
.be_form .wpcf7-not-valid-tip{color:#a83a2a;display:block;font-size:12px;font-weight:400;margin-top:6px}
.be_form .wpcf7-response-output{font-size:14px;line-height:1.4}
.be_form .wpcf7-response-output:empty,.be_form .wpcf7-spinner,.be_form .hidden-fields-container{display:none}
.be_form form.submitting .be_btn{opacity:.6;pointer-events:none}
.be_form-note{color:var(--be-ink-muted);font-size:13px;line-height:1.4;margin-top:16px;text-align:center}
@media (max-width:520px){.be_form-row{grid-template-columns:minmax(0,1fr)}}

/* Bullets (sand dots) and numbered steps */
.be_bullets{display:flex;flex-direction:column;gap:14px}
.be_bullets li{align-items:baseline;display:flex;font-size:16px;gap:12px;line-height:1.4}
.be_bullets img{flex:none;position:relative;top:-2px}
.be_bullets--strong{gap:12px;padding-top:8px}
.be_bullets--strong li{font-weight:500}
.be_bullets--loose{gap:20px}
.be_bullets--loose li{line-height:1.5}
.be_steps{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.be_step{border-top:2px solid var(--be-petrol-500);display:flex;flex-direction:column;gap:14px;padding-top:28px}
.be_step-number{color:var(--be-sand-500);font-size:40px;font-weight:500;letter-spacing:-.025em;line-height:1.15}
@media (max-width:900px){.be_steps{gap:40px;grid-template-columns:minmax(0,1fr)}}

/* Inner pages: page hero (Figma «Page hero»), jump chips, stacked sections, banners */
.be_page-hero{align-items:flex-start;background:var(--be-petrol-800);color:var(--be-white);display:flex;flex-direction:column;gap:24px;padding-bottom:112px;padding-top:96px}
.be_page-hero .be_h1{max-width:860px}
.be_page-hero-text{font-size:19px;font-weight:300;line-height:1.55;max-width:680px}
.be_page-hero-ctas{padding-top:8px}
.be_page-hero--compact{padding-bottom:72px;padding-top:72px}
.be_chips{display:flex;flex-wrap:wrap;gap:10px;padding-top:12px}
.be_chip{border:1px solid var(--be-petrol-500);border-radius:99px;display:block;font-size:14px;font-weight:500;line-height:1.2;padding:9px 16px;text-decoration:none;transition:background-color .2s,border-color .2s}
.be_chip:hover{background:var(--be-petrol-700);border-color:var(--be-petrol-700)}
:where(.be_page-hero~section:not(.be_demo),.be_demo--hero~section).be_row{padding-bottom:var(--be-pad-y-inner);padding-top:var(--be-pad-y-inner)}
.be_page-hero~section:not(.be_demo) .be_h2,.be_demo--hero~section .be_h2{font-size:var(--be-h2-inner)}
.be_stack{display:flex;flex-direction:column;gap:48px}
.be_stack>.be_h2{max-width:720px}
.be_section-header--tight{gap:16px}
.be_section-header--tight .be_h2{max-width:720px}
.be_cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.be_card--extra{background:var(--be-petrol-700);gap:12px;padding:28px}
.be_card--extra .be_card-title{font-size:18px}
.be_card--extra .be_card-text{color:rgba(255,255,255,.8)}
.be_banner{align-items:center;background:var(--be-sand-100);border-radius:24px;display:flex;gap:64px;padding:56px 64px}
.be_banner--dark{background:var(--be-petrol-800);color:var(--be-white)}
.be_banner-copy{display:flex;flex:1;flex-direction:column;gap:14px;min-width:0}
.be_banner-title{font-size:32px;font-weight:500;letter-spacing:-.025em;line-height:1.15;max-width:640px}
.be_banner-text{font-size:16px;line-height:1.6;max-width:640px;opacity:.8}
.be_btn--outline-dark{border-color:var(--be-petrol-800);color:var(--be-petrol-800);padding:16px 28px}
.be_btn--outline-dark:hover{background:var(--be-petrol-800);color:var(--be-white)}
.be_demo--hero{padding-top:64px}
.be_demo--hero .be_h1{max-width:520px}
.be_prose{color:var(--be-ink);font-size:17px;line-height:1.7;max-width:calc(820px + 2 * var(--be-pad-x))}
.be_prose>*+*{margin-top:1.1em}
.be_prose h2{font-size:28px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin-top:1.8em}
.be_prose h3{font-size:21px;font-weight:600;line-height:1.3;margin-top:1.6em}
.be_prose ul{list-style:disc;padding-left:1.2em}
.be_prose ol{list-style:decimal;padding-left:1.2em}
.be_prose a{color:var(--be-petrol-800)}
@media (max-width:1200px){.be_cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.be_page-hero{padding-bottom:88px;padding-top:72px}}
@media (max-width:1000px){.be_banner{align-items:flex-start;flex-direction:column;gap:32px}}
@media (max-width:767px){.be_page-hero{padding-bottom:60px;padding-top:48px}.be_page-hero-text{font-size:17px}.be_banner{border-radius:20px;padding:32px 24px}.be_banner-title{font-size:26px}.be_cards--4{grid-template-columns:minmax(0,1fr)}.be_demo--hero{padding-top:40px}}

/* 8. Footer (Figma 46:80) ------------------------------------------------------- */
.be_footer{background:var(--be-petrol-900);color:var(--be-white);display:flex;flex-direction:column;gap:48px;padding:72px var(--be-pad-x) 40px}
.be_footer-top{display:flex;gap:48px;justify-content:space-between}
.be_footer-brand{display:flex;flex-direction:column;gap:16px}
.be_footer-logo{display:block;line-height:0}
.be_footer-tagline{font-size:14px;line-height:1.5;max-width:280px;opacity:.7}
.be_footer-columns{display:flex;gap:96px}
.be_footer-col{display:flex;flex-direction:column;gap:12px}
.be_footer-title{color:var(--be-sand-500);font-size:12px;font-weight:600;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}
.be_footer-list{display:flex;flex-direction:column;gap:12px}
.be_footer-list li{color:rgba(255,255,255,.8);font-size:14px;line-height:1.4}
.be_footer-list a,.be_footer-legal a{text-decoration:none}
.be_footer-list a:hover,.be_footer-legal a:hover{color:var(--be-white);text-decoration:underline}
.be_footer-bottom{border-top:1px solid var(--be-petrol-700);color:rgba(255,255,255,.6);display:flex;flex-wrap:wrap;font-size:13px;gap:12px 24px;justify-content:space-between;line-height:1.4;padding-top:24px}
.be_footer-legal{display:flex;flex-wrap:wrap}
.be_footer-legal li+li::before{content:"·";margin:0 5px}
@media (max-width:1000px){.be_footer-top{flex-direction:column}.be_footer-columns{flex-wrap:wrap;gap:40px 64px}}
