.web-services-page { --ws-green:#4f6916; }
.web-services-page a:focus-visible,.web-services-page button:focus-visible { outline:3px solid #526d19; outline-offset:5px; }
.ws-skip { position:fixed; top:0; left:20px; z-index:30; padding:14px 20px; background:#fff; transform:translateY(-150%); }
.ws-skip:focus { transform:translateY(0); }
.ws-heading { position:relative; padding-top:40px; background-color:#fff; background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 35%,rgba(255,255,255,.1) 80%),url("../images/web-services-hero.webp"); background-position:center,right center; background-size:100% 100%,auto 100%; background-repeat:no-repeat; }
.ws-heading h1 { font-size:clamp(30px,4vw,58px); letter-spacing:-.035em; line-height:1.35; }
.ws-heading > p:not(.eyebrow) { max-width:730px; }
.ws-heading .eyebrow { margin-top:54px; }
.ws-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 14px; color:#4b5653; font-size:12px; line-height:1.8; }
.ws-breadcrumb a:hover,.ws-privacy:hover { text-decoration:underline; }
.ws-anchors { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:12px; max-width:820px; margin-top:34px; margin-left:auto; color:#404a4d; font-size:14px; font-weight:500; }
.ws-anchors a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:14px 18px; border:1px solid #d9ddda; border-radius:5px; background:#fff; transition:background-color .2s,border-color .2s; }
.ws-anchors a::after { content:"▼"; flex-shrink:0; color:#8eae2c; }
.ws-anchors a:hover,.ws-anchors a:focus-visible { border-color:#a5bd64; background:#f0f5e5; }
.ws-section,.ws-terms { width:min(1100px,calc(100% - 112px)); margin-inline:auto; }
.ws-section { padding-block:78px 90px; }
.ws-section h2 { font-size:clamp(25px,3vw,38px); margin-bottom:38px; }
.web-services-page .eyebrow,.web-services-page .text-link { color:var(--ws-green); }
.ws-price-list { border-top:2px solid #8eae2c; }
.ws-service { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 50px; padding:38px 28px; border-bottom:1px solid var(--line); background:var(--surface); }
.ws-service-title { display:flex; gap:18px; align-items:baseline; }
.ws-number { font:500 16px Outfit,sans-serif; color:#8eae2c; }
.ws-service h3 { font-size:22px; line-height:1.6; letter-spacing:0; }
.ws-service p,.ws-term p { font-size:15px; line-height:1.95; }
.ws-service p:last-child,.ws-term p:last-child { margin-bottom:0; }
.ws-price { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; margin-bottom:14px; }
.ws-price strong { font:600 clamp(27px,2.7vw,36px)/1.4 Outfit,sans-serif; letter-spacing:-.025em; }
.ws-price span { font-size:14px; }
.ws-service .ws-plan { margin-bottom:4px; color:#4c575a; font-size:14px; }
.ws-additional { font-weight:600; }
.ws-terms { padding-bottom:80px; }
.ws-term { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 50px; padding:42px 28px; border-top:1px solid var(--line); }
.ws-term h2 { font-size:28px; letter-spacing:0; margin-bottom:0; }
.ws-term .eyebrow { margin-bottom:12px; }
.ws-payment-note { padding:22px; border-left:3px solid #a9c349; background:#e9eddf; }
.ws-contact { padding-block:72px; }
.ws-contact .eyebrow { color:#c4df86; }
.web-services-page .site-footer .eyebrow { color:#c4df86; }
.ws-contact h2 { font-size:34px; }
.ws-contact p { line-height:1.9; }
.ws-contact .ws-contact-notice { margin-top:30px; margin-bottom:10px; font-size:14px; }
.ws-privacy { display:block; width:fit-content; margin-top:24px; color:#d8e1dc; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.ws-section,.ws-term { scroll-margin-top:100px; }
@media(max-width:760px) {
 .ws-heading { padding:24px 24px 40px; background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.78)),url("../images/web-services-hero.webp"); }
 .ws-heading .eyebrow { margin-top:36px; }
 .ws-section,.ws-terms { width:calc(100% - 40px); }
 .ws-section { padding-block:48px; }
 .ws-service,.ws-term { grid-template-columns:1fr; gap:12px; padding:26px 18px; }
 .ws-service h3 { margin-bottom:0; font-size:20px; }
 .ws-price strong { font-size:29px; }
 .ws-price { gap:3px 6px; }
 .ws-service-title { gap:12px; }
 .ws-term h2 { font-size:25px; }
 .ws-terms { padding-bottom:44px; }
 .ws-payment-note { padding:16px; }
 .ws-contact { padding:52px 24px; }
 .ws-anchors { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; font-size:13px; }
 .ws-anchors a { min-height:56px; padding:12px; gap:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
