/* Teyi Immobilier — a clear route from discovery to a real conversation. */
:root{--mono:'DM Mono',monospace}
.site-nav .mobile-account,.mobile-session-logout{display:none}.header-session-logout{white-space:nowrap}.admin-nav .session-logout{border:1px solid var(--line);color:var(--accent)}#logout-error{margin-top:20px}
@media(max-width:800px){.header-session-logout{display:none!important}.site-nav .mobile-account{display:block;border-top:1px solid var(--line);padding-top:15px}.site-nav .mobile-session-logout{display:block;background:transparent;border:1px solid var(--line);border-radius:6px;padding:12px;text-align:left;font-size:14px;color:var(--accent)}}
@media(prefers-reduced-motion:no-preference){
 .pro-text-link{position:relative;border-bottom-color:transparent}
 .pro-text-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(.18);transform-origin:left;transition:transform .25s ease}
 .pro-text-link:is(:hover,:focus-visible):after{transform:scaleX(1)}
 .pro-search .field:focus-within label{color:var(--accent)}
 .pro-search input,.pro-search select{transition:border-color .2s,box-shadow .2s}
 .pro-search input:focus,.pro-search select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a9e7f512}
 .photo-thumb{transition:opacity .2s,border-color .2s}
 .photo-thumb[aria-pressed=false]{opacity:.65}
 .photo-thumb:is(:hover,:focus-visible),.photo-thumb[aria-pressed=true]{opacity:1}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .pro-property-card,.design-motion-ready .pro-property-card[data-design-reveal]{transition:opacity .55s var(--design-ease),translate .55s var(--design-ease),transform .3s ease,border-color .3s ease,box-shadow .3s ease}
 .pro-property-card:hover{transform:translateY(-4px);border-color:#a9e7f568;box-shadow:0 14px 30px #0002}
 .pro-inspirations img{transition:transform .45s ease}
 .pro-inspirations picture{display:block;overflow:hidden;border-radius:10px}
 .pro-inspirations a:is(:hover,:focus-visible) img{transform:scale(1.025)}
}
.skip-link{position:fixed;top:8px;left:12px;z-index:999;background:var(--accent);color:var(--bg);padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.pro-hero{display:grid;grid-template-columns:1.13fr 1fr;gap:6%;align-items:center;padding:68px 0 42px}.pro-hero h1{font-size:clamp(45px,5.5vw,86px);line-height:1.03;letter-spacing:-.065em;margin:24px 0}.pro-hero h1 em,.pro-signature em{font-weight:400;color:var(--accent)}.pro-hero .lead{max-width:520px;font-size:19px;line-height:1.65}.pro-hero .action-row{margin-top:28px}.pro-caption{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:32px}.pro-hero-image{position:relative;margin:0;min-width:0;align-self:stretch;min-height:440px;border-radius:160px 12px 12px 12px;overflow:hidden;background:var(--panel)}.pro-hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.pro-hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101711b3);pointer-events:none}.pro-hero-image figcaption{position:absolute;z-index:1;bottom:22px;left:24px;right:24px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#fff}.pro-image-mark{position:absolute;z-index:1;right:22px;bottom:35px;font-size:100px;color:#ffffffba;line-height:1}
.pro-search-wrap{padding:26px 30px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);position:relative;z-index:2}.pro-search-title{font-size:22px;margin:0 0 18px}.pro-search{display:grid;grid-template-columns:.8fr 1fr 1.3fr 1fr 1fr auto;gap:14px;align-items:end}.pro-search .field{margin:0;min-width:0}.pro-search input,.pro-search select{padding:13px 11px;font-size:13px;min-height:47px;width:100%;min-width:0}.pro-search label{font-size:11px}.pro-search .button{min-height:47px;padding:13px 20px}.pro-search-wrap .help{margin:14px 0 0}
.pro-section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:32px}.pro-section-head h2,.pro-trust h2,.pro-international h2{font-size:clamp(34px,4vw,60px);line-height:1.1;letter-spacing:-.045em;margin-bottom:0}.pro-section-head h2 em,.pro-trust h2 em,.pro-international h2 em{font-weight:400;color:var(--accent)}.pro-section-head .muted{max-width:240px}.currency-code{font:10px var(--mono);color:var(--muted);letter-spacing:.03em}.pro-card-price{font-size:24px!important;color:var(--ink)!important;margin:14px 0!important}.pro-card-specs{display:flex;gap:16px;color:var(--muted);font-size:13px;margin:16px 0}.pro-card-photo{position:relative;display:block;overflow:hidden}.pro-card-photo img{transition:transform .45s;width:100%;height:280px;object-fit:cover;display:block}.pro-card-photo:hover img{transform:scale(1.035)}.pro-card-label{position:absolute;left:16px;bottom:16px;background:#101711e8;color:var(--accent);font:10px var(--mono);padding:8px 12px;border-radius:4px}.pro-property-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.pro-property-card .property-body{padding:24px}.pro-property-card h3{font-size:26px;margin:0 0 10px}.pro-property-card .pro-text-link{margin-top:20px;display:inline-block}.pro-text-link{color:var(--accent);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:7px}
.pro-signature{background:var(--accent);color:#12221c;position:relative;overflow:hidden;margin:30px 0}.pro-signature>.container{padding:85px 0;position:relative;z-index:1}.pro-signature h2{font-size:clamp(40px,5.5vw,78px);letter-spacing:-.05em;line-height:1.08;max-width:900px}.pro-signature em{color:inherit}.pro-signature p:not(.eyebrow){max-width:560px;font-size:18px;line-height:1.7;margin:25px 0}.pro-signature .eyebrow{color:#233f36}.pro-signature .eyebrow:before{background:#233f36}.pro-signature .button-outline{border-color:#12221c55;color:#12221c}.signature-orbit{position:absolute;width:490px;height:490px;border:1px solid #12221c30;border-radius:50%;right:-70px;top:-90px;pointer-events:none}.signature-orbit:after{content:'';position:absolute;inset:45px;border:1px solid #12221c22;border-radius:50%}
.pro-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.pro-steps article{padding:30px 32px 15px 0}.pro-steps article+article{border-left:1px solid var(--line);padding-left:32px}.pro-steps .mono{color:var(--accent);font-size:11px}.pro-steps h3{margin:28px 0 12px;font-size:27px}.pro-steps p{font-size:15px;line-height:1.8;color:var(--muted)}.pro-trust{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding:48px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.pro-trust h2{margin-bottom:25px}.pro-trust .button{margin-top:24px}.pro-trust-notes article{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:25px}.pro-trust-notes .mono{font-size:10px;color:var(--accent)}.pro-trust-notes h3{font-size:23px;margin:12px 0}.pro-trust-notes p,.pro-trust p{color:var(--muted);line-height:1.8;font-size:15px}.pro-owner{display:flex;align-items:center;gap:18px;margin-bottom:20px}.pro-owner img{width:76px;height:76px;border-radius:50%;object-fit:cover}.pro-owner strong{display:block;color:var(--ink);font-size:20px}.pro-owner span{display:block;font-size:13px;color:var(--muted)}.pro-international{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.pro-international h2{margin-bottom:24px}.pro-international p:not(.eyebrow){color:var(--muted);margin-bottom:24px}.pro-countries>span{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;font-size:24px}.pro-countries b{font:11px var(--mono);color:var(--accent)}.pro-countries .help{padding-top:18px;line-height:1.9}.pro-inspirations{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pro-inspirations img{display:block;width:100%;height:280px;object-fit:cover;border-radius:10px}.pro-inspirations a span{display:block;margin-top:15px;font-size:17px}.pro-inspirations a:nth-child(2){padding-top:35px}
.mobile-visit-bar{display:none}.listing-summary .availability-badge{display:inline-block;margin:14px 0}.photo-stage{touch-action:pan-y}.lightbox img{touch-action:pan-y}.gallery-keyboard-help{font-size:12px;color:var(--muted);margin-top:10px}.listing-country-note{padding:14px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.listing-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:-10px 0 28px}.listing-highlights>span{border:1px solid var(--line);border-radius:30px;padding:8px 17px;font-size:13px;color:var(--muted)}.listing-highlights strong{color:var(--ink);font-weight:500;margin-right:3px}
.pro-hero{row-gap:24px}.pro-hero>.pro-search-wrap{grid-column:1/-1;width:100%;margin:0}.pro-hero-image{grid-column:2;grid-row:1}
@media(min-width:801px){.pro-hero{padding:26px 0 24px}.pro-hero h1{font-size:clamp(43px,4.2vw,66px);margin:16px 0}.pro-hero .lead{font-size:16px;line-height:1.6}.pro-hero .action-row{margin-top:18px}.pro-hero .pro-caption{display:none}.pro-hero-image{min-height:360px}}
@media(min-width:1000px){#home-properties:has(>.pro-property-card:only-child){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#home-properties>.pro-property-card:only-child{display:grid;grid-template-columns:1.1fr 1fr;grid-column:1/-1}#home-properties>.pro-property-card:only-child .pro-card-photo img{height:100%;min-height:310px}#home-properties>.pro-property-card:only-child .property-body{padding:40px}}
@media(max-width:1100px){.pro-search{grid-template-columns:repeat(3,minmax(0,1fr))}.pro-hero{gap:4%}.pro-hero h1{font-size:clamp(42px,5.2vw,64px)}.pro-hero .button,.pro-hero .button-outline{font-size:12px;padding:13px 16px}.pro-trust{padding:32px}}
@media(max-width:800px){.pro-hero{padding:35px 0 30px;grid-template-columns:1fr}.pro-hero h1{font-size:clamp(42px,8vw,65px);margin:18px 0}.pro-hero .lead{font-size:17px}.pro-hero-image{min-height:230px;margin-top:28px;border-radius:75px 10px 10px 10px}.pro-hero-image img{object-position:center 58%}.pro-hero .pro-caption{margin-top:18px}.pro-search-wrap{padding:22px}.pro-search{grid-template-columns:1fr 1fr;gap:16px 12px}.pro-search .button{width:100%}.pro-section-head{align-items:start;flex-direction:column;gap:22px}.pro-signature>.container{padding:55px 0}.pro-steps{grid-template-columns:1fr}.pro-steps article,.pro-steps article+article{padding:25px 0;border-left:0;border-bottom:1px solid var(--line)}.pro-steps h3{margin-top:16px}.pro-trust,.pro-international{grid-template-columns:1fr;gap:35px}.pro-trust{padding:25px}.pro-inspirations{grid-template-columns:1fr;gap:28px}.pro-inspirations a:nth-child(2){padding-top:0}.pro-inspirations img{height:260px}.pro-countries>span{font-size:22px}.signature-orbit{width:300px;height:300px;right:-140px}.mobile-visit-bar{display:flex;position:fixed;z-index:45;bottom:0;left:0;right:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#152019f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:15px}.mobile-visit-bar[hidden]{display:none}.mobile-visit-bar strong{font-size:18px;line-height:1.3}.mobile-visit-bar small{display:block;color:var(--muted);font-size:10px}.mobile-visit-bar .button{font-size:12px;padding:12px 16px}.has-mobile-visit{padding-bottom:90px}.has-mobile-visit .site-footer{padding-bottom:35px}.pro-hero .action-row{margin-top:22px}.pro-search-title{font-size:21px}.currency-code{white-space:nowrap}}
@media(max-width:380px){.pro-hero h1{font-size:39px}.pro-search{grid-template-columns:1fr}.pro-hero .action-row{align-items:stretch;flex-direction:column}.pro-hero .action-row>a{text-align:center}.mobile-visit-bar strong{font-size:15px}}
@media(max-width:800px){.pro-hero-image{grid-column:1;grid-row:3;min-height:180px;margin-top:0}.pro-hero>.pro-search-wrap{grid-row:2}.pro-hero-copy{min-width:0}.pro-hero h1{overflow-wrap:anywhere}.pro-hero .pro-caption{display:none}.pro-search .button{min-width:0}.pro-search .field{min-width:0}.pro-hero .action-row>a{flex:1}.pro-signature{overflow:clip}.pro-countries,.pro-trust>div{min-width:0}}
@media(prefers-reduced-motion:no-preference){.pro-hero-copy{animation:pro-arrive .6s ease both}.pro-hero-image{animation:pro-arrive .75s .08s ease both}@keyframes pro-arrive{from{opacity:.1;transform:translateY(14px)}to{opacity:1;transform:none}}}

/* Generated brand assets, sized for a crisp and compact shared header. */
.wordmark{flex-shrink:0}.wordmark .brand-logo{display:block;width:184px;height:auto;max-width:100%;border-radius:4px}.site-footer .brand-logo{width:230px}@media(max-width:800px){.wordmark .brand-logo{width:160px}.site-footer .brand-logo{width:210px}}
