/* =========================================================
   整体院 カエルトコロ LP  -  styles.css
   (web fonts are self-hosted — see css/fonts.css)
   ========================================================= */
   :root{
    --green:        #abcb4b;   /* brand green   */
    --green-light:  #cbdd78;   /* light green   */
    --green-pale:   #eaf2e1;
    --green-deep:   #60a658;   /* heading green */
    --green-dark:   #356253;   /* footer / dark */
    --lime:         #dfe200;
    --brown:        #514327;   /* main text     */
    --brown2:       #6b5935;
    --ink:          #2d2d2d;
    --gold:         #fbcd4f;
    --gold2:        #a18753;
    --orange:       #ed8208;
    --orange2:      #e9a85d;
    --red:          #d82727;
    --purple:       #6e4063;
    --line:         #06c755;
    --cream:        #fdfcf3;
    --white:        #ffffff;
  
    --content: 1080px;
    --ease: cubic-bezier(.22,.61,.36,1);
  
    --fs-base: 16px;
    --font: 'Noto Sans JP', sans-serif;
    --font-head: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    --font-num: 'Jost', 'Noto Sans JP', sans-serif;
    --font-serif: 'Zen Antique Soft', 'Noto Sans JP', serif;
  }
  
  *,*::before,*::after{box-sizing:border-box;}
  html{font-size:18px; /* Increased from 16px */ scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    font-family:var(--font);
    color:var(--brown);
    line-height:1.8;
    background:var(--cream) url('../images/bg-texture.png') center top repeat;
    background-size:1200px auto;
    overflow-x:hidden;
    font-feature-settings:"palt";
  }
  img{max-width:100%;height:auto;display:block;}
  a{color:inherit;text-decoration:none;}
  ul,ol{list-style:none;margin:0;padding:0;}
  h1,h2,h3,h4,p,dl,dd,dt,figure,table{margin:0;}
  
  .container{max-width:var(--content);margin-inline:auto;padding-inline:24px;}
  .red{color:var(--red);}
  .hl{color:var(--green-deep);}
  
  /* ---------- reveal animation base ---------- */
  .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease);will-change:opacity,transform;}
  .reveal.is-in{opacity:1;transform:none;}
  .reveal[data-pos]{transition-delay:.05s;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1!important;transform:none!important;}
  }
  
  /* =========================================================
     BUTTONS
     ========================================================= */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-weight:700;border-radius:10px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s var(--ease);
  }
  .btn--line{
    background:var(--line);
    color:#fff;padding:16px 30px;font-size:1.25rem;border-radius:8px;
    box-shadow:0 4px 6px rgba(0,0,0,.10);
  }
  .btn--line:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(6,199,85,.30);filter:brightness(1.04);}
  .btn--line:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.12);}
  .btn--block{width:100%;flex-direction:row;padding:18px;border-radius:8px;}
  .btn__line-icon{
    display:inline-block;flex:0 0 auto;width:38px;height:36px;font-size:0;
    background-color:#fff;
    -webkit-mask:url('../images/line-icon.svg') center/contain no-repeat;
            mask:url('../images/line-icon.svg') center/contain no-repeat;
  }
  .btn__line-text{display:flex;flex-direction:column;line-height:1.25;font-size:1.65rem;}
  .btn__line-text small{font-size:.8rem;font-weight:500;}
  
  .tel-link{display:flex;align-items:center;gap:10px;color:var(--green-deep);font-weight:700;}
  .tel-link__icon{display:inline-block;flex:0 0 auto;width:30px;height:33px;background-color:var(--green-deep);
    -webkit-mask:url('../images/phone-icon.svg') center/contain no-repeat;
            mask:url('../images/phone-icon.svg') center/contain no-repeat;}
  .tel-link__icon svg{display:none;}
  .cta-card__tel .tel-link__icon{width:40px;height:44px;}
  .tel-link__num{font-size:2rem;letter-spacing:.01em;}
  
  /* =========================================================
     HEADER
     ========================================================= */
  .header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);box-shadow:0 2px 12px rgba(0,0,0,.06);}
  .header__inner{max-width:1180px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;}
  .header__logo img{height:52px;width:auto;}
  .header__contact{display:flex;align-items:center;gap:28px;}
  .header__tel{text-align:left;}
  .header__tel .tel-link{color:var(--brown);}
  .header__tel .tel-link__icon{color:var(--green-deep);}
  .header__tel .tel-link__num{font-size:2.1rem;color:var(--brown);}
  .header__hours{font-size:.82rem;color:var(--brown2);font-weight:700;margin-top:2px;padding-left:38px;}
  .header__line{font-size:1.05rem;padding:14px 26px;}
  
  /* =========================================================
     MV / HERO
     ========================================================= */
  .mv{
    position:relative;overflow:hidden;background:#fff;
    /* wavy bottom border using the prepared mask image (~1.5 waves) */
    --wave:110px;
    -webkit-mask:
      linear-gradient(#000,#000) top/100% calc(100% - var(--wave) + 1px) no-repeat,
      url('../images/hero-banner-mask.png') bottom/100% var(--wave) no-repeat;
    mask:
      linear-gradient(#000,#000) top/100% calc(100% - var(--wave) + 1px) no-repeat,
      url('../images/hero-banner-mask.png') bottom/100% var(--wave) no-repeat;
  }
  .mv__leaf{position:absolute;top:0;right:0;width:240px;z-index:3;pointer-events:none;}
  .mv__inner{
    position:relative;z-index:2;margin-inline:auto;min-height:clamp(440px,50vw,800px);
    display:flex;align-items:center;
    /* full hero photo sits at the right-bottom; a left->right white fade keeps the copy readable */
    background-color:#fff;
    background-image:
      linear-gradient(100deg, #fff 0%, #fff 32%, rgba(255,255,255,.85) 44%, rgba(255,255,255,0) 64%),
      url(../images/hero-banner.png);
    background-repeat:no-repeat, no-repeat;
    background-position:left center, right bottom;
    background-size:cover, auto 100%;
  }
  .mv__copy{flex:1 1 auto;min-width:0;max-width:680px;padding:48px 24px 48px 5.5%;}
  .mv__lead{
    display:inline-block;background:transparent;color:var(--orange);font-weight:700;white-space:nowrap;
    font-size:1.75rem;line-height:1.4;padding:4px 12px;border:1px solid var(--orange);border-radius:8px;margin-bottom:16px;
  }
  .mv__title{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;line-height:1.5;color:var(--brown);letter-spacing:.2em;white-space:nowrap;}
  .mv__title .hl{color:var(--green-deep); font-size: 3rem;}
  .mv__tags{display:flex;flex-wrap:nowrap;gap:10px;margin-top:24px;}
  .mv__tags li{background:#fff;border:1px solid var(--green-dark);color:var(--green-dark);font-weight:700;font-size:1.25rem;line-height:1.2;padding:4px 8px;border-radius:4px;}
  .mv__badges{display:flex;gap:16px;margin-top:26px;}
  .mv__badges img{height:150px;width:auto;}
  
  /* =========================================================
     CTA (shared)
     ========================================================= */
  .cta{position:relative;padding:70px 24px;}
  .cta__inner{max-width:1080px;margin-inline:auto;position:relative;z-index:1;}
  .cta__title{
    position:relative;text-align:center;color:var(--green-deep);font-size:2.25rem;font-weight:700;
    padding-bottom:26px;margin-bottom:38px;
  }
  .cta__title::after{
    content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#cfcabb;
  }
  .cta__woman{position:absolute;right:8%;bottom:6px;width:120px;height:auto;z-index:2;}
  .cta__cards{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch;}
  .cta-card{display:flex;flex-direction:column;background:#f0f0cf;border-radius:20px;padding:30px 40px;text-align:center;}
  .cta-card__label{font-size:1.25rem;font-weight:700;color:var(--brown);margin-bottom:20px;}
  .cta-card__note{font-size:.95rem;color:var(--brown2);margin-top:auto;padding-top:14px;line-height:1.6;}
  .cta-card__tel{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--green-deep);font-weight:700;font-size:2.6rem;margin:0 0 6px;}
  .cta-card__hours{font-size:1rem;font-weight:700;color:var(--brown);}
  .cta__bottom{
    max-width:880px;margin:40px auto 0;text-align:center;font-weight:700;font-size:1.5rem;color:var(--brown);
    background:#fff;border:4px dotted var(--green-deep);border-radius:8px;padding:24px 40px;line-height:1.7;
  }
  
  /* leaf decoration cluster, top-left */
  .leaf-deco{position:absolute;top:-150px;left:-36px;width:412px;pointer-events:none;z-index:0;}
  .leaf-deco img{width:100%;opacity:.95;}
  
  /* CTA02 / common offer price (same layout/background as Figma CTA01) */
  /* stretch the full wave image to fill each section exactly (100% 100%) so the
     top & bottom waves always show and .cta--offer / .cta--common look identical
     regardless of their differing heights. 80% white overlay matches Figma. */
  .cta--offer,.cta--common{
    background-image:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.8)), url('../images/cta-bg.jpg');
    background-size:100% 100%, 100% 100%;
    background-repeat:no-repeat, no-repeat;
    background-position:center, center;
  }
  .offer-price{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;margin-bottom:36px;}
  .offer-price__old{display:flex;flex-direction:column;align-items:center;color:var(--brown);}
  .offer-price__old-label{font-size:1.3rem;font-weight:700;margin-bottom:4px;}
  .offer-price__old-num{position:relative;font-family:var(--font-num);font-size:3rem;font-weight:600;color:var(--brown);}
  .offer-price__old-num::after{content:"";position:absolute;left:-4%;top:55%;width:108%;height:3px;background:var(--brown);transform:rotate(14deg);}
  .offer-price__old-num small{font-size:1.1rem;}
  .offer-price__old-tax{font-size:.8rem;font-weight:700;margin-left:2px;}
  .offer-price__arrow{font-size:2.4rem;color:var(--brown);font-family:var(--font-num);}
  .offer-price__new{display:flex;align-items:center;gap:20px;}
  .offer-price__off-col{display:flex;flex-direction:column;align-items:center;gap:6px;}
  .offer-price__limit{color:var(--brown);font-weight:700;font-size:1.6rem;line-height:1;}
  .offer-price__off{background:var(--orange);color:#fff;font-weight:700;font-size:1.2rem;line-height:1.25;text-align:center;padding:12px 16px;border-radius:20px;}
  .offer-price__num{font-family:var(--font-num);font-size:6rem;font-weight:600;color:var(--red);line-height:1;display:flex;align-items:flex-end;gap:6px;position:relative;}
  .offer-price__unit{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;line-height:1.1;}
  .offer-price__tax{font-size:.9rem;font-weight:700;font-family:var(--font);}
  .offer-price__yen{font-size:2.2rem;font-weight:600;}
  
  /* =========================================================
     ONAYAMI
     ========================================================= */
  .onayami{position:relative;background:#ebedea;padding:90px 24px 0;border-radius:50% 50% 0 0 / 60px 60px 0 0;margin-top:-30px;}
  .onayami__inner{max-width:1100px;margin-inline:auto;}
  .onayami__head{text-align:center;margin-bottom:60px;}
  .onayami__lead{font-size:1.5rem;font-weight:700;color:var(--brown);margin-bottom:18px;}
  .onayami__title{font-size:2.1rem;font-weight:900;color:var(--green-deep);}
  .onayami__title .red{color:var(--red);}
  .onayami__bubbles{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 40px;align-items:center;justify-items:center;}
  .bubble{
    position:relative;display:flex;align-items:center;justify-content:center;
    width:100%;min-height:150px;padding:34px 40px;text-align:center;
    font-weight:700;font-size:1.18rem;line-height:1.7;color:var(--brown);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 150' preserveAspectRatio='none'%3E%3Cg fill='%23ffffff'%3E%3Crect x='30' y='55' width='180' height='55' rx='25'/%3E%3Ccircle cx='55' cy='72' r='38'/%3E%3Ccircle cx='95' cy='50' r='44'/%3E%3Ccircle cx='150' cy='50' r='46'/%3E%3Ccircle cx='190' cy='72' r='38'/%3E%3Ccircle cx='70' cy='100' r='40'/%3E%3Ccircle cx='120' cy='105' r='44'/%3E%3Ccircle cx='175' cy='100' r='38'/%3E%3C/g%3E%3E%3C/svg%3E") center/100% 100% no-repeat;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.06));
  }
  /* second cloud shape (figma uses two moya shapes alternating) for the corner bubbles */
  .bubble[data-pos="tl"],.bubble[data-pos="br"]{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 150' preserveAspectRatio='none'%3E%3Cg fill='%23ffffff'%3E%3Crect x='26' y='50' width='188' height='62' rx='30'/%3E%3Ccircle cx='60' cy='60' r='44'/%3E%3Ccircle cx='116' cy='42' r='50'/%3E%3Ccircle cx='172' cy='56' r='46'/%3E%3Ccircle cx='208' cy='84' r='30'/%3E%3Ccircle cx='48' cy='98' r='36'/%3E%3Ccircle cx='104' cy='108' r='44'/%3E%3Ccircle cx='160' cy='104' r='42'/%3E%3C/g%3E%3E%3C/svg%3E");
  }
  .onayami__couple{grid-column:2;align-self:end;}
  .onayami__couple img{max-width:300px;margin:0 auto;display:block;}
  
  /* =========================================================
     JIJITSU + slider
     ========================================================= */
  .jijitsu{text-align:center;padding:70px 24px 80px;}
  .jijitsu__laurel{position:relative;display:inline-block;margin-bottom:14px;}
  .jijitsu__laurel img{width:260px;}
  .jijitsu__word{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-serif);font-size:3.2rem;color:var(--brown);letter-spacing:.1em;}
  .jijitsu__copy{font-size:1.9rem;font-weight:700;line-height:1.7;color:var(--brown);}
  .jijitsu__copy .hl{color:var(--green-deep);font-size:1.18em;}
  .customers{max-width:1100px;margin:46px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}
  .customers .customer{flex:0 0 calc((100% - 40px)/3);max-width:360px;margin:0;overflow:hidden;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.12);
    opacity:0;transform:scale(.8);transition:opacity .5s ease, transform .55s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;}
  .customers .customer.is-in{opacity:1;transform:scale(1);}
  .customers .customer.is-in:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 14px 28px rgba(0,0,0,.22);}
  .customer img{width:100%;height:255px;object-fit:cover;display:block;transition:transform .5s var(--ease);}
  .customers .customer:hover img{transform:scale(1.08);}
  
  /* =========================================================
     MECHANISM
     ========================================================= */
  .mech{padding:0;}
  /* intro */
  .mech-intro{position:relative;overflow:hidden;padding:70px 24px 60px;text-align:center;
    background:#fbfdf6 url('../images/mech-intro-bg.png') center/cover;}
  .mech-intro__leaf{position:absolute;width:234px;pointer-events:none;z-index:0;}
  .mech-intro__leaf--tl{top:0;left:0;transform:scaleX(-1);}
  .mech-intro__leaf--br{right:0;bottom:0;transform:scaleY(-1);}
  .mech-intro__inner{position:relative;z-index:1;}
  .mech-intro__q{font-size:2.1rem;font-weight:700;color:var(--brown);line-height:1.7;}
  .mech-tri{width:0;height:0;margin:18px auto;border-left:120px solid transparent;border-right:120px solid transparent;border-top:26px solid var(--lime);}
  /* bottom funnel triangle: sits at the very top edge of .mech-body (outside .mech-intro) */
  .mech-tri--top{position:absolute;top:0;left:50%;transform:translateX(-50%);margin:0;z-index:1;}
  .mech-tri-outer{}
  .mech-intro__box{
    max-width:760px;margin:0 auto;background:#fff;border:2px solid #8daa73;border-radius:10px;padding:32px 30px;
    font-size:1.85rem;font-weight:700;color:var(--brown);line-height:1.7;
    box-shadow:0 4px 16px rgba(0,0,0,.06);
  }
  .mech-word{
    display:inline-block;color:var(--green-deep);font-size:2.2rem;font-weight:700;
    background:linear-gradient(#fff082,#fff082) 0 86%/100% .32em no-repeat;
  }
  .mech-word__q{color:var(--brown);}
  /* body */
  .mech-body{position:relative;padding:64px 24px;}
  .mech-body__inner{max-width:1020px;margin-inline:auto;display:flex;flex-direction:column;gap:60px;}
  /* centered split heading (腰痛改善メカニズムとは？) */
  .mech-pill{display:block;margin:0 auto 24px;color:var(--brown);font-size:2.4rem;font-weight:700;text-align:center;line-height:1.4;}
  .mech-pill .g{color:var(--green-deep);}
  .mech-h2{font-size:1.85rem;font-weight:700;color:var(--brown);text-align:center;line-height:1.6;margin-bottom:8px;}
  /* left green heading with chocolate bar (筋膜リリース / MSM由来) */
  .mech-h3{display:block;font-size:1.7rem;font-weight:700;color:var(--green-deep);line-height:1.4;padding-bottom:14px;margin-bottom:22px;border-bottom:2px dashed var(--orange2);}
  .mech-keyword{text-align:center;margin-bottom:30px;}
  .mech-keyword__lead{display:block;font-size:1.2rem;font-weight:700;color:var(--brown);margin-bottom:6px;}
  .mech-keyword strong{font-size:3.2rem;font-weight:900;letter-spacing:.04em;color:var(--orange);}
  .mech-keyword em{font-style:normal;}
  .mech-keyword .x{margin:0 .1em;}
  .mech-text{font-size:1.15rem;line-height:2;color:var(--brown);}
  .mech-text--center{text-align:center;max-width:860px;margin-inline:auto;font-weight:700;font-size:1.28rem;}
  .mech-text .g,.mech-text strong.g{color:var(--green-deep);font-weight:700;}
  .mech-text--center strong.g{font-size:1.25em;}
  .mech-intro2{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:stretch;margin-top:20px;}
  .mech-anatomy{display:flex;align-items:center;justify-content:center;}
  .mech-anatomy img{max-width:300px;}
  /* cards */
  .mech-cards{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .mech-card{text-align:center;}
  .mech-card__head{color:#fff;font-size:1.4rem;font-weight:700;line-height:1.5;padding:14px 10px;}
  .mech-card__head--green{background:var(--green-deep);}
  .mech-card__head--orange{background:var(--orange);}
  .mech-card__img{width:100%;display:block;}
  .mech-card__text{font-size:1.02rem;line-height:1.9;text-align:left;margin-top:18px;letter-spacing:.04em;}
  /* white card sections (筋膜リリース / MSM) */
  .mech-card-sec{position:relative;overflow:visible;background:#fff;border-radius:14px;padding:36px 40px;box-shadow:0 4px 16px rgba(81,67,39,.06);}
  .mech-card-sec__leaf{position:absolute;right:-25px;bottom:-20px;width:96px;pointer-events:none;}
  /* guidelines */
  .mech-guides{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;justify-items:center;margin:28px 0 36px;}
  .mech-guides img{width:100%;max-width:480px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);}
  /* msm */
  .mech-msm-list{display:flex;flex-direction:column;gap:16px;margin:24px 0 0;}
  .mech-msm-list dt{font-weight:700;color:var(--brown);font-size:1.15rem;margin-bottom:4px;}
  .mech-msm-list dd{font-size:1.02rem;line-height:1.8;margin-left:0;color:var(--brown);}
  .mech-msm-diagram{width:100%;max-width:760px;margin:0 auto;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);display:block;}
  /* voice */
  .mech-voice{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:center;background:#fff;border-radius:14px;padding:40px;box-shadow:0 6px 20px rgba(0,0,0,.06);}
  .mech-voice__h{font-size:1.7rem;font-weight:700;color:var(--brown);margin-bottom:18px;}
  .mech-voice__txt p{font-size:1.02rem;line-height:1.95;margin-bottom:16px;}
  .mech-voice__img{width:100%;border-radius:12px;}
  /* outro */
  .mech-outro{position:relative;max-width:1440px;margin:60px auto 90px;background:#d7edbc;border-radius:50px;text-align:center;padding:54px 40px;}
  .mech-outro__leaf{position:absolute;pointer-events:none;}
  .mech-outro__leaf--tr{top:-15px;right:-15px;width:154px;}
  .mech-outro__leaf--bl{left:24px;bottom:-40px;width:118px;}
  .mech-outro p{position:relative;z-index:1;font-size:1.7rem;font-weight:700;color:var(--brown);line-height:1.8;}
  
  /* =========================================================
     SOLUTION
     ========================================================= */
  .sec-title{text-align:center;font-size:2.1rem;font-weight:900;color:var(--brown);line-height:1.5;margin-bottom:42px;}
  .sec-title--leaf{position:relative;padding-bottom:42px;}
  .sec-title--leaf::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:80px;height:24px;background:url('../images/heading-leaf.png') center/contain no-repeat;}
  .solution{padding:80px 0;background:#fff url('../images/solution-bg.jpg') center top/cover no-repeat;}
  .solution__inner{max-width:900px;margin-inline:auto;padding-inline:24px;}
  .solution__intro{margin-bottom:36px;}
  .solution__intro p{font-size:1.05rem;line-height:2;margin-bottom:20px;}
  .solution__grid{display:grid;grid-template-columns:225px 1fr;gap:78px;align-items:start;}
  .solution__photo{width:225px;height:225px;object-fit:cover;object-position:center 22%;border-radius:4px;}
  .solution__clinic{text-align:center;font-weight:700;color:var(--brown2);margin-top:18px;font-size:1.05rem;}
  .solution__name{text-align:center;font-weight:700;font-size:1.9rem;color:var(--brown);margin-top:6px;letter-spacing:.05em;}
  .solution__text p{font-size:1rem;line-height:1.9;margin-bottom:14px;}
  .solution__career-h{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:700;color:var(--green-deep);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--green-light);}
  .solution__career-h:nth-of-type(2){margin-top:22px;}
  .leaf-mark{width:26px;height:26px;background:url('../images/leaf-3.png') center/contain no-repeat;display:inline-block;}
  .solution__qual{font-size:.92rem;color:var(--brown2);line-height:1.8;margin-top:22px;}
  .solution__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;}
  .solution__badges img{width:130px;height:130px;object-fit:contain;}
  
  /* =========================================================
     EXPERTS
     ========================================================= */
  .experts{padding:80px 0;}
  .experts__inner{max-width:1040px;margin-inline:auto;padding-inline:24px;}
  .experts__title{font-size:2.4rem;}
  .experts__praise{display:inline-block;color:var(--orange);padding-bottom:6px;border-bottom:3px dotted var(--green-deep);line-height:1.2;}
  .experts__main{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch;padding-top:120px;}
  .expert-main{position:relative;background:#fff;border:2px solid var(--green-deep);border-radius:20px;padding:140px 34px 36px;text-align:left;}
  .expert-main__photo{position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:240px;height:240px;object-fit:cover;border-radius:50%;border:4px solid #fff;}
  .expert-main__org{font-size:.9rem;font-weight:700;color:var(--brown2);line-height:1.5;}
  .expert-main__rolename{display:flex;align-items:baseline;gap:12px;margin:8px 0 16px;}
  .expert-main__role{font-size:1rem;font-weight:700;color:var(--brown);}
  .expert-main__name{font-size:1.7rem;font-weight:700;color:var(--brown);letter-spacing:.04em;}
  .expert-main__name small{font-size:1rem;}
  .expert-main__catch{font-size:1.5rem;font-weight:700;color:var(--green-deep);line-height:1.5;margin-bottom:16px;}
  .expert-main__text{font-size:1rem;line-height:1.9;text-align:left;}
  .experts__sub{display:flex;flex-wrap:wrap;justify-content:center;gap:36px 50px;max-width:880px;margin:46px auto 0;}
  .expert-sm{text-align:left;width:240px;}
  .expert-sm img{width:240px;height:240px;object-fit:cover;border-radius:50%;margin:0 0 14px;box-shadow:0 4px 12px rgba(0,0,0,.1);}
  .expert-sm__org{font-weight:700;color:var(--green-deep);font-size:1.05rem;padding-left:28px;}
  .expert-sm__role{font-size:.9rem;color:var(--brown2);margin-top:4px;padding-left:28px;}
  .expert-sm__name{font-weight:700;font-size:1.25rem;color:var(--brown);margin-top:2px;padding-left:28px;}
  .expert-sm__name small{font-size:.85rem;}
  
  /* =========================================================
     FEATURES
     ========================================================= */
  .features{padding:90px 0 80px;position:relative;background:var(--green-pale);border-radius:50% 50% 0 0 / 100px 100px 0 0;margin-top:-30px;}
  .features__inner{max-width:1000px;margin-inline:auto;padding-inline:24px;}
  .features__head{text-align:center;margin-bottom:50px;}
  .features__head::after{content:"";display:block;width:84px;height:26px;margin:16px auto 0;background:url('../images/heading-leaf.png') center/contain no-repeat;}
  .features__lead{display:inline-block;background:none;color:var(--brown);font-weight:700;font-size:1.5rem;margin-bottom:6px;}
  .features__title{font-size:2.5rem;font-weight:900;color:var(--brown);}
  .features__title .big{color:var(--orange);font-size:1.5em;}
  .feature{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:center;padding:34px 0;border-bottom:1px dashed #cdcdbd;}
  /* reversed rows: image fixed on the LEFT, text takes the wide 1fr column on the right */
  .feature--rev{grid-template-columns:380px 1fr;}
  .feature--rev .feature__txt{order:2;}
  .feature__head{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
  .feature__num{font-family:var(--font-num);font-size:4rem;font-weight:600;line-height:1;color:#fff;-webkit-text-stroke:1.5px var(--green-dark);margin:0;flex:0 0 auto;}
  .feature__title{font-size:1.7rem;font-weight:900;color:var(--green-deep);line-height:1.45;margin-bottom:0;}
  .feature__catch{font-size:1.2rem;font-weight:700;color:var(--brown);margin-bottom:14px;}
  .feature__text{font-size:1rem;line-height:1.95;}
  .feature__img img{width:100%;border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.1);}
  
  /* =========================================================
     TESTIMONIALS
     ========================================================= */
  .testi{padding:74px 24px;}
  .testi__inner{max-width:1180px;margin-inline:auto;}
  .testi__title{display:flex;align-items:center;justify-content:center;gap:26px;color:var(--brown);font-size:2.1rem;font-weight:700;line-height:1.5;margin-bottom:54px;}
  .testi__title-txt{text-align:center;}
  .testi__title .spark{flex:0 0 auto;position:relative;width:62px;height:56px;color:var(--gold);}
  .testi__title .spark::before,.testi__title .spark::after{content:"✦";position:absolute;line-height:1;}
  .testi__title .spark::before{font-size:2.3rem;left:4px;top:2px;}
  .testi__title .spark::after{font-size:1.25rem;left:34px;top:24px;}
  .testi-card{position:relative;background:#fff;border-radius:30px;padding:46px 44px 30px;margin-bottom:40px;box-shadow:0 8px 24px rgba(81,67,39,.08);}
  .testi-card__badge{position:absolute;top:0;right:44px;transform:translateY(-50%);white-space:nowrap;background:var(--orange);color:#fff;font-weight:700;font-size:1.6rem;padding:8px 36px;border-radius:100px;}
  .testi-card__body{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch;}
  .testi-card__photo{width:100%;height:100%;object-fit:cover;border-radius:12px;}
  .testi-card__txt{display:flex;flex-direction:column;}
  .testi-card__catch{font-size:1.6rem;font-weight:700;color:var(--green-deep);line-height:1.5;margin-bottom:14px;}
  .testi-card__meta{font-weight:700;color:var(--brown);margin-bottom:12px;font-size:1.15rem;}
  .testi-card__text{font-size:1.18rem;line-height:1.95;color:var(--brown);}
  .testi-card__disc{font-size:.8rem;color:var(--brown2);margin-top:auto;padding-top:18px;text-align:right;}
  
  /* =========================================================
     MESSAGE
     ========================================================= */
  .message{padding:80px 24px;}
  .message__wrap{max-width:920px;margin-inline:auto;}
  .message__inner{position:relative;background:#fff;border-radius:10px;padding:64px 80px;}
  .message__inner::before{content:"";position:absolute;inset:0;background:url('../images/message-leaf-frame.png') center/100% 100% no-repeat;pointer-events:none;}
  .message__body{position:relative;z-index:1;}
  .message__body{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}
  .message__body p{font-size:1.02rem;line-height:2.45;margin-bottom:22px;}
  .message__sign{text-align:right;font-weight:700;font-size:1.3rem;margin-top:10px;}
  
  /* =========================================================
     FLOW
     ========================================================= */
  .flow{padding:80px 0;}
  .flow__inner{max-width:1000px;margin-inline:auto;padding-inline:24px;}
  .flow__lead{text-align:center;max-width:820px;margin:0 auto 34px;line-height:1.9;font-size:1rem;}
  .flow__time{width:100%;max-width:780px;margin:0 auto 50px;border-collapse:separate;border-spacing:0;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06);border-radius:14px 14px 0 0;overflow:hidden;}
  .flow__time th,.flow__time td{border-bottom:1px solid #e2e2d6;border-right:1px solid #e2e2d6;padding:14px 20px;font-size:1.02rem;}
  .flow__time th{text-align:left;}
  .flow__time td{text-align:center;}
  .flow__time th:last-child,.flow__time td:last-child{border-right:none;}
  .flow__time tbody tr:last-child th,.flow__time tbody tr:last-child td{border-bottom:none;}
  .flow__time thead th{background:var(--green-deep);color:#fff;text-align:center;font-size:1.2rem;}
  .flow__time tbody th{background:var(--green-pale);width:160px;font-weight:700;}
  .flow__steps{display:flex;flex-direction:column;gap:46px;}
  .flow-step{position:relative;display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;background:#fff;border-radius:16px;padding:28px 38px;box-shadow:0 6px 18px rgba(81,67,39,.08);}
  .flow-step:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:0;height:0;border-left:30px solid transparent;border-right:30px solid transparent;border-top:26px solid var(--orange2);}
  .flow-step__photo img{width:200px;height:160px;object-fit:cover;border-radius:12px;}
  .flow-step__no{display:inline-block;font-family:var(--font-num);background:var(--brown);color:#fff;font-weight:500;font-size:1rem;padding:1px 20px;border-radius:100px;margin-bottom:12px;letter-spacing:.04em;}
  .flow-step__body h3{font-size:1.5rem;font-weight:700;color:var(--green-deep);margin-bottom:10px;}
  .flow-step__body p{font-size:1rem;line-height:1.9;}
  
  /* =========================================================
     GREEN QUOTE
     ========================================================= */
  .quote107{position:relative;max-width:1440px;margin:0 auto;border-radius:50px;overflow:hidden;padding:55px 24px;text-align:center;
    background:linear-gradient(rgba(148,199,141,.3),rgba(148,199,141,.3)),url('../images/quote-tree-bg.jpg') center/cover no-repeat;}
  .quote107__box{position:relative;max-width:680px;margin:38px auto 0;background:rgba(255,255,255,.9);border-radius:20px;padding:40px 46px;}
  .quote107__badge{position:absolute;left:50%;top:-58px;transform:translateX(-50%);width:120px;height:60px;background:rgba(255,255,255,.9);border-radius:60px 60px 0 0;display:flex;align-items:center;justify-content:center;padding-top:6px;}
  .quote107 p{color:var(--brown);font-size:1.35rem;font-weight:500;line-height:2;}
  
  /* =========================================================
     PRICING
     ========================================================= */
  .pricing{padding:80px 24px;}
  .pricing__inner{max-width:835px;margin-inline:auto;}
  .pricing__card{position:relative;text-align:center;background:#fff url('../images/pricing-card-leaves.png') center/cover;border:3px dashed var(--green);border-radius:18px;padding:56px 30px;}
  .pricing__tag{display:inline-block;background:var(--orange);color:#fff;font-weight:700;font-size:1.2rem;padding:6px 28px;border-radius:30px;margin-bottom:18px;}
  .pricing__headline{font-family:'Noto Serif JP',serif;font-size:2.6rem;font-weight:700;color:var(--brown);letter-spacing:.02em;}
  .pricing__icon{width:120px;margin:18px auto;}
  .pricing__text{font-size:1.1rem;line-height:1.9;color:var(--brown);}
  
  /* =========================================================
     ACCESS
     ========================================================= */
  .access{padding:80px 0;}
  .access__inner{max-width:1000px;margin-inline:auto;padding-inline:24px;}
  .access__top{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:start;margin-bottom:34px;}
  .access__clinic{font-size:1.6rem;font-weight:900;color:var(--brown);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #a8c48a;}
  .access__ico{flex:0 0 auto;width:24px;height:24px;display:inline-block;background:url('../images/leaf-3.png') center/contain no-repeat;}
  .access__dl dt{font-weight:700;color:var(--brown);display:flex;align-items:center;gap:8px;font-size:1.2rem;margin-top:30px;}
  .access__dl dt:first-child{margin-top:0;}
  .access__dl dd{margin-left:32px;margin-top:6px;padding-bottom:14px;line-height:2;font-size:1.05rem;border-bottom:1px solid #e7ead9;}
  .access__dl dd:last-child{border-bottom:none;}
  .access__small{font-size:.85rem;color:var(--brown2);}
  .access__maps img{width:100%;border-radius:10px;margin-bottom:16px;box-shadow:0 4px 12px rgba(0,0,0,.08);}
  .access__photos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .access__photos img{width:100%;height:150px;object-fit:cover;border-radius:10px;}
  
  /* =========================================================
     FAQ
     ========================================================= */
  .faq{padding:80px 24px;}
  .faq__inner{max-width:807px;margin-inline:auto;}
  .faq-item{border-bottom:1px solid #ddd;padding:24px 4px;}
  .faq-item__q,.faq-item__a{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;}
  .faq-item__a{margin-top:14px;}
  .faq-mark{width:40px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-num);font-weight:600;font-size:1.35rem;}
  .faq-mark--q{background:var(--orange);}
  .faq-mark--a{background:var(--green-deep);}
  .faq-item__q p{font-size:1.2rem;font-weight:700;color:var(--brown);padding-top:4px;}
  .faq-item__a p{font-size:1.02rem;line-height:1.9;padding-top:5px;}
  
  /* =========================================================
     FOOTER + SP bar
     ========================================================= */
  .footer{background:var(--green-dark);color:#fff;text-align:center;padding:50px 24px 60px;}
  .footer__nav{display:flex;justify-content:center;gap:60px;margin-bottom:30px;}
  .footer__nav a{font-size:1rem;transition:opacity .2s;}
  .footer__nav a:hover{opacity:.7;}
  .footer__copy{font-size:.9rem;margin-bottom:8px;}
  .footer__note{font-size:.82rem;opacity:.85;}
  
  .sp-bar{display:none;}
  
  /* =========================================================
     RESPONSIVE
     - PC layout scales down to 769px (font-size / padding tuned per width)
     - <= 768px switches to the mobile (SP) layout
     ========================================================= */
  
  /* ---- PC layout: progressive down-scaling ---- */
  @media (max-width: 1600px){
    html{font-size:17.5px;} /* Adjusted from 15.5px */
  }
  @media (max-width: 1200px){
    html{font-size:17px;} /* Adjusted from 15px */
    .mv__copy{max-width:640px;}
    .mv__lead{font-size:1.65rem;} /* Adjusted */
    .mv__title{font-size:2.3rem;letter-spacing:.1em;} /* Adjusted */
    .mv__title .hl{font-size:2.7rem;} /* Adjusted */
    .header__inner{padding:14px 20px;}
  }
  @media (max-width: 1024px){
    html{font-size:16px;} /* Adjusted from 14px */
    .mv__inner{min-height:clamp(360px,42vw,460px);}
    .mv__copy{max-width:480px;padding:36px 16px 36px 5%;}
    .mv__title{font-size:2.1rem;letter-spacing:.1em;} /* Adjusted */
    .mv__title .hl{font-size:2.4rem;} /* Adjusted */
    .mv__lead{font-size:1.5rem;} /* Adjusted */
    .mv__tags{gap:8px;}
    .mv__tags li{font-size:1.1rem;padding:3px 7px;} /* Adjusted */
    .mv__badges img{height:116px;}
    .solution,.experts,.features,.flow,.pricing,.access,.faq{padding-block:64px;}
    .mech-body{padding:56px 24px;}
    .header__tel .tel-link__num{font-size:2rem;} /* Adjusted */
  }
  @media (max-width: 860px){
    html{font-size:15.5px;} /* Adjusted from 13.5px */
    .mv__inner{min-height:clamp(320px,42vw,400px);}
    .mv__copy{max-width:400px;padding:30px 14px 30px 4.5%;}
    .mv__title{font-size:1.95rem;letter-spacing:.06em;} /* Adjusted */
    .mv__title .hl{font-size:2.2rem;} /* Adjusted */
    .mv__lead{font-size:1.35rem;} /* Adjusted */
    .mv__tags{gap:6px;}
    .mv__tags li{font-size:0.95rem;padding:3px 6px;} /* Adjusted */
    .mv__badges img{height:96px;}
    .cta__cards{gap:24px;}
  }
  
  @media (max-width: 768px){
    html{font-size:16px;} /* Adjusted from 14px */
    .header__inner{padding:10px 14px;gap:10px;}
    .header__logo img{height:38px;}
    .header__contact{display:none;}
  
    /* single-column stacking for every multi-column section */
    .cta__cards,
    .mech-intro2,.mech-cards,.mech-guides,.mech-voice,
    .solution__grid,.experts__main,.access__top,
    .feature,.feature--rev,.testi-card__body{grid-template-columns:1fr;}
    .feature--rev .feature__txt{order:0;}
    .experts__main{row-gap:140px;}
  
    /* phone hero (SP layout): photo fills the box, lead+title on top, badges+tags overlaid at the bottom */
    .mv{--wave:42px;}
    .mv__inner{
      flex-direction:column;align-items:stretch;gap:0;
      min-height:clamp(440px, 134vw, 580px);
      padding:24px 16px 58px;
      background-image:
        linear-gradient(to bottom, #fff 0%, #fff 12%, rgba(255,255,255,0) 46%),
        url('../images/hero-banner-mobile.png');
      background-repeat:no-repeat, no-repeat;
      background-position:top center, center bottom;
      background-size:100% 100%, 100% auto;
    }
    .mv__copy{display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;padding:0;}
    .mv__leaf{width:140px;}
    .mv__lead{order:1;font-size:1.05rem;align-self:flex-start;} /* Adjusted */
    .mv__title{order:2;font-size:1.8rem;letter-spacing:.08em;} /* Adjusted */
    .mv__title .hl{font-size:2.1rem;} /* Adjusted */
    .mv__badges{order:3;margin-top:auto;flex-wrap:nowrap;gap:8px;justify-content:center;}
    .mv__badges img{height:96px;}
    .mv__tags{order:4;margin-top:10px;gap:6px;justify-content:center;}
    .mv__tags li{font-size:1.25rem;padding:2px 7px;background:#fff;} /* Adjusted */
  
    .cta{padding:46px 16px;}
    .cta__title{font-size:1.6rem;} /* Adjusted */
    .cta__woman{width:70px;right:0;}
    .cta-card{padding:22px 18px;}
    .cta-card__tel{font-size:2rem;} /* Adjusted */
    .cta__bottom{font-size:1.1rem;padding:18px;} /* Adjusted */
    .leaf-deco{width:170px;top:-46px;left:-24px;}
    .offer-price{gap:14px;}
    .offer-price__num{font-size:3.8rem;} /* Adjusted */
    .offer-price__old-num{font-size:2.1rem;} /* Adjusted */
    .offer-price__off{width:auto;height:auto;}
  
    .onayami{padding:60px 16px 60px;}
    .onayami__title{font-size:1.6rem;} /* Adjusted */
    .onayami__lead{font-size:1.3rem;} /* Adjusted */
    .onayami__bubbles{grid-template-columns:1fr 1fr;gap:16px;}
    .onayami__couple{grid-column:1 / -1;order:9;}
    .onayami__couple img{max-width:220px;}
    .bubble{font-size:1.05rem;padding:18px 14px;} /* Adjusted */
  
    .jijitsu__copy{font-size:1.35rem;} /* Adjusted */
    .jijitsu__word{font-size:2.5rem;} /* Adjusted */
    .jijitsu__laurel img{width:190px;}
    .slider__track img{width:210px;height:158px;}
  
    .mech-intro__q{font-size:1.45rem;} /* Adjusted */
    .mech-intro__box{font-size:1.35rem;} /* Adjusted */
    .mech-word{font-size:1.6rem;} /* Adjusted */
    .mech-pill{font-size:1.4rem;padding:10px 28px;} /* Adjusted */
    .mech-h2{font-size:1.45rem;} /* Adjusted */
    .mech-keyword strong{font-size:2.3rem;} /* Adjusted */
    .mech-intro2{gap:18px;}
    .mech-anatomy img{max-width:240px;}
    .mech-outro p{font-size:1.4rem;} /* Adjusted */
    .mech-voice{gap:18px;padding:24px;}
    .mech-voice__img{order:-1;max-width:280px;margin:0 auto;}
    .mech-body{padding:48px 16px;}
    .mech-intro__leaf{width:120px;}
    .mech-card-sec{padding:28px 22px;}
    .mech-card-sec__leaf{width:64px;}
    .mech-h3{font-size:1.45rem;} /* Adjusted */
    .mech-outro{border-radius:24px;padding:40px 24px;}
    .mech-outro__leaf--tr{width:90px;}
    .mech-outro__leaf--bl{width:80px;}
    .offer-price__num{font-size:4.2rem;} /* Adjusted */
    .offer-price__limit{font-size:1.3rem;} /* Adjusted */
    .offer-price__off{font-size:1.05rem;padding:8px 10px;} /* Adjusted */
    .offer-price__old-num{font-size:2.3rem;} /* Adjusted */
    .customers .customer{flex:0 0 calc((100% - 20px)/2);}
  
    .sec-title{font-size:1.7rem;} /* Adjusted */
    .solution__grid{gap:24px;}
    .solution__photo{width:200px;}
    .experts__sub{grid-template-columns:1fr;}
    .expert-main__photo,.expert-main--rev .expert-main__photo{width:100%;height:auto;max-width:280px;margin:0 auto;}
  
    .feature__num{font-size:3.6rem;} /* Adjusted */
    .feature__title{font-size:1.5rem;} /* Adjusted */
    .feature__img{order:-1;}
  
    .testi{padding:50px 16px;}
    .testi__title{font-size:1.6rem;} /* Adjusted */
    .testi-card{padding:20px;}
    .testi-card__catch{font-size:1.3rem;} /* Adjusted */
  
    .message__inner{padding:80px 60px;}
    .message__title{font-size:1.7rem;} /* Adjusted */
  
    .flow-step{grid-template-columns:1fr;gap:14px;}
    .flow-step__photo img{width:100%;height:200px;}
    .flow-step:not(:last-child)::after{display:none;}
    .flow__time tbody th{width:auto;}
    .flow__time th, .flow__time td {font-size: 1.05rem;} /* Adjusted */
    .flow__time thead th {font-size: 1.3rem;} /* Adjusted */
    .flow-step__body h3 {font-size: 1.6rem;} /* Adjusted */
    .flow-step__body p {font-size: 1.05rem;} /* Adjusted */
  
    .quote107 p{font-size:1.2rem;} /* Adjusted */
    .pricing__headline{font-size:2rem;} /* Adjusted */
    .pricing__text {font-size: 1.15rem;} /* Adjusted */
    .access__photos{grid-template-columns:1fr 1fr;}
    .faq-item__q p{font-size:1.15rem;} /* Adjusted */
    .faq-item__a p {font-size: 1.05rem;} /* Adjusted */
  
    .footer{padding-bottom:90px;}
    .footer__nav{gap:30px;}
    .footer__nav a {font-size: 1.05rem;} /* Adjusted */
    .footer__copy {font-size: .95rem;} /* Adjusted */
    .footer__note {font-size: .88rem;} /* Adjusted */
  
    /* fixed bottom CTA bar on mobile */
    .sp-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:200;box-shadow:0 -4px 16px rgba(0,0,0,.15);}
    .sp-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 6px;font-weight:700;font-size:1.15rem;color:#fff;} /* Adjusted */
    .sp-bar__tel{background:var(--green-deep);}
    .sp-bar__tel svg{display:none;}
    .sp-bar__tel::before{content:"";flex:0 0 auto;width:22px;height:24px;background-color:#fff;
      -webkit-mask:url('../images/phone-icon.svg') center/contain no-repeat;
              mask:url('../images/phone-icon.svg') center/contain no-repeat;}
    .sp-bar__line{background:var(--line);}
    .sp-bar__line .btn__line-icon{width:24px;height:24px;}
  }
  
  /* ---- small phones ---- */
  @media (max-width: 540px){
    html{font-size:15px;} /* Adjusted from 13px */
    .mv__inner{padding:22px 14px 52px;}
    .mv__title{font-size:1.65rem;} /* Adjusted */
    .mv__title .hl{font-size:1.95rem;} /* Adjusted */
    .mv__badges img{height:90px;}
    .mv__tags {display:grid;grid-template-columns:repeat(2, 1fr);margin-left:auto;margin-right:auto;max-width:24rem;width:100%}
    .mv__tags li{font-size:clamp(1rem, -0.962rem + 9.78vw, 1.33rem);text-align:center;} /* Adjusted */
    .onayami__bubbles{gap:12px;}
    .bubble{font-size:1.05rem;padding:14px 12px;min-height:120px;} /* Adjusted */
    .cta{padding:40px 14px;}
    .cta-card{padding:20px 14px;}
    .offer-price{gap:10px;}
    .offer-price__num{font-size:3.4rem;} /* Adjusted */
    .testi-card__badge{font-size:1.3rem;padding:6px 20px;} /* Adjusted */
    .access__photos{gap:10px;}
  }
  
  @media (max-width: 320px){
    html{font-size:14px;} /* Adjusted from 12px */
    .mv__title{font-size:1.55rem;} /* Adjusted */
    .mv__badges{flex-wrap:wrap;}
    .mv__badges img{height:64px;}
    .mv__tags li{font-size:.85rem;} /* Adjusted */
    .onayami__bubbles{grid-template-columns:1fr;}
    .onayami__couple{order:9;}
    .offer-price__num{font-size:3rem;} /* Adjusted */
  }