/*
Theme Name: ReMee Child v2.11.12
Theme URI: https://re-mee.me/
Template: lightning
Author: ReMee / QiQ Project
Description: ReMee design system. Adds CMS-editable header contact, large inquiry CTA, and shared footer settings.
Version: 2.11.12
*/

:root{
  --remee-main:#995092;
  --remee-pink:#F8B7CF;
  --remee-orange:#F4A98C;
  --remee-purple:#C9A5D8;
  --remee-ink:#3f3f46;
  --remee-muted:#6f6872;
  --remee-soft:#fff8fa;
  --remee-line:#ead2e5;
}

/* Hide Lightning's default page title band only on ReMee lower pages */
body.remee-lower-page .page-header,
body.remee-lower-page .pageHeader,
body.remee-lower-page .vk_pageHeader,
body.remee-lower-page .entry-header{
  display:none!important;
}

/* ReMee lower page common design */
.remee-auto-shell{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
  color:var(--remee-ink);
}

.remee-auto-shell *{box-sizing:border-box;}

/* ReMee v2.4: use Lightning header/footer, but make lower-page content full-width and center design blocks */
body.remee-lower-page .siteContent .container,
body.remee-lower-page .siteContent .container-lg,
body.remee-lower-page .siteContent .container-md,
body.remee-lower-page .siteContent .container-sm,
body.remee-lower-page .siteContent_main,
body.remee-lower-page .mainSection{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  flex:0 0 100%!important;
}

body.remee-lower-page .sideSection{
  display:none!important;
}

.remee-auto-hero,
.remee-auto-content,
.remee-auto-cta{
  width:min(1140px, calc(100vw - 72px));
  margin-left:auto;
  margin-right:auto;
  transform:none;
}

.remee-auto-hero{
  position:relative;
  overflow:hidden;
  margin-top:34px;
  margin-bottom:36px;
  padding:62px 64px;
  border-radius:34px;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:52px;
  align-items:center;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,198,212,.46),transparent 28%),
    radial-gradient(circle at 12% 88%,rgba(255,220,185,.42),transparent 26%),
    radial-gradient(circle at 65% 52%,rgba(220,196,255,.26),transparent 38%),
    linear-gradient(135deg,#fff8fa,#fff3ee,#fbf5ff);
  box-shadow:0 18px 46px rgba(153,80,146,.14);
}

.remee-auto-hero:before{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-80px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(153,80,146,.06);
}

.remee-auto-label{
  color:var(--remee-main);
  font-size:12px;
  line-height:1;
  letter-spacing:.24em;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:18px;
}

.remee-auto-hero h1{
  color:#43424a;
  font-size:clamp(28px,4vw,42px);
  line-height:1.38;
  letter-spacing:-.02em;
  font-weight:750;
  margin:0 0 20px;
}

.remee-auto-hero p{
  max-width:580px;
  margin:0;
  color:var(--remee-muted);
  font-size:15px;
  line-height:2.05;
  font-weight:500;
}

.remee-auto-hero-img{
  position:relative;
  z-index:1;
  min-height:320px;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff,#f9edf8);
  box-shadow:0 18px 44px rgba(80,50,82,.10);
}

.remee-auto-hero-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.remee-auto-placeholder{
  width:100%;
  height:100%;
  min-height:320px;
  display:grid;
  place-items:center;
  color:rgba(153,80,146,.42);
  font-weight:700;
  letter-spacing:.08em;
  background:
    radial-gradient(circle at 75% 20%,rgba(244,169,140,.24),transparent 28%),
    radial-gradient(circle at 20% 85%,rgba(153,80,146,.16),transparent 35%),
    linear-gradient(135deg,#fff,#fff5fa);
}

.remee-auto-content{
  margin-top:0;
  margin-bottom:0;
  font-size:16px;
  line-height:2;
}

.remee-auto-content h2{
  font-size:clamp(24px,3vw,34px);
  color:#46414a;
  font-weight:750;
  line-height:1.45;
  margin:34px 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--remee-line);
}

.remee-auto-content h3{
  color:var(--remee-main);
  font-size:20px;
  margin:30px 0 14px;
}

.remee-auto-content a{
  color:var(--remee-main);
}

.remee-auto-cta{
  margin-top:46px;
  margin-bottom:46px;
  padding:42px 48px;
  border-radius:28px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:center;
  background:linear-gradient(135deg,#995092,#c477a9 55%,#f0a27f);
  color:#fff;
}

.remee-auto-cta h2{
  margin:0 0 8px;
  padding:0;
  border:0;
  color:#fff;
  font-size:clamp(24px,3vw,34px);
  line-height:1.35;
}

.remee-auto-cta p{
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.8;
}

.remee-auto-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
  padding:17px 30px;
  border-radius:999px;
  background:#fff;
  color:var(--remee-main)!important;
  text-decoration:none!important;
  font-weight:800;
  box-shadow:0 12px 28px rgba(80,40,80,.16);
}

@media(max-width:900px){
  .remee-auto-hero,
  .remee-auto-content,
  .remee-auto-cta{
    width:min(100%, calc(100vw - 28px));
  }
  .remee-auto-hero{grid-template-columns:1fr;padding:38px 26px;margin-top:28px;margin-bottom:32px;gap:28px;border-radius:26px;}
  .remee-auto-hero-img,.remee-auto-placeholder{min-height:230px;}
  .remee-auto-cta{grid-template-columns:1fr;padding:30px 24px;}
  .remee-auto-cta a{width:100%;}
}


/* ReMee v2.4 final width and footer tuning */
body.remee-lower-page .remee-auto-hero,
body.remee-lower-page .remee-auto-cta,
body.remee-lower-page .remee-auto-footer,
body.remee-front-footer .remee-auto-footer{
  width:min(1140px, calc(100vw - 72px));
  margin-left:auto;
  margin-right:auto;
}

body.remee-lower-page .remee-auto-content{
  width:min(1040px, calc(100vw - 72px));
  margin-left:auto;
  margin-right:auto;
}

body.remee-lower-page .remee-auto-hero{
  padding:58px 58px;
  gap:44px;
}

body.remee-lower-page .remee-auto-hero-img,
body.remee-lower-page .remee-auto-placeholder{
  min-height:300px;
}

/* Hide Lightning's default footer on pages that use the ReMee original footer */
body.remee-lower-page .siteFooter,
body.remee-lower-page footer.siteFooter,
body.remee-lower-page .site-footer,
body.remee-lower-page .footerSection,
body.remee-lower-page .copySection,
body.remee-front-footer .siteFooter,
body.remee-front-footer footer.siteFooter,
body.remee-front-footer .site-footer,
body.remee-front-footer .footerSection,
body.remee-front-footer .copySection{
  display:none!important;
}

.remee-auto-footer{
  margin-top:54px;
  padding:36px 0 28px;
  border-top:1px solid rgba(153,80,146,.42);
  text-align:center;
  color:#4b4650;
}

.remee-auto-footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0;
  margin-bottom:28px;
  font-size:14px;
  font-weight:650;
}

.remee-auto-footer-nav a{
  color:#3f3f46!important;
  text-decoration:none!important;
  padding:0 24px;
  border-right:1px solid #e7d1e4;
}

.remee-auto-footer-nav a:first-child{border-left:1px solid #e7d1e4;}

.remee-auto-footer-logo{
  font-family:Georgia,'Times New Roman',serif;
  font-size:42px;
  line-height:1;
  letter-spacing:.01em;
  color:var(--remee-main);
  margin-bottom:12px;
}

.remee-auto-footer-logo a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
}

.remee-auto-footer-logo img{
  display:block;
  max-width:100%;
  height:auto;
}

