/* Shared phone/desktop hero. Keep the original portrait pixels and consultation code. */
#main-visual {
  display:grid;
  grid-template-columns:55% 45%;
  grid-template-rows:minmax(0,1fr) auto;
  background:#409025;
}
#main-visual .lp-hero-mobile-heading {
  display:flex;
  flex-direction:column;
  justify-content:center;
  grid-column:1;
  grid-row:1;
  width:100%;
  padding:44px clamp(32px,4vw,72px) 20px;
  color:#fff;
  background:#409025;
  font-family:var(--lp-reading-font);
}
#main-visual .lp-hero-mobile-eyebrow {margin:0 0 12px;font-size:18px;font-weight:700;line-height:1.5;}
#main-visual .lp-hero-mobile-heading h2 {margin:0;padding:0;font-family:var(--lp-reading-font);font-size:clamp(28px,2.6vw,42px);font-weight:700;line-height:1.55;letter-spacing:0;}
#main-visual .lp-hero-mobile-heading h2 span {display:block;}
#main-visual .lp-hero-mobile-intro {margin:16px 0 0;font-size:18px;line-height:1.7;}
#main-visual .text {grid-column:1;grid-row:2;width:100%;margin:0;padding:20px clamp(32px,4vw,72px) 46px;background:#409025;}
#main-visual .text > img,#main-visual .text::before {display:none;}
#main-visual .text .mv-button {margin:0;}
#main-visual .image {
  position:relative;
  grid-column:2;
  grid-row:1 / span 2;
  width:100%;
  height:clamp(590px,50vw,730px);
  margin:0;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#faf4ec;
}
#main-visual .image::before {content:"";position:absolute;inset:-12px;z-index:-2;background:url(../image/mobile-hero-temple-20261029.jpg) center 45%/cover no-repeat;filter:blur(3px);opacity:.4;}
#main-visual .image::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf4ec24 30%,#faf4ecb8 75%,#faf4ece6);}
#main-visual .image .lp-hero-portrait {
  position:absolute;
  top:0;
  left:-17%;
  width:116%;
  max-width:none;
  height:auto;
  margin:0;
  clip-path:polygon(0 19.9%,40% 19.9%,42.35% 20.2%,43.99% 20.5%,45.78% 21%,46.89% 21.5%,47.94% 22%,48.79% 22.5%,49.42% 23%,50.63% 24%,51.64% 25%,52.48% 26%,53.11% 27%,53.74% 28%,54.22% 29%,54.59% 30%,54.8% 31%,54.9% 32%,54.9% 34%,54.75% 35%,54.75% 43%,54.64% 45%,54.33% 47%,53.69% 49%,56% 60%,70% 100%,0 100%);
}
#main-visual .lp-hero-mobile-copy {display:block;position:absolute;top:40px;left:50%;right:4%;z-index:1;color:#171d13;font-family:var(--lp-reading-font);}
#main-visual .lp-hero-mobile-copy ul {display:grid;gap:8px;margin:0;padding:0;list-style:none;}
#main-visual .lp-hero-mobile-copy li {display:flex;align-items:center;gap:9px;margin:0;padding:0;font-size:clamp(22px,1.6vw,26px);font-weight:700;line-height:1.35;letter-spacing:0;}
#main-visual .lp-hero-mobile-copy li::before {content:"✓";display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;border:1.5px solid #171d13;border-radius:3px;background:#fc0;font-size:18px;line-height:1;}
#main-visual .lp-hero-mobile-copy p {margin:14px 0 0;padding:0;font-size:19px;font-weight:700;line-height:1.35;letter-spacing:0;}
#main-visual .lp-hero-mobile-copy strong {display:block;margin-top:2px;font-size:42px;font-weight:800;line-height:1.1;}
#main-visual .image .lp-hero-mobile-badge {
  display:grid;
  place-items:center;
  position:absolute;
  right:3%;
  bottom:24px;
  z-index:2;
  width:240px;
  max-width:none;
  height:176px;
  margin:0;
  padding:24px 15px 16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 210'%3E%3Cpath d='M57 191C25 191 8 171 10 145C-1 121 12 94 36 88C26 59 48 32 78 37C94 5 134 6 156 29C185 7 222 24 229 52C263 47 290 72 281 102C311 123 299 163 272 173C264 198 232 207 210 192C187 214 150 212 133 194C108 211 75 209 57 191Z' fill='%23ffdf55' stroke='%232e562b' stroke-width='3'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  filter:drop-shadow(0 3px 4px #36280024);
  color:#173b21;
  font-family:var(--lp-reading-font);
  font-size:17px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:0;
  text-align:center;
}
#main-visual .lp-hero-badge-copy {display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:0;}
#main-visual .lp-hero-badge-copy > span,#main-visual .lp-hero-badge-copy > b {display:block;width:100%;margin:0;padding:0;font-size:inherit;font-weight:700;line-height:1.4;text-align:center;white-space:nowrap;}
#main-visual .lp-hero-badge-copy strong {margin:0;font-size:inherit;font-weight:800;line-height:inherit;vertical-align:baseline;}
@media(max-width:1024px) {
  #main-visual {display:flex;flex-direction:column;align-items:stretch;background:#faf4ec;}
  #main-visual .lp-hero-mobile-heading {order:0;padding:26px 24px 22px;text-align:center;}
  #main-visual .lp-hero-mobile-heading h2 {font-size:28px;}
  #main-visual .lp-hero-mobile-eyebrow {font-size:17px;}
  #main-visual .lp-hero-mobile-intro {font-size:17px;margin-top:12px;}
  #main-visual .image {order:1;align-self:center;width:100%;max-width:640px;height:550px;}
  #main-visual .text {order:2;padding:22px 6% 28px;}
  #main-visual .text .mv-button {max-width:680px;margin:0 auto;}
}
@media(max-width:600px) {
  #main-visual .lp-hero-mobile-heading {padding:22px 20px 18px;}
  #main-visual .lp-hero-mobile-eyebrow {margin-bottom:9px;font-size:clamp(13px,3.65vw,15px);}
  #main-visual .lp-hero-mobile-heading h2 {font-size:clamp(19px,5.55vw,24px);}
  #main-visual .lp-hero-mobile-intro {margin-top:10px;font-size:clamp(14px,3.8vw,16px);line-height:1.6;}
  #main-visual .image {height:clamp(402px,100vw,454px);}
  #main-visual .image .lp-hero-portrait {top:-5vw;}
  #main-visual .lp-hero-mobile-copy {top:14px;}
  #main-visual .lp-hero-mobile-copy ul {gap:4px;}
  #main-visual .lp-hero-mobile-copy li {gap:7px;font-size:clamp(17px,4.55vw,19px);}
  #main-visual .lp-hero-mobile-copy li::before {flex-basis:17px;width:17px;height:17px;font-size:15px;}
  #main-visual .lp-hero-mobile-copy p {margin-top:10px;font-size:clamp(14px,3.75vw,16px);}
  #main-visual .lp-hero-mobile-copy strong {font-size:clamp(28px,8vw,34px);}
  #main-visual .image .lp-hero-mobile-badge {right:1.5%;bottom:12px;width:200px;height:148px;padding:24px 12px 16px;font-size:14px;}
  #main-visual .text {padding:18px 6% 24px;}
}
@media(max-width:360px) {
  #main-visual .lp-hero-mobile-heading {padding-left:15px;padding-right:15px;}
  #main-visual .image .lp-hero-portrait {top:auto;bottom:0;}
}

