/* Urgent PHP campaign: red signals urgency; existing site typography and forms remain familiar. */
:root{--php-red:#aa1730;--php-red-hover:#841125;--php-pale:#fff4f4}
.php-alert{background:var(--php-red);color:#fff;border-bottom:4px solid #710d22}
.php-alert-inner{display:flex;align-items:center;gap:24px;padding-block:20px}
.php-alert-badge{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;font-weight:800;flex-shrink:0}
.php-alert-badge>span{display:grid;place-items:center;width:25px;height:25px;border:2px solid currentColor;border-radius:50%;font-size:17px}
.php-alert-copy{flex:1}.php-alert-copy strong{font-size:17px;line-height:1.4}.php-alert-copy p{font-size:13px;line-height:1.5;color:#fff;margin-top:3px}
.php-alert-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:46px;padding:11px 18px;background:#fff;color:#851027;border-radius:6px;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap}
.php-alert-link:hover{background:#ffe9ed}.php-alert-link .icon{width:18px;height:18px}.php-alert :focus-visible{outline-color:#fff}
/* Source card echoes NCSC's navy masthead, white editorial body and restrained aqua accents. */
.ncsc-alert{margin-top:28px;border:1px solid #cdd5df;border-radius:3px;overflow:hidden;background:#fff;box-shadow:0 5px 20px #0b12300a}
.ncsc-alert-masthead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 25px;background:#0b1230;color:#fff;border-bottom:4px solid #73d4d0}
.ncsc-alert-masthead>span:first-child{font-size:18px;font-weight:700;letter-spacing:-.025em}.ncsc-alert-masthead>span:last-child{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:#d7e4f2}
.ncsc-alert-body{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:34px;padding:25px}
.ncsc-alert-label{font-size:11px;line-height:1.6;color:#45546b;font-weight:650;margin-bottom:9px}.ncsc-alert-main h2{font-size:clamp(23px,2.4vw,31px);line-height:1.2;letter-spacing:-.03em;color:#0b1230}.ncsc-alert-main>p:not(.ncsc-alert-label){font-size:14px;line-height:1.75;color:#334159;margin-top:13px;max-width:760px}
.ncsc-alert-link{display:inline-flex;align-items:center;gap:10px;margin-top:17px;min-height:38px;color:#15336b;font-size:13px;font-weight:750;text-decoration-thickness:1.5px}.ncsc-alert-link .icon{width:17px;height:17px}.ncsc-alert a:focus-visible{outline-color:#15336b}
.ncsc-alert-facts{border-left:1px solid #dbe3eb;padding-left:28px}.ncsc-critical{display:inline-block;background:#fce8eb;color:#95152c;font-size:10px;letter-spacing:.07em;font-weight:800;text-transform:uppercase;padding:4px 8px}.ncsc-alert-facts>strong{display:block;font-size:38px;line-height:1.2;letter-spacing:-.04em;margin-top:9px;color:#0b1230}.ncsc-alert-facts>strong span{font-size:16px;letter-spacing:0;font-weight:500}.ncsc-alert-facts p{font-size:11px;line-height:1.65;margin-top:6px;color:#45546b}.ncsc-alert-facts a{color:#15336b;font-weight:650}.ncsc-alert-facts .icon{width:13px;height:13px}
.php-response-bulletin{margin-top:18px;margin-bottom:6px;border:1px solid #edcbd1;border-left:4px solid var(--php-red);background:#fff8f8;padding:19px 23px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}
.php-bulletin-status{display:grid;grid-template-columns:9px 1fr;column-gap:10px;align-content:start;align-items:center;padding-top:2px}.php-live-dot{width:9px;height:9px;border-radius:50%;background:var(--php-red);box-shadow:0 0 0 4px #aa173012}.php-bulletin-status>strong{font-size:14px;color:var(--php-red)}.php-bulletin-status>.php-response-availability{grid-column:2;font-size:11px;margin-top:3px;color:#6c3b47}
.php-update-time{font-size:10px;color:#744755;line-height:1.6;margin-bottom:5px}.php-bulletin-update h2{font-size:18px;line-height:1.4;letter-spacing:-.015em}.php-bulletin-update>p:not(.php-update-time){font-size:12px;line-height:1.7;margin-top:5px;color:#5b4b54}.php-bulletin-update>a{font-size:11px;display:inline-flex;align-items:center;gap:6px;margin-top:9px;color:#8c1730;font-weight:650}.php-bulletin-update .icon{width:13px;height:13px}
.php-bulletin-book{grid-column:2;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750;color:var(--php-red);margin-top:9px;min-height:32px}.php-bulletin-book .icon{width:16px;height:16px}
.php-email-notice{margin-top:18px;padding:18px 23px;background:#fff5da;border:1px solid #ecd7a4;border-left:4px solid #946010;border-radius:3px}.php-email-notice>div{display:flex;gap:14px;align-items:flex-start}.php-email-notice .icon{color:#78500f;margin-top:2px}.php-email-notice strong{font-size:14px;line-height:1.6;color:#563b10}.php-email-notice p{font-size:13px;line-height:1.7;margin-top:4px;color:#66522d}.php-email-notice a{font-weight:750}.php-email-form-notice{margin-top:15px;font-size:12px;line-height:1.7;color:#674611;padding:12px;background:#fff4d6;border-left:3px solid #b57b1b}
.php-booking-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:72px;padding-top:30px;padding-bottom:72px;align-items:start}
.php-booking-copy{padding-top:12px}.php-eyebrow{color:var(--php-red)}
.php-booking-copy h1{font-size:clamp(40px,4.1vw,60px);letter-spacing:-.045em;line-height:1.08}.php-booking-copy h1 span{color:var(--php-red)}
.php-booking-intro{font-size:17px;line-height:1.75;margin-top:25px;max-width:550px}
.php-rate{border-block:1px solid #edcbd1;padding-block:18px;margin-block:25px;display:flex;align-items:center;gap:24px}
.php-rate>strong{color:var(--php-red);font-size:42px;line-height:1;letter-spacing:-.05em;white-space:nowrap}.php-rate>strong span{font-size:17px;letter-spacing:0}.php-rate p{font-size:12px;line-height:1.65;max-width:235px}
.php-scope{font-size:14px;line-height:1.75}.php-work-list{padding:0;margin:22px 0;list-style:none;display:grid;gap:12px}.php-work-list li{display:flex;gap:12px;font-size:13px}.php-work-list .icon{color:var(--php-red);width:18px;height:22px}
.php-direct{padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px}.php-direct p{width:100%;font-size:12px}.php-direct a{font-weight:650;font-size:14px;text-decoration:none}.php-direct a:hover{text-decoration:underline}.php-direct .icon{width:17px}
.php-booking-panel{scroll-margin-top:110px;border-top:5px solid var(--php-red);background:var(--php-pale);padding:30px;box-shadow:0 12px 36px #1420390c}
.php-booking-panel .form-caption{color:var(--php-red)}.php-booking-panel .form-heading h2{font-size:30px}.php-booking-panel .form-heading>p:last-child{font-size:14px}.php-booking-panel .form-submit{background:var(--php-red);width:100%;font-size:14px}.php-booking-panel .form-submit:hover{background:var(--php-red-hover)}.php-booking-panel .enquiry-form{margin-top:22px}.php-booking-panel .field{margin-bottom:17px}.php-booking-panel input,.php-booking-panel textarea{background:#fff}.php-booking-panel .form-privacy{font-size:11px;line-height:1.7}
.php-next{border-top:1px solid var(--line);padding-block:45px;display:grid;grid-template-columns:1fr 1.8fr;gap:65px}.php-next h2{font-size:32px}.php-next ol{list-style:none;counter-reset:php-step;margin:0;padding:0;display:grid;gap:24px}.php-next li{counter-increment:php-step;position:relative;padding-left:42px}.php-next li:before{content:counter(php-step);position:absolute;left:0;top:0;background:var(--php-pale);color:var(--php-red);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:750}.php-next li strong{font-size:15px}.php-next li p{font-size:13px;line-height:1.75;margin-top:5px}
.php-official{border:1px solid var(--line);border-left:4px solid var(--php-red);padding:22px 26px;margin-bottom:60px;background:var(--surface)}.php-official>strong{font-size:13px}.php-official p{font-size:12px;line-height:1.75;margin-top:5px}.php-official p:last-child{display:flex;gap:22px;flex-wrap:wrap;margin-top:10px}.php-official a{color:var(--blue);font-weight:650}.php-official .icon{width:14px;height:14px}
.php-work-agreement{grid-column:2;font-size:12px;line-height:1.75;padding:18px 20px;background:var(--surface);border-left:3px solid #cdd5e6;margin-top:-35px}.php-next{margin-bottom:30px}.php-work-list li strong{color:var(--ink)}
@media(max-width:1100px){.php-alert-inner{gap:18px}.php-alert-badge{font-size:10px}.php-booking-grid{gap:36px}.php-booking-panel{padding:24px}.php-rate{gap:15px}.php-rate>strong{font-size:36px}}
@media(max-width:820px){.php-alert-inner{flex-wrap:wrap;gap:10px 18px;padding-block:16px}.php-alert-badge{width:100%;font-size:11px}.php-alert-copy strong{font-size:16px}.php-alert-copy p{max-width:420px;font-size:12px}.php-alert-copy{flex-basis:65%}.php-booking-grid{grid-template-columns:1fr;gap:32px;padding-top:15px;padding-bottom:42px}.php-booking-copy h1{font-size:46px}.php-booking-copy h1 br{display:none}.php-booking-copy h1 br:after{content:' '}.php-booking-copy h1 span{display:block}.php-booking-panel{max-width:none}.php-rate{justify-content:flex-start;gap:28px}.php-rate p{max-width:300px}.php-next{grid-template-columns:1fr;gap:28px;padding-block:34px}.php-next h2 br{display:none}}
@media(max-width:540px){.php-alert-inner{gap:10px}.php-alert-copy{flex-basis:100%}.php-alert-copy p{max-width:none}.php-alert-link{min-height:42px;font-size:13px;width:100%;margin-top:2px}.php-booking-copy h1{font-size:38px}.php-booking-intro{font-size:15px;margin-top:20px}.php-rate{align-items:flex-start;gap:15px}.php-rate>strong{font-size:36px}.php-rate>strong span{font-size:14px}.php-rate p{font-size:11px}.php-booking-panel{padding:22px 18px}.php-booking-panel .form-heading h2{font-size:28px}.php-next h2{font-size:29px}.php-official{padding:18px;margin-bottom:38px}.php-official p:last-child{gap:10px}.php-official a{min-height:32px;display:inline-flex;align-items:center;gap:5px}}
@media(max-width:820px){.ncsc-alert-masthead{align-items:flex-start;flex-direction:column;gap:4px}.ncsc-alert-body{grid-template-columns:minmax(0,1fr) 160px;gap:22px}.ncsc-alert-facts{padding-left:20px}.php-response-bulletin{grid-template-columns:1fr;gap:14px}.php-bulletin-status{grid-template-columns:9px auto 1fr;column-gap:9px}.php-bulletin-status>.php-response-availability{grid-column:auto;margin-top:0}.php-work-agreement{grid-column:1;margin-top:0}}
@media(max-width:540px){.ncsc-alert{margin-top:20px}.ncsc-alert-masthead{padding:15px 18px}.ncsc-alert-masthead>span:first-child{font-size:17px}.ncsc-alert-masthead>span:last-child{font-size:9px}.ncsc-alert-body{grid-template-columns:1fr;padding:19px 18px;gap:20px}.ncsc-alert-main h2{font-size:25px}.ncsc-alert-main>p:not(.ncsc-alert-label){font-size:13px}.ncsc-alert-label{font-size:10px}.ncsc-alert-facts{border-left:0;border-top:1px solid #dbe3eb;padding:16px 0 0;display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:15px;align-items:start}.ncsc-critical{font-size:9px;grid-column:1;grid-row:1;justify-self:start}.ncsc-alert-facts>strong{grid-column:1;grid-row:2;font-size:33px;margin-top:5px}.ncsc-alert-facts>p{grid-column:2;grid-row:1/3;margin-top:0}.ncsc-alert-facts>p:last-child{grid-column:1/-1;grid-row:3;margin-top:12px}.php-response-bulletin{padding:17px 17px;gap:13px}.php-bulletin-status{grid-template-columns:9px 1fr}.php-bulletin-status>.php-response-availability{grid-column:2;margin-top:2px}.php-bulletin-update h2{font-size:18px}.php-work-agreement{padding:15px;font-size:11px}}
