:root {
  --cyan: #10a8d2;
  --cyan-dark: #0087b8;
  --blue: #155b79;
  --ink: #222b31;
  --ink-deep: #15232b;
  --muted: #66727a;
  --line: #dbe3e6;
  --soft: #f3f7f8;
  --white: #ffffff;
  --shadow: 0 18px 45px rgba(28, 52, 61, .12);
  --shell: min(1180px, calc(100vw - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Poppins, Arial, sans-serif; font-size: 16px; line-height: 1.6; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: -4rem; left: 1rem; padding: .75rem 1rem; color: var(--white); background: var(--ink); transition: top .2s ease; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; z-index: 30; top: 0; background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(20,61,78,.08); }
.header-shell, .section-shell, .footer-shell { width: var(--shell); margin: 0 auto; }
.header-shell { min-height: 72px; display: flex; align-items: center; gap: 1.75rem; }
.brand { display: inline-flex; flex: 0 0 140px; align-items: center; }
.brand img { width: 134px; max-height: 49px; object-fit: contain; object-position: left center; }
.primary-navigation { display: flex; align-items: center; justify-content: center; gap: clamp(.9rem, 1.7vw, 1.65rem); margin-left: auto; }
.primary-navigation a { position: relative; padding: .5rem 0; color: #2e3336; font-size: .72rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.primary-navigation a::after { position: absolute; content: ''; width: 0; height: 2px; left: 0; bottom: .15rem; background: var(--cyan); transition: width .2s ease; }
.primary-navigation a:hover::after, .primary-navigation a:focus-visible::after { width: 100%; }
.header-actions { display: flex; align-items: center; gap: 1rem; margin-left: .35rem; }
.social-links { display: flex; gap: .62rem; align-items: center; }
.social-links a { display: grid; place-items: center; width: 19px; height: 19px; color: var(--cyan-dark); transition: color .2s ease, transform .2s ease; }
.social-links a:hover, .social-links a:focus-visible { color: var(--blue); transform: translateY(-1px); }
.social-links svg { width: 100%; height: 100%; overflow: visible; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: .55rem; padding: .82rem 1.25rem; color: var(--white); background: var(--cyan); border: 1px solid var(--cyan); border-radius: 0; font-size: .72rem; font-weight: 800; letter-spacing: .075em; line-height: 1.1; text-transform: uppercase; transition: .2s ease; }
.button:hover, .button:focus-visible { color: var(--white); background: var(--cyan-dark); border-color: var(--cyan-dark); transform: translateY(-2px); }
.button-small { padding: .7rem 1rem; font-size: .66rem; }
.menu-toggle { display: none; background: transparent; border: 0; }

.hero { position: relative; min-height: 657px; isolation: isolate; overflow: hidden; color: var(--white); background: #13191c url('/assets/media/2020/09/eloir-site-banner-1.jpg') 70% center / cover no-repeat; }
.hero-overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(10,18,21,.93) 0%, rgba(10,18,21,.76) 39%, rgba(10,18,21,.1) 70%, rgba(10,18,21,.2) 100%); }
.hero-shell { width: var(--shell); height: 100%; min-height: 657px; margin: 0 auto; display: flex; align-items: center; }
.hero-content { width: min(650px, 58%); padding: 6rem 0 5.8rem 2.7rem; }
.hero-kicker, .eyebrow { margin: 0 0 1rem; color: var(--cyan); font-size: .7rem; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.hero h1 { position: relative; margin: 0; max-width: 640px; padding: .12em .08em .1em .16em; font-family: Raleway, sans-serif; font-size: clamp(2.5rem, 4.15vw, 4.25rem); font-weight: 700; letter-spacing: -.045em; line-height: 1; text-transform: uppercase; }
.hero h1 > span { display: block; }
.hero h1::before { position: absolute; content: '“'; top: -.06em; left: -.02em; color: #18b7dc; font-family: Georgia, serif; font-size: .78em; font-weight: 400; line-height: 1; }
.hero h1 em { position: relative; display: block; width: max-content; max-width: 100%; margin: .1rem 0 0; padding: .05em .44em .08em 0; color: #18b7dc; font-family: 'Cedarville Cursive', cursive; font-size: clamp(3rem, 5vw, 5.1rem); font-style: normal; font-weight: 400; letter-spacing: -.06em; line-height: .82; text-transform: none; }
.hero h1 em::after { position: absolute; content: '”'; right: -.03em; bottom: -.07em; color: #18b7dc; font-family: Georgia, serif; font-size: .72em; font-weight: 400; line-height: 1; }
.hero-intro { max-width: 430px; margin: 1.8rem 0 1.45rem; color: rgba(255,255,255,.82); font-size: 1rem; }
.hero-link { display: inline-flex; gap: .65rem; padding-bottom: .35rem; color: var(--white); border-bottom: 2px solid var(--cyan); font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hero-link span { color: var(--cyan); font-size: 1.1rem; line-height: .75; }

.section { padding: 6.5rem 0; }
.section-soft { background: var(--soft); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 3rem; margin-bottom: 3.2rem; }
.section-heading h2, .master-banner h2, .contact h2 { margin: 0; color: var(--blue); font-family: Raleway, sans-serif; font-size: clamp(2rem, 3.25vw, 3.4rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.03; }
.section-heading > p { max-width: 470px; margin: 0; color: var(--muted); }
.section-heading-centered { display: block; max-width: 690px; margin: 0 auto 3.25rem; text-align: center; }
.section-heading-centered > p:last-child { margin: 1rem auto 0; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.service-card { min-height: 385px; display: flex; flex-direction: column; padding: 2rem 1.7rem 1.6rem; background: var(--white); border: 1px solid #e4eaec; box-shadow: 0 12px 28px rgba(26,50,59,.06); transition: .25s ease; }
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.service-icon { width: 3.1rem; height: 3.1rem; display: grid; place-items: center; margin-bottom: 1.45rem; color: var(--cyan); border: 1.5px solid currentColor; border-radius: 50%; font-size: 1.75rem; font-weight: 400; }
.icon-growth { font-size: 2rem; font-weight: 700; }
.icon-team { font-size: 2.2rem; }
.service-tag { margin: 0 0 .35rem; color: var(--cyan-dark); font-size: .64rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.service-card h3 { min-height: 4.2rem; margin: 0 0 .85rem; color: #2b3e49; font-family: Raleway, sans-serif; font-size: 1.34rem; font-weight: 800; line-height: 1.2; }
.service-card > p:not(.service-tag) { margin: 0 0 1.2rem; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.service-meta { display: flex; flex-wrap: wrap; gap: .36rem; margin-top: auto; margin-bottom: 1.35rem; }
.service-meta span { padding: .2rem .42rem; color: #5c6d75; border: 1px solid #d9e1e3; font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-card > a, .read-more, .text-link { color: var(--cyan-dark); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-card > a span, .read-more span, .text-link span { padding-left: .25rem; font-size: 1.05rem; }

.master-banner { position: relative; overflow: hidden; padding: 5.5rem 0; color: var(--white); background: var(--blue); }
.master-banner-secondary { padding: 3.6rem 0; }
.master-banner::before { position: absolute; width: 43rem; height: 43rem; content: ''; top: -24rem; right: -13rem; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 3.6rem rgba(255,255,255,.035), 0 0 0 7.2rem rgba(255,255,255,.025); }
.master-shell { position: relative; z-index: 1; width: var(--shell); margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; }
.eyebrow-light { color: rgba(255,255,255,.68); }
.master-banner h2 { color: var(--white); font-size: clamp(3.3rem, 6vw, 6.2rem); }
.master-banner-secondary h2 { font-size: clamp(2.65rem, 4.8vw, 4.85rem); }
.master-banner h2 span { color: #7ed7ec; font-family: 'Cedarville Cursive', cursive; font-weight: 400; text-transform: none; }
.master-banner p:not(.eyebrow) { max-width: 540px; margin: 1.2rem 0 0; color: rgba(255,255,255,.78); }
.master-action { min-width: 210px; display: grid; gap: 1rem; text-align: right; }
.master-action > span { color: #91dcee; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.button-outline { color: var(--white); background: transparent; border-color: rgba(255,255,255,.85); }
.button-outline:hover, .button-outline:focus-visible { color: var(--blue); background: var(--white); border-color: var(--white); }

.awards-heading { align-items: flex-end; }
.award-carousel { position: relative; display: grid; grid-template-columns: 3rem 1fr 3rem; gap: .9rem; align-items: center; }
.award-track { overflow: hidden; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2.4rem) / 3); gap: 1.2rem; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.award-track::-webkit-scrollbar { display: none; }
.award-card { margin: 0; overflow: hidden; scroll-snap-align: start; background: var(--white); box-shadow: 0 6px 21px rgba(23,57,70,.07); }
.award-card img { width: 100%; aspect-ratio: 1.12 / 1; object-fit: cover; }
.award-card figcaption { padding: 1rem .95rem; color: #43555e; font-size: .75rem; font-weight: 600; text-align: center; }
.carousel-button { width: 2.45rem; height: 2.45rem; color: var(--cyan-dark); background: transparent; border: 1px solid #b9d3db; border-radius: 50%; font-size: 1.3rem; transition: .2s ease; }
.carousel-button:hover, .carousel-button:focus-visible { color: var(--white); background: var(--cyan); border-color: var(--cyan); }
.carousel-dots { display: flex; justify-content: center; gap: .45rem; margin-top: 1.6rem; }
.carousel-dots button { width: 7px; height: 7px; padding: 0; background: #b6c7cd; border: 0; border-radius: 50%; }
.carousel-dots button.is-active { width: 25px; border-radius: .5rem; background: var(--cyan); }

.legacy-dark-section { position: relative; overflow: hidden; color: var(--white); background: var(--blue); }
.legacy-dark-section::before { position: absolute; z-index: 0; content: 'Eloir Chemin'; top: -3.7rem; right: -1.8rem; color: rgba(255,255,255,.045); font-family: 'Cedarville Cursive', cursive; font-size: clamp(5.5rem,13vw,13rem); white-space: nowrap; pointer-events: none; }
.legacy-dark-section .section-shell { position: relative; z-index: 1; }
.legacy-dark-section .section-heading h2 { color: var(--white); }
.legacy-dark-section .section-heading > p, .legacy-dark-section .section-heading-centered > p:last-child { color: rgba(255,255,255,.7); }
.legacy-dark-section .eyebrow { color: #89dced; }
.legacy-dark-section .carousel-button { color: #9ce4f2; border-color: rgba(156,228,242,.6); }
.legacy-dark-section .carousel-button:hover, .legacy-dark-section .carousel-button:focus-visible { color: var(--blue); background: var(--white); border-color: var(--white); }
.legacy-dark-section .carousel-dots button { background: rgba(255,255,255,.44); }
.legacy-dark-section .carousel-dots button.is-active { background: #6ad9ed; }
.legacy-dark-section .quote-card { border-top-color: #71dff1; box-shadow: none; }
.legacy-dark-section .post-card { box-shadow: none; }

.video-testimonials { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; max-width: 860px; margin: 0 auto 1.8rem; }
.video-card { position: relative; overflow: hidden; min-height: 235px; padding: 0; color: var(--white); text-align: left; border: 0; background: #182026; }
.video-card img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; opacity: .75; transition: .35s ease; }
.video-card::after { position: absolute; content: ''; inset: 0; background: linear-gradient(0deg, rgba(8,20,25,.85), transparent 60%); }
.video-card:hover img { transform: scale(1.04); opacity: .95; }
.video-card > span:last-child { position: absolute; z-index: 1; bottom: 1rem; left: 1.15rem; font-size: .85rem; font-weight: 700; }
.play-button { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; place-items: center; width: 3.2rem; height: 3.2rem; color: var(--white); background: var(--cyan); border-radius: 50%; transform: translate(-50%, -50%); font-size: .9rem; padding-left: .16rem; }
.quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; max-width: 1060px; margin: 0 auto; }
.quote-card { min-height: 258px; margin: 0; padding: 2.1rem 1.7rem 1.55rem; position: relative; background: var(--white); border-top: 3px solid var(--cyan); box-shadow: 0 8px 22px rgba(20,58,74,.06); }
.quote-card::before { position: absolute; content: '“'; top: .25rem; right: 1rem; color: rgba(16,168,210,.15); font-family: Georgia,serif; font-size: 5rem; line-height: 1; }
.quote-card > img { width: 48px; height: 48px; margin-bottom: 1rem; object-fit: cover; border-radius: 50%; }
.quote-card p { min-height: 79px; margin: 0 0 1rem; color: #4d5d65; font-size: .86rem; line-height: 1.65; }
.quote-card footer { display: grid; font-size: .72rem; line-height: 1.35; }
.quote-card footer strong { color: var(--blue); }
.quote-card footer span { color: #829097; }

.blog-heading { align-items: flex-end; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.post-card { overflow: hidden; background: var(--white); box-shadow: 0 8px 25px rgba(26,58,70,.07); }
.post-card > a { display: block; overflow: hidden; }
.post-card img { width: 100%; height: 215px; object-fit: cover; transition: transform .35s ease; }
.post-card:hover img { transform: scale(1.04); }
.post-card > div { padding: 1.35rem 1.45rem 1.5rem; }
.post-card p { margin: 0 0 .45rem; color: var(--cyan-dark); font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.post-card h3 { min-height: 4.65rem; margin: 0 0 1rem; color: #2d424d; font-family: Raleway, sans-serif; font-size: 1.2rem; line-height: 1.26; }
.post-card h3 a:hover { color: var(--cyan-dark); }

.contact { position: relative; overflow: hidden; padding: 6rem 0; color: var(--white); background: var(--blue); }
.contact::before { position: absolute; content: ''; inset: 0; background: linear-gradient(90deg, rgba(6,29,39,.3), transparent 70%); pointer-events: none; }
.contact-portrait { position: absolute; bottom: -4.2rem; left: max(2.5rem, calc((100vw - 1180px) / 2)); width: min(30vw, 340px); opacity: .24; filter: grayscale(1) contrast(1.1); pointer-events: none; }
.contact-shell { position: relative; z-index: 1; width: var(--shell); display: grid; grid-template-columns: .85fr 1fr; gap: clamp(3rem, 7vw, 8rem); margin: 0 auto; }
.contact h2 { color: var(--white); max-width: 530px; }
.contact-intro > p:not(.eyebrow) { max-width: 480px; margin: 1.4rem 0; color: rgba(255,255,255,.7); }
.contact-details { display: grid; gap: .45rem; }
.contact-details a { width: fit-content; color: #85d9ec; font-size: .84rem; }
.contact-details a:hover { color: var(--white); }
.contact-form { display: grid; gap: 1rem; }
.field-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.contact-form label, .ebook-copy label { display: grid; gap: .38rem; color: rgba(255,255,255,.8); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.contact-form input, .contact-form textarea, .contact-form select, .ebook-copy input { width: 100%; padding: .72rem .84rem; color: var(--white); outline: none; border: 1px solid rgba(255,255,255,.28); border-radius: 0; background: rgba(255,255,255,.04); font-family: Poppins, sans-serif; font-size: .9rem; font-weight: 400; letter-spacing: normal; text-transform: none; transition: .2s ease; }
.contact-form input.visually-hidden { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: #70d5ed; box-shadow: 0 0 0 3px rgba(112,213,237,.14); }
.contact-form select option { color: var(--ink); background: var(--white); }
.contact-consent { grid-template-columns: auto 1fr; align-items: start; color: rgba(255,255,255,.72)!important; font-size: .68rem!important; font-weight: 500!important; letter-spacing: normal!important; line-height: 1.5; text-transform: none!important; }
.contact-consent input { width: auto!important; margin: .18rem 0 0; padding: 0!important; accent-color: var(--cyan); }
.contact-consent a { color: #85d9ec; text-decoration: underline; }
.button-light { justify-self: start; color: var(--ink-deep); background: var(--white); border-color: var(--white); }
.button-light:hover, .button-light:focus-visible { color: var(--white); background: var(--cyan); border-color: var(--cyan); }
.form-status { min-height: 1.2rem; margin: -.4rem 0 0; color: #8ce0f2; font-size: .75rem; }

.site-footer { padding: 1.8rem 0; color: rgba(255,255,255,.63); background: #101b20; }
.footer-shell { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; font-size: .69rem; }
.footer-brand { color: var(--white); font-family: 'Cedarville Cursive', cursive; font-size: 1.85rem; line-height: 1; }
.footer-shell p { margin: 0; }
.footer-shell > div { display: flex; gap: 1rem; }
.footer-shell a:hover { color: #83ddf0; }
.whatsapp-button { position: fixed; z-index: 20; right: 1.3rem; bottom: 1.3rem; display: inline-flex; align-items: center; gap: .55rem; padding: .65rem 1rem; color: var(--white); background: #24b95b; box-shadow: 0 8px 24px rgba(13,88,43,.35); border-radius: 5rem; font-size: .72rem; font-weight: 700; transition: .2s ease; }
.whatsapp-button:hover { transform: translateY(-3px); }
.whatsapp-button > span:first-child { font-size: 1.15rem; }

.cookie-banner { position: fixed; z-index: 50; right: 1rem; bottom: 1rem; width: min(440px, calc(100vw - 2rem)); padding: 1.15rem 1.25rem; color: #ecf9fc; background: #17272e; box-shadow: var(--shadow); }
.cookie-banner p { margin: 0 0 .8rem; font-size: .72rem; line-height: 1.55; }
.cookie-banner > div { display: flex; align-items: center; gap: .9rem; }
.cookie-link { padding: .3rem 0; color: #b0dce6; border: 0; background: transparent; font-size: .72rem; }
.ebook-dialog, .video-dialog { width: min(760px, calc(100vw - 2rem)); padding: 0; color: var(--ink); border: 0; box-shadow: 0 24px 90px rgba(0,0,0,.45); }
.ebook-dialog::backdrop, .video-dialog::backdrop { background: rgba(9,20,25,.73); }
.ebook-dialog { grid-template-columns: .7fr 1fr; overflow: visible; }
.ebook-dialog[open] { display: grid; }
.ebook-image { display: flex; align-items: center; justify-content: center; padding: 2rem; background: #edf5f7; }
.ebook-image img { width: min(235px, 100%); box-shadow: 0 14px 26px rgba(18,51,61,.21); }
.ebook-copy { padding: 2.5rem 2.2rem 2rem; }
.ebook-copy .eyebrow { margin-bottom: .7rem; }
.ebook-copy h2 { margin: 0; color: var(--blue); font-family: Raleway,sans-serif; font-size: 1.9rem; line-height: 1.12; }
.ebook-copy > p:not(.eyebrow) { margin: .8rem 0 1.15rem; color: var(--muted); font-size: .83rem; }
.ebook-copy form { display: grid; gap: .75rem; }
.ebook-copy label { color: #5c6e76; }
.ebook-copy input { color: var(--ink); background: var(--white); border-color: #d6e0e3; }
.ebook-copy input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(16,168,210,.12); }
.ebook-copy .form-status { color: var(--cyan-dark); }
.privacy-consent { grid-template-columns: auto 1fr; align-items: start; color: #64747b!important; font-size: .63rem!important; font-weight: 500!important; letter-spacing: normal!important; text-transform: none!important; }
.privacy-consent input { width: auto; margin: .15rem 0 0; padding: 0; accent-color: var(--cyan); }
.dialog-close { position: absolute; z-index: 2; top: .6rem; right: .7rem; display: grid; place-items: center; width: 2.05rem; height: 2.05rem; padding: 0; color: #4d626b; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); font-size: 1.4rem; line-height: 1; }
.dialog-close:hover { color: var(--white); background: var(--cyan); }
.video-dialog { background: #111d22; }
.video-placeholder { min-height: 360px; display: grid; place-items: center; align-content: center; gap: .55rem; padding: 4rem 2rem; color: var(--white); text-align: center; }
.video-placeholder .play-button { position: static; transform: none; }
.video-placeholder p { margin: .7rem 0 0; color: #88dcee; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.video-placeholder strong { font-family: Raleway,sans-serif; font-size: 1.75rem; }
.video-placeholder small { max-width: 340px; color: rgba(255,255,255,.63); }

@media (max-width: 1080px) {
  .header-shell { gap: 1rem; }
  .primary-navigation { gap: .8rem; }
  .primary-navigation a { font-size: .64rem; }
  .social-links { display: none; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card { min-height: 330px; }
}
@media (max-width: 760px) {
  :root { --shell: min(100% - 36px, 1180px); }
  .header-shell { min-height: 72px; justify-content: space-between; }
  .brand { flex-basis: 120px; }
  .brand img { width: 120px; }
  .menu-toggle { z-index: 31; display: grid; gap: 4px; width: 37px; padding: .5rem; border: 0; }
  .menu-toggle span:not(.visually-hidden) { display: block; height: 2px; background: var(--blue); transition: .2s ease; }
  .menu-toggle[aria-expanded='true'] span:nth-of-type(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:nth-of-type(2) { opacity: 0; }
  .menu-toggle[aria-expanded='true'] span:nth-of-type(3) { transform: translateY(-6px) rotate(-45deg); }
  .primary-navigation { position: fixed; z-index: 30; inset: 71px 0 auto; display: grid; gap: 0; padding: 1rem 1.5rem 1.6rem; background: var(--white); box-shadow: 0 17px 25px rgba(24,54,65,.13); transform: translateY(-135%); transition: transform .25s ease; }
  .primary-navigation.is-open { transform: translateY(0); }
  .primary-navigation a { padding: .85rem 0; font-size: .73rem; }
  .header-actions { margin-left: auto; }
  .header-actions .button { display: none; }
  .hero { min-height: 610px; background-position: 65% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(8,17,21,.95), rgba(8,17,21,.71) 67%, rgba(8,17,21,.18)); }
  .hero-shell { min-height: 610px; align-items: flex-end; }
  .hero-content { width: 100%; padding: 4rem 0 4.25rem 1rem; }
  .hero h1 { font-size: clamp(2.45rem, 11.3vw, 3.8rem); }
  .hero h1 em { font-size: clamp(3rem, 13vw, 4.55rem); }
  .hero-intro { max-width: 330px; font-size: .9rem; }
  .section { padding: 4.2rem 0; }
  .section-heading, .awards-heading, .blog-heading { display: block; margin-bottom: 2.3rem; }
  .section-heading > p { margin-top: 1rem; }
  .section-heading-centered { margin-bottom: 2.3rem; }
  .service-grid, .post-grid, .quote-grid { grid-template-columns: 1fr; }
  .service-card h3 { min-height: 0; }
  .master-banner { padding: 4.1rem 0; }
  .master-shell, .contact-shell { grid-template-columns: 1fr; display: grid; gap: 2.25rem; }
  .master-action { text-align: left; }
  .award-carousel { grid-template-columns: 2.3rem 1fr 2.3rem; gap: .55rem; }
  .award-track { grid-auto-columns: 100%; }
  .carousel-button { width: 2rem; height: 2rem; }
  .video-testimonials { grid-template-columns: 1fr; }
  .video-card { min-height: 205px; }
  .quote-card p { min-height: 0; }
  .contact { padding: 4.3rem 0; }
  .contact-portrait { width: 76vw; left: 50%; bottom: -7rem; transform: translateX(-50%); opacity: .12; }
  .field-row { grid-template-columns: 1fr; }
  .footer-shell { display: grid; }
  .footer-shell > div { display: grid; gap: .35rem; }
  .whatsapp-button > span:last-child { display: none; }
  .whatsapp-button { right: 1rem; bottom: 1rem; width: 3.2rem; height: 3.2rem; justify-content: center; padding: 0; }
  .ebook-dialog[open] { grid-template-columns: 1fr; max-height: calc(100vh - 2rem); overflow-y: auto; }
  .ebook-image { display: none; }
  .ebook-copy { padding: 2.6rem 1.45rem 1.65rem; }
  .ebook-copy h2 { font-size: 1.55rem; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 2.35rem; }
  .section-heading h2, .contact h2 { font-size: 1.8rem; }
}

/* Páginas internas da cópia do site legado */
.inner-hero { position: relative; isolation: isolate; min-height: 310px; display: grid; align-items: end; overflow: hidden; color: var(--white); background: #183640; }
.inner-hero::before { position: absolute; z-index: -2; content: ''; inset: 0; background: var(--inner-image, linear-gradient(110deg,#173642,#0c1c22)) center / cover no-repeat; }
.inner-hero::after { position: absolute; z-index: -1; content: ''; inset: 0; background: linear-gradient(90deg, rgba(12,27,33,.92), rgba(12,27,33,.52)); }
.inner-hero .section-shell { padding: 4.8rem 0 3.15rem; }
.breadcrumbs { margin: 0 0 1rem; color: #a8dfea; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.breadcrumbs a:hover { color: var(--white); }
.inner-hero h1 { max-width: 700px; margin: 0; font-family: Raleway,sans-serif; font-size: clamp(2.3rem,4.8vw,4.4rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.03; }
.inner-hero h1 em { color: #5ad0eb; font-family: 'Cedarville Cursive',cursive; font-size: .82em; font-style: normal; font-weight: 400; text-transform: none; }
.inner-hero p:last-child { max-width: 600px; margin: .95rem 0 0; color: rgba(255,255,255,.81); }
.content-section { padding: 5.25rem 0; }
.content-shell { width: min(930px, calc(100vw - 48px)); margin: 0 auto; }
.content-shell.narrow { width: min(770px, calc(100vw - 48px)); }
.content-shell h2 { margin: 0 0 1.1rem; color: var(--blue); font-family: Raleway,sans-serif; font-size: clamp(1.65rem,2.8vw,2.55rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.15; }
.content-shell h3 { margin: 1.9rem 0 .65rem; color: #2c4653; font-family: Raleway,sans-serif; font-size: 1.25rem; }
.content-shell p { color: #56656d; }
.intro-copy { max-width: 680px; color: var(--cyan-dark)!important; font-size: 1.12rem; font-weight: 600; line-height: 1.65; }
.two-column { display: grid; grid-template-columns: minmax(240px,.82fr) minmax(0,1.18fr); gap: clamp(2.2rem,5.5vw,5.5rem); align-items: start; }
.image-frame { position: relative; }
.image-frame::before { position: absolute; z-index: -1; inset: 1rem -1rem -1rem 1rem; content: ''; border: 1px solid #9bdced; }
.image-frame img { width: 100%; min-height: 100%; object-fit: cover; }
.watermark-heading { position: relative; overflow: hidden; padding-bottom: 1rem; }
.watermark-heading::after { position: absolute; content: 'Eloir'; right: -1rem; bottom: -.5rem; color: rgba(16,168,210,.08); font-family: 'Cedarville Cursive',cursive; font-size: 7rem; line-height: 1; pointer-events: none; }
.credential-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 2.4rem; }
.credential { min-height: 100px; display: grid; place-items: center; padding: 1.25rem; border: 1px solid #e0e9eb; background: var(--white); }
.credential img { max-width: 124px; max-height: 57px; object-fit: contain; }
.service-content { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); gap: clamp(2.2rem,5.5vw,5.5rem); align-items: start; }
.service-aside { position: sticky; top: 110px; padding: 1.7rem; background: var(--soft); border-top: 3px solid var(--cyan); }
.service-aside p { margin: 0 0 1rem; color: #58707a; font-size: .86rem; }
.service-aside .button { width: 100%; }
.check-list { display: grid; gap: .6rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.35rem; color: #56656d; }
.check-list li::before { position: absolute; content: '✓'; left: 0; color: var(--cyan-dark); font-weight: 800; }
.module-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.25rem; margin-top: 2.2rem; }
.module-card { padding: 1.6rem; border: 1px solid #dce7e9; }
.module-card > span { color: var(--cyan-dark); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.module-card h3 { margin-top: .45rem; }
.module-card p { margin-bottom: 0; font-size: .88rem; }
.related-services { padding: 4.5rem 0; background: var(--soft); }
.related-services .service-grid { grid-template-columns: repeat(3,1fr); }
.related-services .service-card { min-height: 280px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 2.2rem; }
.catalog-card { display: flex; min-height: 255px; flex-direction: column; padding: 1.65rem; border: 1px solid #dce7e9; background: var(--white); box-shadow: 0 8px 22px rgba(26,50,59,.045); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.catalog-card:hover { border-color: #8ec9d7; box-shadow: var(--shadow); transform: translateY(-4px); }
.catalog-card:focus-visible { outline: 3px solid rgba(16,168,210,.35); outline-offset: 3px; }
.catalog-card.is-featured { border-top: 4px solid var(--cyan); }
.catalog-card > span { color: var(--cyan-dark); font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.catalog-card h3 { margin: .48rem 0 .75rem; color: var(--blue); font-family: Raleway,sans-serif; font-size: 1.3rem; line-height: 1.2; }
.catalog-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.62; }
.catalog-card ul { display: grid; gap: .32rem; margin: auto 0 0; padding: 1rem 0 0; list-style: none; color: #56656d; font-size: .78rem; }
.catalog-card li { position: relative; padding-left: 1rem; }
.catalog-card li::before { position: absolute; left: 0; color: var(--cyan-dark); content: '•'; }
.catalog-card::after { margin-top: 1.2rem; color: var(--cyan-dark); content: 'Conhecer o tema  →'; font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.catalog-note { max-width: 770px; margin: 2rem auto 0; color: var(--muted); font-size: .84rem; line-height: 1.7; text-align: center; }
.detail-visual { min-height: 420px; margin: 0; overflow: hidden; background: #193f51; }
.detail-visual img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.detail-summary { margin: 1.35rem 0 1.8rem; color: #56656d; font-size: 1rem; line-height: 1.75; }
.detail-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.3rem 0 1.8rem; }
.detail-tags span { padding: .38rem .55rem; color: #356274; border: 1px solid #d8e5e8; background: #f5fafb; font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.detail-cta { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 2.05rem; }
.detail-cta .text-link { padding: .5rem 0; }
.master-page-hero { position: relative; isolation: isolate; overflow: hidden; padding: 7.2rem 0 5.8rem; color: var(--white); background: #193f51; }
.master-page-hero::before { position: absolute; z-index: -1; content: ''; inset: 0; background: linear-gradient(90deg,rgba(14,42,54,.96),rgba(14,42,54,.65) 48%,rgba(14,42,54,.2)), url('/assets/media/2022/05/eloir-quem-e-1.jpg') 82% 25% / cover no-repeat; }
.master-page-hero .section-shell { max-width: 1180px; }
.master-page-hero h1 { max-width: 600px; margin: 0; font-family: Raleway,sans-serif; font-size: clamp(3.2rem,6.2vw,6.6rem); font-weight: 800; letter-spacing: -.07em; line-height: .91; text-transform: uppercase; }
.master-page-hero h1 em { display: block; color: #72d8eb; font-family: 'Cedarville Cursive',cursive; font-size: .68em; font-style: normal; font-weight: 400; text-transform: none; }
.master-page-hero p { max-width: 535px; color: rgba(255,255,255,.83); }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 2.2rem 0; background: #d6e2e4; }
.stat { padding: 1.3rem; background: var(--white); text-align: center; }
.stat strong { display: block; color: var(--cyan-dark); font-family: Raleway,sans-serif; font-size: 2.05rem; line-height: 1; }
.stat span { display: block; margin-top: .4rem; color: #65737a; font-size: .68rem; line-height: 1.45; }
.notice { padding: 1rem 1.15rem; color: #566a72; border-left: 3px solid var(--cyan); background: #edf7f9; font-size: .82rem; }
.workshop-card { width: min(950px, var(--shell)); display: grid; grid-template-columns: .9fr 1.1fr; margin: 0 auto; overflow: hidden; background: var(--white); box-shadow: var(--shadow); }
.workshop-card > img { width: 100%; height: 100%; min-height: 370px; object-fit: cover; }
.workshop-card > div { padding: clamp(2rem,5vw,4rem); }
.workshop-card h2 { color: var(--blue); font-family: Raleway,sans-serif; font-size: clamp(2rem,3.5vw,3.3rem); line-height: 1.05; }
.privacy-content h2 { margin-top: 2.4rem; }
.privacy-content h3 { margin-top: 1.4rem; }

@media (max-width: 760px) {
  .inner-hero { min-height: 260px; }
  .inner-hero .section-shell { padding: 3.8rem 0 2.4rem; }
  .content-section { padding: 3.8rem 0; }
  .two-column, .service-content, .workshop-card { grid-template-columns: 1fr; }
  .service-aside { position: static; order: 2; }
  .credential-grid { grid-template-columns: repeat(2,1fr); }
  .module-grid, .catalog-grid, .related-services .service-grid, .stats-grid { grid-template-columns: 1fr; }
  .workshop-card > img, .detail-visual, .detail-visual img { min-height: 230px; }
  .master-page-hero { padding: 5rem 0 4rem; }
}
