/* Property detail pages: mobile-first layout */
.property-detail-page{background:var(--surface);color:var(--ink)}
.property-detail-hero{display:grid;gap:38px;padding:calc(var(--header-height) + 36px) 7vw 58px;background:var(--foreground);color:var(--card)}
.property-detail-hero__copy{display:flex;flex-direction:column;align-items:flex-start;max-width:620px}
.property-detail-hero__copy .section-kicker{margin-bottom:26px}
.property-detail-hero__copy h1{margin:0;font:500 48px/1.02 var(--font-subheading);letter-spacing:0;color:var(--card)}
.property-detail-hero__copy h1 em{color:var(--accent-text);font-style:italic}
.property-detail-hero__copy>p{max-width:500px;margin:24px 0 0;color:var(--line);font-size:15px;line-height:1.7}
.property-detail-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
.property-detail-hero__actions .text-link{color:var(--card)}
.property-detail-visual{min-height:350px;display:flex;align-items:center;justify-content:center}
.property-detail-stack{position:relative;width:min(100%,560px);height:340px;isolation:isolate;cursor:pointer}
.property-detail-stack__image{position:absolute;top:0;left:0;width:78%;height:82%;margin:0;overflow:hidden;border:4px solid var(--card);background:var(--line);box-shadow:0 16px 28px var(--overlay-medium);transform:translate(var(--stack-x),var(--stack-y)) rotate(var(--stack-r));transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease}
.property-detail-stack__image img{display:block;width:100%;height:100%;object-fit:cover}
.property-detail-stack:hover .property-detail-stack__image,.property-detail-stack:focus-within .property-detail-stack__image,.property-detail-stack.is-expanded .property-detail-stack__image{transform:translate(var(--spread-x),var(--spread-y)) rotate(var(--spread-r));box-shadow:0 20px 38px var(--overlay-medium)}
.property-detail-stack:focus-visible{outline:2px solid var(--primary);outline-offset:5px}
.property-detail-visual__label{align-self:flex-end;margin:0 0 8px -34px;color:var(--accent-text);font-size:10px;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}
.property-detail-content{display:grid;gap:36px;padding:64px 7vw 82px}
.property-detail-intro{display:grid;gap:24px}
.property-detail-intro__kicker{color:var(--accent-text);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.property-detail-intro h2{margin:0;font:500 37px/1.06 var(--font-subheading);letter-spacing:0;color:var(--foreground)}
.property-detail-intro h2 em{color:var(--accent-text);font-style:italic}
.property-detail-intro p{max-width:530px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.75}
.property-detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.property-detail-spec{padding:18px 12px 18px 0;border-bottom:1px solid var(--line)}.property-detail-spec:nth-last-child(-n+2){border-bottom:0}
.property-detail-spec strong{display:block;color:var(--foreground);font:500 25px var(--font-subheading)}.property-detail-spec span{display:block;margin-top:4px;color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.property-detail-section{display:grid;gap:20px;padding-top:25px;border-top:1px solid var(--line)}
.property-detail-section h3{margin:0;font:500 29px/1.1 var(--font-subheading);color:var(--foreground)}.property-detail-section h3 em{color:var(--accent-text);font-style:italic}
.property-detail-section p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.75}
.property-detail-feature-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.property-detail-feature-list li{padding:14px 0;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:12px}.property-detail-feature-list li::before{content:'\002726';margin-right:10px;color:var(--accent-text)}
.property-detail-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:var(--surface-soft)}.property-detail-cta p{max-width:430px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}.property-detail-cta .button{flex:0 0 auto}
.property-detail-stack--many{height:460px}
@media(min-width:860px){
 .property-detail-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:var(--layout-gap);padding:calc(var(--header-height) + 40px) var(--page-gutter) 76px}
 .property-detail-hero__copy h1{font-size:78px}
 .property-detail-visual{min-height:510px}
 .property-detail-stack{height:500px}
 .property-detail-stack--many{height:560px}
 .property-detail-visual__label{margin-left:-55px}
 .property-detail-content{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);column-gap:var(--layout-gap);padding:76px var(--page-gutter)}
 .property-detail-intro{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);align-items:end;gap:var(--layout-gap);padding-bottom:26px}
 .property-detail-intro h2{font-size:54px}
 .property-detail-specs{grid-column:2;grid-row:2}
 .property-detail-section{grid-column:1}
 .property-detail-cta{grid-column:1/-1;padding:30px 36px}
}
@media(max-width:859px){.property-detail-hero__actions .button{min-height:46px}.property-detail-stack__image{width:72%;height:80%}.property-detail-visual__label{display:none}}
@media(prefers-reduced-motion:reduce){.property-detail-stack__image{transition:none}}
/* Failsafe: never hide detail content via global .reveal animation. */
.property-detail-page .reveal,.property-detail-page section.reveal,.property-detail-page article.reveal{opacity:1!important;transform:none!important;transition:none}

