body:has(.spy-hosting) { background:#000; }
.spy-hosting { max-width:1600px; margin:0 auto; padding:112px clamp(20px,4vw,56px) 48px; color:#fff; font:17px/1.7 Lato,Nunito,Arial,sans-serif; }
.spy-hosting *, .spy-hosting *::before { box-sizing:border-box; }
.spy-hosting h1,.spy-hosting h2,.spy-hosting h3 { color:inherit; text-indent:0; font-family:Vera,Lato,Arial,sans-serif; line-height:1.15; margin:0 0 20px; }
.spy-hosting h1 { font-size:clamp(36px,5vw,64px); letter-spacing:-.025em; }
.spy-hosting h2 { font-size:clamp(28px,3vw,40px); }
.spy-hosting p { margin:0 0 22px; }
.spy-hosting a { color:#ffb4aa; text-underline-offset:4px; }
.spy-hosting a:focus-visible,.spy-hosting input:focus-visible,.spy-hosting textarea:focus-visible,.spy-hosting button:focus-visible { outline:3px solid #22a7d7; outline-offset:4px; }
.spy-hosting__hero { padding:clamp(30px,6vw,76px); background:linear-gradient(90deg,rgba(10,16,26,.88),rgba(24,36,55,.60)),url('images/hosting-hero.jpg') center/cover; border:1px solid #ffffff33; border-radius:8px; margin-bottom:52px; }
.spy-hosting__hero>p:not(.spy-hosting__kicker) { max-width:690px; font-size:19px; color:#e1e7ef; }
.spy-hosting .spy-hosting__kicker { text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.1em; }
.spy-hosting__actions { display:flex; flex-wrap:wrap; gap:14px; }
.spy-hosting .spy-hosting__button,.spy-hosting .spy-hosting__outline { display:inline-block; padding:12px 20px; min-height:48px; border-radius:6px; background:#a61c0f; border:1px solid #a61c0f; color:#fff; text-decoration:none; font-size:16px; font-weight:800; }
.spy-hosting .spy-hosting__outline { background:transparent; border-color:#abb4c2; }
.spy-hosting__plans-heading>p:last-child { max-width:700px; color:#c8cdd5; }
.spy-hosting__content .panel-grid { margin-bottom:32px !important; }
.spy-hosting .spy-hosting-plans { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px !important; padding:0 !important; background:transparent !important; }
.spy-hosting .spy-hosting-plans>.panel-grid-cell { width:auto !important; min-width:0; margin:0 !important; }
.spy-hosting .spy-hosting-plans .panel-cell-style { min-height:100%; padding:30px !important; border:1px solid #d9e3ec; border-top:4px solid #405981; border-radius:8px; background:#f5f7fa !important; color:#172033; align-items:stretch !important; }
.spy-hosting .spy-hosting-plans>.panel-grid-cell:nth-child(2) .panel-cell-style { border-top-color:#a61c0f; }
.spy-hosting .spy-hosting-plans h3 { font-size:32px !important; color:#172033 !important; text-align:center !important; min-height:112px; }
.spy-hosting .spy-hosting-plans .panel-widget-style { background:transparent !important; padding:0 !important; }
.spy-hosting .spy-hosting-plans .decoration { display:none; }
.spy-hosting .spy-hosting-plans .textwidget>p:first-child { color:#172033; font-size:28px !important; line-height:1.35; font-weight:800; min-height:90px; text-align:center; }
.spy-hosting .spy-hosting-plans .textwidget>p:first-child a { color:#8b2117; font-size:18px; }
.spy-hosting .spy-hosting-plans a[href*="package="] { display:block; padding:13px 18px; background:#a61c0f; color:#fff !important; border:1px solid #a61c0f; border-radius:6px; text-decoration:none; text-align:center; font:800 16px/1.5 Lato,Arial,sans-serif; }
.spy-hosting .spy-hosting-plans a[href*="package="]:hover { background:#7f150b; }
.spy-hosting .spy-hosting-plans ul { display:block !important; padding:0 0 0 20px; margin:28px 0 0 !important; list-style:disc; text-align:left; color:#455267; }
.spy-hosting .spy-hosting-plans li { font-size:18px; line-height:1.7; margin-bottom:14px; }
.spy-hosting .spy-hosting-intro { padding:40px 0 0 !important; background:transparent !important; }
.spy-hosting .spy-hosting-intro h2 { color:#fff !important; font-size:clamp(28px,3vw,40px) !important; text-align:left !important; }
.spy-hosting .spy-hosting-intro p { color:#e1e7ef; max-width:850px; text-align:left !important; }
.spy-hosting .spy-hosting-details { padding:28px !important; background:#172033 !important; border:1px solid #ffffff33; border-radius:8px; gap:24px !important; }
.spy-hosting .spy-hosting-details h3 { color:#fff !important; font-size:20px !important; }
.spy-hosting .spy-hosting-details a { color:#fff !important; font-size:16px; overflow-wrap:anywhere; }
.spy-hosting .spy-hosting-details .decoration { display:none; }
.spy-hosting .spy-hosting-contact { padding:clamp(24px,4vw,48px) !important; background:#f5f7fa !important; color:#172033; border:1px solid #d9e3ec; border-radius:8px; }
.spy-hosting .wpcf7 { width:100%; max-width:840px; margin:auto; }
.spy-hosting .wpcf7 label { color:#172033; font:700 14px/1.6 Lato,Arial,sans-serif; }
.spy-hosting .wpcf7 p { margin-bottom:20px; }
.spy-hosting .wpcf7 input:not([type=hidden]):not([type=submit]):not([type=checkbox]),.spy-hosting .wpcf7 textarea { display:block; width:100%; max-width:100%; height:auto; padding:12px; margin-top:6px; color:#172033; background:#fff; border:1px solid #778395; border-radius:5px; font:16px/1.5 Lato,Arial,sans-serif; }
.spy-hosting .wpcf7 input[type=submit],.spy-hosting .wpcf7 button[type=submit] { width:auto; height:auto; min-height:48px; padding:12px 24px; background:#a61c0f; color:#fff; border:1px solid #a61c0f; border-radius:6px; font:800 16px/1.5 Lato,Arial,sans-serif; cursor:pointer; }
.spy-hosting .wpcf7-not-valid-tip { color:#8b2117; }
.spy-hosting .wpcf7-response-output { color:#172033; padding:16px; }
@media(max-width:1000px) { .spy-hosting .spy-hosting-plans { grid-template-columns:1fr; } .spy-hosting .spy-hosting-plans h3,.spy-hosting .spy-hosting-plans .textwidget>p:first-child { min-height:0; } .spy-hosting .spy-hosting-details { display:flex !important; flex-direction:column !important; } .spy-hosting .spy-hosting-details>.panel-grid-cell { width:100% !important; } }
@media(max-width:640px) { .spy-hosting { padding-top:96px; } .spy-hosting .spy-hosting-plans .panel-cell-style { padding:24px !important; } }

/* Override the legacy pale contact cards and form-specific dark theme. */
.spy-hosting .spy-hosting-details .panel-cell-style { padding:24px !important; background:#172033 !important; border:1px solid #526078; border-radius:8px; align-items:stretch; justify-content:flex-start; }
.spy-hosting .spy-hosting-details .panel-widget-style { background:transparent !important; padding:0 !important; }
.spy-hosting .spy-hosting-details p,.spy-hosting .spy-hosting-details span,.spy-hosting .spy-hosting-details a { color:#fff !important; font-size:16px !important; }
.spy-hosting .spy-hosting-details h3 { margin-bottom:16px; text-align:left !important; }
.spy-hosting .spy-hosting-contact { display:grid !important; grid-template-columns:1fr 1.25fr; gap:50px !important; padding:clamp(24px,4vw,52px) !important; }
.spy-hosting .spy-hosting-contact>.panel-grid-cell { width:auto !important; min-width:0; margin:0 !important; }
.spy-hosting .spy-hosting-contact .panel-widget-style,.spy-hosting .spy-hosting-contact .panel-cell-style { background:transparent !important; padding:0 !important; }
.spy-hosting .spy-hosting-contact h2 { color:#172033; font-size:clamp(28px,3vw,40px); }
.spy-hosting .spy-hosting-contact p { color:#455267; }
.spy-hosting .spy-hosting-contact a { color:#8b2117; font-weight:700; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form { display:block; width:100%; max-width:none; margin:0; padding:0; background:transparent; text-align:left; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form label { margin:0; color:#172033; font:700 14px/1.6 Lato,Arial,sans-serif; letter-spacing:normal; text-transform:none; text-align:left; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form input:not([type=hidden]):not([type=submit]):not([type=checkbox]),
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form textarea { width:100%; max-width:100%; height:auto; padding:12px; border:1px solid #778395; border-radius:5px; background:#fff; color:#172033; font:16px/1.5 Lato,Arial,sans-serif; box-shadow:none; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form textarea { min-height:144px; height:160px; resize:vertical; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form input[type=submit] { width:auto; min-height:48px; height:auto; padding:12px 20px; border:1px solid #a61c0f; border-radius:6px; background:#a61c0f; color:#fff; font:800 16px/1.4 Lato,Arial,sans-serif; letter-spacing:normal; text-transform:none; box-shadow:none; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form input[type=submit]:hover { background:#7f150b; }
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form input:focus-visible,
.spy-hosting .spy-hosting-contact #wpcf7-f5196-p5179-o1 .wpcf7-form textarea:focus-visible { outline:3px solid #007d9f; outline-offset:4px; }
@media(max-width:640px) { .spy-hosting .spy-hosting-contact { grid-template-columns:1fr; gap:28px !important; } }

.spy-hosting .spy-hosting-plans .textwidget>p.spy-hosting-enterprise-price:first-child a { font-size:28px; line-height:1.35; }

/* Let each plan's signup action sit below its features, aligned along the card bottom. */
.spy-hosting .spy-hosting-plans .widget_sow-editor,
.spy-hosting .spy-hosting-plans .widget_sow-editor>.panel-widget-style,
.spy-hosting .spy-hosting-plans .so-widget-sow-editor,
.spy-hosting .spy-hosting-plans .textwidget { display:flex; flex-direction:column; flex:1; width:100%; min-width:0; }
.spy-hosting .spy-hosting-plans .spy-hosting-signup { margin-top:auto; padding-top:28px; }
.spy-hosting .spy-hosting-plans .spy-hosting-signup p { margin-bottom:0; }

/* Contact information now sits beside the form, without separate card backgrounds. */
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail { background:transparent !important; padding:0 !important; border:0; }
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail h3 { margin:24px 0 6px; color:#172033 !important; font-size:18px !important; text-align:left !important; }
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail .decoration { display:none; }
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail p { margin-bottom:0; }
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail span { font-size:16px !important; }
.spy-hosting .spy-hosting-contact .spy-hosting-contact-detail a { color:#8b2117 !important; font-size:16px; overflow-wrap:anywhere; }

/* Monthly Turnkey support examples. */
.spy-hosting .spy-hosting-support { margin:36px 0 12px; padding:clamp(24px,4vw,48px); background:#172033; border:1px solid #526078; border-radius:8px; }
.spy-hosting .spy-hosting-support>p { max-width:100%; color:#e1e7ef; }
.spy-hosting .spy-hosting-support .spy-hosting__kicker { color:#ffb4aa; }
.spy-hosting-support__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin:36px 0; }
.spy-hosting .spy-hosting-support__grid article { border-top:1px solid #728098; padding-top:22px; min-width:0; }
.spy-hosting .spy-hosting-support__grid h3 { color:#fff; font-size:23px; line-height:1.3; margin:0 0 12px; text-align:left; }
.spy-hosting .spy-hosting-support__grid p { font-size:17px; line-height:1.75; color:#e1e7ef; margin:0; }
.spy-hosting .spy-hosting-support__note { font-size:16px; border-top:1px solid #526078; padding-top:24px; }
@media(max-width:1000px) { .spy-hosting-support__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .spy-hosting-support__grid { grid-template-columns:1fr; gap:24px; } }
