@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --ink:#111216; --ink-soft:#202228; --paper:#f4f1e9; --paper-2:#e8e4d9;
  --silver:#bfc0bc; --muted:#777a78; --line:rgba(20,22,25,.16);
  --gold:#b59b63; --white:#faf9f5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:rgba(244,241,233,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;font-size:22px}
.brand strong{display:block;font-family:Cinzel,serif;letter-spacing:.05em;font-size:15px}
.brand small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--muted)}
.nav{display:flex;gap:28px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.nav a{position:relative;padding:8px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ink);transition:.25s}
.nav a:hover:after{right:0}
.menu-toggle{display:none;background:none;border:0;font-size:25px}
.hero{min-height:calc(100vh - 77px);position:relative;display:flex;align-items:center;overflow:hidden;padding:80px 9vw}
.hero-content{position:relative;z-index:2;max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;color:var(--muted);margin:0 0 18px}
h1,h2,h3{font-family:Cinzel,Georgia,serif;font-weight:500;line-height:1.15}
h1{font-size:clamp(48px,7vw,96px);margin:0 0 25px;letter-spacing:-.025em}
h1 em{font-weight:400}
h2{font-size:clamp(34px,4vw,58px);margin:0 0 24px}
h3{font-size:21px;margin:12px 0}
.hero-copy{max-width:650px;font-size:18px;color:#4e514f}
.hero-actions{display:flex;gap:14px;margin-top:35px;flex-wrap:wrap}
.button{display:inline-block;border:1px solid var(--ink);padding:13px 21px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;cursor:pointer}
.button.primary{background:var(--ink);color:var(--white)}
.button.ghost{background:transparent}
.button.outline{margin-top:22px}
.hero-symbol{position:absolute;right:5vw;top:50%;transform:translateY(-50%);width:min(38vw,500px);height:min(38vw,500px);display:grid;place-items:center;opacity:.72}
.hero-orbit{position:absolute;border:1px solid rgba(50,53,52,.1);border-radius:50%;width:80vw;height:80vw;left:-45vw;top:-25vw}
.orbit-two{width:55vw;height:55vw;left:auto;right:-25vw;top:auto;bottom:-35vw}
.section{padding:110px 9vw;max-width:1500px;margin:auto}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}
.split p{max-width:680px}
.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);padding-bottom:3px}
.dark-panel{max-width:none;background:var(--ink);color:var(--white);padding-left:9vw;padding-right:9vw}
.dark-panel .eyebrow,.dark-panel .lead{color:#bfc0bc}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}
.duration{font-size:10px;letter-spacing:.16em;color:#aaa}
.lead{max-width:760px;font-size:17px}
.certification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#41434a;margin-top:50px}
.certification-card{background:var(--ink);padding:34px 30px;min-height:430px;display:flex;flex-direction:column;position:relative}
.certification-card.featured-cert{background:#1c1e23}
.certification-card.featured-cert:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold)}
.cert-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}
.cert-index{font-family:Cinzel,serif;color:var(--gold);font-size:14px}
.cert-level{font-size:9px;letter-spacing:.17em;color:#878a88}
.certification-card h3{font-size:clamp(22px,2vw,30px);margin:0 0 18px}
.certification-card > p{color:#afb1ae;font-size:14px;margin:0 0 32px}
.cert-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3b3d42;border-bottom:1px solid #3b3d42;margin-top:auto}
.cert-stats div{padding:19px 0}
.cert-stats div + div{border-left:1px solid #3b3d42;padding-left:22px}
.cert-stats strong{display:block;font-family:Cinzel,serif;font-weight:500;font-size:28px;color:var(--white);line-height:1}
.cert-stats span{display:block;margin-top:8px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#888b89}
.cert-link{display:inline-block;margin-top:26px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#d8d6cf}
.cert-note{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:32px;border-top:1px solid #3a3c41;padding-top:23px}
.cert-note span{font-size:9px;letter-spacing:.18em;color:var(--gold)}
.cert-note p{margin:0;color:#aeb0ad;font-size:13px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}
.card{border:1px solid var(--line);padding:35px;min-height:300px;display:flex;flex-direction:column}
.card-number{font-family:Cinzel,serif;color:var(--gold);font-size:13px}
.card p{color:#5c5f5c}
.card a{margin-top:auto;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.featured-card{background:#e9e5da;border-color:#b7b1a2}
.accreditation{display:grid;grid-template-columns:280px 1fr;gap:8vw;align-items:center;background:#e8e4d9;max-width:none}
.standards{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.standards span{border:1px solid #aaa79c;padding:7px 11px;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.quote-section{padding:120px 9vw;background:#17181c;color:#f5f2e9;text-align:center}
blockquote{font-family:Cinzel,serif;font-size:clamp(25px,3.3vw,46px);line-height:1.35;max-width:950px;margin:auto;font-weight:400}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
form{display:grid;gap:17px}
label{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
input,textarea,select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);background:rgba(255,255,255,.25);font:inherit;font-size:14px;color:var(--ink)}
textarea{resize:vertical}
.form-message{font-size:12px;color:#555}
.footer{display:flex;justify-content:space-between;gap:30px;padding:35px 9vw;background:#0e0f11;color:#c8c6bd;font-size:11px;letter-spacing:.08em}
.footer strong{font-family:Cinzel,serif;color:#fff;display:block}.footer span{display:block;color:#888;margin-top:5px}

.hero-seal{width:min(38vw,500px);height:auto;display:block;opacity:.94}
.hero-seal img{display:block;width:100%;height:auto}
.imc-logo-wrap{width:320px;max-width:100%;margin:auto}
.imc-logo{display:block;width:100%;height:auto;mix-blend-mode:multiply}

@media(max-width:900px){
  .nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:20px 6vw;border-bottom:1px solid var(--line);flex-direction:column;gap:5px}
  .nav.open{display:flex}.menu-toggle{display:block}
  .hero{padding:70px 7vw;min-height:85vh}
  .hero-seal{width:min(62vw,430px);right:-8vw;opacity:.22}
  .section{padding:80px 7vw}.split,.contact,.accreditation{grid-template-columns:1fr;gap:45px}
  .certification-grid{grid-template-columns:1fr}
  .certification-card{min-height:auto}
  .cert-note{align-items:flex-start;flex-direction:column}
  .cards{grid-template-columns:1fr}
  .section-heading{align-items:start;flex-direction:column}
  .imc-logo-wrap{width:min(420px,100%)}
  .footer{padding:30px 7vw;flex-direction:column}
}
@media(max-width:560px){
  h1{font-size:46px}.hero-copy{font-size:16px}
  .certification-card{padding:28px 22px}.section{padding:65px 6vw}
}
