@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");
/* Sitewide brand layer. Colors sampled from logo.jpg: amber #f8a810, sky #17b5f0, indigo #2f3092. */
:root{--ink:#1f2064;--muted:#4a4c88;--paper:#fffbf2;--surface:#fffefa;--navy:#1f2064;--indigo:#2f3092;--blue:#2f3092;--sky:#17b5f0;--green:#2f3092;--lime:#17b5f0;--orange:#f8a810;--yellow:#f8a810;--amber-soft:#fde3a6;--sky-soft:#e4f7fe;--line:#c9e9f7}
body{background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",Lato,sans-serif;overflow-x:clip}
h1,h2,h3,.eyebrow{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.01em;line-height:.98}
h1,h2{font-weight:900}
a{color:var(--indigo)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--indigo);outline-offset:3px}
.eyebrow{color:var(--indigo);font-weight:800;letter-spacing:.07em;display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:26px;height:4px;background:var(--yellow);transform:rotate(-10deg);flex:none}
.top-strip{background:var(--ink);color:#eaf8ff}.top-strip a{color:var(--yellow)}
.site-header-wrap{background:var(--paper);border-bottom:3px solid var(--ink)}
.site-header{background:transparent;position:relative}
.brand img{width:clamp(210px,22vw,290px);height:auto;mix-blend-mode:multiply;display:block}
.main-nav a{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.03em;color:var(--ink);text-transform:uppercase}
.main-nav a:not(.nav-cta)::after{background:var(--sky)!important}
body .site-header .main-nav .nav-cta{background:var(--yellow);color:var(--ink)!important;border:2px solid var(--ink);border-radius:5px;box-shadow:4px 4px 0 var(--ink);padding:10px 18px;white-space:nowrap;transition:transform .2s ease}
body .site-header .main-nav .nav-cta:hover{transform:translateY(-3px)}
.menu-toggle{display:none;align-items:center;gap:10px;min-height:48px;padding:0 14px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:5px;box-shadow:3px 3px 0 var(--ink);font:800 1rem "Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.menu-bars,.menu-bars::before,.menu-bars::after{display:block;width:20px;height:3px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s ease}
.menu-bars::before,.menu-bars::after{content:"";position:absolute;left:0}.menu-bars::before{top:-6px}.menu-bars::after{top:6px}
@media(max-width:900px){
 body .site-header{flex-wrap:wrap;width:calc(100% - 28px);min-height:0;padding:12px 0;gap:10px;flex-direction:row;align-items:center;justify-content:space-between}
 body .site-header .brand img{width:min(62vw,250px)}
 .menu-toggle{display:inline-flex}
 body .site-header .main-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;flex-basis:100%;padding:0}
 .has-js body .site-header .main-nav:not(.is-open){display:none}
 body .site-header .main-nav a{padding:13px 4px;border-top:1px solid var(--line);font-size:1.25rem;text-align:left}
 body .site-header .main-nav a::after{display:none}
 body .site-header .main-nav .nav-cta{margin:12px 0 4px;text-align:center;padding:13px 18px}
}
.button{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.025em;border:2px solid var(--ink);border-radius:5px;box-shadow:5px 5px 0 var(--ink);color:var(--ink);background:var(--yellow);transition:transform .2s ease,background-color .2s ease}
.button:hover{transform:translateY(-3px)}.button.orange{background:var(--yellow);color:var(--ink)}.button.secondary,.contact-email-button{background:var(--surface)!important;color:var(--ink)!important}.button.secondary:hover{background:var(--sky-soft)!important}
.page-heading h1{color:var(--ink)}
.page-heading,.pricing-panel,.pricing-copy,.service-standard-banner{color:var(--ink)}
.contact-card{background:var(--ink);color:#eaf8ff;border-top:6px solid var(--yellow);box-shadow:10px 10px 0 var(--sky)}
.contact-card .eyebrow{color:var(--yellow)}.contact-card h2{color:#fff}.contact-card a:not(.button){color:var(--yellow)}
.contact-quick-actions .contact-text-button{background:var(--yellow);color:var(--ink)}
.site-footer{width:100%;box-sizing:border-box;padding-inline:max(1.25rem,calc((100% - 1180px)/2));background:var(--ink);color:#eaf8ff}.site-footer h3{color:var(--yellow)}.site-footer a:not(.button){color:#eaf8ff}
.site-footer img{background:var(--paper);padding:8px 12px;border-radius:5px;max-width:230px;height:auto}
.service-card{border-top-color:var(--yellow)}.service-card:nth-child(even){border-top-color:var(--sky)}
.messages p{background:var(--sky-soft);border-left:5px solid var(--indigo);padding:12px 16px}
/* Pricing copy blocks */
.price-script{border-left:6px solid var(--yellow);background:var(--surface);padding:14px 18px;margin:0 0 16px;box-shadow:5px 5px 0 var(--sky)}
.price-script p{margin:0;font-weight:800;font-size:1.1rem;line-height:1.5}
.pricing-grid{width:min(1180px,calc(100% - 2.5rem));margin:2.5rem auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.pricing-grid>h2{grid-column:1/-1;margin:0}
.pricing-grid article{background:var(--surface);border:3px solid var(--ink);padding:1.4rem;box-shadow:7px 7px 0 var(--sky)}
.pricing-grid article:nth-of-type(odd){box-shadow:7px 7px 0 var(--yellow)}.pricing-grid h3{margin:0 0 .6rem;font-size:1.8rem;color:var(--indigo)}
.pricing-cta{grid-column:1/-1}.price-note{font-weight:700;color:var(--indigo)}
@media(max-width:700px){.pricing-grid{grid-template-columns:1fr;width:calc(100% - 2rem)}}
.service-pricing{background:var(--sky-soft);border-block:3px solid var(--ink);padding:clamp(1.5rem,4vw,3rem) 0}
.service-pricing-inner{width:min(900px,calc(100% - 2rem));margin:auto}
/* Form basics */
.contact-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.contact-form select,.contact-form textarea{width:100%;min-height:48px;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:2px solid var(--ink);border-radius:5px;padding:10px 12px}
.contact-form textarea{min-height:110px}
.contact-form label{font-weight:700}
.form-errors,.errorlist{color:#8a1c1c;font-weight:700}.errorlist{list-style:none;padding:0;margin:.3rem 0}
.contact-form{background:var(--surface);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--yellow)}
.contact-submit{width:100%;min-height:58px;font-size:1.4rem;cursor:pointer}
.contact-submit[disabled]{opacity:.7;cursor:progress}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
