/*
Theme Name: BrandSparrow Studio
Theme URI: https://www.brandsparrow.com/
Author: BrandSparrow
Author URI: https://www.brandsparrow.com/
Description: Bespoke multipage portfolio for BrandSparrow. Includes editable project galleries, testimonials, enquiry form and starter content from the studio portfolio.
Version: 1.5.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: brandsparrow-studio
Tags: portfolio, custom-logo, custom-menu, featured-images, one-column, block-styles
*/
:root{--ink:#102b31;--night:#092025;--teal:#007d78;--orange:#ff970c;--paper:#f8f7f3;--muted:#6b7776;--line:#d9ddd7;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next','Segoe UI',Arial,sans-serif;--max:1296px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}::selection{background:var(--orange);color:var(--night)}.skip-link{position:fixed;top:-100px;left:16px;z-index:120;background:white;color:black;padding:15px}.skip-link:focus{top:15px}.orange{color:var(--orange)}.section{padding:128px 0}.section-label{display:inline-flex;align-items:center;gap:11px;color:var(--teal);font-size:11px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}.label-dot{background:var(--orange);height:8px;width:8px;flex:none;border-radius:50%}.light-label{color:#b6d4cc}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:56px}.section-heading h2,.process-header h2,.testimonial-title h2{font-size:clamp(50px,5.8vw,88px);line-height:1.04;letter-spacing:-.07em;margin:27px 0 0;font-weight:760}.section-heading h2 em,.process-header h2 em,.testimonial-title h2 em,.subpage-heading h1 em,.case-overview h2 em,.case-next h2 em,.project-next-cta h2 em{font-family:var(--serif);font-weight:400;color:var(--teal)}.section-side{max-width:34%;width:310px;padding-bottom:6px}.section-side p{font-size:16px;line-height:1.85;color:#657473;margin:0 0 26px}.text-link{display:inline-flex;align-items:center;gap:30px;padding-bottom:9px;border-bottom:1px solid currentColor;font-size:14px;font-weight:800;transition:gap .2s,color .2s}.text-link:hover{gap:39px;color:var(--teal)}.text-link span{font-size:20px}.light-link{color:white}.light-link:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:57px;border:1px solid transparent;border-radius:3px;padding:15px 21px;font-size:13px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:20px}.button-orange{background:var(--orange);color:var(--night)}.button-orange:hover{background:#ffb032}.button-dark{background:var(--night);color:white}.button-dark:hover{background:var(--teal)}
/* Navigation */
.site-header{position:relative;z-index:40;background:var(--paper);box-shadow:0 1px 0 rgba(12,42,43,.09)}.nav-wrap{height:94px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center}.brand>img{height:78px;width:115px;object-fit:contain}.brand-name{display:none}.nav-links{display:flex;align-items:center;gap:40px}.nav-links>a{font-size:13px;font-weight:750;transition:color .2s}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--teal)}.nav-links .nav-cta{background:var(--night);color:white;padding:15px 17px;border-radius:3px;min-width:133px;display:flex;align-items:center;justify-content:space-between}.nav-links .nav-cta:hover{background:var(--teal);color:white}.nav-cta span{font-size:18px}.menu-toggle{display:none}
/* Home hero */
.hero{position:relative;overflow:hidden;background:var(--night);color:white}.hero-noise{position:absolute;inset:0;opacity:.2;pointer-events:none;background-image:radial-gradient(#578c88 .5px,transparent .5px);background-size:17px 17px;mask-image:linear-gradient(90deg,transparent 25%,black)}.hero-grid{min-height:740px;display:grid;grid-template-columns:1.08fr .92fr;gap:20px;align-items:center;padding:50px 0 65px}.hero-copy{position:relative;z-index:3}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em;white-space:nowrap;color:#b6ccc7;font-weight:800}.kicker-spark{color:var(--orange);font-size:18px}.kicker-line{width:27px;height:1px;background:#729996}.hero h1{font-size:clamp(68px,6.25vw,104px);line-height:.99;letter-spacing:-.085em;font-weight:760;margin:36px 0 28px}.hero h1 em{font-family:var(--serif);color:#b6d6bf;font-weight:400}.hero-description{font-size:17px;line-height:1.82;color:#b4c8c4;max-width:480px;margin:0 0 35px}.hero-actions{display:flex;gap:29px;align-items:center;flex-wrap:wrap}.hero-signoff{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.16em;color:#9eb7b3;font-weight:700;margin-top:85px}.signoff-line{width:38px;height:1px;background:var(--orange)}.hero-showcase{position:relative;height:600px}.hero-shape{position:absolute;border:1px solid #325452;border-radius:50%;height:480px;width:480px;right:-5px;top:60px}.hero-shape-two{height:590px;width:590px;top:4px;right:-60px;opacity:.6}.hero-poster{position:absolute;z-index:2;top:80px;left:13%;width:77%;aspect-ratio:4/4.3;border:8px solid white;background:#e5b0a1;box-shadow:0 25px 90px #03131388;transform:rotate(7deg);overflow:hidden}.hero-poster img{width:100%;height:100%;object-fit:cover}.poster-tag{position:absolute;bottom:0;left:0;right:0;background:white;color:var(--night);padding:17px 19px;font-size:10px;letter-spacing:.13em;font-weight:800}.floating-tile{position:absolute;z-index:3;width:33%;aspect-ratio:1/1.15;padding:6px;background:white;box-shadow:0 22px 38px #00131377}.floating-tile img{height:100%;width:100%;object-fit:cover}.floating-tile-one{top:20px;right:-5%;transform:rotate(-9deg)}.floating-tile-two{left:0;bottom:5px;transform:rotate(-10deg)}.showcase-asterisk{position:absolute;z-index:5;right:-6%;bottom:7px;color:var(--orange);font-size:130px;line-height:1}.hero-bottom{height:65px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff25;font-size:9px;letter-spacing:.17em;color:#acc4be;font-weight:700}.scroll-mark{font-size:25px;color:var(--orange)}
/* Intro and work */
.intro-band{background:#e9ece6;padding:78px 0}.intro-inner{display:grid;grid-template-columns:220px 1fr 60px;gap:38px;align-items:center}.overline{font-size:10px;letter-spacing:.13em;color:var(--teal);font-weight:850}.intro-inner p{font-size:clamp(25px,2.65vw,37px);letter-spacing:-.035em;line-height:1.44;margin:0}.intro-inner strong{color:var(--teal)}.intro-asterisk{font-size:90px;color:var(--orange)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:49px}.project-link{display:block}.project-cover{position:relative;overflow:hidden;aspect-ratio:1.37;display:flex;align-items:center;justify-content:center}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-link:hover .project-cover img{transform:scale(1.07)}.theme-cream{background:#efebe5}.theme-yellow{background:#f6d896}.theme-mint{background:#d0ede5}.theme-blue{background:#dbeaf0}.theme-rose{background:#f2d9d1}.theme-purple{background:#d9cde0}.project-open{position:absolute;top:19px;right:19px;display:grid;place-items:center;height:42px;width:42px;border-radius:50%;background:var(--orange);font-size:22px;transform:scale(0);transition:transform .25s}.project-link:hover .project-open{transform:scale(1)}.project-card-info{display:flex;justify-content:space-between;gap:15px;padding-top:22px}.project-card-info .eyebrow{font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:800;text-transform:uppercase}.project-card h3{font-size:27px;letter-spacing:-.05em;margin:8px 0}.project-card p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.project-arrow{flex:none;width:39px;height:39px;border:1px solid #cad2ce;display:grid;place-items:center;border-radius:50%;font-size:20px;transition:background .2s}.project-link:hover .project-arrow{background:var(--orange)}.work-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:65px}.work-bottom>span{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:750}
/* About */
.about-section{background:#06363a;color:white;padding:128px 0 135px;overflow:hidden}.about-layout{display:grid;grid-template-columns:1fr .8fr;gap:95px}.about-left{min-height:530px;position:relative}.about-left h2{font-size:clamp(58px,5.8vw,91px);line-height:1.09;letter-spacing:-.075em;margin:36px 0}.about-left h2 em{font-family:var(--serif);font-weight:400;color:#b6d6bf}.about-graphic{position:absolute;bottom:-44px;left:20px;color:var(--orange);display:flex;align-items:end}.about-graphic span:first-child{font-size:250px;line-height:.75}.about-graphic span:last-child{font-size:80px;line-height:1;font-weight:800;letter-spacing:-.12em;margin-left:-30px}.about-right{padding-top:37px}.about-right>p{font-size:16px;line-height:1.95;color:#b3d2cd;margin:0 0 18px}.about-right>.about-lead{font-size:27px;line-height:1.5;letter-spacing:-.03em;color:white;margin-bottom:25px}.about-right strong{color:white}.about-divider{height:1px;background:#427476;margin:37px 0 29px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:33px}.about-facts div{display:flex;flex-direction:column;gap:8px}.about-facts strong{font-size:58px;line-height:1;letter-spacing:-.06em}.about-facts strong span{color:var(--orange)}.about-facts small{color:#a4c5c0;font-size:12px;line-height:1.5}
/* Services */
.services-section{background:#f7f6f2}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4e3dd}.service-card{padding:36px 35px 43px;min-height:490px;border-right:1px solid #e4e3dd;transition:background .2s}.service-card:last-child{border-right:0}.service-card:hover{background:#f1f2ed}.service-number{font-size:10px;letter-spacing:.14em;color:var(--teal);font-weight:800}.service-icon{font-size:75px;color:var(--orange);height:108px;display:flex;align-items:center}.service-card h3{font-size:29px;letter-spacing:-.055em;margin:5px 0 15px}.service-card p{font-size:14px;line-height:1.75;color:var(--muted);min-height:77px;margin:0 0 25px}.service-card ul{list-style:none;padding:18px 0 0;border-top:1px solid var(--line);margin:0}.service-card li{font-size:13px;padding:8px 0;color:#364e4c}.service-card li:before{content:'↗';color:var(--teal);padding-right:13px}
/* Process */
.process-section{background:#e8efe9;padding:127px 0 135px}.process-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:70px}.process-header>p{width:310px;max-width:34%;color:#5d6f6d;font-size:16px;line-height:1.85;margin:0 0 7px}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bccfc5}.process-step{position:relative;padding:28px 26px 0 0;margin-right:15px}.process-step:before{content:'';background:var(--teal);width:9px;height:9px;border-radius:50%;position:absolute;top:-5px;left:0}.step-index{font-size:14px;color:var(--teal);font-weight:800}.step-mark{display:block;font-size:54px;color:var(--orange);height:100px;padding-top:27px;line-height:1}.process-step h3{font-size:25px;letter-spacing:-.04em;line-height:1.2;margin:0 0 16px}.process-step p{font-size:13px;line-height:1.85;color:#61726e;max-width:220px}
/* Testimonials */
.testimonials-section{background:#fff;padding:128px 0}.testimonial-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;margin-top:22px}.giant-quote{font-size:220px;font-family:var(--serif);line-height:.65;color:var(--orange);margin-top:50px;display:block}.testimonial-content{border-left:1px solid #d4dbd6;align-self:center;padding:20px 0 20px 65px}.quote-stars{color:var(--orange);letter-spacing:9px;margin-bottom:21px}.testimonial-content blockquote{font-size:clamp(25px,2.7vw,39px);line-height:1.48;letter-spacing:-.045em;margin:0 0 38px;min-height:175px}.quote-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.quote-bottom strong{display:block;font-size:15px}.quote-bottom span{display:block;color:var(--muted);font-size:12px;margin-top:6px}.testimonial-controls{display:flex;gap:8px}.testimonial-controls button{height:47px;width:47px;border:1px solid #d1dbd5;border-radius:50%;background:white;font-size:22px}.testimonial-controls button:hover{background:var(--orange)}.quote-counter{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-top:39px}.quote-counter span{color:var(--teal);font-weight:800}
/* Contact */
.contact-section{background:var(--night);color:white;padding:128px 0 112px}.contact-top h2{font-size:clamp(72px,8.7vw,143px);font-weight:750;line-height:.99;letter-spacing:-.083em;margin:36px 0 26px}.contact-top h2 em{font-family:var(--serif);font-weight:400;color:#b6d6bf}.contact-top h2 .orange{font-size:.75em;vertical-align:10px;margin-left:10px}.contact-top>p{font-size:18px;color:#abc5c0;line-height:1.7;max-width:475px;margin:0 0 72px}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;border-top:1px solid #315358;padding-top:55px}.contact-info-block{margin-bottom:49px}.contact-info-block small{display:block;color:#a4c5be;font-size:10px;letter-spacing:.15em;font-weight:800;margin-bottom:17px}.contact-info-block a{font-size:clamp(20px,2.1vw,27px);font-weight:650;letter-spacing:-.045em;overflow-wrap:anywhere}.contact-info-block a:hover{color:var(--orange)}.contact-info-block a span{color:var(--orange);padding-left:5px}.contact-info-block p{color:#a8c3bc;font-size:14px;line-height:1.9}.contact-form{background:#15383c;padding:34px 35px 37px;border:1px solid #31565a}.contact-form h3{font-size:25px;margin:0 0 28px;letter-spacing:-.035em}.contact-form label{display:flex;flex-direction:column;gap:11px;font-size:10px;color:#abccc5;letter-spacing:.13em;font-weight:800;margin-bottom:23px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 13px;background:#0a2a2f;border:1px solid #44666a;border-radius:2px;color:white;outline:0;font-size:14px;letter-spacing:normal;font-weight:400;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#789597}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange)}.contact-form option{background:#15383c}.contact-submit{width:100%}.form-note{color:#a5c1bc;font-size:11px;line-height:1.65;margin:17px 0 0}
/* Footer */
.footer{background:#06181c;color:white;padding:54px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px}.footer-brand{display:flex;align-items:center;gap:11px;font-size:clamp(26px,2.8vw,42px);letter-spacing:-.07em;font-weight:800}.footer-brand-icon{color:var(--orange);font-size:42px}.footer-dot{color:var(--orange);margin-left:-10px}.footer-top p{color:#9fbab4;font-size:14px;line-height:1.65}.footer-back{font-size:12px;white-space:nowrap}.footer-back:hover{color:var(--orange)}.footer-bottom{border-top:1px solid #274448;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:#8ba6a0;font-size:11px}.footer-bottom a:hover{color:var(--orange)}
/* Work page */
.subpage-hero{padding:105px 0 94px;background:#e8f0eb}.subpage-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:24px}.subpage-heading h1{font-size:clamp(75px,9vw,146px);line-height:1;letter-spacing:-.088em;margin:0}.subpage-heading p{width:325px;max-width:35%;font-size:16px;line-height:1.85;color:#617371;margin:0 0 7px}.portfolio-listing{padding:50px 0 130px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid #d9e0d9;margin-bottom:46px}.filter-bar>span{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.15em}.filter-controls{display:flex;gap:9px;flex-wrap:wrap}.filter-pill{border:1px solid #d5dcd5;background:transparent;border-radius:30px;padding:11px 17px;font-size:12px;color:var(--ink);font-weight:750}.filter-pill.active{background:var(--night);color:white;border-color:var(--night)}.filter-pill:hover{border-color:var(--teal)}.filter-pill span{font-size:10px;color:var(--orange);margin-left:3px}.filter-item[hidden],.no-results[hidden]{display:none}.no-results{text-align:center;padding:80px}.project-next-cta{background:#06363a;color:white;padding:95px 0}.project-next-cta .container{display:flex;justify-content:space-between;align-items:end;gap:40px}.project-next-cta h2{font-size:clamp(55px,6vw,95px);line-height:1.05;letter-spacing:-.07em;margin:22px 0 0}.project-next-cta h2 em{color:#b6d6bf}
/* Case studies */
.case-intro{padding:48px 0 77px}.breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:70px;font-size:12px;color:#83918e}.breadcrumb a:hover{color:var(--teal)}.breadcrumb span:last-child{color:var(--ink)}.case-intro-grid{display:flex;justify-content:space-between;align-items:end;gap:25px}.case-intro h1{font-size:clamp(75px,9.4vw,147px);line-height:.99;letter-spacing:-.088em;margin:21px 0}.case-subtitle{font-size:clamp(18px,2vw,26px);letter-spacing:-.034em;line-height:1.5;color:#657775;margin:0}.circle-return{height:69px;width:69px;flex:none;border:1px solid #b9c9c2;border-radius:50%;display:grid;place-items:center;font-size:28px;transform:rotate(45deg);transition:transform .2s,background .2s}.circle-return:hover{background:var(--orange);transform:none}.case-main-image{padding:79px 0}.case-main-image img{width:min(100%,1120px);max-height:740px;object-fit:contain;margin:auto;box-shadow:0 24px 65px #061e1e25}.case-overview{padding:115px 0}.overview-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.case-overview h2{font-size:clamp(55px,5.7vw,84px);line-height:1.09;letter-spacing:-.07em;margin:26px 0}.overview-grid>div:last-child{padding-top:45px}.overview-grid>div:last-child>p{font-size:clamp(21px,2.2vw,30px);line-height:1.65;letter-spacing:-.035em;color:#516764;margin:0 0 45px}.overview-services{border-top:1px solid #d8ded8;padding-top:24px}.overview-services small{display:block;font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:800;margin-bottom:20px}.overview-services>div{display:flex;gap:9px;flex-wrap:wrap}.overview-services span{border:1px solid #cedbd1;border-radius:40px;padding:10px 14px;font-size:12px}.case-gallery{background:#ebf0eb;padding:85px 0 105px}.gallery-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.gallery-title>span:last-child{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.14em}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.gallery-item{display:block;position:relative;aspect-ratio:1.35;background:white;overflow:hidden}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.05)}.gallery-zoom{position:absolute;bottom:17px;right:17px;background:#082729e8;color:white;padding:11px 14px;font-size:11px;font-weight:750;transform:translateY(65px);transition:transform .2s}.gallery-item:hover .gallery-zoom{transform:translateY(0)}.case-gallery-nav{display:flex;justify-content:space-between;gap:20px;margin-top:54px;font-size:13px;font-weight:800}.case-gallery-nav a:hover{color:var(--teal)}.case-next{background:#0b3438;color:white}.case-next>a{display:block;padding:85px 0;transition:background .2s}.case-next>a:hover{background:#154649}.case-next .container{display:flex;justify-content:space-between;align-items:end;gap:30px}.case-next span{font-size:11px;letter-spacing:.15em;color:#adcdc5;font-weight:800}.case-next h2{font-size:clamp(53px,6vw,88px);letter-spacing:-.07em;line-height:1.07;margin:18px 0 0}.case-next h2 i{color:var(--orange);font-style:normal}.case-next-link{white-space:nowrap}
/* Gallery overlay */
body.lightbox-open{overflow:hidden}.lightbox{position:fixed;z-index:100;inset:0;background:#031417f6;display:flex;align-items:center;justify-content:center;padding:68px 75px}.lightbox[hidden]{display:none!important}.lightbox img{max-width:100%;max-height:calc(100vh - 155px);object-fit:contain}.lightbox button{position:absolute;width:49px;height:49px;border:1px solid #6b8482;border-radius:50%;background:#15383c;color:white;font-size:25px}.lightbox button:hover{background:var(--teal)}.lightbox-close{right:25px;top:22px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}.lightbox-caption{position:absolute;bottom:25px;left:60px;right:60px;text-align:center;color:#c8d9d3;font-size:12px;letter-spacing:.06em}
@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(23px);transition:opacity .6s,transform .6s;transition-delay:var(--delay,0s)}.reveal.visible{opacity:1;transform:none}}
/* Responsive */
@media(max-width:1080px){.container{width:calc(100% - 60px)}.nav-links{gap:25px}.hero-grid{min-height:650px}.hero h1{font-size:clamp(60px,7vw,84px)}.hero-showcase{height:510px}.hero-shape{width:380px;height:380px}.hero-shape-two{width:465px;height:465px}.hero-poster{width:78%}.intro-inner{grid-template-columns:165px 1fr 55px;gap:25px}.about-layout{gap:50px}.about-graphic span:first-child{font-size:190px}.services-grid .service-card{padding:30px 25px}.contact-grid{gap:45px}.testimonial-layout{gap:48px}.testimonial-content{padding-left:40px}}
@media(max-width:800px){.container{width:calc(100% - 44px)}.nav-wrap{height:75px}.brand>img{height:68px;width:96px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:0;width:47px;height:47px;padding:0;z-index:4}.menu-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:18px 22px 25px;box-shadow:0 18px 30px #102b3126;border-top:1px solid var(--line)}.nav-links.is-open{display:flex}.nav-links>a{font-size:15px;padding:15px 8px}.nav-links .nav-cta{margin-top:8px;padding:17px 20px}.hero-grid{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:75px 0 50px;gap:30px}.hero h1{font-size:clamp(63px,11vw,92px)}.hero-kicker{white-space:normal;line-height:1.7}.hero-signoff{margin-top:53px}.hero-showcase{height:490px;width:min(540px,100%);margin-inline:auto}.hero-poster{left:16%;width:68%;top:47px;aspect-ratio:4/3.8}.floating-tile{width:30%}.floating-tile-one{right:3%}.floating-tile-two{left:3%}.showcase-asterisk{font-size:100px;right:0}.hero-bottom{height:51px}.hero-bottom span:last-child{display:none}.intro-band{padding:65px 0}.intro-inner{grid-template-columns:160px 1fr 40px}.intro-inner p{font-size:27px}.intro-asterisk{font-size:60px}.section{padding:92px 0}.section-heading h2,.process-header h2,.testimonial-title h2{font-size:clamp(51px,7vw,75px)}.section-side{max-width:37%;width:245px}.projects-grid{gap:35px 19px}.project-card h3{font-size:23px}.about-section{padding:95px 0}.about-layout{grid-template-columns:1fr;gap:20px}.about-left{min-height:300px}.about-left h2{font-size:clamp(57px,9vw,86px)}.about-graphic{right:20px;left:auto;bottom:-10px}.about-graphic span:first-child{font-size:125px}.about-graphic span:last-child{font-size:44px}.about-right{padding-top:10px}.services-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #e4e3dd;min-height:auto}.service-card:last-child{border-bottom:0}.service-icon{height:80px;font-size:61px}.service-card p{min-height:auto}.process-section{padding:95px 0}.process-steps{grid-template-columns:repeat(2,1fr);row-gap:25px}.process-header>p{max-width:37%;font-size:14px}.testimonial-layout{grid-template-columns:1fr;gap:15px}.giant-quote{display:none}.testimonial-content{border:0;border-top:1px solid #d4dbd6;padding:25px 0 0}.testimonial-content blockquote{min-height:115px}.contact-section{padding:95px 0}.contact-top h2{font-size:clamp(66px,10vw,104px)}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-info-block{margin-bottom:24px}.contact-info-block:last-child{grid-column:1/-1}.subpage-hero{padding:75px 0}.subpage-heading h1{font-size:clamp(75px,11vw,112px)}.case-intro{padding:40px 0 55px}.breadcrumb{margin-bottom:44px}.case-intro h1{font-size:clamp(68px,10vw,112px)}.case-main-image{padding:60px 0}.case-overview{padding:75px 0}.overview-grid{gap:35px}.case-gallery{padding:75px 0}}
@media(max-width:560px){.container{width:calc(100% - 34px)}.hero-grid{padding:59px 0 30px}.hero-kicker{font-size:9px;gap:9px}.hero h1{font-size:clamp(55px,14vw,80px);margin:29px 0 21px}.hero-description{font-size:15px}.hero-actions{gap:19px}.hero-signoff{font-size:8px;margin-top:47px}.hero-showcase{height:360px}.hero-shape{height:330px;width:330px;top:10px;right:0}.hero-shape-two{height:390px;width:390px;top:-12px;right:-30px}.hero-poster{top:44px;width:69%;border-width:5px}.floating-tile{padding:4px}.floating-tile-one{top:20px}.floating-tile-two{bottom:12px}.poster-tag{font-size:7px;padding:10px}.showcase-asterisk{font-size:70px}.intro-band{padding:57px 0}.intro-inner{display:block}.intro-inner .overline{display:block;margin-bottom:18px}.intro-inner p{font-size:25px}.intro-asterisk{display:none}.section{padding:79px 0}.section-heading{display:block;margin-bottom:37px}.section-heading h2,.process-header h2,.testimonial-title h2{font-size:clamp(49px,11vw,67px)}.section-side{width:auto;max-width:none;margin-top:23px}.section-side p{font-size:14px;margin-bottom:18px}.projects-grid{grid-template-columns:1fr;row-gap:37px}.project-cover{aspect-ratio:1.35}.project-card-info{padding-top:15px}.project-card h3{font-size:26px}.work-bottom{display:block;margin-top:40px}.work-bottom>span{display:block;margin-top:23px}.about-section{padding:79px 0}.about-left{min-height:auto;padding-bottom:67px}.about-left h2{font-size:clamp(55px,12vw,75px)}.about-graphic{bottom:0}.about-graphic span:first-child{font-size:88px}.about-graphic span:last-child{font-size:30px}.about-right>.about-lead{font-size:23px}.about-right>p{font-size:14px}.about-facts strong{font-size:50px}.service-card{padding:29px 24px 33px}.process-section{padding:80px 0}.process-header{display:block;margin-bottom:53px}.process-header>p{max-width:none;width:auto;margin:22px 0 0}.process-steps{grid-template-columns:1fr;row-gap:3px}.process-step{display:grid;grid-template-columns:60px 1fr;column-gap:12px;margin:0;padding:24px 0 0}.step-index{grid-column:1}.step-mark{grid-column:1;grid-row:2/4;height:auto;padding-top:14px;font-size:45px}.process-step h3{grid-column:2;grid-row:2;margin:0;font-size:24px}.process-step p{grid-column:2;grid-row:3;max-width:none;margin:12px 0 26px}.testimonials-section{padding:80px 0}.testimonial-content blockquote{font-size:27px;min-height:170px;margin-bottom:28px}.quote-counter{margin-top:28px}.contact-section{padding:79px 0}.contact-top h2{font-size:clamp(58px,11.5vw,83px)}.contact-top>p{font-size:15px;margin-bottom:43px}.contact-grid{padding-top:35px}.contact-info{display:block}.contact-info-block{margin-bottom:31px}.contact-info-block a{font-size:21px}.contact-form{padding:26px 19px}.form-two{grid-template-columns:1fr;gap:0}.footer{padding:44px 0 25px}.footer-top{display:block;padding-bottom:34px}.footer-top p{margin:19px 0 25px}.footer-bottom{flex-direction:column;gap:13px}.subpage-hero{padding:70px 0 57px}.subpage-heading{display:block}.subpage-heading h1{font-size:clamp(67px,15vw,92px)}.subpage-heading p{max-width:none;width:auto;font-size:14px;margin-top:25px}.portfolio-listing{padding:26px 0 85px}.filter-bar{display:block}.filter-bar>span{display:block;margin-bottom:20px}.filter-pill{padding:10px 13px;font-size:11px}.filter-controls{gap:6px}.project-next-cta{padding:77px 0}.project-next-cta .container{display:block}.project-next-cta h2{font-size:61px;margin-bottom:30px}.case-intro{padding:26px 0 45px}.breadcrumb{font-size:10px;gap:7px;margin-bottom:43px}.case-intro h1{font-size:clamp(54px,12vw,83px);overflow-wrap:anywhere}.case-subtitle{font-size:18px}.circle-return{display:none}.case-main-image{padding:28px 0}.case-overview{padding:74px 0}.overview-grid{grid-template-columns:1fr;gap:5px}.overview-grid>div:last-child{padding-top:10px}.overview-grid>div:last-child>p{font-size:21px;margin-bottom:30px}.gallery-title{display:block}.gallery-title>span:last-child{display:block;margin-top:14px}.gallery-grid{grid-template-columns:1fr;gap:13px}.case-gallery{padding:68px 0}.case-gallery-nav{font-size:12px}.case-next>a{padding:66px 0}.case-next .container{display:block}.case-next h2{font-size:57px;margin-bottom:22px}.lightbox{padding:75px 17px}.lightbox img{max-height:calc(100vh - 155px)}.lightbox-close{right:17px;top:19px}.lightbox-prev{left:10px;top:auto;bottom:65px}.lightbox-next{right:10px;top:auto;bottom:65px}.lightbox-caption{bottom:27px;left:65px;right:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* WordPress menu & content enhancements */
:root{--sans:'DM Sans','Avenir Next','Segoe UI',Arial,sans-serif;--serif:'DM Serif Display',Georgia,'Times New Roman',serif}
.nav-links{list-style:none;margin:0;padding:0;gap:24px}.nav-links>li{margin:0;list-style:none}.nav-links>li>a{display:block;font-size:13px;font-weight:750;transition:color .2s;white-space:nowrap}.nav-links>li>a:hover,.nav-links>li.current-menu-item>a{color:var(--teal)}
.nav-links>li:last-child>a{background:var(--night);color:#fff;padding:15px 21px;border-radius:3px}.nav-links>li:last-child>a:hover{background:var(--teal);color:#fff}
.primary-menu-wrap{margin-left:auto}.site-header .custom-logo{object-fit:contain}
.editorial-section{padding:98px 0 118px;background:var(--paper)}.editorial-content{max-width:1000px}.editorial-with-image{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr);gap:7vw;align-items:start}
.entry-content>*:first-child{margin-top:0}.entry-content h2{font-size:clamp(36px,4.5vw,62px);line-height:1.12;letter-spacing:-.055em;margin:0 0 27px}.entry-content h3{font-size:clamp(23px,2.1vw,31px);letter-spacing:-.035em;margin:0 0 15px}.entry-content p{font-size:17px;line-height:1.92;color:#536464;margin:0 0 27px}.entry-content h2:not(:first-child){margin-top:65px}.entry-content ul,.entry-content ol{line-height:2;color:#546666;font-size:16px;padding-left:22px}.entry-content li{padding-left:3px}.entry-content a{text-decoration:underline;color:var(--teal)}
.entry-content .wp-block-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:48px 0 60px}.entry-content .wp-block-column{min-width:0;background:white;padding:35px 29px;border:1px solid #e5e9e2;border-top:5px solid var(--orange);box-shadow:0 18px 45px rgba(12,42,43,.035)}.entry-content .wp-block-column h3{font-size:24px;margin:0 0 17px}.entry-content .wp-block-column p{font-size:14px;line-height:1.75}.entry-content .wp-block-column li{font-size:14px;line-height:1.95}.entry-content .wp-block-column ul{margin:18px 0 0}
.editorial-art{position:relative;display:grid;gap:18px}.editorial-art>img{width:100%;aspect-ratio:1.22;object-fit:cover;background:#eaf0ed;border-radius:3px}.editorial-art>div{background:var(--night);color:white;padding:30px;display:flex;flex-direction:column;gap:10px}.editorial-art>div>span{font-size:80px;line-height:1;font-weight:800;letter-spacing:-.08em}.editorial-art small{font-size:11px;letter-spacing:.16em;color:#b6d4cc}
.page-bottom-cta{background:#0a373b;color:white;padding:108px 0}.page-bottom-cta p{font-size:12px;letter-spacing:.16em;color:#a8c9c0;text-transform:uppercase;font-weight:800}.page-bottom-cta h2{max-width:810px;font-size:clamp(45px,6vw,85px);letter-spacing:-.065em;line-height:1.08;margin:18px 0 38px}.page-bottom-cta h2 em{font-family:var(--serif);font-weight:400;color:#b6d6bf}
.review-page-section{padding:105px 0 120px}.review-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-card{display:flex;flex-direction:column;min-height:300px;border:1px solid #d8e2dc;background:#fff;padding:37px 40px}.review-mark{color:var(--orange);font-family:Georgia,serif;font-size:70px;line-height:.8}.review-card blockquote{font-size:clamp(20px,2.2vw,29px);line-height:1.47;letter-spacing:-.03em;font-weight:700;margin:22px 0 30px}.review-author{margin-top:auto;padding-top:20px;border-top:1px solid #dae6de;display:flex;flex-direction:column;gap:5px}.review-author strong{font-size:15px}.review-author span{color:var(--muted);font-size:12px}.review-disclaimer{font-size:12px;color:#747e79;margin-top:25px}
.bs-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-feedback{font-size:14px;line-height:1.6;padding:14px 16px;border-radius:3px;margin:0 0 20px}.form-success{background:#e2f4e7;color:#123c2d}.form-error{background:#ffddd8;color:#672621}
.testimonial-content>.text-link{margin-top:20px}.case-description p{font-size:22px;line-height:1.8}.case-gallery-nav{margin:28px 0 0;font-size:12px;font-weight:800}.case-gallery-nav a:hover{color:var(--teal)}
.blog-list-section{padding:92px 0}.blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.blog-card{background:white;padding:35px;border-top:5px solid var(--orange)}.blog-card time{font-size:12px;color:var(--muted)}.blog-card h2{font-size:31px;letter-spacing:-.04em;line-height:1.15}.blog-card p{color:#657473;line-height:1.75}.blog-card .text-link{font-weight:800}.blog-article{padding:90px 0}.blog-article .entry-content{max-width:860px}.blog-article h1{font-size:clamp(45px,7vw,85px);letter-spacing:-.06em;line-height:1.06}.blog-article time{color:var(--muted);font-size:12px;letter-spacing:.1em}
.not-found{padding:140px 0;text-align:center}.not-found h1{font-size:clamp(50px,7vw,100px);line-height:1}.not-found p{margin-bottom:30px}
.entry-content img{height:auto}.entry-content figure{margin:30px 0}.entry-content .alignwide{max-width:var(--max);margin-inline:auto}.entry-content .alignfull{width:100%}.entry-content blockquote{border-left:4px solid var(--orange);padding:8px 28px;margin:25px 0}
@media(max-width:1080px){.nav-links{gap:13px}.nav-links>li>a{font-size:12px}.nav-links>li:last-child>a{padding:12px 14px}}
@media(max-width:800px){.primary-menu-wrap{margin-left:0}.nav-links>li{width:100%}.nav-links>li>a{font-size:15px;padding:15px 8px;white-space:normal}.nav-links>li:last-child>a{margin-top:8px;padding:17px 20px}.editorial-with-image{grid-template-columns:1fr}.editorial-art{grid-template-columns:repeat(2,1fr)}.editorial-art>div{grid-column:1/-1}.entry-content .wp-block-columns{grid-template-columns:1fr}.review-page-grid{grid-template-columns:1fr}}
@media(max-width:560px){.editorial-section{padding:62px 0 82px}.entry-content h2{font-size:38px}.entry-content p{font-size:15px}.editorial-art{grid-template-columns:1fr}.review-page-section{padding:60px 0}.review-card{padding:28px;min-height:0}.page-bottom-cta{padding:73px 0}.entry-content .wp-block-column{padding:26px 20px}}
/* Four-step process columns and core Gutenberg spacing */
.entry-content .wp-block-columns{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
@media(max-width:800px){.entry-content .wp-block-columns{grid-template-columns:1fr}}

/* v1.5: visual block homepage and editable page introductions */
.bs-page-custom-intro{background:var(--paper);padding:44px 0 20px}
.bs-page-custom-intro .entry-content{max-width:1080px}
.bs-page-custom-intro .entry-content>*:last-child{margin-bottom:0}
.bs-visual-home .wp-block-group{box-sizing:border-box}
.bs-visual-home .bs-block-hero{background:var(--night);color:white;padding:clamp(80px,8vw,132px) max(36px,calc((100vw - var(--max))/2))}
.bs-visual-home .bs-block-hero>.wp-block-columns{align-items:center;gap:clamp(30px,5vw,80px)}
.bs-visual-home .bs-block-hero .wp-block-heading{font-size:clamp(52px,6vw,104px);font-weight:800;letter-spacing:-.08em;line-height:1;max-width:820px;margin:18px 0 25px;color:white}
.bs-visual-home .bs-block-hero p{color:#b6cfca;line-height:1.8;font-size:17px;max-width:570px}
.bs-visual-home .bs-block-eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)!important}
.bs-visual-home .bs-block-hero figure{margin:0;transform:rotate(2deg);box-shadow:0 30px 60px rgba(0,0,0,.24)}
.bs-visual-home .bs-block-hero figure img{width:100%;aspect-ratio:1;object-fit:cover}
.bs-visual-home .wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.bs-visual-home .wp-block-button__link{border-radius:3px;background:var(--orange);color:var(--night);font-size:14px;font-weight:800;padding:17px 24px;text-decoration:none}
.bs-visual-home .wp-block-button__link:hover{filter:brightness(1.12)}
.bs-visual-home .bs-block-spotlight,.bs-visual-home .bs-block-services{padding:clamp(65px,7vw,115px) max(32px,calc((100vw - var(--max))/2))}
.bs-visual-home .bs-block-spotlight .wp-block-heading,.bs-visual-home .bs-block-services>.wp-block-heading{font-size:clamp(43px,5.6vw,82px);line-height:1.08;letter-spacing:-.065em;margin:12px 0 26px}
.bs-visual-home .bs-block-spotlight{background:#e8f0eb}
.bs-visual-home .bs-block-spotlight p{max-width:780px;color:#536464;font-size:17px;line-height:1.85}
.bs-visual-home .bs-block-services{background:var(--paper)}
.bs-visual-home .bs-block-services .wp-block-columns{gap:19px;align-items:stretch;margin:45px 0 0}
.bs-visual-home .bs-block-services .wp-block-column{background:white;padding:35px 28px;border:1px solid #dce6df;border-top:5px solid var(--orange)}
.bs-visual-home .bs-block-services .wp-block-column h3{font-size:24px;letter-spacing:-.03em;margin:0 0 15px}
.bs-visual-home .bs-block-services .wp-block-column p{font-size:15px;line-height:1.75;color:#536464}
.bs-visual-home .bs-block-cta{background:#09383b;color:white;padding:clamp(75px,7vw,115px) max(32px,calc((100vw - var(--max))/2))}
.bs-visual-home .bs-block-cta .wp-block-heading{color:#fff;font-size:clamp(44px,6vw,86px);line-height:1.08;letter-spacing:-.06em;max-width:850px;margin:14px 0 28px}
.bs-visual-home .bs-block-cta p{color:#bdd8d0}
.bs-visual-home .bs-block-projects{background:var(--paper);padding:clamp(65px,7vw,110px) max(32px,calc((100vw - var(--max))/2))}
.bs-visual-home .bs-block-projects .wp-block-heading{font-size:clamp(43px,5.6vw,82px);letter-spacing:-.06em;line-height:1.04;margin:14px 0 38px}
.bs-visual-home .bs-block-projects .projects-grid{gap:45px 24px}
.bs-visual-home .bs-block-hero .wp-block-buttons{margin-top:29px}
@media(max-width:780px){.bs-visual-home .bs-block-hero{padding:75px 25px}.bs-visual-home .bs-block-hero .wp-block-columns{flex-direction:column}.bs-visual-home .bs-block-spotlight,.bs-visual-home .bs-block-services,.bs-visual-home .bs-block-projects,.bs-visual-home .bs-block-cta{padding:75px 25px}.bs-visual-home .bs-block-services .wp-block-columns{flex-direction:column}}
