/* Adapted from website/themes/bwInfoSec: head.html, index.css, services.css,
   footer.css and font.css. See BRANDING.md for source files and revision. */
@font-face {
  font-family: Alata; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/alata-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: Alata; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/alata-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root { color-scheme:light; --bg:#fff; --panel:#f8f9fa; --ink:#343a40; --muted:#59636d; --border:#d8dfe5; --card-border:transparent; --accent:#f6be00; --logo:url('logo.svg'); --shadow:0 8px 56px rgb(15 80 100 / 16%); }
@media(prefers-color-scheme:dark) { :root:not([data-theme='light']) { color-scheme:dark; --bg:#181a1d; --panel:#292d32; --ink:#f5f6f7; --muted:#c5cbd2; --border:#89939f; --card-border:#89939f; --logo:url('logo-dark.svg'); --shadow:0 8px 56px rgb(0 0 0 / 18%); } }
:root[data-theme='dark'] { color-scheme:dark; --bg:#181a1d; --panel:#292d32; --ink:#f5f6f7; --muted:#c5cbd2; --border:#89939f; --card-border:#89939f; --logo:url('logo-dark.svg'); --shadow:0 8px 56px rgb(0 0 0 / 18%); }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Alata,sans-serif; font-size:1.05rem; font-weight:400; line-height:1.5; }
::selection { background:var(--accent); color:#212529; }
a { color:inherit; }
.shell,.footer-inner { max-width:1320px; margin:auto; padding:0 36px; }
header { display:flex; align-items:center; gap:28px; padding:22px 0; }
.brand { display:block; margin-right:auto; }
.logo { display:block; width:220px; height:58px; background:var(--logo) left center/contain no-repeat; }
.header-links { display:flex; gap:24px; }
.header-links a { text-decoration:none; }
.header-links a:hover { text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:3px; text-underline-offset:6px; }
.theme-switch { padding:9px 15px; border:1px solid var(--border); border-radius:12px; background:var(--panel); color:var(--ink); cursor:pointer; font:inherit; font-size:13px; }
.intro { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:80px; padding:64px 0 60px; }
.eyebrow { font-size:1rem; }
h1 { margin:0 0 22px; color:var(--accent); font-size:clamp(48px,7vw,80px); line-height:1.3; font-weight:400; letter-spacing:0; }
.intro-content p { max-width:640px; margin:22px 0 0; line-height:1.9; }
.signin-note { padding:32px 36px; border:3px solid var(--card-border); border-radius:16px; box-shadow:var(--shadow); background:var(--panel); }
.note-icon { color:var(--accent); font-size:44px; line-height:1; }
.signin-note h2 { margin:16px 0; font-size:25px; font-weight:400; line-height:1.4; }
.signin-note p { color:var(--muted); margin:0; font-size:16px; }
.section-title { margin:4px 0 30px; font-size:30px; text-align:center; font-weight:400; }
.services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-bottom:70px; }
.service { padding:0; overflow:hidden; border:1px solid var(--card-border); border-radius:12px; box-shadow:var(--shadow); background:var(--panel); text-decoration:none; display:flex; flex-direction:column; transition:transform .3s ease-out,box-shadow .3s ease-out; }
.service:hover { transform:translateY(-7px); }
.card-top { display:flex; align-items:center; justify-content:space-between; min-height:90px; padding:18px 28px; margin-bottom:24px; background:var(--accent); color:#212529; }
.icon { display:grid; place-items:center; width:56px; height:56px; border-radius:8px; background:var(--accent); color:#212529; }
.icon svg { width:30px; height:30px; }
.arrow { font-size:26px; color:#212529; }
.category { color:var(--muted); font-size:13px; margin:0 28px 6px; }
.service h2 { font-size:27px; font-weight:400; margin:0 28px; }
.description { color:var(--muted); font-size:16px; line-height:1.7; margin:14px 28px 26px; flex:1; }
.open { font-size:15px; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--accent); border-radius:12px; padding:10px 16px; background:var(--bg); margin:0 28px 28px; }
.service:hover .open { background:var(--accent); color:#212529; }
footer { background:var(--panel); }
.footer-inner { padding-top:28px; padding-bottom:28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px 24px; font-size:13px; color:var(--muted); }
.dot { padding:0 6px; }
.legal-links { display:flex; flex-wrap:wrap; gap:12px 20px; }
.legal-links a { font-size:18px; line-height:2rem; text-decoration:none; }
.legal-links a:hover { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:4px; }
:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
.skip { position:absolute; left:16px; top:-100px; padding:12px; background:var(--bg); z-index:5; }
.skip:focus { top:12px; }
@media(max-width:900px) { header { gap:16px; flex-wrap:wrap; } .header-links { font-size:15px; gap:16px; } .intro { gap:32px; padding-top:40px; } .signin-note { padding:24px; } .services { gap:16px; } }
@media(max-width:700px) { .shell,.footer-inner { padding-left:24px; padding-right:24px; } .logo { width:180px; height:48px; } .header-links { order:3; width:100%; } .intro { grid-template-columns:1fr; padding:36px 0 40px; gap:30px; } .services { grid-template-columns:1fr; padding-bottom:40px; } .card-top { margin-bottom:18px; } .footer-inner { flex-direction:column; align-items:flex-start; } }
@media(max-width:380px) { .logo { width:145px; } .theme-switch { font-size:12px; padding:8px 10px; } }
@media(prefers-reduced-motion:reduce) { .service { transition:none; } .service:hover { transform:none; } }
