:root { --black:#080909; --cream:#f2ede3; --gold:#c79632; --gold-dark:#8c641b; --ink:#202020; --max:1240px; }
* { box-sizing:border-box; }
html { background:var(--black); scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--black); font-family:Georgia,"Times New Roman",serif; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; z-index:20; top:.75rem; left:.75rem; padding:.7rem 1rem; color:#111; background:#fff; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.site-header { color:white; background:var(--black); border-bottom:1px solid #3a2b13; }
.header-inner { width:min(calc(100% - 3rem),var(--max)); min-height:72px; margin:auto; display:flex; align-items:stretch; justify-content:space-between; gap:2rem; }
.brand { align-self:center; color:inherit; text-decoration:none; line-height:1; }
.brand strong { display:block; color:var(--gold); font-size:1.45rem; font-weight:400; letter-spacing:.035em; font-variant:small-caps; }
.brand span { display:block; margin-top:.3rem; color:#c4beb2; font:600 .52rem/1 Arial,sans-serif; letter-spacing:.13em; text-align:center; text-transform:uppercase; }
.nav { display:flex; align-items:stretch; gap:clamp(1rem,2vw,2.1rem); }
.nav a { position:relative; display:flex; align-items:center; color:#f2f2ef; text-decoration:none; font:650 .69rem/1.2 Arial,sans-serif; letter-spacing:.045em; text-align:center; text-transform:uppercase; }
.nav a:hover,.nav a:focus-visible,.nav .current { color:var(--gold); }
.nav .current::after { content:""; position:absolute; right:0; bottom:0; left:0; height:3px; background:var(--gold); }
.nav .contact-link { align-self:center; height:30px; padding:0 1rem; color:#15110a; background:var(--gold); border-radius:2px; }
.menu-button { display:none; }
.hero { width:100%; height:clamp(360px,52vh,610px); overflow:hidden; background:#0d0d0d; }
.hero img { width:100%; height:100%; object-fit:contain; object-position:center; }
.introduction { padding:clamp(2.8rem,5vw,5rem) 1.5rem; color:#eee9df; background:#0b0c0c; text-align:center; }
.introduction h1 { margin:0; color:var(--gold); font-size:clamp(2rem,4vw,4rem); font-weight:400; line-height:1; font-variant:small-caps; }
.title-rule { display:block; width:min(330px,45vw); margin:1rem auto .6rem; border-top:1px solid var(--gold); }
.tagline { margin:.4rem 0 1.3rem; color:#eee9df; font-size:clamp(1rem,1.7vw,1.35rem); }
.introduction > p:last-child { width:min(100%,850px); margin:0 auto; color:#d5d1c9; font:400 clamp(.95rem,1.3vw,1.1rem)/1.55 Arial,sans-serif; }
.credibility { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; padding:clamp(3rem,6vw,6rem) max(1.5rem,calc((100% - var(--max))/2)); color:#272521; background:var(--cream); }
.article-heading { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.medallion { width:50px; height:50px; flex:0 0 auto; display:grid; place-items:center; color:var(--gold); background:#111; border:3px solid var(--gold); border-radius:50%; font-size:1.35rem; }
.credibility h2 { margin:0; font-size:clamp(1.2rem,2vw,1.65rem); font-weight:600; text-transform:uppercase; }
.credibility p { font:400 .98rem/1.6 Arial,sans-serif; }
.infraspection-logo { width:min(100%,330px); margin:1.5rem auto 0; border:3px solid #d2b26d; border-radius:2px; }
.environment-detail { width:100%; margin-top:1.5rem; border:3px solid #d2b26d; border-radius:2px; }
.courses { padding:1.4rem max(1.5rem,calc((100% - var(--max))/2)) 1.8rem; color:#eee9df; background:#050606; }
.section-title { display:flex; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.section-title span { flex:1; border-top:1px solid var(--gold); }
.section-title h2 { margin:0; color:var(--gold); font-size:clamp(1.2rem,2vw,1.7rem); font-weight:400; text-align:center; font-variant:small-caps; white-space:nowrap; }
.course-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.specialty-banner { grid-column:1 / -1; display:block; width:100%; margin-top:.15rem; padding:1.05rem 1.25rem; color:#120e06; background:var(--gold); border:2px solid var(--gold); font:800 .78rem/1.2 Arial,sans-serif; letter-spacing:.055em; text-align:center; text-decoration:none; text-transform:uppercase; transition:background .15s ease,border-color .15s ease; }
.specialty-banner:hover,.specialty-banner:focus-visible { background:#dda934; border-color:#f0bf55; outline:2px solid #fff; outline-offset:3px; }
.course-card { display:flex; gap:1rem; padding:1.35rem; color:#eee9df; border:2px solid var(--gold-dark); border-radius:4px; text-decoration:none; transition:border-color .15s ease,background .15s ease; }
.course-card:hover,.course-card:focus-visible { background:#11100d; border-color:var(--gold); }
.level { width:52px; height:52px; flex:0 0 auto; display:grid; place-items:center; color:var(--gold); border:3px solid var(--gold); border-radius:50%; font-size:1.75rem; }
.course-card h3 { margin:0; color:var(--gold); font-size:1.5rem; font-weight:400; text-transform:uppercase; }
.course-name { margin:.2rem 0 .8rem; font-size:.9rem; }
.course-card div > p:last-of-type { min-height:3.8em; margin:0 0 1rem; color:#d0cbc2; font:400 .85rem/1.45 Arial,sans-serif; }
.course-link { display:block; padding:.65rem .7rem; color:#120e06; background:var(--gold); font:700 .68rem/1 Arial,sans-serif; letter-spacing:.03em; text-align:center; text-transform:uppercase; }
.additional { margin:1rem 0 0; color:#c5bfb5; font:400 .78rem/1.4 Arial,sans-serif; text-align:center; }
.additional a { color:var(--gold); }
footer { display:flex; justify-content:center; gap:2rem; padding:1rem 1.5rem; color:#c6bba7; background:#030505; border-top:1px solid #5e4519; font:600 .72rem/1.3 Arial,sans-serif; letter-spacing:.08em; }
@media(max-width:980px){.header-inner{min-height:66px}.menu-button{display:block;align-self:center;padding:.55rem .75rem;color:var(--gold);background:transparent;border:1px solid var(--gold);font:700 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.nav{position:absolute;z-index:10;top:66px;right:0;left:0;display:none;padding:.5rem 1.5rem 1rem;background:rgba(8,9,9,.98)}.nav.open{display:block}.nav a{display:block;padding:.8rem;text-align:left}.nav .current{border-left:3px solid var(--gold)}.nav .current::after{display:none}.nav .contact-link{height:auto;margin-top:.4rem;color:#111;text-align:center}.hero{height:clamp(300px,44vh,480px)}.credibility{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}}
@media(max-width:640px){.header-inner{width:min(calc(100% - 2rem),var(--max))}.brand strong{font-size:1.05rem}.hero{height:auto}.hero img{height:auto;object-fit:initial}.introduction{padding:2.3rem 1.15rem}.introduction h1{font-size:clamp(1.75rem,9vw,2.5rem)}.title-rule{width:62vw}.credibility{padding:2.5rem 1.15rem;gap:2.5rem}.environment-detail{margin-top:1rem}.courses{padding:1.25rem 1rem 1.6rem}.section-title h2{white-space:normal}.course-card{display:block}.level{margin-bottom:1rem}.course-card div>p:last-of-type{min-height:0}footer{flex-direction:column;align-items:center;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
