:root { --ink:#14212c; --muted:#5b6872; --surface:#f4f7f8; --line:#dce3e6; --accent:#007d8a; --accent-deep:#075760; --warm:#eea925; --shadow:0 18px 46px rgba(20,33,44,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
body.role-business { --accent:#486b99; --accent-deep:#2f4e76; } body.role-compliance { --accent:#8d5e24; --accent-deep:#634010; } body.role-training { --accent:#8c3f70; --accent-deep:#63274e; } body.role-lyceum { --accent:#5e6e31; --accent-deep:#3c491b; }
a { color:inherit; } .shell { width:min(1160px,calc(100% - 3rem)); margin-inline:auto; }
.skip-link { position:absolute; left:-999px; top:0; z-index:10; background:#fff; padding:.75rem 1rem; }.skip-link:focus { left:1rem; top:1rem; }
.site-header { position:relative; z-index:3; border-top:5px solid var(--accent); background:#fff; box-shadow:0 1px 0 rgba(20,33,44,.08); }.site-header__top { min-height:86px; display:flex; align-items:center; gap:1.5rem; }.brand { display:inline-flex; align-items:center; }.brand img { width:154px; max-height:55px; object-fit:contain; }.role-label { margin:0 0 0 auto; color:var(--muted); font-size:.86rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.role-label span { width:.65rem; height:.65rem; margin-right:.5rem; display:inline-block; border-radius:50%; background:var(--accent); }.menu-toggle { display:none; border:1px solid var(--line); background:#fff; color:var(--ink); padding:.55rem .8rem; font:inherit; font-weight:700; }
.site-nav { display:flex; align-items:stretch; min-height:49px; gap:.15rem; }.site-nav>a,.nav-group>summary { padding:.78rem .8rem; text-decoration:none; font-size:.88rem; font-weight:700; color:#34434c; cursor:pointer; list-style:none; }.nav-group>summary::-webkit-details-marker { display:none; }.nav-group>summary::after { content:"⌄"; margin-left:.35rem; color:var(--accent); }.site-nav>a:hover,.site-nav>a.is-active,.nav-group[open]>summary { color:var(--accent-deep); background:var(--surface); }.nav-group { position:relative; }.nav-panel { position:absolute; top:100%; left:0; width:270px; padding:.9rem; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); }.nav-panel p { margin:.25rem .25rem .75rem; color:var(--muted); font-size:.8rem; }.nav-panel a { display:block; padding:.5rem .55rem; text-decoration:none; font-size:.9rem; }.nav-panel a:hover,.nav-panel a.is-active { color:var(--accent-deep); background:var(--surface); }
.hero { min-height:500px; padding:5.5rem 0; display:grid; grid-template-columns:1.08fr .92fr; gap:3rem; align-items:center; }.hero__copy { max-width:650px; }.eyebrow { margin:0 0 .85rem; color:var(--accent-deep); font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.hero h1,.page-hero h1 { margin:0; max-width:760px; font-size:clamp(2.4rem,5vw,4.7rem); line-height:1.03; letter-spacing:-.052em; }.lead { max-width:680px; margin:1.5rem 0 0; color:#40515c; font-size:clamp(1.08rem,1.8vw,1.3rem); }.button { display:inline-block; margin-top:2rem; padding:.82rem 1.15rem; border-radius:2px; background:var(--accent); color:#fff; font-weight:800; text-decoration:none; }.button:hover { background:var(--accent-deep); }.hero__image { min-height:355px; border-radius:4px; background:linear-gradient(135deg,rgba(0,46,57,.2),rgba(0,125,138,.08)),url('../img/solutions.jpg') center/cover; box-shadow:var(--shadow); }
.section { padding:5rem 0; }.section-heading { max-width:720px; margin-bottom:2rem; }.section-heading h2,.principles h2 { margin:0; font-size:clamp(1.9rem,3.4vw,3rem); line-height:1.1; letter-spacing:-.035em; }.service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }.service-card { min-height:242px; padding:1.25rem; display:flex; flex-direction:column; border:1px solid var(--line); border-top:4px solid var(--card-accent,var(--accent)); text-decoration:none; background:#fff; transition:transform .18s,box-shadow .18s; }.service-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.role-card--personal { --card-accent:#007d8a; }.role-card--business { --card-accent:#486b99; }.role-card--compliance { --card-accent:#8d5e24; }.role-card--training { --card-accent:#8c3f70; }.role-card--lyceum { --card-accent:#5e6e31; }.service-card__index { color:var(--card-accent,var(--accent)); font-size:.76rem; font-weight:800; }.service-card h3 { margin:.9rem 0 .4rem; font-size:1.12rem; line-height:1.18; }.service-card p { margin:0; color:var(--muted); font-size:.87rem; }.service-card__link { margin-top:auto; padding-top:1rem; color:var(--card-accent,var(--accent)); font-size:.86rem; font-weight:800; }.principles { padding:5rem 0; background:var(--ink); color:#f6fafb; }.principles__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:5rem; }.principles .eyebrow { color:#86d6dc; }.principles__copy { color:#d2dde0; font-size:1.06rem; }.principles__copy p:first-child { margin-top:0; }
.page-hero { padding:5.5rem 0 4.5rem; background:linear-gradient(120deg,#f2f8f9,#fff); border-bottom:1px solid var(--line); }.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:5rem; }.article-copy { max-width:720px; }.intro { margin-top:0; color:#344651; font-size:1.18rem; }.article-copy h2 { margin:2.5rem 0 1rem; font-size:1.55rem; letter-spacing:-.025em; }.check-list { padding:0; margin:0; list-style:none; }.check-list li { position:relative; padding:.7rem 0 .7rem 1.8rem; border-bottom:1px solid var(--line); }.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:900; }.steps { list-style:none; padding:0; margin:0; counter-reset:steps; }.steps li { display:flex; gap:1rem; align-items:flex-start; padding:.85rem 0; }.steps li span { width:1.65rem; height:1.65rem; flex:0 0 1.65rem; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:.8rem; font-weight:800; }.page-aside { align-self:start; padding:1.3rem; background:var(--surface); border-left:4px solid var(--accent); }.page-aside .eyebrow { font-size:.68rem; }.page-aside nav a { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; color:#35454e; border-bottom:1px solid #d9e1e3; text-decoration:none; font-size:.9rem; }.page-aside nav a:last-child { border:0; }.page-aside nav a:hover,.page-aside nav a.is-current { color:var(--accent-deep); font-weight:800; }.page-aside nav span { color:var(--accent); }
.site-footer { padding:2.7rem 0; background:#0d171e; color:#c7d2d6; }.site-footer__inner { display:flex; align-items:center; gap:2rem; font-size:.85rem; }.site-footer__inner p { margin:0; }.site-footer__inner p:last-child { margin-left:auto; }.brand--footer img { filter:brightness(0) invert(1); opacity:.92; }
@media (max-width:1050px) { .service-grid { grid-template-columns:repeat(3,1fr); }.site-nav { flex-wrap:wrap; }.nav-panel { z-index:4; } }
@media (max-width:760px) { .shell { width:min(100% - 2rem,1160px); }.site-header__top { min-height:70px; }.brand img { width:125px; }.role-label { display:none; }.menu-toggle { display:block; margin-left:auto; }.site-nav { display:none; padding:.5rem 0 1rem; }.site-nav.is-open { display:block; }.site-nav>a,.nav-group>summary { display:block; padding:.78rem .2rem; }.nav-group { position:static; }.nav-panel { position:static; width:auto; margin:.15rem 0 .5rem; box-shadow:none; }.hero { min-height:0; padding:3.5rem 0; grid-template-columns:1fr; gap:2rem; }.hero__image { min-height:240px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:0; }.principles__grid,.content-grid { grid-template-columns:1fr; gap:2rem; }.principles { padding:3.5rem 0; }.page-hero { padding:3.5rem 0 3rem; }.section { padding:3.5rem 0; }.site-footer__inner { align-items:flex-start; flex-direction:column; gap:1rem; }.site-footer__inner p:last-child { margin-left:0; } }