.remee-auto-footer-logo .orange{color:#f49a20;}
.remee-auto-footer-logo .pink{color:#cc4f82;}

.remee-auto-footer-copy{
  color:var(--remee-main);
  font-size:15px;
  font-weight:650;
  margin-bottom:22px;
}

.remee-auto-footer-info{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px 0;
  color:#4a464f;
  font-size:14px;
  line-height:1.6;
}

.remee-auto-footer-info span{
  display:inline-flex;
  align-items:center;
  padding:0 22px;
  border-right:1px solid #e7d1e4;
}

.remee-auto-footer-info span:first-child{border-left:1px solid #e7d1e4;}
.remee-auto-footer-info b{color:var(--remee-main);margin-right:8px;}

.remee-auto-footer-cr{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(153,80,146,.12);
  font-size:13px;
  color:#6b6570;
}

/* keep widget/menu title text visible if Lightning widgets appear elsewhere */
body.remee-lower-page .widget-title,
body.remee-lower-page .subSection-title{
  color:var(--remee-main)!important;
  opacity:1!important;
}

@media(max-width:900px){
  body.remee-lower-page .remee-auto-hero,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-auto-cta,
  body.remee-lower-page .remee-auto-footer,
  body.remee-front-footer .remee-auto-footer{
    width:min(100%, calc(100vw - 28px));
  }
  body.remee-lower-page .remee-auto-hero{padding:36px 24px;}
  body.remee-lower-page .remee-auto-hero-img,
  body.remee-lower-page .remee-auto-placeholder{min-height:220px;}
  .remee-auto-footer-nav{gap:10px 0;font-size:13px;}
  .remee-auto-footer-nav a{padding:0 12px;}
  .remee-auto-footer-info{display:grid;gap:10px;font-size:13px;}
  .remee-auto-footer-info span{border:0!important;justify-content:center;padding:0;}
}


/* =========================================================
   ReMee v2.7: Header contact and large inquiry CTA
   ========================================================= */
.remee-header-contact{
  position:relative;
  z-index:20;
  width:100%;
  background:#fff;
  border-bottom:1px solid rgba(153,80,146,.12);
}

.remee-header-contact__inner{
  width:min(1140px, calc(100vw - 72px));
  min-height:72px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}

.remee-header-contact__phone{
  display:flex;
  align-items:center;
  gap:11px;
  color:#434047!important;
  text-decoration:none!important;
  font-size:clamp(20px,2vw,29px);
  line-height:1;
  font-weight:750;
  letter-spacing:.01em;
  white-space:nowrap;
}

.remee-header-contact__phone:before{
  content:"☎";
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#79c6b1,#98d8c3);
  font-size:21px;
  line-height:1;
  box-shadow:0 8px 18px rgba(80,160,137,.18);
}

.remee-header-contact__hours{
  color:#776f79;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

.remee-header-contact__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--remee-main),#bd75aa);
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:750;
  box-shadow:0 10px 24px rgba(153,80,146,.2);
  transition:transform .2s ease,box-shadow .2s ease;
}

.remee-header-contact__button:hover{
  transform:translateY(-1px);
  box-shadow:0 13px 28px rgba(153,80,146,.26);
}

.remee-inquiry-cta{
  width:min(1140px, calc(100vw - 72px));
  margin:54px auto 0;
  padding:46px 50px;
  border-radius:30px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:center;
  background:
    radial-gradient(circle at 92% 14%,rgba(255,255,255,.36),transparent 28%),
    linear-gradient(135deg,#fff3f7,#f8edf7 56%,#fff3ec);
  border:1px solid rgba(153,80,146,.15);
  box-shadow:0 18px 42px rgba(153,80,146,.10);
  color:var(--remee-ink);
}

.remee-inquiry-cta__eyebrow{
  margin:0 0 8px;
  color:var(--remee-main);
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
}

.remee-inquiry-cta h2{
  margin:0 0 10px;
  color:#474149;
  font-size:clamp(24px,3vw,34px);
  line-height:1.35;
  font-weight:750;
}

.remee-inquiry-cta__hours{
  margin:0;
  color:#766d78;
  font-size:14px;
  line-height:1.7;
}

.remee-inquiry-cta__actions{
  display:flex;
  align-items:center;
  gap:16px;
}

.remee-inquiry-cta__phone{
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--remee-main)!important;
  text-decoration:none!important;
  font-size:clamp(27px,3.2vw,42px);
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

.remee-inquiry-cta__phone:before{
  content:"☎";
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#79c6b1,#98d8c3);
  font-size:28px;
  box-shadow:0 11px 26px rgba(80,160,137,.2);
}

.remee-inquiry-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 25px;
  border-radius:999px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--remee-main),#bd75aa);
  text-decoration:none!important;
  font-size:14px;
  font-weight:750;
  white-space:nowrap;
  box-shadow:0 11px 25px rgba(153,80,146,.20);
}

/* v2.7 contact CTA is the lower-page CTA; prevent old gradient CTA styling */
.remee-auto-shell > .remee-auto-cta{display:none!important;}

@media(max-width:900px){
  .remee-header-contact__inner{
    width:min(100%, calc(100vw - 28px));
    min-height:auto;
    padding:12px 0;
    gap:12px;
  }
  .remee-header-contact__phone{font-size:20px;}
  .remee-header-contact__phone:before{width:36px;height:36px;font-size:18px;}
  .remee-header-contact__hours{display:none;}
  .remee-header-contact__button{min-height:42px;padding:0 17px;font-size:12px;}

  .remee-inquiry-cta{
    width:min(100%, calc(100vw - 28px));
    margin-top:40px;
    padding:32px 24px;
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
    border-radius:24px;
  }
  .remee-inquiry-cta__actions{flex-direction:column;}
  .remee-inquiry-cta__phone{font-size:31px;}
  .remee-inquiry-cta__phone:before{width:52px;height:52px;flex-basis:52px;font-size:24px;}
  .remee-inquiry-cta__button{width:100%;max-width:360px;}
}

@media(max-width:520px){
  .remee-header-contact__inner{justify-content:space-between;}
  .remee-header-contact__phone{font-size:17px;gap:7px;}
  .remee-header-contact__phone:before{width:32px;height:32px;font-size:16px;}
  .remee-header-contact__button{padding:0 13px;}
  .remee-inquiry-cta__phone{font-size:27px;gap:9px;}
}


/* =========================================================
   ReMee v2.8: editorial pages and contact form
   ========================================================= */
body.remee-editorial-page .remee-auto-content{
  color:#4b4650;
  font-size:16px;
  line-height:2.05;
}
body.remee-editorial-page .remee-auto-content > *{max-width:920px;margin-left:auto;margin-right:auto;}
body.remee-editorial-page .remee-auto-content h2{
  position:relative;
  margin-top:58px;
  padding:22px 24px 22px 30px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#fff4f8,#faf2fb);
  box-shadow:0 10px 28px rgba(153,80,146,.07);
}
body.remee-editorial-page .remee-auto-content h2:before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:999px;
  background:linear-gradient(180deg,var(--remee-main),var(--remee-orange));
}
body.remee-editorial-page .remee-auto-content h3{
  margin-top:40px;padding-left:16px;border-left:4px solid var(--remee-pink);
}
body.remee-editorial-page .remee-auto-content p{margin-top:0;margin-bottom:1.35em;}
body.remee-editorial-page .remee-auto-content ul,
body.remee-editorial-page .remee-auto-content ol{
  padding:22px 26px 22px 48px;border:1px solid var(--remee-line);border-radius:18px;background:#fffafb;
}
body.remee-editorial-page .remee-auto-content li+li{margin-top:.65em;}
body.remee-editorial-page .remee-auto-content table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--remee-line);border-radius:16px;}
body.remee-editorial-page .remee-auto-content th{background:#faf1f8;color:var(--remee-main);font-weight:750;}
body.remee-editorial-page .remee-auto-content th,
body.remee-editorial-page .remee-auto-content td{padding:15px 18px;border-right:1px solid var(--remee-line);border-bottom:1px solid var(--remee-line);}
body.remee-editorial-page .remee-auto-content blockquote{padding:24px 28px;border:0;border-left:5px solid var(--remee-purple);border-radius:0 16px 16px 0;background:#faf7fc;color:#5d5661;}

body.remee-contact-page .siteContent .container,
body.remee-contact-page .siteContent_main,
body.remee-contact-page .mainSection{max-width:1040px!important;}
.remee-contact-intro{margin-bottom:34px;line-height:1.95;}
.remee-contact-form-card{
  margin:28px auto 54px;padding:42px;border:1px solid var(--remee-line);border-radius:28px;
  background:linear-gradient(145deg,#fff,#fff9fb);box-shadow:0 18px 46px rgba(153,80,146,.09);
}
.remee-contact-form-card h2{margin:0 0 8px;color:#484149;font-size:clamp(26px,3vw,36px);}
.remee-contact-form-card>p{margin:0 0 28px;color:var(--remee-muted);}
.remee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.remee-form-field{display:grid;gap:8px;color:#4d4750;font-weight:700;}
.remee-form-field--wide{grid-column:1/-1;}
.remee-form-field .required{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#fbe7ef;color:#a84470;font-size:11px;vertical-align:2px;}
.remee-contact-form-card input[type="text"],
.remee-contact-form-card input[type="email"],
.remee-contact-form-card input[type="tel"],
.remee-contact-form-card select,
.remee-contact-form-card textarea{
  width:100%;margin-top:8px;padding:14px 16px;border:1px solid #dfd1dd;border-radius:12px;background:#fff;color:#39353b;font:inherit;font-weight:500;
}
.remee-contact-form-card textarea{min-height:190px;resize:vertical;}
.remee-contact-form-card input:focus,
.remee-contact-form-card select:focus,
.remee-contact-form-card textarea:focus{outline:3px solid rgba(153,80,146,.12);border-color:var(--remee-main);}
.remee-form-consent{text-align:center;font-weight:500;}
.remee-form-submit{text-align:center;}
.remee-contact-form-card input[type="submit"],
.remee-contact-form-card button[type="submit"]{
  min-width:250px;padding:15px 34px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--remee-main),#bd75aa);color:#fff;font-weight:800;box-shadow:0 12px 26px rgba(153,80,146,.22);cursor:pointer;
}
.remee-contact-notice{margin:30px auto;padding:20px;border-radius:14px;background:#fff3cd;color:#66551b;}

/* v2.8 CTA: prevent ugly wrapping by stacking copy and actions cleanly. */
.remee-inquiry-cta{grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);}
.remee-inquiry-cta h2{white-space:nowrap;font-size:clamp(22px,2.4vw,31px);}
.remee-inquiry-cta__actions{justify-content:flex-end;}

@media(max-width:1050px){
  .remee-inquiry-cta{grid-template-columns:1fr;text-align:center;}
  .remee-inquiry-cta h2{white-space:normal;}
  .remee-inquiry-cta__actions{justify-content:center;}
}
@media(max-width:700px){
  body.remee-editorial-page .remee-auto-content > *{max-width:100%;}
  body.remee-editorial-page .remee-auto-content h2{margin-top:38px;padding:18px 18px 18px 24px;}
  .remee-contact-form-card{padding:28px 20px;border-radius:22px;}
  .remee-form-grid{grid-template-columns:1fr;gap:18px;}
  .remee-form-field--wide{grid-column:auto;}
}

.remee-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.remee-contact-result{margin:0 0 24px;padding:16px 18px;border-radius:14px;line-height:1.7;font-weight:700;}
.remee-contact-result--success{background:#edf9f3;color:#28664d;border:1px solid #bee6d2;}
.remee-contact-result--error{background:#fff1f3;color:#8f3347;border:1px solid #f1c3ce;}
.remee-form-consent input[type="checkbox"]{width:auto;margin-right:8px;}


/* =========================================================
   ReMee v2.8.4 corrections
   ========================================================= */
/* Keep the built-in contact form inside the main content flow and make it full-width. */
body.remee-contact-page .remee-auto-content .remee-contact-intro,
body.remee-contact-page .remee-auto-content .remee-contact-form-card{
  width:100%;
  max-width:920px;
  box-sizing:border-box;
}
body.remee-contact-page .remee-contact-form-card{
  margin-top:44px;
  margin-bottom:16px;
}

/* Ensure all specified policy/information pages receive a consistent editorial treatment. */
body.remee-editorial-page .remee-auto-content h2,
body.remee-editorial-page .remee-auto-content .wp-block-heading{
  color:#3f3943;
  font-weight:750;
  letter-spacing:.01em;
}
body.remee-editorial-page .remee-auto-content h3{
  color:#4b4350;
  font-weight:700;
}

/* Privacy policy is intentionally a little smaller and calmer. */
body.remee-privacy-page .remee-auto-content{
  font-size:15px;
  line-height:1.95;
}
body.remee-privacy-page .remee-auto-content h2{
  font-size:clamp(23px,2.5vw,31px);
}
body.remee-privacy-page .remee-auto-content h3{
  font-size:clamp(18px,2vw,23px);
}

/* Company-information footer: keep labels distinct without making the number heavy. */
.remee-auto-footer-info,
.remee-auto-footer-info span,
.remee-auto-footer-info a{
  font-weight:400!important;
}
.remee-auto-footer-info b{
  font-weight:650!important;
}

@media(max-width:700px){
  body.remee-privacy-page .remee-auto-content{font-size:14px;}
  body.remee-contact-page .remee-contact-form-card{margin-top:30px;}
}


/* =========================================================
   ReMee v2.8.5: page-specific editorial polish and form fix
   ========================================================= */

/* Shared content heading: visible page-title treatment below the hero. */
body.remee-page-service .remee-auto-content > h2:first-child,
body.remee-page-step .remee-auto-content > h2:first-child,
body.remee-page-vis .remee-auto-content > h2:first-child,
body.remee-page-dx .remee-auto-content > h2:first-child,
body.remee-page-ap .remee-auto-content > h2:first-child{
  margin-top:22px;
  padding:22px 26px 22px 32px;
  border:0;
  border-radius:18px;
  color:#443d47;
  background:linear-gradient(135deg,#fff2f7,#faf3fc);
  box-shadow:0 10px 28px rgba(153,80,146,.07);
  position:relative;
}
body.remee-page-service .remee-auto-content > h2:first-child:before,
body.remee-page-step .remee-auto-content > h2:first-child:before,
body.remee-page-vis .remee-auto-content > h2:first-child:before,
body.remee-page-dx .remee-auto-content > h2:first-child:before,
body.remee-page-ap .remee-auto-content > h2:first-child:before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:999px;
  background:linear-gradient(180deg,var(--remee-main),var(--remee-orange));
}

/* Service page: use one continuous numbered sequence even when the editor used mixed lists. */
body.remee-page-service .remee-auto-content{counter-reset:remee-service-item;}
body.remee-page-service .remee-auto-content ul,
body.remee-page-service .remee-auto-content ol{
  list-style:none!important;
  padding:0!important;
  margin:26px 0 12px!important;
  border:0!important;
  background:transparent!important;
}
body.remee-page-service .remee-auto-content li{
  counter-increment:remee-service-item;
  position:relative;
  min-height:86px;
  display:flex;
  align-items:center;
  padding:24px 28px 24px 88px;
  border:1px solid var(--remee-line);
  border-radius:18px;
  background:linear-gradient(135deg,#fffafb,#fff7fa);
  color:#554b57;
  font-size:clamp(17px,1.8vw,21px);
  font-weight:700;
  line-height:1.55;
  box-shadow:0 9px 24px rgba(153,80,146,.05);
}
body.remee-page-service .remee-auto-content li:before{
  content:counter(remee-service-item, decimal-leading-zero);
  position:absolute;left:24px;top:50%;transform:translateY(-50%);
  width:44px;height:44px;display:grid;place-items:center;border-radius:50%;
  color:#fff;background:linear-gradient(135deg,var(--remee-main),#c47aae);
  font-size:14px;font-weight:800;letter-spacing:.03em;
}
body.remee-page-service .remee-auto-content li::marker{content:"";}
body.remee-page-service .remee-auto-content li + li{margin-top:14px;}
body.remee-page-service .remee-auto-content ul + p,
body.remee-page-service .remee-auto-content ol + p{
  margin:0 12px 28px;
  color:#5d5661;
  font-size:16px;
  line-height:1.95;
}

/* Flow page: clear section cards, targets, steps and notes. */
body.remee-page-step .remee-auto-content{font-size:16px;line-height:2;}
body.remee-page-step .remee-flow-section{
  margin:38px 0 18px!important;padding:17px 22px!important;border-radius:15px;
  color:#fff;background:linear-gradient(135deg,var(--remee-main),#b86fa7);
  font-size:20px;font-weight:800;box-shadow:0 10px 24px rgba(153,80,146,.15);
}
body.remee-page-step .remee-flow-target{
  margin:20px 0!important;padding:18px 22px!important;border:1px solid #e8cbe0;border-radius:15px;
  color:#544b56;background:#fff8fb;font-weight:700;
}
body.remee-page-step .remee-flow-step{
  position:relative;margin:28px 0 14px!important;padding:20px 24px 20px 60px!important;
  border-radius:16px;background:linear-gradient(135deg,#fff4f8,#fbf6fc);
  color:#443e47;font-size:19px;font-weight:800;box-shadow:0 9px 24px rgba(153,80,146,.06);
}
body.remee-page-step .remee-flow-step:before{
  content:"";position:absolute;left:24px;top:18px;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,var(--remee-orange),var(--remee-main));box-shadow:0 0 0 7px rgba(153,80,146,.08);
}
body.remee-page-step .remee-flow-note{
  margin:10px 0!important;padding:12px 18px!important;border-left:4px solid var(--remee-orange);
  border-radius:0 12px 12px 0;background:#fffaf5;color:#665b5f;
}
body.remee-page-step .remee-auto-content ul,
body.remee-page-step .remee-auto-content ol{
  margin:18px 0 26px;padding:20px 26px 20px 48px;border-radius:16px;background:#fffafb;
}

/* Text-heavy information pages: consistent readable sections. */
body.remee-page-vis .remee-auto-content,
body.remee-page-dx .remee-auto-content,
body.remee-page-ap .remee-auto-content{font-size:16px;line-height:2;}
body.remee-page-vis .remee-auto-content h2,
body.remee-page-dx .remee-auto-content h2,
body.remee-page-ap .remee-auto-content h2{
  position:relative;margin-top:44px;padding:20px 24px 20px 30px;border:0;border-radius:17px;
  color:#443e47;background:linear-gradient(135deg,#fff4f8,#faf3fc);
}
body.remee-page-vis .remee-auto-content h2:before,
body.remee-page-dx .remee-auto-content h2:before,
body.remee-page-ap .remee-auto-content h2:before{
  content:"";position:absolute;left:0;top:17px;bottom:17px;width:5px;border-radius:999px;
  background:linear-gradient(180deg,var(--remee-main),var(--remee-orange));
}
body.remee-page-vis .remee-auto-content h3,
body.remee-page-dx .remee-auto-content h3,
body.remee-page-ap .remee-auto-content h3{
  margin-top:30px;padding:12px 16px;border-left:4px solid var(--remee-pink);
  color:var(--remee-main);font-size:20px;background:#fffafb;
}
body.remee-page-vis .remee-auto-content ul,
body.remee-page-vis .remee-auto-content ol,
body.remee-page-dx .remee-auto-content ul,
body.remee-page-dx .remee-auto-content ol,
body.remee-page-ap .remee-auto-content ul,
body.remee-page-ap .remee-auto-content ol{
  padding:22px 28px 22px 48px;border:1px solid var(--remee-line);border-radius:17px;background:#fffafb;
}

/* Company-information footer must remain regular weight everywhere. */
.remee-auto-footer-info,
.remee-auto-footer-info *,
.remee-auto-footer-info a,
.remee-auto-footer-info span,
.remee-auto-footer-info b,
.remee-auto-footer-info strong{
  font-weight:400!important;
}

/* Native form: restore normal interaction in the Customizer and the public page. */
.remee-contact-form-card,
.remee-native-form,
.remee-form-grid,
.remee-form-field{
  position:relative;
  z-index:5;
  pointer-events:auto!important;
}
.remee-contact-form-card input:not([type="hidden"]),
.remee-contact-form-card textarea,
.remee-contact-form-card select,
.remee-contact-form-card button{
  position:relative;
  z-index:6;
  pointer-events:auto!important;
  opacity:1!important;
}
.remee-contact-form-card input[type="text"],
.remee-contact-form-card input[type="email"],
.remee-contact-form-card input[type="tel"],
.remee-contact-form-card textarea{cursor:text!important;}
.remee-contact-form-card select{cursor:pointer!important;}
.remee-contact-form-card button{cursor:pointer!important;}
.remee-contact-form-card input:disabled,
.remee-contact-form-card textarea:disabled,
.remee-contact-form-card select:disabled{cursor:not-allowed!important;}

/* Cleaner form proportions and labels. */
.remee-contact-form-card{max-width:920px!important;padding:42px 46px!important;}
.remee-form-field{gap:10px;font-size:15px;}
.remee-form-field .required{float:none;margin-left:8px;}
.remee-contact-form-card input[type="text"],
.remee-contact-form-card input[type="email"],
.remee-contact-form-card input[type="tel"],
.remee-contact-form-card select{
  min-height:52px;
}
.remee-contact-form-card textarea{min-height:210px;}

@media(max-width:700px){
  body.remee-page-service .remee-auto-content li{padding:21px 18px 21px 70px;font-size:17px;}
  body.remee-page-service .remee-auto-content li:before{left:17px;width:40px;height:40px;}
  body.remee-page-step .remee-flow-step{padding-left:52px!important;font-size:17px;}
  .remee-contact-form-card{padding:28px 20px!important;}
}

/* =========================================================
   ReMee v2.9 — stable editorial shell
   ========================================================= */
body.remee-lower-page .remee-auto-content{
  width:min(1040px,calc(100vw - 56px));
  max-width:1040px;
  margin-inline:auto;
  color:#403b44;
  font-size:16px;
  line-height:1.95;
  letter-spacing:.01em;
}
body.remee-lower-page .remee-auto-content > *{
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
body.remee-lower-page .remee-auto-content p{
  margin-top:0;
  margin-bottom:1.45em;
  overflow-wrap:anywhere;
  word-break:normal;
}
body.remee-lower-page .remee-auto-content h2,
body.remee-lower-page .remee-auto-content h3,
body.remee-lower-page .remee-auto-content h4,
body.remee-lower-page .remee-auto-content h5{
  text-wrap:balance;
}

/* Keep the design calm: one shared heading language. */
body.remee-editorial-page .remee-auto-content h2,
body.remee-editorial-page .remee-auto-content .wp-block-heading{
  margin-top:46px;
  margin-bottom:22px;
  padding:20px 24px 20px 30px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#fff5f8,#fbf5fc);
  box-shadow:none;
  font-size:clamp(23px,2.6vw,32px);
  line-height:1.45;
}
body.remee-editorial-page .remee-auto-content h3,
body.remee-editorial-page .remee-auto-content h4{
  margin:34px auto 16px;
  padding:0 0 0 15px;
  border-left:4px solid #cf7fac;
  color:#474049;
  font-size:clamp(19px,2vw,24px);
  line-height:1.55;
}

/* Service: sequential, consistent item headers. */
body.remee-page-service .remee-service-item-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin:34px auto 14px!important;
  padding:17px 20px!important;
  border:1px solid #ead2e5!important;
  border-radius:16px!important;
  background:#fffafb!important;
  color:#484149!important;
  font-size:clamp(18px,2vw,22px)!important;
  line-height:1.55!important;
  font-weight:750!important;
}
.remee-service-number{
  display:inline-grid;
  place-items:center;
  min-width:42px;
  height:42px;
  padding:0 9px;
  border-radius:999px;
  background:#995092;
  color:#fff;
  font-size:13px;
  letter-spacing:.06em;
  flex:0 0 auto;
}

/* Flow: two equal pillars and one uninterrupted visual rule per pillar. */
body.remee-page-step .remee-flow-pillar{
  margin:48px auto 24px!important;
  padding:20px 24px!important;
  border:0!important;
  border-radius:16px!important;
  background:#995092!important;
  color:#fff!important;
  font-size:clamp(22px,2.5vw,30px)!important;
  font-weight:800!important;
  line-height:1.4!important;
}
body.remee-page-step .remee-flow-step{
  display:grid;
  grid-template-columns:94px 1fr;
  gap:18px;
  align-items:center;
  margin:18px auto 8px!important;
  padding:18px 22px!important;
  border:1px solid #ead2e5!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(153,80,146,.05);
  color:#443e47!important;
}
.remee-flow-step__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  background:#f7eaf2;
  color:#995092;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
}
.remee-flow-step__title{font-size:17px;font-weight:750;line-height:1.55;}
body.remee-page-step .remee-flow-target{
  margin:14px auto 20px!important;
  padding:16px 20px!important;
  border:1px solid #ead2e5!important;
  border-radius:14px!important;
  background:#fffafb!important;
  color:#514a53!important;
}
body.remee-page-step .remee-flow-note{
  margin:10px auto 14px!important;
  padding:13px 16px!important;
  border:0!important;
  border-left:3px solid #f0a27f!important;
  border-radius:0 10px 10px 0!important;
  background:#fff8f3!important;
  color:#655b61!important;
  font-size:14px!important;
  line-height:1.8!important;
}

/* Policy / disclosure pages: compact reading width and orderly numbered clauses. */
body.remee-page-vis .remee-auto-content,
body.remee-page-dx .remee-auto-content,
body.remee-page-ap .remee-auto-content,
body.remee-page-pro .remee-auto-content,
body.remee-page-priv .remee-auto-content{
  font-size:15px;
  line-height:1.95;
}
body.remee-page-vis .remee-auto-content > *,
body.remee-page-dx .remee-auto-content > *,
body.remee-page-ap .remee-auto-content > *,
body.remee-page-pro .remee-auto-content > *,
body.remee-page-priv .remee-auto-content > *{
  max-width:880px;
}
.remee-policy-numbered{
  margin:16px auto!important;
  padding:18px 20px 18px 58px!important;
  border:1px solid #ead2e5!important;
  border-radius:14px!important;
  background:#fff!important;
  position:relative;
}
.remee-policy-subitem{
  margin:10px auto!important;
  padding-left:18px!important;
  border-left:3px solid #f2c2d5;
}

/* Inquiry form: stable interaction and restrained visual scale. */
body.remee-contact-page .remee-contact-form-card{
  position:relative;
  z-index:2;
  max-width:920px!important;
  margin:42px auto 28px!important;
  padding:36px!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
body.remee-contact-page .remee-native-form,
body.remee-contact-page .remee-native-form *{
  pointer-events:auto!important;
}
body.remee-contact-page .remee-contact-form-card input,
body.remee-contact-page .remee-contact-form-card select,
body.remee-contact-page .remee-contact-form-card textarea{
  position:relative;
  z-index:3;
  cursor:text!important;
  min-height:50px;
}
body.remee-contact-page .remee-contact-form-card select{cursor:pointer!important;}
body.remee-contact-page .remee-contact-form-card input[type="checkbox"]{min-height:auto;cursor:pointer!important;}
body.remee-contact-page .remee-contact-form-card button{cursor:pointer!important;}

/* Company footer information should remain regular weight everywhere. */
.remee-auto-footer-info,
.remee-auto-footer-info *{
  font-weight:400!important;
}
.remee-auto-footer-info b,
.remee-auto-footer-info strong{
  font-weight:550!important;
}

@media(max-width:700px){
  body.remee-lower-page .remee-auto-content{width:min(100%,calc(100vw - 30px));font-size:15px;}
  body.remee-page-step .remee-flow-step{grid-template-columns:1fr;gap:10px;padding:16px!important;}
  .remee-flow-step__number{width:max-content;padding:0 14px;}
  body.remee-contact-page .remee-contact-form-card{padding:24px 18px!important;}
}

/* =========================================================
   ReMee v2.9.3 — five-page design pack and shared CTA
   ========================================================= */
.remee-v292-intro{max-width:920px!important;margin:18px auto 42px!important;text-align:center;padding:34px 40px;border-radius:24px;background:linear-gradient(135deg,#fff8fb,#fffaf5);border:1px solid #f0dce9}
.remee-v292-kicker{margin:0 0 10px!important;color:var(--remee-main);font-size:12px;font-weight:800;letter-spacing:.18em}
.remee-v292-intro h2{margin:0 0 14px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font-size:clamp(24px,3vw,34px)!important;line-height:1.5!important}
.remee-v292-intro p:last-child{margin:0!important;color:#6f6872;line-height:1.9}

.remee-service-grid{max-width:1040px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 auto 30px!important}
.remee-service-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;min-width:0;padding:26px;border:1px solid #ead2e5;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(153,80,146,.07)}
.remee-service-card__number{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#995092,#c477a9);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}
.remee-service-card__body{min-width:0}
body.remee-page-service .remee-service-card h3{margin:0 0 10px!important;padding:0!important;border:0!important;background:none!important;color:#443d47;font-size:clamp(18px,2vw,22px)!important;line-height:1.55!important;word-break:normal!important;overflow-wrap:break-word!important}
.remee-service-card p{margin:0!important;color:#665f69;font-size:15px;line-height:1.9;word-break:normal!important;overflow-wrap:break-word!important}
.remee-v292-message{max-width:920px!important;display:flex;gap:20px;align-items:center;margin:34px auto 0!important;padding:28px 32px;border-radius:22px;background:linear-gradient(135deg,#fff1f6,#fff8f1);border:1px solid #f0d2df}
.remee-v292-message__icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#fff;color:#c477a9;font-size:28px;box-shadow:0 8px 20px rgba(153,80,146,.10)}
.remee-v292-message h3{margin:0 0 6px!important;padding:0!important;border:0!important;background:none!important;font-size:21px!important;color:#4a424b!important}
.remee-v292-message p{margin:0!important;color:#6a626d}

.remee-price-grid{max-width:1040px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 auto!important}
.remee-price-card{position:relative;overflow:hidden;padding:34px;border-radius:26px;border:1px solid #ead2e5;background:#fff;box-shadow:0 14px 34px rgba(153,80,146,.08)}
.remee-price-card:after{content:"";position:absolute;right:-45px;top:-45px;width:140px;height:140px;border-radius:50%;background:rgba(248,183,207,.16)}
.remee-price-card--medical:after{background:rgba(201,165,216,.18)}
.remee-price-card__icon{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;margin-bottom:20px;border-radius:16px;background:#fff0f5;color:#995092;font-size:20px;font-weight:800}
.remee-price-card--medical .remee-price-card__icon{background:#f3edfa;color:#76528d}
.remee-price-card__label{margin:0 0 8px!important;color:#b06d98;font-size:11px;font-weight:800;letter-spacing:.12em}
.remee-price-card h3{margin:0 0 14px!important;padding:0!important;border:0!important;background:none!important;color:#443d47!important;font-size:24px!important;line-height:1.45!important}
.remee-price-card>p:not(.remee-price-card__label){color:#665f69}
.remee-price-card ul{margin:20px 0!important;padding:18px 20px 18px 42px!important;border-radius:16px;background:#fff8fb!important;border:0!important}
.remee-price-card li+li{margin-top:8px}
.remee-price-example{display:grid;gap:4px;margin-top:22px;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#fff0f5,#fff7f0)}
.remee-price-example span{font-size:12px;color:#995092;font-weight:800}.remee-price-example strong{font-size:21px;color:#4b414c}.remee-price-example small{color:#746d75}
.remee-price-note{margin-top:22px;padding:18px;border-left:4px solid #c9a5d8;border-radius:0 14px 14px 0;background:#faf6fd;color:#655d68;line-height:1.8}

.remee-flow-group{max-width:940px!important;margin:0 auto 58px!important;padding:34px;border-radius:28px;background:#fff;border:1px solid #ead2e5;box-shadow:0 14px 34px rgba(153,80,146,.07)}
.remee-flow-group__heading{display:flex;gap:18px;align-items:center;margin-bottom:20px}
.remee-flow-group__heading>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#995092;color:#fff;font-weight:800}
.remee-flow-group--medical .remee-flow-group__heading>span{background:#8f6ba3}
.remee-flow-group__heading p{margin:0 0 3px!important;color:#a66c94;font-size:12px;font-weight:800;letter-spacing:.12em}
.remee-flow-group__heading h2{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font-size:clamp(23px,3vw,31px)!important}
.remee-flow-eligibility{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:start;margin-bottom:28px;padding:18px 20px;border-radius:16px;background:#fff7fa}
.remee-flow-eligibility strong{color:#995092}.remee-flow-eligibility p{margin:0!important}
.remee-flow-timeline{position:relative}.remee-flow-timeline:before{content:"";position:absolute;left:23px;top:28px;bottom:28px;width:2px;background:linear-gradient(#d9a8c6,#f2c7b7)}
.remee-flow-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;align-items:start;margin:0!important;padding:0 0 24px!important}
.remee-flow-card:last-child{padding-bottom:0!important}.remee-flow-card__marker{position:relative;z-index:1;padding-top:4px}.remee-flow-card__marker span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid #c67ea9;color:#995092;font-weight:800;box-shadow:0 0 0 7px #fff}
.remee-flow-card__content{min-width:0;padding:20px 22px;border-radius:18px;background:#fffafb;border:1px solid #edd9e7}
.remee-flow-card__step{margin:0 0 3px!important;color:#b06c97;font-size:11px;font-weight:800;letter-spacing:.1em}
.remee-flow-card h3{margin:0 0 10px!important;padding:0!important;border:0!important;background:none!important;color:#463f48!important;font-size:20px!important;line-height:1.5!important;word-break:normal!important}
.remee-flow-card__text p{margin:0!important}.remee-flow-card__text ul{margin:8px 0 0!important;padding:0 0 0 1.25em!important;border:0!important;background:none!important}.remee-flow-card__text li+li{margin-top:8px}

.remee-dx-summary{max-width:920px!important;display:grid;grid-template-columns:78px minmax(0,1fr);gap:24px;align-items:center;margin:0 auto 42px!important;padding:28px 30px;border-radius:22px;background:linear-gradient(135deg,#f8f2fb,#fff8fb);border:1px solid #e8d8ef}
.remee-dx-summary__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#995092;color:#fff;font-weight:800;font-size:20px;letter-spacing:.05em}
.remee-dx-summary h3{margin:0 0 8px!important;padding:0!important;border:0!important;background:none!important;color:#463f48!important}.remee-dx-summary p{margin:0!important}
.remee-policy-section{max-width:920px!important;margin:0 auto 44px!important}.remee-policy-section>h2{margin:0 0 20px!important;padding:18px 22px!important;border-radius:16px!important;background:linear-gradient(135deg,#fff4f8,#faf4fc)!important;border:0!important;font-size:clamp(22px,2.6vw,30px)!important}
.remee-policy-grid,.remee-definition-grid,.remee-response-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.remee-policy-grid article,.remee-definition-grid article,.remee-response-steps article{position:relative;min-width:0;padding:24px;border-radius:20px;background:#fff;border:1px solid #ead2e5;box-shadow:0 10px 26px rgba(153,80,146,.05)}
.remee-policy-grid article>span,.remee-definition-grid article>span,.remee-response-steps article>span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:#f6e8f1;color:#995092;font-size:12px;font-weight:800}
.remee-policy-grid h3,.remee-definition-grid h3,.remee-response-steps h3{margin:0 0 8px!important;padding:0!important;border:0!important;background:none!important;color:#463f48!important;font-size:19px!important}.remee-policy-grid p,.remee-definition-grid p,.remee-response-steps p{margin:0!important}
.remee-policy-box{padding:24px 28px;border-radius:20px;background:#fff;border:1px solid #ead2e5}.remee-policy-box>p:first-child{margin-top:0!important}.remee-policy-box ul{margin:12px 0 0!important;padding:0 0 0 1.3em!important;border:0!important;background:none!important}.remee-policy-box li+li{margin-top:8px}
.remee-response-steps{grid-template-columns:repeat(3,minmax(0,1fr))}

/* CTA replacing the old inquiry footer block */
.remee-inquiry-cta.remee-inquiry-cta--v292{width:min(1140px,calc(100vw - 72px));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:28px;align-items:center;margin:54px auto 38px;padding:42px 46px;border-radius:30px;background:linear-gradient(135deg,#fff5f8 0%,#fff8f2 52%,#f8f1fb 100%);border:1px solid #eed7e6;color:#443d47;box-shadow:0 16px 38px rgba(153,80,146,.10)}
.remee-inquiry-cta__heading{display:flex;gap:18px;align-items:center}.remee-inquiry-cta__doc{display:flex;flex-direction:column;gap:6px;justify-content:center;flex:0 0 58px;width:58px;height:66px;padding:15px;border-radius:14px;background:#fff;border:2px solid #995092}.remee-inquiry-cta__doc i{display:block;height:2px;background:#f0a27f;border-radius:2px}.remee-inquiry-cta__eyebrow{margin:0 0 5px!important;color:#a66c94!important;font-size:11px!important;font-weight:800;letter-spacing:.14em}.remee-inquiry-cta--v292 h2{margin:0!important;color:#443d47!important;font-size:clamp(24px,3vw,34px)!important;white-space:normal!important}.remee-inquiry-cta__description{max-width:680px;margin:20px 0 24px!important;color:#6a626d!important;line-height:1.9!important}
.remee-inquiry-cta--v292 .remee-inquiry-cta__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}.remee-inquiry-cta--v292 .remee-inquiry-cta__phone{display:grid;gap:1px;min-width:250px;padding:12px 18px;border-radius:16px;background:#fff;color:#5a4e59!important;text-decoration:none!important;border:1px solid #ead2e5}.remee-inquiry-cta__phone small{font-size:11px;color:#9b7892}.remee-inquiry-cta__phone strong{font-size:22px;color:#995092;line-height:1.25}.remee-inquiry-cta__phone span{font-size:11px;color:#7b727c}.remee-inquiry-cta--v292 .remee-inquiry-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:220px;padding:16px 22px;border-radius:999px;background:linear-gradient(135deg,#995092,#c477a9);color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 10px 24px rgba(153,80,146,.18)}
.remee-inquiry-cta__art{position:relative;min-height:220px}.remee-art-house{position:absolute;right:34px;bottom:10px;width:150px;height:130px}.remee-art-house__roof{position:absolute;left:15px;top:5px;width:118px;height:82px;background:#f7b4c7;clip-path:polygon(50% 0,100% 65%,86% 65%,86% 100%,14% 100%,14% 65%,0 65%)}.remee-art-house__body{position:absolute;left:36px;bottom:0;width:78px;height:70px;background:#fff;border:3px solid #995092;border-radius:8px}.remee-art-house__body i{position:absolute;left:27px;bottom:0;width:24px;height:42px;background:#fff4f7;border:2px solid #995092;border-bottom:0}.remee-art-note{position:absolute;left:2px;bottom:16px;width:92px;height:112px;padding:28px 18px;border:3px solid #995092;border-radius:10px;background:#fff;transform:rotate(-4deg)}.remee-art-note:before{content:"";position:absolute;left:29px;top:-12px;width:34px;height:22px;border-radius:8px;background:#f0a27f}.remee-art-note span{display:block;height:3px;margin-bottom:11px;background:#d9a8c6;border-radius:4px}.remee-art-heart{position:absolute;right:8px;top:8px;color:#f0a27f;font-size:42px;transform:rotate(8deg)}

@media(max-width:850px){.remee-service-grid,.remee-price-grid,.remee-policy-grid,.remee-definition-grid,.remee-response-steps{grid-template-columns:1fr}.remee-inquiry-cta.remee-inquiry-cta--v292{grid-template-columns:1fr;width:min(100%,calc(100vw - 28px));padding:32px 26px}.remee-inquiry-cta__art{display:none}.remee-flow-group{padding:26px}.remee-flow-eligibility{grid-template-columns:1fr;gap:5px}}
@media(max-width:600px){.remee-v292-intro{padding:26px 20px}.remee-service-card{grid-template-columns:46px minmax(0,1fr);padding:21px 18px;gap:13px}.remee-service-card__number{width:42px;height:42px}.remee-flow-group{padding:20px 16px}.remee-flow-group__heading{align-items:flex-start}.remee-flow-group__heading>span{width:48px;height:48px;flex:0 0 48px}.remee-flow-card{grid-template-columns:38px minmax(0,1fr);gap:13px}.remee-flow-timeline:before{left:18px}.remee-flow-card__marker span{width:38px;height:38px}.remee-flow-card__content{padding:18px 16px}.remee-dx-summary{grid-template-columns:1fr;text-align:left;padding:24px}.remee-inquiry-cta__heading{align-items:flex-start}.remee-inquiry-cta__doc{width:50px;height:58px;flex-basis:50px}.remee-inquiry-cta--v292 .remee-inquiry-cta__actions{display:grid}.remee-inquiry-cta--v292 .remee-inquiry-cta__phone,.remee-inquiry-cta--v292 .remee-inquiry-cta__button{min-width:0;width:100%}.remee-v292-message{align-items:flex-start;padding:24px 20px}}

/* =========================================================
   ReMee v2.9.3 — hardening fixes for nested editorial styles
   ========================================================= */
/* Custom cards must not inherit the generic editorial heading decorations. */
body.remee-page-service .remee-service-card h3,
body.remee-page-step .remee-flow-group h2,
body.remee-page-step .remee-flow-card h3,
body.remee-page-fee .remee-price-card h3{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  border-left:0!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
  text-wrap:wrap!important;
}
body.remee-page-service .remee-service-card h3::before,
body.remee-page-service .remee-service-card h3::after,
body.remee-page-step .remee-flow-group h2::before,
body.remee-page-step .remee-flow-group h2::after,
body.remee-page-step .remee-flow-card h3::before,
body.remee-page-step .remee-flow-card h3::after,
body.remee-page-fee .remee-price-card h3::before,
body.remee-page-fee .remee-price-card h3::after{
  content:none!important;
  display:none!important;
}

/* Service cards: force the text column to consume all remaining width. */
body.remee-page-service .remee-service-grid{
  width:100%!important;
  max-width:1040px!important;
}
body.remee-page-service .remee-service-card{
  display:flex!important;
  align-items:flex-start!important;
  width:100%!important;
  min-width:0!important;
}
body.remee-page-service .remee-service-card__number{flex:0 0 50px!important;}
body.remee-page-service .remee-service-card__body{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
body.remee-page-service .remee-service-card__body p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

/* Flow headings and eligibility boxes: aligned full-width content. */
body.remee-page-step .remee-flow-group__heading{
  width:100%!important;
}
body.remee-page-step .remee-flow-group__heading > div{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
body.remee-page-step .remee-flow-eligibility{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
  padding:22px 24px!important;
  gap:24px!important;
}
body.remee-page-step .remee-flow-eligibility strong,
body.remee-page-step .remee-flow-eligibility p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
body.remee-page-step .remee-flow-card__content,
body.remee-page-step .remee-flow-card__text,
body.remee-page-step .remee-flow-card__text p,
body.remee-page-step .remee-flow-card__text ul{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Price-card heading rule runs across the usable card width. */
body.remee-page-fee .remee-price-card h3{
  padding-bottom:14px!important;
  margin-bottom:18px!important;
  border-bottom:2px dotted #dfa0c4!important;
}
body.remee-page-fee .remee-price-card--medical h3{
  border-bottom-color:#c7a5d8!important;
}

@media(max-width:850px){
  body.remee-page-step .remee-flow-eligibility{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}
@media(max-width:600px){
  body.remee-page-service .remee-service-card__number{flex-basis:42px!important;}
  body.remee-page-step .remee-flow-eligibility{padding:18px!important;}
}


/* =========================================================
   ReMee v2.9.4 — width alignment, flow copy and company page
   ========================================================= */
body.remee-lower-page .remee-auto-content{
  width:min(1140px,calc(100vw - 72px))!important;
}
body.remee-lower-page .remee-v292-intro{
  width:100%!important;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:42px 54px!important;
}
body.remee-page-step .remee-flow-group{
  width:100%!important;
  max-width:1140px!important;
}

/* The eligibility panel uses the full line instead of compressing copy at left. */
body.remee-page-step .remee-flow-eligibility{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  width:100%!important;
  padding:24px 28px!important;
}
body.remee-page-step .remee-flow-eligibility__icon{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  background:#f2e4ef!important;
  color:#995092!important;
  font-size:21px!important;
  font-weight:800!important;
}
body.remee-page-step .remee-flow-group--medical .remee-flow-eligibility__icon{
  background:#eee7f4!important;
  color:#826095!important;
}
body.remee-page-step .remee-flow-eligibility__copy{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.remee-page-step .remee-flow-eligibility__copy strong{
  display:block!important;
  margin:0 0 8px!important;
  color:#995092!important;
  font-size:17px!important;
}
body.remee-page-step .remee-flow-eligibility__copy p,
body.remee-page-step .remee-flow-eligibility__copy small{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.9!important;
}
body.remee-page-step .remee-flow-eligibility__copy small{
  margin-top:8px!important;
  color:#7b727c!important;
  font-size:13px!important;
}

/* More balanced phone card inside the shared CTA. */
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone{
  position:relative!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:14px!important;
  align-items:center!important;
  min-width:320px!important;
  padding:15px 20px!important;
}
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone::before{
  content:"☎"!important;
  grid-column:1!important;
  grid-row:1/4!important;
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  background:#79c6b1!important;
  color:#fff!important;
  font-size:25px!important;
}
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone small,
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone strong,
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone span{
  grid-column:2!important;
}
.remee-inquiry-cta--v292 .remee-inquiry-cta__phone strong{
  font-size:25px!important;
  letter-spacing:.02em!important;
}

/* Company information */
.remee-company-profile{
  width:min(1040px,100%)!important;
  margin:0 auto 28px!important;
  overflow:hidden!important;
  border:1px solid #ead2e5!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(153,80,146,.07)!important;
}
.remee-company-profile__heading{
  padding:26px 32px 22px!important;
  background:linear-gradient(135deg,#fff4f8,#faf4fc)!important;
}
.remee-company-profile__heading p,
.remee-company-card__eyebrow{
  margin:0 0 6px!important;
  color:#a66c94!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.remee-company-profile__heading h2,
.remee-company-card h2{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#443d47!important;
  font-size:clamp(23px,3vw,30px)!important;
}
.remee-company-table{margin:0!important;padding:8px 32px 22px!important;}
.remee-company-table>div{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:24px!important;
  padding:20px 0!important;
  border-bottom:1px solid #f0e0eb!important;
}
.remee-company-table>div:last-child{border-bottom:0!important;}
.remee-company-table dt{color:#995092!important;font-weight:750!important;}
.remee-company-table dd{margin:0!important;color:#4c454e!important;}
.remee-company-columns{
  width:min(1040px,100%)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  margin:0 auto!important;
}
.remee-company-card{
  position:relative!important;
  overflow:hidden!important;
  padding:30px 32px!important;
  border:1px solid #ead2e5!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(153,80,146,.06)!important;
}
.remee-company-card__icon{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  margin-bottom:18px!important;
  border-radius:16px!important;
  background:#fff0f5!important;
  color:#995092!important;
  font-size:20px!important;
  font-weight:800!important;
}
.remee-company-card--locations .remee-company-card__icon{background:#f2ecf7!important;color:#826095!important;}
.remee-company-card ul{
  margin:20px 0 0!important;
  padding:0!important;
  list-style:none!important;
  border:0!important;
  background:none!important;
}
.remee-company-card li{
  position:relative!important;
  margin:0!important;
  padding:14px 0 14px 24px!important;
  border-bottom:1px solid #f1e5ed!important;
}
.remee-company-card li:last-child{border-bottom:0!important;}
.remee-company-card li::before{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  top:50%!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#995092,#f0a27f)!important;
  transform:translateY(-50%)!important;
}

@media(max-width:850px){
  body.remee-lower-page .remee-auto-content{width:min(100%,calc(100vw - 28px))!important;}
  body.remee-lower-page .remee-v292-intro{padding:32px 24px!important;}
  .remee-company-columns{grid-template-columns:1fr!important;}
  .remee-company-table>div{grid-template-columns:1fr!important;gap:5px!important;}
}
@media(max-width:600px){
  body.remee-page-step .remee-flow-eligibility{grid-template-columns:1fr!important;padding:20px!important;}
  .remee-inquiry-cta--v292 .remee-inquiry-cta__phone{min-width:0!important;width:100%!important;}
  .remee-company-profile__heading,.remee-company-card{padding:24px 20px!important;}
  .remee-company-table{padding:6px 20px 18px!important;}
}


/* =========================================================
   ReMee v2.9.5 — finishing alignment and icon refinements
   ========================================================= */

/* Intro panels follow the exact same width as the page hero. */
body.remee-lower-page .remee-auto-content{
  width:min(1140px,calc(100vw - 72px))!important;
}
body.remee-lower-page .remee-v292-intro,
body.remee-lower-page .remee-company-intro{
  width:100%!important;
  max-width:none!important;
  margin:18px 0 42px!important;
  box-sizing:border-box!important;
}

/* Remove inherited heading ornaments from the bespoke page designs. */
body.remee-lower-page .remee-v292-intro::before,
body.remee-lower-page .remee-v292-intro::after,
body.remee-lower-page .remee-v292-intro h2::before,
body.remee-lower-page .remee-v292-intro h2::after,
.remee-company-profile__heading::before,
.remee-company-profile__heading::after,
.remee-company-profile__heading h2::before,
.remee-company-profile__heading h2::after,
.remee-company-card::before,
.remee-company-card::after,
.remee-company-card h2::before,
.remee-company-card h2::after{
  content:none!important;
  display:none!important;
}

/* Keep the service-flow headline on one line where the viewport allows it. */
body.remee-page-step .remee-v292-intro h2{
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(25px,2.65vw,34px)!important;
  letter-spacing:-.025em!important;
}

/* Consistent plus icon for both eligibility panels. */
body.remee-page-step .remee-flow-eligibility__icon{
  font-family:Arial,sans-serif!important;
  font-size:26px!important;
  font-weight:400!important;
  line-height:1!important;
}

/* Clear clipboard/check icon for the shared information CTA. */
.remee-inquiry-cta__doc{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:7px!important;
  width:68px!important;
  height:76px!important;
  flex:0 0 68px!important;
  padding:23px 15px 13px!important;
  border:2px solid #995092!important;
  border-radius:16px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.remee-inquiry-cta__clip{
  position:absolute!important;
  left:50%!important;
  top:-8px!important;
  width:30px!important;
  height:15px!important;
  border:2px solid #995092!important;
  border-radius:7px 7px 4px 4px!important;
  background:#f7dbe9!important;
  transform:translateX(-50%)!important;
}
.remee-inquiry-cta__doc i{
  display:block!important;
  width:100%!important;
  height:2px!important;
  margin:0!important;
  border-radius:3px!important;
  background:#dca5c7!important;
}
.remee-inquiry-cta__doc b{
  position:absolute!important;
  right:-8px!important;
  bottom:-8px!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#995092!important;
  color:#fff!important;
  font-family:Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:800!important;
  box-shadow:0 4px 12px rgba(153,80,146,.18)!important;
}

/* Company blocks stay clean: no decorative glyphs attached to headings. */
.remee-company-profile__heading h2,
.remee-company-card h2{
  padding-left:0!important;
  text-indent:0!important;
}

@media(max-width:1000px){
  body.remee-page-step .remee-v292-intro h2{
    white-space:normal!important;
  }
}
@media(max-width:850px){
  body.remee-lower-page .remee-auto-content{
    width:min(100%,calc(100vw - 28px))!important;
  }
  body.remee-lower-page .remee-v292-intro,
  body.remee-lower-page .remee-company-intro{
    margin-left:0!important;
    margin-right:0!important;
  }
}
@media(max-width:600px){
  .remee-inquiry-cta__doc{
    width:58px!important;
    height:66px!important;
    flex-basis:58px!important;
    padding:20px 13px 11px!important;
  }
}


/* =========================================================
   ReMee v2.9.6 — typography and title refinement only
   Layout, widths, grids and card placement are unchanged.
   ========================================================= */

/* Shared Japanese type system */
body.remee-lower-page .remee-auto-shell,
body.remee-lower-page .remee-auto-shell button,
body.remee-lower-page .remee-auto-shell input,
body.remee-lower-page .remee-auto-shell textarea,
body.remee-lower-page .remee-auto-shell select{
  font-family:"Noto Sans JP","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Segoe UI",sans-serif!important;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* English eyebrow labels: same size, weight and tracking everywhere */
body.remee-lower-page .remee-auto-label,
body.remee-lower-page .remee-v292-kicker,
body.remee-lower-page .remee-company-card__eyebrow,
body.remee-lower-page .remee-company-profile__heading > p,
body.remee-lower-page .remee-inquiry-cta__eyebrow,
body.remee-lower-page .remee-price-card__label,
body.remee-lower-page .remee-flow-card__step{
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}

/* Hero titles: remove forced editorial breaks and keep a consistent rhythm */
body.remee-lower-page .remee-auto-hero h1{
  font-size:clamp(30px,3.45vw,44px)!important;
  line-height:1.34!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
}
body.remee-lower-page .remee-auto-hero h1 br{
  display:none!important;
}
body.remee-lower-page .remee-auto-hero p{
  font-size:16px!important;
  line-height:1.95!important;
  letter-spacing:.01em!important;
  font-weight:400!important;
}

/* Lead-panel titles: one visual standard across all bespoke pages */
body.remee-lower-page .remee-v292-intro h2,
body.remee-lower-page .remee-company-intro h2{
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.42!important;
  letter-spacing:-.032em!important;
  font-weight:700!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
}
body.remee-lower-page .remee-v292-intro > p:last-child,
body.remee-lower-page .remee-company-intro > p:last-child{
  font-size:16px!important;
  line-height:1.95!important;
  letter-spacing:.01em!important;
  font-weight:400!important;
}

/* Section and card headings */
body.remee-lower-page .remee-auto-content h2,
body.remee-lower-page .remee-flow-group__heading h2,
body.remee-lower-page .remee-policy-section > h2,
body.remee-lower-page .remee-company-profile__heading h2,
body.remee-lower-page .remee-company-card h2{
  font-weight:700!important;
  letter-spacing:-.025em!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
body.remee-lower-page .remee-service-card h3,
body.remee-lower-page .remee-price-card h3,
body.remee-lower-page .remee-flow-card h3,
body.remee-lower-page .remee-definition-grid h3,
body.remee-lower-page .remee-policy-grid h3,
body.remee-lower-page .remee-response-steps h3,
body.remee-lower-page .remee-v292-message h3,
body.remee-lower-page .remee-inquiry-cta h2{
  font-weight:700!important;
  letter-spacing:-.02em!important;
  line-height:1.5!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Body copy: consistent density and legibility */
body.remee-lower-page .remee-auto-content,
body.remee-lower-page .remee-service-card p,
body.remee-lower-page .remee-price-card p,
body.remee-lower-page .remee-price-card li,
body.remee-lower-page .remee-flow-card__text,
body.remee-lower-page .remee-flow-card__text p,
body.remee-lower-page .remee-flow-card__text li,
body.remee-lower-page .remee-policy-section p,
body.remee-lower-page .remee-policy-section li,
body.remee-lower-page .remee-company-table,
body.remee-lower-page .remee-company-card li,
body.remee-lower-page .remee-inquiry-cta__description{
  font-size:16px!important;
  line-height:1.9!important;
  letter-spacing:.005em!important;
  font-weight:400!important;
}

/* Numbers and phone details remain crisp without becoming visually heavy */
body.remee-lower-page .remee-service-card__number,
body.remee-lower-page .remee-flow-card__marker,
body.remee-lower-page .remee-price-example strong,
body.remee-lower-page .remee-inquiry-cta__phone-number{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em!important;
}

@media(max-width:1000px){
  body.remee-lower-page .remee-auto-hero h1,
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{
    text-wrap:wrap;
  }
}

@media(max-width:600px){
  body.remee-lower-page .remee-auto-hero h1{
    font-size:clamp(27px,8.5vw,35px)!important;
    line-height:1.42!important;
  }
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{
    font-size:clamp(24px,7.4vw,31px)!important;
    line-height:1.48!important;
  }
  body.remee-lower-page .remee-auto-hero p,
  body.remee-lower-page .remee-v292-intro > p:last-child,
  body.remee-lower-page .remee-company-intro > p:last-child,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-service-card p,
  body.remee-lower-page .remee-price-card p,
  body.remee-lower-page .remee-flow-card__text,
  body.remee-lower-page .remee-policy-section p,
  body.remee-lower-page .remee-company-table,
  body.remee-lower-page .remee-company-card li{
    font-size:15px!important;
  }
}

/* =========================================================
   ReMee v2.9.8 — mobile heading containment and header safety
   Fixes every PHP-generated lower-page hero/lead title at once.
   ========================================================= */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Every generated column must be allowed to shrink inside its card/grid. */
body.remee-lower-page .remee-auto-hero > div,
body.remee-lower-page .remee-auto-content,
body.remee-lower-page .remee-v292-intro,
body.remee-lower-page .remee-v292-intro > *,
body.remee-lower-page .remee-company-intro,
body.remee-lower-page .remee-company-intro > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Do not treat long Japanese titles as an unbreakable phrase. */
body.remee-lower-page .remee-auto-hero h1,
body.remee-lower-page .remee-v292-intro h2,
body.remee-lower-page .remee-company-intro h2{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
  text-wrap:wrap!important;
  hyphens:none!important;
  box-sizing:border-box!important;
}

@media(max-width:900px){
  body.remee-lower-page .remee-auto-hero{
    width:calc(100% - 28px)!important;
    padding:34px 28px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.remee-lower-page .remee-auto-content{
    width:calc(100% - 28px)!important;
  }
  body.remee-lower-page .remee-v292-intro,
  body.remee-lower-page .remee-company-intro{
    width:100%!important;
    padding:32px 28px!important;
  }
}

@media(max-width:600px){
  body.remee-lower-page .remee-auto-hero{
    padding:30px 20px!important;
    border-radius:24px!important;
  }
  body.remee-lower-page .remee-auto-hero h1{
    font-size:30px!important;
    line-height:1.42!important;
    letter-spacing:-.035em!important;
  }
  body.remee-lower-page .remee-auto-hero p{
    font-size:15px!important;
    line-height:1.9!important;
  }
  body.remee-lower-page .remee-v292-intro,
  body.remee-lower-page .remee-company-intro{
    padding:27px 20px!important;
  }
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{
    font-size:27px!important;
    line-height:1.5!important;
    letter-spacing:-.035em!important;
  }
}

@media(max-width:390px){
  body.remee-lower-page .remee-auto-hero h1{
    font-size:27px!important;
  }
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{
    font-size:24px!important;
  }
}

/* Mobile header: reserve the hamburger zone and place the phone icon to
   the right of the number, so it can never sit beneath the menu button. */
@media(max-width:600px){
  .remee-header-contact__inner{
    width:100%!important;
    min-height:68px!important;
    padding:10px 12px 10px 72px!important;
    justify-content:flex-end!important;
    gap:9px!important;
    box-sizing:border-box!important;
  }
  .remee-header-contact__phone{
    min-width:0!important;
    gap:7px!important;
    font-size:16px!important;
    order:1!important;
  }
  .remee-header-contact__phone:before{
    display:none!important;
  }
  .remee-header-contact__phone:after{
    content:"☎";
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:50%!important;
    color:#fff!important;
    background:linear-gradient(135deg,#79c6b1,#98d8c3)!important;
    font-size:15px!important;
    line-height:1!important;
    box-shadow:0 8px 18px rgba(80,160,137,.18)!important;
  }
  .remee-header-contact__button{
    order:2!important;
    min-height:40px!important;
    padding:0 14px!important;
    font-size:12px!important;
    flex:0 0 auto!important;
  }
}

@media(max-width:380px){
  .remee-header-contact__inner{
    padding-left:66px!important;
    gap:7px!important;
  }
  .remee-header-contact__phone{
    font-size:15px!important;
  }
  .remee-header-contact__phone:after{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  .remee-header-contact__button{
    padding:0 11px!important;
    font-size:11px!important;
  }
}

/* =========================================================
   ReMee v2.10.0 — complete responsive alignment pass
   - all PHP-generated hero/lead headings stay inside cards
   - header phone icon sits left of the number, clear of menu
   - CTA and footer align to the same content width
   ========================================================= */

/* One shared width line for hero, content, CTA and footer. */
body.remee-lower-page .remee-auto-hero,
body.remee-lower-page .remee-auto-content,
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
body.remee-lower-page .remee-auto-footer,
body.remee-front-footer .remee-auto-footer{
  width:min(1140px,calc(100vw - 72px))!important;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Footer should visually occupy the same line as the CTA/content. */
body.remee-lower-page .remee-auto-footer,
body.remee-front-footer .remee-auto-footer{
  padding-left:0!important;
  padding-right:0!important;
}

/* Every generated title/copy area is shrinkable and wrappable. */
body.remee-lower-page .remee-auto-hero > div,
body.remee-lower-page .remee-auto-hero h1,
body.remee-lower-page .remee-auto-hero p,
body.remee-lower-page .remee-v292-intro,
body.remee-lower-page .remee-v292-intro > *,
body.remee-lower-page .remee-company-intro,
body.remee-lower-page .remee-company-intro > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.remee-lower-page .remee-auto-hero h1,
body.remee-lower-page .remee-v292-intro h2,
body.remee-lower-page .remee-company-intro h2{
  display:block!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  white-space:normal!important;
  word-break:auto-phrase!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
  text-wrap:wrap!important;
  overflow:visible!important;
}

@media(max-width:900px){
  body.remee-lower-page .remee-auto-hero,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-lower-page .remee-auto-footer,
  body.remee-front-footer .remee-auto-footer{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
}

@media(max-width:600px){
  /* Header layout: hamburger reserve | phone | contact button. */
  .remee-header-contact__inner{
    width:100%!important;
    min-height:68px!important;
    padding:10px 12px 10px 82px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:10px!important;
    box-sizing:border-box!important;
  }
  .remee-header-contact__phone{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
    gap:7px!important;
    font-size:16px!important;
    order:initial!important;
  }
  .remee-header-contact__phone::after{content:none!important;display:none!important;}
  .remee-header-contact__phone::before{
    content:"☎"!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    border-radius:50%!important;
    color:#fff!important;
    background:linear-gradient(135deg,#79c6b1,#98d8c3)!important;
    font-size:15px!important;
    line-height:1!important;
    box-shadow:0 8px 18px rgba(80,160,137,.18)!important;
  }
  .remee-header-contact__button{
    min-width:0!important;
    min-height:40px!important;
    padding:0 13px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }

  /* Long PHP titles: smaller, balanced and safely contained. */
  body.remee-lower-page .remee-auto-hero{
    padding:28px 20px!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.remee-lower-page .remee-auto-hero h1{
    font-size:clamp(24px,6.8vw,29px)!important;
    line-height:1.45!important;
    letter-spacing:-.035em!important;
  }
  body.remee-lower-page .remee-v292-intro,
  body.remee-lower-page .remee-company-intro{
    padding:26px 20px!important;
  }
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{
    font-size:clamp(22px,6.3vw,27px)!important;
    line-height:1.5!important;
    letter-spacing:-.035em!important;
  }

  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292{
    padding:28px 20px!important;
    margin-top:38px!important;
  }
}

@media(max-width:380px){
  .remee-header-contact__inner{
    padding-left:76px!important;
    column-gap:7px!important;
  }
  .remee-header-contact__phone{font-size:14px!important;gap:5px!important;}
  .remee-header-contact__phone::before{
    width:27px!important;
    height:27px!important;
    flex-basis:27px!important;
    font-size:14px!important;
  }
  .remee-header-contact__button{padding:0 10px!important;font-size:11px!important;}
  body.remee-lower-page .remee-auto-hero h1{font-size:23px!important;}
  body.remee-lower-page .remee-v292-intro h2,
  body.remee-lower-page .remee-company-intro h2{font-size:21px!important;}
}


/* =========================================================
   ReMee v2.10.1 — mobile spacing and CTA containment
   ========================================================= */

/* Use the actual parent width instead of viewport width so no block can
   protrude because of browser chrome, scrollbars or theme wrappers. */
body.remee-lower-page .remee-auto-hero,
body.remee-lower-page .remee-auto-content,
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
body.remee-lower-page .remee-auto-footer,
body.remee-front-footer .remee-auto-footer{
  width:min(1140px,calc(100% - 72px))!important;
  max-width:1140px!important;
}

/* Keep every CTA child inside the card, including long Japanese headings. */
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292 *,
body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292,
body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292 *{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292 h2,
body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292 h2{
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:auto-phrase!important;
  line-break:strict!important;
  overflow:visible!important;
}
body.remee-lower-page .remee-inquiry-cta__description,
body.remee-front-footer .remee-inquiry-cta__description{
  width:100%!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:900px){
  body.remee-lower-page .remee-auto-hero,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-lower-page .remee-auto-footer,
  body.remee-front-footer .remee-auto-footer{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
  }
}

@media(max-width:600px){
  /* Menu reserve | phone icon + number | inquiry button. */
  .remee-header-contact__inner{
    padding:10px 12px 10px 84px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:14px!important;
  }
  .remee-header-contact__phone{
    font-size:15px!important;
    gap:7px!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }
  .remee-header-contact__phone::before{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
  }
  .remee-header-contact__button{
    padding:0 12px!important;
    font-size:11.5px!important;
    letter-spacing:-.01em!important;
  }

  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    padding:26px 20px!important;
    overflow:hidden!important;
  }
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292 h2,
  body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292 h2{
    font-size:clamp(22px,6vw,27px)!important;
    line-height:1.45!important;
    letter-spacing:-.035em!important;
  }
  body.remee-lower-page .remee-inquiry-cta__heading,
  body.remee-front-footer .remee-inquiry-cta__heading{
    width:100%!important;
    gap:14px!important;
  }
  body.remee-lower-page .remee-inquiry-cta__actions,
  body.remee-front-footer .remee-inquiry-cta__actions{
    width:100%!important;
  }
}

@media(max-width:380px){
  .remee-header-contact__inner{
    padding-left:78px!important;
    column-gap:9px!important;
  }
  .remee-header-contact__phone{
    font-size:13.5px!important;
    gap:5px!important;
  }
  .remee-header-contact__phone::before{
    width:27px!important;
    height:27px!important;
    flex-basis:27px!important;
  }
  .remee-header-contact__button{
    padding:0 9px!important;
    font-size:10.5px!important;
  }
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-front-footer .remee-inquiry-cta.remee-inquiry-cta--v292{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    padding:24px 16px!important;
  }
}

/* =========================================================
   ReMee v2.10.2 — restore desktop width / final mobile wrap
   Keep the established desktop design width. Only tighten
   typography and containment on small screens.
   ========================================================= */

/* Restore the original wide desktop alignment. v2.10.1 used a
   percentage of an already constrained Lightning wrapper, which
   unintentionally made every lower page narrow. */
body.remee-lower-page .remee-auto-hero,
body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
body.remee-lower-page .remee-auto-footer,
body.remee-front-footer .remee-auto-footer{
  width:min(1140px,calc(100vw - 72px))!important;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.remee-lower-page .remee-auto-content{
  width:min(1040px,calc(100vw - 72px))!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Flex/grid text columns must actually be allowed to shrink. */
body.remee-lower-page .remee-flow-group,
body.remee-lower-page .remee-flow-group__heading,
body.remee-lower-page .remee-flow-group__heading > div,
body.remee-lower-page .remee-flow-card,
body.remee-lower-page .remee-flow-card__content,
body.remee-lower-page .remee-price-card,
body.remee-lower-page .remee-service-card,
body.remee-lower-page .remee-v292-intro,
body.remee-lower-page .remee-inquiry-cta__main,
body.remee-lower-page .remee-inquiry-cta__heading > div{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

body.remee-lower-page .remee-flow-group__heading h2,
body.remee-lower-page .remee-flow-card h3,
body.remee-lower-page .remee-v292-intro h2,
body.remee-lower-page .remee-service-card h3,
body.remee-lower-page .remee-price-card h2,
body.remee-lower-page .remee-price-card h3,
body.remee-lower-page .remee-inquiry-cta--v292 h2{
  max-width:100%!important;
  white-space:normal!important;
  word-break:auto-phrase!important;
  overflow-wrap:anywhere!important;
  line-break:strict!important;
  text-wrap:wrap!important;
  overflow:visible!important;
}

@media(max-width:900px){
  body.remee-lower-page .remee-auto-hero,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-lower-page .remee-auto-footer,
  body.remee-front-footer .remee-auto-footer{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
}

@media(max-width:600px){
  /* Do not alter the desktop composition; only make mobile text fit. */
  body.remee-lower-page .remee-v292-intro h2{
    font-size:clamp(22px,6.2vw,27px)!important;
    line-height:1.48!important;
    letter-spacing:-.035em!important;
  }
  body.remee-page-step .remee-flow-group__heading{
    display:flex!important;
    align-items:flex-start!important;
    gap:14px!important;
  }
  body.remee-page-step .remee-flow-group__heading > div{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  body.remee-page-step .remee-flow-group__heading h2{
    width:100%!important;
    font-size:clamp(21px,5.9vw,26px)!important;
    line-height:1.45!important;
    letter-spacing:-.035em!important;
  }
  body.remee-lower-page .remee-flow-card h3,
  body.remee-lower-page .remee-service-card h3,
  body.remee-lower-page .remee-price-card h3{
    font-size:clamp(18px,5vw,22px)!important;
    line-height:1.5!important;
  }
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292{
    overflow:hidden!important;
  }
  body.remee-lower-page .remee-inquiry-cta__heading{
    display:grid!important;
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
  }
  body.remee-lower-page .remee-inquiry-cta--v292 h2{
    font-size:clamp(21px,5.8vw,26px)!important;
    line-height:1.45!important;
  }
}

@media(max-width:380px){
  body.remee-lower-page .remee-auto-hero,
  body.remee-lower-page .remee-auto-content,
  body.remee-lower-page .remee-inquiry-cta.remee-inquiry-cta--v292,
  body.remee-lower-page .remee-auto-footer,
  body.remee-front-footer .remee-auto-footer{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
  }
  body.remee-page-step .remee-flow-group__heading h2{
    font-size:20px!important;
  }
}


/* =========================================================
   ReMee v2.10.5 — canonical shared CTA and company widths
   This replaces the former v2.10.3/v2.10.4 patch stack.
   ========================================================= */

/* Company page: remove the generic 920px child cap only for the three
   company-information blocks. Both known slug classes are supported. */
body.remee-page-info .remee-auto-content > .remee-company-profile,
body.remee-page-info .remee-auto-content > .remee-company-columns,
body.remee-page-company .remee-auto-content > .remee-company-profile,
body.remee-page-company .remee-auto-content > .remee-company-columns,
body.remee-lower-page .remee-auto-content > .remee-company-profile,
body.remee-lower-page .remee-auto-content > .remee-company-columns{
  width:100%!important;
  max-width:1140px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Shared CTA mobile layout. This applies to HOME and every lower page,
   so both render from the same HTML component without page-specific patches. */
@media(max-width:600px){
  .remee-inquiry-cta.remee-inquiry-cta--v292{
    display:block!important;
    grid-template-columns:none!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:38px auto 30px!important;
    padding:30px 24px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__main{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__heading{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    align-items:start!important;
    gap:18px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__heading > div{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__doc{
    width:58px!important;
    height:66px!important;
    min-width:58px!important;
    max-width:58px!important;
    flex:0 0 58px!important;
    margin:0!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__eyebrow{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    font-size:10px!important;
    line-height:1.35!important;
    letter-spacing:.12em!important;
  }
  .remee-inquiry-cta--v292 h2{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(22px,6vw,28px)!important;
    line-height:1.5!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    word-break:auto-phrase!important;
    overflow-wrap:anywhere!important;
    writing-mode:horizontal-tb!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__description{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:26px 0 24px!important;
    padding:0!important;
    font-size:16px!important;
    line-height:2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    writing-mode:horizontal-tb!important;
    text-align:left!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__phone,
  .remee-inquiry-cta--v292 .remee-inquiry-cta__button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__phone{
    grid-template-columns:54px minmax(0,1fr)!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__art{
    display:none!important;
  }
}

@media(max-width:380px){
  .remee-inquiry-cta.remee-inquiry-cta--v292{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    padding:26px 18px!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__heading{
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__doc{
    width:50px!important;
    height:60px!important;
    min-width:50px!important;
    max-width:50px!important;
    flex-basis:50px!important;
  }
  .remee-inquiry-cta--v292 .remee-inquiry-cta__eyebrow{
    font-size:9px!important;
    letter-spacing:.07em!important;
  }
  .remee-inquiry-cta--v292 h2{
    font-size:21px!important;
  }
}


/* v2.11.0: CMS picture wrapper inherits the existing hero image layout. */
.remee-auto-hero-img picture{display:block;width:100%;height:100%;}
.remee-auto-hero-img picture img{display:block;width:100%;height:100%;object-fit:cover;}

/* =========================================================
   ReMee v2.11.1 — service page width alignment
   Scope is intentionally limited to the service page only.
   ========================================================= */
body.remee-page-service .remee-v292-message{
  width:100%!important;
  max-width:1040px!important;
  box-sizing:border-box!important;
}


/* =========================================================
   ReMee v2.11.2 — larger service-card number badges
   Limited to the service page; card and grid dimensions remain unchanged.
   ========================================================= */
body.remee-page-service .remee-service-card__number{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  font-size:15px!important;
  line-height:1!important;
}

@media(max-width:600px){
  body.remee-page-service .remee-service-card__number{
    width:48px!important;
    height:48px!important;
    flex-basis:48px!important;
    font-size:14px!important;
  }
}


/* =========================================================
   ReMee v2.11.3 — clearly enlarged service number badges
   Scoped only to the generated service cards.
   ========================================================= */
body.remee-page-service .remee-service-grid .remee-service-card > .remee-service-card__number{
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:72px!important;
  min-height:72px!important;
  flex:0 0 72px!important;
  padding:0!important;
  border-radius:50%!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
}

@media(max-width:600px){
  body.remee-page-service .remee-service-grid .remee-service-card > .remee-service-card__number{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    flex-basis:56px!important;
    font-size:16px!important;
  }
}


/* =========================================================
   ReMee v2.11.4 — unified primary section-number typography
   Service badges remain circular; flow category badges remain square.
   Only badge dimensions and numeral typography are adjusted.
   ========================================================= */
body.remee-page-service .remee-service-grid .remee-service-card > .remee-service-card__number{
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  height:64px!important;
  min-height:64px!important;
  flex:0 0 64px!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
}

body.remee-page-step .remee-flow-group__heading > span{
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
}

@media(max-width:600px){
  body.remee-page-service .remee-service-grid .remee-service-card > .remee-service-card__number{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    flex-basis:52px!important;
    font-size:18px!important;
  }

body.remee-page-step .remee-flow-group__heading > span{
    font-size:18px!important;
  }
}

/* =========================================================
   ReMee v2.11.7 — staff profile cards
   ========================================================= */
body.remee-page-staff .remee-staff-intro{
  max-width:920px!important;
}

.remee-staff-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  width:min(920px,100%);
  margin:0 auto 48px;
}

.remee-staff-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:30px;
  border:1px solid #ead2e5;
  border-radius:24px;
  background:linear-gradient(150deg,#fff 0%,#fff 70%,#fff8fb 100%);
  box-shadow:0 14px 34px rgba(153,80,146,.07);
}

.remee-staff-card--manager{
  border-color:#dfbdd7;
  background:linear-gradient(150deg,#fff 0%,#fff9fb 58%,#faf3ff 100%);
}

.remee-staff-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,#f4a98c,#c16aa8,#995092);
}

.remee-staff-card__head{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding-bottom:22px;
  margin-bottom:22px;
  border-bottom:1px solid #f0dce9;
}

.remee-staff-card__mark{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:19px;
  background:linear-gradient(135deg,#f7e6f1,#fff0e9);
  color:#995092;
  font-size:25px;
  font-weight:800;
  line-height:1;
}

.remee-staff-card__role{
  margin:0 0 5px!important;
  color:#ad5a99!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}

.remee-staff-card__name{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#3f3842!important;
  font-size:clamp(23px,2.2vw,29px)!important;
  line-height:1.35!important;
  letter-spacing:.04em!important;
}

.remee-staff-card__section-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#554c57!important;
  font-size:15px!important;
  font-weight:800!important;
}

.remee-staff-card__section-title::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c16aa8;
}

.remee-staff-career{
  display:grid;
  gap:12px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.remee-staff-career li{
  position:relative;
  margin:0!important;
  padding:0 0 12px 19px!important;
  border-bottom:1px dashed #eadde7;
  line-height:1.75!important;
}

.remee-staff-career li:last-child{
  padding-bottom:0!important;
  border-bottom:0;
}

.remee-staff-career li::before{
  content:"";
  position:absolute;
  top:.67em;
  left:0;
  width:7px;
  height:7px;
  border:2px solid #d790bd;
  border-radius:50%;
  background:#fff;
}

.remee-staff-career__line{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:space-between;
}

.remee-staff-career__facility{
  color:#463f48;
  font-size:15px;
  font-weight:700;
}

.remee-staff-career__detail{
  display:block;
  margin-top:3px;
  color:#756b77;
  font-size:13px;
  line-height:1.7;
}

.remee-staff-career__years{
  flex:0 0 auto;
  padding:3px 9px;
  border-radius:999px;
  background:#f7eaf3;
  color:#995092;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.remee-staff-license{
  margin-top:24px;
  padding:18px 19px;
  border-radius:17px;
  background:linear-gradient(135deg,#faf3ff,#fff7f7);
  border:1px solid #ead8ed;
}

.remee-staff-license .remee-staff-card__section-title{
  margin-bottom:10px!important;
  color:#995092!important;
}

.remee-staff-license ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.remee-staff-license li{
  position:relative;
  margin:0!important;
  padding-left:19px!important;
  color:#5f5662;
  font-size:13px;
  line-height:1.75;
}

.remee-staff-license li+li{margin-top:7px!important;}
.remee-staff-license li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#b75a9d;
  font-weight:900;
}

@media(max-width:850px){
  .remee-staff-grid{grid-template-columns:1fr;gap:18px;}
}

@media(max-width:600px){
  .remee-staff-card{padding:25px 20px;border-radius:21px;}
  .remee-staff-card__head{grid-template-columns:50px minmax(0,1fr);gap:13px;}
  .remee-staff-card__mark{width:50px;height:50px;border-radius:16px;font-size:22px;}
  .remee-staff-card__name{font-size:23px!important;}
  .remee-staff-career__line{gap:7px;}
}

/* =========================================================
   ReMee v2.11.8 — staff page width rhythm
   Hero/CTA: 1140px. Intro/staff grid: 1040px.
   ========================================================= */
body.remee-page-staff .remee-auto-content{
  width:min(1040px,calc(100vw - 72px))!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.remee-page-staff .remee-staff-intro,
body.remee-page-staff .remee-staff-grid{
  width:100%!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body.remee-page-staff .remee-staff-grid{
  column-gap:32px!important;
  row-gap:24px!important;
}

@media(max-width:900px){
  body.remee-page-staff .remee-auto-content{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
}

@media(max-width:850px){
  body.remee-page-staff .remee-staff-grid{
    grid-template-columns:1fr!important;
    row-gap:18px!important;
  }
}

/* =========================================================
   ReMee v2.11.9 — visiting area panel on the service page
   ========================================================= */
body.remee-page-service .remee-service-area{
  width:100%!important;
  max-width:1040px!important;
  margin:42px auto 0!important;
  padding:34px!important;
  border:1px solid #ead2e5!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff 0%,#fffafd 58%,#fff8f4 100%)!important;
  box-shadow:0 14px 34px rgba(153,80,146,.08)!important;
  box-sizing:border-box!important;
}

body.remee-page-service .remee-service-area__head{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;
  margin:0 0 26px!important;
  padding:0!important;
}

body.remee-page-service .remee-service-area__mark{
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#995092,#c477a9)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 9px 22px rgba(153,80,146,.16)!important;
}

body.remee-page-service .remee-service-area__kicker{
  margin:0 0 3px!important;
  color:#aa6d98!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.4!important;
  letter-spacing:.15em!important;
}

body.remee-page-service .remee-service-area__head h2{
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#443d47!important;
  font-size:clamp(25px,3vw,32px)!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:-.025em!important;
}

body.remee-page-service .remee-service-area__head h2::before,
body.remee-page-service .remee-service-area__head h2::after,
body.remee-page-service .remee-service-area__city h3::before,
body.remee-page-service .remee-service-area__city h3::after{
  content:none!important;
  display:none!important;
}

body.remee-page-service .remee-service-area__head > div > p:last-child{
  margin:0!important;
  color:#6f6872!important;
  font-size:15px!important;
  line-height:1.8!important;
}

body.remee-page-service .remee-service-area__grid{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
}

body.remee-page-service .remee-service-area__city{
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
  min-width:0!important;
  margin:0!important;
  padding:18px 20px!important;
  border:1px solid #efdee9!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.88)!important;
  box-sizing:border-box!important;
}

body.remee-page-service .remee-service-area__city h3{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 18px!important;
  border:0!important;
  background:none!important;
  color:#5a4658!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.8!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
}

body.remee-page-service .remee-service-area__city h3::marker{content:"";}
body.remee-page-service .remee-service-area__city h3{
  background:linear-gradient(#c477a9,#c477a9) left .72em / 7px 7px no-repeat!important;
}

body.remee-page-service .remee-service-area__city p{
  margin:0!important;
  color:#665f69!important;
  font-size:15px!important;
  line-height:1.9!important;
  word-break:auto-phrase!important;
  overflow-wrap:anywhere!important;
}

body.remee-page-service .remee-service-area__city--all p strong{
  display:inline-block!important;
  padding:2px 13px!important;
  border-radius:999px!important;
  background:#f7e9f2!important;
  color:#995092!important;
  font-weight:700!important;
}

body.remee-page-service .remee-service-area__note{
  display:flex!important;
  gap:11px!important;
  align-items:flex-start!important;
  margin:20px 0 0!important;
  padding:17px 20px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#fff0f5,#fff7f0)!important;
  color:#5f5662!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.8!important;
}

body.remee-page-service .remee-service-area__note span{
  flex:0 0 auto!important;
  color:#c477a9!important;
  font-size:20px!important;
  line-height:1.35!important;
}

@media(max-width:700px){
  body.remee-page-service .remee-service-area{
    margin-top:30px!important;
    padding:24px 18px!important;
    border-radius:22px!important;
  }
  body.remee-page-service .remee-service-area__head{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:14px!important;
    margin-bottom:20px!important;
  }
  body.remee-page-service .remee-service-area__mark{
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
    font-size:19px!important;
  }
  body.remee-page-service .remee-service-area__head h2{font-size:25px!important;}
  body.remee-page-service .remee-service-area__city{
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:16px!important;
  }
  body.remee-page-service .remee-service-area__city h3{font-size:17px!important;}
  body.remee-page-service .remee-service-area__note{padding:16px!important;font-size:14px!important;}
}

/* =========================================================
   ReMee v2.11.10 — prevent the area-panel heading from
   shrinking to its contents under Lightning header rules.
   ========================================================= */
body.remee-page-service .remee-service-area > .remee-service-area__head{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

body.remee-page-service .remee-service-area > .remee-service-area__head > .remee-service-area__mark{
  flex:0 0 64px!important;
}

body.remee-page-service .remee-service-area > .remee-service-area__head > div{
  display:block!important;
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.remee-page-service .remee-service-area > .remee-service-area__head > div > h2,
body.remee-page-service .remee-service-area > .remee-service-area__head > div > p{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}

@media(max-width:700px){
  body.remee-page-service .remee-service-area > .remee-service-area__head > .remee-service-area__mark{
    flex-basis:52px!important;
  }
}
