/* FJS International Solutions | V7.7
   One stylesheet, one source of truth. Brand colours and approved network preserved.
   Heroes are in normal-flow grids: no absolutely positioned background globe.
*/
:root {
  --fjs-deep:#251282;
  --fjs-deep-hover:#1c0d69;
  --fjs-blue:#2a8eb4;
  --fjs-teal-readable:#176f8d;
  --fjs-ink:#263443;
  --fjs-muted:#4e6071;
  --fjs-line:#dfe5ec;
  --fjs-soft:#f6f8fa;
  --fjs-soft-blue:#f4f8fb;
  --fjs-white:#fff;
  --container:1200px;
  --header-height:84px;
  --radius:12px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; font-family:"Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif; font-size:16px; line-height:1.7; font-weight:400; color:var(--fjs-ink); background:#fff; -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
img,svg { display:block; max-width:100%; }
img { height:auto; }
a { color:var(--fjs-deep); text-underline-offset:4px; text-decoration-thickness:1px; }
button,input,select,textarea { font:inherit; }
button,summary { cursor:pointer; }
button { color:inherit; }
button:disabled { cursor:wait; opacity:.65; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--fjs-blue); outline-offset:4px; }
fieldset { border:0; margin:0; padding:0; min-width:0; }
main:focus { outline:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:2000; padding:10px 18px; background:white; border:1px solid var(--fjs-deep); border-radius:4px; }
.skip-link:focus { top:12px; }
.container { width:min(calc(100% - 64px),var(--container)); margin-inline:auto; }
.section { padding:72px 0; }
.section-sm { padding:48px 0; }
h1,h2,h3,h4 { color:var(--fjs-deep); margin:0 0 18px; line-height:1.2; font-weight:500; letter-spacing:-.025em; overflow-wrap:break-word; }
h1 { font-size:clamp(32px,3.5vw,51px); line-height:1.13; }
h2 { font-size:clamp(27px,2.4vw,35px); }
h3 { font-size:22px; line-height:1.3; }
h4 { font-size:18px; }
p { margin:0 0 18px; }
p:last-child { margin-bottom:0; }
.lead { color:var(--fjs-muted); font-size:18px; line-height:1.7; max-width:760px; }
.small { font-size:14px; }
.muted { color:var(--fjs-muted); }
.section-kicker { display:inline-flex; gap:10px; align-items:center; margin-bottom:20px; color:var(--fjs-teal-readable); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.105em; text-transform:uppercase; }
.section-kicker::before { content:""; display:block; width:22px; height:1px; background:var(--fjs-blue); flex:none; }
.section-kicker.no-rule::before { content:none; }
.section-heading-narrow { max-width:830px; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:46px; max-width:100%; padding:11px 18px; border:1px solid transparent; border-radius:6px; text-decoration:none; font-size:15px; line-height:1.4; font-weight:500; text-align:center; transition:background-color .18s,border-color .18s,box-shadow .18s; }
.btn-primary { background:var(--fjs-deep); color:white; }
.btn-primary:hover { background:var(--fjs-deep-hover); box-shadow:0 3px 10px rgb(37 18 130 / .09); }
.btn-secondary,.btn-light { color:var(--fjs-deep); background:#fff; border-color:#cbd1df; }
.btn-secondary:hover,.btn-light:hover { border-color:var(--fjs-deep); background:#faf9fd; }
.btn-teal { color:white; background:var(--fjs-teal-readable); }
.btn-teal:hover { background:#145e78; }
.arrow-icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; transition:transform .2s; }
a:hover>.arrow-icon { transform:translateX(3px); }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:15px; font-weight:500; color:var(--fjs-deep); text-decoration:underline; text-decoration-color:#bdc6d5; }
.text-link:hover { text-decoration-color:var(--fjs-deep); }

/* Stable disclosure navigation. Open state does not depend on pointer hover. */
.site-header { position:sticky; top:0; z-index:100; background:rgb(255 255 255 / .98); border-bottom:1px solid #e9edf2; }
.nav-wrap { min-height:var(--header-height); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:inline-block; flex:0 0 auto; width:190px; text-decoration:none; }
.brand img { width:100%; height:auto; max-height:60px; object-fit:contain; object-position:left center; filter:none; }
.nav-links { display:flex; align-items:center; gap:5px; list-style:none; margin:0; padding:0; }
.nav-links>li { min-width:0; }
.nav-links>li>a,.nav-button { display:flex; align-items:center; gap:8px; padding:12px 13px; border-radius:6px; border:0; color:var(--fjs-deep); background:transparent; text-decoration:none; font-size:15px; line-height:1.45; font-weight:500; white-space:nowrap; }
.nav-links>li>a:hover,.nav-button:hover { background:#f6f7fa; }
.nav-links [aria-current="page"],.nav-button.is-active { background:#f6f5fa; }
.nav-button { list-style:none; }
.nav-button::-webkit-details-marker { display:none; }
.nav-button::marker { content:""; }
.chevron { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .16s; }
.dropdown { position:relative; }
.dropdown[open] .chevron { transform:rotate(180deg); }
.dropdown-menu { position:absolute; z-index:110; top:100%; left:0; min-width:310px; max-width:min(350px,calc(100vw - 36px)); list-style:none; margin:0; padding:9px; background:#fff; border:1px solid var(--fjs-line); border-radius:8px; box-shadow:0 12px 28px rgb(26 39 57 / .10); }
.dropdown-menu a { display:block; padding:12px 13px; font-size:14px; line-height:1.5; text-decoration:none; border-radius:4px; }
.dropdown-menu a:hover,.dropdown-menu a:focus-visible { background:#f4f7fb; }
.nav-toggle { display:none; align-items:center; gap:8px; background:transparent; border:1px solid #e7ecf1; border-radius:5px; padding:9px 11px; font-size:14px; color:var(--fjs-deep); }
.menu-icon { display:block; width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }

/* Shared full-globe hero. The artwork remains in flow, at native opacity. */
.hero { border-bottom:1px solid #e9edf2; background:#fff; }
.hero-home { background:radial-gradient(ellipse at 86% 48%,rgb(42 142 180 / .045),transparent 45%),#fff; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); align-items:center; gap:44px; padding-block:70px; }
.hero-copy { min-width:0; }
.hero-copy h1 { max-width:820px; }
.hero-copy .lead { max-width:680px; }
.hero-visual { display:flex; align-items:center; justify-content:center; min-width:0; padding-block:12px; }
.hero-visual .network { width:100%; max-width:500px; height:auto; aspect-ratio:700 / 520; object-fit:contain; opacity:1; filter:none; animation:network-arrive .7s ease-out both; }
.hero-internal .hero-grid { grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); padding-block:60px; }
.hero-internal h1 { font-size:clamp(31px,3.25vw,47px); }
@keyframes network-arrive { from { opacity:.85; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

/* Existing Home and About sections retain the approved order and content. */
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:54px; align-items:center; }
.band { background:var(--fjs-soft-blue); border-block:1px solid #e7eef3; }
.band-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:50px; align-items:center; }
.band-grid>div:last-child { justify-self:start; }
.band p { color:var(--fjs-muted); }
.solution-pair { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:36px; }
.solution-panel { border-top:1px solid var(--fjs-line); padding-top:27px; }
.solution-panel .eyebrow { display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--fjs-teal-readable); margin-bottom:12px; font-weight:500; }
.solution-panel p { color:var(--fjs-muted); max-width:540px; }
.plain-list-panel { padding:16px 0; }
.check-list { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px; }
.check-list li { position:relative; padding-left:18px; color:var(--fjs-muted); }
.check-list li::before { content:""; position:absolute; left:0; top:.72em; width:5px; height:5px; border-radius:50%; background:var(--fjs-blue); }
.process { counter-reset:step; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.process-item { padding:20px; border:1px solid var(--fjs-line); border-radius:10px; }
.process-item::before { counter-increment:step; content:"0" counter(step); display:block; font-size:12px; color:var(--fjs-teal-readable); margin-bottom:14px; }
.process-item h3 { font-size:19px; }
.process-item p { font-size:15px; color:var(--fjs-muted); }
.alerts-teaser { background:var(--fjs-soft); border-block:1px solid var(--fjs-line); }
.final-cta .lead { margin-bottom:0; }
.about-intro-grid { display:block; max-width:850px; }
.about-intro p { color:var(--fjs-muted); }
.team-section { background:var(--fjs-soft); border-block:1px solid #e9edf2; }
.team-section-heading { max-width:750px; margin-bottom:34px; }
.profile-row { display:grid; grid-template-columns:250px minmax(0,1fr); gap:36px; align-items:center; padding:30px; margin-bottom:22px; border:1px solid var(--fjs-line); border-radius:14px; background:#fff; }
.profile-row:last-child { margin-bottom:0; }
.profile-row-reverse { grid-template-columns:minmax(0,1fr) 250px; }
.profile-row-reverse .profile-photo { order:2; }
.profile-row-reverse .profile-copy { order:1; }
.profile-photo { border-radius:9px; overflow:hidden; margin:0; }
.profile-photo img { width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:center 20%; }
.profile-copy h3 { font-size:30px; margin-bottom:7px; }
.profile-copy p { font-size:15.5px; color:var(--fjs-muted); }
.profile-role { display:block; margin-bottom:18px; color:var(--fjs-teal-readable); font-size:12px; font-weight:500; letter-spacing:.055em; line-height:1.5; text-transform:uppercase; }
/* Roles and Our Culture intentionally have no rule / prefix. */
.profile-role::before { content:none; }
.culture-section { background:var(--fjs-soft); border-block:1px solid #e9edf2; }
.culture-grid { display:grid; grid-template-columns:320px minmax(0,1fr); gap:60px; align-items:start; }
.culture-profile-card { padding:30px; border:1px solid var(--fjs-line); border-radius:14px; background:#fff; }
.prince-frame { margin:0; border-radius:10px; overflow:hidden; }
.prince-frame img { width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; }
.prince-name { font-size:28px; margin-bottom:6px; }
.culture-section-heading h2 { font-size:31px; }
.culture-grid p { color:var(--fjs-muted); }
.culture-lead { font-size:17px; }
.closing-quote { text-align:center; background:var(--fjs-soft); border-block:1px solid #e9edf2; }
.closing-quote p { max-width:780px; margin:0 auto; color:var(--fjs-deep); font-size:20px; font-style:italic; }

/* Six subject-specific editorial drawings. No client data or generated stock people. */
.advice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 40px; margin-top:38px; }
.advice-item { display:flex; flex-direction:column; min-width:0; border-bottom:1px solid var(--fjs-line); padding-bottom:28px; }
.service-vignette { display:flex; justify-content:center; position:relative; height:175px; margin-bottom:24px; background:var(--fjs-soft-blue); border-radius:8px; overflow:hidden; }
.service-art { width:270px; height:100%; fill:none; stroke:var(--fjs-deep); stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; opacity:.94; }
.service-art .accent { stroke:var(--fjs-blue); stroke-width:1.45; }
.service-art g { transform-origin:center; transition:transform .35s ease-out; }
.advice-item:hover .service-art g,.advice-item:focus-within .service-art g { transform:translateY(-3px); }
.service-number { position:absolute; top:17px; left:19px; font-size:12px; letter-spacing:.08em; color:var(--fjs-teal-readable); }
.service-copy { display:flex; flex:1; flex-direction:column; }
.service-copy h3 { font-size:22px; font-weight:500; }
.service-copy p { font-size:16px; color:var(--fjs-muted); }
.service-copy .text-link { align-self:flex-start; margin-top:auto; padding-top:18px; }

/* Blog integration stays separate. No duplicate news database or invented posts. */
.blog-feed-section { min-height:200px; }
#builderall-blog-feed:empty { display:none; }
.blog-fallback { display:flex; align-items:center; justify-content:space-between; gap:36px; padding-block:10px; }
.blog-fallback h2 { font-size:26px; }
.blog-fallback p { color:var(--fjs-muted); }
.blog-fallback>.text-link { white-space:nowrap; }

/* Contact: dark, readable details and an honest unconnected preview state. */
.contact-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:start; gap:50px; }
.contact-card { background:var(--fjs-soft); padding:28px; border:1px solid var(--fjs-line); border-radius:12px; }
.contact-card h2 { font-size:29px; }
.contact-card h3 { margin-top:26px; font-size:20px; }
.contact-card p { color:var(--fjs-muted); }
.contact-details { display:grid; gap:9px; padding:0; font-style:normal; color:var(--fjs-deep); font-size:16px; }
.contact-details a { text-decoration:none; }
.contact-details a:hover { text-decoration:underline; }
.contact-scope { margin-top:25px; }
.form,.form [data-form-fields] { display:grid; gap:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:8px; min-width:0; }
.field label { color:#304254; font-size:14px; font-weight:600; }
.field input,.field select,.field textarea,.newsletter-form input { width:100%; min-width:0; padding:11px 13px; border:1px solid #bec8d4; border-radius:6px; color:var(--fjs-ink); background:white; min-height:46px; transition:border-color .18s,box-shadow .18s; }
.field input:focus,.field textarea:focus,.field select:focus,.newsletter-form input:focus { border-color:var(--fjs-blue); box-shadow:0 0 0 2px rgb(42 142 180 / .1); }
.field textarea { resize:vertical; min-height:160px; }
input::placeholder,textarea::placeholder { color:#607081; opacity:1; }
select { max-width:100%; }
.required-note { font-size:13px; color:var(--fjs-muted); margin:0; }
.form .form-submit { justify-self:start; }
.form-legal { margin:0; }
.security-note { font-size:12px; color:var(--fjs-muted); }
.hp-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.form-status,.newsletter-status { margin:0; font-size:13px; color:#425368; }
.form-status:empty,.newsletter-status:empty { display:none; }
.form-status:not(:empty) { padding:12px 14px; border:1px solid var(--fjs-line); background:var(--fjs-soft); border-radius:6px; }

/* A quiet, light footer. Colour transparent logo is never filtered. */
.site-footer { background:#f7f9fb; border-top:1px solid var(--fjs-line); padding:48px 0 24px; color:#33485e; }
.footer-grid { display:grid; grid-template-columns:1.04fr .98fr 1.04fr 1.14fr; gap:30px; align-items:start; }
.footer-brand>a { display:inline-block; }
.site-footer .footer-brand img { width:188px; max-width:100%; height:auto; opacity:1; filter:none; background:transparent; }
.footer-brand p { margin-top:18px; max-width:280px; font-size:14px; line-height:1.75; color:#40556a; }
.site-footer h2 { color:var(--fjs-deep); font-size:13px; font-weight:600; line-height:1.4; text-transform:uppercase; letter-spacing:.065em; margin:4px 0 18px; }
.site-footer address { display:grid; gap:6px; font-style:normal; color:#263c57; font-size:14px; line-height:1.7; margin-bottom:13px; }
.footer-contact,.footer-links { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.site-footer li,.site-footer a { font-size:14px; line-height:1.7; }
.site-footer a { color:#304561; text-decoration:none; }
.site-footer a:hover { color:var(--fjs-deep); text-decoration:underline; }
.footer-newsletter>p { color:#40556a; font-size:14px; margin-bottom:16px; }
.newsletter-inline { display:flex; gap:8px; flex-wrap:wrap; }
.newsletter-inline input { flex:1 1 100%; font-size:14px; padding:10px 12px; min-height:42px; }
.newsletter-inline .btn { min-height:40px; padding:9px 17px; font-size:14px; }
.newsletter-status:not(:empty) { margin-top:12px; font-size:12px; color:#465b6d; line-height:1.6; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:34px; padding-top:20px; border-top:1px solid var(--fjs-line); color:#475d71; font-size:12px; }
.legal-note-link,.site-footer a.legal-note-link { color:var(--fjs-teal-readable); font-weight:600; text-decoration:underline; text-decoration-color:var(--fjs-blue); text-decoration-thickness:1px; text-underline-offset:4px; }
.legal-note-link:hover,.site-footer a.legal-note-link:hover { color:var(--fjs-deep); text-decoration-color:var(--fjs-deep); }

@media (min-width:1400px) { .newsletter-inline input { flex-basis:155px; } }
@media (max-width:1080px) {
 .container { width:calc(100% - 48px); }
 .nav-links>li>a,.nav-button { padding-inline:10px; font-size:14px; }
 .brand { width:171px; }
 .hero-grid,.hero-internal .hero-grid { gap:30px; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:34px 54px; }
 .newsletter-inline input { flex-basis:160px; }
 .profile-row { grid-template-columns:220px minmax(0,1fr); padding:26px; gap:30px; }
 .profile-row-reverse { grid-template-columns:minmax(0,1fr) 220px; }
 .culture-profile-card { padding:26px; }
 .contact-grid { gap:30px; }
}
@media (max-width:1024px) {
 /* Tablet and phone: remove the decorative network artwork entirely. */
 .hero-grid,.hero-internal .hero-grid { grid-template-columns:1fr; }
 .hero-visual { display:none; }
}
@media (max-width:900px) {
 :root { --header-height:74px; }
 .nav-wrap { flex-wrap:wrap; gap:0; padding-block:12px; }
 .brand { width:170px; }
 .js .nav-toggle { display:inline-flex; }
 #site-navigation { width:100%; }
 .js #site-navigation { display:none; }
 .js .site-header.is-nav-open #site-navigation { display:block; max-height:calc(100dvh - 85px); overflow-y:auto; }
 .nav-links { flex-direction:column; align-items:stretch; padding-top:14px; }
 .nav-links>li>a,.nav-button { width:100%; padding:12px 10px; font-size:15px; justify-content:space-between; }
 .dropdown-menu { position:static; min-width:0; width:100%; max-width:none; box-shadow:none; border:0; border-left:1px solid var(--fjs-line); border-radius:0; padding:5px 0 5px 13px; margin-bottom:10px; }
 .dropdown-menu a { white-space:normal; }
 .hero-grid,.hero-internal .hero-grid { grid-template-columns:1fr; gap:22px; padding-block:44px; }
 .hero-copy h1 { max-width:720px; }
 .hero-visual .network { max-width:370px; }
 .hero-visual { padding-block:4px; }
 .hero-copy .lead { max-width:730px; }
 .split,.band-grid,.contact-grid { grid-template-columns:1fr; gap:32px; }
 .culture-grid { grid-template-columns:270px minmax(0,1fr); gap:32px; }
 .advice-grid { gap:32px; }
 .profile-copy h3 { font-size:27px; }
}
@media (max-width:640px) {
 .container { width:calc(100% - 36px); }
 .section { padding-block:45px; }
 .process { grid-template-columns:1fr; }
 .section-sm { padding-block:34px; }
 h1,.hero-internal h1 { font-size:32px; line-height:1.18; }
 h2 { font-size:27px; }
 h3 { font-size:21px; }
 .lead { font-size:17px; }
 .hero-grid,.hero-internal .hero-grid { padding-block:35px; gap:14px; }
 .hero-visual .network { max-width:315px; }
 .button-row { gap:10px; margin-top:24px; }
 .btn { font-size:14px; }
 .solution-pair,.advice-grid,.footer-grid,.culture-grid,.form-row { grid-template-columns:1fr; }
 .solution-pair { gap:30px; }
 .profile-row,.profile-row-reverse { grid-template-columns:1fr; padding:22px; gap:24px; }
 .profile-row .profile-photo,.profile-row .profile-copy { order:initial; }
 .profile-photo { width:min(100%,270px); }
 .profile-copy h3 { font-size:27px; }
 .culture-grid { gap:30px; }
 .culture-profile-card { padding:22px; }
 .prince-frame { max-width:290px; }
 .culture-section-heading h2 { font-size:27px; }
 .closing-quote p { font-size:18px; }
 .blog-fallback { flex-direction:column; align-items:flex-start; gap:22px; }
 .service-vignette { height:160px; }
 .contact-card { padding:23px; }
 .site-footer { padding-top:38px; }
 .footer-grid { gap:32px; }
 .footer-newsletter { max-width:420px; }
 .newsletter-inline input { flex-basis:180px; }
 .footer-bottom { align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .service-art g,a:hover>.arrow-icon { transform:none; }
}

/* Builderall Blog: scoped styling for semantic posts inserted at the existing mount. */
#builderall-blog-feed { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
#builderall-blog-feed article { min-width:0; border-bottom:1px solid var(--fjs-line); padding-bottom:28px; }
#builderall-blog-feed article img { width:100%; height:auto; border-radius:8px; margin-bottom:20px; }
#builderall-blog-feed article h2 { font-size:26px; }
#builderall-blog-feed article p { color:var(--fjs-muted); }
#builderall-blog-feed article time { color:var(--fjs-teal-readable); font-size:13px; }
#builderall-blog-feed>iframe { grid-column:1 / -1; width:100%; border:0; min-height:600px; }
@media (max-width:640px) { #builderall-blog-feed { grid-template-columns:1fr; } }


/* Prince and Hoshi share the approved Our Culture card styling. */
.culture-profile-card + .culture-profile-card { margin-top:30px; }

/* Alternate the second culture profile, as in Our Team. */
@media (min-width:641px) {
 .culture-grid-reverse { grid-template-columns:minmax(0,1fr) 320px; }
 .culture-grid-reverse>.prince-frame { order:2; }
 .culture-grid-reverse>div { order:1; }
}
@media (min-width:641px) and (max-width:900px) {
 .culture-grid-reverse { grid-template-columns:minmax(0,1fr) 270px; }
}

/* Published Regulatory Alerts content, adapted to the shared site design. */
.alerts-intro h2 { max-width:830px; font-size:clamp(26px,2.2vw,32px); line-height:1.25; }
.alerts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:40px; }
.alert-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:30px; border:1px solid var(--fjs-line); border-radius:14px; background:#fff; }
.alert-icon { width:54px; height:54px; margin-bottom:24px; fill:none; stroke:var(--fjs-deep); stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.alert-icon .accent { stroke:var(--fjs-blue); }
.alert-card p { color:var(--fjs-muted); font-size:16px; line-height:1.75; margin-bottom:25px; }
.alert-card .text-link { margin-top:auto; }
@media (max-width:900px) {
 .alerts-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .alert-card { padding:26px; }
}
@media (max-width:640px) {
 .alerts-grid { margin-top:30px; }
 .alert-card { padding:24px; }
 .alert-icon { width:48px; height:48px; margin-bottom:20px; }
}
