/*
Theme Name: Aqualex
Theme URI: https://revclerx.com/
Author: Revclerx
Author URI: https://revclerx.com/
Description: Trust-first block theme for a legal drafting and paralegal support company. Built from the approved Aqualex design: authority navy, one amber accent, EB Garamond headings and Lato body text. Every section is a block pattern the client can edit in the Site Editor.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aqualex
*/

/* Tokens map the sample's names onto the theme.json palette so the client can retune colors under Styles. */
:root{
  --primary:var(--wp--preset--color--primary);
  --primary-deep:var(--wp--preset--color--primary-dark);
  --primary-tint:color-mix(in srgb, var(--wp--preset--color--primary) 7%, transparent);
  --primary-2:color-mix(in srgb, var(--wp--preset--color--primary) 88%, #fff);
  --accent:var(--wp--preset--color--accent);
  --accent-hover:var(--wp--preset--color--accent-dark);
  --on-accent:var(--wp--preset--color--on-accent);
  --bg:var(--wp--preset--color--base);
  --card:var(--wp--preset--color--surface);
  --fg:var(--wp--preset--color--contrast);
  --muted:var(--wp--preset--color--muted);
  --muted-fg:var(--wp--preset--color--muted-text);
  --meta:#64748B;
  --border:var(--wp--preset--color--border);
  --border-soft:color-mix(in srgb, var(--wp--preset--color--border) 55%, #fff);
  --footer-bg:var(--wp--preset--color--footer);
  --on-navy-mute:#C5D9D6;
  --destructive:#DC2626;
  --font-display:var(--wp--preset--font-family--display);
  --font-body:var(--wp--preset--font-family--body);
  --radius:8px;
  --radius-sm:6px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 4px 12px rgba(15,23,42,.08);
  --shadow-lg:0 14px 36px rgba(15,23,42,.14);
  --dur:200ms;
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wp-block-group.wrap{max-width:1200px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.section{padding-block:clamp(3.5rem,7vw,6rem)}
.is-style-muted{background:var(--muted)}
.is-style-navy{background:var(--primary);color:#fff}
.section-head{max-width:64ch;margin-bottom:clamp(1.75rem,4vw,3rem)}
.section-head > p:not(.eyebrow){margin-top:.8rem;color:var(--muted-fg);font-size:1.05rem}
.eyebrow{display:block;font:700 .78rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--primary-2);margin-bottom:.9rem}
.display{font-family:var(--font-display);font-weight:500;font-size:var(--wp--preset--font-size--xx-large);line-height:1.08;letter-spacing:-.01em}
.lede{margin-top:1.25rem;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.65;color:var(--muted-fg);max-width:50ch}

/* Buttons */
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.7rem 1.4rem;border:1.5px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.95rem;line-height:1;letter-spacing:.01em;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(15,23,42,.2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform 120ms var(--ease)}
.wp-block-button__link:hover{box-shadow:var(--shadow-md)}
.wp-block-button__link:active{transform:translateY(1px)}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--primary);border-color:var(--primary);box-shadow:none}
.is-style-outline .wp-block-button__link:hover{background:var(--primary);color:#fff}
.is-style-outline-light .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.65);box-shadow:none}
.is-style-outline-light .wp-block-button__link:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.wp-block-buttons{gap:.75rem}

/* Header */
.wp-site-blocks > header{position:sticky;top:0;z-index:20}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);transition:box-shadow var(--dur)}
.site-header.is-stuck{box-shadow:var(--shadow-md)}
.site-header .nav{min-height:72px;gap:.75rem}
.brand{gap:.7rem;align-items:center;flex:none}
.brand .wp-block-site-logo{flex:none}
.brand .wp-block-site-logo img{width:auto;height:52px;max-width:260px;border-radius:0}
.site-footer .footer-logo{margin:0 0 1rem}
.site-footer .footer-logo img{width:auto;height:52px;max-width:260px}
.brand-text{display:grid}
.brand-name{margin:0;font:700 1.05rem/1.1 var(--font-body);letter-spacing:-.005em;white-space:nowrap}
.brand-name a{color:var(--fg);text-decoration:none}
.brand-sub{margin:.15rem 0 0;font:400 .72rem/1.1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--meta);white-space:nowrap}
.nav-links{margin-left:auto}
.nav-links .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;border-radius:var(--radius-sm);color:var(--fg);text-decoration:none;font:700 .92rem/1 var(--font-body);white-space:nowrap;transition:background-color var(--dur),color var(--dur),box-shadow var(--dur)}
.nav-links .wp-block-navigation-item__content:hover{background:var(--muted)}
.nav-links .current-menu-item > .wp-block-navigation-item__content{color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}
.nav-links .wp-block-navigation__responsive-container-open,.nav-links .wp-block-navigation__responsive-container-close{width:44px;height:44px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--fg);justify-content:center}
.nav-links .wp-block-navigation__responsive-container.is-menu-open{background:var(--card);padding:1.25rem 1rem}
.nav-links .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{min-height:48px;width:100%;border-bottom:1px solid var(--border-soft);border-radius:0;font-size:1rem}
.nav-actions{gap:.5rem;align-items:center}
.nav-phone{margin:0;white-space:nowrap}
.nav-phone a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;border-radius:var(--radius-sm);color:var(--primary);text-decoration:none;font:700 .92rem/1 var(--font-body);transition:background-color var(--dur)}
.nav-phone a:hover{background:var(--muted)}
.nav-cta .wp-block-button__link{padding-inline:1.2rem}

