:root {
  --sh-bg: #071015;
  --sh-bg-deep: #050b0f;
  --sh-surface: #0b171d;
  --sh-surface-2: #0f1d24;
  --sh-ink: #f3f7f5;
  --sh-muted: #9babb2;
  --sh-line: rgba(185, 214, 204, 0.15);
  --sh-green: #4dff74;
  --sh-green-dark: #112e1b;
  --sh-blue: #72b7ff;
  --sh-danger: #ff826e;
  --sh-radius-sm: 8px;
  --sh-radius: 14px;
  --sh-radius-lg: 22px;
  --sh-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
}

html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; overflow-x: hidden; background: var(--sh-bg); color: var(--sh-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
body.admin-bar .site-header { top: 32px; }
*, *::before, *::after { box-sizing: border-box; }
a { color: inherit; text-underline-offset: .18em; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--sh-green); outline-offset: 4px; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
.site-main { overflow: clip; }
.section { padding-block: clamp(4.75rem, 8vw, 7.5rem); position: relative; }
.section > .alignwide, .site-header > .alignwide, .site-footer > .alignwide { margin-inline: auto; width: min(1180px, calc(100% - 2.5rem)); }
.site-main .alignwide { margin-inline: auto; width: min(1180px, calc(100% - 2.5rem)); }
h1, h2, h3, h4 { color: var(--sh-ink); margin-top: 0; text-wrap: balance; }
h1 { font-size: clamp(3.25rem, 6.2vw, 5.75rem); font-weight: 800; letter-spacing: -.062em; line-height: .96; }
h2 { font-size: clamp(2.1rem, 4.3vw, 3.75rem); font-weight: 780; letter-spacing: -.05em; line-height: 1.02; }
h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); letter-spacing: -.025em; line-height: 1.15; }
p { text-wrap: pretty; }
.eyebrow, .card-kicker { color: var(--sh-green); font-size: .76rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .95rem; text-transform: uppercase; }
.section-heading { margin-bottom: clamp(2rem, 5vw, 3.5rem); max-width: 760px; }
.section-heading h2 { margin-bottom: 1rem; }
.section-heading > p:last-child { color: var(--sh-muted); font-size: 1.05rem; margin: 0; }
.section-heading--center { margin-inline: auto; text-align: center; }

.wp-block-button__link, .button { align-items: center; background: var(--sh-green); border: 1px solid var(--sh-green); border-radius: var(--sh-radius-sm); color: #06110a; cursor: pointer; display: inline-flex; font-size: .92rem; font-weight: 800; gap: .55rem; justify-content: center; min-height: 48px; padding: .78rem 1.2rem; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-block-button__link:hover, .button:hover { background: #77ff94; border-color: #77ff94; box-shadow: 0 10px 32px rgba(77,255,116,.17); transform: translateY(-1px); }
.is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255,255,255,.24); color: var(--sh-ink); }
.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.42); box-shadow: none; }
.text-link { color: var(--sh-ink); display: inline-flex; font-size: .9rem; font-weight: 750; gap: .45rem; margin-top: auto; text-decoration: none; }
.text-link span { color: var(--sh-green); transition: transform 160ms ease; }
.text-link:hover span { transform: translateX(4px); }