@media(min-width:1025px) {

/* Restore the original desktop left column; retain the single cloud on the right. */
#main-visual {display:flex;flex-wrap:nowrap;align-items:stretch;}
#main-visual .lp-hero-mobile-heading {display:none;}
#main-visual .text {width:55%;margin:0;padding:120px 3.5% 50px;background:#409025;}
#main-visual .text > img {display:block;}
#main-visual .text .mv-button {margin:30px 0 0;}
#main-visual .text::before {display:none;}
#main-visual .image {width:45%;height:auto;min-height:590px;}
#main-visual .image .lp-hero-portrait {top:auto;bottom:0;}
#main-visual .image .lp-hero-mobile-badge {top:calc(clamp(590px,50vw,730px) - 200px);bottom:auto;}
}

/* Final phone adjustment: move the property list slightly right. */
@media(max-width:600px){#main-visual .lp-hero-mobile-copy{left:54%;}}

/* PC property types: slightly larger type and check marks. */
@media(min-width:1025px){#main-visual .lp-hero-mobile-copy ul{gap:9px;}#main-visual .lp-hero-mobile-copy li{font-size:clamp(26px,2vw,30px);font-weight:800;gap:10px;}#main-visual .lp-hero-mobile-copy li::before{flex-basis:23px;width:23px;height:23px;font-size:20px;}}

/* PC cloud: larger badge and text, reaching the portrait chest. */
@media(min-width:1025px){#main-visual .image .lp-hero-mobile-badge{width:clamp(280px,25vw,360px);height:clamp(205px,18.33vw,264px);right:12%;top:calc(clamp(590px,50vw,730px) - 160px);bottom:auto;padding:30px 20px 20px;font-size:clamp(19px,1.65vw,24px);}}@media(min-width:1025px) and (max-width:1279px){#main-visual .image .lp-hero-mobile-badge{top:calc(clamp(590px,50vw,730px) - 144px);}}
