*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;height:100%}
body{font-family:'Roboto',sans-serif;color:#0a0f14;background:#ffffff;overflow-x:hidden;min-height:100vh;display:grid;grid-template-rows:1fr auto}
.page{min-height:0;display:block}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
:root{
  --ink:#0a0f14;
  --ink-mid:#111820;
  --ink-soft:#0d1520;
  --rule:#1e2e3c;
  --rule-light:#2a4555;
  --ivory:#ffffff;
  --ivory-dim:rgba(255,255,255,.6);
  --ivory-ghost:rgba(255,255,255,.1);
  --blue:#6399ae;
  --blue-dark:#005776;
  --green:#006450;
  --pink:#aa0061;
  --accent-blue:#b9dbe5;
  --accent-green:#00966c;
  --accent-pink:#e06287;
  --accent-gold:#e6b23a;
  --accent-gold-dark:#bd8711;
  --font-display:'Playfair Display',serif;
  --font-body:'Roboto',sans-serif;
  --max:1280px;
  --tr:0.26s cubic-bezier(.4,0,.2,1);
}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;font-weight:600}
h1{font-size:clamp(3rem,6vw,5.5rem)}
h2{font-size:clamp(2.2rem,4vw,3.6rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:1.25rem}
p{line-height:1.75;color:rgba(10,15,20,.65);font-size:.95rem}

/* ── HEADER ── */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid rgba(185,219,229,.2);background:rgba(0,30,46,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color var(--tr)}
body.admin-bar #site-header{top:32px}
body.admin-bar .mobile-nav{top:96px}
@media screen and (max-width:782px){
  body.admin-bar #site-header{top:46px}
  body.admin-bar .mobile-nav{top:110px}
}
.header-inner{max-width:var(--max);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;height:64px;gap:2rem}
.header-logo svg{height:28px;width:auto}
nav.main-nav{display:flex;align-items:center;gap:0;margin-left:auto}
nav.main-nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0}
nav.main-nav li{display:flex;align-items:center}
nav.main-nav a{font-family:var(--font-body);font-weight:400;font-size:.78rem;color:var(--ivory-dim);padding:.5rem 1rem;letter-spacing:.08em;text-transform:uppercase;transition:color var(--tr);white-space:nowrap}
nav.main-nav a:hover,nav.main-nav a.active,nav.main-nav li.current-menu-item>a{color:var(--ivory)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none;margin-left:auto}
.hamburger span{display:block;width:22px;height:1px;background:var(--ivory);transition:var(--tr)}
.mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;background:#001e2e;border-bottom:1px solid rgba(185,219,229,.2);padding:1rem 2rem 2rem;z-index:999;flex-direction:column;gap:.2rem}
.mobile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.mobile-nav li{display:block}
.mobile-nav.open{display:flex}
.mobile-nav a{display:block;color:var(--ivory-dim);font-size:.9rem;padding:.7rem 0;border-bottom:1px solid var(--rule);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;transition:color var(--tr)}
.mobile-nav a:hover{color:var(--ivory)}

