/*
Theme Name: ARC Marketing
Theme URI: https://arcmarketing.com
Author: ARC Marketing
Author URI: https://arcmarketing.com
Description: Custom theme for ARC Marketing — a boutique SEO, Local SEO, GEO & AEO consulting agency. Includes templates for the homepage, About, Contact, and six service pages.
Version: 9.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: Custom
Text Domain: arc-marketing
*/  :root{    --navy:#132943;    --navy-deep:#0c1d30;    --gold:#C9A45C;    --gold-soft:rgba(201,164,92,.14);    --cream:#F6F3EC;    --white:#FFFFFF;    --slate:#4B5563;    --dark:#1C2B39;    --line:#E5E7EB;    --line-navy:rgba(255,255,255,.12);    --font-head:'Poppins',-apple-system,'Segoe UI',sans-serif;    --font-body:'Inter',-apple-system,'Segoe UI',sans-serif;    --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',monospace;    --container:1280px;    --radius:14px;    --ease:cubic-bezier(.16,.84,.44,1);  }  *{margin:0;padding:0;box-sizing:border-box;}  html{scroll-behavior:smooth; overflow-x:hidden;}  @media (prefers-reduced-motion: reduce){    html{scroll-behavior:auto;}    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}  }  body{    font-family:var(--font-body);    color:var(--dark);    background:var(--cream);    line-height:1.65;    font-size:16px;    -webkit-font-smoothing:antialiased;  }  img,svg{display:block; max-width:100%;}  a{color:inherit; text-decoration:none;}  .container{    max-width:var(--container);    margin:0 auto;    padding:0 32px;  }  h1,h2,h3,h4{    font-family:var(--font-head);    font-weight:600;    color:var(--navy);    letter-spacing:-0.01em;    line-height:1.18;  }  h1{font-size:clamp(2.4rem, 5vw, 3.6rem); font-weight:600; letter-spacing:-0.02em;}  h2{font-size:clamp(1.9rem, 3.4vw, 2.6rem);}  h3{font-size:1.2rem; font-weight:600;}  p{color:var(--slate);}  .eyebrow{    font-family:var(--font-mono);    font-size:.78rem;    font-weight:500;    letter-spacing:.16em;    text-transform:uppercase;    color:var(--gold);    display:inline-flex;    align-items:center;    gap:10px;    margin-bottom:18px;  }  .eyebrow::before{    content:"";    display:block;    width:22px; height:1px;    background:var(--gold);  }  .eyebrow.on-dark{color:var(--gold);}  @media (max-width:480px){    .eyebrow::before{ display:none; }    .eyebrow{ gap:0; }  }  .section{ padding:96px 0; }  @media (max-width:768px){ .section{padding:64px 0;} }  .section-head{ max-width:680px; margin-bottom:56px; }  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}  .section-head p{margin-top:16px; font-size:1.05rem;}  /* ============ BUTTONS ============ */  .btn{    display:inline-flex; align-items:center; justify-content:center; gap:10px;    font-family:var(--font-head); font-weight:600; font-size:.95rem;    padding:15px 30px; border-radius:8px; border:1px solid transparent;    cursor:pointer; transition:all .25s var(--ease); white-space:nowrap;  }  .btn-primary{ background:var(--gold); color:var(--navy); }  .btn-primary:hover{ background:#dab974; transform:translateY(-1px); }  .btn-secondary{ background:transparent; color:var(--navy); border-color:var(--navy); }  .btn-secondary:hover{ background:var(--navy); color:var(--white); }  .btn-secondary.on-dark{ color:var(--white); border-color:rgba(255,255,255,.35); }  .btn-secondary.on-dark:hover{ background:var(--white); color:var(--navy); border-color:var(--white); }  .btn-ghost-arrow{    font-family:var(--font-head); font-weight:600; font-size:.92rem; color:var(--navy);    display:inline-flex; align-items:center; gap:8px;    border-bottom:1px solid var(--line); padding-bottom:4px;    transition:gap .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);  }  .btn-ghost-arrow:hover{ gap:14px; border-color:var(--gold); color:var(--gold); }  /* ============ NAVIGATION ============ */  .nav{    position:sticky; top:0; z-index:1000;    background:rgba(246,243,236,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);    border-bottom:1px solid var(--line);  }  .nav .container{ position:relative; display:flex; align-items:center; min-height:78px; gap:24px; }  .logo{ display:flex; align-items:center; gap:10px; flex:0 0 auto; min-width:0; }  .logo-mark{ width:32px; height:32px; flex:0 0 auto; }  .logo-text{ display:block; font-family:var(--font-head); font-weight:700; font-size:1rem; letter-spacing:.035em; color:var(--navy); line-height:1.05; white-space:nowrap; }  .logo-text span{ display:block; margin-top:3px; font-family:var(--font-mono); font-weight:500; font-size:.53rem; letter-spacing:.2em; color:var(--slate); text-transform:uppercase; }  .nav-links{ display:flex; align-items:center; justify-content:center; gap:24px; margin-left:auto; color:var(--navy); font-size:.9rem; font-weight:500; }  .nav-links > a, .nav-links > details > summary{ position:relative; display:flex; align-items:center; gap:6px; min-height:38px; padding:6px 0; color:var(--navy); white-space:nowrap; }  .nav-links > a::after, .nav-links > details > summary::after{ content:""; position:absolute; left:0; bottom:1px; width:0; height:2px; background:var(--gold); transition:width .22s var(--ease); }  .nav-links > a:hover::after, .nav-links > details > summary:hover::after, .nav-links > details[open] > summary::after{ width:100%; }  .nav-links details{ position:relative; }  .nav-links summary{ cursor:pointer; list-style:none; }  .nav-links summary::-webkit-details-marker{ display:none; }  .nav-links summary::marker{ content:""; }  .nav-links summary .chev{ width:11px; height:11px; flex:0 0 auto; stroke:var(--navy); transition:transform .2s var(--ease); }  .nav-links details[open] > summary .chev{ transform:rotate(180deg); }  .nav-cta{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }  .nav-cta .btn{ padding:11px 18px; font-size:.8rem; }  .nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:9px; border:0; background:transparent; cursor:pointer; }  .nav-toggle span{ display:block; width:22px; height:2px; margin:0 auto; border-radius:2px; background:var(--navy); }  .mobile-only-cta{ display:none; }  .nav-dropdown{ position:absolute; top:calc(100% + 10px); left:-16px; display:flex; flex-direction:column; gap:2px; min-width:240px; padding:10px; background:var(--white); border:1px solid var(--line); border-radius:10px; box-shadow:0 18px 44px -22px rgba(19,41,67,.35); z-index:1100; }  .nav-dropdown a{ position:relative; padding:10px 12px; border-radius:7px; color:var(--dark); font-size:.88rem; font-weight:500; line-height:1.35; white-space:normal; }  .nav-dropdown a::after{ content:none; }  .nav-dropdown a:hover, .nav-dropdown a:focus-visible{ color:var(--navy); background:var(--cream); }  .nav-links .industries-menu{ position:static; }  .industries-menu .industries-dropdown{ display:block; left:32px; right:32px; width:auto; min-width:0; max-width:none; padding:0; overflow:hidden; border-radius:14px; }  .industries-menu-header{ padding:14px 20px; background:var(--cream); border-bottom:1px solid var(--line); }  .industries-overview-link{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 !important; color:var(--navy) !important; font-family:var(--font-head); font-size:.88rem !important; font-weight:700 !important; }  .industries-overview-link span{ color:var(--gold); transition:transform .2s var(--ease); }  .industries-overview-link:hover span{ transform:translateX(4px); }  .industries-menu-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }  .industries-menu-group{ min-width:0; padding:22px 20px 24px; border-right:1px solid var(--line); }  .industries-menu-group:nth-child(even){ background:rgba(246,243,236,.45); }  .industries-menu-group:last-child{ border-right:0; }  .industries-parent-link{ display:block; margin-bottom:12px; padding:0 0 11px !important; border-bottom:2px solid var(--gold); color:var(--navy) !important; font-family:var(--font-head); font-size:.92rem !important; font-weight:700 !important; line-height:1.35; }  .industries-parent-link:hover{ color:var(--gold) !important; }  .industries-child-links{ display:flex; flex-direction:column; gap:3px; }  .industries-child-links a{ margin:0 -8px; padding:7px 8px !important; border-radius:7px; color:var(--dark) !important; font-size:.84rem !important; line-height:1.4; overflow-wrap:anywhere; transition:background-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }  .industries-child-links a:hover, .industries-child-links a:focus-visible{ color:var(--navy) !important; background:var(--cream); transform:translateX(3px); }  @media (max-width:1240px) and (min-width:1021px){    .nav .container{ gap:16px; padding-left:22px; padding-right:22px; }    .logo-text{ font-size:.92rem; }    .nav-links{ gap:17px; font-size:.84rem; }    .nav-cta{ gap:8px; }    .nav-cta .btn{ padding:10px 14px; font-size:.75rem; }    .industries-menu .industries-dropdown{ left:22px; right:22px; }    .industries-menu-group{ padding:20px 16px 22px; }    .industries-child-links a{ font-size:.8rem !important; }  }  @media (max-width:1020px){    .nav .container{ min-height:74px; }    .nav-links{ position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:4px; max-height:calc(100vh - 74px); margin:0; padding:12px 28px 28px; overflow-y:auto; overscroll-behavior:contain; background:var(--cream); border-bottom:1px solid var(--line); box-shadow:0 18px 34px -28px rgba(19,41,67,.35); }    .nav-links.open{ display:flex; }    .nav-links > a, .nav-links > details{ width:100%; }    .nav-links > a, .nav-links > details > summary{ justify-content:space-between; min-height:44px; padding:10px 0; white-space:normal; }    .nav-links > a::after, .nav-links > details > summary::after{ content:none; }    .nav-cta .btn{ display:none; }    .nav-toggle{ display:flex; }    .mobile-only-cta{ display:inline-flex; width:100%; margin-top:8px; }    .nav-dropdown, .industries-menu .industries-dropdown{ position:static; width:100%; min-width:0; margin:2px 0 8px; padding:8px 0 8px 14px; border:0; border-left:2px solid var(--gold); border-radius:0; box-shadow:none; background:transparent; overflow:visible; }    .nav-links .industries-menu{ position:relative; }    .industries-menu .industries-dropdown{ padding:0; border:1px solid var(--line); border-radius:12px; background:var(--white); }    .industries-menu-header{ padding:13px 16px; }    .industries-menu-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }    .industries-menu-group{ padding:18px 16px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }    .industries-menu-group:nth-child(2n){ border-right:0; }    .industries-menu-group:nth-last-child(-n+2){ border-bottom:0; }    .industries-child-links a{ margin:0; padding:7px 4px !important; }  }  @media (max-width:640px){    .container{ padding-left:20px; padding-right:20px; }    .nav .container{ min-height:70px; }    .logo{ gap:8px; }    .logo-mark{ width:29px; height:29px; }    .logo-text{ font-size:.9rem; }    .logo-text span{ font-size:.49rem; letter-spacing:.17em; }    .nav-links{ max-height:calc(100vh - 70px); padding:10px 20px 24px; }    .industries-menu-grid{ grid-template-columns:1fr; }    .industries-menu-group, .industries-menu-group:nth-child(2n), .industries-menu-group:nth-last-child(-n+2){ border-right:0; border-bottom:1px solid var(--line); }    .industries-menu-group:last-child{ border-bottom:0; }    .industries-menu-group:nth-child(even){ background:rgba(246,243,236,.55); }    .industries-child-links{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 8px; }  }  @media (max-width:420px){    .logo-text{ font-size:.84rem; }    .industries-child-links{ grid-template-columns:1fr; }    .industries-menu-group{ padding:16px 14px 18px; }  }  /* ============ HERO ============ */  .hero{ padding:72px 0 100px; overflow:hidden; }  .hero .container{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }  .hero h1{ margin-bottom:24px; }  .hero .lead{ font-size:1.12rem; max-width:520px; margin-bottom:36px; }  .hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:32px; }  .hero-trust{ display:flex; align-items:center; gap:12px; font-family:var(--font-mono); font-size:.8rem; color:var(--slate); letter-spacing:.02em; }  .hero-trust .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }  @media (max-width:980px){ .hero .container{ grid-template-columns:1fr; gap:56px; } .hero{ padding-top:48px; padding-bottom:64px; } .hero-diagram{ order:-1; max-width:440px; margin:0 auto; } }  .hero-diagram{ position:relative; aspect-ratio:1/1; }  .radar-sweep{ position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, transparent 0deg, var(--gold-soft) 28deg, transparent 70deg); animation:spin 16s linear infinite; mix-blend-mode:multiply; }  @keyframes spin{ to{ transform:rotate(360deg); } }  .radar-svg{ position:relative; width:100%; height:100%; }  .radar-ring{ fill:none; stroke:var(--navy); stroke-opacity:.10; }  .radar-ring.alt{ stroke:var(--gold); stroke-opacity:.28; stroke-dasharray:2 6; }  .radar-line{ stroke:var(--navy); stroke-opacity:.16; stroke-width:1; }  .radar-node-dot{ fill:var(--gold); }  .radar-node-dot.pulse{ animation:pulse 3.4s var(--ease) infinite; transform-origin:center; }  @keyframes pulse{ 0%,100%{ r:5; opacity:1;} 50%{ r:8; opacity:.55;} }  .radar-label{ font-family:var(--font-mono); font-size:13px; fill:var(--navy); font-weight:500; }  .radar-center-bg{ fill:var(--navy); }  .radar-center-text{ font-family:var(--font-head); font-weight:700; font-size:22px; fill:var(--white); letter-spacing:.08em; text-anchor:middle; }  /* ============ TRUST BAR ============ */  .trust-bar{ background:var(--navy); color:var(--white); padding:34px 0; }  .trust-bar .container{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px 40px; }  .trust-item{ display:flex; align-items:center; gap:12px; font-size:.92rem; font-weight:500; color:rgba(255,255,255,.92); flex:1 1 180px; }  .trust-item svg{ flex-shrink:0; width:20px; height:20px; }  /* ============ SERVICES ============ */  .services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }  @media (max-width:980px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }  @media (max-width:640px){ .services-grid{ grid-template-columns:1fr; } }  .service-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:34px 30px; transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); display:flex; flex-direction:column; height:100%; }  .service-card:hover{ border-color:var(--gold); transform:translateY(-4px); box-shadow:0 18px 40px -24px rgba(19,41,67,.35); }  .service-icon{ width:46px; height:46px; border-radius:10px; background:var(--gold-soft); display:flex; align-items:center; justify-content:center; margin-bottom:22px; }  .service-icon svg{ width:22px; height:22px; stroke:var(--navy); }  .service-card h3{ margin-bottom:10px; }  .service-card p{ font-size:.95rem; flex-grow:1; }  .service-card .btn-ghost-arrow{ margin-top:20px; font-size:.86rem; }  /* ============ WHY ============ */  .why{ background:var(--white); width:100vw; position:relative; left:50%; transform:translateX(-50%); }  .why .container{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }  @media (max-width:900px){ .why .container{ grid-template-columns:1fr; gap:44px; } }  .why-copy h2{ margin-bottom:20px; }  .why-copy p{ margin-bottom:16px; font-size:1.02rem; }  .why-copy p:last-child{ margin-bottom:0; }  .why-list{ display:flex; flex-direction:column; gap:28px; }  .why-list-item{ display:flex; gap:20px; }  .why-arc-icon{ flex-shrink:0; width:42px; height:42px; }  .why-list-item h4{ font-size:1.02rem; margin-bottom:6px; }  .why-list-item p{ font-size:.94rem; }  /* ============ ECOSYSTEM ============ */  .ecosystem{ background:var(--cream); }  .ecosystem-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }  @media (max-width:900px){ .ecosystem-grid{ grid-template-columns:repeat(2,1fr); } }  @media (max-width:520px){ .ecosystem-grid{ grid-template-columns:1fr; } }  .eco-cell{ background:var(--white); padding:30px 26px; }  .eco-cell .tag{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; display:block; }  .eco-cell h4{ font-size:1.02rem; margin-bottom:8px; }  .eco-cell p{ font-size:.9rem; }  .eco-cell span{ font-size:.92rem; font-weight:500; color:var(--dark); }  /* ============ PROCESS ============ */  .process{ background:var(--navy); color:var(--white); }  .process .section-head h2, .process .section-head p{ color:var(--white); }  .process .section-head p{ color:rgba(255,255,255,.65); }  .process-list{ display:flex; flex-direction:column; }  .process-item{ display:grid; grid-template-columns:120px 1fr; gap:36px; padding:34px 0; border-top:1px solid var(--line-navy); align-items:start; }  .process-item:last-child{ border-bottom:1px solid var(--line-navy); }  .process-step{ font-family:var(--font-mono); font-size:.85rem; color:var(--gold); letter-spacing:.1em; padding-top:4px; }  .process-body h3{ color:var(--white); margin-bottom:10px; }  .process-body p{ color:rgba(255,255,255,.68); max-width:620px; }  @media (max-width:640px){ .process-item{ grid-template-columns:1fr; gap:10px; } }  /* ============ INDUSTRIES ============ */  .industries-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }  @media (max-width:980px){ .industries-grid{ grid-template-columns:repeat(2,1fr); } }  @media (max-width:560px){ .industries-grid{ grid-template-columns:1fr; } }  .industry-card{ border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; background:var(--white); }  .industry-card h4{ font-size:1.02rem; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line); }  .industry-card ul{ list-style:none; display:flex; flex-direction:column; gap:8px; }  .industry-card li{ font-size:.9rem; color:var(--slate); }  /* ============ RESULTS ============ */  .results{ background:var(--white); }  .results .container{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }  @media (max-width:960px){ .results .container{ grid-template-columns:1fr; gap:48px; } }  .results-copy h2{ margin-bottom:20px; }  .results-copy p{ margin-bottom:16px; }  .results-metrics{ display:flex; flex-direction:column; gap:18px; margin-top:28px; }  .results-metric{ display:flex; gap:16px; align-items:flex-start; }  .results-metric svg{ flex-shrink:0; width:22px; height:22px; stroke:var(--gold); margin-top:3px; }  .results-metric div h4{ font-size:.98rem; margin-bottom:4px; }  .results-metric div p{ font-size:.88rem; }  .dash{ background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }  .dash-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }  .dash-head .tag{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); }  .dash-head .pill{ font-family:var(--font-mono); font-size:.72rem; background:var(--gold-soft); color:var(--navy); padding:4px 10px; border-radius:20px; font-weight:500; }  .dash-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }  .dash-card{ background:var(--white); border:1px solid var(--line); border-radius:10px; padding:16px; }  .dash-card .label{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--slate); margin-bottom:8px; display:block; }  .dash-card .value{ font-family:var(--font-head); font-weight:600; font-size:1.5rem; color:var(--navy); }  .dash-card .trend{ font-size:.78rem; color:#5C8A5C; font-weight:500; margin-top:4px; display:block; }  .dash-chart{ background:var(--white); border:1px solid var(--line); border-radius:10px; padding:18px; }  .dash-chart .label{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--slate); margin-bottom:14px; display:block; }  /* ============ TESTIMONIALS ============ */  .testimonials{ background:var(--cream); }  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }  @media (max-width:960px){ .testi-grid{ grid-template-columns:1fr; } }  .testi-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:32px; display:flex; flex-direction:column; height:100%; }  .testi-quote-mark{ width:30px; height:22px; margin-bottom:18px; }  .testi-card p.quote{ font-size:.98rem; color:var(--dark); flex-grow:1; margin-bottom:22px; }  .testi-attrib{ display:flex; align-items:center; gap:12px; }  .testi-avatar{ width:40px; height:40px; border-radius:50%; background:var(--navy); color:var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:600; font-size:.85rem; flex-shrink:0; }  .testi-attrib h5{ font-family:var(--font-head); font-size:.92rem; font-weight:600; color:var(--navy); }  .testi-attrib span{ font-size:.82rem; color:var(--slate); }  /* ============ FINAL CTA ============ */  .final-cta{ background:var(--navy); color:var(--white); text-align:center; position:relative; overflow:hidden; }  .final-cta::before{ content:""; position:absolute; top:-220px; right:-220px; width:520px; height:520px; border-radius:50%; border:1px solid var(--line-navy); }  .final-cta::after{ content:""; position:absolute; top:-140px; right:-140px; width:380px; height:380px; border-radius:50%; border:1px solid var(--line-navy); }  .final-cta .container{ position:relative; z-index:1; }  .final-cta h2{ color:var(--white); margin-bottom:18px; }  .final-cta p{ color:rgba(255,255,255,.7); max-width:560px; margin:0 auto 36px; font-size:1.05rem; }  .final-cta .hero-actions{ justify-content:center; }  /* ============ FOOTER ============ */  footer{ background:var(--navy-deep); color:rgba(255,255,255,.62); padding:72px 0 32px; font-size:.9rem; }  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid var(--line-navy); }  @media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }  @media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; gap:36px; } }  .footer-brand .logo-text, .footer-brand .logo-text span{ color:var(--white); }  .footer-brand .logo-text span{ color:rgba(255,255,255,.5); }  .footer-brand p{ color:rgba(255,255,255,.55); margin:18px 0 0; max-width:280px; font-size:.92rem; }  footer h5{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:18px; }  footer ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }  footer ul a{ transition:color .2s; }  footer ul a:hover{ color:var(--gold); }  .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-size:.82rem; color:rgba(255,255,255,.4); flex-wrap:wrap; gap:12px; }  /* ============ REVEAL ============ */  .reveal{ opacity:1; transform:none; }  .js .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }  .js .reveal.visible{ opacity:1; transform:translateY(0); }  @media (prefers-reduced-motion: reduce){ .js .reveal{ opacity:1; transform:none; transition:none; } }  a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }/* ============================================================   SHARED COMPONENTS   ============================================================ */.page-hero{ padding:64px 0 88px; position:relative; overflow:hidden; }.page-hero-content{ max-width:720px; position:relative; z-index:1; }.page-hero h1{ margin-bottom:20px; }.page-hero .lead{ font-size:1.08rem; max-width:600px; margin-bottom:32px; }.page-hero-arcs{ position:absolute; right:-160px; top:-120px; width:520px; height:520px; pointer-events:none; }@media (max-width:900px){ .page-hero-arcs{ right:-220px; top:-160px; opacity:.7; } }.breadcrumb{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; color:var(--slate); margin-bottom:22px; }.breadcrumb a{ color:var(--slate); transition:color .2s; }.breadcrumb a:hover{ color:var(--gold); }.breadcrumb .sep{ margin:0 8px; color:var(--line); }.deliverables-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }@media (max-width:680px){ .deliverables-grid{ grid-template-columns:1fr; } }.deliverable{ display:flex; gap:16px; align-items:flex-start; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; }.deliverable svg{ flex-shrink:0; width:22px; height:22px; stroke:var(--gold); margin-top:2px; }.deliverable h4{ font-size:1rem; margin-bottom:5px; }.deliverable p{ font-size:.9rem; }.approach-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }@media (max-width:900px){ .approach-grid{ grid-template-columns:repeat(2,1fr); } }@media (max-width:560px){ .approach-grid{ grid-template-columns:1fr; } }.approach-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px; }.approach-step-num{ font-family:var(--font-mono); color:var(--gold); font-size:.8rem; letter-spacing:.08em; margin-bottom:16px; display:block; }.approach-card h4{ margin-bottom:8px; font-size:1rem; }.approach-card p{ font-size:.9rem; }.cross-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }@media (max-width:680px){ .cross-grid{ grid-template-columns:1fr; } }.cross-card{ background:var(--navy); color:var(--white); border-radius:var(--radius); padding:32px; display:flex; flex-direction:column; }.cross-card .tag{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }.cross-card h4{ color:var(--white); margin-bottom:10px; font-size:1.18rem; }.cross-card p{ color:rgba(255,255,255,.68); font-size:.92rem; margin-bottom:24px; flex-grow:1; }.cross-card .btn-ghost-arrow{ color:var(--white); border-color:rgba(255,255,255,.3); }.cross-card .btn-ghost-arrow:hover{ color:var(--gold); border-color:var(--gold); }.personality-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }@media (max-width:980px){ .personality-grid{ grid-template-columns:repeat(2,1fr); } }@media (max-width:560px){ .personality-grid{ grid-template-columns:1fr; } }.personality-card{ border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; background:var(--white); }.personality-card .p-icon{ width:34px; height:34px; margin-bottom:18px; }.personality-card .p-icon svg{ width:100%; height:100%; stroke:var(--gold); fill:none; stroke-width:1.6; }.personality-card h4{ margin-bottom:8px; font-size:1.02rem; }.personality-card p{ font-size:.88rem; }.story-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(48px,6vw,88px); width:100%; }.story-grid > *{ min-width:0; }.story-grid > :last-child{ max-width:680px; }.story-grid h2{ max-width:520px; text-wrap:balance; }.story-grid > .icon-list{ width:100%; max-width:680px; }.story-grid > .icon-list .icon-list-item{ display:grid; grid-template-columns:20px minmax(0,1fr); gap:14px; align-items:start; }.story-grid > .icon-list .icon-list-item p{ min-width:0; margin:0; line-height:1.65; }.story-grid p{ margin-bottom:16px; font-size:1.02rem; }.story-grid p:last-child{ margin-bottom:0; }.why .container > .story-grid{ grid-column:1 / -1; width:100%; min-width:0; }@media (max-width:1020px){ .story-grid{ gap:44px; } }@media (max-width:900px){  .why .container > .story-grid{ grid-column:auto; }  .story-grid{ grid-template-columns:1fr; gap:36px; }  .story-grid > :last-child, .story-grid > .icon-list, .story-grid h2{ max-width:none; }}.contact-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:start; }@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } }.form-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:36px; }.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }@media (max-width:520px){ .form-row{ grid-template-columns:1fr; } }.form-group{ margin-bottom:20px; }.form-group label{ display:block; font-family:var(--font-head); font-weight:500; font-size:.86rem; color:var(--navy); margin-bottom:8px; }.form-group input, .form-group select, .form-group textarea{ width:100%; padding:13px 16px; border:1px solid var(--line); border-radius:8px; background:var(--cream); font-family:var(--font-body); font-size:.95rem; color:var(--dark); transition:border-color .2s var(--ease); appearance:none; }.form-group select{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:42px; }.form-group textarea{ resize:vertical; min-height:130px; }.form-group input:focus, .form-group select:focus, .form-group textarea:focus{ outline:none; border-color:var(--gold); background:var(--white); }.form-note{ font-size:.82rem; color:var(--slate); margin-top:16px; }.contact-info-card{ background:var(--navy); color:var(--white); border-radius:var(--radius); padding:36px; }.contact-info-card h3{ color:var(--white); margin-bottom:24px; }.contact-info-item{ display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }.contact-info-item:last-child{ margin-bottom:0; }.contact-info-item svg{ flex-shrink:0; width:20px; height:20px; stroke:var(--gold); margin-top:2px; }.contact-info-item h5{ font-family:var(--font-head); font-size:.95rem; font-weight:600; color:var(--white); margin-bottom:4px; }.contact-info-item p, .contact-info-item a{ font-size:.88rem; color:rgba(255,255,255,.68); }.contact-info-item a:hover{ color:var(--gold); }.contact-info-divider{ border-top:1px solid var(--line-navy); margin:24px 0; }.faq-list{ border-top:1px solid var(--line); max-width:760px; }.faq-item{ border-bottom:1px solid var(--line); }.faq-item summary{ padding:22px 4px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:var(--font-head); font-weight:500; font-size:1.02rem; color:var(--navy); }.faq-item summary::-webkit-details-marker{ display:none; }.faq-item summary::marker{ content:''; }.faq-item summary .chev{ width:18px; height:18px; stroke:var(--gold); flex-shrink:0; transition:transform .2s var(--ease); }.faq-item[open] summary .chev{ transform:rotate(180deg); }.faq-item p{ padding:0 4px 22px; font-size:.95rem; max-width:680px; }.icon-list{ display:flex; flex-direction:column; gap:16px; }.icon-list-item{ display:flex; gap:14px; align-items:flex-start; }.icon-list-item svg{ flex-shrink:0; width:20px; height:20px; stroke:var(--gold); margin-top:2px; }.icon-list-item p{ font-size:.96rem; color:var(--dark); }.callout{ background:var(--navy); color:var(--white); border-radius:var(--radius); padding:40px; display:flex; flex-direction:column; gap:18px; align-items:flex-start; }.callout h3{ color:var(--white); }.callout p{ color:rgba(255,255,255,.68); }.industry-block{ display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:start; padding:56px 0; border-bottom:1px solid var(--line); }.industry-block:first-child{ padding-top:0; }.industry-block:last-child{ border-bottom:none; padding-bottom:0; }.industry-block > *{ min-width:0; }.industry-block h2{ margin-bottom:16px; text-wrap:balance; }@media (max-width:900px){ .industry-block{ grid-template-columns:1fr; gap:32px; } }.industry-block p{ margin-bottom:16px; }.industry-block p:last-of-type{ margin-bottom:0; }.industry-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; width:100%; margin:0 0 24px; }.industry-tag{ font-family:var(--font-mono); font-size:.78rem; padding:7px 14px; border:1px solid var(--line); border-radius:100px; color:var(--slate); background:var(--cream); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; max-width:100%; line-height:1.25; white-space:normal; text-align:center; transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }a.industry-tag:hover, a.industry-tag:focus-visible{ color:var(--navy); border-color:var(--gold); background:var(--gold-soft); transform:translateY(-1px); }.industry-sidebar{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }.industry-sidebar-section{ margin-bottom:26px; }.industry-sidebar-section:last-child{ margin-bottom:0; }.industry-sidebar h5{ font-family:var(--font-mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:14px; }.related-services-list{ display:flex; flex-direction:column; gap:10px; }.related-services-list a{ display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.92rem; font-weight:500; color:var(--navy); padding:11px 14px; border:1px solid var(--line); border-radius:8px; transition:border-color .2s var(--ease), background .2s var(--ease); }.related-services-list a:hover{ border-color:var(--gold); background:var(--cream); }.related-services-list a svg{ width:16px; height:16px; stroke:var(--gold); flex-shrink:0; }.industry-card h3, .industry-card h4{ margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line); }.industry-card h3 a, .industry-card h4 a{ transition:color .2s var(--ease); }.industry-card h3 a:hover, .industry-card h4 a:hover{ color:var(--gold); }.industry-card p{ margin-bottom:18px; font-size:.92rem; }.industry-card li a{ display:block; padding:3px 0; color:var(--slate); transition:color .2s var(--ease), transform .2s var(--ease); }.industry-card li a:hover{ color:var(--navy); transform:translateX(3px); }@media (max-width:560px){ .industry-tags{ gap:8px; } .industry-tag{ padding:7px 12px; font-size:.73rem; } .story-grid > .icon-list .icon-list-item{ grid-template-columns:18px minmax(0,1fr); gap:12px; } .story-grid > .icon-list .icon-list-item svg{ width:18px; height:18px; } }/* ============================================================   BLOG — Archive   ============================================================ */.blog-filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:48px; }.blog-filter-pill{ font-family:var(--font-mono); font-size:.78rem; padding:9px 18px; border:1px solid var(--line); border-radius:100px; color:var(--slate); background:var(--white); transition:border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease); }.blog-filter-pill:hover{ border-color:var(--gold); color:var(--navy); }.blog-filter-pill.active{ background:var(--navy); border-color:var(--navy); color:var(--white); }.blog-featured{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:40px; margin-bottom:64px; }@media (max-width:900px){ .blog-featured{ grid-template-columns:1fr; gap:28px; padding:28px; } }.blog-featured-media{ aspect-ratio:16/11; border-radius:12px; overflow:hidden; background:linear-gradient(135deg, var(--navy), var(--navy-deep)); position:relative; display:flex; align-items:center; justify-content:center; }.blog-featured-media svg{ width:35%; height:35%; opacity:.5; }.blog-meta-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-family:var(--font-mono); font-size:.76rem; color:var(--slate); margin-bottom:16px; }.blog-tag{ font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold); background:var(--gold-soft); padding:5px 11px; border-radius:100px; }.blog-featured h3{ font-size:1.7rem; margin-bottom:14px; }.blog-featured p{ margin-bottom:22px; }.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-bottom:56px; }@media (max-width:980px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }.blog-card{ display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:border-color .2s var(--ease), transform .2s var(--ease); }.blog-card:hover{ border-color:var(--gold); transform:translateY(-3px); }.blog-card-media{ aspect-ratio:16/10; background:linear-gradient(135deg, var(--navy), var(--navy-deep)); display:flex; align-items:center; justify-content:center; }.blog-card-media svg{ width:30%; height:30%; opacity:.45; }.blog-card-body{ padding:24px; display:flex; flex-direction:column; flex-grow:1; }.blog-card h4{ font-size:1.08rem; margin-bottom:10px; line-height:1.4; }.blog-card p{ font-size:.9rem; margin-bottom:18px; flex-grow:1; }.blog-card .blog-meta-row{ margin-bottom:0; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }.blog-pagination{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:8px; }.blog-pagination a, .blog-pagination span{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:8px; font-family:var(--font-mono); font-size:.85rem; color:var(--navy); transition:border-color .2s var(--ease), background .2s var(--ease); }.blog-pagination a:hover{ border-color:var(--gold); background:var(--cream); }.blog-pagination .current{ background:var(--navy); border-color:var(--navy); color:var(--white); }.blog-pagination .dots{ border:none; }/* ============================================================   BLOG — Single post   ============================================================ */.post-hero{ padding:56px 0 0; }.post-hero .blog-meta-row{ margin-bottom:18px; }.post-hero h1{ max-width:880px; margin-bottom:20px; }.post-hero .lead{ max-width:760px; }.post-hero-media{ margin-top:40px; aspect-ratio:21/8; border-radius:var(--radius); overflow:hidden; background:linear-gradient(135deg, var(--navy), var(--navy-deep)); display:flex; align-items:center; justify-content:center; }.post-hero-media svg{ width:14%; opacity:.4; }.post-layout{ display:grid; grid-template-columns:1fr 300px; gap:64px; align-items:start; }@media (max-width:980px){ .post-layout{ grid-template-columns:1fr; } }.post-body{ max-width:760px; }.post-body p{ font-size:1.05rem; margin-bottom:22px; }.post-body h2{ font-size:1.7rem; margin:48px 0 18px; scroll-margin-top:100px; }.post-body h3{ font-size:1.28rem; margin:34px 0 14px; scroll-margin-top:100px; color:var(--navy); }.post-body ul, .post-body ol{ margin:0 0 22px 22px; }.post-body li{ font-size:1.02rem; color:var(--dark); margin-bottom:10px; line-height:1.65; }.post-body a:not(.btn):not(.btn-ghost-arrow){ color:var(--navy); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }.post-body strong{ color:var(--navy); }.post-body blockquote{ border-left:3px solid var(--gold); padding:4px 0 4px 24px; margin:32px 0; font-family:var(--font-head); font-size:1.2rem; color:var(--navy); font-style:normal; }.post-body hr{ border:none; border-top:1px solid var(--line); margin:40px 0; }.post-body table{ width:100%; border-collapse:collapse; margin-bottom:28px; font-size:.95rem; }.post-body th{ background:var(--navy); color:var(--white); font-family:var(--font-head); font-size:.88rem; font-weight:600; padding:12px 16px; text-align:left; }.post-body td{ padding:12px 16px; border-bottom:1px solid var(--line); color:var(--dark); }.post-body tr:last-child td{ border-bottom:none; }.post-body tr:nth-child(even) td{ background:var(--cream); }.post-body .wp-block-columns{ display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-bottom:32px; }@media (max-width:720px){ .post-body .wp-block-columns{ grid-template-columns:1fr; gap:24px; } }.post-body figcaption{ font-size:.82rem; color:var(--slate); text-align:center; font-family:var(--font-mono); letter-spacing:.04em; margin-top:8px; }.post-body .wp-block-group{ padding:28px 30px; border-radius:var(--radius); border:1px solid var(--line); margin-bottom:28px; }/* ---- Executive Summary ---- */.post-summary{  background:var(--navy);  border-radius:var(--radius);  overflow:hidden;  margin-bottom:36px;}.post-summary-header{  display:flex; align-items:center; gap:10px;  padding:16px 24px;  background:rgba(201,164,92,0.15);  border-bottom:1px solid rgba(201,164,92,0.25);}.post-summary-header svg{ width:18px; height:18px; stroke:var(--gold); flex-shrink:0; }.post-summary-header span{  font-family:var(--font-head); font-size:.82rem; font-weight:700;  color:var(--gold); letter-spacing:.12em; text-transform:uppercase;}.post-summary-body{ padding:24px 28px; }.post-summary-body p{ color:rgba(255,255,255,.82); font-size:1rem; line-height:1.7; margin-bottom:14px; }.post-summary-body p:last-child{ margin-bottom:0; }.post-summary-body ul, .post-summary-body ol{ margin:0 0 14px 20px; }.post-summary-body li{ color:rgba(255,255,255,.78); font-size:.97rem; line-height:1.65; margin-bottom:8px; }.post-summary-body li::marker{ color:var(--gold); }.post-summary-body strong{ color:#ffffff; }/* ---- TOC ---- */.post-toc-inline{ display:none; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; margin-bottom:36px; }@media (max-width:980px){ .post-toc-inline{ display:block; } }.post-toc-inline summary{ font-family:var(--font-head); font-weight:600; font-size:.98rem; color:var(--navy); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }.post-toc-inline summary::-webkit-details-marker{ display:none; }.post-toc-inline ol{ margin:18px 0 0 0; padding-left:20px; }.post-toc-inline li{ font-size:.9rem; margin-bottom:8px; }.post-toc-inline a{ color:var(--slate); }.post-toc-inline a:hover{ color:var(--gold); }/* ---- FAQ Dropdowns (Details blocks in editor) ---- */.post-body details{  border:1px solid var(--line); border-radius:10px; margin-bottom:12px; overflow:hidden; transition:border-color .2s;}.post-body details[open]{ border-color:var(--gold); }.post-body details summary{  display:flex; justify-content:space-between; align-items:center;  padding:18px 22px; font-family:var(--font-head); font-size:1rem; font-weight:600;  color:var(--navy); cursor:pointer; list-style:none; gap:16px;  background:var(--white); transition:background .2s;}.post-body details[open] summary{ background:var(--cream); }.post-body details summary::-webkit-details-marker{ display:none; }.post-body details summary::marker{ content:''; }.post-body details summary::after{  content:''; display:block; flex-shrink:0; width:20px; height:20px;  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A45C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");  background-repeat:no-repeat; background-size:contain; transition:transform .25s;}.post-body details[open] summary::after{ transform:rotate(180deg); }.post-body details .wp-block-details-content,.post-body details > p,.post-body details > div{  padding:0 22px 20px; font-size:.97rem; color:var(--dark); line-height:1.7; background:var(--white);}.post-body details[open] > p,.post-body details[open] > div,.post-body details[open] .wp-block-details-content{ border-top:1px solid var(--line); padding-top:18px; }/* ---- Inline CTA ---- */.post-cta{ background:var(--navy); color:var(--white); border-radius:var(--radius); padding:34px 36px; margin:44px 0; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }.post-cta-text h4{ color:var(--white); font-size:1.18rem; margin-bottom:6px; }.post-cta-text p{ color:rgba(255,255,255,.68); font-size:.92rem; margin:0; }.post-cta .btn{ flex-shrink:0; }/* ---- References ---- */.post-body ol.post-references-list{  margin:32px 0 0; padding:24px 28px;  background:var(--cream); border-radius:10px; border:1px solid var(--line);  counter-reset:refs; list-style:none;}.post-body ol.post-references-list li{  counter-increment:refs; padding:8px 0 8px 36px; position:relative;  font-size:.86rem; color:var(--slate); line-height:1.55; border-bottom:1px solid var(--line);}.post-body ol.post-references-list li:last-child{ border-bottom:none; }.post-body ol.post-references-list li::before{  content:counter(refs); position:absolute; left:0; top:9px;  width:22px; height:22px; background:var(--navy); color:#fff;  font-size:.72rem; font-family:var(--font-head); font-weight:700;  border-radius:50%; display:flex; align-items:center; justify-content:center;}.post-body ol.post-references-list a{ color:var(--navy); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:2px; word-break:break-all; }/* ---- Post footer row ---- */.post-footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }.post-tags{ display:flex; flex-wrap:wrap; gap:8px; }.post-tag{ font-family:var(--font-mono); font-size:.74rem; padding:6px 13px; border:1px solid var(--line); border-radius:100px; color:var(--slate); background:var(--cream); }.post-share{ display:flex; gap:10px; }.post-share a{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; transition:border-color .2s var(--ease), background .2s var(--ease); }.post-share a:hover{ border-color:var(--gold); background:var(--cream); }.post-share svg{ width:16px; height:16px; stroke:var(--navy); }/* ---- Author box — below references ---- */.author-box{  display:flex; gap:20px; align-items:flex-start;  background:var(--navy); border-radius:var(--radius);  padding:28px; margin-top:40px;}.author-box-avatar{ flex-shrink:0; width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; }.author-box-avatar svg{ width:30px; height:30px; }.author-box h5{ font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); margin-bottom:4px; }.author-box h4{ font-size:1.05rem; color:#ffffff; margin-bottom:8px; }.author-box p{ font-size:.9rem; color:rgba(255,255,255,.72); margin:0; line-height:1.65; }.author-box a{ color:var(--gold) !important; text-decoration-color:var(--gold) !important; }/* ---- Sidebar ---- */.post-sidebar{ position:sticky; top:104px; display:flex; flex-direction:column; gap:28px; }@media (max-width:980px){ .post-sidebar{ position:static; } }.sidebar-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px; }.sidebar-card h5{ font-family:var(--font-mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); margin-bottom:18px; }.post-toc{ display:block; }@media (max-width:980px){ .post-toc{ display:none; } }.post-toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }.post-toc li{ counter-increment:toc; margin-bottom:4px; }.post-toc a{ display:flex; gap:10px; font-size:.88rem; color:var(--slate); padding:7px 0; border-left:2px solid var(--line); padding-left:14px; transition:color .2s var(--ease), border-color .2s var(--ease); }.post-toc a::before{ content:counter(toc); font-family:var(--font-mono); font-size:.76rem; color:var(--gold); flex-shrink:0; }.post-toc a:hover, .post-toc a.active{ color:var(--navy); border-left-color:var(--gold); }.sidebar-recent-post{ display:flex; gap:12px; margin-bottom:18px; }.sidebar-recent-post:last-child{ margin-bottom:0; }.sidebar-recent-thumb{ flex-shrink:0; width:64px; height:64px; border-radius:8px; background:linear-gradient(135deg, var(--navy), var(--navy-deep)); }.sidebar-recent-post h6{ font-family:var(--font-head); font-size:.86rem; font-weight:600; color:var(--navy); line-height:1.4; margin-bottom:4px; }.sidebar-recent-post span{ font-family:var(--font-mono); font-size:.72rem; color:var(--slate); }.sidebar-card.sidebar-cta{ background:var(--navy); }.sidebar-card.sidebar-cta h5{ color:var(--gold); }.sidebar-card.sidebar-cta p{ color:rgba(255,255,255,.7); font-size:.9rem; margin-bottom:18px; }.sidebar-card.sidebar-cta .btn{ width:100%; text-align:center; justify-content:center; }.sidebar-cat-list{ display:flex; flex-direction:column; gap:2px; }.sidebar-cat-list a{ display:flex; justify-content:space-between; font-size:.9rem; color:var(--dark); padding:10px 0; border-bottom:1px solid var(--line); }.sidebar-cat-list a:last-child{ border-bottom:none; }.sidebar-cat-list a:hover{ color:var(--gold); }.sidebar-cat-list span{ color:var(--slate); font-family:var(--font-mono); font-size:.78rem; }/* ============================================================   TAMPA / LOCATION PAGE   ============================================================ */.service-area-layout{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }@media (max-width:900px){ .service-area-layout{ grid-template-columns:1fr; gap:40px; } }.map-placeholder{ position:relative; border-radius:var(--radius); overflow:hidden; background:var(--navy); aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }.map-placeholder img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.map-placeholder-label{ position:relative; z-index:1; background:rgba(19,41,67,.82); border:1px solid rgba(201,164,92,.35); border-radius:8px; padding:10px 18px; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; color:var(--gold); text-align:center; backdrop-filter:blur(4px); }.map-placeholder svg{ position:relative; z-index:1; width:40px; height:40px; stroke:var(--gold); opacity:.8; }.area-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }@media (max-width:560px){ .area-grid{ grid-template-columns:1fr; } }.area-pill{ display:flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--line); border-radius:8px; padding:13px 16px; font-size:.92rem; font-weight:500; color:var(--dark); }.area-pill svg{ width:14px; height:14px; stroke:var(--gold); flex-shrink:0; }.area-note{ margin-top:18px; font-size:.88rem; color:var(--slate); font-style:italic; display:flex; align-items:flex-start; gap:8px; }.area-note svg{ width:15px; height:15px; stroke:var(--gold); flex-shrink:0; margin-top:2px; }.local-contact-card{ background:var(--navy); border-radius:var(--radius); padding:40px; display:grid; grid-template-columns:1fr 1fr; gap:32px; }@media (max-width:820px){ .local-contact-card{ grid-template-columns:1fr; gap:24px; } }.local-contact-item{ display:flex; gap:14px; align-items:flex-start; }.local-contact-item svg{ flex-shrink:0; width:22px; height:22px; stroke:var(--gold); margin-top:2px; }.local-contact-item h5{ font-family:var(--font-head); font-size:.88rem; font-weight:600; color:var(--gold); margin-bottom:5px; text-transform:uppercase; letter-spacing:.06em; }.local-contact-item p, .local-contact-item a{ font-size:.98rem; color:rgba(255,255,255,.78); }.local-contact-item a:hover{ color:var(--gold); }.local-contact-divider{ grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); }.local-faq{ border-top:1px solid var(--line); }.local-faq .faq-item p{ max-width:100%; }/* ============================================================   PROCESS PAGE — Full expanded step layout   ============================================================ */.process-full{ display:flex; flex-direction:column; gap:0; }.process-full-item{  padding:56px 0; border-bottom:1px solid var(--line);}.process-full-item:last-child{ border-bottom:none; padding-bottom:0; }.process-full-header{  display:flex; align-items:flex-start; gap:28px; margin-bottom:28px;}.process-full-num{  font-family:var(--font-mono); font-size:3.5rem; font-weight:700;  color:var(--gold); opacity:.18; line-height:1; flex-shrink:0;  min-width:80px;}.process-full-header .eyebrow{ margin-bottom:6px; }.process-full-header h3{ font-size:1.6rem; color:var(--navy); margin-bottom:0; }.process-full-body > p{ font-size:1.02rem; color:var(--slate); margin-bottom:16px; max-width:760px; }.process-full-body > p:last-of-type{ margin-bottom:0; }.process-deliverables{ margin-top:36px; }.process-deliverables > .eyebrow{ margin-bottom:20px; }@media (max-width:680px){  .process-full-header{ flex-direction:column; gap:12px; }  .process-full-num{ font-size:2.5rem; min-width:0; }  .process-full-item{ padding:40px 0; }}/* ============================================================   GENERAL PAGE — Content body   ============================================================ */.section .post-body{ max-width:100%; }/* ============================================================   AI INFO PAGE   ============================================================ */.ai-info{ background:var(--navy) !important; color:var(--white); min-height:100vh; }body:has(.ai-info){ background:var(--navy); }.ai-info h1,.ai-info h2,.ai-info h3,.ai-info h4,.ai-info h5{ color:var(--white); }.ai-info p{ color:rgba(255,255,255,.62); }.ai-info a{ color:inherit; }.ai-info .eyebrow{ color:var(--gold); }.ai-info .eyebrow::before{ background:var(--gold); }.ai-info .ai-nav{ position:sticky; top:0; z-index:1000; background:rgba(12,29,48,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.1); padding:0 32px; height:64px; display:flex; align-items:center; justify-content:space-between; }.ai-nav-brand{ font-family:var(--font-head); font-weight:700; font-size:1rem; color:var(--white); text-decoration:none; display:flex; align-items:center; gap:10px; }.ai-nav-brand-sub{ font-family:var(--font-mono); font-size:.52rem; font-weight:500; color:var(--gold); letter-spacing:.2em; text-transform:uppercase; display:block; margin-top:3px; }.ai-nav-links{ display:flex; align-items:center; gap:28px; list-style:none; }.ai-nav-links a{ font-size:.88rem; color:rgba(255,255,255,.65); text-decoration:none; transition:color .2s var(--ease); }.ai-nav-links a:hover{ color:var(--white); }@media (max-width:768px){ .ai-info .ai-nav{ padding:0 20px; } .ai-nav-links{ display:none; } }.ai-info .hero{ background:linear-gradient(160deg,#0c1d30 0%,var(--navy) 50%,#1a3a5c 100%); padding:96px 0 80px; border-bottom:1px solid rgba(255,255,255,.08); position:relative; overflow:hidden; }.ai-info .hero::before{ content:''; position:absolute; top:-120px; right:-120px; width:600px; height:600px; background:radial-gradient(circle,rgba(201,164,92,.06) 0%,transparent 70%); pointer-events:none; }.hero-inner{ max-width:1080px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:center; }.ai-hero-badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(201,164,92,.1); border:1px solid rgba(201,164,92,.3); border-radius:20px; padding:5px 14px; font-family:var(--font-mono); font-size:.76rem; color:var(--gold); font-weight:500; margin-bottom:24px; }.ai-hero-badge-dot{ width:6px; height:6px; background:var(--gold); border-radius:50%; flex-shrink:0; animation:ai-pulse 2s ease-in-out infinite; }@keyframes ai-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.45; transform:scale(.75); } }.ai-info .hero h1{ color:var(--white) !important; font-size:clamp(2.2rem,4.5vw,3.4rem); font-weight:800; line-height:1.1; letter-spacing:-0.03em; margin-bottom:20px; }.ai-info .hero h1 em{ font-style:normal; color:var(--gold); }.hero-desc{ font-size:1.05rem; color:rgba(255,255,255,.62); line-height:1.7; max-width:520px; margin-bottom:32px; }.hero-chips{ display:flex; flex-wrap:wrap; gap:8px; }.chip{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:5px 14px; font-family:var(--font-mono); font-size:.74rem; color:rgba(255,255,255,.55); letter-spacing:.02em; }@media (max-width:980px){ .hero-inner{ grid-template-columns:1fr; gap:40px; } .entity-card{ display:none; } }@media (max-width:640px){ .hero-inner{ padding:0 20px; } .ai-info .hero{ padding:64px 0 56px; } }.entity-card{ background:var(--navy-deep); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); overflow:hidden; }.entity-card-header{ background:rgba(28,43,57,.9); padding:11px 18px; display:flex; align-items:center; gap:7px; }.ec-dot{ width:10px; height:10px; border-radius:50%; }.ec-dot-r{ background:#D85A30; opacity:.7; } .ec-dot-y{ background:var(--gold); opacity:.7; } .ec-dot-g{ background:#4B8A3F; opacity:.7; }.ec-label{ font-family:var(--font-mono); font-size:.7rem; color:rgba(255,255,255,.35); margin-left:6px; }.entity-card-body{ padding:20px 18px; font-family:var(--font-mono); font-size:.75rem; line-height:1.85; }.jk{ color:rgba(255,255,255,.5); } .jv-str{ color:var(--gold); } .jv-arr{ color:#7eb8d4; } .jv-type{ color:#b695e0; } .jbrace{ color:var(--gold); opacity:.55; }.ai-info section{ padding:88px 0; }.section-inner{ max-width:1080px; margin:0 auto; padding:0 32px; }.ai-info .section-h2{ color:var(--white) !important; }.section-h2{ font-family:var(--font-head); font-size:clamp(1.8rem,3vw,2.4rem); font-weight:700; color:var(--white); margin-bottom:10px; letter-spacing:-0.02em; }.section-intro{ font-size:1.02rem; color:rgba(255,255,255,.55); max-width:600px; margin-bottom:44px; line-height:1.7; }.ai-info hr.divider{ border:none; border-top:1px solid rgba(255,255,255,.08); margin:0; }@media (max-width:640px){ .section-inner{ padding:0 20px; } .ai-info section{ padding:64px 0; } }.identity-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:40px; margin-top:40px; }@media (max-width:760px){ .identity-grid{ grid-template-columns:1fr; } }.ai-info .identity-block h3{ color:var(--gold) !important; }.identity-block h3{ font-family:var(--font-mono); font-size:.72rem; font-weight:500; color:var(--gold); text-transform:uppercase; letter-spacing:.14em; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.1); }.fact-row{ display:flex; gap:14px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:.92rem; }.fact-row:last-child{ border-bottom:none; }.fact-label{ color:rgba(255,255,255,.4); min-width:130px; flex-shrink:0; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.02em; padding-top:2px; }.fact-value{ color:rgba(255,255,255,.88); font-weight:500; line-height:1.5; }.fact-value a{ color:var(--gold); text-decoration:none; transition:opacity .2s; }.fact-value a:hover{ opacity:.75; }@media (max-width:480px){ .fact-row{ flex-direction:column; gap:4px; } .fact-label{ min-width:0; } }.services-section{ background:var(--navy-deep); }.services-intro,.expertise-intro,.citation-intro,.schema-intro,.crawler-intro{ font-size:1.02rem; color:rgba(255,255,255,.55); max-width:600px; margin-bottom:40px; line-height:1.7; }.ai-info .service-card{ background:var(--navy); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:26px 22px; display:flex; flex-direction:column; height:100%; transition:border-color .25s var(--ease),transform .25s var(--ease); box-shadow:none; }.ai-info .service-card:hover{ border-color:rgba(201,164,92,.45); transform:translateY(-3px); box-shadow:none; }.service-num{ font-family:var(--font-mono); font-size:.7rem; color:var(--gold); opacity:.55; letter-spacing:.06em; margin-bottom:12px; }.ai-info .service-card h3{ font-size:1rem; font-weight:600; color:var(--white); margin-bottom:10px; }.ai-info .service-card p{ font-size:.88rem; color:rgba(255,255,255,.5); line-height:1.65; flex-grow:1; margin-bottom:16px; }.service-link{ font-family:var(--font-mono); font-size:.74rem; color:var(--gold); text-decoration:none; font-weight:500; letter-spacing:.02em; transition:opacity .2s; margin-top:auto; }.service-link:hover{ opacity:.7; }.expertise-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }@media (max-width:680px){ .expertise-grid{ grid-template-columns:1fr; } }.expertise-card{ background:var(--navy-deep); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:24px 22px; }.expertise-card h3{ font-family:var(--font-head); font-size:.92rem; font-weight:600; color:var(--gold); margin-bottom:14px; display:flex; align-items:center; gap:8px; }.expertise-card h3::before{ content:''; display:inline-block; width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }.topic-list{ display:flex; flex-wrap:wrap; gap:6px; }.topic-tag{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:6px; padding:4px 10px; font-family:var(--font-mono); font-size:.74rem; color:rgba(255,255,255,.5); letter-spacing:.01em; }.citation-section{ background:var(--navy-deep); }.citation-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }@media (max-width:760px){ .citation-grid{ grid-template-columns:1fr; } }.citation-block{ background:var(--navy); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:24px 22px; }.citation-block h3{ font-family:var(--font-mono); font-size:.72rem; font-weight:500; color:var(--gold); text-transform:uppercase; letter-spacing:.14em; margin-bottom:16px; }.citation-block p,.citation-block ul li{ font-size:.9rem; color:rgba(255,255,255,.55); line-height:1.7; }.citation-block ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }.citation-block ul li{ display:flex; gap:8px; }.citation-block ul li::before{ content:"→"; color:var(--gold); flex-shrink:0; opacity:.7; }.citation-block p em{ font-style:italic; color:rgba(255,255,255,.75); border-left:2px solid var(--gold); display:block; padding:10px 0 10px 16px; margin-top:12px; line-height:1.65; font-size:.88rem; }.citation-block ul li a,.fact-value a{ color:var(--gold); text-decoration:none; transition:opacity .2s; }.citation-block ul li a:hover{ opacity:.7; }.schema-intro{ margin-bottom:28px; }.schema-tabs{ display:flex; gap:4px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:0; }.schema-tab{ padding:10px 22px; font-family:var(--font-mono); font-size:.78rem; font-weight:500; color:rgba(255,255,255,.4); cursor:pointer; border-radius:6px 6px 0 0; border:1px solid transparent; border-bottom:none; letter-spacing:.02em; transition:color .2s; user-select:none; }.schema-tab.active{ color:var(--gold); background:var(--navy-deep); border-color:rgba(255,255,255,.1); border-bottom-color:var(--navy-deep); }.schema-tab:hover:not(.active){ color:rgba(255,255,255,.7); }.schema-panel{ background:var(--navy-deep); border:1px solid rgba(255,255,255,.1); border-top:none; border-radius:0 0 var(--radius) var(--radius); padding:28px 32px; display:none; }.schema-panel.active{ display:block; }.schema-panel pre{ font-family:var(--font-mono); font-size:.8rem; line-height:1.85; color:rgba(255,255,255,.5); white-space:pre-wrap; word-break:break-word; overflow-x:auto; margin:0; }.schema-panel pre .k{ color:rgba(255,255,255,.45); } .schema-panel pre .s{ color:var(--gold); } .schema-panel pre .t{ color:#b695e0; } .schema-panel pre .n{ color:#7eb8d4; }@media (max-width:640px){ .schema-tabs{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; } .schema-tab{ flex-shrink:0; } .schema-panel{ padding:20px; } .schema-panel pre{ font-size:.72rem; } }.crawler-section{ background:var(--navy-deep); }.crawler-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }@media (max-width:760px){ .crawler-grid{ grid-template-columns:repeat(2,1fr); } }.crawler-card{ background:var(--navy); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:20px 16px; text-align:center; }.crawler-name{ font-family:var(--font-mono); font-size:.78rem; color:var(--gold); letter-spacing:.04em; margin-bottom:8px; }.crawler-status{ font-size:.82rem; font-weight:600; color:#6aad6a; margin-bottom:4px; }.crawler-bot{ font-size:.74rem; color:rgba(255,255,255,.35); font-family:var(--font-mono); }.robots-preview{ background:var(--navy); border:1px solid rgba(255,255,255,.08); border-radius:10px; overflow:hidden; }.robots-header{ background:rgba(28,43,57,.8); padding:10px 18px; font-family:var(--font-mono); font-size:.72rem; color:rgba(255,255,255,.35); letter-spacing:.04em; border-bottom:1px solid rgba(255,255,255,.06); }.robots-body{ padding:20px 22px; font-family:var(--font-mono); font-size:.82rem; line-height:2; color:rgba(255,255,255,.5); }.robots-body .rc{ color:rgba(255,255,255,.25); font-size:.74rem; } .robots-body .ra{ color:var(--gold); opacity:.75; } .robots-body .ru{ color:#7eb8d4; }.ai-contact-section{ background:linear-gradient(160deg,var(--navy) 0%,#1a3a5c 100%); border-top:1px solid rgba(255,255,255,.08); }.ai-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:40px; align-items:start; }@media (max-width:760px){ .ai-contact-grid{ grid-template-columns:1fr; gap:36px; } }.ai-contact-info p{ font-size:1rem; color:rgba(255,255,255,.55); line-height:1.7; margin-bottom:28px; }.contact-facts{ display:flex; flex-direction:column; gap:14px; }.contact-fact{ display:flex; gap:14px; align-items:baseline; font-size:.92rem; }.cf-label{ font-family:var(--font-mono); font-size:.72rem; color:var(--gold); font-weight:500; letter-spacing:.04em; min-width:90px; flex-shrink:0; padding-top:2px; }.cf-value{ color:rgba(255,255,255,.62); }.cf-value a{ color:rgba(255,255,255,.82); text-decoration:none; transition:color .2s; }.cf-value a:hover{ color:var(--gold); }.cta-stack{ display:flex; flex-direction:column; gap:12px; }.cta-stack > p{ font-size:.95rem; color:rgba(255,255,255,.5); margin-bottom:4px; }.ai-info footer{ background:var(--navy-deep); border-top:1px solid rgba(255,255,255,.08); padding:40px 0; }.ai-footer-inner{ max-width:1080px; margin:0 auto; padding:0 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }.ai-footer-brand{ font-family:var(--font-head); font-weight:700; font-size:1rem; letter-spacing:.03em; color:var(--white); }.ai-footer-sub{ font-family:var(--font-mono); font-size:.5rem; color:rgba(255,255,255,.38); letter-spacing:.2em; text-transform:uppercase; margin-top:3px; }.ai-footer-right{ font-size:.8rem; color:rgba(255,255,255,.32); text-align:right; line-height:1.9; }.ai-footer-right a{ color:rgba(255,255,255,.32); text-decoration:none; transition:color .2s; }.ai-footer-right a:hover{ color:var(--gold); }@media (max-width:640px){ .ai-footer-inner{ padding:0 20px; flex-direction:column; gap:12px; } .ai-footer-right{ text-align:left; } }

/* ============================================================
   RESPONSIVE REFINEMENTS — v8.1.0
   Progressive enhancements for desktop, tablet, and mobile.
   ============================================================ */
:root { --page-gutter: clamp(20px, 3vw, 40px); }
html { scroll-padding-top: 100px; }
body { min-width: 0; overflow-wrap: break-word; }
.container { width: 100%; padding-inline: var(--page-gutter); }
:where(main, section, article, aside, .container, .post-body, .post-layout, .hero .container, .story-grid, .contact-grid, .industry-block) { min-width: 0; }
:where(img, video, iframe, embed, object) { max-width: 100%; }
img { height: auto; }
:where(h1,h2,h3,h4,h5,h6) { overflow-wrap: break-word; }
:where(p,li,a) { overflow-wrap: break-word; }
:where(input,select,textarea,button) { max-width: 100%; }
:where(input,select,textarea) { min-width: 0; }
:where(.services-grid,.industries-grid,.blog-grid,.testi-grid,.approach-grid,.personality-grid,.deliverables-grid,.cross-grid,.area-grid,.dash-grid,.footer-grid,.ecosystem-grid,.crawler-grid,.citation-grid,.expertise-grid,.identity-grid) > * { min-width: 0; }
:where(.post-body,.section .post-body) :where(pre, .wp-block-preformatted) { max-width: 100%; overflow-x: auto; }
.post-body :where(table, .wp-block-table) { max-width: 100%; }
.post-body .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.post-body table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.post-body :where(img,video,iframe) { height: auto; }
.post-body iframe { width: 100%; }
.post-body :where(h2,h3,h4) { scroll-margin-top: 110px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
:where(.btn,.nav-toggle,.blog-filter-pill,.blog-pagination a,.post-share a) { min-height: 44px; }
.nav-links { min-width: 0; }
.nav-dropdown { max-width: min(90vw, 480px); }
.industries-menu .industries-dropdown { max-width: none; }
.hero .container { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.why .container, .results .container, .contact-grid, .service-area-layout, .industry-block, .blog-featured, .ai-contact-grid { min-width: 0; }
.section-head { max-width: min(100%,680px); }

@media (min-width: 1021px) and (max-width: 1150px) {
  .nav-links { gap: 12px; font-size: .8rem; }
  .nav .container { gap: 12px; }
  .nav-cta .btn { padding-inline: 12px; }
}
@media (max-width: 1020px) {
  .nav-links { max-height: calc(100dvh - 74px); }
  .nav-dropdown { max-width: 100%; }
  .nav-links > details > summary { cursor: pointer; }
  .nav-links a { overflow-wrap: anywhere; }
}
@media (max-width: 980px) {
  .hero .container { grid-template-columns: minmax(0,1fr); }
  .hero-diagram { width: min(100%,440px); }
  .post-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .post-body { max-width: 100%; }
  .post-sidebar { min-width: 0; }
}
@media (max-width: 768px) {
  :root { --page-gutter: 24px; }
  .section { padding-block: 64px; }
  .section-head { margin-bottom: 36px; }
  .page-hero { padding-block: 48px 64px; }
  .hero { padding-block: 48px 64px; }
  .hero .container { gap: 32px; }
  .hero h1 { margin-bottom: 18px; }
  .hero .lead { margin-bottom: 26px; }
  .hero-actions { gap: 12px; }
  .footer-grid { gap: 32px; }
  .trust-bar .container { justify-content: flex-start; }
  .trust-item { flex-basis: calc(50% - 20px); }
  .post-hero-media { aspect-ratio: 16/9; }
  .blog-featured { padding: 24px; }
  .blog-featured h3 { font-size: clamp(1.35rem,3vw,1.7rem); }
  .post-body p { font-size: 1rem; }
  .post-body h2 { font-size: clamp(1.45rem,4vw,1.7rem); }
  .post-cta { padding: 28px; }
  .form-card, .contact-info-card, .local-contact-card { padding: 28px; }
  .service-card, .testi-card, .cross-card { padding: 26px; }
}
@media (max-width: 640px) {
  :root { --page-gutter: 20px; }
  html { scroll-padding-top: 82px; }
  .nav-links { max-height: calc(100dvh - 70px); }
  .section { padding-block: 52px; }
  .section-head { margin-bottom: 30px; }
  .section-head p { font-size: 1rem; }
  h1 { font-size: clamp(2rem, 8vw, 2.65rem); line-height: 1.15; }
  h2 { font-size: clamp(1.65rem, 6.5vw, 2.15rem); line-height: 1.2; }
  .hero { padding-block: 36px 52px; }
  .hero .container { gap: 24px; }
  .hero-diagram { width: min(100%,320px); }
  .hero .lead, .page-hero .lead { font-size: 1rem; }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { flex: 1 1 100%; white-space: normal; text-align: center; }
  .btn { padding: 13px 20px; white-space: normal; text-align: center; }
  .trust-bar { padding-block: 24px; }
  .trust-bar .container { gap: 18px; }
  .trust-item { flex-basis: 100%; }
  .service-card, .industry-card, .testi-card, .approach-card, .personality-card, .cross-card, .eco-cell { padding: 24px; }
  .why-list-item { gap: 14px; }
  .process-item { padding-block: 26px; }
  .dash { padding: 18px; }
  .dash-grid { gap: 10px; }
  .dash-card { padding: 12px; }
  .dash-card .value { font-size: clamp(1.1rem,5vw,1.5rem); overflow-wrap: anywhere; }
  .post-hero { padding-top: 36px; }
  .post-hero-media { margin-top: 26px; aspect-ratio: 16/10; }
  .post-body h2 { margin-top: 36px; }
  .post-body h3 { margin-top: 28px; }
  .post-body blockquote { padding-left: 16px; font-size: 1.05rem; }
  .post-body .wp-block-group { padding: 20px; }
  .post-summary-header { padding: 14px 18px; }
  .post-summary-body { padding: 20px; }
  .post-toc-inline { padding: 20px; }
  .post-cta { flex-direction: column; align-items: stretch; padding: 24px; gap: 18px; }
  .post-cta .btn { width: 100%; }
  .author-box { padding: 22px; gap: 14px; }
  .author-box-avatar { width: 48px; height: 48px; }
  .post-body ol.post-references-list { padding: 18px; }
  .blog-featured { padding: 20px; }
  .blog-filter-bar { gap: 8px; margin-bottom: 32px; }
  .blog-filter-pill { padding: 9px 14px; }
  .blog-grid { gap: 20px; }
  .blog-card-body { padding: 20px; }
  .blog-pagination { flex-wrap: wrap; }
  .form-card, .contact-info-card, .local-contact-card, .callout { padding: 24px; }
  .faq-item summary { padding-block: 18px; }
  .industry-block { padding-block: 40px; }
  .footer-grid { gap: 28px; }
  footer { padding-top: 52px; }
  .footer-bottom { align-items: flex-start; }
  .page-hero-arcs { opacity: .35; }
  .final-cta::before, .final-cta::after { opacity: .45; }
}
@media (max-width: 380px) {
  :root { --page-gutter: 16px; }
  .nav .container { gap: 8px; }
  .logo-text { font-size: .78rem; }
  .logo-text span { font-size: .44rem; letter-spacing: .12em; }
  .nav-toggle { flex: 0 0 42px; }
  .nav-links { padding-inline: 16px; }
  .dash-grid { grid-template-columns: minmax(0,1fr); }
  .author-box { flex-direction: column; }
  .post-body details summary { padding-inline: 16px; }
  .post-body details > p, .post-body details > div { padding-inline: 16px; }
}
@media (hover: none) {
  .service-card:hover, .blog-card:hover, a.industry-tag:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .radar-sweep, .radar-node-dot.pulse { animation: none !important; }
}

/* ============================================================
   NAVIGATION HOTFIX 8.1.1
   Keep desktop links and CTA aligned while mega menus overlay
   the page instead of expanding the header.
   ============================================================ */
@media (min-width: 1021px) {
  .nav { position: sticky; top: 0; z-index: 1000; }
  .nav > .container, .nav .container {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(12px, 1.5vw, 24px);
    min-height: 78px;
  }
  .nav .logo { flex: 0 0 auto; }
  .nav-links {
    position: static;
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: clamp(12px, 1.65vw, 24px);
    width: auto;
    min-width: 0;
    max-height: none;
    margin: 0 0 0 auto;
    padding: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    border: 0;
  }
  .nav-links > a, .nav-links > details { flex: 0 0 auto; width: auto; }
  .nav-links > a, .nav-links > details > summary { white-space: nowrap; }
  .nav-cta { display: flex; flex: 0 0 auto; margin: 0; }
  .nav-cta .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 44px;
    padding: 11px 16px;
    font-size: .8rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .nav-toggle, .mobile-only-cta { display: none; }
  .nav-links .industries-menu { position: static; }
  .nav-links .nav-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    z-index: 1100;
  }
  .nav-links .industries-menu > .industries-dropdown {
    position: absolute;
    top: calc(100% - 1px);
    left: 32px;
    right: 32px;
    display: block;
    width: auto;
    max-width: none;
    min-width: 0;
    max-height: min(75vh, 720px);
    overflow-y: auto;
    margin: 0;
    padding: 0;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 0 0 14px 14px;
    box-shadow: 0 20px 40px -20px rgba(19,41,67,.25);
  }
  .nav-links .industries-menu > .industries-dropdown .industries-menu-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}
@media (min-width: 1021px) and (max-width: 1240px) {
  .nav .container { padding-inline: 22px; gap: 12px; }
  .nav-links { gap: 13px; font-size: .82rem; }
  .nav-cta .btn { padding-inline: 12px; font-size: .76rem; }
  .nav-links .industries-menu > .industries-dropdown { left: 22px; right: 22px; }
}
@media (max-width: 1020px) {
  .nav .container { display: flex; flex-wrap: nowrap; align-items: center; }
  .nav .logo { margin-right: auto; }
  .nav-cta { margin-left: auto; }
  .nav-toggle { display: flex; }
  .nav-links { position: absolute; top: 100%; left: 0; right: 0; }
  .nav-links .industries-menu > .industries-dropdown {
    position: static;
    max-height: none;
    overflow: visible;
    box-shadow: none;
  }
}


/* ==========================================================
   ARC HEADER — matches header.php markup (v8.2)
   ========================================================== */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(246,243,236,.97);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.site-header .header-inner{position:relative;display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(16px,2vw,30px);min-height:78px}
.site-header .site-logo{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0}
.site-header .site-logo .logo-mark{width:36px;height:36px;flex:none}
.site-header .site-logo .logo-text{display:block;font-family:var(--font-head);font-weight:700;font-size:1rem;letter-spacing:.035em;line-height:1.1;white-space:nowrap}
.site-header .site-logo .logo-text span{display:block;margin-top:4px;font-family:var(--font-mono);font-size:.53rem;font-weight:500;letter-spacing:.2em;color:var(--slate)}
.site-header .nav-links{position:static;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(12px,1.65vw,24px);width:auto;min-width:0;max-height:none;margin-left:auto;padding:0;overflow:visible;border:0;box-shadow:none;background:transparent}
.site-header .nav-links>.nav-link,.site-header .nav-links>.nav-item{flex:0 0 auto;width:auto}
.site-header .nav-links>.nav-link,.site-header .nav-links>.nav-item>summary{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;white-space:nowrap;font-size:.9rem;font-weight:500;line-height:1.3;color:var(--navy)}
.site-header .nav-item{position:static}
.site-header .nav-item>summary{cursor:pointer;list-style:none;gap:6px}
.site-header .nav-item>summary::-webkit-details-marker{display:none}
.site-header .nav-item>summary::marker{content:''}
.site-header .nav-item>summary:after{content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:3px;transition:transform .2s}
.site-header .nav-item[open]>summary:after{transform:translateY(2px) rotate(225deg)}
.site-header .nav-links>a.nav-cta{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:44px;padding:11px 18px;margin:0;background:var(--gold);color:var(--navy);border:1px solid transparent;border-radius:8px;font-family:var(--font-head);font-size:.8rem;font-weight:600;line-height:1.2;white-space:nowrap}
.site-header .nav-links>a.nav-cta:hover{background:#dab974}
.site-header .mega-menu{position:absolute;top:calc(100% - 1px);left:32px;right:32px;z-index:1100;display:block;max-height:min(75vh,720px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 20px 44px -22px rgba(19,41,67,.35)}
.site-header .nav-item:not([open])>.mega-menu{display:none}
.site-header .mega-menu .industries-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.site-header .mega-menu .industries-menu-group{min-width:0;padding:22px 20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.site-header .mega-menu .industries-menu-group:nth-child(4n){border-right:0}
.site-header .mega-menu .industries-parent-link{display:block;white-space:normal}
.site-header .mega-menu .industries-child-links a{display:block;white-space:normal;overflow-wrap:anywhere}
.site-header .nav-toggle{display:none}
@media(min-width:1021px) and (max-width:1240px){
 .site-header .header-inner{gap:14px;padding-inline:22px}
 .site-header .nav-links{gap:13px}
 .site-header .nav-links>.nav-link,.site-header .nav-links>.nav-item>summary{font-size:.82rem}
 .site-header .nav-links>a.nav-cta{padding:10px 12px;font-size:.76rem}
 .site-header .mega-menu{left:22px;right:22px}
}
@media(max-width:1020px){
 .site-header .header-inner{min-height:72px;justify-content:space-between}
 .site-header .nav-toggle{display:flex;flex:0 0 44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;margin-left:auto;cursor:pointer}
 .site-header .nav-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;width:auto;max-height:calc(100dvh - 72px);margin:0;padding:12px 28px 24px;overflow-y:auto;overscroll-behavior:contain;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 18px 34px -28px rgba(19,41,67,.35)}
 .site-header .nav-links.open{display:flex}
 .site-header .nav-links>.nav-link,.site-header .nav-links>.nav-item{display:block;width:100%}
 .site-header .nav-links>.nav-link,.site-header .nav-links>.nav-item>summary{display:flex;justify-content:space-between;width:100%;min-height:46px;padding:11px 0;font-size:.95rem;white-space:normal}
 .site-header .nav-links>a.nav-cta{display:flex;width:100%;min-height:46px;margin-top:10px;font-size:.9rem}
 .site-header .mega-menu{position:static;display:block;width:100%;max-height:none;margin:4px 0 12px;overflow:visible;border:1px solid var(--line);border-radius:10px;box-shadow:none}
 .site-header .mega-menu .industries-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-header .mega-menu .industries-menu-group{padding:18px 16px;border-right:1px solid var(--line)}
 .site-header .mega-menu .industries-menu-group:nth-child(4n){border-right:1px solid var(--line)}
 .site-header .mega-menu .industries-menu-group:nth-child(2n){border-right:0}
}
@media(max-width:640px){
 .site-header .header-inner{min-height:68px}
 .site-header .site-logo .logo-mark{width:30px;height:30px}
 .site-header .site-logo .logo-text{font-size:.9rem}
 .site-header .nav-links{max-height:calc(100dvh - 68px);padding:10px 20px 22px}
 .site-header .mega-menu .industries-menu-grid{grid-template-columns:1fr}
 .site-header .mega-menu .industries-menu-group,.site-header .mega-menu .industries-menu-group:nth-child(4n){border-right:0}
 .site-header .mega-menu .industries-menu-group:last-child{border-bottom:0}
}


/* Header: remove decorative diamond indicators from mega-menu triggers. */
.site-header .nav-links > details > summary::before,
.site-header .nav-links > details > summary::after,
.site-header .nav-links > .has-mega > .nav-link::before,
.site-header .nav-links > .has-mega > .nav-link::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
}
.site-header .nav-links > details > summary {
  list-style: none;
}
.site-header .nav-links > details > summary::-webkit-details-marker {
  display: none;
}

/* ============================================================
   FOOTER — logo, contact icons, spacing, responsive layout
   ============================================================ */
.site-footer .footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  text-decoration: none;
}
.site-footer .footer-logo .logo-mark {
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
}
.site-footer .footer-logo .logo-text {
  display: block;
  color: #F6F3EC;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.site-footer .footer-logo .logo-text span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.55);
  font-size: .55rem;
  letter-spacing: .18em;
}
.site-footer .footer-tagline {
  margin: 18px 0 0;
  max-width: 290px;
  color: rgba(255,255,255,.65);
}
.site-footer .footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 22px;
}
.site-footer .footer-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  font-size: .88rem;
  line-height: 1.5;
  color: rgba(255,255,255,.7);
  overflow-wrap: anywhere;
}
.site-footer .footer-contact-item svg {
  display: block;
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  flex: 0 0 18px;
  stroke: #C9A45C;
}
.site-footer .footer-contact-item:hover,
.site-footer .footer-contact-item:focus-visible { color: #C9A45C; }
.site-footer .footer-nav-heading {
  margin-bottom: 20px;
  color: #C9A45C;
  font-family: var(--font-mono);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.4;
  text-transform: uppercase;
}
.site-footer .footer-grid > * { min-width: 0; }
@media (max-width: 560px) {
  .site-footer .footer-logo .logo-mark {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
  .site-footer .footer-contact-item { font-size: .85rem; }
}

/* ============================================================
   LOCATION PAGES — RESPONSIVE ICON AND LAYOUT REPAIR
   Applies to Tampa, St. Petersburg, Clearwater and Sarasota.
   ============================================================ */
/* Inline decorative icons without explicit dimensions must not expand to
   the full width of their parent. Preserve intentional SVG illustrations. */
main svg:not([class]):not([width]):not([height]),
.site-main svg:not([class]):not([width]):not([height]) {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
/* Common location page content/icon patterns. */
.service-area-layout svg:not(.radar-svg),
.area-grid svg,
.area-pill svg,
.area-note svg,
.local-contact-item svg,
.location-services svg:not(.radar-svg),
.location-service-card svg,
.service-card .service-icon svg,
.deliverable svg,
.icon-list-item svg {
  width: 22px;
  height: 22px;
  max-width: 22px;
  max-height: 22px;
  flex-shrink: 0;
}
/* Preserve the map graphic at its intended size. */
.map-placeholder > svg { width: 40px; height: 40px; max-width: 40px; max-height: 40px; }
.service-area-layout, .service-area-layout > *,
.location-services, .location-service-card,
.area-grid, .local-contact-card { min-width: 0; }
.service-area-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); }
.page-hero h1, .section-head h2 { overflow-wrap: break-word; text-wrap: balance; }
@media (max-width: 900px) {
  .service-area-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .page-hero { padding: 40px 0 56px; }
  .page-hero h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
  .service-area-layout { gap: 28px; }
  .local-contact-card { padding: 24px; }
  .area-grid { grid-template-columns: minmax(0, 1fr); }
}


/* ============================================================
   LOCATION HUB SERVICE CARDS — template-specific responsive fix
   Matches .services-hub-grid / .service-hub-card in city templates
   ============================================================ */
.services-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  align-items: stretch;
}
.services-hub-grid > * { min-width: 0; }
.service-hub-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  height: 100%;
  padding: 30px 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--dark);
  text-decoration: none;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);
}
.service-hub-card > svg {
  display: block;
  width: 42px;
  height: 42px;
  max-width: 42px;
  max-height: 42px;
  flex: 0 0 42px;
  margin: 0 0 22px;
  padding: 9px;
  color: var(--navy);
  stroke: currentColor;
  background: var(--gold-soft);
  border-radius: 10px;
}
.service-hub-card h4 {
  margin: 0 0 10px;
  font-size: 1.08rem;
  line-height: 1.35;
  color: var(--navy);
}
.service-hub-card p {
  margin: 0 0 20px;
  font-size: .94rem;
  line-height: 1.65;
  color: var(--slate);
  flex-grow: 1;
}
.service-hub-card .card-link {
  margin-top: auto;
  font-family: var(--font-head);
  font-size: .87rem;
  font-weight: 600;
  color: var(--navy);
}
@media (hover: hover) and (pointer: fine) {
  .service-hub-card:hover {
    border-color: var(--gold);
    box-shadow: 0 14px 34px -24px rgba(19,41,67,.45);
    transform: translateY(-3px);
  }
  .service-hub-card:hover .card-link { color: #96712c; }
}
.service-hub-card:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
@media (max-width: 980px) {
  .services-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 640px) {
  .services-hub-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .service-hub-card { padding: 24px 22px; }
  .service-hub-card > svg { width: 40px; height: 40px; max-width: 40px; max-height: 40px; flex-basis: 40px; margin-bottom: 18px; }
  .service-hub-card p { margin-bottom: 16px; }
}
