/*
Theme Name: MamiRitmus v3
Theme URI: https://mamiritmus.hu/
Author: MamiRitmus
Description: A MamiRitmus hivatalos, egyedi WordPress témája.
Version: 0.3.7
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: mamiritmus
*/

:root {
  --mr-lilac:#aa8dbd;
  --mr-lilac-dark:#846799;
  --mr-lilac-soft:#eee6f1;
  --mr-sage:#adb99a;
  --mr-sage-dark:#7f8d6c;
  --mr-sage-soft:#edf0e7;
  --mr-cream:#fbf8f4;
  --mr-paper:#fffdfa;
  --mr-ink:#403b3d;
  --mr-muted:#746d70;
  --mr-line:#e7ded9;
  --mr-white:#fff;
  --mr-shadow:0 18px 48px rgba(76,58,70,.10);
  --mr-radius:22px;
}

html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  margin:0;
  overflow-x:hidden;
  background:var(--mr-paper);
  color:var(--mr-ink);
  font-family:"Avenir Next","Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
*,*:before,*:after { box-sizing:border-box; }
img { max-width:100%; }
a { color:inherit; }
.mr-site { min-height:100vh; background:var(--mr-paper); }
.mr-shell { width:calc(100% - 48px); max-width:1220px; margin-inline:auto; }

