:root{--navy:#11203e;--navy-2:#1c2f56;--gold:#b88a52;--gold-soft:rgba(184,138,82,.12);--white:#fff;--text:#243043;--muted:#627084;--shadow:0 18px 50px rgba(17,32,62,.08);--shadow-soft:0 10px 24px rgba(17,32,62,.06);--radius:22px;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(184,138,82,.08),transparent 28%),linear-gradient(180deg,#fffdfa 0%,#f9f5ef 40%,#f6f1e8 100%);line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--container),calc(100% - 2rem));margin:0 auto}.header{position:sticky;top:0;z-index:10;background:rgba(255,253,250,.85);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,32,62,.08)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:14px;font-weight:800;color:var(--navy)}.brand small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.nav-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.nav-links a{color:var(--muted);font-weight:600}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--navy);color:#fff!important}.nav-toggle,.nav-toggle-label{display:none}.hero,.section{padding:88px 0}.hero-grid,.grid-2,.contact-grid,.footer-box{display:grid;gap:24px}.hero-grid{grid-template-columns:1.08fr .92fr;align-items:center}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:.92fr 1.08fr}.footer-box{grid-template-columns:1.3fr 1fr 1fr;padding-top:24px;border-top:1px solid rgba(17,32,62,.08)}.hero-copy h1,.section-title{font-family:'Playfair Display',Georgia,serif;color:var(--navy);letter-spacing:-.04em}.hero-copy h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.96;margin:0 0 20px}.section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin:0 0 14px}.section-intro,.lead{color:var(--muted)}.lead{margin:0 0 28px;font-size:1.08rem}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 14px;border-radius:999px;background:var(--gold-soft);color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;box-shadow:var(--shadow)}.btn-secondary{background:rgba(255,255,255,.7);color:var(--navy);border-color:rgba(17,32,62,.12)}.hero-benefits{display:grid;gap:16px}.hero-benefits article{display:grid;grid-template-columns:60px 1fr;gap:14px;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.68);border:1px solid rgba(17,32,62,.08);box-shadow:var(--shadow-soft)}.icon-wrap,.glass,.card{border-radius:var(--radius)}.icon-wrap{width:52px;height:52px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);font-weight:800}.glass,.card{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow)}.hero-panel{overflow:hidden}.hero-panel-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(17,32,62,.09)}.panel-dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--gold),#d0a56b)}.hero-visual{aspect-ratio:4/3;overflow:hidden}.hero-visual img,.project-image img{width:100%;height:100%;object-fit:cover}.hero-panel-content,.card{padding:28px}.project-image{margin:-28px -28px 20px;height:220px;overflow:hidden;border-top-left-radius:22px;border-top-right-radius:22px}.check-list,.contact-list{display:grid;gap:10px;padding-left:1.1rem}.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.18))}.footer{padding:28px 0 44px;color:var(--muted)}.fade-up{opacity:0;transform:translateY(24px);animation:fadeUp .8s ease forwards}.delay-2{animation-delay:.24s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media(max-width:860px){.nav{position:relative}.nav-toggle-label{display:inline-flex;flex-direction:column;gap:5px;margin-left:auto}.nav-toggle-label span{width:24px;height:2px;background:var(--navy)}.nav-links{position:absolute;top:calc(100% + 10px);left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:14px;padding:18px;background:rgba(255,255,255,.95);border:1px solid rgba(17,32,62,.08);border-radius:18px;box-shadow:var(--shadow-soft)}.nav-toggle:checked~.nav-links{display:flex}.hero-grid,.grid-2,.contact-grid,.footer-box{grid-template-columns:1fr}}
/* Accessibility toolbar */
.accessibility-bar{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.accessibility-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 0}
.accessibility-inner strong{font-size:.92rem;letter-spacing:.02em}
.accessibility-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.accessibility-actions button{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.accessibility-actions button:hover,.accessibility-actions button:focus-visible,.accessibility-actions button[aria-pressed="true"]{background:#fff;color:var(--navy);outline:0}
body[data-font-size="small"]{font-size:15px}
body[data-font-size="large"]{font-size:18px}
body[data-font-size="xlarge"]{font-size:20px}
body.wide-spacing{line-height:2;letter-spacing:.04em;word-spacing:.08em}
body.wide-spacing .nav-links,body.wide-spacing .hero-actions,body.wide-spacing .accessibility-actions{gap:18px}
body.high-contrast{--navy:#000;--navy-2:#000;--gold:#ffd400;--gold-soft:#fff3a3;--text:#000;--muted:#111;--shadow:none;--shadow-soft:none;background:#fff;color:#000}
body.high-contrast .header,body.high-contrast .card,body.high-contrast .glass,body.high-contrast .hero-benefits article,body.high-contrast .btn-secondary,body.high-contrast .nav-links,body.high-contrast .document-tile{background:#fff;border:2px solid #000;box-shadow:none}
body.high-contrast .btn-primary,body.high-contrast .nav-cta,body.high-contrast .brand-mark{background:#000;color:#fff!important;border-color:#000}
body.high-contrast a:not(.btn):not(.brand):not(.document-tile){text-decoration:underline;text-underline-offset:3px}
body.high-contrast .eyebrow,body.high-contrast .icon-wrap,body.high-contrast .document-icon{background:#ffd400;color:#000;border:2px solid #000}
body.high-contrast .project-image img,body.high-contrast .hero-visual img{filter:grayscale(1) contrast(1.15)}

/* Knowledge base */
.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.certificate-card{display:flex;flex-direction:column;gap:14px}
.certificate-card h3{margin:0;color:var(--navy)}
.certificate-card p{margin:0 0 6px;color:var(--muted)}
.certificate-preview{position:relative;display:block;width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);cursor:zoom-in}
.certificate-preview img{width:100%;height:360px;object-fit:contain;background:#f7f7f7;padding:12px;transition:transform .25s ease}
.certificate-preview span{position:absolute;left:14px;right:14px;bottom:14px;padding:9px 12px;border-radius:999px;background:rgba(17,32,62,.88);color:#fff;font-weight:800;text-align:center}
.certificate-preview:hover img,.certificate-preview:focus-visible img{transform:scale(1.025)}
.documents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.document-tile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(17,32,62,.1);box-shadow:var(--shadow-soft);transition:transform .2s ease,border-color .2s ease}
.document-tile:hover,.document-tile:focus-visible{transform:translateY(-2px);border-color:var(--gold);outline:0}
.document-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--gold-soft);color:var(--gold);font-weight:900;font-size:.78rem;letter-spacing:.08em}
.document-tile strong{display:block;color:var(--navy)}
.document-tile small{display:block;color:var(--muted);line-height:1.35}
.certificate-modal{width:min(920px,calc(100% - 32px));padding:0;border:0;border-radius:24px;background:#fff;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35)}
.certificate-modal::backdrop{background:rgba(17,32,62,.68);backdrop-filter:blur(3px)}
.certificate-modal-box{padding:18px}
.certificate-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.certificate-modal-head h3{margin:0;color:var(--navy)}
.modal-close{width:42px;height:42px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.certificate-modal img{width:100%;max-height:78vh;object-fit:contain;background:#f7f7f7;border-radius:16px}

@media(max-width:860px){.accessibility-inner{align-items:flex-start}.knowledge-grid,.documents-grid{grid-template-columns:1fr}.certificate-preview img{height:300px}}
@media(max-width:560px){.accessibility-actions button{flex:1 1 auto}.certificate-preview img{height:240px}.document-tile{grid-template-columns:1fr}.document-icon{width:48px;height:48px}.hero,.section{padding:64px 0}}

/* Contact form - improved readable layout */
.contact-form-card{position:relative;overflow:hidden}
.contact-form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--navy),var(--gold));border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}
.contact-form-card h3{margin-top:6px;margin-bottom:8px;color:var(--navy)}
.form-intro{margin:0 0 22px;color:var(--muted)}
.contact-form{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
.form-field{display:grid;grid-template-columns:1fr;gap:8px;width:100%;font-weight:800;color:var(--navy)}
.form-field span{font-size:.95rem;line-height:1.3}
.form-field input,.form-field textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid rgba(17,32,62,.16);border-radius:16px;background:#fff;color:var(--text);font:inherit;line-height:1.45;box-shadow:inset 0 1px 0 rgba(17,32,62,.03);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.form-field textarea{min-height:160px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#8a95a6}
.form-field input:hover,.form-field textarea:hover{border-color:rgba(184,138,82,.55)}
.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,138,82,.18);background:#fffdfa}
.form-submit{width:fit-content;margin-top:4px;padding-left:30px;padding-right:30px}
body.high-contrast .contact-form-card::before{background:#000}
body.high-contrast .form-field input,body.high-contrast .form-field textarea{border:2px solid #000;background:#fff;color:#000;box-shadow:none}
body.high-contrast .form-field input:focus,body.high-contrast .form-field textarea:focus{outline:3px solid #ffd400;outline-offset:2px;border-color:#000}
@media(max-width:560px){.form-submit{width:100%}.contact-form{gap:16px}.form-field input,.form-field textarea{border-radius:14px}}
