/*
Theme Name: Orchard Tech
Description: A native Gutenberg design system for Orchard Tech. Includes section patterns, page starters and self-hosted fonts.
Version: 0.1.3
Requires at least: 6.6
Requires PHP: 7.4
Author: Orchard Tech
Text Domain: orchard-tech
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* All flat UI colours refer to the canonical theme.json palette. */
:root{--ot-gutter:clamp(1.25rem,3vw,2rem)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0}
img{max-width:100%;height:auto}
.wp-site-blocks>*,.ot-main,.ot-main>.wp-block-post-content,.ot-main>.wp-block-post-content>*{margin-block-start:0}
.ot-container{width:min(100% - var(--ot-gutter)*2,1200px);margin-inline:auto!important}
.ot-hero-grid>*,.ot-services-grid>*,.ot-process-grid>*,.ot-section-intro>*,.ot-content-grid>*,.ot-footer-row>*{margin-block:0!important;min-width:0}
.ot-section{padding-block:clamp(3rem,5.5vw,5rem);margin-block:0}
.ot-reading{max-width:720px;min-height:45vh}
.ot-section :is(h1,h2,h3,p,figure),.ot-header :is(p,figure),.ot-footer :is(p,figure,h2){margin-block-start:0}
.ot-section :is(h1,h2,h3){text-wrap:balance}
.ot-section h1{max-width:100%;margin-bottom:1.4rem}
.ot-section p{margin-bottom:1.25rem}
.ot-section :is(p,h2,h3):last-child{margin-bottom:0}
.is-style-dark-section{background:var(--wp--preset--color--navy);color:var(--wp--preset--color--ivory)}
.is-style-dark-section :is(h1,h2,h3,p){color:inherit}
.is-style-dark-section a{color:var(--wp--preset--color--ivory)}
.is-style-light-section{background:var(--wp--preset--color--ivory);color:var(--wp--preset--color--ink)}
.ot-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-bottom:.85rem!important}
.ot-lead{font-size:clamp(1.1rem,1rem + .4vw,1.25rem);line-height:1.55;max-width:50ch}
.has-inline-color{background:none}
.has-green-color{color:var(--wp--preset--color--green)!important}
.wp-block-buttons{gap:.75rem;align-items:center}
.wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;text-decoration:none;border:2px solid transparent;transition:background-color .15s ease}
.is-style-dark-section .wp-block-button:not(.is-style-outline) .wp-block-button__link{color:var(--wp--preset--color--navy)}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--wp--preset--color--green-hover)}
.wp-block-button.is-style-outline>.wp-block-button__link{border:1px solid currentColor;color:inherit;background:transparent;padding:.9rem 1.25rem}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
a{ text-underline-offset:.2em }
a:hover{text-decoration-thickness:2px}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid currentColor;outline-offset:5px}
.wp-block-button__link:focus-visible{outline-color:var(--wp--preset--color--ink)}
.is-style-dark-section .wp-block-button__link:focus-visible{outline-color:var(--wp--preset--color--ivory)}
.ot-header{border-bottom:1px solid rgba(247,247,242,.12)}
.ot-header-row{display:flex;align-items:center;gap:2rem;min-height:96px}
.ot-logo{width:245px;flex-shrink:0;margin:0}
.ot-logo img{width:100%;aspect-ratio:3/1;object-fit:contain;display:block}
.ot-nav{margin-left:auto!important;margin-block:0!important}
.ot-nav .wp-block-navigation-item__content{text-decoration:none;padding-block:.75rem}
.ot-header-row>.wp-block-buttons{margin:0}
.ot-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--navy);color:var(--wp--preset--color--ivory);padding:2rem}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.ot-hero{padding-top:clamp(2.5rem,4vw,4rem);padding-bottom:clamp(2rem,4vw,4rem)}
.ot-hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:1.75rem;align-items:center}
.ot-hero-copy{position:relative;z-index:1}
.ot-hero-art{margin:0!important}
.ot-hero-art img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.ot-proof{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;margin-top:1.25rem!important;font-size:.82rem}
.ot-proof p{margin:0!important}
.ot-section-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;margin-bottom:2rem}
.ot-intro-heading h2{max-width:23ch;margin:0}
.ot-intro-copy{max-width:48ch;margin:0!important;font-size:1rem}
.ot-services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.is-style-service-card{background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink);border:1px solid var(--wp--preset--color--border);border-radius:16px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 4px 16px rgba(11,34,57,.025);min-width:0}
.is-style-service-card>*{margin:0!important}
.is-style-service-card h3{font-size:1.05rem;line-height:1.3;font-family:var(--wp--preset--font-family--ubuntu);font-weight:700}
.is-style-service-card p{font-size:.96rem;line-height:1.5}
.is-style-service-card>.ot-card-link{margin-top:auto!important;padding-top:1rem;font-weight:500;font-size:.84rem}
.is-style-service-card a{color:var(--wp--preset--color--ink)}
.ot-service-icon{width:76px;height:76px;margin-bottom:.25rem!important}
.ot-service-icon img{width:100%;height:100%;object-fit:contain;display:block}
.ot-technology{background:var(--wp--preset--color--white)}
.ot-tech-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;padding-top:1rem}
.ot-tech-name{font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;color:var(--wp--preset--color--slate);margin:0!important}
.ot-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem}
.ot-step{position:relative}
.ot-step-number{display:grid;place-items:center;aspect-ratio:1;width:40px;background:var(--wp--preset--color--green);color:var(--wp--preset--color--navy)!important;border-radius:6px;font-weight:700;font-size:1.3rem;margin-bottom:1.25rem!important}
.ot-step:not(:last-child)::after{content:'';position:absolute;top:20px;left:64px;right:0;border-top:2px dotted rgba(247,247,242,.35)}
.ot-step h3{font-family:var(--wp--preset--font-family--ubuntu);font-size:1.2rem;margin-bottom:.65rem}
.ot-step>p:last-child{font-size:1rem}
.ot-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--wp--preset--color--ivory);padding-block:4.5rem 5.5rem;min-height:380px}
.ot-cta>.ot-container{position:static}
.ot-cta-copy{position:relative;z-index:1;max-width:520px;margin-inline:auto;text-align:left}
.ot-cta-copy h2{margin-bottom:1rem}
.ot-cta-copy p{font-size:1rem}
.ot-landscape{position:absolute;z-index:-1;inset:0;margin:0!important}
.ot-landscape img{width:100%;height:100%;object-fit:cover;display:block}
.ot-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.ot-split-art{max-width:300px;justify-self:center;margin:0!important}
.ot-split-art img{aspect-ratio:1;object-fit:contain}
.ot-faq{max-width:850px}
.wp-block-details{border-top:1px solid var(--wp--preset--color--slate)}
.wp-block-details summary{font-weight:500;cursor:pointer;min-height:44px;align-content:center}
.wp-block-details p{margin-top:1rem}
.ot-footer{padding-block:3rem 1.25rem}
.ot-footer-row{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}
.ot-footer-brand>p{font-size:.95rem;max-width:42ch}
.ot-footer-tagline{font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase}
.ot-footer-links h2{font-family:var(--wp--preset--font-family--ubuntu);font-weight:700;font-size:1.75rem;margin-bottom:1rem}
.ot-footer-links p{font-size:1rem;margin-bottom:.5rem}
.ot-copyright{font-size:.8rem;border-top:1px solid rgba(247,247,242,.15);padding-top:1.2rem;margin-top:2rem!important}
.wp-block-search__input,input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select{font:inherit;border:1px solid var(--wp--preset--color--slate);border-radius:6px;padding:.7rem;max-width:100%}
.wp-block-search__button{font:inherit;background:var(--wp--preset--color--green);color:var(--wp--preset--color--navy);border:0;border-radius:6px;padding:.7rem 1rem;cursor:pointer}
.ot-skip-link{position:fixed;left:1rem;top:-200px;z-index:999999;background:var(--wp--preset--color--ivory);color:var(--wp--preset--color--navy);padding:1rem}
.ot-skip-link:focus{top:1rem}
@media(max-width:1050px){.ot-header-row{gap:1rem}.ot-header-row>.wp-block-buttons{display:none}.ot-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-services-grid>.is-style-service-card:last-child{grid-column:1/-1}.ot-hero-grid{gap:1rem}.ot-hero h1{font-size:clamp(2.5rem,4.5vw,3.5rem)}.ot-section-intro{gap:2rem}.ot-cta-copy{background:var(--wp--preset--color--ivory);padding:1.5rem;border-radius:12px}}
@media(max-width:767px){.ot-header-row{min-height:80px}.ot-logo{width:205px}.ot-hero-grid,.ot-section-intro,.ot-content-grid,.ot-footer-row{grid-template-columns:1fr;gap:1.75rem}.ot-hero h1{font-size:clamp(2.5rem,7vw,3.5rem)}.ot-hero-art{max-width:440px;justify-self:center}.ot-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.ot-step::after{display:none}.ot-section-intro{margin-bottom:1.75rem}.ot-intro-copy{max-width:none}.ot-tech-strip{justify-content:flex-start}.ot-cta{padding-block:2.5rem 0;min-height:0}.ot-cta-copy{background:none;padding:0;margin-bottom:0}.ot-landscape{position:relative;inset:auto;width:calc(100% + var(--ot-gutter)*2);margin-inline:calc(var(--ot-gutter)*-1)!important;margin-top:1.5rem!important;z-index:0}.ot-landscape img{aspect-ratio:3/1;height:auto;object-fit:contain}.ot-footer-row{gap:2rem}}
@media(max-width:599px){.ot-services-grid,.ot-process-grid{grid-template-columns:1fr}.ot-services-grid>.is-style-service-card:last-child{grid-column:auto}.ot-services-grid{gap:1rem}.is-style-service-card{padding:1.5rem}.ot-proof{gap:.5rem 1rem}.ot-step{padding-left:60px}.ot-step-number{position:absolute;left:0;top:0}.ot-header-row{gap:.25rem}.ot-logo{width:190px}.ot-hero .wp-block-buttons{align-items:stretch}.ot-hero .wp-block-button{width:100%}.ot-hero .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