/* Hero */
.hero{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-deep) 100%);color:#fff;padding-block:clamp(3rem,7vw,6rem) clamp(5.5rem,10vw,8.5rem)}
.hero .display,.hero h1{color:#fff}
.hero .lede{color:var(--on-navy-mute)}
.hero-grid.wp-block-columns{gap:clamp(2rem,6vw,5rem);align-items:center}
.cta-row{margin-top:2rem}
.hero-media{position:relative;margin:0}
.hero-media::before{content:"";position:absolute;inset:1.25rem -1rem -1rem 1.25rem;border-radius:var(--radius);background:rgba(255,255,255,.08)}
.hero-media img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}

/* Proof strip */
.proof{position:relative;z-index:2;margin-top:calc(-1 * clamp(3rem,6vw,5rem))}
.proof-grid.wp-block-columns{gap:1rem}
.stat{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:1.5rem 1.4rem;box-shadow:var(--shadow-md);min-width:0}
.stat-value{font-family:var(--font-display);font-weight:500;font-size:2.5rem;line-height:1;color:var(--primary);font-variant-numeric:tabular-nums}
.stat-label{margin-top:.45rem;color:var(--muted-fg);font-size:.92rem}

/* Cards shared by services, badges, audiences, quotes, posts and social links */
.svc,.badge,.serve-card,.quote,.stat,.post-grid > .wp-block-post,.services-grid > .wp-block-post,.social li{position:relative;overflow:hidden;transition:transform 260ms var(--ease),box-shadow 260ms var(--ease),border-color 260ms var(--ease)}
.svc::after,.badge::after,.serve-card::after,.quote::after,.stat::after,.post-grid > .wp-block-post::after,.services-grid > .wp-block-post::after,.social li::after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left center;transition:transform 320ms var(--ease);pointer-events:none}
@media (hover:hover){
  .svc:hover,.badge:hover,.serve-card:hover,.quote:hover,.stat:hover,.post-grid > .wp-block-post:hover,.services-grid > .wp-block-post:hover,.social li:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary-2)}
  .svc:hover::after,.badge:hover::after,.serve-card:hover::after,.quote:hover::after,.stat:hover::after,.post-grid > .wp-block-post:hover::after,.services-grid > .wp-block-post:hover::after,.social li:hover::after{transform:scaleX(1)}
  .services-grid > .wp-block-post:hover img,.post-grid > .wp-block-post:hover img{transform:scale(1.03)}
}

