/*
Theme Name: Van Breda Digital Systems
Theme URI: https://vanbreda.ca/
Author: Van Breda
Description: Editorial charcoal, ivory and gold website for Van Breda Digital Systems, using the original Van Breda logo artwork. BredaOps blue is used inside the featured product only.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: van-breda-digital
*/
:root{--vbd-black:#1c1c1a;--vbd-black2:#222321;--vbd-panel:#292a27;--vbd-deep:#141513;--vbd-ivory:#f0eee7;--vbd-gold:#c9ad82;--vbd-gold-muted:#ad9575;--vbd-muted:#b7b5ad;--vbd-muted2:#8b8c85;--vbd-line:#464640;--vbd-line2:#353630;--vbd-blue:#2f83d1;--vbd-white:#fff;--vbd-serif:Georgia,'Times New Roman',serif;--vbd-sans:'Helvetica Neue',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;max-width:100%;overflow-x:clip;background:var(--vbd-black);color:var(--vbd-ivory);font-family:var(--vbd-sans);line-height:1.58;-webkit-font-smoothing:antialiased}img,svg,video{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--vbd-gold);outline-offset:4px}button,input{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.13;font-weight:400}h1,h2,h3,h4{overflow-wrap:break-word}p{overflow-wrap:break-word}.vbd-shell{width:min(calc(100% - 108px),1360px);margin-inline:auto;min-width:0}.vbd-skip{position:absolute;left:10px;top:-80px;z-index:1000;background:var(--vbd-ivory);color:#222;padding:12px 18px}.vbd-skip:focus{top:8px}.vbd-kicker{display:block;font:600 10px/1.5 var(--vbd-sans);letter-spacing:.19em;color:var(--vbd-gold)}.vbd-under-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid var(--vbd-gold-muted);padding-bottom:7px;color:var(--vbd-ivory);font-size:12px;letter-spacing:.02em;transition:color .2s}.vbd-under-link:hover{color:var(--vbd-gold)}.vbd-button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:48px;padding:12px 20px;font-size:12px;letter-spacing:.03em;font-weight:600;transition:background .2s,transform .2s,color .2s;cursor:pointer;text-align:center}.vbd-button:hover{transform:translateY(-2px)}.vbd-button-gold{border:1px solid var(--vbd-gold);color:var(--vbd-ivory);background:transparent}.vbd-button-gold:hover{background:var(--vbd-gold);color:#191a18}
/* Header echoes Van Breda Studios' original dark bar and outlined login. */
.vbd-site-header{position:relative;z-index:50;background:#1c1d1b;border-bottom:1px solid #555249}.vbd-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:112px}.vbd-brand{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:clamp(210px,23vw,300px);min-width:0;padding:10px 0 9px}.vbd-brand-image{display:block;object-fit:contain;object-position:left center;width:100%;max-height:73px}.vbd-brand-division{color:var(--vbd-gold);font-size:9px;letter-spacing:.12em;font-weight:500;padding-left:30.5%;white-space:nowrap;position:relative;top:-4px}.vbd-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(15px,1.8vw,30px);font-size:11px;color:#d9d5cd;flex-wrap:nowrap}.vbd-nav a{white-space:nowrap}.vbd-nav>a:hover{color:var(--vbd-gold)}.vbd-nav-login{border:1px solid #897963;min-height:45px;padding:11px 21px;display:inline-flex;align-items:center;gap:15px}.vbd-nav-demo{color:var(--vbd-gold)!important}.vbd-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:1px solid #797065;width:44px;height:44px;flex:0 0 44px;cursor:pointer}.vbd-menu-toggle span{height:1px;width:22px;background:var(--vbd-ivory);display:block}
/* Main editorial hero uses same Van Breda Studios typography and spacing. */
.vbd-hero{background:var(--vbd-black);position:relative}.vbd-hero-inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(40px,8vw,135px);padding-top:clamp(82px,9vw,155px);padding-bottom:clamp(80px,8vw,130px)}.vbd-hero-left,.vbd-hero-right{min-width:0}.vbd-hero h1{font:400 clamp(53px,5.8vw,94px)/1.06 var(--vbd-serif);letter-spacing:-.045em;color:var(--vbd-ivory);margin:30px 0 0;max-width:800px}.vbd-hero-right{align-self:center;padding-top:40px}.vbd-hero-right>p{max-width:585px;color:#c1beb5;line-height:1.95;font-size:clamp(14px,1.13vw,17px);margin-bottom:33px}.vbd-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px}.vbd-hero-divider{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;color:#8f8d83;font-size:9px;letter-spacing:.16em;border-top:1px solid var(--vbd-line);border-bottom:1px solid var(--vbd-line)}
/* Family identity artwork: genuine previously established Van Breda VB metal render. */
.vbd-identity{border-bottom:1px solid var(--vbd-line2);background:#20201d}.vbd-identity-inner{display:grid;grid-template-columns:1.2fr .8fr;min-height:400px}.vbd-identity-image{position:relative;min-height:365px;background:linear-gradient(90deg,rgba(29,29,27,0) 69%,#20201d 100%),url('assets/van-breda-metal.webp') 56% 47%/cover no-repeat}.vbd-identity-copy{align-self:center;padding:58px 20px 58px clamp(28px,5vw,70px)}.vbd-identity-copy h2{font:400 clamp(36px,3.4vw,56px)/1.12 var(--vbd-serif);letter-spacing:-.028em;margin:22px 0}.vbd-identity-copy p{color:#bfbab0;max-width:440px;line-height:1.85;font-size:14px;margin-bottom:25px}
/* General section system continues charcoal/gold, without corporate blues. */
.vbd-section{padding:clamp(77px,8.4vw,125px) 0;background:var(--vbd-black)}.vbd-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.67fr);gap:50px;align-items:end;margin-bottom:48px}.vbd-section-head h2{font:400 clamp(40px,4.6vw,69px)/1.12 var(--vbd-serif);letter-spacing:-.033em;margin:19px 0 0}.vbd-section-head h2 em{font-style:italic;color:#c7b69a;font-weight:400}.vbd-section-head>p{max-width:510px;font-size:14px;line-height:1.85;color:#b8b6ae;margin:0 0 3px}
/* Blue is intentionally scoped to BredaOps, not the Van Breda site. */
.vbd-feature-product{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);border:1px solid #55514a;min-width:0;overflow:hidden;background:#252624}.vbd-product-visual{position:relative;min-width:0;min-height:475px;background:radial-gradient(circle at 30% 20%,#174f94 0%,#091c34 52%,#081425 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px clamp(25px,4vw,65px);overflow:hidden}.vbd-product-visual:after{content:"";position:absolute;inset:24px;border:1px solid #ffffff16;pointer-events:none}.vbd-product-toplabel{position:absolute;top:33px;left:37px;z-index:1;color:#aaccf3;font-size:10px;letter-spacing:.16em}.vbd-product-logo{position:relative;z-index:1;display:block;width:min(100%,610px);object-fit:contain;border:0;mix-blend-mode:screen}.vbd-product-stats{position:relative;z-index:2;width:100%;display:flex;justify-content:space-between;gap:15px;margin-top:20px;padding-top:23px;border-top:1px solid #a7c4e22a;color:#aac3e1;font-size:11px}.vbd-product-stats strong{color:#fff;font-weight:700;margin-right:7px}.vbd-product-copy{padding:clamp(35px,5vw,78px);min-width:0;display:flex;flex-direction:column;justify-content:center}.vbd-product-number{font-size:10px;color:var(--vbd-gold);letter-spacing:.19em}.vbd-product-copy h3{font:400 clamp(42px,4.2vw,63px)/1.06 var(--vbd-serif);letter-spacing:-.03em;margin:23px 0}.vbd-product-copy h3 em{color:#83bff3;font-style:normal}.vbd-product-copy>p{color:#c5c3bb;font-size:14px;line-height:1.85;max-width:525px}.vbd-product-tags{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 33px}.vbd-product-tags span{border:1px solid #494e57;padding:7px 11px;font-size:10px;color:#c9d1d8}.vbd-product-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.vbd-product-action{background:#2175c4;border:1px solid #2175c4;color:#fff}.vbd-product-action:hover{background:#318cdd}.vbd-product-copy .vbd-product-disclaimer{color:#969891;font-size:11px;margin:24px 0 0}
.vbd-future-line{border-top:1px solid var(--vbd-line);border-bottom:1px solid var(--vbd-line);margin-top:34px;padding:23px 0;display:flex;gap:20px;justify-content:space-between;align-items:center}.vbd-future-line span:first-child{color:var(--vbd-gold);font-size:10px;letter-spacing:.17em;white-space:nowrap}.vbd-future-line p{margin:0;flex:1;color:var(--vbd-muted);font-size:13px}.vbd-more-heading{margin:55px 0 25px;display:flex;justify-content:space-between;gap:25px;align-items:center}.vbd-more-heading h3{font:400 32px var(--vbd-serif);margin:0}.vbd-more-heading span{font-size:12px;color:var(--vbd-muted)}.vbd-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vbd-content-card{background:#242522;border:1px solid var(--vbd-line);min-width:0}.vbd-card-art{display:grid;place-items:center;min-height:230px;aspect-ratio:1.5;background:linear-gradient(135deg,#33312c,#161715);overflow:hidden;color:var(--vbd-gold);font-family:var(--vbd-serif);font-size:30px}.vbd-card-art img{width:100%;height:100%;object-fit:cover}.vbd-card-copy{padding:28px}.vbd-mini-kicker{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--vbd-gold)}.vbd-card-copy h4{font:400 30px/1.16 var(--vbd-serif);margin:15px 0}.vbd-card-copy p{font-size:13px;color:var(--vbd-muted);line-height:1.8;min-height:60px}.vbd-work-section{background:#20211f;border-top:1px solid var(--vbd-line2);border-bottom:1px solid var(--vbd-line2)}.vbd-work-feature{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);border-top:1px solid var(--vbd-line);border-bottom:1px solid var(--vbd-line)}.vbd-work-text{padding:50px clamp(30px,5vw,76px) 55px 0;min-width:0;align-self:center}.vbd-work-text h3{font:400 clamp(36px,3.2vw,52px)/1.13 var(--vbd-serif);margin:21px 0}.vbd-work-text p{max-width:420px;color:var(--vbd-muted);font-size:14px;line-height:1.8;margin-bottom:26px}.vbd-work-image{align-self:center;min-width:0;overflow:hidden;padding:35px 0}.vbd-work-image img{width:100%;height:auto;max-height:420px;object-fit:cover;object-position:top;display:block;border:1px solid #4a4b44;box-shadow:0 18px 60px #0c0c0c4d}
.vbd-process{background:#1c1d1b}.vbd-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:57px}.vbd-process-grid article{border-top:1px solid var(--vbd-line);padding:27px 12px 10px 0;min-width:0}.vbd-process-grid article>span{color:var(--vbd-gold);font-size:10px;letter-spacing:.15em}.vbd-process-grid h3{font:400 clamp(26px,2.5vw,37px)/1.15 var(--vbd-serif);margin:27px 0 14px}.vbd-process-grid p{font-size:13px;color:var(--vbd-muted);line-height:1.85;max-width:350px}
.vbd-contact{background:#262620;border-top:1px solid #5b5548;padding:clamp(75px,7vw,108px) 0}.vbd-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.5fr);align-items:center;gap:60px}.vbd-contact h2{font:400 clamp(43px,4.7vw,69px)/1.1 var(--vbd-serif);letter-spacing:-.03em;margin:20px 0}.vbd-contact h2 em{color:var(--vbd-gold);font-weight:400}.vbd-contact p{color:#b8b7ad;max-width:600px;font-size:14px;line-height:1.8}.vbd-contact-action{display:flex;align-items:flex-start;flex-direction:column;gap:22px}.vbd-contact-action>span{font-size:12px;color:var(--vbd-muted)}.vbd-contact-action>span a{border-bottom:1px solid var(--vbd-gold)}
.vbd-footer{background:#171816;color:var(--vbd-muted);padding-top:60px}.vbd-footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,.45fr);gap:50px;padding-bottom:48px}.vbd-footer-brand{display:flex;flex-direction:column;max-width:270px}.vbd-footer-brand img{width:100%;object-fit:contain}.vbd-footer-brand span{font-size:10px;color:var(--vbd-gold);letter-spacing:.25em;padding-left:30%}.vbd-footer-copy p{font-size:13px;line-height:1.85}.vbd-footer-copy a{font-size:11px;color:var(--vbd-gold);border-bottom:1px solid #8e7c61}.vbd-footer-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:12px}.vbd-footer-links a:hover{color:var(--vbd-gold)}.vbd-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--vbd-line2);font-size:10px;padding:21px 0}
/* Other WordPress pages maintain the established design. */
.vbd-inner-main{min-height:55vh;padding:clamp(70px,7vw,110px) 0}.vbd-article-width{max-width:980px}.vbd-page-head{max-width:860px;margin-bottom:40px}.vbd-page-head h1{font:400 clamp(45px,5vw,74px)/1.1 var(--vbd-serif);letter-spacing:-.03em;margin:20px 0}.vbd-page-head p,.vbd-article-content{font-size:15px;color:var(--vbd-muted);line-height:1.85}.vbd-article-content h2,.vbd-article-content h3{font:400 32px var(--vbd-serif);color:var(--vbd-ivory);margin:35px 0 12px}.vbd-article-content a{color:var(--vbd-gold);text-decoration:underline}.vbd-article-content img{max-width:100%;height:auto}.vbd-single-image img{width:100%;height:auto;border:1px solid var(--vbd-line)}.vbd-single-action{margin-top:30px}.vbd-error h1{font:400 clamp(45px,5vw,68px)/1.1 var(--vbd-serif)}.vbd-error p{max-width:550px;color:var(--vbd-muted)}
.vbd-login-wrap{max-width:480px;margin:0 auto;border:1px solid var(--vbd-line);background:#242522;padding:35px}.vbd-login-wrap h1{font:400 40px/1.1 var(--vbd-serif);margin:15px 0}.vbd-login-wrap p{color:var(--vbd-muted);font-size:13px}.vbd-login-wrap form{display:grid;gap:14px}.vbd-login-wrap label{display:block;font-size:12px;color:var(--vbd-ivory);margin-bottom:7px}.vbd-login-wrap input:not([type=checkbox]){display:block;width:100%;min-height:45px;border:1px solid var(--vbd-line);background:#171816;color:var(--vbd-ivory);padding:11px}.vbd-login-wrap button{margin-top:10px;cursor:pointer}.vbd-login-error{border-left:3px solid #b65b4b;padding:10px 13px;color:#f7d7d2;background:#452820}.vbd-login-status{border-left:3px solid var(--vbd-gold);padding:10px 13px;background:#383427}
/* Responsive layout: no page-wide horizontal scrolling. */
@media(max-width:1180px){.vbd-shell{width:min(calc(100% - 72px),1360px)}.vbd-header-inner{gap:16px}.vbd-brand{width:250px}.vbd-nav{gap:16px;font-size:10px}.vbd-nav-login{padding:11px 13px}.vbd-hero-inner{gap:60px}.vbd-product-copy{padding:42px}.vbd-product-visual{min-height:420px}}
@media(max-width:990px){.vbd-header-inner{min-height:91px}.vbd-brand{width:255px}.vbd-menu-toggle{display:flex}.vbd-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;background:#1c1d1b;border-bottom:1px solid #6b604f;padding:14px max(36px,calc((100vw - 1360px)/2));flex-direction:column;align-items:stretch;gap:0;font-size:13px;box-shadow:0 20px 38px #111a}.vbd-nav.is-open{display:flex}.vbd-nav>a{padding:13px 7px;white-space:normal;border-bottom:1px solid var(--vbd-line2)}.vbd-nav>a.vbd-nav-login{margin-top:14px;align-self:flex-start;padding:12px 20px;border:1px solid var(--vbd-gold)}.vbd-hero-inner{grid-template-columns:1fr;gap:18px;padding-top:80px;padding-bottom:68px}.vbd-hero-right{padding-top:0}.vbd-hero-right>p{max-width:780px}.vbd-identity-inner{grid-template-columns:1fr 1fr}.vbd-section-head{gap:35px}.vbd-feature-product{grid-template-columns:1fr 1fr}.vbd-product-copy{padding:35px}.vbd-product-visual{min-height:385px}.vbd-product-stats{font-size:9px}.vbd-work-feature{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.vbd-shell{width:min(calc(100% - 44px),1360px)}.vbd-header-inner{min-height:84px}.vbd-brand{width:min(60vw,258px)}.vbd-brand-division{font-size:8px}.vbd-hero-inner{padding-top:65px;padding-bottom:65px}.vbd-hero h1{font-size:clamp(45px,8vw,70px)}.vbd-hero-divider{font-size:8px}.vbd-identity-inner{grid-template-columns:1fr}.vbd-identity-image{min-height:265px;background-position:50% 45%}.vbd-identity-copy{padding:40px 0 60px}.vbd-section{padding:75px 0}.vbd-section-head{grid-template-columns:1fr;gap:16px;margin-bottom:33px}.vbd-section-head h2{font-size:clamp(39px,7vw,57px)}.vbd-feature-product{grid-template-columns:1fr}.vbd-product-visual{min-height:330px}.vbd-product-copy{padding:36px}.vbd-work-feature{grid-template-columns:1fr}.vbd-work-text{padding:38px 0 15px}.vbd-work-image{padding:15px 0 35px}.vbd-process-grid{grid-template-columns:1fr;gap:18px}.vbd-process-grid article{padding:25px 0 0}.vbd-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vbd-contact-grid{grid-template-columns:1fr;gap:25px}.vbd-footer-top{grid-template-columns:1fr 1fr;gap:25px}.vbd-footer-brand{grid-column:1/-1}}
@media(max-width:520px){.vbd-shell{width:min(calc(100% - 32px),1360px)}.vbd-header-inner{min-height:76px}.vbd-brand{width:min(63vw,226px)}.vbd-brand-division{font-size:7px;letter-spacing:.03em;top:-2px}.vbd-nav{padding-inline:16px}.vbd-hero-inner{padding-top:53px;padding-bottom:51px}.vbd-hero h1{font-size:clamp(40px,11vw,56px);margin:21px 0 0}.vbd-hero-right>p{font-size:14px;line-height:1.8;margin-bottom:24px}.vbd-hero-actions{gap:19px}.vbd-hero-divider{align-items:flex-start;gap:9px;flex-wrap:wrap}.vbd-hero-divider span{font-size:7px}.vbd-identity-image{min-height:200px;background-size:cover;background-position:59% 45%}.vbd-identity-copy h2{font-size:39px}.vbd-section{padding:59px 0}.vbd-section-head h2{font-size:clamp(37px,10vw,47px)}.vbd-product-visual{min-height:255px;padding:32px 18px}.vbd-product-visual:after{inset:12px}.vbd-product-toplabel{left:20px;top:20px;font-size:8px}.vbd-product-logo{width:100%;max-width:410px}.vbd-product-stats{gap:8px;font-size:8px;margin-top:5px}.vbd-product-stats strong{margin-right:2px}.vbd-product-copy{padding:29px 24px}.vbd-product-copy h3{font-size:43px}.vbd-product-tags{gap:7px}.vbd-product-actions{gap:18px}.vbd-future-line{align-items:flex-start;flex-direction:column;gap:8px}.vbd-card-grid{grid-template-columns:1fr}.vbd-card-art{min-height:170px}.vbd-work-text h3{font-size:39px}.vbd-contact h2{font-size:44px}.vbd-footer-top{grid-template-columns:1fr}.vbd-footer-brand{grid-column:auto}.vbd-footer-bottom{flex-direction:column;align-items:flex-start;gap:5px}.vbd-login-wrap{padding:22px}.vbd-login-wrap h1{font-size:35px}}
@media(max-width:350px){.vbd-brand{width:196px}.vbd-brand-division{font-size:6px}.vbd-hero h1{font-size:37px}.vbd-hero-actions{align-items:stretch;flex-direction:column}.vbd-hero-actions>.vbd-button{width:100%}.vbd-product-stats{font-size:7px}.vbd-product-tags span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.vbd-button-dark{background:transparent;border:1px solid var(--vbd-gold);color:var(--vbd-ivory)}.vbd-button-dark:hover{background:var(--vbd-gold);color:#1b1b19}