/* Ram Villa detail content */
.property-detail-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:4px; }
.property-detail-media-grid figure { position:relative; min-width:0; margin:0; overflow:hidden; background:var(--surface-soft); border-radius:14px; }
.property-detail-media-grid figure:first-child { grid-column:1/-1; }
.property-detail-media-grid img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .5s ease; }
.property-detail-media-grid figure:hover img { transform:scale(1.04); }
.property-detail-media-grid figcaption { position:absolute; right:12px; bottom:10px; left:12px; color:var(--card); font:600 11px var(--font-text); text-transform:uppercase; letter-spacing:.08em; text-shadow:0 2px 12px rgba(0,0,0,.5); }
.property-detail-copy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 30px; }
.property-detail-copy-grid > div { padding-top:16px; border-top:1px solid var(--line); }
.property-detail-copy-grid h4 { margin:0 0 6px; color:var(--foreground); font:600 18px var(--font-subheading); }
.property-detail-copy-grid p { margin:0; }
.property-detail-copy-grid--compact { gap:18px 24px; }
@media (min-width:860px) { .property-detail-media-grid { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; } .property-detail-media-grid figure:first-child { grid-column:span 2; grid-row:span 2; } .property-detail-media-grid figure:first-child img { height:100%; aspect-ratio:auto; min-height:360px; } .property-detail-media-grid img { aspect-ratio:1/1; } }
@media (max-width:560px) { .property-detail-copy-grid { grid-template-columns:1fr; gap:18px; } .property-detail-media-grid { gap:10px; } .property-detail-media-grid figcaption { font-size:9px; } }

