@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/php-security-check-inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/php-security-check-inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/php-security-check-inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/php-security-check-inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/php-security-check-inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/php-security-check-inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/php-security-check-space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/php-security-check-space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/php-security-check-space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/php-security-check-space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#05070d;--color-surface:#0d1420;--color-surface-muted:#080b13;--color-surface-sunken:#02040a;--color-surface-wash:#008cff12;--color-surface-translucent:#05080ed1;--color-graphite:#01030a;--color-graphite-strong:#0a1626;--color-text:#f4f8fc;--color-text-secondary:#d8e4f2;--color-text-muted:#95a7bb;--color-text-inverse:#f4f8fc;--color-text-inverse-muted:#a8b8cb;--color-border:#17243a;--color-border-subtle:#ffffff12;--color-border-strong:#21314a;--color-border-inverse:#ffffff1f;--color-accent:#0090ff;--color-accent-hover:#1aa8ff;--color-accent-quiet:#7dd8ff;--color-accent-wash:#0090ff1a;--color-cyan:#32d5ff;--color-solid:#0b1524;--color-solid-hover:#10223a;--color-solid-text:#f4f8fc;--color-link:#f4f8fc;--color-link-hover:#7dd8ff;--color-focus:#ffb020;--color-focus-inverse:#ffb020;--color-success:#22c783;--color-success-text:#34d399;--color-error:#ff6b6b;--font-family-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading:"Space Grotesk", var(--font-family-body);--font-size-display:clamp(2.25rem, 1.95rem + 1.5vw, 3.25rem);--font-size-h1:clamp(2rem, 1.75rem + 1.25vw, 2.875rem);--font-size-h2:clamp(1.625rem, 1.45rem + .875vw, 2.25rem);--font-size-h3:clamp(1.3125rem, 1.2rem + .5vw, 1.625rem);--font-size-h4:clamp(1.0625rem, 1.02rem + .25vw, 1.25rem);--font-size-body-large:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--font-size-body:1rem;--font-size-body-small:.875rem;--font-size-label:.8125rem;--line-height-tight:1.1;--line-height-heading:1.22;--line-height-body:1.62;--line-height-small:1.5;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-heading:-.02em;--letter-spacing-display:-.028em;--letter-spacing-label:.055em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-component-small:var(--space-2);--space-component:var(--space-4);--space-component-large:var(--space-6);--space-section:clamp(3.5rem, 2.5rem + 4vw, 8rem);--size-content:43rem;--size-content-wide:76rem;--size-control-min:2.75rem;--size-page-gutter:clamp(1rem, .5rem + 2.5vw, 3rem);--radius-small:.5rem;--radius-medium:.75rem;--radius-large:1rem;--radius-xlarge:1.25rem;--radius-pill:999rem;--shadow-small:0 1px 2px #00000073;--shadow-medium:0 2px 4px #00000059, 0 14px 32px #0000007a, inset 0 1px 0 #ffffff0a;--shadow-large:0 4px 10px #0006, 0 28px 64px #0000008c, inset 0 1px 0 #ffffff0d;--shadow-glow-action:0 0 0 1px #0090ff73, 0 0 18px #0090ff38, 0 6px 18px #00000059;--shadow-glow-cyan:0 0 0 1px #32d5ff66, 0 0 14px #32d5ff33;--shadow-card:0 1px 2px #0006, 0 8px 20px -4px #0000007a, inset 0 1px 0 #ffffff0a;--shadow-card-hover:0 2px 6px #0000006b, 0 18px 40px -8px #0000008c, 0 0 0 1px #0090ff47, inset 0 1px 0 #ffffff0f;--gradient-ambient-hero:radial-gradient(52% 46% at 84% 0%, #0090ff1f, transparent 62%);--gradient-ambient-cta:radial-gradient(60% 60% at 50% 0%, #00a8ff17, transparent 70%);--gradient-surface-sheen:linear-gradient(180deg, #ffffff0f, transparent 45%);--gradient-cta-fill:linear-gradient(180deg, #10223a, #0b1524);--gradient-chrome-text:linear-gradient(120deg, #d8e4f2 0%, #7dd8ff 30%, #fff 50%, #32d5ff 72%, #d8e4f2 100%);--gradient-chrome-border:linear-gradient(135deg, #d8e4f28c, #0090ff73, #d8e4f21f);--duration-instant:0s;--duration-fast:.14s;--duration-moderate:.24s;--duration-slow:.4s;--easing-standard:cubic-bezier(.2, 0, 0, 1);--easing-emphasis:cubic-bezier(.2, .6, 0, 1);--motion-lift:-2px;--motion-nudge:3px}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-moderate:0s;--duration-slow:0s;--motion-lift:0px;--motion-nudge:0px}}:root{--breakpoint-compact:30rem;--breakpoint-wide:60rem;--z-index-base:0;--z-index-raised:10;--z-index-overlay:100;--z-index-skip-link:1000}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin-block:0}img,picture,svg,video,canvas{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--color-background);min-block-size:100%}body{background:var(--color-background);min-block-size:100dvh;color:var(--color-text);font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);overflow-wrap:break-word;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}a{color:var(--color-link)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}[data-surface=dark] :focus-visible{outline-color:var(--color-focus-inverse)}::selection{background:var(--color-accent);color:var(--color-background)}strong,b{font-weight:var(--font-weight-semibold)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-index-skip-link);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);background:var(--color-solid);color:var(--color-solid-text);font-weight:var(--font-weight-semibold);transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--duration-fast) var(--easing-standard);position:fixed;inset-block-start:var(--space-4);inset-inline-start:var(--space-4)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}.skip-link{border:2px solid buttontext}}.ds-container{inline-size:100%;max-inline-size:var(--size-content-wide);padding-inline:var(--size-page-gutter);margin-inline:auto}.ds-container[data-width=content]{max-inline-size:calc(var(--size-content) + (2 * var(--size-page-gutter)))}.ds-section{padding-block:var(--space-section)}.ds-section[data-spacing=small]{padding-block:var(--space-6)}.ds-section[data-spacing=medium]{padding-block:var(--space-8)}.ds-stack{gap:var(--space-component);flex-direction:column;display:flex}.ds-stack[data-gap=small]{gap:var(--space-component-small)}.ds-stack[data-gap=large]{gap:var(--space-component-large)}.ds-grid{gap:clamp(var(--space-5), 2vw, var(--space-7));grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.ds-grid[data-minimum=narrow]{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.ds-grid[data-minimum=wide]{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.ds-surface{padding:clamp(var(--space-5), 1rem + 1vw, var(--space-6));border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-small)}.ds-surface[data-tone=muted]{background:var(--color-surface-muted);box-shadow:none}.ds-button{min-block-size:var(--size-control-min);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-small);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);border:1px solid #0000;line-height:1.25;text-decoration:none;display:inline-flex}.ds-button[data-variant=primary]{border-color:var(--color-border-strong);background:var(--color-solid);color:var(--color-solid-text);box-shadow:inset 0 1px #ffffff0f}.ds-button[data-variant=primary]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-solid-hover);box-shadow:var(--shadow-glow-action)}.ds-button[data-variant=secondary]{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.ds-button[data-variant=secondary]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface-muted)}.ds-button[data-variant=quiet]{color:var(--color-link);background:0 0}.ds-button[data-variant=quiet]:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-link-hover)}.ds-button:active:not(:disabled){box-shadow:inset 0 2px 4px #0000008c}.ds-button:disabled{opacity:.55;cursor:not-allowed}.ds-link{color:var(--color-link);font-weight:var(--font-weight-medium);text-underline-offset:.2em;transition:color var(--duration-fast) var(--easing-standard);text-decoration-line:underline;text-decoration-thickness:.08em}.ds-link:hover{color:var(--color-link-hover);text-decoration-thickness:.14em}.ds-heading{color:var(--color-text);font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-heading);text-wrap:balance}.ds-heading[data-style=display],.ds-heading[data-style=h1],.ds-heading[data-style=h2]{max-inline-size:22ch}.ds-heading[data-style=display]{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-display);line-height:var(--line-height-tight)}.ds-heading[data-style=h1]{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold)}.ds-heading[data-style=h2]{font-size:var(--font-size-h2)}.ds-heading[data-style=h3]{font-size:var(--font-size-h3)}.ds-heading[data-style=h4]{font-size:var(--font-size-h4)}.ds-text{max-inline-size:68ch;color:var(--color-text-secondary)}.ds-text[data-muted=true]{color:var(--color-text-muted)}.ds-text[data-variant=body-large]{font-size:var(--font-size-body-large)}.ds-text[data-variant=body]{font-size:var(--font-size-body)}.ds-text[data-variant=body-small]{font-size:var(--font-size-body-small);line-height:var(--line-height-small)}.ds-text[data-variant=label]{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-small);text-transform:uppercase}.ds-badge{align-items:center;gap:var(--space-2);min-block-size:1.75rem;inline-size:fit-content;padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-small);text-transform:uppercase;display:inline-flex}.ds-badge[data-tone=progress]{border-color:var(--color-solid);background:var(--color-solid);color:var(--color-solid-text)}.ds-badge[data-tone=live]{border-color:color-mix(in srgb, var(--color-success) 45%, transparent);background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success-text)}.ds-badge[data-tone=exploring]{color:var(--color-text-muted);border-style:dashed}.ds-divider{border:0;border-block-start:1px solid var(--color-border);block-size:0;inline-size:100%;margin:0}.ds-glow-backdrop{z-index:var(--z-index-base);pointer-events:none;position:absolute;inset:0;overflow:hidden}.ds-glow-backdrop[data-variant=hero]{background-image:var(--gradient-ambient-hero)}.ds-glow-backdrop[data-variant=cta]{background-image:var(--gradient-ambient-cta)}.ds-glow-backdrop[data-variant=section]{background-image:var(--gradient-ambient-cta);opacity:.6}.ds-bento-item{flex-direction:column;block-size:100%;display:flex}.ds-bento-item[data-span=wide]{grid-column:span 2}.ds-bento-item[data-span=tall]{grid-row:span 2}@media (width<=47.99rem){.ds-bento-item[data-span=wide]{grid-column:span 1}}.chrome-text{color:var(--color-text);background-image:var(--gradient-chrome-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.chrome-text{-webkit-text-fill-color:unset;background-image:none}}@media (forced-colors:active){.ds-button,.ds-badge,.ds-surface{border-color:canvastext}.ds-glow-backdrop{display:none}.chrome-text{color:canvastext;-webkit-text-fill-color:unset;background-image:none}}.page-intro{border-block-end:1px solid var(--color-border);background:var(--color-background);padding-block:clamp(4rem,2.5rem + 6vw,7.5rem);position:relative;overflow:hidden}.page-intro>.ds-container{z-index:1;position:relative}.page-intro__layout{gap:var(--space-8);display:grid}.page-intro__copy{gap:var(--space-5);flex-direction:column;display:flex}.page-intro[data-tone=editorial] .page-intro__copy{gap:var(--space-6);max-inline-size:46rem}.page-intro__eyebrow{color:var(--color-text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-label);line-height:var(--line-height-small);text-transform:uppercase;margin:0}.page-intro__lead{gap:var(--space-3);flex-direction:column;display:flex}.page-intro[data-tone=editorial] .page-intro__lead{max-inline-size:54ch}.page-intro__principle{max-inline-size:34ch;border-block-start:2px solid var(--color-accent);color:var(--color-text);font-size:var(--font-size-body-large);font-weight:var(--font-weight-semibold);margin:0;padding-block-start:var(--space-4)}.page-intro__actions{gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}@media (width>=60rem){.page-intro[data-align=split] .page-intro__layout{align-items:start;gap:var(--space-9);grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr)}}@media (forced-colors:active){.page-intro__principle{border-color:canvastext}}.contact-introduction{font-size:var(--font-size-body-large)}.contact-topics{gap:var(--space-2);color:var(--color-text-secondary);margin:0;padding-inline-start:var(--space-5);display:grid}.contact-topics li::marker{color:var(--color-accent)}.contact-email{overflow-wrap:anywhere}.contact-form{gap:var(--space-6);padding-block-start:var(--space-2);display:grid}.contact-form__grid{gap:var(--space-5);display:grid}.contact-field{gap:var(--space-2);min-inline-size:0;display:grid}.contact-field label{inline-size:fit-content;font-weight:var(--font-weight-semibold)}.contact-field__required,.contact-field__hint{color:var(--color-text-muted)}.contact-field input,.contact-field select,.contact-field textarea{inline-size:100%;min-block-size:var(--size-control-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);color:var(--color-text);font:inherit}.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:var(--color-accent)}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.contact-field textarea{resize:vertical;min-block-size:10rem}.contact-field input[aria-invalid=true],.contact-field select[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-width:2px;border-color:var(--color-error)}.contact-field__error,.contact-form__error{color:var(--color-error);font-weight:var(--font-weight-semibold)}.contact-field__error:before,.contact-form__error:before{content:"Error: "}.contact-form__error,.contact-form__status{padding:var(--space-4);border-inline-start:.25rem solid var(--color-error);background:var(--color-surface-muted)}.contact-form__status{border-inline-start-color:var(--color-success)}.contact-form .ds-button{justify-self:start}.contact-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}@media (width>=40rem){.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-field--full{grid-column:1/-1}}@media (forced-colors:active){.contact-field input[aria-invalid=true],.contact-field select[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:mark}.contact-form__error,.contact-form__status{border-color:canvastext}}.contact-form__it-fields{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);display:grid}@media (width>=40rem){.contact-form__it-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form__it-fields .contact-field--full{grid-column:1/-1}}.contact-form__privacy-note{color:var(--color-text-muted)}.php-assessment-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.php-result{font-size:1.125rem;font-weight:600}.php-technical summary{cursor:pointer;font-weight:600}.php-technical[open] summary{margin-block-end:var(--space-3)}.php-shell__header,.php-shell__footer{padding-block:var(--space-5);border-block:1px solid var(--color-border)}.php-shell__navigation,.php-shell__navigation nav{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.php-shell__navigation{justify-content:space-between}.php-shell__brand{font-size:var(--font-size-body-large);font-weight:700}.php-shell__skip{background:var(--color-surface);z-index:100;padding:1rem;position:absolute;inset-block-start:-10rem;inset-inline-start:1rem}.php-shell__skip:focus{inset-block-start:0}
