/*
Theme Name: MONOHOME LP
Theme URI: https://monohome.co.jp/
Author: MONOHOME
Description: MONOHOMEの確認済みHTMLデザインをもとにした専用フロントページテーマ
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: monohome-lp
*/
@charset "UTF-8";
:root{--navy:#071f50;--deep:#092756;--green:#008c30;--bright:#00b740;--red:#ed0019;--leaf:#f3faf3;--yellow:#fffa29;--shadow:0 3px 14px rgba(14,54,24,.08)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e7eeeb;color:var(--navy);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.page{width:min(100%,1100px);background:#fff;margin:auto;overflow:hidden;box-shadow:0 8px 34px #06392216}.icon-sprite{position:absolute;height:0;width:0;overflow:hidden}.icon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header{height:74px;padding:9px 5.5%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:#fffc}.brand{width:222px;display:flex;align-items:center}.brand img{display:block;width:100%;height:auto}.menu-trigger{background:transparent;border:0;color:var(--navy);cursor:pointer;padding:9px}.menu-trigger .icon{width:29px;height:29px}.menu{display:none;position:absolute;right:22px;top:65px;z-index:20;background:white;border-radius:12px;padding:14px;box-shadow:0 7px 22px #10223a36;flex-direction:column;gap:12px;font-size:14px;font-weight:700}.menu.open{display:flex}
.hero{position:relative;min-height:0;padding:0 5% 14px;background:#fdfefa;isolation:isolate}.hero-background{position:absolute;z-index:-2;inset:-3px 0 0;background: url("assets/image-01-5e4941b411.jpg") center center / cover no-repeat}.hero-background:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.87),rgba(255,255,255,.10) 80%),linear-gradient(0deg,rgba(194,247,171,.27) 0%,transparent 32%)}.hero-person{position:absolute;z-index:-1;width:58%;max-width:460px;right:-.7%;top:-11px;pointer-events:none;mask-image:linear-gradient(to bottom,black 82%,transparent 100%)}.hero-person img{width:100%;height:auto;display:block}.hero-copy{padding-top:57px;max-width:65%}.hero h1{margin:0;font-size:clamp(30px,4.9vw,56px);font-weight:950;line-height:1.05;white-space:nowrap;letter-spacing:-.085em;text-shadow:0 1px 1px #fff8}.fee-text{display:block;font-weight:900;text-shadow:.012em 0 0 currentColor,-.012em 0 0 currentColor}.zero{font-size:1.94em;color:var(--red);letter-spacing:-.11em;line-height:.85;vertical-align:-.02em}.zero small{font-size:.48em;letter-spacing:-.04em;margin-left:.09em}.cashback{display:block;font-size:.86em;position:relative;z-index:0;margin-top:10px;letter-spacing:-.06em;line-height:1.03;font-weight:900;color:var(--navy);text-shadow:.012em 0 0 currentColor,-.012em 0 0 currentColor}.cashback-label{display:inline-block;position:relative;font-weight:900;color:var(--navy);padding:0 .06em;text-shadow:.012em 0 0 currentColor,-.012em 0 0 currentColor}.cashback:after{content:"";position:absolute;z-index:-1;left:.06em;right:.08em;bottom:-4px;height:10px;background:var(--yellow);border-radius:10px;transform:skewX(-16deg)}.person-message{position:absolute;right:1.3%;top:135px;color:#007b27;font-size:clamp(12px,1.8vw,21px);font-weight:900;line-height:1.35;transform:rotate(-10deg);text-align:center;text-shadow:0 1px 0 white}.portal{position:relative;z-index:2;background:white;border-radius:11px;box-shadow:0 3px 10px #173a2125;width:62%;margin-top:13px;overflow:hidden;padding:7px 9px}.portal img{width:100%;display:block}.hero-cta{position:relative;z-index:5;display:grid;gap:8px;margin:18px auto 0}.button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:56px;border-radius:999px;border:2px solid transparent;font-weight:900;font-size:clamp(14px,2.3vw,24px);padding:9px 14px;white-space:nowrap;box-shadow:0 3px 8px #1a401e1c;transition:transform .2s ease,filter .2s ease}.button:hover{transform:translateY(-1px);filter:brightness(.98)}.button.primary{background:linear-gradient(108deg,#00a83b,#00822d);color:white;border:2px solid white;outline:1px solid rgba(0,137,47,.55)}.button.line{color:#028a2c;background:#fff;border:2px solid #008a2e}.button .icon{width:25px;height:25px;stroke-width:2.5}.button .chev{width:18px;height:18px;margin-left:auto}.line-logo{background:#00af41;color:#fff;font-size:11px;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.line-logo:after{content:"";position:absolute;border:6px solid transparent;border-top-color:#00af41;left:6px;bottom:-9px;transform:rotate(18deg)}
.features{padding:15px 4.5% 8px;background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.feature{display:flex;align-items:center;justify-content:center;gap:9px;padding:3px 6px;min-width:0;line-height:1.1}.feature+.feature{border-left:1px solid #c7d0d9}.feature .icon{color:#009538;width:51px;height:51px}.feature span{font-size:clamp(10px,1.6vw,17px);font-weight:800;display:block;white-space:nowrap}.feature strong{display:block;font-size:35px;white-space:nowrap}.feature strong small{font-size:.57em}.feature strong.red{color:var(--red)}.feature .small-red{color:var(--red);font-size:clamp(10px,1.6vw,17px);letter-spacing:-.08em;border-bottom:5px solid var(--yellow)}.disclaimer{text-align:center;margin:9px 0 0;font-size:clamp(10px,1.55vw,13px);line-height:1.4;color:#243958}
.section{padding:20px 4.5% 0;background:linear-gradient(180deg,#eff9ff,#f3fbf4 80%)}.section-heading{font-size:clamp(21px,3vw,32px);font-weight:950;color:#071f50;letter-spacing:-.065em;line-height:1.3;text-align:center;margin:0 0 10px;white-space:nowrap}.section-heading em{font-style:normal;color:#058b34;position:relative}.section-heading em:after{content:"";position:absolute;z-index:0;bottom:-1px;left:0;right:0;background:#faff20;height:5px;transform:skewX(-20deg)}.lines{display:flex;align-items:center;justify-content:center;gap:14px}.lines:before,.lines:after{content:"";width:11%;height:1px;background:#1aa256;flex:0 1 11%}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trust-card{background:#fff;border-radius:12px;padding:14px 13px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-start;gap:8px}.trust-lead{display:flex;align-items:center;gap:11px}.emblem{position:relative;color:#d8a000;display:flex;align-items:baseline;justify-content:center;flex-shrink:0;font-weight:900;line-height:1}.emblem:before,.emblem:after{content:"❧";position:absolute;color:#d7aa29;top:32%;font-size:29px}.emblem:before{left:-15px;transform:rotate(-55deg)}.emblem:after{right:-19px;transform:rotate(55deg)}.emblem>span{position:absolute;top:-12px;left:44%;font-size:16px}.emblem strong{font-family:Georgia,serif;font-size:78px;font-weight:700}.emblem small{font-size:20px}.trust-card h3{font-size:clamp(13px,1.95vw,21px);margin:0;line-height:1.45;letter-spacing:-.025em}.trust-card p{font-size:clamp(11px,1.4vw,15px);line-height:1.5;margin:0}.homes{text-align:center;align-items:center}.homes-banner{width:100%;max-width:270px;object-fit:contain}.homes h3{font-size:clamp(11px,1.7vw,19px);line-height:1.2}
.steps{background:linear-gradient(180deg,#f3fbf4,#eff9ed);padding-top:17px}.steps-row{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:8px}.step{position:relative;border-radius:11px;background:#fff;box-shadow:var(--shadow);padding:12px;display:flex;min-height:135px;flex-direction:column;align-items:center;text-align:center;justify-content:center}.step .icon{width:40px;height:40px;color:#071f50}.number{position:absolute;top:9px;left:10px;background:#02ae3a;color:#fff;border-radius:100%;width:34px;height:34px;display:grid;place-items:center;font-size:22px}.step h3{margin:6px 0;font-size:clamp(13px,1.95vw,19px);white-space:nowrap;letter-spacing:-.065em}.step p{margin:0;font-size:clamp(11px,1.55vw,14px);line-height:1.5}.step-separator{font-size:35px;text-align:center;color:#111}.mortgage{margin-top:10px;display:flex;align-items:center;gap:14px;padding:13px 17px;background:#fff;border-radius:12px;box-shadow:var(--shadow)}.mortgage>.icon{width:50px;height:50px;color:#008c31}.mortgage h3{font-size:clamp(15px,2.2vw,23px);letter-spacing:-.06em;color:#008c31;margin:0 0 4px}.mortgage p{margin:0;font-size:clamp(11px,1.45vw,14px)}
.voices{background:#f4fbf4;padding-top:13px}.voice-banner{position:relative;background:#f6fff3 url("assets/image-02-359b2e5a22.svg") center bottom / cover no-repeat;padding:9px 0 17px;text-align:center;margin:0 -4.95% 6px}.voice-banner span{font-size:14px;color:#078b36;font-weight:700;letter-spacing:.23em}.voice-banner .section-heading{font-size:clamp(27px,3.7vw,38px);display:table;margin:1px auto 0;position:relative}.voice-banner .section-heading:after{content:"";position:absolute;z-index:0;bottom:0;left:0;right:0;height:7px;background:#fcfb18;transform:skewX(-24deg)}.reviews{display:grid;gap:10px}.review{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:13px 16px;box-shadow:var(--shadow)}.demographic{width:75px;height:75px;border-radius:999px;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:clamp(12px,1.5vw,16px);line-height:1.35;font-weight:900;text-align:center;letter-spacing:-.05em}.pink{background:#ffe7e7}.blue{background:#dceffc}.mint{background:#e1f3e3}.review h3{font-size:clamp(13px,1.9vw,20px);margin:0 0 5px;line-height:1.35}.review p{margin:0;font-size:clamp(11px,1.5vw,14px);line-height:1.55;color:#29374d}
.faq{padding-top:19px;padding-bottom:16px;background:linear-gradient(#f4fbf4,#f9fffa)}.faq-items{display:grid;gap:6px}.faq details{background:white;border-radius:999px;box-shadow:var(--shadow);border:1px solid #edf2ef;overflow:hidden}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 13px;font-size:clamp(12px,1.7vw,16px);font-weight:750}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";color:#00a334;font-weight:700;font-size:23px;line-height:1}.faq details[open]{border-radius:14px}.faq details[open] summary:after{content:"−"}.faq details p{font-size:13px;line-height:1.65;padding:2px 14px 14px;margin:0;color:#35445d}.contact{background:linear-gradient(#f9fffa,#edfaec);padding:13px 5% 24px}.contact h2{text-align:center;margin:0 0 12px;font-size:21px;letter-spacing:-.05em}.contact h2:before,.contact h2:after{content:"＼";color:#00a53b;margin:0 10px}.contact h2:after{content:"／"}.contact-buttons{display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.contact .button{font-size:clamp(12px,1.6vw,17px);min-height:50px;gap:9px;padding:7px 10px}.contact .button .icon{width:23px;height:23px}.contact .line-logo{width:31px;height:31px}.form-area{padding:20px 5% 35px;background:#f8fdf9}.form-card{max-width:700px;margin:0 auto;border-radius:15px;padding:24px;box-shadow:var(--shadow);background:white}.form-card h2{font-size:24px;margin:0 0 7px;text-align:center}.form-intro{text-align:center;font-size:13px;color:#526079;margin:0 0 20px}.form-card form{display:grid;gap:14px}.form-card form label{display:grid;gap:5px;font-weight:700;font-size:14px}.form-card input:not([type=checkbox]),.form-card textarea{border:1px solid #cdd8d0;border-radius:8px;padding:11px;font-weight:400;min-width:0;width:100%}.form-card input:focus,.form-card textarea:focus{outline:2px solid #89d6a0}.form-card .required{font-weight:700;color:#cd1520;font-size:11px;margin-left:6px}.agree{display:flex!important;align-items:center;gap:8px!important;font-size:13px!important}.agree input{accent-color:#008d3c}.submit{border:0;cursor:pointer}.preview-note,.form-status{font-size:12px;color:#6c7580}.footer{text-align:center;background:white;padding:20px;color:#798079;font-size:12px}.footer img{width:125px}.footer p{margin:8px 0 0}
@media(min-width:850px){.header{padding-left:5%;padding-right:5%}.menu-trigger{display:none}.menu{position:static;display:flex;flex-direction:row;box-shadow:none;padding:0;align-items:center;font-size:13px;background:transparent}.brand{width:215px}.hero{padding:0 6% 30px}.hero-copy{padding-top:92px}.hero-person{right:2%;width:48%;top:0}.portal{width:42%;margin-top:36px}.hero-cta{max-width:710px;margin-top:24px;grid-template-columns:1.6fr 1fr}.person-message{right:7%;top:210px}.section{padding-left:7%;padding-right:7%}.voice-banner{margin-left:-8.2%;margin-right:-8.2%}}
@media(max-width:600px){body{background:#fff}.page{box-shadow:none}.header{height:62px;padding:8px 5.1%}.brand{width:180px}.menu{top:58px;right:10px}.hero{padding:0 4.7% 9px}.hero-background{inset:-8px 0 0;background-position:92% 12px;background-size:auto 84%;background-repeat:no-repeat}.hero-background:before{background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.75) 32%,rgba(255,255,255,.00) 73%),linear-gradient(0deg,rgba(155,232,114,.34),transparent 32%)}.hero-person{top:-11px;right:-8px;width:74%;max-width:none}.hero-copy{padding-top:48px;max-width:69%}.hero h1{font-size:clamp(23px,6vw,34px);letter-spacing:-.07em}.zero{font-size:1.89em;letter-spacing:-.15em}.zero small{font-size:.46em}.cashback{font-size:.96em;margin-top:7px;letter-spacing:-.063em}.cashback:after{height:6px;bottom:-2px}.person-message{top:100px;right:1%;font-size:11px;transform:rotate(-12deg);line-height:1.3}.portal{margin-top:11px;padding:4px 6px;border-radius:7px;width:66%;max-width:360px}.hero-cta{margin-top:18px;gap:7px}.hero .button{min-height:52px;font-size:clamp(13px,3.5vw,18px);gap:11px;padding:9px 11px}.button .icon{width:25px;height:25px}.line-logo{width:33px;height:33px}.features{padding:10px 3.7% 5px}.feature{gap:4px;padding:2px 3px}.feature .icon{width:36px;height:36px}.feature span{font-size:clamp(8.5px,2.4vw,11px)}.feature strong{font-size:clamp(22px,5.6vw,28px)}.feature .small-red{font-size:clamp(9px,2.5vw,13px);border-bottom-width:3px}.disclaimer{font-size:10px;margin-top:6px}.section{padding-left:4%;padding-right:4%}.section-heading{font-size:clamp(19px,5vw,25px);margin-bottom:10px}.lines{gap:8px}.lines:before,.lines:after{width:7%;flex-basis:7%}.trust{padding-top:13px}.trust-grid{gap:7px}.trust-card{padding:11px 9px 12px;gap:6px;min-height:158px}.trust-lead{gap:6px}.emblem strong{font-size:58px}.emblem small{font-size:13px}.emblem>span{font-size:12px;top:-9px}.emblem:before,.emblem:after{font-size:18px}.emblem:before{left:-9px}.emblem:after{right:-14px}.trust-card h3{font-size:11px;letter-spacing:-.06em}.trust-card p{font-size:10px;line-height:1.45}.homes-banner{width:100%}.homes h3{font-size:11px}.steps{padding-top:16px}.steps-row{grid-template-columns:1fr 13px 1fr;gap:4px}.step{min-height:130px;padding:13px 6px 9px}.step .icon{width:35px;height:35px}.number{left:7px;top:7px;width:27px;height:27px;font-size:18px}.step h3{font-size:clamp(10px,2.9vw,13px);letter-spacing:-.065em;line-height:1.25}.step p{font-size:clamp(9px,2.5vw,11px)}.step-separator{font-size:26px}.mortgage{gap:10px;padding:12px 10px;margin-top:9px}.mortgage>.icon{width:38px;height:38px}.mortgage h3{font-size:clamp(13px,3.85vw,16px)}.mortgage p{font-size:10px}.voices{padding-top:10px}.voice-banner{margin:0 -4.35% 6px;padding:7px 0 14px;background-position:center bottom;background-size:cover}.voice-banner span{font-size:10px}.voice-banner .section-heading{font-size:25px}.reviews{gap:7px}.review{grid-template-columns:58px 1fr;gap:7px;padding:9px 8px;border-radius:12px}.demographic{width:52px;height:52px;font-size:11px}.review h3{font-size:clamp(12px,3.2vw,15px);line-height:1.3;margin:0 0 3px}.review p{font-size:clamp(10px,2.75vw,12px);line-height:1.48}.faq{padding-top:16px;padding-bottom:9px}.faq summary{font-size:clamp(11px,3vw,13px);padding:8px 11px}.faq summary:after{font-size:19px}.faq details p{font-size:12px}.faq-items{gap:5px}.contact{padding:10px 4% 18px}.contact h2{font-size:15px;margin-bottom:9px}.contact h2:before,.contact h2:after{margin:0 4px}.contact-buttons{grid-template-columns:1.7fr 1fr;gap:5px}.contact .button{font-size:clamp(9px,2.4vw,12px);padding:6px 4px;min-height:44px;gap:4px}.contact .button .icon{width:19px;height:19px}.contact .button .chev{width:12px;height:12px}.contact .line-logo{height:26px;width:26px;font-size:8px}.form-area{padding:14px 4% 25px}.form-card{padding:18px}.form-card h2{font-size:20px}}
@media(max-width:365px){.header{height:56px}.brand{width:158px}.hero h1{font-size:21px}.hero-person{width:75%;right:-12px}.person-message{top:101px;right:0;font-size:10px}.portal{width:67%;margin-top:13px}.hero .button{font-size:12px}.feature .icon{width:29px;height:29px}.feature .small-red{font-size:9px}.emblem strong{font-size:51px}.trust-card h3{font-size:10px}.trust-card p{font-size:9px}.homes h3{font-size:10px}.review{grid-template-columns:53px 1fr}.demographic{width:48px;height:48px}.review h3{font-size:11px}.review p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* 最終モックアップに合わせたスマホ版の詰め／人物と見出しの重なりを優先調整 */
@media(max-width:600px){
.header{height:52px}
.hero-copy{padding-top:22px}
.hero-person{top:-37px;right:-30px;width:73%}
.person-message{top:59px;right:0%;font-size:10px}
.hero-cta{margin-top:12px;gap:6px}
.hero .button{min-height:45px}
.hero .line-logo{width:28px;height:28px;font-size:9px}
.features{padding-top:8px}
.trust-card{min-height:0}
.step{min-height:122px}
}
@media(max-width:600px){
.header{background:transparent}
.hero-person{top:-67px}
.hero-copy{padding-top:13px}
.person-message{top:50px}
}
@media(max-width:600px){.hero-person{top:-53px;right:0}}


/* 修正02：トップ見出しだけ、細身・シャープに調整 */
.hero h1 {
  font-weight: 750;
  text-shadow: 0 1px 1px rgba(255,255,255,.65);
}
.hero .fee-text {
  font-weight: 750;
  letter-spacing: -.065em;
  -webkit-text-stroke: 0;
}
.hero .cashback {
  font-weight: 750;
  letter-spacing: -.065em;
  -webkit-text-stroke: 0;
}
/* 黄色マーカーは文字の約8割に。長すぎず自然な斜線に */
.hero .cashback::after {
  left: 6%;
  right: auto;
  width: 81%;
  height: 6px;
  bottom: -2px;
  transform: skewX(-16deg) rotate(-.6deg);
  border-radius: 30% 12% 30% 12%;
}
/* 少しスリムで、軽く右に傾いた赤い0。『円』は傾けない */
.hero .zero {
  font-weight: 800;
  color: #e90724;
  letter-spacing: -.12em;
}
.hero .zero-digit {
  display: inline-block;
  font-family: Arial, "Noto Sans CJK JP", sans-serif;
  font-weight: 700;
  letter-spacing: -.065em;
  color: #f00628;
  text-shadow: 1px 1px 0 rgba(135, 0, 21, .16);
  transform: rotate(5deg) skewX(-4deg) scaleX(.86);
  transform-origin: 50% 65%;
  margin-right: -.10em;
  position: relative;
  z-index: 1;
}
/* 手描き風ではなく、細い三本線のアクセント */
.hero .zero-rays {
  position: absolute;
  width: 25px;
  height: 25px;
  top: -10px;
  right: -14px;
  overflow: visible;
  fill: none;
  stroke: #ed1935;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
@media(max-width:600px) {
  .hero .fee-text { letter-spacing: -.061em; }
  .hero .cashback { letter-spacing: -.057em; }
  .hero .cashback::after { height: 4px; }
}

.hero .zero{position:relative;display:inline-block;}


/* 修正03（ご指定の3点のみ） */
/* ① 0と円の接触を解消し、飾り線を数字0そのものに固定 */
.hero .zero { letter-spacing: -.01em; }
.hero .zero-digit { margin-right: .19em; }
.hero .zero small { margin-left: .14em; letter-spacing: 0; }
.hero .zero-digit .zero-rays {
  position: absolute; right: -20px; top: -10px;
  width: 25px; height: 23px; overflow: visible;
  fill: none; stroke: #ed1935; stroke-width: 2.4;
  stroke-linecap: round; pointer-events: none;
  transform: none;
}
/* ② 黄色線は文字そのものの中央に（左右均等） */
.hero .cashback::after { content: none; }
.hero .cashback-label { position: relative; display: inline-block; z-index: 0; }
.hero .cashback-label::after {
  content: ''; position: absolute; z-index: -1;
  left: 7%; width: 86%; bottom: -2px; height: 6px;
  background: var(--yellow); border-radius: 30% 12% 30% 12%;
  transform: skewX(-16deg) rotate(-.6deg);
}
/* ③ URLを送るだけの画像を少しコンパクトに */
@media(max-width:600px) {
  .hero .cashback-label::after { height: 4px; }
  .portal { width: 62%; }
}
@media(max-width:365px) { .portal { width: 63%; } }

/* Approved photograph: preserve intrinsic aspect ratio, no crop or face regeneration. */
.hero{overflow:hidden;background:#f9fff7}
.hero-background{inset:0;background:none!important;z-index:-2;pointer-events:none;overflow:hidden}
.hero-background::before{display:none!important}
.hero-background img{position:absolute;width:118%;max-width:none;height:auto;right:-9%;top:-12px;display:block;object-fit:contain}
.hero-person{display:none!important}
.hero-copy,.portal,.hero-cta,.person-message{position:relative;z-index:2}
.person-message{position:absolute;right:1.5%;top:132px}
@media(max-width:600px){
.hero-background{inset:0!important;background:none!important}
.hero-background img{width:108%;right:-12%;top:0;height:auto}
.hero-copy{padding-top:48px}
.person-message{right:1%;top:112px}
}
@media(min-width:601px){.hero-background img{width:84%;right:0;top:0;height:auto}}

/* Revision: ONLY separate the two contact buttons from the photo area. */
.hero{padding-bottom:0}
.hero-cta{position:relative;z-index:5;margin:0!important;padding:12px 5% 15px;background:#fff;max-width:none}
@media (max-width:600px){
 .hero{min-height:245px;padding-bottom:0}
 .hero-background img{top:-9px}
 .hero-cta{padding:13px 4.7% 16px;margin:0!important;background:#fff}
}
.emblem-image{width:94px;max-width:48%;height:auto;object-fit:contain;flex-shrink:0;display:block}@media(max-width:600px){.emblem-image{width:74px;max-width:54%}}
/* Smartphone only: yellow underlines and benefit separators */
@media (max-width: 600px) {
  .section-heading em { display:inline-block; padding-bottom:5px; }
  .section-heading em::after { bottom:0; height:4px; z-index:0; }
  .voice-banner .section-heading::after { bottom:-5px; height:4px; }
  .feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; align-items:center; }
  .feature { position:relative; min-width:0; width:100%; padding:3px 5px; gap:4px; justify-content:center; border-left:0!important; }
  .feature + .feature::before { content:""; position:absolute; top:10%; bottom:10%; left:0; width:1px; background:#c7d0d9; }
  .feature .icon { width:32px; height:32px; flex-shrink:0; }
}

/* 2026-10-16: fix CTA and benefit layout; preserve all other design. */
/* Desktop: two CTAs have equal widths, neither can overflow its column. */
.hero-cta {
  width:100%;
  max-width:none;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:12px 5% 15px;
}
.hero-cta > .button {
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}
.hero-cta > .button > span {
  min-width:0;
  overflow-wrap:anywhere;
  text-align:center;
}
.hero-cta .chev { flex-shrink:0; }
@media(max-width:600px){
  /* Keep both buttons fully within the viewport at 320–430px. */
  .hero-cta {
    width:100%;
    min-width:0;
    max-width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    margin:0!important;
    padding:12px 4.7% 14px;
  }
  .hero-cta > .button {
    min-width:0;
    width:100%;
    max-width:100%;
    font-size:clamp(12px,3.6vw,16px);
    padding:9px 12px;
    gap:8px;
    white-space:normal;
  }
  .hero-cta .chev {margin-left:auto}
  /* Three equal feature columns; icon above copy eliminates text overlap. */
  .feature-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    align-items:stretch;
  }
  .feature {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    min-width:0;
    max-width:100%;
    gap:3px;
    padding:4px 2px;
    border:0!important;
  }
  .feature > div {min-width:0;max-width:100%;}
  .feature + .feature::before {
    content:"";
    position:absolute;
    left:0;
    top:12%;
    bottom:12%;
    width:1px;
    background:#c7d0d9;
  }
  .feature .icon {width:30px;height:30px;flex-shrink:0}
  .feature span {font-size:clamp(9px,2.7vw,12px);white-space:nowrap;letter-spacing:-.05em}
  .feature strong {font-size:clamp(22px,6vw,28px);white-space:nowrap}
  .feature .small-red {font-size:clamp(10px,2.8vw,13px);letter-spacing:-.08em;white-space:nowrap}
}

/* 2026-10-16: ONLY the two requested finishing tweaks. */
/* Extend the highlight slightly on both sides, without changing the lettering. */
.hero .cashback-label::after {
  left: 2%;
  width: 96%;
}
/* Lower contact CTA: equal width at desktop; full width stacked on phones. */
.contact-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.contact-buttons > .button {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.contact-buttons > .button > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.contact-buttons .chev {flex-shrink: 0; margin-left: auto;}
@media (max-width: 600px) {
  .contact-buttons {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }
  .contact-buttons > .button {
    min-height: 52px;
    padding: 9px 12px;
    gap: 8px;
    font-size: clamp(12px, 3.6vw, 16px);
  }
}

/* 2026-10-16 final polish: pull Yamada slightly farther back on PC,
   and reduce mobile headline/photo overlap without changing the design. */
@media (min-width: 601px) {
  .hero-background img {
    width: 76%;
    right: -1.5%;
    top: 6px;
  }
}

@media (max-width: 600px) {
  /* Keep more white space on the left and push the portrait slightly right/smaller. */
  .hero-background img {
    width: 96%;
    right: -14%;
    top: 2px;
  }
  /* Make the main copy only slightly smaller so it clears the face. */
  .hero-copy {
    max-width: 60%;
    padding-top: 16px;
  }
  .hero h1 {
    font-size: clamp(19px, 6vw, 25px);
    line-height: 1.08;
  }
  .portal {
    width: 59%;
    margin-top: 10px;
  }
}

/* Company details: footer-only addition, optimized for mobile. */
.footer .company-details{max-width:580px;margin:0 auto 14px;text-align:left;line-height:1.8;font-size:12px;color:#626b62}
.footer .company-details p{margin:2px 0;overflow-wrap:anywhere}
.footer .company-details .company-name{font-weight:700;color:#374237;font-size:13px;margin-bottom:5px}
.footer .company-details a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.footer .company-details{padding:0 3px;font-size:11px;line-height:1.75}.footer .company-details .company-name{font-size:12px}}

/* Privacy-consent clarification (2026-10-20). */
.privacy-consent{margin:12px 0 14px;font-size:13px;color:#071f50}
.privacy-consent-title{margin:0 0 4px;font-weight:700}
.privacy-consent-title a{color:#075eaa;text-decoration:underline;text-underline-offset:2px}
.privacy-consent .agree{margin:0;display:flex!important;align-items:center;gap:8px!important;font-size:13px!important;cursor:pointer}


/* Privacy-policy link only: preserve surrounding text typography. */
.privacy-consent .privacy-consent-note a{color:#2864A0;text-decoration:underline;text-underline-offset:2px;font:inherit;font-size:inherit;font-weight:inherit}

/* Privacy link: explicit color and underline in all states. */
.privacy-consent .privacy-consent-note a:link,.privacy-consent .privacy-consent-note a:visited,.privacy-consent .privacy-consent-note a:hover,.privacy-consent .privacy-consent-note a:focus{color:#2864A0!important;text-decoration:underline!important;text-decoration-color:#2864A0!important;text-underline-offset:2px}

/* Display-only clarification: MONOHOME handles property purchases, not rentals. */
.sales-only-notice{box-sizing:border-box;text-align:center;background:#f5f8f4;color:#26483c;padding:9px 12px;font-size:clamp(11px,2.9vw,14px);font-weight:700;line-height:1.6;letter-spacing:.015em}
@media(max-width:370px){.sales-only-notice{padding:8px 5px;font-size:11px;letter-spacing:0}}

/* Sales-only notice: directly above the existing hero headline, no separate header band. */
.hero-copy .sales-only-notice{background:transparent;text-align:left;padding:0;margin:0 0 8px;font-size:clamp(11px,1.15vw,13px);line-height:1.55;font-weight:700;color:#26483c;letter-spacing:0;max-width:100%}
@media(max-width:600px){.hero-copy .sales-only-notice{font-size:11px;line-height:1.4;margin-bottom:6px}}

/* Tiny spacing adjustment only between the brokerage-fee label and red zero (PC/mobile). */
.hero .fee-text > .zero{margin-left:.055em;}
