/* Integration only; reference.css is preserved in its original cascade order. */
body.phi-immersive{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.5}
.phi-immersive button,.phi-immersive input,.phi-immersive select,.phi-immersive textarea{font-family:inherit}
.phi-immersive .property{margin:0}.phi-immersive img{height:auto}.phi-immersive .hero-photo img,.phi-immersive .property-picture img,.phi-immersive .buy-sell-card>img,.phi-immersive .coast-photo>img,.phi-immersive .team-photo img,.phi-immersive .detail-gallery img,.phi-immersive .sell-hero>img{height:100%}
.phi-immersive .hero-scroll-video{max-width:none}.phi-immersive .hero-photo{margin:0}
.phi-immersive .button{border:0;border-radius:0;text-decoration:none;line-height:1.4}.phi-immersive button{box-shadow:none;text-transform:none}
.phi-immersive .enquiry-form label,.phi-immersive .filter-panel label{font-weight:400}
.phi-immersive .phi-description p{margin-bottom:1em}.phi-immersive .phi-description ul{padding-left:1.2em}
.phi-immersive:not(.phi-js) .reveal{opacity:1;transform:none}
.phi-image-missing{width:100%;height:100%;min-height:180px;display:grid;place-items:center;background:#edf3f5;color:#687781;font-size:14px}
.phi-immersive .detail-gallery:empty{display:none}.phi-immersive .detail-gallery:has(>button:only-child){grid-template-columns:1fr}.phi-immersive .detail-gallery>button:only-child{grid-row:1/-1}
.phi-immersive .phi-form-status{padding:14px;background:#f4f8f8;border:1px solid #dce5e8}
.phi-immersive .cinema-hint[hidden]{display:none}.phi-immersive .filter-panel .button{width:100%;margin-top:12px}
.phi-immersive #trp-floater-ls{display:none!important}
.phi-immersive .property{position:relative}.phi-immersive .property>.phi-favorite{position:absolute;top:18px;right:18px;background:#fff;z-index:2;width:34px;height:34px;font-size:24px;line-height:1;color:#152f40;border-color:#dce5e8}.phi-favorite[aria-pressed=true]{color:#b16a00!important}
.detail-heading .phi-favorite{margin-top:12px;font-size:28px}
.phi-extra{margin:32px 0;padding-top:24px;border-top:1px solid var(--line)}.phi-extra h2{margin-bottom:20px}.phi-extra .text-link{margin-top:16px}
.phi-immersive .admin-bar{z-index:99999}body.admin-bar .header{top:32px!important}
@media(max-width:782px){body.admin-bar .header{top:46px!important}}
@media(prefers-reduced-motion:reduce){.phi-immersive .hero-scroll-stage{height:auto!important}.phi-immersive .hero{position:relative!important;top:auto!important}}

/* Integrated carousel controls and viewport-contained gallery, 24 September. */
.wheel-shell{position:relative;max-width:1500px;margin:auto;isolation:isolate}
.wheel-shell .wheel-controls{position:absolute;inset:0;margin:0;pointer-events:none;z-index:5;display:block}
.wheel-controls>button{position:absolute;top:42%;pointer-events:auto;background:#ffffff38;backdrop-filter:blur(5px)}
.wheel-controls>button.circle{width:76px;height:76px;border-color:#8098a57a}
.wheel-controls>button svg{width:36px;height:36px}
.wheel-controls>[data-wheel=prev]{left:3%}.wheel-controls>[data-wheel=next]{right:3%}
.wheel-status{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;pointer-events:auto}
.wheel-card .picture-arrow{display:none}
.wheel-card .property h3 a:after{content:'';position:absolute;inset:0;z-index:1}
.phi-immersive .gallery-dialog[open]{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:64px 24px 12px;border:0;display:grid;grid-template-rows:minmax(0,1fr) 76px 32px;gap:10px;overflow:hidden;background:#fff;color:var(--ink)}
.phi-immersive .gallery-dialog .gallery-stage{display:block;position:relative;min-height:0;min-width:0;margin:0;touch-action:pan-y}
.phi-immersive .gallery-dialog .gallery-main-image{width:100%;height:100%;max-height:100%;object-fit:contain;margin:0}
.phi-immersive .gallery-dialog .gallery-close{top:10px;right:18px;color:#152f40;background:white;width:44px;height:44px;font-size:30px;z-index:3}
.gallery-stage .circle{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background:#11263599!important;font-size:28px;z-index:2}
.gallery-stage .phi-prev{left:0}.gallery-stage .phi-next{right:0}
.phi-immersive .gallery-dialog .gallery-thumbnails{display:flex;justify-content:flex-start;gap:8px;overflow-x:auto;min-width:0;min-height:0;margin:0;padding:4px 2px;overscroll-behavior:contain}
.gallery-thumbnails button{flex:0 0 84px;height:60px;padding:2px;border:2px solid transparent;border-radius:3px;opacity:.65}
.gallery-thumbnails button[aria-pressed=true]{border-color:#db740b;opacity:1}
.phi-immersive .gallery-thumbnails img{width:100%;height:100%;object-fit:cover}
.gallery-count{text-align:center;font-size:14px;align-self:center}
@media(max-width:760px){.wheel-controls>button.circle{width:56px;height:56px}.wheel-controls>button svg{width:28px;height:28px}.wheel-controls>[data-wheel=prev]{left:8px}.wheel-controls>[data-wheel=next]{right:8px}.wheel-controls>button{top:37%}.phi-immersive .gallery-dialog[open]{padding:60px 10px 10px;grid-template-rows:minmax(0,1fr) 70px 28px}.gallery-stage .circle{width:46px;height:46px}.gallery-thumbnails button{flex-basis:72px;height:54px}}

/* 25/09: search below hero; outlined primary actions. */
.phi-immersive .home-search-section{padding:28px 5.2%;background:#fff;position:relative}
.phi-immersive .home-search-section .search-panel{position:static;inset:auto;margin:0;width:100%;transform:none;background:#fff;border:1px solid #e3e7e9;backdrop-filter:none}
.phi-immersive .button.amber,.phi-immersive .button.amber:hover,.phi-immersive .button.amber:active{background:#fff;color:#111;border:2px solid var(--amber);box-shadow:none}
.phi-immersive .button.amber:focus-visible{outline:2px solid #111;outline-offset:4px}
.phi-immersive .wheel[data-count="1"] .wheel-card{transform:none!important}
.phi-immersive .wheel[data-count="1"]+.wheel-controls,.phi-immersive .wheel-shell:has(.wheel[data-count="1"])+.carousel-hint{display:none}
@media(max-width:760px){.phi-immersive .home-search-section{padding:20px 6%}}
.phi-immersive .buy-sell-arrow,.phi-immersive .buy-sell-card:hover .buy-sell-arrow{background:#fff;color:#111;border:2px solid var(--amber)}
@media(max-width:760px){.phi-immersive .home-search-section .search-panel{grid-template-columns:1fr}.phi-immersive .home-search-section .search-panel label{border:1px solid #e3e7e9}}


/* Editorial home headings: dark type with a restrained orange phrase. */
.phi-immersive.home .phi-editorial-heading{font-family:'Libre Caslon Display',Georgia,serif;color:#191d20;font-weight:400;letter-spacing:-.04em;line-height:1.02}
.phi-immersive.home .phi-editorial-heading .phi-heading-accent{color:#db740b;display:block}
.phi-immersive.home .properties .section-heading .eyebrow,.phi-immersive.home .coast-copy>.eyebrow,.phi-immersive.home .team-section .section-heading .eyebrow,.phi-immersive.home .reviews-section .section-heading .eyebrow{color:#b85b05}

/* Floating contact: white surface and elevation over page content. */
.phi-immersive .floating-whatsapp{background:#fff;box-shadow:0 6px 20px #152f4033,0 2px 6px #152f4020}
.phi-immersive .floating-whatsapp:hover,.phi-immersive .floating-whatsapp:focus-visible{background:#fff;box-shadow:0 10px 28px #152f4040,0 3px 8px #152f4026}

/* Footer: editorial signature and small orange details. */
.phi-immersive .footer-signature>p{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px;font-style:normal;line-height:1.12;color:#191d20;letter-spacing:-.02em}
.phi-immersive .phi-footer-accent{display:block;color:#db740b}
.phi-immersive .footer-main h3{color:#191d20}
.phi-immersive .footer-main h3:after{content:'';display:block;width:26px;height:2px;background:#db740b;margin-top:10px}
.phi-immersive .footer-signature>a svg{color:#db740b}
.phi-immersive .footer-main a:not(.brand):hover{color:#b85b05;text-decoration:underline;text-underline-offset:4px}

/* Privacy controls: equal cookie choices and visible layered information. */
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .mgbutton{background:#fff!important;color:#111!important;border:2px solid #db740b!important;border-radius:2px!important;min-width:120px;min-height:44px;font-size:14px!important;font-weight:500!important;box-shadow:none!important;opacity:1!important}
#moove_gdpr_cookie_info_bar{z-index:100000!important}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder{display:flex!important;flex-wrap:wrap;gap:10px}
.phi-legal-links{display:flex;flex-wrap:wrap;gap:16px 24px;padding:24px 0;border-top:1px solid #d7dfe2;font-size:13px}
.phi-legal-links button{font:inherit;text-decoration:underline;text-underline-offset:3px;color:#a65000}
.phi-privacy-layer{font-size:13px;line-height:1.6;background:#f6f7f7;border-left:2px solid #db740b;padding:16px;margin:20px 0}
.phi-privacy-layer p{margin-bottom:8px}.phi-privacy-layer a{text-decoration:underline}
.phi-assigned-agent{display:flex;flex-direction:column;gap:10px;font-size:14px;justify-content:center}
.phi-legal-content{max-width:900px;line-height:1.8}.phi-legal-content h2{font-size:28px;letter-spacing:-.02em;margin:30px 0 12px}.phi-legal-content p,.phi-legal-content ul{margin-bottom:18px}.phi-legal-content a{text-decoration:underline}
@media(max-width:760px){#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .mgbutton{margin:0!important;flex:1 1 100px}.phi-legal-content h2{font-size:25px}}
#moove_gdpr_cookie_modal .mgbutton{background:#fff!important;color:#111!important;border:2px solid #db740b!important;border-radius:2px!important;min-height:44px;box-shadow:none!important;margin:4px!important;font-size:13px!important}
#moove_gdpr_cookie_modal .phi-cookie-reject{display:inline-block!important}

/* Unified orange accent approved by Jesus. */
:root{--amber:#db740b}
.phi-immersive .floating-whatsapp{border-color:var(--amber)}


/* Native Houzez reference, shared by all compact property cards. */
.phi-immersive .property-copy .property-reference{margin:0 0 14px;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:.04em;color:#64615d;overflow-wrap:anywhere}


/* White property gallery and shared amber circular navigation. */
.phi-immersive .gallery-dialog::backdrop{background:#fff}
.phi-immersive .gallery-dialog .gallery-stage .circle,
.phi-immersive .gallery-dialog .gallery-close{background:#fff!important;color:var(--amber);border:2px solid var(--amber);border-radius:50%;box-shadow:0 3px 14px #00000012}
.phi-immersive .gallery-dialog .gallery-stage .circle:hover,
.phi-immersive .gallery-dialog .gallery-close:hover{background:#fff!important;color:var(--amber);border-color:var(--amber)}
.phi-immersive .gallery-dialog button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
/* Amenities share the existing feature row and wrap on narrow cards. */
.phi-immersive .features{flex-wrap:wrap;row-gap:12px}
.phi-immersive .features>.phi-amenity>span{display:inline!important}
.phi-immersive .features>.phi-amenity svg{flex-shrink:0}

.full-footer .footer-main h3 .footer-heading-link{font:inherit;color:inherit;margin:0;display:inline}
.full-footer .footer-heading-link:hover{text-decoration:underline;text-underline-offset:4px}


/* Contact landscape: local generated concept, September 2026. */
.contact-intro.contact-landscape{
 background-image:url("images/contact-coast-v2-2048.webp");
 background-size:cover;background-position:center;min-height:360px;
}
.contact-landscape h1{max-width:850px;color:var(--ink)}
.contact-landscape>p:last-child{max-width:640px;color:#35454b}
@media(max-width:1400px){.contact-intro.contact-landscape{background-image:url("images/contact-coast-v2-1400.webp")}}
@media(max-width:760px){
 .contact-intro.contact-landscape{min-height:370px;background-image:url("images/contact-coast-v2-800.webp");background-position:65% center}
 .contact-landscape h1{max-width:620px}
}

/* Desktop navigation centered on the page, with balanced side columns. */
@media(min-width:1051px){
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .header>.brand{justify-self:start}
 .header>.nav{justify-self:center}
 .header>.locale-switch{justify-self:end;margin-left:0}
}

.phi-catalog-status:empty{display:none}.phi-catalog-status{grid-column:1/-1;font-size:13px;line-height:1.5}.catalog-results[aria-busy=true]{cursor:progress}.catalog-results [aria-disabled=true]{opacity:.55;pointer-events:none}

/* Soft white reveal, only on newly inserted cards. */
.catalog-grid>.phi-soft-reveal{position:relative;animation:phi-card-breathe 1100ms cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms) both}
.catalog-grid>.phi-soft-reveal::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,#fff 65%,#ffffffeb 100%);pointer-events:none;z-index:5;animation:phi-card-unveil 1300ms ease-in-out var(--reveal-delay,0ms) both}
@keyframes phi-card-breathe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes phi-card-unveil{0%{opacity:1}25%{opacity:.8}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.catalog-grid>.phi-soft-reveal{animation:none}.catalog-grid>.phi-soft-reveal::after{display:none}}

.phi-filters label[hidden]{display:none!important}

.results-toolbar .catalog-sort{margin-left:auto}.results-toolbar>p{flex-shrink:0}@media(max-width:420px){.results-toolbar{flex-wrap:wrap}.results-toolbar .catalog-sort{max-width:100%}}

/* Reversible homepage video trial. */
[data-video-trial=true] .cinema-hint{display:none!important}
[data-video-trial=true] .hero-photo img{transform:none!important}
.phi-slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .65s ease;pointer-events:none}
.phi-slide-video.is-playing{opacity:1}
[data-video-trial=true] .service-tabs .timer{animation:none!important;width:var(--video-progress,0%);transition:width .15s linear}
@media(max-width:700px){.phi-slide-video{object-position:62% center}}
@media(prefers-reduced-motion:reduce){.phi-slide-video{display:none}}

/* Visible-only homepage block videos; original photographs remain beneath. */
.team-card.phi-has-block-video{position:relative}
.phi-block-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .45s ease;pointer-events:none}
.phi-block-video.is-ready{opacity:1}
.phi-block-control{position:absolute;top:14px;right:14px;z-index:4;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--amber,#ef8917);background:#fff;color:#19272d;box-shadow:0 3px 12px #0002;padding:8px;cursor:pointer}
.phi-block-control svg{width:20px;height:20px}
@media(prefers-reduced-motion:reduce){.phi-block-video,.phi-block-control{display:none!important}}
.phi-block-control[hidden]{display:none!important}.phi-has-block-video .team-photo>span{z-index:2}

/* Contact photograph: white introductory text, without a background veil. */
.phi-immersive .contact-intro.contact-landscape h1,.phi-immersive .contact-intro.contact-landscape>p{color:#fff;text-shadow:0 2px 12px rgba(0,35,60,.38)}

/* Property labels belong above the location, leaving the photograph clear. */
.phi-immersive .property-copy > .property-badge{position:static;display:block;inset:auto;max-width:100%;width:auto;padding:0!important;margin:0 0 10px;background:none;box-shadow:none;border:0;border-radius:0;color:var(--ink);font-size:12px!important;line-height:1.5;white-space:normal;overflow-wrap:anywhere}

/* Agent vCard download, shared by contact and individual profiles. */
.team-info .phi-save-contact{display:flex;width:fit-content;max-width:100%;margin-top:18px;gap:16px;min-height:44px;white-space:normal}

/* Approved Petri portrait; match the greeting video framing. */
.team-photo>.phi-petri-picture{display:block;width:100%;height:100%}.team-photo>.phi-petri-picture>img{width:100%;height:100%;object-fit:cover}

/* Contact: full-width panoramic Google Maps, 29/10/2026. */
.phi-contact-map{width:100%;background:var(--cream,#f5f2ec)}
.phi-contact-map-heading{padding:48px 5%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.phi-contact-map-heading h2{margin:0 0 14px;font-size:clamp(32px,3vw,48px)}
.phi-contact-map-heading p:last-child{margin:0;line-height:1.6}
.phi-contact-map-heading .text-link{flex-shrink:0}
.phi-contact-map iframe{display:block;width:100%;height:clamp(300px,28vw,440px);border:0}
@media(max-width:760px){.phi-contact-map-heading{padding:32px 6%;align-items:flex-start;flex-direction:column;gap:20px}.phi-contact-map iframe{height:320px}}

/* Home guides: editorial invitation after the team. */
.phi-home-guides{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8%;padding:90px 8%;background:#f5f2ec}
.phi-home-guides-copy h2{font-size:clamp(38px,4.2vw,66px);margin:18px 0 24px}
.phi-home-guides-copy>p:not(.eyebrow){max-width:580px;line-height:1.8;margin:0 0 30px}
.phi-home-guides-copy .button{max-width:100%;white-space:normal;text-align:left}
.phi-home-guides-topics>div{display:flex;gap:28px;padding:30px 0;border-top:1px solid #d9d0c3}
.phi-home-guides-topics>div:last-child{border-bottom:1px solid #d9d0c3}
.phi-guide-number{font-family:'Libre Caslon Display',Georgia,serif;font-size:52px;line-height:1;color:#b96009}
.phi-home-guides-topics h3{font-size:23px;font-weight:500;margin:0 0 10px}
.phi-home-guides-topics p{margin:0;line-height:1.65}
@media(max-width:760px){.phi-home-guides{grid-template-columns:1fr;padding:54px 6%;gap:35px}.phi-home-guides-topics>div{padding:24px 0}.phi-home-guides-copy h2{font-size:42px}}

/* Petri: preserve sky above the head to match Maria's framing. */
.team-card.petri .team-photo .phi-block-video,.team-card.petri .team-photo .phi-petri-picture>img{object-position:center top}

/* Personal search: illustrated process, translated accessible text. */
.phi-search-explainer{margin:0 6% 55px;background:transparent;padding:42px 4%}.phi-search-explainer>header h2{font:400 clamp(32px,3.4vw,50px)/1.15 'Libre Caslon Display',Georgia,serif;margin:14px 0 28px}.phi-search-infographic{display:block;width:100%;height:auto}.phi-search-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:26px 0 36px;margin:0}.phi-search-steps li>span{color:#b75d08;font-size:15px;letter-spacing:.12em}.phi-search-steps h3{font-size:21px;line-height:1.3;margin:12px 0}.phi-search-steps p{font-size:16px;line-height:1.75;margin:0}.phi-search-needs{border-top:1px solid #d9d0c3;padding-top:30px}.phi-search-needs h3{font-size:25px;margin:0 0 20px}.phi-search-needs ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0 0 22px}.phi-search-needs li{background:#fff;padding:14px 18px;border-left:3px solid #db740b}.phi-search-needs p{line-height:1.7}.phi-search-needs .button{margin-top:12px;white-space:normal}#personal-request{scroll-margin-top:110px}@media(max-width:760px){.phi-search-explainer{margin:0 5% 35px;padding:28px 6%}.phi-search-steps{grid-template-columns:1fr;gap:24px}.phi-search-steps li{border-top:1px solid #d9d0c3;padding-top:18px}.phi-search-needs ul{grid-template-columns:1fr 1fr}.phi-search-needs li{padding:12px;font-size:14px}}@media(max-width:420px){.phi-search-needs ul{grid-template-columns:1fr}}