/* Villa detail refresh: premium warm palette and readable image overlays */
.property-detail-page{--villa-ink:#1c1917;--villa-copy:#44403c;--villa-muted:#57534e;--villa-paper:#fafaf9;--villa-wash:#f1eee8;--villa-gold:#a16207;--villa-line:#d6d3d1;background:var(--villa-paper);color:var(--villa-ink)}
.property-detail-page .property-detail-hero{position:relative;isolation:isolate;min-height:clamp(680px,78svh,840px);grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(36px,7vw,110px);padding:clamp(145px,17vh,190px) var(--page-gutter,7vw) clamp(62px,8vw,100px);background:linear-gradient(90deg,rgba(20,18,16,.93),rgba(20,18,16,.78) 42%,rgba(20,18,16,.38)),url(https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=85) center/cover}
.property-detail-page .property-detail-hero__copy h1{max-width:590px;font-size:clamp(58px,7.5vw,108px)!important;line-height:.9!important;letter-spacing:-.06em!important}.property-detail-page .property-detail-hero__copy h1 em{display:block;margin-top:12px;color:#eabf32;font-size:.48em;line-height:1.05;letter-spacing:-.03em}.property-detail-page .property-detail-hero__copy>p{color:rgba(255,255,255,.84);font-size:clamp(15px,1.3vw,18px);line-height:1.7}.property-detail-page .property-detail-hero__actions .text-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;color:#fff}
.property-detail-page .property-detail-visual{min-height:490px}.property-detail-page .property-detail-stack{width:min(100%,620px);height:480px}.property-detail-page .property-detail-stack__image{width:82%;height:86%;border:7px solid rgba(250,250,249,.95);border-radius:20px;box-shadow:0 24px 55px rgba(0,0,0,.28)}.property-detail-page .property-detail-stack__image img{border-radius:12px}.property-detail-page .property-detail-stack:focus-visible{outline:3px solid #eabf32;outline-offset:8px;border-radius:20px}.property-detail-page .property-detail-visual__label{color:#f3c84b;font-weight:600}
.property-detail-page .property-detail-content{gap:clamp(45px,6vw,82px);padding:clamp(70px,9vw,130px) var(--page-gutter,7vw) 110px;background:var(--villa-paper)}.property-detail-page .property-detail-intro{padding-bottom:clamp(34px,5vw,60px);border-bottom:1px solid var(--villa-line)}.property-detail-page .property-detail-intro__kicker{color:var(--villa-gold);font-weight:700}.property-detail-page .property-detail-intro h2{font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.06em;color:var(--villa-ink)}.property-detail-page .property-detail-intro h2 em,.property-detail-page .property-detail-section h3 em{color:var(--villa-gold)}.property-detail-page .property-detail-intro p,.property-detail-page .property-detail-section p{color:var(--villa-copy);font-size:15px;line-height:1.8}
.property-detail-page .property-detail-specs{gap:0;padding:8px 0;border:1px solid var(--villa-line);border-radius:16px;background:var(--villa-wash)}.property-detail-page .property-detail-spec{min-height:100px;padding:20px;border-color:var(--villa-line)}.property-detail-page .property-detail-spec strong{color:var(--villa-ink);font-size:30px}.property-detail-page .property-detail-spec span{color:var(--villa-muted);letter-spacing:.1em}.property-detail-page .property-detail-section{gap:25px;padding-top:30px;border-top:1px solid var(--villa-line)}.property-detail-page .property-detail-section h3{max-width:730px;font-size:clamp(34px,4vw,60px);line-height:.98;letter-spacing:-.055em;color:var(--villa-ink)}
.property-detail-page .property-detail-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:1px solid var(--villa-line)}.property-detail-page .property-detail-feature-list li{display:flex;align-items:center;min-height:52px;padding:13px 0;border-bottom:1px solid var(--villa-line);color:var(--villa-copy);font-size:13px;line-height:1.45}.property-detail-page .property-detail-feature-list li::before{content:"";width:7px;height:7px;flex:0 0 7px;margin:0 12px 0 2px;border-radius:50%;background:var(--villa-gold)}.property-detail-page .property-detail-copy-grid>div{min-height:130px;padding:22px 0;border-color:var(--villa-line)}.property-detail-page .property-detail-copy-grid h4{color:var(--villa-ink);font-size:20px}
.property-detail-page .property-detail-media-grid{gap:16px;padding-top:8px}.property-detail-page .property-detail-media-grid figure{border-radius:18px;background:var(--villa-wash);box-shadow:0 12px 30px rgba(28,25,23,.08)}.property-detail-page .property-detail-media-grid figure::after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.72))}.property-detail-page .property-detail-media-grid img{transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease}.property-detail-page .property-detail-media-grid figure:hover img{transform:scale(1.06);filter:saturate(1.05)}.property-detail-page .property-detail-media-grid figcaption{z-index:1;bottom:18px;color:#fff;font-size:11px;text-shadow:none}.property-detail-page .property-detail-section a{color:var(--villa-gold);font-weight:600}
.property-detail-page .property-detail-cta{position:relative;overflow:hidden;gap:35px;padding:clamp(32px,5vw,60px);border-radius:20px;color:#fff;background:var(--villa-ink);box-shadow:0 20px 50px rgba(28,25,23,.15)}.property-detail-page .property-detail-cta h3{position:relative;z-index:1;color:#fff}.property-detail-page .property-detail-cta h3 em{color:#eabf32}.property-detail-page .property-detail-cta p{position:relative;z-index:1;color:rgba(255,255,255,.74)}.property-detail-page .property-detail-cta>div:last-child{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:20px}.property-detail-page .property-detail-cta .text-link{color:#fff}.property-detail-page .property-detail-disclaimer{max-width:850px;margin:0 auto;color:var(--villa-muted);font-size:12px;line-height:1.7;text-align:center}.property-detail-page .faq-list details{border-color:var(--villa-line)}.property-detail-page .faq-list summary{min-height:52px;color:var(--villa-ink)}.property-detail-page .faq-list details p{color:var(--villa-copy)}
@media (max-width:859px){.property-detail-page .property-detail-hero{grid-template-columns:1fr;min-height:0;padding-top:145px}.property-detail-page .property-detail-visual{min-height:390px}.property-detail-page .property-detail-stack{height:365px}}
@media (max-width:560px){.property-detail-page .property-detail-hero{padding-right:6vw;padding-left:6vw;padding-bottom:42px;background-position:62% center}.property-detail-page .property-detail-hero__copy h1{font-size:clamp(56px,17vw,82px)!important}.property-detail-page .property-detail-hero__actions{align-items:stretch;flex-direction:column;width:100%}.property-detail-page .property-detail-hero__actions .button{justify-content:center;width:100%}.property-detail-page .property-detail-visual{min-height:310px}.property-detail-page .property-detail-stack{height:290px}.property-detail-page .property-detail-stack__image{width:88%;height:86%;border-width:5px}.property-detail-page .property-detail-content{padding-right:6vw;padding-left:6vw}.property-detail-page .property-detail-specs{grid-template-columns:1fr 1fr}.property-detail-page .property-detail-spec{min-height:88px;padding:16px 12px}.property-detail-page .property-detail-spec strong{font-size:24px}.property-detail-page .property-detail-feature-list{grid-template-columns:1fr}.property-detail-page .property-detail-cta>div:last-child{align-items:stretch;flex-direction:column}.property-detail-page .property-detail-cta .button{justify-content:center;width:100%}}
@media (prefers-reduced-motion:reduce){.property-detail-page .property-detail-stack__image,.property-detail-page .property-detail-media-grid img{transition:none}}