/*
Theme Name: DataSmart
Description: Custom core-block theme for DataSmart Business Solutions. Draft implementation; staging validation required.
Version: 0.8.8
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: datasmart
License: GPL-2.0-or-later
*/
.ds-section{padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,2rem);margin-block:0!important}
.ds-hero,.ds-cta{background:#08192d;color:#f5f8fc}
.ds-hero{background:radial-gradient(ellipse at 90% 0,rgba(33,191,221,.17),transparent 55%),#08192d}
.ds-hero h1{max-width:18ch;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.08;letter-spacing:-.035em}
.ds-hero p{max-width:62ch;color:#d5dfeb}.ds-hero a:not(.wp-block-button__link),.ds-cta a:not(.wp-block-button__link){color:#72dcf2}
.ds-card{height:100%;box-sizing:border-box;padding:1.5rem;border:1px solid #d4dfe9;border-radius:1rem;background:#f5f8fc;color:#14283c}
.ds-card h3{margin-top:0}.ds-card a{font-weight:600}.ds-card p{font-size:1rem}
.ds-header,.ds-footer{padding:1.5rem clamp(1rem,3vw,2rem)}.ds-footer{background:#08192d;color:#f5f8fc}.ds-footer a{color:#72dcf2}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #08788e;outline-offset:5px}
.ds-hero a:focus-visible,.ds-footer a:focus-visible{outline-color:#72dcf2}
.wp-block-button__link{min-height:44px;box-sizing:border-box}.wp-block-button__link:hover{background:#72dcf2;color:#08192d}
.ds-section .wp-block-columns{gap:1.5rem;margin-top:2rem}.wp-site-blocks>main{margin-top:0}
.wp-block-post-content>h2,.wp-block-post-content>p{padding-inline:1rem}
.wp-block-details{border-bottom:1px solid #d4dfe9;padding-block:1rem}.wp-block-details summary{font-weight:600;cursor:pointer}
img{height:auto;max-width:100%}
@media(max-width:781px){.ds-card{height:auto}.ds-header .wp-block-group{gap:1rem}.ds-section .wp-block-columns{gap:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ds-header .wp-block-site-title{font-size:1.3rem;font-weight:700;letter-spacing:-.025em}.ds-header .wp-block-site-title a{text-decoration:none;color:#14283c}
.ds-header .wp-block-navigation{font-size:1rem}

.ds-header .wp-block-site-title{font-size:1.3rem;font-weight:700;letter-spacing:-.025em}.ds-header .wp-block-site-title a{text-decoration:none;color:#14283c}
.ds-header .wp-block-navigation{font-size:1rem}

.ds-utility{background:#08192d;color:#f5f8fc;padding:.65rem 1rem;font-size:.9rem;text-align:right}.ds-utility p{max-width:1200px;margin:auto}.ds-utility a{color:#72dcf2;display:inline-block;padding:.25rem}
@media(max-width:600px){.ds-utility{text-align:center}.wp-block-buttons{gap:.75rem}}

/* Spacious hero and native flex button layout, also used in the review preview. */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:1rem!important;margin-top:2rem}
.wp-block-buttons>.wp-block-button{margin:0!important;flex:0 0 auto}
.wp-block-buttons .wp-block-button__link{white-space:normal;line-height:1.35;padding:.9rem 1.2rem}
.ds-hero .wp-block-buttons>.wp-block-button:nth-child(n+2) .wp-block-button__link,.ds-cta .wp-block-buttons>.wp-block-button:nth-child(n+2) .wp-block-button__link{background:transparent;color:#f5f8fc;border:1px solid #7090a8}
.ds-hero .wp-block-buttons>.wp-block-button:nth-child(n+2) .wp-block-button__link:hover,.ds-cta .wp-block-buttons>.wp-block-button:nth-child(n+2) .wp-block-button__link:hover{background:#173e57;border-color:#72dcf2}
.ds-home-hero{padding-block:clamp(3rem,7vw,6.5rem)}
.ds-home-hero .ds-hero-layout{max-width:1200px;margin:0 auto;gap:clamp(2rem,4vw,4rem);align-items:center}
.ds-home-hero .ds-hero-layout>.wp-block-column:first-child{min-width:0}
.ds-home-hero h1{font-size:clamp(2.2rem,4.2vw,3.8rem);max-width:21ch;margin:1.5rem 0;line-height:1.12}
.ds-home-hero p{max-width:55ch;font-size:1.1rem;line-height:1.75}
.ds-home-hero .ds-hero-image{margin:0;width:100%;max-width:480px;margin-inline:auto}
.ds-hero-image img{display:block;width:100%;height:auto}
.ds-home-hero .wp-block-buttons{gap:.85rem!important}
.ds-home-hero .wp-block-button__link{font-size:.95rem}
@media(max-width:900px){.ds-home-hero .ds-hero-layout{gap:2rem}.ds-home-hero h1{font-size:2.7rem}}
@media(max-width:781px){.ds-home-hero h1{font-size:clamp(2.1rem,8vw,3rem)}.ds-home-hero .ds-hero-image{max-width:360px;margin-top:2rem}.ds-home-hero .wp-block-column{flex-basis:auto!important}.ds-hero .wp-block-buttons{gap:.85rem!important}}
@media(max-width:430px){.ds-hero .wp-block-buttons>.wp-block-button,.ds-cta .wp-block-buttons>.wp-block-button{flex:1 1 100%}.ds-hero .wp-block-button__link,.ds-cta .wp-block-button__link{width:100%;text-align:center}.ds-home-hero .ds-hero-image{max-width:290px}}

.ds-hero-image svg{display:block;width:100%;height:auto}

.ds-service-strip{padding:0 24px;background:#fff;color:#14283c}
.ds-service-strip>.ds-service-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.ds-service-grid>.wp-block-column{padding:2.2rem 1.2rem;text-align:center;border-right:1px solid #dce5ed;margin:0;min-width:0}
.ds-service-grid>.wp-block-column:last-child{border-right:0}.ds-service-grid h3{font-size:1rem;line-height:1.4;margin:1rem 0 .6rem}
.ds-service-grid h3 a{color:#14283c;text-decoration:none}.ds-service-grid h3 a:hover{text-decoration:underline}
.ds-service-grid p{font-size:.9rem;line-height:1.65;color:#526477;margin:0}.ds-service-icon{width:38px;height:38px;margin:0 auto!important}.ds-service-icon img{display:block;width:38px;height:38px}
.ds-why{background:linear-gradient(#08192dd9,#08192def),url('assets/city-background.svg') center bottom/cover no-repeat!important;color:#f5f8fc;text-align:center}
.ds-why>h2{max-width:920px;margin-top:0;font-size:clamp(1.7rem,3vw,2.4rem)}.ds-why-intro{color:#d5dfeb}
.ds-why>.ds-why-grid{max-width:1200px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem;margin:3rem auto}
.ds-why-grid h3{font-size:1.05rem;margin:1.2rem 0 .5rem}.ds-why-grid p{font-size:1rem;line-height:1.65;color:#d5dfeb}
.ds-why-grid .ds-check{display:grid;place-items:center;width:56px;height:56px;border:2px solid #72dcf2;border-radius:50%;color:#72dcf2;font-size:1.6rem;margin:0 auto;line-height:1}
.ds-why>.wp-block-buttons{justify-content:center}
@media(max-width:1100px){.ds-service-strip>.ds-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-service-grid>.wp-block-column:nth-child(3n){border-right:0}.ds-service-grid>.wp-block-column:nth-child(-n+3){border-bottom:1px solid #dce5ed}}
@media(max-width:781px){.ds-why>.ds-why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.ds-service-grid>.wp-block-column,.ds-why-grid>.wp-block-column{margin-bottom:0}}
@media(max-width:520px){.ds-service-strip{padding:0 12px}.ds-service-strip>.ds-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-service-grid>.wp-block-column{border-right:1px solid #dce5ed!important;border-bottom:1px solid #dce5ed!important;padding:1.6rem .8rem}.ds-service-grid>.wp-block-column:nth-child(2n){border-right:0!important}.ds-service-grid>.wp-block-column:nth-last-child(-n+2){border-bottom:0!important}.ds-why>.ds-why-grid{grid-template-columns:1fr;gap:2.2rem}}

.ds-team-section{background:#f5f8fc}.ds-team-section>.ds-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:1200px;margin:2.5rem auto 0}
.ds-team-card{background:white;border:1px solid #d4dfe9;border-radius:14px;overflow:hidden;text-align:center;padding-bottom:1.4rem}
.ds-team-photo{margin:0!important;aspect-ratio:1/1;width:100%;background:#edf3f8}.ds-team-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.ds-team-card h3{font-size:1.25rem;margin:1.3rem 1rem .3rem}.ds-team-card p{margin:.3rem 1rem;color:#526477;font-size:1rem}
@media(max-width:781px){.ds-team-section>.ds-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}}
@media(max-width:480px){.ds-team-section>.ds-team-grid{grid-template-columns:1fr}}

/* Editable Cover, team and site identity layout. */
.ds-brand-logo{width:230px;margin:0!important;flex:none}.ds-brand-logo img{display:block;width:100%;height:auto}
.ds-perth-cover{padding:0;color:#f5f8fc}.ds-perth-cover>.wp-block-cover__inner-container{max-width:1200px!important;width:100%}.ds-perth-cover .ds-section{max-width:1200px!important;box-sizing:border-box;text-align:center}.ds-perth-cover .ds-section>h2{max-width:980px;margin-inline:auto;font-size:clamp(1.7rem,3vw,2.4rem)}
.ds-perth-cover .ds-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;max-width:1200px!important;margin:3rem auto 0}.ds-perth-cover .ds-why-grid h3{color:#fff;margin-top:0}.ds-perth-cover .ds-why-grid p{color:#eef5fb}
.ds-team-section>.ds-team-grid{max-width:1200px!important}.ds-team-grid>.ds-team-card{max-width:none!important;margin:0!important}.ds-team-photo{max-width:none!important}
.ds-section>.wp-block-columns{max-width:1200px!important}.ds-footer p{line-height:1.8}.ds-footer a{display:inline-block;padding:.25rem 0}
@media(max-width:1024px){.ds-perth-cover .ds-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ds-perth-cover .ds-why-grid{grid-template-columns:1fr;gap:2rem}.ds-brand-logo{width:200px}.ds-header .wp-block-navigation{margin-left:auto}}

.ds-section.has-global-padding,.ds-header.has-global-padding,.ds-footer.has-global-padding{padding-inline:clamp(1rem,3vw,2rem)!important;box-sizing:border-box}

/* Service pages: native blocks, editable images and responsive cards. */
.ds-service-hero .ds-service-hero-columns{max-width:1200px!important;align-items:center;gap:4rem;margin:0 auto!important}.ds-service-hero h1{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.08;margin:1.5rem 0}.ds-service-hero p{margin-left:0!important;margin-right:0!important}.ds-service-hero .wp-block-buttons{margin-top:2rem}.ds-service-hero-columns>.wp-block-column:first-child{flex-basis:62%!important}.ds-service-hero-columns>.wp-block-column:last-child{flex-basis:38%!important}.ds-service-art{padding:2.8rem 1.6rem;border:1px solid #23718c;border-radius:28px;background:radial-gradient(circle at 50% 35%,#15465f,#0c2439 70%);box-shadow:0 20px 70px #020f1d55;text-align:center;max-width:390px!important;margin:auto!important}.ds-service-illustration{width:190px;max-width:75%!important;margin:0 auto 2rem!important}.ds-service-illustration img{width:100%;height:190px;object-fit:contain}.ds-service-tags{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;max-width:none!important}.ds-service-tags p{color:#b9f1ff!important;border:1px solid #286079;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;line-height:1.5;margin:0!important}.ds-service-body{background:#f1f6fb}.ds-service-body>h2,.ds-service-related>h2{max-width:1200px!important;font-size:clamp(1.7rem,3vw,2.5rem);margin-top:0}.ds-service-body>p{max-width:1200px!important}.ds-service-detail-grid,.ds-service-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;max-width:1200px!important;margin:2rem auto 0!important}.ds-service-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-service-panel{padding:2rem!important;background:#fff;border:1px solid #dce6ee;border-radius:18px;box-shadow:0 10px 30px #12304c08;margin:0!important;max-width:none!important;box-sizing:border-box}.ds-service-panel>*{max-width:none!important}.ds-service-panel>p:first-child{color:#147b9a;font-size:.85rem;font-weight:700;letter-spacing:.1em;margin:0 0 1.2rem}.ds-service-panel h2{font-size:1.4rem;line-height:1.3;margin:0 0 1rem}.ds-service-panel h3{font-size:1.3rem;margin:1.3rem 0 1rem}.ds-service-panel p{color:#526477;line-height:1.75}.ds-service-card-icon{width:44px;margin:0!important}.ds-service-card-icon img{width:44px;height:44px;object-fit:contain}.ds-service-panel a,.ds-service-related-card a{color:#086e8d;font-weight:600}.ds-service-related{background:white}.ds-service-related>.wp-block-columns{gap:1.5rem;margin-top:2rem}.ds-service-related-card{height:100%;box-sizing:border-box;border-radius:16px!important;border-top:3px solid #57cbe5!important;max-width:none!important}.ds-service-contact{background:#f1f6fb}.ds-service-contact-panel{max-width:1200px!important;background:linear-gradient(115deg,#08192d,#103e55);color:#f5f8fc;padding:clamp(1.7rem,4vw,3rem);border-radius:22px;box-sizing:border-box}.ds-service-contact-panel>*{max-width:900px!important;margin-left:0!important;margin-right:0!important}.ds-service-contact-panel h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);margin-top:0}.ds-service-contact-panel p{color:#d6e7f1}.ds-service-contact-panel .wp-block-button__link{border:1px solid #83a4b8;background:transparent;color:white;padding:14px 22px;border-radius:8px;font-weight:600}.ds-service-contact-panel .wp-block-button:first-child .wp-block-button__link{background:#72dcf2;border-color:#72dcf2;color:#08192d}
@media(max-width:1000px){.ds-service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-service-hero .ds-service-hero-columns{gap:2rem}}
@media(max-width:781px){.ds-service-hero-columns>.wp-block-column{flex-basis:100%!important}.ds-service-art{max-width:390px!important;width:100%;box-sizing:border-box;margin:1rem auto 0!important}.ds-service-illustration{width:140px}.ds-service-illustration img{height:140px}.ds-service-related-card{height:auto}}
@media(max-width:600px){.ds-service-detail-grid,.ds-service-catalog{grid-template-columns:1fr}.ds-service-panel{padding:1.5rem!important}.ds-service-hero h1{font-size:2.2rem}.ds-service-art{padding:1.7rem 1rem}.ds-service-contact-panel .wp-block-buttons{gap:.8rem}}

.ds-service-illustration img[src*="/icon-"]{filter:brightness(0) saturate(100%) invert(89%) sepia(54%) saturate(824%) hue-rotate(154deg) brightness(96%) contrast(99%)}

/* About photo remains a native replaceable Image block. */
.ds-about-photo-panel{max-width:430px!important;margin:auto!important;border:1px solid #286079;border-radius:24px;overflow:hidden;background:#102c43;box-shadow:0 20px 60px #020f1d44}.ds-about-hero-photo{margin:0!important;max-width:none!important}.ds-about-hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.ds-about-photo-panel>p{padding:1.2rem 1.5rem;color:#d6edf5;font-size:.9rem;margin:0!important}.ds-service-body>p{line-height:1.8}.ds-service-related .ds-service-catalog{margin-top:2rem!important}.ds-team-section>h2,.ds-team-section>p{max-width:1200px!important}.ds-team-section>h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:0}

/* White header and accessible support navigation */
.ds-header{background:#fff;padding-block:1.15rem;border-bottom:1px solid #e3ebf2}
.ds-header>.wp-block-group{gap:1.5rem;flex-wrap:nowrap}
.ds-header .wp-block-navigation{color:#14283c;font-size:.95rem;font-weight:600}
.ds-header .wp-block-navigation__container{gap:1.7rem;align-items:center}
.ds-header .wp-block-navigation-item__content{text-decoration:none;padding-block:.65rem;transition:color .18s ease,background .18s ease}
.ds-header .wp-block-navigation-item__content:hover{color:#007eaa}
.ds-header a:focus-visible,.ds-header button:focus-visible{outline:3px solid #009bc5;outline-offset:4px}
.ds-header .ds-nav-support>.wp-block-navigation-item__content{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#087caa;color:#fff!important;border-radius:10px;padding:.8rem 1.15rem;font-weight:700;box-shadow:0 3px 10px #087caa20}
.ds-header .ds-nav-support>.wp-block-navigation-item__content:hover{background:#075c82}
.ds-header .wp-block-navigation__submenu-container{border:1px solid #e1e9f0;border-radius:12px;box-shadow:0 12px 32px #08192d18;padding:.55rem;min-width:280px;background:#fff;color:#14283c}
.ds-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{border-radius:7px;padding:.7rem .9rem;font-size:.9rem}
.ds-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:#edf8fc}
@media(max-width:1000px){
.ds-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
.ds-header .wp-block-navigation__responsive-container-open{display:flex}
.ds-header .wp-block-navigation{margin-left:auto}
.ds-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:1rem}
.ds-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;padding-top:3rem}
.ds-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{border:0;box-shadow:none;padding:.5rem 0 .5rem 1rem;min-width:0}
.ds-header .wp-block-navigation__responsive-container.is-menu-open .ds-nav-support{margin-top:1rem}
}
@media(max-width:600px){.ds-header{padding-block:1rem}.ds-header .ds-brand-logo{width:190px}}

/* Balanced service illustration scale; preserve vector proportions. */
.ds-service-illustration{width:128px;max-width:65%!important;margin:0 auto 2rem!important}.ds-service-illustration img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:brightness(0) saturate(100%) invert(83%) sepia(24%) saturate(965%) hue-rotate(151deg) brightness(100%) contrast(90%)!important}.ds-service-art{padding:2.5rem 1.6rem;box-sizing:border-box;width:100%}
@media(max-width:781px){.ds-service-illustration{width:112px}.ds-service-illustration img{height:auto}.ds-service-art{padding:2rem 1.4rem}}

/* Full service hero illustrations match the home page artwork. */
.ds-service-art{padding:0;border:0;border-radius:0;background:none;box-shadow:none;max-width:440px!important}.ds-service-illustration{width:100%;max-width:100%!important;margin:0 auto 1.4rem!important}.ds-service-illustration img{display:block;width:100%;height:auto;aspect-ratio:auto;filter:none!important}.ds-service-tags{padding:0 1rem}.ds-service-hero-columns>.wp-block-column:first-child{flex-basis:58%!important}.ds-service-hero-columns>.wp-block-column:last-child{flex-basis:42%!important}
@media(max-width:781px){.ds-service-hero-columns>.wp-block-column{flex-basis:100%!important}.ds-service-art{max-width:380px!important;padding:0}.ds-service-illustration{width:100%}.ds-service-illustration img{height:auto}}