/* ── UTILITY ── */
.eyebrow{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--ivory-dim)}
.eyebrow.blue{color:var(--accent-blue)}
.eyebrow.blue::before{background:var(--accent-blue)}
.eyebrow.green{color:var(--accent-green)}
.eyebrow.green::before{background:var(--accent-green)}
.eyebrow.pink{color:var(--accent-pink)}
.eyebrow.pink::before{background:var(--accent-pink)}
.btn-v2{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.75rem;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;border-radius:2px;cursor:pointer;transition:var(--tr)}
.btn-blue{background:#6399ae;color:#ffffff;border-color:#6399ae}
.btn-blue:hover{background:#005776;color:#ffffff;border-color:#005776}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.revealed{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .7s ease}
.reveal-left.revealed{opacity:1;transform:none}

/* ────────────────────────────────
   HOME
──────────────────────────────── */
.v2-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#001e2e}
.v2-hero-video{position:absolute;inset:0;overflow:hidden}
.v2-hero-video video,.v2-hero-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v2-hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,#003d54 0%,rgba(0,61,84,.85) 12%,rgba(0,61,84,.45) 35%,rgba(0,61,84,.15) 60%,rgba(0,61,84,0) 85%)}
.v2-hero-content{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:0 2.5rem 5rem}
.v2-ticker{display:none}
@keyframes scrollpulse{0%,100%{opacity:.4}50%{opacity:1}}

/* HOME TICKER */
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* HOME INTRO */
.v2-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid #005776;margin-top:4rem;background:#f0f8fb}
.v2-stat{padding:2.5rem 2rem 2.5rem 0;border-right:1px solid #b9dbe5}
.v2-stat:last-child{border-right:none;padding-left:2rem}
.v2-stat:nth-child(2){padding-left:2rem}
.v2-stat-num{font-family:var(--font-display);font-size:3.2rem;font-weight:600;color:#005776;line-height:1;margin-bottom:.4rem}
.v2-stat-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(10,15,20,.5)}

/* Case study stats: centered alignment + numbers auto-shrink to fit one
   line regardless of digit count, using container query units so it
   scales to each stat's own box width (narrower as more stats are added).
   Scoped to .v2-cs-stats — homepage's stats row is untouched. */
.v2-cs-stats .v2-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;container-type:inline-size}
.v2-cs-stats .v2-stat-num{font-size:clamp(1.5rem,15cqw,3.2rem);white-space:nowrap;margin-bottom:.4rem}
.v2-cs-stats .v2-stat-label{white-space:normal}
.v2-cs-stats{background:transparent!important;border-top:none!important;margin-top:0!important}

/* HOME SERVICES STRIP */
.v2-services-strip{border-top:none;border-bottom:none;background:#aa0061}
.v2-service-row{display:grid;grid-template-columns:80px 1fr 1fr auto;align-items:center;gap:2rem;padding:2rem 2.5rem;border-bottom:1px solid rgba(245,218,223,.2);cursor:pointer;transition:background var(--tr);max-width:var(--max);margin:0 auto}
.v2-service-row:last-child{border-bottom:none}
.v2-service-row:hover{background:rgba(0,0,0,.15)}
.v2-service-num{font-family:var(--font-display);font-size:1rem;font-weight:300;color:rgba(245,218,223,.5);font-style:italic}
.v2-service-name{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:#ffffff;transition:color var(--tr)}
.v2-service-row:hover .v2-service-name{color:#f5dadf}
.v2-service-desc{font-size:.85rem;color:rgba(245,218,223,.75);line-height:1.6;max-width:380px}
.v2-service-arrow{font-size:1.2rem;color:rgba(245,218,223,.5);transition:transform var(--tr),color var(--tr)}
.v2-service-row:hover .v2-service-arrow{transform:translateX(6px);color:#f5dadf}

/* HOME TESTIMONIALS */
.v2-testi-section{max-width:100%;margin:0 auto;padding:0;background:#006450}
.v2-testi-section>*{max-width:var(--max);margin:0 auto}
.v2-testi-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;padding:7rem 2.5rem 2rem;border-bottom:1px solid rgba(200,228,216,.2)}
.v2-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 2.5rem 7rem;max-width:var(--max);margin:0 auto}
.v2-testi-card{padding:3rem;cursor:pointer;transition:background var(--tr);position:relative}
.v2-testi-card:first-child{border-left:none}
.v2-testi-card:hover{background:rgba(0,0,0,.15)}
.v2-testi-accent{width:24px;height:2px;margin-bottom:2rem;background:var(--accent-blue)}
.v2-testi-card:nth-child(2) .v2-testi-accent{background:#e6b23a}
.v2-testi-card:nth-child(3) .v2-testi-accent{background:#e06287}
.v2-testi-quote{font-family:var(--font-display);font-size:1.15rem;font-style:italic;font-weight:300;color:#ffffff;line-height:1.7;margin-bottom:2rem}
.v2-testi-meta{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(200,228,216,.7)}
.v2-testi-meta strong{display:block;color:#c8e4d8;margin-bottom:.2rem;font-size:.8rem}
.v2-testi-read{margin-top:1.5rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c8e4d8;display:flex;align-items:center;gap:.5rem}
.v2-testi-read::after{content:'→'}

/* HOME CONTACT */
.v2-home-contact{background:#003d54;border-top:none}
.v2-home-contact-inner{max-width:1400px;margin:0 auto;padding:5rem 2.5rem;display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start;justify-content:center}
.v2-home-contact-address{border-right:1px solid rgba(255,255,255,.12);padding-right:3rem}
/* Contact page form — darker eyebrow, grey placeholders on white bg */
.v2-contact-form-wrap .eyebrow{color:#005776}
.v2-contact-form-wrap .eyebrow::before{background:#005776}
.v2-contact-form-wrap .v2-field input,.v2-contact-form-wrap .v2-field textarea,.v2-contact-form-wrap .v2-field select{background:#fff;border:none;border-bottom:1px solid rgba(10,15,20,.2);color:#0a0f14;border-radius:0}
.v2-contact-form-wrap .v2-field input::placeholder,.v2-contact-form-wrap .v2-field textarea::placeholder{color:#a7a8a9}
.v2-contact-form-wrap .v2-field label{color:rgba(10,15,20,.5)}
.v2-contact-form-wrap .v2-field input:focus,.v2-contact-form-wrap .v2-field textarea:focus{border-bottom-color:#005776;outline:none}
.contact-social-btn{background:#005776;border-color:#005776;color:#ffffff}
.contact-social-btn:hover{background:#003d54;border-color:#003d54}
/* Contact layout — no bottom border */
.v2-form{display:flex;flex-direction:column;gap:1rem}
.v2-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.v2-field{display:flex;flex-direction:column;gap:.4rem}
.v2-field label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ivory-dim)}
.v2-field input,.v2-field textarea,.v2-field select{background:transparent;border:none;border-bottom:1px solid rgba(10,15,20,.25);padding:.65rem 0;color:#0a0f14;font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color var(--tr);border-radius:0;-webkit-appearance:none}
.v2-field label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(10,15,20,.5)}
/* Form on dark backgrounds (home contact, dark sections) */
.v2-home-contact .v2-field label,.v2-home-contact .v2-field input,.v2-home-contact .v2-field textarea{color:#ffffff;border-bottom-color:rgba(255,255,255,.25)}
.v2-home-contact .v2-field input::placeholder,.v2-home-contact .v2-field textarea::placeholder{color:rgba(255,255,255,.3)}
.v2-field input::placeholder,.v2-field textarea::placeholder{color:rgba(232,228,220,.25)}
.v2-field input:focus,.v2-field textarea:focus{border-bottom-color:var(--accent-blue)}
.v2-field textarea{resize:none;min-height:100px}
.v2-field select{background:transparent;color:var(--ivory-dim)}
.v2-field select option{background:var(--ink-mid);color:var(--ivory)}

/* ── WPFORMS OVERRIDE — matches the custom .v2-form styling exactly ──
   Scoped to the same wrapper divs the old custom form used, so the
   light (Contact page) vs dark (homepage) text handling carries over
   automatically depending on which page the form is embedded in. */
.v2-contact-form-wrap .wpforms-form,
.v2-home-contact-form .wpforms-form{margin:0}

.v2-contact-form-wrap .wpforms-field,
.v2-home-contact-form .wpforms-field{padding:0 0 1rem!important;margin:0!important}

.v2-contact-form-wrap .wpforms-field-label,
.v2-home-contact-form .wpforms-field-label{font-size:.68rem!important;letter-spacing:.15em;text-transform:uppercase;font-weight:400!important;margin-bottom:.4rem!important;color:rgba(10,15,20,.5)}

.v2-home-contact-form .wpforms-field-label{color:#ffffff!important}

.v2-contact-form-wrap .wpforms-field-required,
.v2-home-contact-form .wpforms-field-required{color:inherit}

.v2-contact-form-wrap input[type=text],
.v2-contact-form-wrap input[type=email],
.v2-contact-form-wrap input[type=tel],
.v2-contact-form-wrap select,
.v2-contact-form-wrap textarea,
.v2-home-contact-form input[type=text],
.v2-home-contact-form input[type=email],
.v2-home-contact-form input[type=tel],
.v2-home-contact-form select,
.v2-home-contact-form textarea{
	background:transparent!important;
	border:none!important;
	border-bottom:1px solid rgba(10,15,20,.25)!important;
	border-radius:0!important;
	padding:.65rem 0!important;
	font-family:var(--font-body)!important;
	font-size:.9rem!important;
	color:#0a0f14!important;
	outline:none!important;
	box-shadow:none!important;
	transition:border-color var(--tr);
	width:100%;
	-webkit-appearance:none;
}

.v2-home-contact-form input[type=text],
.v2-home-contact-form input[type=email],
.v2-home-contact-form input[type=tel],
.v2-home-contact-form select,
.v2-home-contact-form textarea{
	color:#ffffff!important;
	border-bottom-color:rgba(255,255,255,.25)!important;
}

.v2-contact-form-wrap input:focus,
.v2-contact-form-wrap textarea:focus,
.v2-contact-form-wrap select:focus{border-bottom-color:#005776!important}
.v2-home-contact-form input:focus,
.v2-home-contact-form textarea:focus,
.v2-home-contact-form select:focus{border-bottom-color:var(--accent-blue)!important}

.v2-contact-form-wrap ::placeholder{color:#a7a8a9!important}
.v2-home-contact-form ::placeholder{color:rgba(255,255,255,.3)!important}

.v2-contact-form-wrap textarea,
.v2-home-contact-form textarea{resize:none;min-height:100px}

/* Phone field specifically — WPForms' "Smart Phone Field" (country code
   dropdown) wraps the input in its own boxed container (.iti) that the
   plain input selector above doesn't reach. Flattening that wrapper too. */
.v2-contact-form-wrap .wpforms-field-phone .iti,
.v2-home-contact-form .wpforms-field-phone .iti{width:100%}
.v2-contact-form-wrap .wpforms-field-phone .iti input,
.v2-home-contact-form .wpforms-field-phone .iti input{
	border:none!important;
	border-bottom:1px solid rgba(10,15,20,.25)!important;
	background:transparent!important;
	box-shadow:none!important;
	padding-left:2.5rem!important;
}
.v2-home-contact-form .wpforms-field-phone .iti input{border-bottom-color:rgba(255,255,255,.25)!important}
.v2-contact-form-wrap .wpforms-field-phone .iti__flag-container,
.v2-home-contact-form .wpforms-field-phone .iti__flag-container{background:transparent!important;border:none!important}

/* Safety net: if the box is on the field's own wrapper div rather than
   the input/iti elements above, strip it here too. */
.v2-contact-form-wrap .wpforms-field-phone,
.v2-home-contact-form .wpforms-field-phone{border:none!important;box-shadow:none!important;background:transparent!important}

/* Name + Email side by side, and Phone + Company side by side —
   done via flexbox (with gap) rather than inline-block, since
   inline-block width math was causing subtle alignment drift.
   Targeted by WPForms' field-type classes, not position. */
.v2-contact-form-wrap .wpforms-form,
.v2-home-contact-form .wpforms-form,
.v2-contact-form-wrap .wpforms-field-container,
.v2-home-contact-form .wpforms-field-container{display:flex;flex-wrap:wrap;gap:0 1.5rem}

.v2-contact-form-wrap .wpforms-field-name,
.v2-contact-form-wrap .wpforms-field-email,
.v2-contact-form-wrap .wpforms-field-phone,
.v2-contact-form-wrap .wpforms-field-text,
.v2-home-contact-form .wpforms-field-name,
.v2-home-contact-form .wpforms-field-email,
.v2-home-contact-form .wpforms-field-phone,
.v2-home-contact-form .wpforms-field-text{
	flex:1 1 calc(50% - .75rem);
	min-width:0;
}

.v2-contact-form-wrap .wpforms-field-textarea,
.v2-home-contact-form .wpforms-field-textarea,
.v2-contact-form-wrap .wpforms-submit-container,
.v2-home-contact-form .wpforms-submit-container{flex:1 1 100%}

@media(max-width:768px){
  .v2-contact-form-wrap .wpforms-field-name,
  .v2-contact-form-wrap .wpforms-field-email,
  .v2-contact-form-wrap .wpforms-field-phone,
  .v2-contact-form-wrap .wpforms-field-text,
  .v2-home-contact-form .wpforms-field-name,
  .v2-home-contact-form .wpforms-field-email,
  .v2-home-contact-form .wpforms-field-phone,
  .v2-home-contact-form .wpforms-field-text{flex:1 1 100%}
}

/* Message (Paragraph Text) always full width on its own row */
.v2-contact-form-wrap .wpforms-field-textarea,
.v2-home-contact-form .wpforms-field-textarea{display:block;width:100%}

.v2-contact-form-wrap .wpforms-submit-container,
.v2-home-contact-form .wpforms-submit-container{margin:0!important;padding:0!important}

.v2-contact-form-wrap .wpforms-submit,
.v2-home-contact-form .wpforms-submit{
	display:inline-flex!important;
	align-items:center;
	gap:.5rem;
	padding:.7rem 1.75rem!important;
	font-family:var(--font-body)!important;
	font-size:.78rem!important;
	font-weight:600!important;
	letter-spacing:.1em;
	text-transform:uppercase;
	border-radius:2px!important;
	cursor:pointer;
	transition:var(--tr);
	background:#6399ae!important;
	color:#ffffff!important;
	border:1px solid #6399ae!important;
}
.v2-contact-form-wrap .wpforms-submit:hover,
.v2-home-contact-form .wpforms-submit:hover{background:#005776!important;border-color:#005776!important}

.v2-home-contact-form .wpforms-submit{background:#b9dbe5!important;color:var(--blue-dark)!important;border-color:#b9dbe5!important}
.v2-home-contact-form .wpforms-submit:hover{background:#ffffff!important;color:var(--blue-dark)!important;border-color:#ffffff!important}

.v2-contact-form-wrap .wpforms-confirmation-container,
.v2-home-contact-form .wpforms-confirmation-container,
.v2-contact-form-wrap .wpforms-confirmation-container-full,
.v2-home-contact-form .wpforms-confirmation-container-full{
	background:#e6f4f1!important;
	background-color:#e6f4f1!important;
	border:none!important;
	box-shadow:none!important;
	padding:1.5rem!important;
	border-radius:4px!important;
	font-family:var(--font-body);
}
.v2-contact-form-wrap .wpforms-confirmation-container *,
.v2-home-contact-form .wpforms-confirmation-container *{
	color:#006450!important;
	font-family:var(--font-body)!important;
}
.v2-home-contact-form .wpforms-confirmation-container,
.v2-home-contact-form .wpforms-confirmation-container-full{
	background:#003d54!important;
	background-color:#003d54!important;
}
.v2-home-contact-form .wpforms-confirmation-container p,
.v2-home-contact-form .wpforms-confirmation-container span,
.v2-home-contact-form .wpforms-confirmation-container div,
.v2-home-contact-form .wpforms-confirmation-container *{
	color:#ffffff!important;
	opacity:1!important;
}

.v2-home-contact-form .wpforms-container-full *:not(.wpforms-field-label):not(input):not(textarea):not(select):not(label):not(button):not(.wpforms-submit){
	color:#ffffff!important;
}
.v2-contact-form-wrap .wpforms-container-full *:not(.wpforms-field-label):not(input):not(textarea):not(select):not(label):not(button):not(.wpforms-submit){
	color:#006450!important;
}

/* Prevent the surrounding section from collapsing/jumping when WPForms
   swaps the form out for the confirmation message on submit — both hold
   the same minimum height regardless of which is currently showing. */
.v2-contact-form-wrap,
.v2-home-contact-form{
	min-height:480px;
}

.v2-contact-form-wrap .wpforms-error{color:#c0392b!important;font-weight:700!important;font-size:.85rem!important;margin-top:.35rem!important}
.v2-home-contact-form .wpforms-error{color:#ffb3ab!important;font-weight:700!important;font-size:.85rem!important;margin-top:.35rem!important}
.form-success{text-align:center;padding:3rem 0}
.form-success h3{font-family:var(--font-display);color:#ffffff;margin-bottom:.75rem;font-size:2rem;font-weight:700}

/* ────────────────────────────────
   WHO WE ARE
──────────────────────────────── */
.v2-wwa-hero{position:relative;height:clamp(640px,90vh,960px);overflow:hidden}
.v2-wwa-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.45)}
.v2-wwa-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:4rem 2.5rem;max-width:var(--max);margin:0 auto;left:0;right:0;padding-top:64px}
.v2-wwa-hero-content h1{color:var(--ivory);font-weight:700;font-style:normal;max-width:700px}
.v2-wwa-hero-content h1 em{font-style:normal;font-weight:600}
.v2-team-section{max-width:var(--max);margin:0 auto;padding:2.5rem 2.5rem 5rem}
.v2-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);margin-top:3rem}
.v2-team-card{background:#f0f8fb;cursor:pointer;overflow:hidden;transition:background var(--tr);position:relative}
.v2-team-card:hover{background:#e0eff5}
.v2-team-img-wrap{position:relative;aspect-ratio:1;overflow:hidden}
.v2-team-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.v2-team-img-secondary{display:none}
.v2-team-card:hover .v2-team-img-wrap img{transform:scale(1.04)}
.v2-team-card-info{padding:1.25rem 1.25rem 1.5rem;border-top:2px solid #6399ae}
.v2-team-card-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:#005776;margin-bottom:.2rem}
.v2-team-card-title{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-pink)}
.v2-values-section{border-top:none;border-bottom:none;background:#aa0061}
.v2-values-inner{max-width:var(--max);margin:0 auto;padding:5rem 2.5rem}
.v2-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:none;margin-top:3rem}
.v2-value{padding:2.5rem 2rem}
.v2-value:last-child{border-right:none}
.v2-value:nth-child(2),.v2-value:nth-child(3),.v2-value:nth-child(5),.v2-value:nth-child(6){padding-left:2rem}
.v2-value:nth-child(4){padding-left:2rem}
.v2-value h4{font-family:var(--font-display);font-size:1.3rem;color:#f5dadf;margin-bottom:.75rem;font-weight:600}

/* ────────────────────────────────
   WHAT WE DO
──────────────────────────────── */
.v2-services-hero{border-bottom:none;padding:8rem 2.5rem 2rem;max-width:var(--max);margin:0 auto}
.v2-services-hero h1{font-weight:700;font-style:normal;color:#0a0f14;max-width:700px;margin-bottom:1.5rem}
.v2-services-hero h1 em{font-style:normal;font-weight:600}
.v2-services-list{width:100%;max-width:100%;margin:0;padding:0;background:#6399ae}
.v2-service-detail{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:none;max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.v2-service-detail:first-child{border-top:none}
.v2-service-detail-img{overflow:hidden;height:100%}
.v2-service-detail-img img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.7);transition:filter .4s ease}
.v2-service-detail:hover .v2-service-detail-img img{filter:brightness(.85)}
.v2-service-detail-body{padding:4rem;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--rule)}
.v2-service-detail:nth-child(even) .v2-service-detail-img{order:2}
.v2-service-detail:nth-child(even) .v2-service-detail-body{order:1;border-left:none;border-right:1px solid var(--rule)}
.v2-service-detail-body h3{color:#0a0f14;margin-bottom:1rem;font-weight:600}
.v2-service-detail-body p{margin-bottom:1.5rem;line-height:1.8}

/* Case study Text+Image: no divider line, no dim-until-hover fade
   (What We Do's service rows above keep their own look untouched) */
.v2-cs-text-image.v2-service-detail{gap:2rem}
.v2-cs-text-image .v2-service-detail-img{height:auto;display:flex;align-items:center}
.v2-cs-text-image .v2-service-detail-img img{width:100%;height:auto;object-fit:unset;filter:none}
.v2-cs-text-image:hover .v2-service-detail-img img{filter:none}
.v2-cs-text-image .v2-service-detail-body{border-left:none!important;border-right:none!important;padding:0}
.v2-caps-list{display:flex;flex-direction:column;gap:.5rem}
.v2-caps-list li{font-size:.9rem;color:rgba(10,15,20,.65);margin-bottom:.6rem;line-height:1.5}
.v2-caps-list li::before{content:'';position:absolute;left:0;top:.6em;width:4px;height:1px;background:var(--accent-blue)}
.v2-process>*{max-width:var(--max);margin-left:auto;margin-right:auto}

/* ────────────────────────────────
   CASE STUDIES
──────────────────────────────── */
.v2-cs-hero{padding:8rem 2.5rem 2rem;max-width:var(--max);margin:0 auto}
.v2-cs-hero h1{font-weight:700;font-style:normal;color:#0a0f14;margin-bottom:1rem}
.v2-cs-hero h1 em{font-style:normal;font-weight:600}
.v2-filter-bar{padding:1rem 0;border-bottom:2px solid #005776;position:sticky;top:64px;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
.v2-filter-bar-inner{display:flex;flex-wrap:wrap;gap:.4rem;max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.v2-filter-pill{padding:.3rem 1rem;border:1px solid #b9dbe5;background:transparent;font-family:var(--font-body);font-size:.7rem;font-weight:600;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:#005776;transition:var(--tr);border-radius:1px}
.v2-filter-pill:hover{border-color:#005776;color:#005776;background:rgba(0,87,118,.08)}
.v2-filter-pill.active{background:#005776;border-color:#005776;color:#ffffff}
.v2-cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}
.v2-cs-tile{background:#f0f8fb;position:relative;overflow:hidden;cursor:pointer;aspect-ratio:4/3;transition:opacity .3s ease}
.v2-cs-tile img{width:100%;height:100%;object-fit:cover;filter:brightness(.55);transform:scale(1.01);transition:filter .5s ease,transform .6s ease;backface-visibility:hidden}
.v2-cs-tile:hover img{filter:brightness(.3);transform:scale(1.06)}
.v2-cs-tile-overlay{position:absolute;inset:0;background:rgba(170,0,97,0);transition:background .4s ease}
.v2-cs-tile:hover .v2-cs-tile-overlay{background:rgba(170,0,97,.25)}
.v2-cs-tile-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;transform:translateY(8px);transition:transform .4s ease}
.v2-cs-tile:hover .v2-cs-tile-content{transform:translateY(0)}
.v2-cs-tile-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.v2-cs-tile-tag{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff;border:1px solid rgba(255,255,255,.5);padding:.2rem .6rem;border-radius:1px}

.v2-cs-page-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.v2-cs-page-tag{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#005776;border:1px solid #b9dbe5;padding:.35rem .9rem;border-radius:1px}

.v2-cs-multi-image{display:grid;gap:1rem}
.v2-cs-multi-image-item{display:flex;align-items:center}
.v2-cs-multi-image-item img{width:100%;height:auto;display:block}

.v2-cs-ti-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;height:100%}
.v2-cs-ti-gallery-item{display:flex;align-items:center}
.v2-cs-ti-gallery-item img{width:100%;height:auto;display:block}
.v2-cs-tile-content h3{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--ivory);line-height:1.15;margin-bottom:.6rem}
.v2-cs-tile-content p{font-size:.85rem;color:rgba(232,228,220,.8);line-height:1.6;max-height:none;overflow:visible}


/* ────────────────────────────────
   WILBERT CARES
──────────────────────────────── */

/* ────────────────────────────────
   CONTACT
──────────────────────────────── */
.v2-contact-hero{border-bottom:1px solid var(--rule);padding:8rem 2.5rem 5rem;max-width:var(--max);margin:0 auto}
.v2-contact-hero h1{font-weight:700;font-style:normal;color:#0a0f14;margin-bottom:1rem}
.v2-contact-hero h1 em{font-style:normal;font-weight:600}
.v2-contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:0;max-width:1450px;margin:0 auto;border-bottom:none;border-top:none}
.v2-contact-info{padding:5rem 2.5rem;border-right:1px solid #b9dbe5}
.v2-contact-detail{margin-bottom:2rem}
.v2-contact-detail-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(10,15,20,.45);margin-bottom:.4rem}
.v2-contact-detail-val{font-size:.95rem;color:#0a0f14}
.v2-contact-social{display:flex;gap:.75rem;margin-top:2.5rem}
.v2-social-btn{width:36px;height:36px;border:1px solid #b9dbe5;display:flex;align-items:center;justify-content:center;color:#63666a;font-size:.8rem;transition:var(--tr);font-family:var(--font-body)}
.v2-social-btn:hover{border-color:#005776;color:#005776;background:rgba(0,87,118,.06)}
.v2-contact-form-wrap{padding:5rem 2.5rem}

/* Blog pagination */
.v2-blog-pagination{max-width:var(--max);margin:0 auto;padding:2rem 2.5rem 5rem;display:flex;justify-content:center}
.v2-blog-pagination .page-numbers{display:flex;gap:.4rem;list-style:none;margin:0;padding:0;align-items:center}
.v2-blog-pagination .page-numbers li{display:flex}
.v2-blog-pagination .page-numbers a,
.v2-blog-pagination .page-numbers span{display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .75rem;border:1px solid #d9d9d6;font-family:var(--font-body);font-size:.82rem;font-weight:500;color:#63666a;border-radius:2px;transition:var(--tr);text-decoration:none;white-space:nowrap}
.v2-blog-pagination .page-numbers a:hover{border-color:#005776;color:#005776;background:rgba(0,87,118,.05)}
.v2-blog-pagination .page-numbers span.current{background:#005776;border-color:#005776;color:#ffffff;font-weight:700}
.v2-blog-pagination .page-numbers .dots{border:none;color:#a7a8a9}

/* ────────────────────────────────
   BLOG CONTENT — matches editor-style.css
   so published output = editor preview
──────────────────────────────── */
.blog-content{font-family:'Roboto',sans-serif;font-size:14pt;color:#4a5568;line-height:1.8;max-width:760px;margin:0 auto}
.blog-content p{font-family:'Roboto',sans-serif;font-size:14pt;color:#4a5568;line-height:1.8;margin-bottom:1.25rem}
.blog-content a{color:#005776;text-decoration:underline}
.blog-content a:hover{color:#003d54}
.blog-content h1,.blog-content .blog-title{font-family:'Playfair Display',serif;font-weight:700;font-size:2rem;color:#0a0f14;line-height:1.2;margin-bottom:1rem;font-style:normal}
.blog-content h2,.blog-content .blog-header{font-family:'Roboto',sans-serif;font-weight:700;font-size:1.2rem;color:#0a0f14;margin:2rem 0 .75rem;line-height:1.4}
.blog-content h3{font-family:'Roboto',sans-serif;font-weight:700;font-size:1.05rem;color:#0a0f14;margin:1.5rem 0 .5rem}
.blog-content ul,.blog-content ol{font-family:'Roboto',sans-serif;font-size:1rem;color:#4a5568;line-height:1.75;padding-left:1.75rem;margin-bottom:1.25rem}
.blog-content li{margin-bottom:.4rem}
.blog-content blockquote{border-left:3px solid #005776;padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:#63666a}
.blog-content hr{border:none;border-top:1px solid #e2e6ea;margin:2.5rem 0}
.blog-content .blog-spacer{display:block;height:3rem}
.cs-rich-content .blog-spacer{display:block;height:3rem}
.blog-content strong{color:#0a0f14;font-weight:700}
.blog-content em{font-style:italic}
/* Author block */
.blog-author-block{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e2e6ea;display:block}
.blog-author-label{font-family:'Playfair Display',serif;font-size:.85rem;font-weight:400;color:#9aa5b4;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:.3rem}
.blog-author-name{font-family:'Roboto',sans-serif;font-size:1.1rem;font-weight:700;color:#0a0f14;display:block}

/* ────────────────────────────────
   BLOG
──────────────────────────────── */
.v2-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:var(--max);margin:0 auto;padding:0 2.5rem 2rem;background:transparent}
.v2-blog-card{background:#f2f4f5;cursor:pointer;transition:background var(--tr);overflow:hidden}
.v2-blog-card:hover{background:#e4ecf0}
.v2-blog-img-wrap{position:relative;overflow:hidden;aspect-ratio:16/9}
.v2-blog-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:filter .4s ease,transform .6s ease}
.v2-blog-card:hover .v2-blog-img-wrap img{filter:brightness(.9);transform:scale(1.03)}
.v2-blog-body{padding:2rem;border-top:2px solid #6399ae}
.v2-blog-meta{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(10,15,20,.45);margin-bottom:.75rem}
.v2-blog-body h3{font-family:var(--font-display);font-size:1.3rem;color:#0a0f14;line-height:1.25;margin-bottom:.75rem;font-weight:600}
.v2-blog-body p{font-size:.83rem;line-height:1.65;margin-bottom:1.25rem}
.v2-blog-readmore{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#005776;display:inline-flex;align-items:center;gap:.4rem}
.v2-blog-readmore::after{content:'→';transition:transform var(--tr)}
.v2-blog-card:hover .v2-blog-readmore::after{transform:translateX(4px)}

/* ────────────────────────────────
   FULL PAGES (CS / BLOG / PROFILE / TESTIMONIAL)
──────────────────────────────── */

/* PROFILE */

/* ────────────────────────────────
   FOOTER
──────────────────────────────── */
footer{border-top:1px solid var(--rule);background:#001e2e}

/* Footer */
#site-footer{border-top:none}
.footer-inner{max-width:var(--max);margin:0 auto;padding:2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;background:#001e2e}
.footer-copy{font-size:.78rem;color:var(--ivory-dim);margin:0}
.footer-social{display:flex;gap:.75rem;align-items:center;order:2}
nav.footer-nav{order:3}
.footer-social-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;color:var(--ivory-dim);transition:color var(--tr),border-color var(--tr)}
.footer-social-btn:hover{color:var(--ivory);border-color:var(--ivory-dim)}
.footer-social-btn svg{width:16px;height:16px}
.v2-cs-intro-title{font-family:'Playfair Display',serif;font-weight:700;font-style:normal;color:#005776}
.cs-rich-content{color:#63666a;line-height:1.85;font-size:14pt}
.v2-team-bio{color:#63666a;line-height:1.85}
.v2-team-bio p{margin-bottom:1rem}
.v2-team-bio ul,.v2-team-bio ol{margin:0 0 1rem 1.5rem}
.v2-team-bio li{margin-bottom:.4rem}
.cs-rich-content p{font-size:14pt}
article p{color:rgba(10,15,20,.65)!important}
article h1,article h2,article h3,article h4{color:#0a0f14}
.cs-rich-content.size-sm{font-size:14pt}
.cs-rich-content.size-md{font-size:14pt}
.cs-rich-content.size-lg{font-size:18pt}
.cs-rich-content p{margin-bottom:1rem}
.cs-rich-content h2,.cs-rich-content h3,.cs-rich-content h4{color:#005776;font-weight:300;font-style:italic;margin:2rem 0 .75rem}
.cs-rich-content strong{font-weight:600}
.cs-rich-content em{font-style:italic}
.cs-rich-content a{color:#6399ae;text-decoration:underline}
.cs-rich-content ul,.cs-rich-content ol{margin:0 0 1rem 1.5rem}
.cs-rich-content li{margin-bottom:.4rem}
.cs-rich-content li::marker{color:#63666a}
.cs-rich-content blockquote{border-left:2px solid var(--accent-blue);padding-left:1.5rem;font-style:italic;color:var(--ivory-dim);margin:1.5rem 0}

/* ────────────────────────────────
   DARK SECTION TEXT OVERRIDES
   (white text on dark/colored backgrounds)
──────────────────────────────── */
/* Buttons on dark backgrounds — override light btn-ivory back to white outline */
.v2-hero-content .btn-ivory,.v2-home-contact .btn-ivory{color:#ffffff;border-color:rgba(255,255,255,.4);background:transparent}
.v2-hero-content .btn-ivory:hover,.v2-home-contact .btn-ivory:hover{background:#ffffff;color:#0a0f14;border-color:#ffffff}
.v2-home-contact .btn-blue{background:#b9dbe5;color:var(--blue-dark)}
.v2-home-contact .btn-blue:hover{background:#ffffff;color:var(--blue-dark)}
.v2-services-strip .eyebrow{color:#f5dadf}
.v2-services-strip .eyebrow::before{background:#f5dadf}
.v2-services-strip h2{color:#ffffff}
/* Testimonials (dark green bg) — monochromatic light green/white only */
.v2-testi-section .eyebrow{color:#c8e4d8}
.v2-testi-section .eyebrow::before{background:#c8e4d8}
.v2-testi-section h2{color:#ffffff}
.v2-home-contact p,.v2-home-contact h2{color:#ffffff}
.v2-home-contact .eyebrow{color:#b9dbe5}
.v2-home-contact .eyebrow::before{background:#b9dbe5}
.v2-values-section p{color:rgba(245,218,223,.75)}
.v2-values-section h2{color:#ffffff}
.v2-values-section .eyebrow{color:#f5dadf}
.v2-values-section .eyebrow::before{background:#f5dadf}
footer .footer-copy{color:rgba(255,255,255,.5)}
.footer-social-btn{color:rgba(255,255,255,.5)}
.footer-social-btn:hover{color:#ffffff;border-color:rgba(255,255,255,.5)}
nav.footer-nav a{color:rgba(255,255,255,.8)}
nav.footer-nav a:hover{color:#ffffff}
/* Intro section heading already dark, eyebrow fix on white */
.v2-testi-header .eyebrow{color:#c8e4d8}
.v2-testi-header .eyebrow::before{background:#c8e4d8}
.v2-testi-header h2{color:#ffffff}
/* Services hero eyebrow on white */
.v2-services-hero .eyebrow{color:#005776}
.v2-services-hero .eyebrow::before{background:#005776}
/* Case Studies hero */
.v2-cs-hero .eyebrow{color:#005776}
.v2-cs-hero .eyebrow::before{background:#005776}
.v2-cs-hero p{color:rgba(10,15,20,.65)}
/* Blog hero */
/* Contact hero */
.v2-contact-hero .eyebrow{color:#005776}
.v2-contact-hero .eyebrow::before{background:#005776}
.v2-contact-hero p{color:rgba(10,15,20,.65)}
/* Process on gold bg — fully dark text, yellow heading */
/* Testi section btn-ivory on dark green bg */
.v2-testi-section .btn-ivory{color:#ffffff;border-color:rgba(200,228,216,.5);background:transparent}
.v2-testi-section .btn-ivory:hover{background:#ffffff;color:#006450;border-color:#ffffff}
/* Service detail (What We Do) on medium blue bg */
.v2-service-detail-body h3{color:#ffffff}
.v2-service-detail-body p{color:rgba(255,255,255,.75)}
.v2-service-detail-body .eyebrow{color:#b9dbe5}
.v2-service-detail-body .eyebrow::before{background:#b9dbe5}
.v2-caps-list li{color:rgba(255,255,255,.75)}

/* Contact address + form layout */
/* Footer logo */
.footer-logo{display:flex;align-items:center;flex-shrink:0;color:rgba(255,255,255,.6);transition:color var(--tr)}
.footer-logo:hover{color:#ffffff}
.footer-logo svg{height:44px;width:auto}

/* ── HERO CENTERED (Phase 1.0) ── */
.v2-hero-content--centered{display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;text-align:center;padding:4rem 2.5rem 5vh;width:100%;min-height:100vh}
.v2-hero-wordmark{height:clamp(66px,10.5vw,135px);width:auto;color:#ffffff}
.v2-hero-tagline-section{background:#003d54;padding:3.5rem 0}
.v2-hero-tagline-inner{max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.v2-hero-tagline{font-family:var(--font-body);font-size:clamp(1.25rem,2.6vw,1.85rem);color:#ffffff;line-height:1.7;text-align:left;margin:0}
.v2-hero-tagline strong{font-weight:700}

/* ── TEAM INTRO BLOCK ── */
.v2-team-intro-block{background:#006450;padding:4rem 0}
.v2-team-intro-inner{max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.v2-team-intro-para{font-family:var(--font-body);font-size:clamp(1.1rem,2.2vw,1.55rem);line-height:1.65;color:rgba(255,255,255,.82);max-width:900px;margin:0;text-align:left;font-weight:300}
.v2-team-intro-para strong{color:#ffffff;font-weight:600}

/* ── WHAT WE DO — PULL QUOTE INTRO ── */
.v2-wwd-intro-block{background:var(--accent-gold-dark);padding:4rem 0}
.v2-wwd-intro-inner{max-width:var(--max);margin:0 auto;padding:0 2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.v2-wwd-intro-para{font-family:var(--font-body);font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.7;color:rgba(255,255,255,.82);font-weight:300;max-width:900px;text-align:left;margin:0}
.v2-wwd-intro-para strong{color:#ffffff;font-weight:700}
.v2-wwd-body-para{font-family:var(--font-body);font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.7;color:rgba(255,255,255,.75);font-weight:300;max-width:900px;margin:0}

/* ── WHAT WE DO — SERVICE ROWS ── */
.v2-wwd-services{max-width:var(--max);margin:0 auto;padding:0 2.5rem}
.v2-wwd-row{display:grid;grid-template-columns:260px 1fr 1fr;gap:3.5rem;align-items:center;padding:4rem 0;border-bottom:1px solid var(--rule)}
.v2-wwd-row:last-child{border-bottom:none}
.v2-wwd-img-wrap{width:260px;height:260px;border-radius:50%;overflow:hidden;flex-shrink:0;align-self:center}
.v2-wwd-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.v2-wwd-text h3{color:rgba(10,15,20,.85);margin-bottom:.75rem}
.v2-wwd-text p{color:rgba(10,15,20,.65);margin-bottom:1.25rem;font-size:.95rem}
.v2-wwd-text .eyebrow{color:#005776}
.v2-wwd-text .eyebrow::before{background:#005776}
.v2-caps-list{list-style:none;padding-left:0;margin-top:2.25rem}
.v2-caps-list li{font-size:.9rem;color:rgba(10,15,20,.65);margin-bottom:.6rem;line-height:1.5}


/* ── CLIENT LOGO SCROLLER ── */
.v2-logo-scroller{border-top:none;border-bottom:none;padding:2.5rem 0;overflow:hidden;background:#006450}
.v2-logo-track{display:flex;gap:4rem;align-items:center;width:max-content;animation:logoscroll 60s linear infinite}
.v2-logo-track:hover{animation-play-state:paused}
.v2-logo-item{flex-shrink:0;height:44px;display:flex;align-items:center}
.v2-logo-item img{height:100%;width:auto;max-width:160px;object-fit:contain;filter:brightness(0) invert(1);opacity:.6;transition:opacity .3s ease}
.v2-logo-item img:hover{opacity:1}
@keyframes logoscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── FEATURED CASE STUDIES ── */
.v2-featured-cs{background:#006450;padding:5rem 2.5rem}
.v2-featured-cs-header{display:flex;justify-content:space-between;align-items:flex-end;max-width:var(--max);margin:0 auto 3rem;padding-bottom:2rem;border-bottom:1px solid rgba(200,228,216,.2)}
.v2-featured-cs-header h2{color:#ffffff;font-weight:700;font-style:normal;margin-top:.5rem}
.v2-featured-cs-header .eyebrow{color:#c8e4d8}
.v2-featured-cs-header .eyebrow::before{background:#c8e4d8}
.btn-featured-cs{color:#ffffff;border:1px solid rgba(200,228,216,.5);background:transparent;padding:.6rem 1.5rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;transition:var(--tr);white-space:nowrap}
.btn-featured-cs:hover{background:rgba(255,255,255,.12);border-color:#c8e4d8}
.v2-featured-cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:var(--max);margin:0 auto;background:rgba(200,228,216,.15)}

/* ────────────────────────────────
   RESPONSIVE
──────────────────────────────── */
@media(max-width:1024px){
  .v2-intro{grid-template-columns:1fr;gap:3rem}
  .v2-team-grid{grid-template-columns:repeat(3,1fr)}
  .v2-service-row{grid-template-columns:60px 1fr auto}
  .v2-service-desc{display:none}
  .v2-service-detail{grid-template-columns:1fr}
  .v2-cs-text-image.v2-service-detail{display:flex!important;flex-direction:column!important;gap:1.5rem}
  .v2-cs-text-image .v2-service-detail-img,.v2-cs-text-image .v2-service-detail-body{width:100%}
  .v2-service-detail:nth-child(even) .v2-service-detail-img{order:0}
  .v2-service-detail:nth-child(even) .v2-service-detail-body{order:0;border-right:none;border-left:1px solid var(--rule)}
  .v2-cs-grid{grid-template-columns:repeat(2,1fr)}
  .v2-cs-multi-image{grid-template-columns:repeat(2,1fr)!important}
  .v2-blog-grid{grid-template-columns:repeat(2,1fr)}
  .v2-contact-layout{grid-template-columns:1fr}
  .v2-home-contact-inner{grid-template-columns:1fr}
  .v2-home-contact-form{order:1}
  .v2-home-contact-address{order:2}
  .v2-testi-grid{grid-template-columns:1fr}
  .v2-testi-card:first-child{border-left:1px solid var(--rule)}
  .v2-stats-row{grid-template-columns:repeat(3,1fr)}
  .v2-cs-stats{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:768px){
  nav.main-nav,.nav-contact-btn-wrap{display:none}
  .hamburger{display:flex}

  .v2-home-contact-inner{grid-template-columns:1fr}
  .v2-home-contact-form{order:1}
  .v2-home-contact-address{order:2}
  .v2-home-contact-address{border-left:none;border-right:none;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:2rem 0}
  .v2-featured-cs-grid{grid-template-columns:1fr}
  .v2-featured-cs-header{flex-direction:column;align-items:flex-start;gap:1.5rem}

  .v2-featured-cs-header{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .v2-wwd-row{grid-template-columns:1fr;gap:2rem}
  .v2-wwd-img-wrap{width:140px;height:140px;margin:0 auto}
  .v2-caps-list{margin-top:1rem}
  .v2-wwd-intro-block{padding:3rem 0}
  .v2-wwd-intro-inner{padding:0 1.5rem;gap:1.25rem}
  .v2-hero-wordmark{height:44px}
  .v2-team-intro-block{padding:3rem 0}
  .v2-team-intro-inner{padding:0 1.5rem}
  .v2-team-intro-para{font-size:1rem}

  /* Hide scroll indicator and ticker on mobile */
  .v2-ticker{display:none}

  /* Home — hero */
  .v2-hero-content{padding:0 1.5rem 4rem}

  /* Home — stats: force all 3 onto one row, shrink font to fit */
  .v2-stats-row{grid-template-columns:repeat(3,1fr)}
  .v2-cs-stats{grid-template-columns:1fr!important}
  .v2-cs-stats .v2-stat{border-right:none!important;border-bottom:1px solid #b9dbe5!important}
  .v2-cs-stats .v2-stat:last-child{border-bottom:none!important}
  .v2-stat{border-right:1px solid #b9dbe5;border-bottom:none;padding:1.5rem .75rem}
  .v2-stat:last-child{border-right:none}
  .v2-stat-num{font-size:2rem}
  .v2-stat-label{font-size:.62rem}

  /* Home — testimonials: stack vertically, no borders */
  .v2-testi-grid{grid-template-columns:1fr}
  .v2-testi-card{border-left:none;border-right:none;border-bottom:1px solid var(--rule)}
  .v2-testi-card:first-child{border-left:none}
  .v2-testi-card:last-child{border-bottom:none}

  /* Who We Are — values: all flush left including last-child (Better Together) */
  .v2-team-grid{grid-template-columns:repeat(2,1fr)}
  .v2-values-grid{grid-template-columns:1fr}
  .v2-value{border-right:none;border-bottom:1px solid var(--rule);padding:2rem 0}
  .v2-value:last-child{border-bottom:none;padding-left:0;padding-right:0}
  .v2-value:nth-child(2),.v2-value:nth-child(4),.v2-value:nth-child(5){padding-left:0}

  /* What We Do — service detail */
  .v2-service-detail{grid-template-columns:1fr}
  .v2-cs-text-image.v2-service-detail{display:flex!important;flex-direction:column!important;gap:1.5rem}
  .v2-cs-text-image .v2-service-detail-img,.v2-cs-text-image .v2-service-detail-body{width:100%}
  .v2-cs-text-image .v2-service-detail-body{padding:0!important}
  .v2-service-detail-body{padding:2rem 1.5rem;border-left:none !important;border-right:none !important}
  .v2-service-detail:nth-child(even) .v2-service-detail-img{order:0}
  .v2-service-detail:nth-child(even) .v2-service-detail-body{order:0}

  /* What We Do — process steps: all flush left */

  /* What We Do — remove border-top above first capability image, fix Optimize indent */
  .v2-service-detail:first-child{border-top:none}

  /* Blog mobile — matches Case Study tile style: dark overlay, title+excerpt over image */
  .v2-blog-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);max-width:100%}
  .v2-blog-card{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
  .v2-blog-img-wrap{position:absolute;inset:0;aspect-ratio:unset;height:100%}
  .v2-blog-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
  .v2-blog-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;border-top:none;background:none}
  .v2-blog-body h3{font-family:var(--font-display);font-size:1.1rem;color:var(--ivory);margin-bottom:.4rem;font-weight:700;line-height:1.15}
  .v2-blog-body p{display:block;font-size:.8rem;color:rgba(232,228,220,.8);line-height:1.5;margin-bottom:0}
  .v2-blog-readmore,.v2-blog-meta{display:none}

  /* Hero video is now a self-hosted <video> tag with object-fit:cover —
     see .v2-hero-video near the top of this file. No mobile override
     needed; object-fit:cover on a real video element just works at
     any screen size/aspect ratio, unlike the old Vimeo iframe. */
  .v2-wwa-hero{height:clamp(320px,45vh,480px)}
  .v2-cs-grid{grid-template-columns:1fr}
  .v2-cs-tile-content{padding:1.5rem;align-items:center;text-align:center}
  .v2-cs-tile-content h3{font-size:1.1rem}
  .v2-cs-tile-content p{font-size:.75rem}
  .v2-cs-tile-tag{font-size:.6rem}

  /* Blog — square image + title only on mobile */
  .v2-blog-grid{grid-template-columns:1fr;gap:1px;background:var(--rule)}
  .v2-cs-multi-image{grid-template-columns:1fr!important}
  .v2-blog-card{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
  .v2-blog-img-wrap{position:absolute;inset:0;aspect-ratio:unset;height:100%}
  .v2-blog-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
  .v2-blog-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:1.5rem;border-top:none;background:none}
  .v2-blog-body h3{font-size:1rem;margin-bottom:.3rem;color:var(--ivory)}
  .v2-blog-body p{display:block;font-size:.75rem;color:rgba(232,228,220,.8)}
  .v2-blog-readmore,.v2-blog-meta{display:none}

  /* Mobile nav — contact link matches other nav links */
  .mobile-nav .nav-contact-btn{border:none;padding:.7rem 0 !important;margin-left:0;border-radius:0;color:var(--ivory-dim) !important;font-size:.78rem}
  .mobile-nav .nav-contact-btn:hover{background:transparent !important;border-color:transparent !important;color:var(--ivory) !important}

  /* Misc */
  .v2-contact-info{border-right:none;border-bottom:1px solid var(--rule)}
  .v2-form-row{grid-template-columns:1fr}
  .v2-service-row{grid-template-columns:1fr auto;gap:1rem}
  .v2-service-num{display:none}
}
