:root{--ink:#20201f;--muted:#62645e;--accent:#3A85D6;--accent-ink:#2864a6;--line:#dce3eb;--paper:#fff;--soft:#f2f7fd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:40px 0 34px;border-bottom:1px solid var(--line)}.logo{display:block;width:250px;height:auto}.header-contact{font-size:14px}.header-contact span{margin-left:30px}.hero{padding-top:69px;padding-bottom:72px;display:grid;grid-template-columns:1.3fr 1fr;column-gap:80px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;line-height:1.6}.hero>.eyebrow{grid-column:1/-1;margin:0 0 28px}h1{font-size:clamp(50px,6.5vw,88px);font-weight:400;letter-spacing:-4px;line-height:1.04;margin:0}.dot{color:var(--accent)}.intro{align-self:end;padding-bottom:3px;max-width:370px}.status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.status span{width:7px;height:7px;border-radius:50%;background:var(--accent)}h2{font-weight:400;letter-spacing:-1px;font-size:30px;line-height:1.2;margin:24px 0 18px}.intro>p:not(.status){font-size:15px;line-height:1.8;color:var(--muted)}.text-link{display:flex;justify-content:space-between;max-width:240px;border-bottom:1px solid var(--ink);padding:15px 0 10px;font-size:22px;margin-top:20px}.links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:28px 0 42px;gap:40px}.links a{display:grid;gap:23px}.link-number{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.link-title{font-size:20px;display:flex;justify-content:space-between;gap:10px}.link-title>span{color:var(--accent)}.contact{background:var(--soft);padding:70px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:52px;margin-top:22px}address{font-size:15px;line-height:1.9;font-style:normal;margin-top:28px}.news{font-size:13px;line-height:1.8;color:var(--muted);max-width:340px;margin-top:30px}form h3{font-size:23px;font-weight:400;margin:6px 0 12px}label{display:block;font-size:12px;margin:22px 0 8px}input,textarea{width:100%;font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #a8aca2;border-radius:0;padding:10px 2px;resize:vertical}input{height:39px}.form-note{font-size:11px;line-height:1.8;color:var(--muted)}.form-note a{text-decoration:underline}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button{display:flex;justify-content:space-between;gap:45px;background:var(--ink);color:white;font:inherit;font-size:13px;border:0;padding:17px 22px;cursor:pointer;margin-top:22px}button:hover{background:var(--accent-ink)}button:disabled{opacity:.6;cursor:wait}#form-status{font-size:13px;line-height:1.6}footer{padding:27px 0;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted)}footer nav{display:flex;gap:24px}.legal{max-width:800px;padding:50px 0 75px;line-height:1.8}.legal h1{font-size:44px;letter-spacing:-1.5px;line-height:1.2}.legal h2{font-size:22px;margin-top:34px}.notice{background:var(--soft);padding:20px;border-left:3px solid var(--accent);font-size:14px}.legal p{white-space:pre-line;font-size:14px}@media(max-width:800px){.wrap{width:calc(100% - 40px)}header{padding:25px 0}.logo{width:190px}.header-contact{font-size:12px}.header-contact span{margin-left:8px}.hero{grid-template-columns:1fr;gap:32px;padding:45px 0}.hero>.eyebrow{margin:0;font-size:9px}h1{font-size:64px;letter-spacing:-3px}.intro{max-width:460px}.links{grid-template-columns:1fr;gap:25px;padding:26px 0 38px}.links a{gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.links a:last-child{border:0;padding:0}.contact{padding:45px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:43px}.news{max-width:450px}footer{flex-direction:column;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Brand blue remains exact on accents; the darker shade keeps small links readable. */
.header-contact span,.text-link>span{color:var(--accent)}.text-link{border-bottom-color:var(--accent)}.header-contact:hover,.text-link:hover,.links a:hover .link-title,footer a:hover{color:var(--accent-ink)}input:focus,textarea:focus{border-bottom-color:var(--accent)}::selection{background:#dcecff;color:var(--ink)}

/* Compact business card: heading 24px, body 16px, notes 13px. */
body{font-size:16px;line-height:1.5}
.wrap{width:min(960px,calc(100% - 48px))}
header.wrap{width:100%;max-width:none;padding:22px max(24px,calc((100% - 960px)/2));background:var(--soft);border:0}
.logo{width:210px;mix-blend-mode:multiply}
.header-contact{font-size:16px}.header-contact span{margin-left:12px}
.hero{display:block;padding:34px 0 26px}
h1,.contact h2{font-size:24px;line-height:1.35;letter-spacing:0;font-weight:400;margin:0 0 8px}
.hero p{margin:0;color:var(--muted)}
.links{gap:28px;padding:20px 0 26px;border-bottom:1px solid var(--line)}
.links a{display:block}.link-title{font-size:16px;gap:12px}
.contact{background:white;padding:30px 0}
.contact-grid{grid-template-columns:1fr 1fr;gap:60px}
.contact h2{margin:0 0 16px}
address{font-size:16px;line-height:1.65;margin:0}
.news{font-size:16px;line-height:1.6;margin-top:24px;max-width:380px}
.news p{margin:0 0 12px}.instagram{display:flex;align-items:center;gap:8px;color:var(--accent-ink)}.instagram svg{flex-shrink:0}
form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-content:start}
form>*{grid-column:1/-1}label{font-size:16px;margin:10px 0 2px}
input,textarea{font-size:16px;padding:6px 2px}input{height:34px}
.form-note{font-size:13px;line-height:1.5;margin:0 0 8px}
textarea+.trap+.form-note{margin-top:12px}
button{font-size:16px;margin-top:6px;padding:11px 16px;justify-self:start}
#form-status{font-size:13px;margin:8px 0 0}#form-status:empty{display:none}
footer{font-size:13px;border-top:1px solid var(--line);padding:20px 0}
@media(max-width:800px){.hero{padding:28px 0 24px}.links{grid-template-columns:repeat(3,1fr);gap:18px}.links a{border:0;padding:0}.contact-grid{gap:28px;grid-template-columns:1fr 1fr}.contact{padding:26px 0}.contact h2{font-size:24px}.header-contact{font-size:16px}}
@media(max-width:600px){.logo{width:170px}.contact-grid{grid-template-columns:1fr}.links{grid-template-columns:1fr;gap:0;padding:8px 0}.links a{padding:12px 0}.news{max-width:none}.header-contact span{display:none}footer nav{flex-wrap:wrap;gap:18px}}

/* Consistent, quiet offer links with a full touch target. */
.links{gap:12px;padding:0 0 26px;border-top:0}
.links a,.links a:last-child{display:flex;align-items:center;min-height:64px;padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--soft);text-decoration:none;transition:background .18s ease,border-color .18s ease}
.links .link-title{width:100%;align-items:center;font-weight:500;line-height:1.5}
.links .link-title>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:white;color:var(--accent-ink);flex-shrink:0}
.links a:hover,.links a:focus-visible{background:#e5effb;border-color:var(--accent)}
@media(max-width:600px){.links{gap:8px;padding:0 0 24px}.links a,.links a:last-child{min-height:58px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.links a{transition:none}}

.links .link-title>span{width:36px;height:36px;background:transparent;border:1px solid #b8cee8;border-radius:4px}.links .link-title>span svg{display:block}.links a:hover .link-title>span,.links a:focus-visible .link-title>span{background:var(--accent-ink);border-color:var(--accent-ink);color:white}

/* Compact offer navigation. */
.links{display:flex;flex-wrap:wrap;gap:12px;padding:0 0 28px;border:0}
.links a,.links a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;border:1px solid #bacde3;border-radius:3px;background:white;color:var(--accent-ink);font-size:16px;font-weight:400;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;transition:background .18s ease,color .18s ease}
.links a:hover,.links a:focus-visible{background:var(--accent-ink);border-color:var(--accent-ink);color:white;text-decoration:none}
@media(max-width:600px){.links{gap:8px}.links a,.links a:last-child{flex:1 1 100%;justify-content:flex-start;padding:11px 16px}}
@media(prefers-reduced-motion:reduce){.links a{transition:none}}

.links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.links a,.links a:last-child{width:100%;justify-content:center}
@media(max-width:600px){.links{grid-template-columns:1fr;gap:8px}}

/* CI palette: Altmann blue, with a darker companion for readable text. */
:root{--ink:#20364d;--muted:#52677c;--accent:#3a85d6;--accent-ink:#235f9f;--line:#cedff1;--soft:#edf4fc}
header.wrap{background:var(--soft);border-top:5px solid var(--accent);border-bottom:1px solid var(--line)}
.header-contact{color:var(--accent-ink)}
.hero h1,.contact h2,.legal h1,.legal h2{color:var(--accent-ink)}
.links a,.links a:last-child{background:var(--accent-ink);border-color:var(--accent);color:#fff;text-decoration:none}
.links a:hover,.links a:focus-visible{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}
.contact{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
address a{color:var(--accent-ink)}
input,textarea{background:#fff;border:1px solid #a9c2df;border-bottom:2px solid #8dadd1;border-radius:3px;padding:6px 9px}
input:focus,textarea:focus{border-color:var(--accent)}
button{background:var(--accent-ink);color:#fff;border-radius:3px}
button:hover{background:var(--accent-ink)}
footer{border-top:0}
::selection{background:#c9e0fa;color:#20364d}
.links a:hover,.links a:focus-visible,button:hover{background:#194e85}
.logo{filter:url("/assets/ci-blue-filter.svg#ci-blue")}

/* Static Pages contact panel. */
.email-contact{align-self:start;padding:26px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px}
.email-contact>p{color:var(--muted);margin:0 0 20px}
.email-button{display:inline-flex;align-items:center;gap:32px;padding:12px 18px;background:var(--accent-ink);color:#fff;border-radius:3px;margin-bottom:20px}
.email-button:hover{background:#194e85;text-decoration:none}
.email-contact .form-note{margin:0;font-size:13px}.email-contact .form-note a{text-decoration:underline}
.admin{padding:32px 0 48px;max-width:960px}.admin h1{font-size:30px;letter-spacing:0;color:var(--accent-ink)}.admin-heading,.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-panel{padding:24px;margin:24px 0;background:var(--soft);border:1px solid var(--line);border-radius:4px}.admin-panel h2{margin:0 0 18px;font-size:24px;letter-spacing:0}.admin form{display:block}.admin select{font:inherit;padding:10px;width:100%;border:1px solid #a9c2df;background:white;border-radius:3px}.admin input[type=file]{height:auto;padding:12px;background:white}.admin .form-note{margin:12px 0}.admin-files{list-style:none;padding:0}.admin-files li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.admin-actions{display:flex;gap:8px;flex-shrink:0}.admin a{color:var(--accent-ink)}.admin button{margin-top:0}.admin form button{margin-top:20px}.admin .danger{background:#9d3030}.admin .error{color:#9d3030}.admin-toolbar button{font-size:14px}.admin [hidden]{display:none!important}@media(max-width:600px){.admin-heading,.admin-toolbar,.admin-files li{align-items:flex-start;flex-direction:column}.admin-panel{padding:18px}.admin-actions{width:100%}.admin-actions button{flex:1}}
.download-links{display:grid;gap:8px;margin-top:22px}.download-links a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:4px}
.pdf-list{list-style:none;padding:0;margin:28px 0}.pdf-list li{padding:20px 0;border-bottom:1px solid var(--line)}.pdf-list a{color:var(--accent-ink);text-decoration:underline}.pdf-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:8px;font-size:14px}
