/* Shared Patchwell brand and service-page system. */
:root { --bg:#102b27; --bg-deep:#0b211e; --panel:#173831; --panel-strong:#20463d; --panel-soft:rgba(186,219,195,.065); --line:rgba(206,231,212,.18); --line-strong:rgba(177,220,168,.45); --text:#f5f2e9; --muted:#becfc5; --dim:#a5bdb0; --accent:#b1dca8; --accent-strong:#88bf90; --accent-soft:rgba(177,220,168,.1); --violet:#90c7b9; --good:#b1dca8; }
.patchwell-logo { position:relative; display:block; width:250px; aspect-ratio:4.1; overflow:hidden; border-radius:7px; }
.patchwell-logo img { position:absolute; max-width:none; width:135%; height:auto; left:-18.9%; top:-86%; }
.site-header .nav-wrap { min-height:88px; }
.footer-brand .patchwell-logo { width:285px; }
.footer-service-links { display:flex; gap:16px 28px; flex-wrap:wrap; padding-block:28px; border-top:1px solid var(--line); font-size:.82rem; color:var(--muted); }
.footer-service-links a:hover { color:var(--accent); }
.pw-section,.pw-hero { padding:clamp(36px,6vw,90px) max(22px,calc((100vw - 1280px)/2)); }
.pw-hero { padding-top:30px; background:radial-gradient(ellipse at 90% 30%,#284e3e66,transparent 65%); }
.pw-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--muted); font-size:.75rem; margin-bottom:55px; }
.pw-breadcrumb a { color:var(--accent); }
.pw-hero-grid { display:grid; grid-template-columns:1.35fr .8fr; gap:clamp(32px,6vw,100px); align-items:center; }
.pw-landing h1 { font-size:clamp(2.8rem,5.1vw,5rem); line-height:1.04; letter-spacing:-.035em; text-transform:none; margin:22px 0; }
.pw-intro { font-size:1.12rem; line-height:1.8; max-width:680px; color:var(--muted); }
.pw-direct { font-size:.73rem; color:var(--dim); }
.pw-brief { padding:36px; border:1px solid var(--line-strong); border-radius:22px; background:linear-gradient(145deg,#254a3e,#102b27); position:relative; }
.pw-brief::before { content:''; display:block; width:48px; height:5px; border-radius:10px; background:var(--accent); margin-bottom:30px; }
.pw-brief h2 { font-size:1.8rem; line-height:1.2; margin:20px 0; }
.pw-brief p { color:var(--muted); }
.pw-brief-bottom { display:grid; gap:12px; border-top:1px solid var(--line); padding-top:22px; margin-top:28px; font-size:.8rem; color:var(--accent); }
.pw-brief-bottom span::before { content:'✓'; margin-right:12px; }
.pw-section { border-top:1px solid var(--line); }
.pw-section h2,.pw-services-hub h2 { font-size:clamp(2rem,3.2vw,3.3rem); line-height:1.12; letter-spacing:-.025em; margin:14px 0 24px; }
.pw-section p { color:var(--muted); line-height:1.8; }
.pw-section-top { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:34px; }
.pw-section-top>p { max-width:390px; }
.pw-feature-grid,.pw-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.pw-feature-grid article { padding:24px 0; border-top:1px solid var(--line); }
.pw-feature-grid h3 { font-size:1.4rem; margin:20px 0 14px; }
.pw-index { font: .65rem/1.6 Consolas,monospace; letter-spacing:.08em; color:var(--accent); }
.pw-paper { background:#eeefe5; --text:#15382c; --muted:#486052; --accent:#32684c; --line:#bccabb; color:var(--text); }
.pw-example,.pw-scope { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.pw-text-link { display:block; color:var(--accent); font-weight:650; margin-top:20px; font-size:.9rem; }
.pw-proof { margin:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--bg-deep); }
.pw-proof img { display:block; width:100%; height:auto; }
.pw-proof figcaption { padding:18px; font: .6rem/1.6 Consolas,monospace; color:var(--muted); }
.pw-flow { display:grid; gap:10px; padding:30px; border:1px solid var(--line); border-radius:16px; background:var(--bg-deep); }
.pw-flow span { padding:18px 20px; border:1px solid var(--line-strong); border-radius:8px; background:var(--panel); color:var(--text); }
.pw-flow i { text-align:center; color:var(--accent); font-style:normal; }
.pw-scope { background:var(--panel-soft); }
.pw-scope ol { list-style:none; counter-reset:deliverable; padding:0; }
.pw-scope li { counter-increment:deliverable; display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); line-height:1.5; }
.pw-scope li::before { content:counter(deliverable,decimal-leading-zero); color:var(--accent); font-family:Consolas,monospace; }
.pw-faq details { border-bottom:1px solid var(--line); padding:24px 0; }
.pw-faq summary { cursor:pointer; font-size:1.1rem; line-height:1.6; font-weight:650; }
.pw-faq details p { max-width:900px; margin:16px 0 0; }
.pw-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pw-service-card { display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:14px; background:var(--panel-soft); transition:background .2s,border-color .2s,transform .2s; }
.pw-service-card:hover { background:var(--panel-strong); border-color:var(--accent); transform:translateY(-3px); }
.pw-service-card h3 { font-size:1.35rem; line-height:1.2; margin:24px 0 14px; }
.pw-service-card p { font-size:.88rem; line-height:1.7; color:var(--muted); margin-bottom:24px; }
.pw-card-action { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:.76rem; color:var(--accent); }
.pw-closing { display:flex; justify-content:space-between; align-items:center; gap:35px; background:#244b3e; }
.pw-closing .btn { flex-shrink:0; }
.pw-fallback-services { display:flex; flex-wrap:wrap; gap:16px; }
.pw-landing a:focus-visible,.pw-landing summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media(max-width:1050px){ .pw-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pw-hero-grid { gap:32px; } .patchwell-logo{width:205px;} }
@media(max-width:760px){ .site-header .nav-wrap{min-height:76px;} .patchwell-logo{width:195px;} .pw-hero-grid,.pw-example,.pw-scope,.pw-feature-grid,.pw-related-grid {grid-template-columns:1fr;} .pw-section-top,.pw-closing{display:block;} .pw-breadcrumb{margin-bottom:32px;} .pw-brief{padding:26px;} .pw-hero .eyebrow{font-size:.62rem;line-height:1.7;} .pw-hero .hero-actions{display:grid;} .pw-hero h1{font-size:clamp(2.6rem,10vw,4rem);} .pw-example,.pw-scope{gap:28px;} .pw-section-top>p{max-width:none;} .pw-service-grid{grid-template-columns:1fr;} .pw-service-card{padding:24px;} .pw-service-card h3{margin-top:14px;} .pw-closing .btn{margin-top:20px;} }
@media(prefers-reduced-motion:reduce){.pw-service-card{transition:none;}.pw-service-card:hover{transform:none;}}

/* One centered frame follows the marked desktop reference. */
:root { --site-frame:1480px; --frame-gutter:clamp(22px,3vw,48px); }
body { background:#081e1a; }
body > .site-header, body > .site-footer, body > main,
body[data-current-page='home'] > .page-shell {
 width:min(var(--site-frame),100%) !important; max-width:var(--site-frame) !important;
 margin-inline:auto !important; box-sizing:border-box;
}
body > main { background:var(--bg); border-inline:1px solid var(--line); }
body > .site-header { border-inline:1px solid var(--line); }
body > .site-header .nav-wrap, body > .site-footer .shell {
 width:100% !important; max-width:none; padding-inline:var(--frame-gutter); box-sizing:border-box;
}
body > .page-shell { padding-inline:var(--frame-gutter); }
body[data-current-page='home'] > .page-shell { padding-inline:0; }
.home-page-v11 { --v11-pad:var(--frame-gutter); --v11-wide:100%; }
.staffing-home .v11-hero { padding-inline:var(--frame-gutter); }
.staffing-home .v11-hero-grid { width:100%; }
.staffing-home .staffing-service-strip { margin-inline:0; border:1px solid var(--line); border-bottom:0; border-radius:10px 10px 0 0; padding:18px 24px; gap:16px; }
.staffing-home .staffing-section, .staffing-home .staffing-contact { width:100%; padding-inline:var(--frame-gutter); }
.pw-landing .pw-section,.pw-landing .pw-hero { padding-inline:var(--frame-gutter); }
body > .site-footer { background:var(--bg-deep); border-inline:1px solid var(--line); }
@media(max-width:760px){
 body > main,body > .site-header,body > .site-footer { border-inline:0; }
 .staffing-home .staffing-service-strip { padding:16px; }
}