/* Services grid (Query Loop of the Services post type) */
.services-grid.wp-block-post-template{gap:1.25rem}
.services-grid > .wp-block-post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}
.services-grid .wp-block-post-featured-image{margin:0;overflow:hidden}
.services-grid .wp-block-post-featured-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 700ms var(--ease)}
.svc-body{padding:1.5rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.services-grid .wp-block-post-title{font:700 1.12rem/1.3 var(--font-body)}
.services-grid .wp-block-post-title a{color:var(--fg);text-decoration:none}
.services-grid .wp-block-post-title a:hover{color:var(--primary)}
.services-grid .wp-block-post-excerpt{color:var(--muted-fg);font-size:.95rem}
.wp-block-post-excerpt__more-link{display:inline-flex;align-items:center;min-height:44px;color:var(--primary-2);font-weight:700;font-size:.9rem;text-decoration:none}
.wp-block-post-excerpt__more-link:hover{text-decoration:underline}
.services-grid-4 .svc-body{padding:1.2rem 1.3rem 1.3rem}
.services-grid-4 .wp-block-post-title{font-size:1.02rem}
.services-grid-4 .wp-block-post-excerpt{font-size:.9rem}
.service-sub{font:700 .82rem/1.4 var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--primary-2)}
.extras .badge::before{display:none}
.svc-wide{margin-top:1.25rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.5rem 1.8rem;background:var(--muted);border-radius:var(--radius)}
.svc-wide h3{margin:0}
.svc-wide p{color:var(--muted-fg);font-size:.95rem;margin-top:.35rem}
.services-more{margin-top:1.5rem}

/* Who we serve */
.serve.wp-block-columns{gap:1.5rem}
.serve-card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0;padding:0}
.serve-head{padding:1.4rem 1.8rem;border-bottom:1px solid var(--border-soft);background:var(--primary-tint)}
.serve-head h3{font-family:var(--font-display);font-weight:500;font-size:1.6rem;line-height:1.15}
.serve-body{padding:1.6rem 1.8rem}
.serve-body > p{color:var(--muted-fg)}
.checks{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.7rem}
.checks li{position:relative;padding-left:1.9rem}
.checks li::before{content:"";position:absolute;left:0;top:.2rem;width:22px;height:22px;background:var(--primary-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center/contain no-repeat}

/* How it works */
.steps.wp-block-columns{gap:1.5rem}
.step{position:relative;min-width:0}
.step-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;font:700 1.05rem/1 var(--font-body);position:relative;z-index:1}
.step::after{content:"";position:absolute;top:22px;left:52px;right:-1.5rem;height:2px;background:var(--border)}
.step:last-child::after{display:none}
.step h3{margin-top:1rem}
.step p:not(.step-num){margin-top:.45rem;color:var(--muted-fg);font-size:.95rem}