.mr-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(251,248,244,.93);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(225,216,211,.78);
}
.admin-bar .mr-header { top:32px; }
.mr-header-inner {
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.mr-brand,.mr-brand a { display:block; line-height:0; }
.mr-brand img,.mr-brand .custom-logo { width:142px; height:auto; display:block; }
.mr-nav { display:flex; align-items:center; margin-left:auto; }
.mr-nav-list { display:flex; align-items:center; gap:31px; margin:0; padding:0; list-style:none; }
.mr-nav a { text-decoration:none; font-size:.88rem; font-weight:600; letter-spacing:.01em; }
.mr-nav a:hover { color:var(--mr-lilac-dark); }
.mr-mobile-menu { display:none; width:44px; height:44px; padding:10px; border:0; background:transparent; cursor:pointer; }
.mr-mobile-menu span { display:block; height:2px; margin:5px 0; background:var(--mr-ink); border-radius:3px; }

.mr-btn {
  min-height:48px;
  padding:0 25px;
  border:1px solid transparent;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:.92rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.mr-btn:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(91,70,83,.12); }
.mr-btn-primary { background:var(--mr-lilac); color:#fff; }
.mr-btn-secondary,.mr-btn-sage { background:var(--mr-sage); color:#fff; }
.mr-btn-ghost { color:var(--mr-lilac-dark); background:rgba(255,255,255,.7); border-color:var(--mr-lilac); }
.mr-header-booking { background:var(--mr-sage); color:#fff; min-height:45px; border-radius:10px; white-space:nowrap; }

.mr-hero-v3 {
  min-height:720px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--mr-cream);
}
.mr-hero-backdrop {
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,rgba(251,248,244,.98) 0%,rgba(251,248,244,.92) 27%,rgba(251,248,244,.37) 57%,rgba(251,248,244,.05) 100%),
    url("assets/images/hero-interior.webp") center/cover no-repeat;
}
.mr-hero-backdrop:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(248,240,235,.18));
}
.mr-hero-v3-grid {
  min-height:665px;
  position:relative;
  display:grid;
  grid-template-columns:.93fr 1.07fr;
  align-items:center;
}
.mr-hero-copy { position:relative; z-index:4; max-width:545px; padding:52px 0 128px; }
.mr-kicker {
  display:block;
  color:var(--mr-sage-dark);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:26px;
}
.mr-hero-copy h1 {
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.4rem,5.7vw,5.25rem);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.035em;
}
.mr-hero-copy h1 span { display:block; }
.lilac { color:var(--mr-lilac-dark); }
.sage { color:var(--mr-sage-dark); }
.mr-title-ornament { display:flex; align-items:center; gap:13px; color:var(--mr-lilac); margin:24px 0 28px; width:240px; }
.mr-title-ornament span { height:1px; background:linear-gradient(90deg,transparent,var(--mr-lilac)); flex:1; }
.mr-title-ornament span:last-child { background:linear-gradient(90deg,var(--mr-lilac),transparent); }
.mr-hero-copy p { max-width:485px; margin:0 0 20px; font-size:1rem; line-height:1.72; color:#5f595c; }
.mr-hero-copy strong { color:var(--mr-ink); }
.mr-actions { display:flex; gap:14px; margin-top:31px; flex-wrap:wrap; }
.mr-hero-person {
  align-self:end;
  height:625px;
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.mr-hero-person img { width:min(620px,110%); max-height:650px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 20px 30px rgba(77,60,52,.10)); }
.mr-hero-wave {
  position:absolute;
  z-index:3;
  left:-4%;
  right:-4%;
  bottom:-92px;
  height:205px;
  background:var(--mr-paper);
  border-radius:50% 52% 0 0/42% 54% 0 0;
  transform:rotate(-1.2deg);
}
.mr-rhythm-seal {
  position:absolute;
  z-index:6;
  left:50%;
  bottom:25px;
  width:148px;
  height:148px;
  border-radius:50%;
  background:rgba(255,251,248,.96);
  border:1px solid #e3d9dc;
  box-shadow:0 14px 35px rgba(80,61,73,.09);
  display:grid;
  place-content:center;
  text-align:center;
  color:var(--mr-lilac-dark);
}
.mr-rhythm-seal span { max-width:108px; font-size:.58rem; letter-spacing:.16em; line-height:1.55; font-weight:700; }
.mr-rhythm-seal b { font:400 2.3rem/1 Georgia,serif; margin-top:8px; }

.mr-section { padding:94px 0; }
.mr-services-section { padding-top:62px; background:var(--mr-paper); }
.mr-section-title {
  margin:0;
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4vw,3.25rem);
  font-weight:400;
  letter-spacing:-.025em;
}
.mr-services-section .mr-title-ornament { margin:16px auto 44px; width:150px; }
.mr-services { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.mr-card {
  min-height:325px;
  padding:24px 17px 22px;
  border:1px solid var(--mr-line);
  border-radius:12px;
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 26px rgba(75,58,69,.035);
  display:flex;
  flex-direction:column;
  text-align:center;
  transition:transform .22s ease,box-shadow .22s ease;
}
.mr-card:hover { transform:translateY(-5px); box-shadow:var(--mr-shadow); }
.mr-icon {
  width:68px;
  height:68px;
  margin:0 auto 22px;
  padding:15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#6c606a;
  background:var(--mr-lilac-soft);
}
.mr-card:nth-child(3n) .mr-icon,.mr-card:nth-child(5n) .mr-icon { background:var(--mr-sage-soft); }
.mr-icon svg { width:100%; height:100%; }
.mr-card h3 { margin:0 0 12px; font-size:.98rem; line-height:1.25; }
.mr-card p { margin:0 0 18px; color:var(--mr-muted); font-size:.78rem; line-height:1.58; }
.mr-card a { margin-top:auto; color:var(--mr-lilac-dark); font-size:.82rem; font-weight:800; text-decoration:none; }
.mr-card a span { margin-left:4px; }

.mr-testimonial-v3 {
  min-height:430px;
  position:relative;
  overflow:hidden;
  background:#bca5c7;
  color:#fff;
}
.mr-testimonial-v3:before,.mr-testimonial-v3:after { position:absolute; z-index:3; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.72); font:300 2.7rem/1 Georgia,serif; }
.mr-testimonial-v3:before { content:"‹"; left:4vw; }
.mr-testimonial-v3:after { content:"›"; right:4vw; }
.mr-testimonial-photo {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#b49bbf 0%,rgba(173,148,185,.94) 35%,rgba(154,128,168,.28) 65%,rgba(118,95,125,.06) 100%),
    url("assets/images/testimonial-baby.webp") right center/cover no-repeat;
}
.mr-testimonial-inner { min-height:430px; position:relative; display:flex; align-items:center; }
.mr-testimonial-copy { width:54%; padding:54px 0; text-align:center; }
.mr-quote-mark { height:42px; font:700 5rem/1 Georgia,serif; opacity:.6; }
.mr-testimonial-copy blockquote { margin:4px auto 20px; max-width:620px; font:italic 2rem/1.38 Georgia,serif; }
.mr-testimonial-copy p { margin:0 0 20px; font-size:.82rem; opacity:.92; }
.mr-slider-dots { display:flex; justify-content:center; gap:9px; margin:0 0 22px; }
.mr-slider-dots i { width:9px; height:9px; border:1px solid rgba(255,255,255,.72); border-radius:50%; }
.mr-slider-dots i.active { background:#fff; }

.mr-elearning-wrap { position:relative; overflow:hidden; background:linear-gradient(115deg,#fff,#fdf9f6); }
.mr-elearning-wrap:after {
  content:"";
  position:absolute;
  right:-55px;
  bottom:-80px;
  width:330px;
  height:330px;
  opacity:.22;
  background:radial-gradient(ellipse at center,transparent 49%,var(--mr-sage) 50%,transparent 52%);
  transform:rotate(-24deg);
}
.mr-elearning { display:grid; grid-template-columns:1fr .95fr; gap:82px; align-items:center; }
.mr-device-stage { min-height:420px; position:relative; display:flex; align-items:center; justify-content:center; }
.mr-laptop { width:94%; position:relative; }
.mr-laptop-screen { padding:13px 13px 19px; border:9px solid #252326; border-bottom-width:18px; border-radius:16px 16px 8px 8px; background:#f4edf5; box-shadow:var(--mr-shadow); }
.mr-laptop-base { height:13px; width:108%; margin-left:-4%; border-radius:2px 2px 22px 22px; background:linear-gradient(#d9d6d6,#8b8989); box-shadow:0 14px 20px rgba(65,52,60,.16); }
.mr-course-ui { height:265px; display:grid; grid-template-columns:23% 77%; background:#fff; overflow:hidden; }
.mr-course-ui aside { padding:35px 12px; background:#f1e9f3; }
.mr-course-ui aside span { display:block; height:8px; margin:0 0 14px; border-radius:5px; background:#cbb5d3; }
.mr-course-ui > div { padding:17px; display:grid; grid-template-columns:1fr 1fr; gap:10px; align-content:start; }
.mr-course-ui img { grid-row:1/5; width:100%; height:190px; object-fit:contain; background:linear-gradient(135deg,#f1e9ef,#e7eadf); }
.mr-course-ui b { color:var(--mr-lilac-dark); font:600 1rem Georgia,serif; }
.mr-course-ui i { display:block; height:8px; border-radius:5px; background:#ece5ec; }
.mr-phone { position:absolute; right:3%; bottom:27px; width:92px; padding:8px; border:5px solid #29272a; border-radius:18px; background:#fff; box-shadow:0 15px 28px rgba(65,52,60,.2); z-index:3; }
.mr-phone-screen { height:176px; overflow:hidden; background:#f4edf5; }
.mr-phone-screen img { width:100%; height:112px; object-fit:contain; }
.mr-phone-screen span { display:block; width:78%; height:6px; margin:9px auto; border-radius:4px; background:#d8c9dc; }
.mr-new-badge { position:absolute; z-index:5; left:-12px; top:5px; width:78px; height:78px; display:grid; place-items:center; border-radius:50%; background:var(--mr-lilac); color:#fff; font:400 1.55rem Georgia,serif; box-shadow:0 12px 28px rgba(98,75,108,.18); }
.mr-elearning-copy h2 { margin:0 0 22px; font:400 clamp(2.6rem,4.8vw,4.2rem)/1.02 Georgia,serif; letter-spacing:-.035em; }
.mr-elearning-copy p { color:var(--mr-muted); line-height:1.7; }
.mr-checks { margin:26px 0 30px; padding:0; list-style:none; }
.mr-checks li { position:relative; padding:0 0 12px 28px; color:#575154; }
.mr-checks li:before { content:"✓"; position:absolute; left:0; color:var(--mr-sage-dark); font-weight:900; }

.mr-cta-band { position:relative; overflow:hidden; background:linear-gradient(90deg,#edf0e7,#f5efe9); }
.mr-cta { min-height:188px; position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center; }
.mr-cta-icon { width:108px; height:108px; padding:27px; border-radius:50%; background:rgba(255,255,255,.82); color:var(--mr-lilac-dark); border:1px solid rgba(170,141,189,.25); }
.mr-cta-icon svg { width:100%; height:100%; }
.mr-cta h2 { margin:0 0 10px; font:400 clamp(2rem,3.4vw,3rem)/1.1 Georgia,serif; }
.mr-cta p { margin:0; color:var(--mr-muted); }
.mr-cta-actions { display:flex; gap:12px; }
.mr-botanical { position:absolute; width:230px; height:230px; opacity:.15; border:2px solid var(--mr-sage-dark); border-radius:75% 15% 75% 15%; transform:rotate(35deg); }
.mr-botanical:before,.mr-botanical:after { content:""; position:absolute; width:95px; height:170px; border:2px solid var(--mr-sage-dark); border-radius:75% 15% 75% 15%; }
.mr-botanical-left { left:-115px; bottom:-130px; }
.mr-botanical-right { right:-95px; top:-120px; transform:rotate(210deg); }

.mr-contact { background:#fff; border-bottom:1px solid var(--mr-line); }
.mr-contact-grid { padding:44px 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:0; }
.mr-contact-item { min-width:0; padding:0 22px; display:flex; gap:14px; border-right:1px solid var(--mr-line); }
.mr-contact-item:first-child { padding-left:0; }
.mr-contact-item:last-child { border-right:0; }
.mr-contact-item > div:last-child { min-width:0; display:flex; flex-direction:column; gap:7px; }
.mr-contact-item strong { font-size:.88rem; }
.mr-contact-item a,.mr-contact-item span { color:var(--mr-muted); font-size:.77rem; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.mr-contact-icon { flex:0 0 45px; width:45px; height:45px; padding:11px; border-radius:50%; background:var(--mr-lilac); color:#fff; }
.mr-contact-icon.sage { background:var(--mr-sage); }
.mr-contact-icon svg { width:100%; height:100%; }

.mr-footer { padding:54px 0 24px; background:#fffdfa; }
.mr-footer-grid { display:grid; grid-template-columns:1.1fr 1.7fr; gap:80px; align-items:start; }
.mr-footer-grid > div:first-child p { max-width:330px; color:var(--mr-muted); line-height:1.65; font-size:.85rem; }
.mr-footer-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:35px; }
.mr-footer-links > div { display:flex; flex-direction:column; gap:10px; }
.mr-footer-links strong { font-size:.87rem; margin-bottom:4px; }
.mr-footer-links a { color:var(--mr-muted); font-size:.79rem; text-decoration:none; overflow-wrap:anywhere; }
.mr-copy { margin-top:38px; padding-top:22px; border-top:1px solid var(--mr-line); display:flex; justify-content:space-between; gap:20px; color:#9a9196; font-size:.72rem; }
.mr-content { min-height:55vh; }

/* Service page */
.mr-service-hero {
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,var(--mr-lilac-soft),var(--mr-cream) 58%,var(--mr-sage-soft));
}
.mr-service-hero:after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-145px;
  width:430px;
  height:430px;
  border:1px solid rgba(170,141,189,.22);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.17),0 0 0 76px rgba(173,185,154,.08);
}
.mr-service-hero-grid {
  min-height:565px;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:64px;
  align-items:center;
}
.mr-service-breadcrumb { margin-bottom:22px; color:var(--mr-sage-dark); font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.mr-service-breadcrumb a { text-decoration:none; }
.mr-service-hero h1 { max-width:680px; margin:0; color:var(--mr-lilac-dark); font:400 clamp(3.25rem,5.6vw,5.3rem)/1.02 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.mr-service-lead { max-width:620px; margin:25px 0 30px; color:#5f595c; font-size:1.12rem; line-height:1.75; }
.mr-service-portrait { align-self:end; height:520px; display:flex; align-items:center; justify-content:center; }
.mr-service-portrait img { width:390px; height:470px; max-width:100%; object-fit:cover; object-position:center 24%; border:8px solid rgba(255,255,255,.72); border-radius:210px 210px 24px 24px; box-shadow:0 25px 55px rgba(77,60,52,.17); }
.mr-service-body { padding:92px 0; background:var(--mr-paper); }
.mr-service-content { max-width:920px; margin:auto; font-size:1.04rem; line-height:1.78; }
.mr-service-content > p:first-child { margin-top:0; color:#574f53; font:400 1.55rem/1.55 Georgia,"Times New Roman",serif; }
.mr-service-content h2 { margin:72px 0 20px; color:var(--mr-ink); font:400 clamp(2.2rem,4vw,3.25rem)/1.12 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.mr-service-content h3 { margin:0 0 10px; color:var(--mr-lilac-dark); font:400 1.35rem/1.25 Georgia,"Times New Roman",serif; }
.mr-service-content p { color:var(--mr-muted); }
.mr-service-content ul { padding-left:1.25em; }
.mr-service-content li { margin-bottom:10px; padding-left:5px; color:#5d5659; }
.mr-service-content .wp-block-columns { gap:18px; margin:30px 0; }
.mr-service-content .wp-block-column { padding:28px; border:1px solid var(--mr-line); border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(75,58,69,.04); }
.mr-service-content .wp-block-quote { margin:62px 0; padding:34px 42px; border:0; border-left:4px solid var(--mr-lilac); border-radius:0 18px 18px 0; background:var(--mr-lilac-soft); }
.mr-service-content .wp-block-quote p { margin:0; color:var(--mr-lilac-dark); font:italic 1.55rem/1.5 Georgia,"Times New Roman",serif; }
.mr-service-content .wp-block-group.mr-service-steps { margin:34px 0; }
.mr-service-content .mr-step { position:relative; padding-left:68px; }
.mr-service-content .mr-step:before { position:absolute; left:0; top:-5px; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--mr-sage-soft); color:var(--mr-sage-dark); font-family:Georgia,serif; font-size:1.25rem; }
.mr-service-content .mr-step:nth-child(1):before { content:"1"; }
.mr-service-content .mr-step:nth-child(2):before { content:"2"; }
.mr-service-content .mr-step:nth-child(3):before { content:"3"; }
.mr-service-cta { position:relative; overflow:hidden; padding:72px 0; background:linear-gradient(105deg,#a98cba,#8b719c); color:#fff; }
.mr-service-cta-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:44px; }
.mr-service-cta h2 { max-width:720px; margin:0 0 12px; font:400 clamp(2.25rem,4vw,3.5rem)/1.08 Georgia,"Times New Roman",serif; }
.mr-service-cta p { margin:0; opacity:.9; line-height:1.65; }
.mr-service-cta .mr-btn { flex:0 0 auto; background:#fff; color:var(--mr-lilac-dark); }

@media (max-width:1050px) {
  .mr-nav-list { gap:19px; }
  .mr-hero-v3-grid { grid-template-columns:1fr 1fr; }
  .mr-hero-copy h1 { font-size:clamp(3.2rem,6vw,4.6rem); }
  .mr-services { grid-template-columns:repeat(3,1fr); gap:16px; }
  .mr-card { min-height:285px; }
  .mr-elearning { gap:46px; }
  .mr-cta { grid-template-columns:auto 1fr; }
  .mr-cta-actions { grid-column:2; }
}

@media (max-width:820px) {
  .mr-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 24px 28px; background:rgba(251,248,244,.99); border-bottom:1px solid var(--mr-line); box-shadow:var(--mr-shadow); }
  .mr-nav.is-open { display:block; }
  .mr-nav-list { flex-direction:column; align-items:flex-start; gap:16px; }
  .mr-mobile-menu { display:block; }
  .mr-header-booking { margin-left:auto; }
  .mr-hero-v3 { min-height:890px; }
  .mr-hero-v3-grid { min-height:835px; display:block; }
  .mr-hero-backdrop { background:linear-gradient(180deg,rgba(251,248,244,.98),rgba(251,248,244,.72) 58%,rgba(251,248,244,.15)),url("assets/images/hero-interior.webp") center/cover; }
  .mr-hero-copy { max-width:650px; padding:55px 0 0; }
  .mr-hero-copy h1 { font-size:clamp(3.25rem,10vw,5.2rem); }
  .mr-hero-person { position:absolute; right:-8%; bottom:40px; width:72%; height:520px; }
  .mr-rhythm-seal { left:18%; bottom:8px; width:128px; height:128px; }
  .mr-services { grid-template-columns:repeat(2,1fr); }
  .mr-testimonial-copy { width:66%; }
  .mr-elearning { grid-template-columns:1fr; gap:46px; }
  .mr-device-stage { order:2; }
  .mr-elearning-copy { order:1; }
  .mr-cta { padding:36px 0; }
  .mr-contact-grid { grid-template-columns:repeat(2,1fr); row-gap:30px; }
  .mr-contact-item:nth-child(2) { border-right:0; }
  .mr-contact-item:nth-child(3) { padding-left:0; }
  .mr-footer-grid { grid-template-columns:1fr; gap:36px; }
  .mr-service-hero-grid { min-height:610px; grid-template-columns:1.08fr .92fr; gap:18px; }
  .mr-service-portrait { height:460px; }
  .mr-service-portrait img { width:340px; height:410px; }
  .mr-service-content { max-width:100%; }
  .mr-service-cta-inner { align-items:flex-start; flex-direction:column; }
}

@media (max-width:560px) {
  .admin-bar .mr-header { top:46px; }
  .mr-shell { width:calc(100% - 30px); }
  .mr-header-inner { min-height:72px; gap:12px; }
  .mr-brand img,.mr-brand .custom-logo { width:112px; }
  .mr-header-booking { display:none; }
  .mr-mobile-menu { width:48px; height:48px; padding:11px; }
  .mr-nav { padding:14px 20px 22px; }
  .mr-nav-list { width:100%; gap:2px; }
  .mr-nav a { display:block; width:100%; padding:10px 2px; font-size:1rem; }
  .mr-hero-v3 { min-height:0; }
  .mr-hero-v3-grid { min-height:0; padding-bottom:112px; }
  .mr-hero-copy { padding:32px 0 0; }
  .mr-kicker { font-size:.62rem; margin-bottom:18px; }
  .mr-hero-copy h1 { font-size:clamp(2.55rem,12.6vw,3.55rem); line-height:1.04; letter-spacing:-.05em; }
  .mr-hero-copy h1 span { white-space:nowrap; }
  .mr-title-ornament { width:190px; margin:18px 0 22px; }
  .mr-hero-copy p { font-size:.94rem; line-height:1.58; }
  .mr-actions { display:grid; grid-template-columns:1fr; width:100%; gap:10px; margin-top:25px; }
  .mr-actions .mr-btn { width:100%; }
  .mr-hero-person { position:relative; right:auto; bottom:auto; width:calc(100% + 70px); height:360px; margin:2px -70px -112px auto; justify-content:flex-end; }
  .mr-hero-person:before { content:""; position:absolute; z-index:0; right:-1%; bottom:35px; width:88%; height:96px; border:1px solid rgba(170,141,189,.12); border-radius:50% 50% 28px 28px/44% 44% 24px 24px; background:linear-gradient(180deg,rgba(255,253,250,.98),rgba(232,223,216,.96)); box-shadow:0 18px 34px rgba(79,61,68,.14),inset 0 3px 8px rgba(255,255,255,.9); }
  .mr-hero-person:after { content:""; position:absolute; z-index:0; right:6%; bottom:23px; width:72%; height:34px; border-radius:50%; background:rgba(79,61,68,.16); filter:blur(11px); }
  .mr-hero-person img { position:relative; z-index:1; width:auto; max-width:none; max-height:100%; transform:translateX(7%); }
  .mr-hero-wave { bottom:-105px; height:170px; }
  .mr-rhythm-seal { left:15px; bottom:27px; width:112px; height:112px; }
  .mr-rhythm-seal span { font-size:.49rem; max-width:85px; }
  .mr-section { padding:62px 0; }
  .mr-services-section { padding-top:45px; }
  .mr-section-title { font-size:2.4rem; }
  .mr-services-section .mr-title-ornament { margin:13px auto 30px; }
  .mr-services { grid-template-columns:1fr; }
  .mr-card { min-height:auto; padding:22px; display:grid; grid-template-columns:58px 1fr; gap:0 17px; text-align:left; }
  .mr-icon { grid-row:1/4; width:58px; height:58px; margin:0; padding:13px; }
  .mr-card h3,.mr-card p,.mr-card a { grid-column:2; }
  .mr-card h3 { margin-bottom:7px; }
  .mr-card p { margin-bottom:12px; }
  .mr-card a { margin-top:0; }
  .mr-testimonial-v3,.mr-testimonial-inner { min-height:620px; }
  .mr-testimonial-v3:before,.mr-testimonial-v3:after { display:none; }
  .mr-testimonial-photo { background:linear-gradient(180deg,rgba(174,148,186,.99) 0%,rgba(163,138,174,.96) 44%,rgba(142,118,151,.48) 70%,rgba(142,118,151,.06) 100%),url("assets/images/testimonial-baby.webp") 68% bottom/auto 64% no-repeat; }
  .mr-testimonial-inner { align-items:flex-start; }
  .mr-testimonial-copy { width:100%; padding:42px 8px 245px; }
  .mr-testimonial-copy blockquote { font-size:1.55rem; line-height:1.34; }
  .mr-quote-mark { height:35px; font-size:4.2rem; }
  .mr-device-stage { min-height:285px; }
  .mr-laptop { width:100%; }
  .mr-laptop-screen { padding:8px 8px 13px; border-width:7px; border-bottom-width:14px; }
  .mr-course-ui { height:175px; }
  .mr-course-ui img { height:112px; }
  .mr-phone { width:72px; right:0; bottom:14px; }
  .mr-phone-screen { height:130px; }
  .mr-phone-screen img { height:78px; }
  .mr-new-badge { left:-4px; top:-4px; width:62px; height:62px; font-size:1.25rem; }
  .mr-elearning-copy h2 { font-size:2.55rem; }
  .mr-elearning-copy p { line-height:1.6; }
  .mr-checks { margin:22px 0 26px; }
  .mr-elearning-copy .mr-btn { width:100%; }
  .mr-cta { grid-template-columns:1fr; text-align:center; }
  .mr-cta-icon { width:88px; height:88px; padding:22px; margin:auto; }
  .mr-cta h2 { font-size:2.25rem; }
  .mr-cta-actions { grid-column:1; display:grid; width:100%; }
  .mr-contact-grid { grid-template-columns:1fr; }
  .mr-contact-item,.mr-contact-item:first-child,.mr-contact-item:nth-child(3) { padding:0 0 22px; border-right:0; border-bottom:1px solid var(--mr-line); gap:16px; }
  .mr-contact-item a,.mr-contact-item span { font-size:.83rem; }
  .mr-contact-item:last-child { border-bottom:0; }
  .mr-footer-links { grid-template-columns:1fr; }
  .mr-copy { flex-direction:column; }
  .mr-service-hero-grid { min-height:0; display:block; padding:52px 0 0; }
  .mr-service-breadcrumb { margin-bottom:17px; font-size:.66rem; }
  .mr-service-hero h1 { font-size:clamp(2.7rem,13vw,3.65rem); }
  .mr-service-lead { margin:20px 0 24px; font-size:1rem; line-height:1.62; }
  .mr-service-hero-copy .mr-btn { width:100%; }
  .mr-service-portrait { height:390px; margin-top:22px; }
  .mr-service-portrait img { width:min(330px,92vw); height:365px; border-width:6px; border-radius:180px 180px 20px 20px; }
  .mr-service-body { padding:58px 0; }
  .mr-service-content { font-size:.96rem; line-height:1.68; }
  .mr-service-content > p:first-child { font-size:1.3rem; line-height:1.5; }
  .mr-service-content h2 { margin-top:52px; font-size:2.25rem; }
  .mr-service-content .wp-block-columns { display:grid; grid-template-columns:1fr; }
  .mr-service-content .wp-block-column { padding:23px; }
  .mr-service-content .wp-block-quote { margin:46px 0; padding:27px 24px; }
  .mr-service-content .wp-block-quote p { font-size:1.3rem; }
  .mr-service-content .mr-step { padding-left:58px; }
  .mr-service-content .mr-step:before { width:42px; height:42px; }
  .mr-service-cta { padding:58px 0; text-align:center; }
  .mr-service-cta-inner { align-items:stretch; gap:28px; }
  .mr-service-cta .mr-btn { width:100%; }
}

@media (max-width:390px) {
  .mr-shell { width:calc(100% - 24px); }
  .mr-hero-copy h1 { font-size:clamp(2.35rem,12.4vw,3rem); }
  .mr-hero-copy p { font-size:.9rem; }
  .mr-hero-person { height:325px; width:calc(100% + 58px); margin-right:-58px; }
  .mr-rhythm-seal { width:102px; height:102px; }
  .mr-testimonial-copy blockquote { font-size:1.42rem; }
  .mr-elearning-copy h2 { font-size:2.28rem; }
  .mr-btn { padding-inline:18px; }
}
