.property-hero { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:44px; padding:68px 0 64px }
.property-hero h1 { max-width:570px; margin:0; font-size:clamp(45px,6vw,70px); line-height:1; letter-spacing:-.055em }
.property-hero h1 span { position:relative; z-index:0; white-space:nowrap }
.property-hero h1 span::after { content:""; position:absolute; z-index:-1; left:-5px; right:-8px; bottom:4px; height:.32em; background:var(--yellow); transform:rotate(-1.5deg) }
.property-hero .start-intro { max-width:520px }
.property-photo { position:relative; min-height:375px; padding:15px; background:#fffdf8; box-shadow:0 12px 28px rgba(46,38,27,.16); transform:rotate(1.5deg) }
.property-photo::before { content:""; position:absolute; top:-9px; left:39%; z-index:2; width:94px; height:27px; background:url('assets/paper/tape-yellow.svg') center/100% 100%; transform:rotate(-5deg) }
.property-photo img { width:100%; height:345px; object-fit:cover }
.property-stamp { position:absolute; left:-22px; bottom:20px; padding:9px 15px; background:#f45c9f; font:700 17px/1.2 var(--hand); transform:rotate(-5deg) }
.property-services { padding:45px 0 72px; border-top:1px solid rgba(23,22,21,.12) }
.property-services h2 { margin:0 0 24px; font-size:clamp(28px,4vw,42px); letter-spacing:-.045em }
.property-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.property-service { min-height:194px; padding:23px; background:rgba(255,253,248,.94); border:1px solid rgba(23,22,21,.12); box-shadow:0 7px 16px rgba(46,38,27,.07) }
.property-service:nth-child(2) { transform:translateY(10px) rotate(.35deg) }
.property-service:nth-child(3) { transform:translateY(-3px) rotate(-.4deg) }
.property-service small { color:#817b72; font-size:11px; font-weight:700; letter-spacing:.13em }
.property-service h3 { margin:12px 0 8px; font:700 24px/1.15 var(--hand) }
.property-service p { margin:0; color:#5e5952; font-size:14px; line-height:1.55 }
.tour-example { display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px; margin-top:15px; padding:7px 10px; border-bottom:2px solid var(--pink); font-size:13px; font-weight:700 }
.tour-example small { flex-basis:100%; color:#777169; font-size:10px; font-weight:400 }
.tour-example:focus-visible { outline:2px solid var(--ink); outline-offset:3px }
.property-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:32px 0 70px; padding:24px 28px; background:#171615; color:#fffdf7 }
.property-cta h2 { margin:0; font:400 clamp(24px,3.2vw,36px)/1.2 var(--hand) }
.property-cta p { margin:6px 0 0; color:rgba(255,253,247,.76); font-size:14px }
.property-cta a { display:inline-flex; align-items:center; gap:14px; flex:none; padding:13px 18px; background:var(--yellow); color:var(--ink); font-size:13px; font-weight:700 }
.property-cta a:focus-visible,.property-cta a:hover { outline:2px solid #fff; outline-offset:3px }
@media(max-width:760px) {
 .property-hero { grid-template-columns:1fr; gap:26px; padding:43px 0 40px }
 .property-hero h1 { font-size:clamp(42px,11vw,62px) }
 .property-photo { min-height:0; padding:10px }
 .property-photo img { height:auto; aspect-ratio:1.42; object-fit:cover }
 .property-services { padding:33px 0 48px }
 .property-service-grid { grid-template-columns:1fr; gap:12px }
 .property-service,.property-service:nth-child(2),.property-service:nth-child(3) { min-height:0; padding:19px; transform:none }
 .property-service h3 { margin-top:7px; font-size:22px }
 .property-cta { display:grid; gap:17px; margin:24px 0 46px; padding:20px }
 .property-cta a { justify-self:start }
}