/* Standards */
.badges.wp-block-columns{gap:1.25rem}
.badge{display:grid;gap:.7rem;padding:1.5rem;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}
.badge::before{content:"";width:44px;height:44px;border-radius:var(--radius-sm);background:var(--primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a12 12 0 0 0 8.5 3a12 12 0 0 1 -8.5 15a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3'/%3E%3Cpath d='M9 12l2 2l4 -4'/%3E%3C/svg%3E") center/26px no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a12 12 0 0 0 8.5 3a12 12 0 0 1 -8.5 15a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3'/%3E%3Cpath d='M9 12l2 2l4 -4'/%3E%3C/svg%3E") center/26px no-repeat,linear-gradient(#000,#000);mask-composite:exclude}
.badge h3{font:700 1.02rem/1.3 var(--font-body)}
.badge p{color:var(--muted-fg);font-size:.93rem}

/* Testimonials */
.quotes.wp-block-columns{gap:1.5rem}
.quote.wp-block-quote{margin:0;padding:2rem;background:var(--card);border:1px solid var(--border-soft);border-left:4px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}
.quote.wp-block-quote p{font-family:var(--font-display);font-size:1.3rem;line-height:1.45;color:var(--fg);margin:0}
.quote.wp-block-quote cite{display:block;margin-top:1.25rem;font:700 .9rem/1.4 var(--font-body);font-style:normal}
.quote.wp-block-quote cite span{display:block;font-weight:400;color:var(--muted-fg)}

/* FAQ */
.faq-grid.wp-block-columns{gap:clamp(2rem,5vw,5rem);align-items:start}
.faq-grid .section-head{margin-bottom:1.5rem}
.faq{display:grid;gap:.75rem}
.faq .wp-block-details{margin:0;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--dur)}
.faq .wp-block-details[open]{border-color:var(--border)}
.faq .wp-block-details summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:1rem 1.4rem;border-radius:var(--radius);cursor:pointer;font:700 1.02rem/1.35 var(--font-body);list-style:none;transition:background-color var(--dur)}
.faq .wp-block-details summary:hover{background:var(--primary-tint)}
.faq .wp-block-details summary::-webkit-details-marker{display:none}
.faq .wp-block-details summary::after{content:"";flex:none;width:22px;height:22px;background:var(--primary-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform var(--dur) var(--ease)}
.faq .wp-block-details[open] summary::after{transform:rotate(180deg)}
.faq .wp-block-details > :not(summary){padding:0 1.4rem 1.3rem;color:var(--muted-fg);max-width:64ch}

/* Blog grid (Query Loop of posts) */
.post-grid.wp-block-post-template{gap:1.25rem}
.post-grid > .wp-block-post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}
.post-grid .wp-block-post-featured-image{margin:0;overflow:hidden}
.post-grid .wp-block-post-featured-image img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 700ms var(--ease)}
.post-body{padding:1.3rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.post-meta{gap:.5rem .6rem;font-size:.82rem;color:var(--meta);align-items:center}
.post-meta .wp-block-post-date{color:var(--meta)}
.post-cat a,.post-cat .wp-block-post-terms__separator{display:inline-block;padding:.25rem .55rem;border-radius:var(--radius-sm);background:var(--primary-tint);color:var(--primary);font:700 .76rem/1.2 var(--font-body);text-decoration:none}
.post-cat .wp-block-post-terms__separator{display:none}
.post-grid .wp-block-post-title{font:700 1.08rem/1.35 var(--font-body)}
.post-grid .wp-block-post-title a{color:var(--fg);text-decoration:none}
.post-grid .wp-block-post-title a:hover{color:var(--primary)}
.post-grid .wp-block-post-excerpt{color:var(--muted-fg);font-size:.93rem}
.blog-more{margin-top:1.5rem;justify-content:flex-end}
.pager{margin-top:2.5rem;gap:.5rem}
.pager a,.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--fg);font-weight:700}
.pager .page-numbers.current{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Social */
.social-grid.wp-block-columns{gap:clamp(2rem,5vw,5rem);align-items:center}
.social-grid .section-head{margin-bottom:0}
.social.wp-block-social-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:0;padding:0}
.social li.wp-social-link{margin:0;border-radius:var(--radius);background:var(--card)!important;color:var(--fg)!important;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm)}
.social li.wp-social-link a{display:flex;align-items:center;gap:.9rem;min-height:72px;padding:.9rem 1.1rem;color:var(--fg)!important;text-decoration:none}
.social li.wp-social-link svg{width:24px;height:24px;flex:none;fill:var(--primary);background:var(--primary-tint);padding:10px;box-sizing:content-box;border-radius:var(--radius-sm);transition:background-color var(--dur),fill var(--dur)}
.social li.wp-social-link:hover svg{background:var(--primary);fill:#fff}
.social .wp-block-social-link-label{font:700 1rem/1.25 var(--font-body)}

/* Closing: quote form */
.close{position:relative;background:linear-gradient(180deg,var(--primary-deep) 0%,var(--primary) 100%);color:#fff}
.close-grid.wp-block-columns{gap:clamp(2rem,6vw,5rem);align-items:center;padding-block:clamp(3.5rem,7vw,6rem)}
.close .eyebrow{color:#F3C8AE}
.close h2{color:#fff}
.close .lead{margin-top:.9rem;color:var(--on-navy-mute);max-width:50ch}
.next-list{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.9rem}
.next-list li{position:relative;padding-left:1.9rem;color:#fff}
.next-list li::before{content:"";position:absolute;left:0;top:.25rem;width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0'/%3E%3Cpath d='M9 12l2 2l4 -4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0'/%3E%3Cpath d='M9 12l2 2l4 -4'/%3E%3C/svg%3E") center/contain no-repeat}
.intake{background:var(--card);color:var(--fg);padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:0}
.intake h3{font-family:var(--font-display);font-weight:500;font-size:1.7rem;line-height:1.15}
.intake .intro{color:var(--muted-fg);margin:.5rem 0 1.25rem;font-size:.95rem}
.intake .wpcf7 p{margin:0 0 1rem}
.intake .wpcf7 label{display:block;font:700 .88rem/1.2 var(--font-body)}
.intake .req{color:var(--destructive)}
.intake .field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.intake .wpcf7-form-control-wrap{display:block;margin-top:.4rem}
.intake .wpcf7-form-control:not(.wpcf7-submit){width:100%;min-height:46px;padding:.7rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--fg);font:400 1rem/1.4 var(--font-body);transition:border-color var(--dur),box-shadow var(--dur)}
.intake .wpcf7-form-control:not(.wpcf7-submit):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent)}
.intake textarea.wpcf7-form-control{resize:vertical;min-height:100px}
.intake .wpcf7-not-valid{border-color:var(--destructive)}
.intake .wpcf7-not-valid-tip{display:block;margin-top:.35rem;color:var(--destructive);font-size:.85rem}
.intake .wpcf7-submit{width:100%;min-height:46px;padding:.7rem 1.4rem;border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font:700 .95rem/1 var(--font-body);cursor:pointer;transition:background-color var(--dur)}
.intake .wpcf7-submit:hover{background:var(--accent-hover)}
.intake .wpcf7-spinner{display:block;margin:.5rem auto 0}
.intake .wpcf7-response-output{margin:1rem 0 0;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.92rem}
.intake .wpcf7 form.sent .wpcf7-response-output{border-color:#BBF7D0;background:#F0FDF4;color:#166534}
.intake .wpcf7 form.invalid .wpcf7-response-output,.intake .wpcf7 form.failed .wpcf7-response-output{border-color:#FECACA;background:#FEF2F2;color:#991B1B}
.intake .help{font-size:.82rem;color:var(--meta);margin-top:1rem}

/* Inner pages */
.page-hero{background:var(--muted);padding-block:clamp(2.5rem,6vw,4.5rem)}
.page-hero .display{max-width:20ch}
.page-hero .wp-block-query-title{display:none}
.page-hero .post-meta{margin-bottom:1rem}
.page-hero .post-meta .wp-block-post-author-name{color:var(--meta)}
.prose{max-width:72ch}
.prose > *,.prose .wp-block-post-content > *{margin-block:0 1.25rem}
.prose h2{margin-top:2.25rem;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem)}
.prose h3{margin-top:1.75rem}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li{margin-bottom:.4rem}
.prose img{border-radius:var(--radius)}
.prose a{text-decoration-thickness:1px;text-underline-offset:3px}
.post-hero-image{margin:0 0 2rem}
.post-hero-image img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.post-nav{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-soft);gap:1rem}
.post-nav a{text-decoration:none;font-weight:700}
.service-columns.wp-block-columns{gap:clamp(2rem,5vw,4rem);align-items:start}
.service-image{margin:0 0 1.25rem}
.service-image img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.service-aside{padding:1.5rem;background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:grid;gap:.75rem}
.service-aside p{color:var(--muted-fg);font-size:.95rem}
.wp-block-search__inside-wrapper{border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.wp-block-search__input{padding:.7rem .85rem;border:0;font:400 1rem var(--font-body)}
.wp-block-search__button{background:var(--primary);color:#fff;border:0;padding:.7rem 1.2rem;font:700 .95rem var(--font-body);cursor:pointer}

/* Footer */
.site-footer{background:var(--footer-bg);color:#CBD5E1}
.site-footer .footer-grid.wp-block-columns{gap:2rem;padding-block:3rem 2.5rem}
.site-footer h4{margin:0 0 .9rem;font:700 .92rem/1.2 var(--font-body);color:#fff}
.site-footer a{color:#CBD5E1;text-decoration:none;transition:color var(--dur)}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .brand-name a{color:#fff}
.site-footer .brand-sub{color:#94A3B8}
.footer-disclaimer{margin-top:1rem;font-size:.9rem;max-width:48ch}
.footer-social.wp-block-social-links{margin-top:1.1rem;gap:.5rem}
.footer-social li.wp-social-link{background:transparent!important;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm)}
.footer-social li.wp-social-link a{display:grid;place-items:center;width:44px;height:44px;padding:0}
.footer-social li.wp-social-link:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.4)}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.95rem}
.footer-links li a{display:inline-flex;align-items:center;min-height:32px}
.footer-services .wp-block-post-template{display:grid;gap:.5rem}
.footer-services .wp-block-post-title{font:400 .95rem/1.4 var(--font-body);margin:0}
.footer-services .wp-block-post-title a{display:inline-flex;align-items:center;min-height:32px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:1.25rem;gap:.75rem 1.5rem;align-items:center;font-size:.82rem}
.footer-bottom p{margin:0}
.footer-legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.footer-credit{font-size:.78rem;color:#94A3B8;padding-bottom:1.25rem}

/* Mobile call bar */
.mobile-bar{display:none}

/* Responsive */
@media (max-width:1280px){.site-header .brand-sub,.nav-phone{display:none}}
@media (min-width:600px) and (max-width:960px){
  .nav-links .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .nav-links .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
}
@media (max-width:960px){
  .step::after{display:none}
  .services-grid.wp-block-post-template.is-layout-grid,.services-grid-4.wp-block-post-template.is-layout-grid,.post-grid.wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-wide{grid-template-columns:minmax(0,1fr)}
  .footer-grid.wp-block-columns{flex-wrap:wrap}
  .footer-grid.wp-block-columns > .wp-block-column{flex-basis:calc(50% - 1rem)!important}
}
@media (max-width:781px){
  .proof-grid.wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .badges.wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-media{margin-top:.5rem}
  .intake .field-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .site-header .wp-block-buttons.nav-cta,.site-header .brand-sub{display:none!important}
  .site-header .nav{min-height:64px}
  .brand .wp-block-site-logo img{height:42px;max-width:200px}
  .brand-name{font-size:.98rem}
  .services-grid.wp-block-post-template.is-layout-grid,.services-grid-4.wp-block-post-template.is-layout-grid,.post-grid.wp-block-post-template.is-layout-grid{grid-template-columns:minmax(0,1fr)}
  .badges.wp-block-columns,.proof-grid.wp-block-columns{grid-template-columns:minmax(0,1fr)}
  .footer-grid.wp-block-columns > .wp-block-column{flex-basis:100%!important}
  .social.wp-block-social-links{grid-template-columns:minmax(0,1fr)}
  .quote.wp-block-quote{padding:1.5rem}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:.6rem max(16px,env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border-soft);box-shadow:0 -4px 12px rgba(15,23,42,.08)}
  .mobile-bar .wp-block-buttons{width:100%;display:grid;grid-template-columns:1fr;gap:.5rem}
  .mobile-bar .wp-block-button,.mobile-bar .wp-block-button__link{width:100%}
}

/* Editor: keep section backgrounds visible while editing */
.editor-styles-wrapper .hero,.editor-styles-wrapper .close{color:#fff}
