
:root{--navy:#123B5D;--ink:#17324A;--green:#3D8B5C;--sand:#F3E8D5;--cream:#F8F4EC;--ivory:#FFFDF8;--coral:#F27D72;--muted:#66788A;--line:rgba(18,59,93,.14);--shadow:0 30px 90px rgba(18,59,93,.16);--soft-shadow:0 16px 45px rgba(18,59,93,.08);--heading:Georgia,"Times New Roman",serif;--body:Inter,system-ui,sans-serif;--container:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.65}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}.eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:16px}h1,h2,h3{font-family:var(--heading);line-height:1.02;letter-spacing:-.03em;color:var(--navy);margin:0}h1{font-size:clamp(3.4rem,7vw,6.6rem);max-width:1030px}h2{font-size:clamp(2.35rem,4.8vw,5rem)}h3{font-size:clamp(1.45rem,2.1vw,2.2rem)}p{margin:0}.lead{font-size:clamp(1.12rem,1.6vw,1.34rem);color:var(--muted);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 25px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.22s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 16px 34px rgba(242,125,114,.32)}.btn-light{background:#fff;border-color:var(--line);color:var(--navy)}.btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.44);color:#fff}
.site-header{position:fixed;top:22px;left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 32px));z-index:80;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.68);backdrop-filter:blur(22px);border-radius:999px;box-shadow:0 16px 55px rgba(18,59,93,.12)}.nav{height:74px;display:flex;align-items:center;gap:24px;padding:0 18px 0 24px}.logo{width:190px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:26px;flex:1;color:var(--navy);font-weight:850;font-size:.95rem}.nav-actions{display:flex;gap:10px}.header-phone{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:900;white-space:nowrap;transition:.22s}.header-phone:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(18,59,93,.12)}.header-cta{min-height:44px;padding:10px 18px;font-size:.92rem}.desktop-menu-item{position:relative}.desktop-flyout{position:absolute;top:calc(100% + 20px);left:50%;min-width:250px;transform:translate(-50%,8px);padding:12px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.18s}.desktop-flyout a{display:block;padding:10px 12px;border-radius:14px;color:var(--navy);white-space:nowrap}.desktop-flyout a:hover{background:var(--sand)}.desktop-menu-item:hover .desktop-flyout{opacity:1;visibility:visible;transform:translate(-50%,0)}.hamburger{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.hamburger span{width:20px;height:2px;background:var(--navy);border-radius:999px;transition:.2s}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(rgba(18,59,93,.12),rgba(18,59,93,.42)),radial-gradient(circle at 80% 22%,rgba(242,125,114,.65),transparent 25%),radial-gradient(circle at 18% 80%,rgba(61,139,92,.65),transparent 25%),linear-gradient(135deg,#90d6cd 0%,#f5e4ca 48%,#123B5D 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,59,93,.48),rgba(18,59,93,.12) 54%,rgba(18,59,93,.25))}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(transparent,var(--cream))}.hero-inner{position:relative;z-index:2;padding:170px 0 150px;color:#fff}.hero .eyebrow{color:rgba(255,255,255,.78)}.hero h1{color:#fff}.hero .lead{color:rgba(255,255,255,.86);margin-top:24px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero-note{margin-top:18px;color:rgba(255,255,255,.72);font-size:.95rem}.trust-panel{position:relative;z-index:5;margin-top:-78px}.trust-card{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:rgba(255,255,255,.92);border-radius:34px;box-shadow:var(--shadow);overflow:hidden}.trust-item{min-height:154px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 18px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{font-family:var(--heading);font-size:clamp(1.8rem,3vw,3rem);line-height:1;color:var(--navy)}.trust-item span{margin-top:10px;color:var(--muted);font-weight:850;font-size:.84rem}.section{padding:clamp(90px,10vw,160px) 0}.editorial-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(42px,7vw,92px);align-items:center}.editorial-copy{font-size:1.12rem;color:var(--muted)}.editorial-copy p+p{margin-top:20px}.image-frame{min-height:520px;border-radius:44px;background:linear-gradient(135deg,#9bd8d0,#f3e8d5 48%,#123B5D);box-shadow:var(--shadow);position:relative}.review-editorial{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.review-feature{background:var(--ivory);border:1px solid var(--line);border-radius:44px;padding:clamp(34px,5vw,70px);box-shadow:var(--soft-shadow)}.stars,.mini-stars{color: var(--coral) !important;letter-spacing:3px;font-weight:900;margin-bottom:22px}.mini-stars{color: var(--coral) !important;font-size:.92rem;margin-bottom:10px}.quote{font-family:var(--heading);font-size:clamp(2rem,3.7vw,4.2rem);line-height:1.06;color:var(--navy);letter-spacing:-.035em}.review-meta{margin-top:30px;color:var(--muted);font-weight:850}.review-stack{display:grid;gap:18px;margin-top:28px}.mini-review{border-top:1px solid var(--line);padding-top:22px;color:var(--muted)}.mini-review strong{display:block;color:var(--navy);font-family:var(--heading);font-size:1.35rem;margin-bottom:4px}.philosophy{background:var(--navy);color:#fff}.philosophy h2{color:#fff}.philosophy .eyebrow{color:rgba(255,255,255,.74)}.philosophy p,.philosophy .lead{color:rgba(255,255,255,.78)}.services-header{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:end;margin-bottom:34px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:.55fr 1fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line);transition:.22s}.service-row:hover{padding-left:18px}.service-row h3{font-size:clamp(1.8rem,2.8vw,3rem)}.service-row p{color:var(--muted);font-size:1.05rem}.markets{background:#fff9ef}.market-carousel{margin-top:42px;overflow:hidden;width:100%;padding:0 0 8px}.market-track{display:flex;gap:22px;width:max-content;animation:marketScroll 44s linear infinite;padding-left:max(20px,calc((100vw - var(--container)) / 2))}.market-carousel:hover .market-track{animation-play-state:paused}.market-slide{width:min(370px,calc((100vw - 84px)/3));min-width:min(370px,calc((100vw - 84px)/3));background:#fff;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--soft-shadow)}.market-image{height:245px;background:linear-gradient(rgba(18,59,93,.04),rgba(18,59,93,.32)),linear-gradient(135deg,#91d5cb,#f3e8d5 48%,#123B5D)}.market-slide-body{padding:28px}.market-slide-body p{color:var(--muted);margin-top:10px}.market-slide-body a{display:inline-flex;margin-top:18px;font-weight:900;color:var(--green)}@keyframes marketScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 11px))}}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--soft-shadow);margin-top:38px}.proof-box{min-height:134px;text-align:center;padding:20px 12px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-box:nth-child(4n){border-right:0}.proof-box:nth-last-child(-n+4){border-bottom:0}.proof-box strong{font-family:var(--heading);font-size:1.55rem;color:var(--navy);line-height:1.05}.proof-box span{color:var(--muted);font-size:.78rem;font-weight:850;margin-top:7px}.resources-grid,.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.resource-card,.link-card,.faq-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:32px;box-shadow:var(--soft-shadow)}.resource-card p,.link-card p,.faq-card p{color:var(--muted)}.resource-card a,.link-card a{display:inline-flex;margin-top:18px;font-weight:900;color:var(--green)}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}.consult{background:linear-gradient(135deg,var(--green),var(--navy));color:#fff}.consult h2{color:#fff}.consult .eyebrow{color:rgba(255,255,255,.76)}.consult p{color:rgba(255,255,255,.82)}.form{background:rgba(255,255,255,.95);color:var(--ink);border-radius:36px;padding:34px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.86rem;font-weight:900;color:var(--navy);margin-bottom:7px}.required{color:var(--coral)}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px 16px;font:inherit;color:var(--ink)}textarea{min-height:135px;resize:vertical}.full{grid-column:1/-1}.footer{background:#102f49;color:#fff;padding:70px 0}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:34px}.footer-logo{width:220px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:16px}.footer p,.footer a{display:block;color:rgba(255,255,255,.72);margin:8px 0}.footer h4{margin:0 0 12px;color:#fff}.mobile-cta-dock{display:none}.page-hero{padding:170px 0 100px;background:linear-gradient(135deg,#fff9ef,#f3e8d5 50%,#e8f2ec)}.content-section{padding:80px 0}.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:28px}.breadcrumbs a{color:var(--green);font-weight:850}.toc{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--soft-shadow)}.toc a{display:block;color:var(--green);font-weight:850;margin:8px 0}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1160px){.desktop-nav,.nav-actions{display:none}.hamburger{display:inline-flex;margin-left:auto}.site-header{top:14px}.mobile-menu{display:block;position:fixed;left:0;right:0;top:96px;z-index:70;max-height:calc(100dvh - 100px);overflow:auto;background:rgba(248,244,236,.96);border:1px solid var(--line);border-radius:28px;width:min(720px,calc(100% - 32px));margin:0 auto;padding:22px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s}.mobile-menu[aria-hidden=false]{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{display:block;padding:12px 0;font-weight:900;color:var(--navy)}.mobile-menu-heading{color:var(--green);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin:14px 0 6px}.mobile-menu-cta,.mobile-menu-call{min-height:54px;display:flex!important;align-items:center;justify-content:center;border-radius:999px;color:white!important;margin-top:12px}.mobile-menu-call{background:var(--navy)}.mobile-menu-cta{background:var(--coral)}}
@media(max-width:900px){body{padding-bottom:92px}.container{width:calc(100% - 34px)}h1{font-size:clamp(3rem,13vw,5rem)}.hero{min-height:88svh}.hero-inner{padding:145px 0 92px}.trust-panel{margin-top:20px}.trust-card{grid-template-columns:repeat(2,1fr);border-radius:26px}.trust-item{min-height:126px;border-bottom:1px solid var(--line)}.trust-item:nth-child(2n){border-right:0}.trust-item:nth-last-child(-n+2){border-bottom:0}.editorial-split,.review-editorial,.services-header,.service-row,.footer-grid,.form-grid{grid-template-columns:1fr}.image-frame{min-height:360px}.market-slide{width:min(82vw,360px);min-width:min(82vw,360px)}.market-track{gap:16px;animation-duration:36s;padding-left:17px}.resources-grid,.link-grid,.faq-grid{grid-template-columns:1fr}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-box:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-box:nth-child(2n){border-right:0}.proof-box:nth-last-child(-n+2){border-bottom:0}.full{grid-column:auto}.mobile-cta-dock{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:rgba(248,244,236,.78);border-top:1px solid var(--line);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(100%);transition:.22s}.mobile-cta-dock.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.mobile-cta-button{flex:1;min-height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--coral);color:white;font-weight:900}.mobile-cta-call{background:var(--navy)}}


/* Premium market pages v2 */
.market-hero{min-height:84svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.18) 58%,rgba(18,59,93,.24)),linear-gradient(135deg,#86d1c8 0%,#f1d3b8 46%,#123B5D 100%)}
.market-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(transparent,var(--cream))}.market-hero-inner{position:relative;z-index:2;padding:160px 0 118px}.market-hero .breadcrumbs,.market-hero .breadcrumbs a,.market-hero .eyebrow,.market-hero .lead{color:white;}.market-hero h1{color:#fff}
.market-hero-san-juan{background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.14) 58%,rgba(18,59,93,.20)),radial-gradient(circle at 73% 25%,rgba(242,125,114,.65),transparent 26%),radial-gradient(circle at 18% 72%,rgba(61,139,92,.58),transparent 28%),linear-gradient(135deg,#7ecdc6 0%,#f4caa8 48%,#123B5D 100%)}
.market-hero-condado{background:linear-gradient(90deg,rgba(18,59,93,.62),rgba(18,59,93,.12) 58%,rgba(18,59,93,.24)),radial-gradient(circle at 78% 28%,rgba(145,213,203,.75),transparent 25%),linear-gradient(135deg,#f3e8d5 0%,#65c5c1 46%,#123B5D 100%)}
.market-hero-rincon{background:linear-gradient(90deg,rgba(18,59,93,.66),rgba(18,59,93,.16) 58%,rgba(18,59,93,.20)),radial-gradient(circle at 75% 22%,rgba(242,125,114,.76),transparent 25%),linear-gradient(135deg,#123B5D 0%,#8bd2c9 48%,#f3e8d5 100%)}
.market-hero-dorado{background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.12) 58%,rgba(18,59,93,.22)),radial-gradient(circle at 74% 22%,rgba(243,232,213,.9),transparent 25%),linear-gradient(135deg,#27543A 0%,#f3e8d5 50%,#123B5D 100%)}
.market-hero-luquillo,.market-hero-fajardo{background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.14) 58%,rgba(18,59,93,.22)),radial-gradient(circle at 76% 24%,rgba(61,139,92,.68),transparent 25%),linear-gradient(135deg,#80d6cc 0%,#f3e8d5 50%,#27543A 100%)}
.market-hero-vieques,.market-hero-culebra{background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.14) 58%,rgba(18,59,93,.22)),radial-gradient(circle at 76% 24%,rgba(145,213,203,.72),transparent 25%),linear-gradient(135deg,#123B5D 0%,#7fd3ca 50%,#f3e8d5 100%)}
.market-hero-isabela,.market-hero-aguadilla,.market-hero-puerto-rico{background:linear-gradient(90deg,rgba(18,59,93,.64),rgba(18,59,93,.14) 58%,rgba(18,59,93,.22)),radial-gradient(circle at 76% 24%,rgba(242,125,114,.55),transparent 25%),linear-gradient(135deg,#27543A 0%,#88d0c7 52%,#f3e8d5 100%)}
.market-metrics-panel{position:relative;z-index:5;margin-top:-58px}.market-metrics{display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(18px)}.market-metric{min-height:122px;padding:22px 16px;border-right:1px solid var(--line)}.market-metric:last-child{border-right:0}.market-metric strong{font-family:var(--heading);color:var(--navy);font-size:clamp(1.3rem,2vw,2rem);line-height:1.05}.market-metric span{color:var(--muted);font-size:.82rem;font-weight:850;margin-top:8px}
.market-story-list{margin-top:30px;display:grid;gap:16px}.market-story-list li{list-style:none;position:relative;padding-left:32px;color:var(--ink);font-weight:800}.market-story-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green)}.market-photo{min-height:500px;border-radius:42px;box-shadow:var(--shadow);background:linear-gradient(rgba(18,59,93,.04),rgba(18,59,93,.28)),linear-gradient(135deg,#91d5cb,#f3e8d5 52%,#123B5D);position:relative;overflow:hidden}.market-photo:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.55);border-radius:30px}.market-photo-condado{background:linear-gradient(rgba(18,59,93,.04),rgba(18,59,93,.32)),radial-gradient(circle at 74% 25%,#f3e8d5,transparent 26%),linear-gradient(135deg,#74c8c4,#123B5D)}
.neighborhood-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}.neighborhood-card{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--soft-shadow)}.neighborhood-img{height:190px;}.neighborhood-body{padding:24px}.neighborhood-body p{color:var(--muted);margin-top:8px}
.market-callout{background:var(--navy);color:#fff;border-radius:38px;padding:clamp(34px,5vw,62px);display:grid;grid-template-columns:1fr .72fr;gap:44px;align-items:center;box-shadow:var(--shadow);overflow:hidden}.market-callout h2{color:#fff}.market-callout p{color:rgba(255,255,255,.78);margin-top:18px}.market-callout .btn-light{margin-top:26px}
@media(max-width:1000px){.market-metrics{grid-template-columns:repeat(2,1fr)}.market-metric{border-bottom:1px solid var(--line)}.market-story-grid,.market-callout{grid-template-columns:1fr}.neighborhood-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.market-metrics,.neighborhood-row{grid-template-columns:1fr}.market-metric{border-right:0}}


/* Final v2 additions */
.host-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}
.host-proof-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--soft-shadow)}
.host-proof-card strong{display:block;font-family:var(--heading);font-size:clamp(2rem,4vw,4rem);color:var(--navy);line-height:1;margin-bottom:12px}
.family-photo-slot{min-height:540px;border-radius:42px;box-shadow:var(--shadow);background:linear-gradient(rgba(18,59,93,.08),rgba(18,59,93,.32)),radial-gradient(circle at 70% 24%,rgba(242,125,114,.55),transparent 24%),linear-gradient(135deg,#91d5cb,#f3e8d5 50%,#123B5D);position:relative;overflow:hidden}
.family-photo-slot:after{content:"Add family photo: assets/images/about/family-puerto-rico.webp";position:absolute;left:24px;bottom:24px;right:24px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.86);color:var(--navy);font-weight:900;font-size:.92rem}
.property-hero{padding:160px 0 80px;background:linear-gradient(135deg,#fff9ef,#f3e8d5 52%,#e8f2ec)}
.property-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.property-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.property-image{min-height:250px;border-radius:28px;background:linear-gradient(rgba(18,59,93,.06),rgba(18,59,93,.30)),linear-gradient(135deg,#91d5cb,#f3e8d5 48%,#123B5D);box-shadow:var(--soft-shadow);position:relative;overflow:hidden}
.property-image:first-child{min-height:520px;grid-row:span 2}
.property-image:after{content:"Property photo slot";position:absolute;left:18px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.82);color:var(--navy);font-weight:900;font-size:.78rem}
.property-booking-card{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow);padding:30px}
.property-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.property-fact{padding:8px 12px;border-radius:999px;background:var(--sand);color:var(--navy);font-weight:900;font-size:.86rem}
.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.amenity{padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;font-weight:850}
.property-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.property-card{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--soft-shadow)}
.property-card-image{height:220px;background:linear-gradient(rgba(18,59,93,.06),rgba(18,59,93,.30)),linear-gradient(135deg,#91d5cb,#f3e8d5 48%,#123B5D)}.property-card-body{padding:24px}.property-card-body p{color:var(--muted);margin-top:8px}
@media(max-width:900px){.host-proof-grid,.property-layout,.property-gallery,.property-card-grid,.amenity-grid{grid-template-columns:1fr}.property-booking-card{position:static}.property-image:first-child{min-height:360px;grid-row:auto}}

/* Version 4 homepage */
.v4-hero{min-height:50svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#123B5D}.v4-hero-slides,.v4-hero-slide,.v4-hero-overlay{position:absolute;inset:0}.v4-hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.03);transition:none;animation:v4Zoom 26s ease-in-out infinite alternate}.v4-hero-slide.is-active{opacity:1}.v4-hero-overlay{background:linear-gradient(90deg,rgba(8,36,49,.78),rgba(8,36,49,.24) 60%,rgba(8,36,49,.18)),linear-gradient(0deg,rgba(8,36,49,.32),transparent 55%)}.v4-hero-content{position:relative;z-index:3;color:#fff;padding:170px 0 110px}.v4-hero h1{color:#fff;font-size:clamp(3.6rem,7.8vw,7.4rem);max-width:930px}.v4-hero .lead{color:rgba(255,255,255,.88);margin-top:25px;max-width:680px}.v4-hero .eyebrow{color:rgba(255,255,255,.78)}.v4-hero-controls{display:flex;gap:9px;margin-top:42px}.v4-dot{width:42px;height:4px;border:0;border-radius:999px;background:rgba(255,255,255,.35);cursor:pointer;padding:0}.v4-dot.is-active{background:#fff}@keyframes v4Zoom{from{transform:scale(1.02)}to{transform:scale(1.10)}}
.v4-review-intro{background:var(--ivory)}.v4-review-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.v4-review-layout blockquote{font-family:var(--heading);font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.05;color:var(--navy);margin:0;letter-spacing:-.035em}.v4-trust-stack{display:grid;gap:0;border-top:1px solid var(--line)}.v4-trust-stack>div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.75fr 1.25fr;gap:16px;align-items:baseline}.v4-trust-stack strong{font-family:var(--heading);font-size:1.55rem;color:var(--navy)}.v4-trust-stack span{color:var(--muted);font-weight:800}
.v4-markets-section{padding-bottom:60px}.v4-market-list{margin-top:60px;display:grid;gap:86px}.v4-market-feature{display:grid;grid-template-columns:1.45fr .55fr;min-height:670px;background:#fff;overflow:hidden;color:inherit}.v4-market-feature.is-reverse{grid-template-columns:.55fr 1.45fr}.v4-market-feature.is-reverse .v4-market-photo{order:2}.v4-market-photo{background-size:cover;background-position:center;transition:transform .7s ease}.v4-market-feature:hover .v4-market-photo{transform:scale(1.018)}.v4-market-caption{padding:42px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}.v4-market-caption>span{font-size:.78rem;font-weight:900;letter-spacing:.18em;color:var(--green)}.v4-market-caption h3{font-size:clamp(2.6rem,5vw,5rem)}.v4-market-caption p{color:var(--muted);margin-top:18px}.v4-market-caption>strong{color:var(--green)}
.v4-proof{background:#102f49;color:#fff}.v4-proof h2{color:#fff}.v4-proof .eyebrow{color:rgba(255,255,255,.7)}.v4-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);margin-top:46px}.v4-proof-grid article{background:#102f49;padding:34px}.v4-proof-grid span{display:block;color:#F3E8D5;font-weight:900;font-size:.78rem;letter-spacing:.16em;margin-bottom:50px}.v4-proof-grid h3{color:#fff}.v4-proof-grid p{color:rgba(255,255,255,.68);margin-top:14px}
.v4-story{background:#fff9ef}.v4-story-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.v4-story-photo{min-height:700px;background-size:cover;background-position:center;box-shadow:var(--shadow)}.v4-story p:not(.lead){color:var(--muted);font-size:1.06rem;margin:24px 0 30px}.v4-services .service-row{padding:42px 0}.v4-services .service-row h3{font-size:clamp(2rem,3.4vw,3.6rem)}
.v4-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.v4-property-card{display:block;background:#fff;border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.v4-property-image{min-height:640px;background-size:cover;background-position:center}.v4-property-copy{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:32px}.v4-property-copy span{color:var(--green);font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.v4-property-copy p{color:var(--muted);margin-top:8px}.v4-property-copy>strong{color:var(--green);white-space:nowrap}
.v4-resources{background:var(--ivory)}.v4-resource-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:42px}.v4-resource-feature{background:#fff;border-radius:34px;overflow:hidden;box-shadow:var(--soft-shadow)}.v4-resource-image{height:420px;background-size:cover;background-position:center}.v4-resource-feature>div:last-child{padding:30px}.v4-resource-feature span,.v4-resource-list span{color:var(--green);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em}.v4-resource-feature p{color:var(--muted);margin-top:10px}.v4-resource-list{display:grid;gap:14px}.v4-resource-list a{background:#fff;padding:28px;border-radius:26px;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}.v4-resource-list a:hover{transform:translateY(-3px);box-shadow:var(--soft-shadow)}.v4-resource-list h3{font-size:1.45rem;margin-top:7px}
@media(max-width:900px){.v4-review-layout,.v4-story-layout,.v4-resource-layout{grid-template-columns:1fr}.v4-market-feature,.v4-market-feature.is-reverse{grid-template-columns:1fr;min-height:0}.v4-market-feature.is-reverse .v4-market-photo{order:0}.v4-market-photo{min-height:430px}.v4-market-caption{min-height:360px}.v4-proof-grid{grid-template-columns:1fr}.v4-story-photo{min-height:460px}.v4-section-heading,.v4-property-copy{align-items:flex-start;flex-direction:column}.v4-property-image{min-height:420px}.v4-hero-content{padding:150px 0 85px}}


/* Premium Coquí Stays identity */
.brand-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.logo {
  width: 230px;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

.footer-logo {
  width: 265px;
  height: auto;
  max-height: 74px;
  filter: none !important;
  opacity: 1 !important;
}

@media(max-width:1160px) {
  .logo {
    width: 52px;
    height: 52px;
    max-height: 52px;
  }

  .brand-logo {
    width: 52px;
    height: 52px;
  }
}

@media(max-width:540px) {
  .logo {
    width: 46px;
    height: 46px;
    max-height: 46px;
  }

  .brand-logo {
    width: 46px;
    height: 46px;
  }
}


/* Refined global scale for comfortable 100% browser zoom */
:root{--container:1160px}
body{font-size:15px;line-height:1.6}
.container{width:min(var(--container),calc(100% - 44px))}
h1{font-size:clamp(3.2rem,5.6vw,5.25rem)}
h2{font-size:clamp(2.15rem,3.7vw,3.85rem)}
h3{font-size:clamp(1.35rem,1.8vw,1.9rem)}
.lead{font-size:clamp(1.02rem,1.25vw,1.18rem);max-width:700px}
.eyebrow{font-size:.68rem;letter-spacing:.16em;margin-bottom:13px}
.section{padding:clamp(72px,7.5vw,118px) 0}

.site-header{top:16px;width:min(1260px,calc(100% - 28px))}
.nav{height:64px;padding:0 14px 0 20px;gap:18px}
.desktop-nav{gap:21px;font-size:.88rem}
.logo{width:178px;max-height:46px}
.header-phone{min-height:40px;padding:9px 14px;font-size:.86rem}
.header-cta{min-height:40px;padding:9px 16px;font-size:.86rem}
.btn{min-height:48px;padding:12px 21px;font-size:.9rem}

.v4-ßhero{min-height:72svh}
.v4-hero-content{padding:145px 0 88px}
.v4-hero h1{font-size:clamp(3.35rem,5.7vw,5.45rem);max-width:820px}
.v4-hero .lead{margin-top:20px;max-width:620px}
.v4-hero-controls{margin-top:32px}
.v4-dot{width:34px}

.v4-review-layout{gap:58px}
.v4-review-layout blockquote{font-size:clamp(2rem,3.2vw,3.65rem)}
.v4-trust-stack>div{padding:17px 0}
.v4-trust-stack strong{font-size:1.28rem}

.v4-market-list{margin-top:46px;gap:58px}
.v4-market-feature{min-height:540px}
.v4-market-caption{padding:30px}
.v4-market-caption h3{font-size:clamp(2.25rem,4vw,3.85rem)}
.v4-market-caption p{margin-top:12px}

.v4-proof-grid{margin-top:34px}
.v4-proof-grid article{padding:26px}
.v4-proof-grid span{margin-bottom:34px}

.v4-story-layout{gap:54px}
.v4-story-photo{min-height:560px}
.v4-story p:not(.lead){margin:19px 0 25px;font-size:1rem}

.v4-services .service-row{padding:30px 0}
.v4-services .service-row h3,.service-row h3{font-size:clamp(1.75rem,2.7vw,2.75rem)}
.service-row{gap:30px;padding:27px 0}
.service-row p{font-size:1rem}

.v4-section-heading{margin-bottom:28px}
.v4-property-image{min-height:500px}
.v4-property-copy{padding:26px}

.v4-resource-layout{margin-top:32px}
.v4-resource-image{height:340px}
.v4-resource-feature>div:last-child{padding:24px}
.v4-resource-list a{padding:22px}
.v4-resource-list h3{font-size:1.28rem}

.review-feature,.resource-card,.link-card,.faq-card,.host-proof-card{padding:27px;border-radius:28px}
.proof-box{min-height:112px;padding:17px 10px}
.proof-box strong{font-size:1.35rem}

.form{padding:27px;border-radius:30px}
.form-grid{gap:14px}
label{margin-bottom:5px;font-size:.8rem}
input,select,textarea{border-radius:14px;padding:12px 14px}
textarea{min-height:116px}

.page-hero,.property-hero{padding:100px 0 76px}
.market-hero{min-height:56svh}
.market-hero-inner{padding:140px 0 92px}
.market-metric{min-height:102px;padding:18px 14px}
.market-photo{min-height:420px}
.neighborhood-body{padding:20px}
.market-callout{padding:clamp(30px,4vw,48px)}

.footer{padding:54px 0}
.footer-grid{gap:26px}
.footer-logo{width:220px;max-height:62px}

@media(max-width:1160px){
  .logo{width:46px;height:46px;max-height:46px}
  .brand-logo{width:46px;height:46px}
  .site-header{top:10px}
  .mobile-menu{top:84px}
}
@media(max-width:900px){
  body{font-size:15px}
  .container{width:calc(100% - 30px)}
  h1{font-size:clamp(2.75rem,11vw,4.2rem)}
  h2{font-size:clamp(2rem,8vw,3.1rem)}
  .section{padding:68px 0}
  .v4-hero{min-height:86svh}
  .v4-hero-content{padding:130px 0 72px}
  .v4-hero h1{font-size:clamp(2.9rem,11vw,4.35rem)}
  .v4-market-photo{min-height:360px}
  .v4-market-caption{min-height:300px}
  .v4-story-photo{min-height:390px}
  .v4-property-image{min-height:360px}
  .v4-resource-image{height:280px}
  .market-hero{min-height:68svh}
  .market-hero-inner{padding:125px 0 72px}
}


/* Phone CTA system */
.desktop-phone-cta,
.phone-detail-cta {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
}

.desktop-phone-cta {
  min-width: 142px;
  min-height: 46px;
  padding: 7px 16px;
}

.phone-title {
  display: block;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.05;
}

.phone-number {
  display: block;
  margin-top: 3px;
  font-size: .66rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: .045em;
  opacity: .76;
  white-space: nowrap;
}

.phone-detail-cta {
  min-width: 156px;
  padding-top: 9px;
  padding-bottom: 9px;
}

.phone-detail-cta .phone-title {
  font-size: .92rem;
}

.phone-detail-cta .phone-number {
  font-size: .7rem;
}

/* Mobile stays intentionally simple */
@media(max-width:1160px) {
  .desktop-phone-cta {
    display: none;
  }
}

@media(max-width:900px) {
  .phone-detail-cta {
    min-width: 138px;
  }

  .phone-detail-cta .phone-number {
    display: none;
  }

  .phone-detail-cta .phone-title {
    font-size: .9rem;
  }
}


/* Sitewide Call Tim CTA */
.call-tim-cta {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  min-width: 142px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.call-tim-cta .phone-title {
  display: block;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.05;
}

.call-tim-cta .phone-number {
  display: block;
  margin-top: 3px;
  font-size: .66rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: .045em;
  opacity: .78;
  white-space: nowrap;
}

@media(max-width:900px) {
  .call-tim-cta {
    min-width: 128px;
  }

  .call-tim-cta .phone-number {
    display: none;
  }

  .call-tim-cta .phone-title {
    font-size: .9rem;
  }
}


/* Consistent CTA hover and hero secondary treatment */

/* Preserve the existing lift while adding stronger visual feedback */
.btn,
.header-phone,
.mobile-cta-button,
.mobile-menu-call,
.mobile-menu-cta {
  transition:
    transform .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

/* Primary CTA hover */
.btn-primary:hover,
.mobile-menu-cta:hover,
.mobile-cta-button:not(.mobile-cta-call):hover {
  transform: translateY(-2px);
  background: #d9665d;
  box-shadow: 0 18px 38px rgba(242,125,114,.38);
}

/* Secondary CTA hover */
.header-phone:hover,
.btn-light:hover,
.call-tim-cta:hover,
.mobile-cta-call:hover,
.mobile-menu-call:hover {
  transform: translateY(-2px);
  background: var(--sand);
  color: var(--navy);
  border-color: rgba(18,59,93,.24);
  box-shadow: 0 14px 32px rgba(18,59,93,.14);
}

/* Every hero Call Tim CTA matches the solid header secondary style */
.hero-secondary-cta,
.v4-hero .hero-secondary-cta,
.market-hero .hero-secondary-cta,
.page-hero .hero-secondary-cta,
.property-hero .hero-secondary-cta {
  background: #fff !important;
  color: var(--navy) !important;
  border-color: rgba(18,59,93,.16) !important;
  box-shadow: 0 12px 28px rgba(8,36,49,.16);
}

/* Preserve hierarchy inside the solid hero CTA */
.hero-secondary-cta .phone-title,
.hero-secondary-cta .phone-number {
  color: inherit;
}

.hero-secondary-cta:hover,
.v4-hero .hero-secondary-cta:hover,
.market-hero .hero-secondary-cta:hover,
.page-hero .hero-secondary-cta:hover,
.property-hero .hero-secondary-cta:hover {
  transform: translateY(-2px);
  background: var(--sand) !important;
  color: var(--navy) !important;
  border-color: rgba(18,59,93,.26) !important;
  box-shadow: 0 16px 34px rgba(8,36,49,.20);
}

/* Keep mobile concise while retaining the same hover/tap visual language */
@media(max-width:900px) {
  .hero-secondary-cta {
    min-width: 128px;
  }
}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}


/* Production accessibility and interaction safeguards */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #f2b84b;
  outline-offset: 3px;
}

.v4-hero-nav-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.v4-hero-nav-controls button {
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.54);
  border-radius: 999px;
  background: rgba(18,59,93,.72);
  color: #fff;
  font: inherit;
  font-size: .76rem;
  font-weight: 750;
  cursor: pointer;
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease;
}

.v4-hero-nav-controls button:hover {
  transform: translateY(-2px);
  background: rgba(18,59,93,.92);
  border-color: rgba(255,255,255,.88);
}

.v4-market-photo { aspect-ratio: 3 / 2; }
.v4-property-image { aspect-ratio: 18 / 11; }
.v4-resource-image { aspect-ratio: 18 / 11; }
.market-photo { aspect-ratio: 16 / 10; }
.neighborhood-img { aspect-ratio: 3 / 2; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }

  .v4-hero-slide {
    animation: none !important;
    transform: none !important;
  }
}

.family-photo-slot {
  min-height: 540px;
  border-radius: 42px;
  box-shadow: var(--shadow);
  background:
      linear-gradient(rgba(18, 59, 93, 0.05), rgba(18, 59, 93, 0.12)),
      url("../assets/images/about/family-puerto-rico.webp")
      center 38% / cover no-repeat;
  position: relative;
  overflow: hidden;
}

.family-photo-slot::after {
  display: none;
}

.about-values-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 4rem;
  align-items: center;
  margin: 4rem 0;
}

.about-story p {
  margin-bottom: 1.5rem;
  line-height: 1.9;
}

.family-photo-slot {
  min-height: 560px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background:
      linear-gradient(rgba(18,59,93,.05), rgba(18,59,93,.12)),
      url("../assets/images/about/family-puerto-rico.webp")
      center 38% / cover no-repeat;
}

.about-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 5rem;
}

.about-feature {
  background: white;
  padding: 2rem;
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease;
}

.about-feature:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

.about-feature-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #1d7ea5, #123b5d);
  color: white;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
}

.about-feature-icon svg {
  width: 30px;
  height: 30px;
}

.about-feature h3 {
  margin-bottom: 1rem;
}

.about-feature p {
  margin: 0;
  font-size: .96rem;
  line-height: 1.7;
}

@media (max-width: 960px) {

  .about-values-grid {
      grid-template-columns: 1fr;
  }

  .family-photo-slot {
      min-height: 420px;
  }

  .about-features {
      grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {

  .about-features {
      grid-template-columns: 1fr;
  }
}

h1, h2 {
  padding-bottom:0.3em;
}

/* Reviews page */

.reviews-hero {
  min-height: 55svh;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
      linear-gradient(
          90deg,
          rgba(8, 36, 49, .86),
          rgba(8, 36, 49, .48) 58%,
          rgba(8, 36, 49, .30)
      ),
      url("../assets/images/reviews/reviews-hero.webp")
      center / cover no-repeat;
}

.reviews-hero-inner {
  padding-top: 160px;
  padding-bottom: 96px;
}

.reviews-hero h1 {
  max-width: 860px;
  color: #fff;
}

.reviews-hero .lead {
  max-width: 690px;
  margin-top: 22px;
  color: rgba(255, 255, 255, .88);
}

.reviews-hero .eyebrow {
  color: rgba(255, 255, 255, .78);
}

.reviews-proof {
  background: var(--ivory);
}

.reviews-proof, .reviews-platforms {
  padding-bottom:0;
}

.reviews-metrics {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: var(--line);
}

.reviews-metric {
  min-height: 230px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background: #fff;
}

.reviews-metric-featured {
  background: var(--navy);
  color: #fff;
}

.reviews-stars {
  margin-bottom: auto;
  color: var(--coral) !important;
  font-size: 1.25rem;
  letter-spacing: .08em;
}

.reviews-metric-number {
  font-family: var(--heading);
  font-size: clamp(3.2rem, 6vw, 6rem);
  line-height: .92;
  letter-spacing: -.05em;
  color: var(--navy);
}

.reviews-metric-featured .reviews-metric-number {
  color: #fff;
}

.reviews-metric-label {
  margin-top: 14px;
  max-width: 210px;
  color: var(--muted);
  font-weight: 800;
}

.reviews-metric-featured .reviews-metric-label {
  color: rgba(255, 255, 255, .74);
}

.reviews-platforms {
  background: #fff;
}

.reviews-platform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
}

.reviews-platform-card {
  min-height: 520px;
  padding: clamp(30px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 34px;
  background: var(--ivory);
  box-shadow: var(--soft-shadow);
}

.reviews-platform-logo {
  min-height: 90px;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.reviews-platform-logo img {
  width: auto;
  max-width: 190px;
  max-height: 64px;
  object-fit: contain;
}

.reviews-platform-kicker {
  margin-bottom: 10px;
  color: var(--green);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.reviews-platform-card h3 {
  font-size: clamp(2.25rem, 4vw, 4.25rem);
}

.reviews-platform-card p {
  margin-top: 18px;
  color: var(--muted);
  font-size: 1.02rem;
}

.reviews-platform-list {
  display: grid;
  gap: 13px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.reviews-platform-list li {
  position: relative;
  padding-left: 28px;
  color: var(--navy);
  font-weight: 750;
}

.reviews-platform-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green);
  font-weight: 900;
}

.featured-reviews {
  background: var(--ivory);
}

.reviews-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 38px;
}

.reviews-section-header > div:first-child {
  max-width: 720px;
}

.reviews-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.reviews-filter-button {
  min-height: 42px;
  padding: 10px 17px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  font: inherit;
  font-size: .84rem;
  font-weight: 800;
  cursor: pointer;
  transition:
      transform .2s ease,
      background-color .2s ease,
      color .2s ease,
      border-color .2s ease;
}

.reviews-filter-button:hover {
  transform: translateY(-2px);
  border-color: rgba(18, 59, 93, .28);
  background: var(--sand);
}

.reviews-filter-button.is-active {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 42px;
}

.review-card {
  min-height: 310px;
  padding: 27px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--soft-shadow);
  transition:
      transform .25s ease,
      box-shadow .25s ease,
      border-color .25s ease;
}

.review-card:hover {
  transform: translateY(-5px);
  border-color: rgba(18, 59, 93, .20);
  box-shadow: var(--shadow);
}

.review-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.review-card-stars {
  color: var(--coral) !important;
  font-size: .94rem;
  letter-spacing: .07em;
}

.review-platform {
  color: var(--green);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.review-card blockquote {
  margin: 28px 0;
  color: var(--navy);
  font-family: var(--heading);
  font-size: 1.35rem;
  line-height: 1.38;
}

.review-card footer {
  margin-top: auto;
  padding-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid var(--line);
}

.review-card footer strong {
  color: var(--navy);
}

.review-card footer span {
  color: var(--muted);
  font-size: .82rem;
}

.review-card[hidden] {
  display: none;
}

.reviews-cta {
  background: var(--navy);
  color: #fff;
}

.reviews-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 54px;
}

.reviews-cta-inner > div:first-child {
  max-width: 720px;
}

.reviews-cta h2 {
  color: #fff;
}

.reviews-cta p {
  margin-top: 18px;
  color: rgba(255, 255, 255, .74);
}

.reviews-cta .eyebrow {
  color: rgba(255, 255, 255, .68);
}

@media (max-width: 1000px) {
  .reviews-metrics {
      grid-template-columns: repeat(2, 1fr);
  }

  .reviews-platform-grid {
      grid-template-columns: 1fr;
  }

  .reviews-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reviews-section-header,
  .reviews-cta-inner {
      align-items: flex-start;
      flex-direction: column;
  }
}

@media (max-width: 640px) {
  .reviews-hero {
      min-height: 55svh;
  }

  .reviews-hero-inner {
      padding-top: 132px;
      padding-bottom: 72px;
  }

  .reviews-metrics {
      grid-template-columns: 1fr;
  }

  .reviews-metric {
      min-height: 190px;
  }

  .reviews-grid {
      grid-template-columns: 1fr;
  }

  .reviews-platform-card {
      min-height: auto;
      padding: 26px;
  }

  .reviews-filter {
      width: 100%;
  }

  .reviews-filter-button {
      flex: 1;
  }
}

/* Prevent mobile horizontal overflow */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.brand-home-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}

/* Mobile header */
@media (max-width: 1160px) {
    .site-header {
        /* left: 12px;
        right: 12px;
        width: auto; */
        max-width: calc(100% - 24px);
        margin: 0;
    }

    .nav {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .brand-logo,
    .mobile-menu-toggle {
        flex-shrink: 0;
    }

    .mobile-hamburger-title {
      display: block!important;

      color: var(--navy);
      font-family: var(--heading);
      font-size: 1.1rem;
      font-weight: 800;
      line-height: 1;

      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* Open hamburger-menu panel */
    .mobile-menu {
        position: fixed;
        top: 84px;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: calc(100% - 24px);
        margin: 0;
        overflow-x: hidden;
    }

    .mobile-menu-inner,
    .mobile-menu nav,
    .mobile-menu ul,
    .mobile-menu li {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .mobile-menu a {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}

/* Mobile sticky CTA dock */
@media (max-width: 900px) {
    .mobile-cta-dock {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;

        width: 100%;
        max-width: 100%;
        margin: 0;
        padding:
            10px
            max(12px, env(safe-area-inset-right))
            calc(10px + env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left));

        box-sizing: border-box;
        overflow: hidden;
    }

    .mobile-cta-dock-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 10px;

        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
    }

    .mobile-cta-button {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding-left: 10px;
        padding-right: 10px;
        white-space: normal;
        text-align: center;
    }
}

.mobile-hamburger-title {
  /* font-family: var(--body);
  font-size: .88rem;
  font-weight: 800;
  color: rgb(18, 59, 93); */
  display: none;
}

#contact button {
  cursor: pointer;
}

/* Error message styling */
.error-message {
  color: red;
  font-size: 0.9rem;
  margin-top: 4px;
}

/* Success message styling */
.success-message {
  color: green;
  font-size: 1rem;
  margin-top: 1rem;
}

/* Global Request Consultation modal */
body.consultation-modal-open {
  overflow: hidden;
}

.consultation-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}

.consultation-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.consultation-modal[hidden] {
  display: none !important;
}

.consultation-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,36,49,.58);
  backdrop-filter: blur(8px);
}

.consultation-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(680px, 100%);
  max-height: min(820px, calc(100dvh - 48px));
  overflow-y: auto;
  padding: 32px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 30px;
  background: var(--ivory);
  box-shadow: 0 30px 90px rgba(8,36,49,.28);
  transform: translateY(14px) scale(.985);
  transition: transform .22s ease;
}

.consultation-modal.is-open .consultation-modal__dialog {
  transform: translateY(0) scale(1);
}

.consultation-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  font: inherit;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.consultation-modal__intro {
  padding-right: 44px;
  margin-bottom: 22px;
}

.consultation-modal__intro h2 {
  font-size: clamp(2rem,4vw,3.1rem);
}

.consultation-modal__intro p {
  margin-top: 10px;
  color: var(--muted);
}

.consultation-modal__form.form {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: none;
}

.consultation-modal__submit {
  width: 100%;
  cursor: pointer;
}

.consultation-modal__submit:disabled {
  cursor: wait;
  opacity: .72;
}

[data-consultation-form] .error-message {
  margin-top: 7px;
  color: #a23f37;
  font-size: .8rem;
  font-weight: 750;
}

[data-consultation-form] .success-message {
  margin-top: 14px;
  color: var(--green);
  font-size: .9rem;
  font-weight: 800;
}

.consultation-modal__success {
  padding: 34px 10px 18px;
  text-align: center;
}

.consultation-modal__success-mark {
  width: 54px;
  height: 54px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf5ee;
  color: var(--green);
  font-size: 1.45rem;
  font-weight: 900;
}

.consultation-modal__success h3 {
  margin-bottom: 10px;
}

.consultation-modal__success p {
  color: var(--muted);
}

@media(max-width:700px) {
  .consultation-modal {
    padding: 12px;
    align-items: end;
  }

  .consultation-modal__dialog {
    width: 100%;
    max-height: calc(100dvh - 18px);
    padding: 24px 18px 20px;
    border-radius: 26px 26px 18px 18px;
  }

  .consultation-modal__intro {
    padding-right: 42px;
  }

  .consultation-modal__form.form {
    padding: 18px;
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .consultation-modal,
  .consultation-modal__dialog {
    transition: none;
  }
}



/* Homepage hero: preserve native vertical scrolling while allowing horizontal swipe navigation. */
.v4-hero { touch-action: pan-y; }

/* Build-selected review provenance: keep linked property names visually
   consistent with surrounding testimonial metadata while making the link clear. */
.review-property-link {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.review-property-link:hover,
.review-property-link:focus-visible {
  opacity: 0.82;
}

.automated-review-stars,
.service-review-stars.automated-review-stars {
  color: var(--coral) !important;
  font-size: 1.1rem;
  letter-spacing: 3px;
  line-height: 1;
  margin-bottom: 22px !important;
}

/* Automated marketing review expansion.
   Shared across homepage and service-page automated testimonials. */
.automated-review-text.expandable-review-text {
  position: relative;
  overflow: hidden;
  transition: max-height .45s ease;
  will-change: max-height;
}

.automated-review-text.expandable-review-text.is-collapsed::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(255,253,248,0), var(--ivory));
  pointer-events: none;
}

.automated-review-text.expandable-review-text:not(.is-collapsed)::after {
  display: none;
}

.automated-review-toggle {
  display: inline-flex;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--navy);
  font: inherit;
  font-size: .82rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

@media(max-width:650px) {
  .automated-review-toggle {
    font-size: .88rem;
  }
}


/* Sitewide review-star color standard */
.stars,
.mini-stars,
.reviews-stars,
.review-card-stars,
.automated-review-stars,
.service-review-stars {
  color: var(--coral) !important;
}

/* Mobile menu: distinguish primary site pages from the Markets directory. */
@media (max-width: 1160px) {
  .mobile-primary-nav {
    margin-top: 16px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .mobile-menu .mobile-primary-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 2px;
    border-bottom: 1px solid var(--line);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .mobile-menu .mobile-primary-nav a:last-child {
    border-bottom: 0;
  }

  .mobile-primary-nav-arrow {
    flex: 0 0 auto;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .18s ease;
  }

  .mobile-primary-nav a:hover .mobile-primary-nav-arrow,
  .mobile-primary-nav a:focus-visible .mobile-primary-nav-arrow {
    transform: translateX(3px);
  }

  .mobile-primary-nav + .mobile-menu-call {
    margin-top: 20px;
  }
}

