/*
Theme Name: Pure Solutions Media
Description: Five-page theme for Pure Solutions Media: Home, Services, Featured Work, About, Contact.
Version: 2.0
Text Domain: psm
*/
:root{--navy:#002554;--mid:#396ea2;--sky:#81c0ea;--pale:#eaf3fb;--ink:#1c2a3a;--muted:#3d4f63;--line:#c9d6e2;--white:#fff}
*{box-sizing:border-box}
body{margin:0;font:18px/1.65 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white)}
h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.6vw,3.2rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.05rem;margin-bottom:.25em}
p{margin:0 0 1em}
a{color:var(--mid)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--mid);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.site-header{background:var(--white);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.brand img{height:60px;width:auto;display:block}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;flex-wrap:wrap}
.site-nav a{color:var(--navy);text-decoration:none;font-size:1rem;padding:6px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav .current-menu-item a,.site-nav .current_page_item a{border-bottom-color:var(--navy)}
.btn{display:inline-block;background:var(--navy);color:var(--white);padding:13px 26px;border:0;border-radius:3px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--mid)}
.btn-ghost{background:transparent;color:var(--navy);border:2px solid var(--navy);padding:11px 24px;margin-left:8px}.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-light{background:var(--white);color:var(--navy)}.btn-light:hover{background:var(--pale);color:var(--navy)}
.hero{background:linear-gradient(100deg,#d6e9f8 0%,#eaf3fb 55%,#f6fafd 100%);padding:56px 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-grid.no-art{grid-template-columns:1fr}.hero-grid.no-art h1{max-width:20em}.hero:has(.no-art){padding:72px 0}
.lead{font-size:1.2rem;color:var(--muted);max-width:34em;margin-bottom:1.4em}
.hero-art img,.hero-art svg{width:100%;height:auto;display:block;border-radius:4px}
.svc-row{padding:36px 0;border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.svc{display:flex;gap:16px;align-items:flex-start;padding:0 24px;border-left:1px solid var(--line)}
.svc:first-child{border-left:0;padding-left:0}
.svc p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.5}
.ico{flex:0 0 60px;height:60px;border-radius:50%;background:var(--pale);color:var(--navy);display:flex;align-items:center;justify-content:center}
.ico svg{width:30px;height:30px}
.two{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}
.about{padding:56px 0}
.about-art{background:var(--pale);border-radius:4px;min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.about-art img{width:100%;height:100%;object-fit:cover;display:block}
.big-ico{width:110px;color:var(--mid)}.big-ico svg{width:100%;height:auto}
.bar::before{content:"";display:block;width:44px;height:3px;background:var(--mid);margin-bottom:14px}
.work{background:var(--pale);padding:56px 0}
.pub{display:flex;gap:24px;align-items:center}
.pub p{margin-bottom:.6em;color:var(--muted)}
.cover{flex:0 0 150px;width:150px;border-radius:3px;box-shadow:0 6px 18px rgba(0,37,84,.25)}
.pub img.cover{flex:0 0 240px;width:240px;height:auto}
.cover-css{height:200px;background:linear-gradient(160deg,#1c4a7e,#002554);color:#fff;padding:16px 14px;display:flex;flex-direction:column;justify-content:space-between}
.cover-css span{font-family:Georgia,serif;font-size:1.35rem;line-height:1.1}
.cover-css small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.textlink{font-weight:600}
.badge{display:inline-block;background:var(--navy);color:#fff;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:2px;margin-bottom:8px}
.cta{background:linear-gradient(120deg,#002554,#0d4584);color:#fff;padding:44px 0}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta h2{color:#fff;margin-bottom:.2em}.cta p{margin:0;color:#dbe8f5}
.site-footer{background:#001a3d;color:#dbe8f5;padding:20px 0;font-size:.95rem}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.site-footer a{color:#dbe8f5}.site-footer a:hover{color:#fff}
.site-footer img{height:34px;width:auto}
.page-band{background:linear-gradient(100deg,#d6e9f8,#eaf3fb);padding:44px 0 36px}
.page-band h1{margin:0}
.back{display:inline-block;margin-bottom:14px;color:var(--navy);font-weight:600;text-decoration:none}.back:hover{text-decoration:underline}
.page-body{padding:48px 0 64px}
.entry iframe{max-width:100%;border:0}
.entry h2{font-size:1.5rem;margin-top:1.6em}.entry h2:first-child{margin-top:0}
.entry h2,.entry h3{margin-bottom:.25em}
.entry h2+p,.entry h3+p{margin-top:0}
.pub-wrap{margin-top:32px}
.page-body .pub{margin-top:32px;padding:24px;background:var(--pale);border-radius:4px}
form{max-width:620px;margin-top:24px}
label{display:block;font-weight:600;margin:18px 0 6px}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #7f97ad;border-radius:3px;background:#fff}
textarea{min-height:140px}
.hp{position:absolute;left:-9999px}
.notice{padding:14px 18px;border-radius:3px;max-width:620px;margin-top:16px}
.ok{background:#e3f4e8;border:1px solid #8bc79b}.err{background:#fbe7e7;border:1px solid #d99}
@media(max-width:900px){.hero-grid,.two{grid-template-columns:1fr}.svc-grid{grid-template-columns:1fr 1fr;row-gap:28px}.svc:nth-child(odd){border-left:0;padding-left:0}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr}.svc{border-left:0;padding-left:0}.pub{flex-direction:column;align-items:flex-start}.brand img{height:48px}.site-nav ul{gap:16px}}
