
:root{
  --green:#0f6a24;
  --green2:#2f8a43;
  --navy:#18324d;
  --navy2:#11283f;
  --ink:#243342;
  --muted:#64748b;
  --bg:#f5f7f8;
  --panel:#ffffff;
  --line:#dce4e9;
  --soft:#eef6f0;
  --soft2:#f3f7fb;
  --white:#fff;
  --shadow:0 12px 30px rgba(15,36,56,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.62;padding-bottom:92px}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav-wrap{max-width:1180px;margin:auto;padding:0 24px;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;font-weight:850;color:var(--navy);white-space:nowrap}
.brand-logo{width:48px;height:48px;display:block;object-fit:contain;flex:0 0 48px}
.brand small{display:block;font-weight:600;color:var(--muted);font-size:10.5px;letter-spacing:.035em}
.nav{display:flex;align-items:center;gap:2px;list-style:none;flex-wrap:wrap;justify-content:flex-end}
.nav>li{position:relative}
.nav a{display:block;padding:11px 10px;border-radius:8px;font-weight:720;font-size:13.5px;color:var(--navy)}
.nav a:hover,.nav a.active{background:#edf5ef;color:var(--green)}
.lang{margin-left:6px;border-left:1px solid var(--line);padding-left:10px}
.lang a{font-size:12px;letter-spacing:.08em}
.hero{background:linear-gradient(132deg,var(--green) 0%,#2d7b3f 46%,var(--navy) 100%);color:white;padding:78px 24px 70px;overflow:hidden;position:relative}
.hero:after{content:"RAMS";position:absolute;right:-20px;bottom:-72px;font-size:210px;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.04);line-height:1}
.hero-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center;position:relative;z-index:1}
.kicker{text-transform:uppercase;font-size:12px;font-weight:850;letter-spacing:.16em;opacity:.9;margin-bottom:13px}
.hero h1{font-size:clamp(2.05rem,4.4vw,3.5rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:16px;max-width:800px}
.hero p{max-width:760px;font-size:1.08rem;opacity:.94}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;padding:12px 18px;border-radius:9px;font-weight:820;font-size:14px;background:white;color:var(--navy);border:1px solid rgba(255,255,255,.48);transition:.18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,36,56,.12)}
.btn.secondary{background:transparent;color:white}
.btn.green{background:var(--green);color:white;border-color:var(--green)}
.btn.navy{background:var(--navy);color:white;border-color:var(--navy)}
.rams-badge{width:245px;min-height:245px;border-radius:32px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;text-align:center;margin-left:auto;padding:28px;box-shadow:inset 0 0 42px rgba(255,255,255,.04)}
.rams-badge .fleur{font-size:72px;line-height:1;margin-bottom:8px}
.rams-badge .big{font-size:1.75rem;line-height:1.1;font-weight:950;letter-spacing:-.03em}
.rams-badge strong{display:block;font-size:1rem;margin-top:10px;opacity:.97}
.rams-badge small{display:block;opacity:.78;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.social-strip{background:var(--navy2);color:white;padding:18px 24px}
.social-strip .inner{max-width:1080px;margin:auto;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.social-strip strong{font-size:1.02rem}
.social-strip span{opacity:.84;font-size:.92rem}
.social-strip-copy{display:flex;align-items:center;gap:12px}
.social-linkedin-icon{width:36px;height:36px;object-fit:contain;flex:0 0 36px}

.container{max-width:1080px;margin:0 auto;padding:58px 24px 76px}
.section{margin-bottom:56px}
.section:last-child{margin-bottom:0}
.section-label{color:var(--green);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:880;margin-bottom:8px}
.section h2{color:var(--navy);font-size:clamp(1.72rem,3vw,2.25rem);line-height:1.16;margin-bottom:14px;letter-spacing:-.02em}
.section p.lead{color:#536477;max-width:850px;font-size:1.05rem}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:25px}
.grid.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:0 3px 14px rgba(15,23,42,.04)}
.card.highlight{border-color:#bbd9c4;background:linear-gradient(145deg,#fff,#f1f8f3)}
.card .icon{font-size:25px;margin-bottom:11px}
.card h3{color:var(--navy);font-size:1.07rem;margin-bottom:7px}
.card p{color:#5b6a7a;font-size:.94rem}
.card p+p{margin-top:10px}
.card .metric{font-size:2rem;font-weight:900;color:var(--green);line-height:1.1;margin:6px 0 8px}
.card .small{font-size:.82rem;color:var(--muted)}
.feature{background:white;border:1px solid var(--line);border-radius:19px;padding:31px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;box-shadow:var(--shadow)}
.feature.compact{grid-template-columns:1fr auto}
.feature-box{background:var(--soft);border:1px solid #cee2d3;border-radius:15px;padding:22px;text-align:center;min-width:220px}
.feature-box .number{font-size:2.5rem;font-weight:950;color:var(--green);line-height:1}
.feature-box .label{font-weight:850;color:var(--navy);margin-top:7px}
.feature-box .small{font-size:.82rem;color:var(--muted);margin-top:5px}
.notice{padding:23px;border-radius:14px;background:#f9fbfc;border:1px dashed #bfccd6;color:#526274}
.notice strong{color:var(--navy)}
.pill-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.pill{padding:7px 10px;border-radius:999px;background:#edf4ef;color:var(--green);font-size:12.5px;font-weight:780;border:1px solid #d4e5d8}
.list{padding-left:20px;color:#526274}
.list li{margin:7px 0}
.page-title{background:linear-gradient(135deg,#173d24,var(--navy));color:white;padding:58px 24px}
.page-title .inner{max-width:1080px;margin:auto}
.page-title h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin-top:8px;letter-spacing:-.035em}
.page-title p{opacity:.86;max-width:820px;margin-top:13px;font-size:1.03rem}
.callout{border-left:4px solid var(--green);padding:18px 20px;background:white;border-radius:0 12px 12px 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#526274;margin-top:20px}
.evolution{margin-top:22px;background:linear-gradient(135deg,var(--soft2),#fff);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.evolution h3{color:var(--navy);font-size:1rem;margin-bottom:8px}
.evolution .row{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:8px;color:#44576b}
.evolution .label{font-weight:800;color:var(--navy);min-width:160px}
.strike{text-decoration:line-through;opacity:.65}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}
.price-card{background:white;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
.price-card .price{font-size:2.35rem;font-weight:950;color:var(--green);line-height:1;margin:11px 0 8px}
.price-card .price small{font-size:.85rem;color:var(--muted);font-weight:700}
.external{color:var(--green);font-weight:760;text-decoration:underline;text-underline-offset:2px}
.tag{display:inline-block;border-radius:999px;background:#eef3f7;color:var(--navy);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;margin-bottom:10px}
.footer{position:fixed;left:0;right:0;bottom:0;z-index:100;border-top:1px solid var(--line);background:white;color:#7a8798;padding:30px 20px;font-size:13px;box-shadow:0 -5px 18px rgba(15,36,56,.07)}
.footer .inner{max-width:1080px;margin:auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer a{color:var(--green);font-weight:700}
@media(max-width:900px){.grid.three{grid-template-columns:1fr 1fr}.hero-inner,.feature{grid-template-columns:1fr}.rams-badge{margin:12px 0 0}.feature-box{min-width:0}.evolution .label{min-width:0;display:block;width:100%}}
@media(max-width:760px){.nav-wrap{align-items:flex-start;padding-top:12px;padding-bottom:12px}.brand small{display:none}.brand-logo{width:42px;height:42px;flex-basis:42px}.nav{gap:0}.nav a{padding:8px 7px;font-size:12px}.lang{margin-left:1px;padding-left:3px}.grid,.grid.three,.price-grid{grid-template-columns:1fr}.hero{padding-top:64px}.hero h1{font-size:2.35rem}.feature.compact{grid-template-columns:1fr}}

.hero-acronym{font-size:1.02rem;font-weight:850;letter-spacing:.02em;margin-bottom:14px;opacity:.96}
.hero-acronym b{font-size:1.13em}
.rams-badge.simple{min-height:220px}
.rams-badge.simple .fleur{font-size:92px;margin-bottom:14px}
.rams-badge.simple small{font-size:.82rem}
.rams-logo{display:block;max-width:260px;width:100%;height:auto;margin:0 auto 14px}
.rams-benefit{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center}
.rams-benefit .logo-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;display:grid;place-items:center}
.rams-transition{margin-top:22px;padding:16px 18px;background:white;border:1px solid var(--line);border-radius:14px;color:#44576b;font-size:.98rem}
.rams-transition strong{color:var(--navy)}
.arrow{padding:0 10px;color:var(--green);font-weight:900}
.footer-note{display:block;width:100%;font-size:12px;color:#8a96a4;margin-top:4px}
@media(max-width:900px){.rams-benefit{grid-template-columns:1fr}}

.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}
.benefit-card{background:white;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 4px 16px rgba(15,23,42,.05)}
.benefit-card.highlight{border-color:#bbd9c4;background:linear-gradient(145deg,#fff,#f1f8f3)}
.benefit-card .icon{font-size:26px;margin-bottom:10px}
.benefit-card h3{color:var(--navy);font-size:1.12rem;margin-bottom:8px}
.benefit-card p{color:#5b6a7a;font-size:.95rem}
.benefit-card .metric{font-size:2.15rem;font-weight:950;color:var(--green);line-height:1;margin:8px 0 10px}
.benefit-card .small{font-size:.82rem;color:var(--muted);margin-top:10px}
.benefit-card .actions{margin-top:16px}
.footer-note{width:100%;font-size:.78rem;color:#8793a0;margin-top:4px}
@media(max-width:760px){.benefit-grid{grid-template-columns:1fr}}

.symposium-mark{display:block;width:140px;max-width:100%;height:auto;margin:0 0 12px}
.symposium-mark.center{margin:0 auto 12px}
.feature-box .symposium-mark{width:160px}
.small-note{font-size:.84rem;color:var(--muted);margin-top:8px}

.ce-mark{display:block;width:86px;max-width:100%;height:auto;margin:0 0 12px}
.ce-mark.center{margin:0 auto 12px;width:104px}



.contact-card-icon{display:block;width:42px;height:42px;object-fit:contain;margin-bottom:10px}
.contact-card-icon.interac{width:58px;height:auto}
.contact-card-icon.handshake-img{width:58px;height:44px;object-fit:contain;object-position:left center;margin-bottom:10px}
.person-meta{font-size:.88rem;color:var(--muted);margin-top:6px}
.person-topics{font-size:.82rem;color:var(--muted);margin-top:8px;line-height:1.45}
.footnote{font-size:.72rem;font-style:italic;color:var(--muted);margin-top:8px;line-height:1.45}

.affiliation-mark{display:block;width:190px;max-width:100%;height:auto;margin:0 0 14px}.person-link{margin-top:8px;font-size:.86rem}

.affiliation-mark.bombardier{width:175px}

.affiliation-mark{margin:10px 0 14px}
.affiliation-mark.gina-cody{width:230px;max-height:72px;object-fit:contain;object-position:left center}
.affiliation-mark.hydro-ireq{width:220px;max-height:82px;object-fit:contain;object-position:left center}
.affiliation-mark.bombardier{width:175px;max-height:62px;object-fit:contain;object-position:left center}


.contact-hero-mark{display:block;width:120px;max-width:100%;height:auto;margin:0 0 14px}
.page-title.contact-page h1{font-size:clamp(2.35rem,4.8vw,3.6rem)}


.contact-title-large h1{font-size:clamp(2.55rem,5vw,3.65rem)}
.contact-hero-logo{display:block;width:92px;height:auto;margin:6px 0 14px}
.person-name{font-size:1.4rem;line-height:1.18;font-weight:800;color:var(--navy);margin-top:2px}
.affiliation-mark.gina-cody{width:138px;max-height:43px;object-fit:contain;object-position:left center}
.affiliation-mark.hydro-ireq{width:132px;max-height:49px;object-fit:contain;object-position:left center}
.affiliation-mark.bombardier{width:105px;max-height:37px;object-fit:contain;object-position:left center}


.section-label.with-mark{display:flex;align-items:center;gap:12px}
.section-mark{width:34px;height:34px;object-fit:contain;display:block}
.contact-page .contact-hero-mark{display:none}


.contact-page h1{font-size:clamp(2.8rem,6vw,4.3rem)}
.contact-page p{max-width:760px}
.section-label.with-mark.contact-label{font-size:clamp(1.9rem,3.8vw,2.65rem);letter-spacing:.08em;margin-bottom:18px;line-height:1.12}
.section-label.with-mark.contact-label .section-mark{width:48px;height:48px;flex:0 0 48px}
.section-label.with-mark.contact-label .section-mark.leadership-mark{object-fit:contain}

.affiliation-mark.gina-cody{width:84px;max-height:56px;object-fit:contain;object-position:left center}
.affiliation-mark.hydro-ireq{width:80px;max-height:42px;object-fit:contain;object-position:left center}
.affiliation-mark.bombardier{width:64px;max-height:24px;object-fit:contain;object-position:left center}
.person-name{font-size:1.95rem;line-height:1.14;font-weight:800;color:var(--navy);margin-top:6px;margin-bottom:10px}
.person-meta{font-size:1rem}
.person-topics,.card .small{font-size:.98rem;line-height:1.55}

@media(max-width:760px){body{padding-bottom:132px}.footer{padding:18px 20px}.footer .inner{gap:7px}.section-label.with-mark.contact-label{font-size:clamp(1.5rem,7vw,2.05rem);letter-spacing:.055em}.section-label.with-mark.contact-label .section-mark{width:42px;height:42px;flex-basis:42px}}

.copy-email{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.copy-icon{font-size:1.05em;line-height:1;text-decoration:none}
.copy-feedback{display:inline-block;margin-left:7px;color:var(--green);font-size:.78rem;font-weight:760;min-width:42px}
.interac-important{margin-top:12px!important;padding:10px 12px;border-left:3px solid var(--green);background:var(--soft);border-radius:0 8px 8px 0;color:#425466!important}

.receipt-note{margin-top:20px!important}

/* Technical areas — compact reference line at the end of the page */
.technical-grid .card h3{line-height:1.28}
.technical-grid .card p{line-height:1.58}
.acronym-section{margin-top:8px;margin-bottom:8px}
.acronym-line{border-top:1px solid var(--line);padding-top:18px;color:#6f7d8c;font-size:.78rem;line-height:1.7}
.acronym-line strong{color:var(--navy);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;margin-right:9px}
.acronym-line span{font-style:italic}

/* French pages — SDF terminology and compact fixed-footer definition */
html[lang="fr"] .hero:after{content:"SDF"}
.footer-sdf{display:block;flex-basis:100%;font-size:10.5px;line-height:1.15;color:#8a96a4;font-weight:650;letter-spacing:.015em;margin-bottom:-8px}
html[lang="fr"] body{padding-bottom:112px}
@media(max-width:760px){html[lang="fr"] body{padding-bottom:154px}.footer-sdf{font-size:10px;margin-bottom:0}}


/* v32 — privacy and membership compliance pages */
.footer-mini{font-size:.82em;font-weight:700;white-space:nowrap}
.privacy-inline{font-size:.82rem!important;color:var(--muted)!important;margin-top:10px!important}
.prepayment-legal{margin:0 0 24px}
.prepayment-legal p+p{margin-top:8px}
.legal-content{max-width:940px}
.legal-content .section{margin-bottom:44px}
.legal-content .legal-card{margin-top:18px}
.legal-content .legal-card p{font-size:.94rem}
.legal-content .legal-card p+p{margin-top:8px}
.legal-content h2{max-width:800px}
@media(max-width:760px){.legal-content{padding-top:42px}.footer-mini{font-size:.78em}}

.price-grid.single-membership{grid-template-columns:minmax(0,640px);justify-content:start}
