
/*
Theme Name: VEL.CO
Description: An olive and ivory block theme for VEL.CO Limited.
Version: 1.2.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: velco
*/
:root{--olive:#505b40;--dark:#263121;--sage:#bdc5ad;--paper:#f8f8f4;--ink:#191c17;--line:#d5d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #859468;outline-offset:6px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.12}em{font-style:normal;color:var(--olive)}.wp-site-blocks>*{margin-block-start:0}.site-header{max-width:1480px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:42px;font-weight:700;line-height:.9;letter-spacing:-2px}.brand span,.footer-brand span{color:var(--olive)}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:7px;text-align:center;padding-top:12px;padding-left:7px}.brand a:hover{text-decoration:none}.navigation{display:flex;gap:34px;align-items:center;font-size:14px}.nav-phone{border-bottom:1px solid var(--olive);padding-bottom:4px}.hero{display:grid;grid-template-columns:1fr 1.08fr;max-width:1480px;margin:auto;padding:20px 3% 0 5%;min-height:640px}.hero-copy{padding:68px 32px 64px 0;align-self:center}.eyebrow{font-size:12px;letter-spacing:2.4px;line-height:1.8;font-weight:500}.hero h1{font-size:clamp(42px,5.3vw,80px);letter-spacing:-3px;margin:34px 0 28px}.intro-copy{font-size:19px;max-width:370px;color:#50554b;line-height:1.7}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.wp-block-button__link{display:inline-block;padding:15px 24px;background:var(--olive);color:white;border:1px solid var(--olive);border-radius:0;font-size:14px;line-height:1.5;font-weight:500;transition:background .2s}.wp-block-button__link:hover{background:var(--dark);text-decoration:none}.is-style-outline .wp-block-button__link{background:transparent;color:var(--olive)}.is-style-outline .wp-block-button__link:hover{background:#e7eadd}.location{margin-top:48px;font-size:11px;letter-spacing:2px;color:var(--olive)}.hero-visual{position:relative;min-height:620px}.hero-image{height:100%;margin:0}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:59% center;display:block}.image-caption{position:absolute;bottom:0;right:0;background:var(--dark);color:white;font-size:11px;letter-spacing:2px;padding:22px 28px;max-width:100%}.services{max-width:1380px;margin:auto;padding:112px 5%}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:18px 80px;align-items:end;margin-bottom:54px}.section-heading .eyebrow{grid-column:1/-1;color:var(--olive)}h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-1.7px}.section-heading>p:last-child{max-width:350px;color:#62685c}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:42px;row-gap:42px}.service-card{border-top:1px solid var(--line);padding-top:23px}.service-number{color:var(--olive);font-size:13px;letter-spacing:2px;margin-bottom:22px}.service-card h3{font-size:24px;max-width:280px;min-height:54px;margin-bottom:19px;letter-spacing:-.5px}.service-card .service-tagline{color:var(--olive);margin-bottom:8px}.service-card>p:last-child{color:#656a60;font-size:15px;max-width:320px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--dark);color:var(--paper);padding:80px max(5%,calc((100vw - 1242px)/2))}.contact .eyebrow{color:#c6cfb8}.contact h2{margin:24px 0;font-size:clamp(38px,4vw,60px)}.contact-copy>p:last-child{max-width:390px;color:#d5dacd}.contact-details{align-self:center}.contact-phone{font-size:clamp(30px,3.3vw,48px);line-height:1.5;letter-spacing:-1px;margin-top:10px}.contact .wp-block-buttons{margin-top:20px}.contact .wp-block-button__link{background:#d7dec9;color:var(--dark);border-color:#d7dec9}.contact .is-style-outline .wp-block-button__link{background:transparent;color:white}.contact .wp-block-button__link:hover{background:#b4bea2;color:var(--dark)}.email-label{margin-top:34px}.contact-email{font-size:20px;overflow-wrap:anywhere;margin-top:8px}.contact-area{margin-top:24px;color:#c6cfb8;font-size:14px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 5%;max-width:1480px;margin:auto}.footer-brand{font-size:26px;font-weight:700;letter-spacing:-1px}.footer-brand small{font-size:10px;letter-spacing:2px;font-weight:400}.footer-note{font-size:12px;color:#62685c}.main-content,.wp-block-group{margin-block-start:0}.skip-link{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}
@media(min-width:1500px){.hero h1{font-size:80px}}
@media(max-width:900px){.navigation{gap:20px}.hero{padding-left:5%;min-height:540px}.hero-copy{padding-top:35px;padding-bottom:35px}.hero-visual{min-height:560px}.hero h1{letter-spacing:-2px}.eyebrow{font-size:11px;letter-spacing:1.7px}.hero .wp-block-buttons{gap:10px}.hero .wp-block-button__link{padding:12px 16px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact{gap:35px;padding:60px 5%}.site-footer{flex-wrap:wrap}.image-caption{font-size:10px;padding:18px 16px;letter-spacing:1.4px}}
@media(max-width:600px){.site-header{padding:24px 6%;align-items:center}.brand{font-size:34px}.brand small{font-size:9px;letter-spacing:6px}.navigation{gap:17px;font-size:13px}.nav-phone{display:none}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:42px 6% 40px}.hero h1{font-size:55px;letter-spacing:-2.5px;margin:24px 0}.intro-copy{font-size:17px;max-width:340px}.location{margin-top:32px}.hero-visual{min-height:370px}.hero-image img{object-position:center}.image-caption{font-size:10px;padding:16px 20px}.services{padding:64px 6%}.section-heading{display:block;margin-bottom:34px}.section-heading h2{margin:18px 0}.service-grid{grid-template-columns:1fr;gap:28px}.service-card h3{min-height:0;max-width:none;margin-bottom:14px}.service-number{margin-bottom:14px}.service-card>p:last-child{max-width:none}.contact{display:block;padding:58px 6%}.contact-details{margin-top:44px}.contact-phone{font-size:38px}.contact-email{font-size:18px}.site-footer{padding:30px 6%;display:block}.site-footer>p{margin-top:14px}.site-footer>p:first-child{margin-top:0}.footer-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep theme spacing and button colours consistent with core block styles. */
.hero-visual .wp-block-image.hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:hidden}
.hero-visual .wp-block-image.hero-image img{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none;object-fit:cover}
.hero-visual .image-caption{z-index:1}
.hero-copy .wp-block-buttons{margin-top:34px;gap:14px}
.hero-copy .location{margin-top:48px}
.wp-block-button.is-style-fill .wp-block-button__link{background:var(--olive);color:white;border-radius:0}
.contact .wp-block-button.is-style-fill .wp-block-button__link{background:#d7dec9;color:var(--dark)}
.wp-block-button.is-style-outline .wp-block-button__link{border-radius:0}
@media(max-width:600px){.hero-copy .location{margin-top:32px}}

/* Refined type hierarchy, service rhythm and accessible interaction states. */
.hero-copy{padding-right:44px}
.hero h1{line-height:1.08;letter-spacing:-.045em}
.hero-copy .intro-copy{font-size:1.1875rem;line-height:1.75;max-width:390px}
.eyebrow{font-size:.8125rem;letter-spacing:.16em}
.location,.hero-copy .location{font-size:.8125rem;line-height:1.7;letter-spacing:.12em}
.navigation{font-size:.9375rem}
.wp-block-button__link{font-size:.9375rem;min-height:48px;padding:15px 25px}
.wp-block-button.is-style-fill .wp-block-button__link:hover{background:var(--dark)}
.contact .wp-block-button.is-style-fill .wp-block-button__link:hover{background:#b4bea2}
.hero-visual .image-caption{font-size:.8125rem;line-height:1.7;letter-spacing:.12em;padding:20px 24px}
.service-grid{column-gap:38px;row-gap:44px}
.service-card{padding:26px 0 12px;border-top-color:#aeb7a0}
.service-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #c5ccb9;border-radius:50%;font-size:.8125rem;letter-spacing:.05em;margin-bottom:24px;color:var(--olive)}
.service-card h3{font-size:1.5rem;line-height:1.25;min-height:60px}
.service-card .service-tagline{font-size:1rem;font-weight:500}
.service-card>p:last-child{font-size:1rem;line-height:1.75}
.contact-copy>p:last-child{font-size:1.0625rem;line-height:1.8}
.contact-details{border-left:1px solid #627054;padding-left:48px}
.contact-area{font-size:.9375rem}
.footer-note{font-size:.875rem}
.site-footer{border-top:1px solid var(--line)}
@media(max-width:900px){.hero-copy{padding-right:26px}.contact-details{padding-left:28px}.navigation{gap:20px}}
@media(max-width:600px){.hero-copy{padding:40px 6%}.hero h1{font-size:clamp(2.5rem,10.5vw,3.4375rem)}.hero-copy .intro-copy{font-size:1.0625rem}.eyebrow{font-size:.75rem;letter-spacing:.1em}.navigation{font-size:.875rem;gap:16px}.hero-visual .image-caption{font-size:.75rem;letter-spacing:.1em;padding:18px 20px}.service-card h3{min-height:0}.service-grid{row-gap:24px}.contact-details{border-left:0;border-top:1px solid #627054;padding-left:0;padding-top:32px}.wp-block-button__link{padding:14px 20px}.footer-note{font-size:.875rem}}
.hero-visual .velco-carousel-controls{position:absolute;left:16px;bottom:84px;z-index:3;display:flex;align-items:center;gap:4px;padding:4px;background:rgba(38,49,33,.94);color:#fff;border-radius:3px;max-width:calc(100% - 32px)}
.velco-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;font:24px/1 Arial,sans-serif;cursor:pointer;border-radius:2px}
.velco-carousel-controls button:last-child{font-size:16px;border-left:1px solid #748267;margin-left:4px}
.velco-carousel-controls button:hover{background:#505b40}
.velco-carousel-controls button:focus-visible{outline:2px solid white;outline-offset:-3px}
.velco-carousel-controls span{min-width:48px;text-align:center;font:14px/1.5 Arial,sans-serif}