/* Header */
.site-header { backdrop-filter: blur(18px); background: rgba(7,16,21,.8); border-bottom: 1px solid rgba(255,255,255,.07); left: 0; position: sticky; right: 0; top: 0; z-index: 100; }
.site-header__inner { align-items: center; display: flex; justify-content: space-between; min-height: 74px; }
.site-header__inner > .wp-block-site-title, .site-header__inner > .site-header__actions { margin-inline: 0 !important; }
.site-brand a, .site-header .wp-block-site-title a, .site-footer .wp-block-site-title a { color: var(--sh-ink); font-size: 1.18rem; font-weight: 830; letter-spacing: -.045em; text-decoration: none; }
.site-brand a::before, .site-header .wp-block-site-title a::before, .site-footer .wp-block-site-title a::before { background: var(--sh-green); border-radius: 50% 50% 50% 12%; box-shadow: inset -4px -3px 0 rgba(0,0,0,.22); content: ""; display: inline-block; height: .78em; margin-right: .5rem; transform: rotate(-38deg); width: .78em; }
.site-header__actions { align-items: center; display: flex; gap: 1.25rem; }
.site-header .wp-block-navigation__responsive-container-open { display: none; }
.site-header .wp-block-navigation__responsive-container { display: block; position: static; }
.site-header .wp-block-navigation__responsive-container-close { display: none; }
.site-header .wp-block-navigation__container { align-items: center; display: flex; list-style: none; margin: 0; padding: 0; }
.site-nav .wp-block-navigation-item__content { color: #c3ced1; font-size: .78rem; font-weight: 650; text-decoration: none; }
.site-nav .wp-block-navigation-item__content:hover { color: var(--sh-green); }
.site-header .wp-block-navigation__container { gap: 1.35rem; }
.header-cta .wp-block-button__link { min-height: 40px; padding: .6rem .95rem; }
.mobile-nav-cta { display: none !important; }

/* Hero */
.hero { min-height: 680px; padding-block: clamp(5.5rem, 9vw, 8rem) clamp(4rem, 7vw, 6rem); }
.hero::before { background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size: 56px 56px; content: ""; inset: 0; mask-image: linear-gradient(to bottom, black, transparent 78%); pointer-events: none; position: absolute; }
.hero__glow { background: radial-gradient(circle, rgba(77,255,116,.11), transparent 67%); filter: blur(4px); height: 550px; position: absolute; right: -4%; top: 0; width: 55vw; }
.hero__grid { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(0,1.04fr) minmax(390px,.96fr); position: relative; }
.hero__copy { max-width: 700px; }
.hero__copy h1 { margin-bottom: 1.8rem; }
.hero__copy h1 span { color: #b8c6c4; }
.hero__lead { color: #b3c0c4; font-size: 1.08rem; line-height: 1.7; margin-bottom: 1.85rem; max-width: 650px; }
.hero__offer { background: rgba(77,255,116,.055); border: 1px solid rgba(77,255,116,.2); border-radius: 12px; margin-bottom: 1.25rem; max-width: 650px; padding: 1rem 1.1rem; }
.hero__offer p { color: #aebdb7; font-size: .86rem; line-height: 1.55; margin: 0; }
.hero__offer .hero__offer-title { color: var(--sh-ink); display: flex; font-size: .98rem; font-weight: 800; justify-content: space-between; margin-bottom: .35rem; }
.hero__offer-title span { color: var(--sh-green); margin-left: 1rem; white-space: nowrap; }
.hero__actions { gap: .75rem; }
.hero__audience { color: #7f9198; font-size: .82rem; margin: 1.45rem 0 0; }
.hero__audience span { color: var(--sh-green); font-size: .55rem; margin-right: .35rem; vertical-align: .13em; }
.care-visual { min-height: 440px; perspective: 1000px; position: relative; }
.care-visual__halo { background: radial-gradient(circle, rgba(77,255,116,.16), transparent 65%); filter: blur(25px); inset: 5% -10% -5%; position: absolute; }
.browser-card { background: #f2f6f4; border: 1px solid rgba(255,255,255,.55); border-radius: 14px; box-shadow: var(--sh-shadow); color: #102027; left: 4%; overflow: hidden; position: absolute; top: 16%; transform: rotateX(4deg) rotateY(-7deg) rotateZ(-1deg); width: 90%; z-index: 2; }
.browser-card__bar { align-items: center; background: #dfe7e5; display: flex; gap: 5px; height: 36px; padding: 0 12px; }
.browser-card__bar > span { background: #b8c5c3; border-radius: 50%; height: 6px; width: 6px; }
.browser-card__bar p { color: #6d7b7f; font-size: .62rem; margin: 0 auto; }
.browser-card__bar svg { color: #4f6268; display: block; flex: none; height: 16px; width: 16px; }
.browser-card__body { display: grid; grid-template-columns: 48px 1fr; min-height: 285px; }
.browser-card__sidebar { background: #e8eeec; display: flex; flex-direction: column; gap: 18px; padding: 25px 17px; }
.browser-card__sidebar i { background: #aab9b8; border-radius: 3px; height: 13px; width: 13px; }
.browser-card__content { background: linear-gradient(135deg,#f9fbfa,#eaf3ef); padding: 42px 38px; position: relative; }
.mini-label { color: #288a4a; font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.browser-card__content h2 { color: #0c1a20; font-size: clamp(2rem,4vw,3.4rem); letter-spacing: -.06em; margin: .45rem 0 2.2rem; }
.health-score { align-items: center; background: #fff; border: 1px solid #d9e3df; border-radius: 12px; display: flex; gap: 12px; padding: 12px 15px; width: 145px; }
.health-score span { color: #159846; font-size: 1.8rem; font-weight: 850; }
.health-score small { color: #69797d; font-size: .55rem; line-height: 1.35; }
.health-lines { bottom: 45px; display: flex; flex-direction: column; gap: 9px; left: 205px; position: absolute; right: 35px; }
.health-lines i { background: #cbd7d4; border-radius: 4px; height: 7px; }
.health-lines i:nth-child(2) { width: 78%; }
.health-lines i:nth-child(3) { width: 58%; }
.status-chip { align-items: center; backdrop-filter: blur(14px); background: rgba(12,26,32,.92); border: 1px solid rgba(166,211,197,.2); border-radius: 10px; box-shadow: 0 18px 40px rgba(0,0,0,.35); display: flex; gap: 10px; padding: 11px 13px; position: absolute; z-index: 4; }
.status-chip small, .status-chip strong { display: block; white-space: nowrap; }
.status-chip small { color: #7f9298; font-size: .58rem; margin-bottom: 2px; }
.status-chip strong { color: #eef6f2; font-size: .7rem; }
.status-icon { align-items: center; background: rgba(77,255,116,.15); border-radius: 50%; color: var(--sh-green); display: inline-flex; font-size: .7rem; font-weight: 900; height: 25px; justify-content: center; width: 25px; }
.status-icon--blue { background: rgba(114,183,255,.14); color: var(--sh-blue); }
.status-chip--updates { left: -4%; top: 7%; }
.status-chip--backup { right: -3%; top: 5%; }
.status-chip--secure { bottom: 8%; right: 1%; }
.visual-base { background: linear-gradient(90deg,transparent,rgba(77,255,116,.16),transparent); bottom: 9%; filter: blur(12px); height: 32px; left: 0; position: absolute; right: 0; }
.care-visual__disclaimer { bottom: -1.25rem; color: #9babb2; font-size: .7rem; left: 50%; margin: 0; position: absolute; transform: translateX(-50%); white-space: nowrap; z-index: 5; }

/* Trust */
.trust-strip { border-block: 1px solid rgba(255,255,255,.07); background: rgba(11,23,29,.72); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-strip p { align-items: center; color: #aebdc0; display: flex; font-size: .82rem; font-weight: 650; gap: .7rem; justify-content: center; margin: 0; min-height: 80px; }
.trust-strip span { color: var(--sh-green); }

/* Services */
.services { background: var(--sh-bg-deep); }
.service-grid { display: grid; gap: 14px; grid-template-columns: repeat(12,1fr); }
.service-card { background: linear-gradient(145deg,rgba(15,29,36,.98),rgba(8,18,23,.98)); border: 1px solid var(--sh-line); border-radius: var(--sh-radius); display: flex; flex-direction: column; grid-column: span 3; min-height: 350px; padding: 1.5rem; transition: border-color 180ms ease, transform 180ms ease; }
.service-card--raised { transform: translateY(16px); }
.service-card:hover { border-color: rgba(77,255,116,.37); transform: translateY(-3px); }
.service-card--raised:hover { transform: translateY(11px); }
.card-icon { align-items: center; background: rgba(77,255,116,.07); border: 1px solid rgba(77,255,116,.16); border-radius: 8px; color: var(--sh-green); display: flex; font-size: 1.05rem; height: 38px; justify-content: center; margin-bottom: 1.6rem; width: 38px; }
.card-icon svg { display: block; fill: none; flex: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 20px; }
.service-card h3 { margin-bottom: .65rem; }
.service-card > p:not(.price) { color: var(--sh-muted); font-size: .9rem; line-height: 1.65; }
.price { font-size: 1.8rem; font-weight: 820; letter-spacing: -.04em; margin: 0 0 .85rem; }
.price small { color: #a3b0b4; font-size: .7rem; font-weight: 650; letter-spacing: 0; }
.service-card .price-note { color: #c8d5d0; font-size: .78rem; font-weight: 700; line-height: 1.4; margin: -.45rem 0 .75rem; }

/* Website project packages */
.website-projects { background: linear-gradient(180deg,#091318,var(--sh-bg-deep)); }
.website-projects__grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.website-package { background: linear-gradient(155deg,rgba(15,29,36,.98),rgba(8,18,23,.98)); border: 1px solid var(--sh-line); border-radius: var(--sh-radius); display: flex; flex-direction: column; padding: clamp(1.35rem,2.6vw,2rem); }
.website-package--featured { border-color: rgba(77,255,116,.52); box-shadow: 0 18px 55px rgba(0,0,0,.22); }
.package-kicker { color: var(--sh-green); font-size: .82rem; font-weight: 750; margin: 0 0 .8rem; }
.website-package h3 { font-size: 1.65rem; margin: 0 0 .35rem; }
.package-price { font-size: clamp(1.65rem,2.4vw,2.15rem); font-weight: 850; letter-spacing: -.045em; margin: 0 0 .85rem; }
.package-price span { color: var(--sh-muted); font-size: .85rem; font-weight: 650; letter-spacing: 0; }
.website-package > p:not(.package-kicker,.package-price,.package-boundary) { color: var(--sh-muted); line-height: 1.55; min-height: 3.1em; }
.website-package .check-list { gap: .7rem; margin: .6rem 0 1rem; }
.website-package .check-list li { font-size: .92rem; line-height: 1.45; }
.package-boundary { border-top: 1px solid var(--sh-line); color: var(--sh-muted); font-size: .88rem; line-height: 1.55; margin: auto 0 1.2rem; padding-top: 1rem; }
.website-package .button { align-items: center; display: inline-flex; justify-content: center; min-height: 48px; text-align: center; }
.website-package .button--outline { background: transparent; border: 1px solid rgba(255,255,255,.2); color: var(--sh-ink); }
.website-projects__terms { margin-top: 1.1rem; }
.website-projects__terms p { color: var(--sh-muted); font-size: .9rem; line-height: 1.6; margin: 0 0 .7rem; }
.website-projects__terms a { color: var(--sh-green); font-weight: 750; }

/* Plans */
.care-plans { background: linear-gradient(180deg,var(--sh-bg-deep),var(--sh-bg)); padding-top: 3rem; }
.care-plans__grid { display: grid; gap: 18px; grid-template-columns: minmax(0,2.2fr) minmax(280px,.8fr); }
.care-plan { border-radius: var(--sh-radius); position: relative; }
.care-plan--primary { align-items: center; background: radial-gradient(circle at 88% 0,rgba(77,255,116,.16),transparent 31%),linear-gradient(135deg,#0b2b19,#0a2115 55%,#0a1813); border: 1px solid rgba(77,255,116,.38); display: grid; gap: 2.5rem; grid-template-columns: 1.1fr 1fr auto; padding: clamp(1.75rem,4vw,2.75rem); }
.care-plan--primary h2 { font-size: clamp(2rem,3.7vw,3.35rem); margin: .65rem 0 1rem; }
.care-plan__intro > p:not(.plan-badge,.plan-price) { color: #b4c6bb; font-size: .9rem; line-height: 1.6; max-width: 430px; }
.plan-badge { background: var(--sh-green); border-radius: 999px; color: #07110a; display: inline-block; font-size: .65rem; font-weight: 850; letter-spacing: .08em; margin: 0; padding: .38rem .62rem; text-transform: uppercase; }
.plan-price { font-size: 2.6rem; font-weight: 850; letter-spacing: -.055em; margin: 0 0 .8rem; }
.plan-price span { color: #aebdb3; font-size: 1rem; letter-spacing: 0; }
.check-list { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }
.check-list li { color: #d2ddd7; font-size: .82rem; padding-left: 1.45rem; position: relative; }
.check-list li::before { color: var(--sh-green); content: "✓"; font-weight: 900; left: 0; position: absolute; }
.care-plan--plus { background: rgba(15,29,36,.75); border: 1px solid var(--sh-line); display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; }
.care-plan--plus h3 { font-size: 1.75rem; margin-bottom: .65rem; }
.care-plan--plus > div > p:not(.card-kicker,.plan-price) { color: var(--sh-muted); font-size: .9rem; line-height: 1.6; }
.care-plan--plus .check-list { margin: 1.25rem 0; }
.care-plan--plus .text-link { margin-top: 1.25rem; }
.plan-price--small { font-size: 2rem; }
.care-plans__terms { color: var(--sh-muted); font-size: .83rem; line-height: 1.6; margin-top: 1.4rem; }
.intro-offer { border-left: 3px solid var(--sh-green); color: var(--sh-ink) !important; font-size: .84rem !important; line-height: 1.55; margin: 1.25rem 0 0; padding-left: .85rem; }
.intro-offer strong { color: var(--sh-green); }
.plan-note { color: var(--sh-muted); font-size: .78rem !important; }
.care-plan--primary .hosting-details { grid-column: 1 / -1; }
.hosting-details { border-top: 1px solid rgba(255,255,255,.14); margin-top: 1.25rem; padding-top: 1rem; }
.hosting-details summary { color: var(--sh-ink); cursor: pointer; font-size: .9rem; font-weight: 750; line-height: 1.5; padding: .45rem .25rem; }
.hosting-details summary:hover, .hosting-details summary:focus-visible { color: var(--sh-green); }
.hosting-details summary:focus-visible { outline: 2px solid var(--sh-green); outline-offset: 3px; }
.hosting-details__content { color: var(--sh-muted); font-size: .82rem; line-height: 1.6; padding: .5rem .25rem 0; }
.hosting-details__content ul { margin: 0 0 .8rem; padding-left: 1.25rem; }
.hosting-details__content li + li { margin-top: .4rem; }
.hosting-details__content p { margin: 0; }

/* Hosting */
.hosting { background: var(--sh-bg); }
.hosting__panel { background: linear-gradient(130deg,#0e1d24,#0a151a); border: 1px solid var(--sh-line); border-radius: var(--sh-radius-lg); display: grid; gap: clamp(2.5rem,7vw,7rem); grid-template-columns: 1.05fr .95fr; overflow: hidden; padding: clamp(2rem,5vw,4.5rem); position: relative; }
.hosting__panel::after { background: radial-gradient(circle,rgba(114,183,255,.13),transparent 67%); content: ""; height: 420px; position: absolute; right: -100px; top: -150px; width: 420px; }
.hosting__copy { position: relative; z-index: 1; }
.hosting__copy h2 { margin-bottom: 1.2rem; }
.hosting__copy > p:not(.eyebrow,.hosting__promise) { color: var(--sh-muted); line-height: 1.7; }
.hosting__copy .plan-price { color: var(--sh-ink) !important; line-height: 1.1 !important; }
.hosting__copy .intro-offer { color: var(--sh-ink) !important; }
.hosting__copy .hosting-details { margin: 1.5rem 0; }
.hosting__promise { color: var(--sh-ink); font-size: 1.18rem; font-weight: 750; margin: 1.8rem 0; }
.hosting__benefits { display: grid; gap: .8rem; position: relative; z-index: 1; }
.hosting__benefits p { align-items: center; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; display: flex; font-size: .9rem; gap: .8rem; margin: 0; padding: .9rem 1rem; }
.hosting__benefits span { color: var(--sh-blue); font-size: .7rem; }

/* Process and assurance */
.process { background: #081218; border-top: 1px solid rgba(255,255,255,.05); }
.steps { align-items: flex-start; display: grid; gap: 1.5rem; grid-template-columns: 1fr auto 1fr auto 1fr; }
.step { min-height: 190px; }
.step__number { align-items: center; background: var(--sh-green); border-radius: 50%; color: #061008; display: flex; font-size: .85rem; font-weight: 900; height: 36px; justify-content: center; margin: 0 0 1.3rem; width: 36px; }
.step h3 { margin-bottom: .65rem; }
.step > p:last-child { color: var(--sh-muted); font-size: .9rem; line-height: 1.65; }
.step-arrow { color: var(--sh-green); margin-top: .6rem; }
.assurance { background: var(--sh-bg-deep); }
.assurance-grid { display: grid; gap: 12px; grid-template-columns: repeat(4,1fr); }
.assurance-grid article { background: rgba(12,25,31,.85); border: 1px solid var(--sh-line); border-radius: 12px; min-height: 220px; padding: 1.4rem; }
.assurance-grid h3 { font-size: 1.1rem; margin-bottom: .7rem; }
.assurance-grid p { color: var(--sh-muted); font-size: .82rem; line-height: 1.6; }
.platform-note { color: #75868c; font-size: .78rem; margin: 1.5rem auto 0; max-width: 680px; text-align: center; }

/* CTA and form */
.contact { background: var(--sh-bg); padding-top: 3rem; }
.final-cta { align-items: center; background: radial-gradient(circle at 85% 50%,rgba(77,255,116,.16),transparent 35%),linear-gradient(135deg,#0d2017,#0a1618); border: 1px solid rgba(77,255,116,.23); border-radius: var(--sh-radius-lg); display: grid; gap: 2rem; grid-template-columns: 1fr auto; margin-bottom: 2rem !important; overflow: hidden; padding: clamp(2rem,5vw,4rem); }
.final-cta h2 { margin-bottom: 1rem; max-width: 760px; }
.final-cta > div > p:not(.eyebrow) { color: #aebdb7; margin-bottom: 1.65rem; max-width: 650px; }
.final-cta__mark { align-items: center; display: flex; gap: 1rem; opacity: .9; padding-right: 2rem; }
.final-cta__mark span { align-items: center; border: 2px solid var(--sh-green); border-radius: 50%; color: var(--sh-green); display: flex; font-size: 2rem; height: 76px; justify-content: center; width: 76px; }
.final-cta__mark small { color: #b7c8bf; font-size: .74rem; font-weight: 750; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.contact__grid { display: grid; gap: 18px; grid-template-columns: 1.45fr .55fr; scroll-margin-top: 6rem; }
.contact-form-card, .contact-options { background: rgba(13,27,33,.88); border: 1px solid var(--sh-line); border-radius: var(--sh-radius); padding: clamp(1.5rem,4vw,2.5rem); }
.contact-form-card > h3 { font-size: 1.7rem; margin-bottom: 1.5rem; }
.contact-options h3 { font-size: clamp(1rem,2vw,1.35rem); word-break: break-word; }
.contact-options > p:not(.card-kicker) { color: var(--sh-muted); font-size: .9rem; line-height: 1.65; }
.contact-options hr { border: 0; border-top: 1px solid var(--sh-line); margin: 2rem 0; }
.contact-form { margin-top: 1rem; }
.form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.field { display: flex; flex-direction: column; gap: .42rem; }
.field--wide { grid-column: 1 / -1; }
.field label { color: #c7d1d3; font-size: .8rem; font-weight: 700; }
.optional { color: #75878d; font-weight: 500; }
.field input, .field select, .field textarea { appearance: none; background: #071116; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; color: var(--sh-ink); font: inherit; min-height: 48px; padding: .75rem .85rem; width: 100%; }
.field textarea { min-height: 125px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--sh-green); box-shadow: 0 0 0 3px rgba(77,255,116,.08); outline: 0; }
.field select { background-image: linear-gradient(45deg,transparent 50%,#8ca0a5 50%),linear-gradient(135deg,#8ca0a5 50%,transparent 50%); background-position: calc(100% - 16px) 21px,calc(100% - 11px) 21px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 2.2rem; }
.form-privacy { color: #75878d; font-size: .75rem; line-height: 1.55; }
.form-notice, .field-error { border-radius: 6px; font-size: .82rem; padding: .75rem; }
.form-notice--success { background: rgba(77,255,116,.1); border: 1px solid rgba(77,255,116,.28); }
.form-notice--error, .field-error { color: #ffb0a3; }
.field-error { margin: 0; padding: .15rem 0; }
.form-errors { color: #ffb0a3; font-size: .82rem; margin-bottom: .65rem; }
.form-honeypot { left: -9999px; position: absolute; }

/* Footer */
.site-footer { background: #04090c; border-top: 1px solid rgba(255,255,255,.08); padding: 3.5rem 0 1.5rem; }
.site-footer__inner { align-items: flex-start; display: flex; justify-content: space-between; }
.footer-brand p { color: #7e9096; font-size: .78rem; line-height: 1.55; margin-top: .8rem; }
.footer-nav { max-width: 620px; }
.footer-nav .wp-block-navigation__container { gap: 1.2rem; }
.footer-nav a { color: #a8b5b8; font-size: .78rem; text-decoration: none; }
.footer-nav a:hover { color: var(--sh-green); }
.footer-meta { align-items: center; border-top: 1px solid rgba(255,255,255,.07); color: #64767c; display: flex; font-size: .7rem; justify-content: space-between; margin-top: 2.5rem !important; padding-top: 1.3rem; }
.footer-meta > div { display: flex; gap: 1rem; }
.back-to-top { align-items: center; background: var(--sh-green); border: 1px solid var(--sh-green); border-radius: 50%; bottom: max(1.25rem, env(safe-area-inset-bottom)); box-shadow: 0 10px 30px rgba(0,0,0,.35); color: #06110a; display: flex; font-size: 1.5rem; font-weight: 700; height: 48px; justify-content: center; position: fixed; right: max(1.25rem, env(safe-area-inset-right)); text-decoration: none; transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease; width: 48px; z-index: 90; }
.back-to-top:hover { background: #77ff94; transform: translateY(-2px); }
.back-to-top--enhanced:not(.is-visible) { opacity: 0; pointer-events: none; visibility: hidden; }
html.sivuhuolto-menu-open .back-to-top { opacity: 0; pointer-events: none; visibility: hidden; }

@media (max-width: 1119px) {
  .site-header { backdrop-filter: none; }
  .site-header .wp-block-navigation__responsive-container-open { align-items: center; color: var(--sh-ink); display: flex; height: 44px; justify-content: center; padding: 10px; width: 44px; }
  .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--sh-bg-deep) !important; background-color: var(--sh-bg-deep) !important; color: var(--sh-ink) !important; height: 100dvh; inset: 0; margin: 0; min-height: 0; overflow-y: auto; padding: 1.5rem; position: fixed; width: 100vw; }
  body.admin-bar .site-header .wp-block-navigation__responsive-container.is-menu-open { height: calc(100dvh - 32px); top: 32px; }
  .site-header .wp-block-navigation__responsive-container-close { align-items: center; color: var(--sh-ink); display: flex; height: 44px; justify-content: center; width: 44px; }
  .site-header .wp-block-navigation__responsive-container-content { padding-top: 5rem; }
  .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: stretch; gap: .35rem; width: 100%; }
  .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item { width: 100%; }
  .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { border-bottom: 1px solid var(--sh-line); display: block; font-size: 1.15rem; padding: .9rem 0; width: 100%; }
  .mobile-nav-cta { display: block !important; margin-top: 1rem; }
  .mobile-nav-cta a { background: var(--sh-green); border: 0 !important; border-radius: 8px; color: #06110a !important; min-height: 48px; padding: .8rem 1rem !important; text-align: center; }
  .header-cta { display: none; }
  html.sivuhuolto-menu-open, html.sivuhuolto-menu-open body { overflow: hidden; }
  .hero__grid { gap: 4rem; grid-template-columns: 1fr 400px; }
  .care-plan--primary { grid-template-columns: 1fr 1fr; }
  .plan-action { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  body.admin-bar .site-header { top: 46px; }
  body.admin-bar .site-header .wp-block-navigation__responsive-container.is-menu-open { height: calc(100dvh - 46px); top: 46px; }
  .hero { min-height: 0; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__copy { max-width: 760px; }
  .care-visual { margin-inline: auto; max-width: 570px; min-height: 410px; width: 100%; }
  .service-card { grid-column: span 6; }
  .website-projects__grid { grid-template-columns: 1fr; }
  .website-projects__models { align-items: flex-start; flex-direction: column; }
  .website-package > p:not(.package-kicker,.package-price,.package-boundary) { min-height: 0; }
  .service-card--raised { transform: none; }
  .service-card--raised:hover { transform: translateY(-3px); }
  .care-plans__grid { grid-template-columns: 1fr; }
  .care-plan--plus { min-height: 260px; }
  .hosting__panel { grid-template-columns: 1fr; }
  .assurance-grid { grid-template-columns: repeat(2,1fr); }
  .contact__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .section { padding-block: 4.25rem; }
  .section > .alignwide, .site-header > .alignwide, .site-footer > .alignwide, .site-main .alignwide { width: min(100% - 1.5rem,1180px); }
  .site-header__inner { min-height: 66px; }
  .hero { padding-top: 4.5rem; }
  h1 { font-size: clamp(2.8rem,14.6vw,4.15rem); }
  .hero__lead { font-size: 1rem; }
  .hero__offer .hero__offer-title { align-items: flex-start; gap: .35rem; }
  .hero__actions, .hero__actions .wp-block-button, .hero__actions a { width: 100%; }
  .care-visual { min-height: 330px; }
  .browser-card { left: 1%; top: 16%; width: 98%; }
  .browser-card__body { min-height: 230px; }
  .browser-card__content { padding: 32px 22px; }
  .browser-card__content h2 { font-size: 2.25rem; }
  .health-lines { display: none; }
  .status-chip--updates { left: -1%; top: 1%; }
  .status-chip--backup { right: -1%; top: -2%; }
  .status-chip--secure { bottom: 1%; right: 3%; }
  .status-chip { padding: 8px 10px; }
  .trust-strip__grid { grid-template-columns: repeat(2,1fr); }
  .trust-strip p { border-bottom: 1px solid rgba(255,255,255,.05); font-size: .75rem; min-height: 62px; }
  .service-grid { display: flex; flex-direction: column; }
  .service-card { min-height: 310px; }
  .care-plan--primary { grid-template-columns: 1fr; }
  .plan-action { grid-column: auto; }
  .plan-action a { width: 100%; }
  .steps { grid-template-columns: 1fr; }
  .step { border-left: 1px solid rgba(77,255,116,.22); margin-left: 18px; min-height: 0; padding: 0 0 1.5rem calc(3.2rem - 18px); position: relative; }
  .step__number { left: -18px; position: absolute; }
  .step-arrow { display: none; }
  .assurance-grid { grid-template-columns: 1fr; }
  .assurance-grid article { min-height: 185px; }
  .final-cta { grid-template-columns: 1fr; }
  .final-cta__mark { display: none; }
  .final-cta .wp-block-buttons, .final-cta .wp-block-button, .final-cta a { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .field--wide { grid-column: auto; }
  .site-footer__inner { flex-direction: column; gap: 2rem; }
  .footer-nav .wp-block-navigation__container { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .footer-meta { align-items: flex-start; flex-direction: column; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
