/* A focused studio layer over the existing service and planner system. */
:root{--paper:#f7f5ef;--ink:#162e31;--muted:#586867;--line:#ced5ce}
html{scroll-behavior:smooth}
body,html:lang(el) body{background:var(--paper);color:var(--ink)}
body>header{height:78px;min-height:78px;background:rgba(247,245,239,.97);border-color:#d8d9d1;padding-inline:4.2%;gap:30px}
body>header .brand-lockup{gap:8px}
body>header .brand-symbol{width:37px;height:39px}
body>header .brand-symbol img{width:36px;height:39px}
body>header .brand-type strong{font-size:21px;letter-spacing:.065em}
body>header .brand-type small{font-size:5.7px;letter-spacing:.045em}
body>header nav{gap:clamp(17px,2.4vw,36px);font-size:12px;font-weight:500}
html:lang(el) body>header nav a{font-size:12px;font-weight:500}
body>header nav a{padding:27px 0;border:0;transition:color .2s}
body>header nav a:hover{color:#6c7c67}
body>header .header-actions{gap:23px}
body>header .language{font-weight:600;color:var(--ink)}
body>header .button.small{border-radius:100px;background:#172d30;border-color:#172d30;padding:11px 22px;min-height:41px;font-size:12px}
.button,.button.light{border-radius:100px;background:#172e30;border-color:#172e30;padding:15px 25px;min-height:52px;transition:background .2s,color .2s,transform .2s}
.button:hover,.button.light:hover{background:#335550;border-color:#335550;transform:translateY(-2px)}
.eyebrow,html:lang(el) .eyebrow{color:#667872;letter-spacing:.14em}

/* Cinematic opening: the image is deliberately identified as a concept. */
.home .hero{position:relative;display:block;min-height:min(760px,calc(100svh - 78px));height:calc(100svh - 78px);max-height:900px;background:#5f706c;color:#fff;isolation:isolate;overflow:hidden}
.home .hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,26,29,.73) 0%,rgba(9,26,29,.47) 33%,rgba(9,26,29,.08) 76%),linear-gradient(0deg,rgba(7,20,22,.50),transparent 44%);pointer-events:none}
.home .hero-visual{position:absolute;inset:0;display:block;min-height:0;width:100%;height:100%;margin:0;background:#75817b}
.home .hero-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 51%;animation:hero-settle 1.3s ease-out both}
.home .hero-visual figcaption{z-index:3;right:4.2%;bottom:28px;background:transparent;color:#fff;font-size:10px;letter-spacing:.08em;padding:0;text-shadow:0 1px 5px #132629}
.home .hero-copy{position:absolute;z-index:2;left:6.6%;top:50%;transform:translateY(-47%);width:min(700px,72%);max-width:none;min-width:0;display:block;padding:0;background:transparent;color:#fff}
.home .hero .eyebrow{color:#fff;margin:0 0 35px;font-size:11px;letter-spacing:.19em}
.home .hero .eyebrow span{margin:0 13px;color:#b6c7bb}
.home .hero h1,html:lang(el) .home .hero h1{font-size:clamp(66px,7.2vw,112px);line-height:.99;letter-spacing:-.075em;font-weight:500;color:#fff;max-width:1000px;margin:0}
html:lang(el) .home .hero h1{font-size:clamp(62px,6.8vw,105px);letter-spacing:-.055em;line-height:1.07}
.home .hero h1 em{font-style:normal;color:#ecf0e7}
.home .hero-copy>p:not(.eyebrow):not(.hero-assurance){color:#f0f3eb;max-width:540px;font-size:clamp(16px,1.5vw,19px);line-height:1.65;margin:32px 0 0;text-wrap:pretty}
.home .hero-actions{margin-top:34px;gap:31px;align-items:center}
.home .hero-actions .button{background:#f7f5ef;color:#172e30;border-color:#f7f5ef;font-size:13px}
.home .hero-actions .button:hover{background:#e0e5d8;border-color:#e0e5d8;color:#172e30}
.home .hero-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 23px;border:1px solid #f7f5efb8;border-radius:100px;color:#fff;font-size:13px;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s}
.home .hero-secondary:hover{background:#f7f5ef;color:#172e30;border-color:#f7f5ef;transform:translateY(-2px)}
.home .hero-foot{position:absolute;z-index:2;left:6.6%;right:4.2%;bottom:29px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:#f3f4ed;font-size:10px;letter-spacing:.12em;font-weight:600}
.home .hero-foot a{color:inherit;text-decoration:none;margin-right:150px}
.home .hero-foot a{border-bottom:1px solid #f3f4ed91;padding-bottom:5px;transition:border-color .25s,color .25s}
.home .hero-foot a:hover{border-color:#fff;color:#fff}
@keyframes hero-settle{from{transform:scale(1.035);filter:brightness(.88)}to{transform:scale(1);filter:brightness(1)}}

/* A quiet editorial pause after the opening image. */
.home .intro{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);gap:5%;padding:clamp(100px,10.8vw,166px) 7% clamp(105px,11vw,170px);background:var(--paper);border:0}
.home .intro>.eyebrow{margin-top:12px;color:#7a8a80}
.home .intro>div{max-width:1050px}
.home .intro h2{max-width:1030px;font-size:clamp(47px,5.3vw,83px);line-height:1.11;letter-spacing:-.06em;font-weight:500;color:#152d2f;text-wrap:balance}
html:lang(el) .home .intro h2{letter-spacing:-.045em}
.home .intro>div>p{max-width:660px;margin:42px 0 22px;color:#576965;font-size:17px;line-height:1.8}
.home .intro .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 23px;border:1px solid #2d5448;border-radius:100px;font-weight:600;color:#224941;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.home .intro .text-link:hover{background:#23483e;color:#fff;transform:translateY(-2px)}

/* Service index uses rules and type instead of generic cards. */
.home .priority-paths{background:#e9eee7;padding:clamp(86px,8vw,126px) 7% clamp(85px,8vw,130px);border:0}
.home .priority-header{grid-template-columns:200px minmax(0,1fr);gap:5%;margin-bottom:67px}
.home .priority-header .eyebrow{color:#647e71}
.home .priority-header h2{max-width:840px;font-size:clamp(43px,4.8vw,72px);line-height:1.1;letter-spacing:-.055em}
.home .priority-header>p:last-child{margin-top:26px;font-size:16px}
.home .priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 54px}
.home .priority-card{grid-template-columns:55px 1fr;column-gap:22px;min-height:230px;padding:30px 0 33px;border-color:#bdcabe;transition:padding-left .3s,border-color .3s,background .3s}
.home .priority-card:hover{padding-left:12px;border-color:#466756}
.home .priority-card .eyebrow{color:#658578;font-size:10px;letter-spacing:.04em}
.home .priority-card h3{font-size:clamp(24px,2.35vw,34px);font-weight:500;letter-spacing:-.04em;line-height:1.18}
.home .priority-card p{max-width:500px;color:#586c65;margin:14px 0 23px}
.home .priority-card a.priority-action{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:43px;padding:10px 19px;border:1px solid #426c5c;border-radius:100px;color:#285b4b;font-size:12px;font-weight:600;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.home .priority-card a.priority-action:hover{background:#285b4b;color:#fff;transform:translateY(-2px)}
.home .priority-note{border-color:#bdcabe;padding-top:29px}

/* Real properties get the strongest visual emphasis after the hero. */
.home .portfolio{background:#f7f5ef;padding:clamp(100px,9.5vw,156px) 7%}
.home .portfolio .section-top{grid-template-columns:1.2fr .6fr;gap:8%;align-items:end;margin-bottom:65px}
.home .portfolio h2{font-size:clamp(50px,5.6vw,84px);line-height:1.07;letter-spacing:-.06em}
.home .portfolio .section-top>p{color:#62716c}
.home .portfolio-grid{gap:70px 30px}
.home .property-card:nth-child(even){transform:translateY(75px)}
.home .property-card img{aspect-ratio:1.47;filter:saturate(.91);transition:filter .35s,transform .55s}
.home .property-card a{display:block;overflow:hidden}
.home .property-card:hover img{filter:saturate(1);transform:scale(1.012)}
.home .property-card a>div{position:relative;padding:20px 0 0}
.home .property-card h3{font-size:clamp(26px,2.5vw,38px);font-weight:500;letter-spacing:-.04em}
.home .property-card p{font-size:14px;max-width:80%}
.home .property-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:18px;padding:9px 19px;border:1px solid #456658;border-radius:100px;color:#264b3f;font-size:12px;font-weight:600;transition:background .25s,color .25s,transform .25s}
.home .property-card a:hover .property-action,.home .property-card a:focus-visible .property-action{background:#284b3d;color:#fff;transform:translateY(-2px)}

/* The main action is a distinct, typographic destination. */
.home .collaboration-discovery{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6%;padding:clamp(100px,9vw,145px) 7%;background:#142d2d;color:#f6f5ee}
.home .collaboration-discovery::after{content:"05";position:absolute;right:6%;top:-.12em;font-size:clamp(200px,29vw,480px);font-weight:500;letter-spacing:-.11em;line-height:1;opacity:.055;pointer-events:none}
.home .collaboration-discovery>div,.home .collaboration-discovery>.button{position:relative;z-index:1}
.home .collaboration-discovery h2{font-size:clamp(46px,5vw,76px);line-height:1.08;letter-spacing:-.06em;max-width:920px}
.home .collaboration-discovery p:not(.eyebrow){max-width:630px;color:#ccd9cf}
.home .collaboration-discovery .button.light{border-radius:100px;background:#f6f5ee;color:#19332e;border-color:#f6f5ee}

.home .insight-teaser{background:#e9eee7}
.home .faq{background:#f7f5ef}
.home .contact-section{background:#e4eae0}
.home .contact-section h2{font-size:clamp(45px,5vw,76px);letter-spacing:-.055em}
.enquiry{background:#f8f7f2;border-color:#c6d3c7}
.internal .page-hero,.internal .text-hero{background:#e8eee7}
.internal .service-card .text-link,.internal .insight-card .text-link{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:9px 17px;border:1px solid #618173;border-radius:100px;color:#285446;text-decoration:none;font-size:12px;font-weight:600;transition:background .25s,color .25s}
.internal .service-card:hover .text-link,.internal .insight-card:hover .text-link{background:#285446;color:#fff}
footer{background:#142d2d}

/* Scroll reveals enhance the page only after the observer is ready. */
body.motion-ready .reveal-target{opacity:0;transform:translateY(27px);filter:blur(3px);transition:opacity .72s ease,transform .72s cubic-bezier(.19,1,.22,1),filter .72s ease;transition-delay:var(--reveal-delay,0ms)}
body.motion-ready .reveal-target.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
body>header.is-scrolled{box-shadow:0 12px 30px #18342e14;border-color:#bfcac0}
body>header{transition:box-shadow .35s,border-color .35s}

@media(max-width:1100px){
 body>header nav{gap:14px}
 body>header .brand-type small{display:none}
 .home .hero-copy{width:min(680px,77%)}
 .home .hero h1,html:lang(el) .home .hero h1{font-size:clamp(60px,7.6vw,86px)}
}
@media(max-width:920px){
 body>header{height:auto;min-height:72px}
 body>header nav a{padding:10px 0}
 .home .hero{height:720px;min-height:630px;max-height:none}
 .home .hero-copy{left:6%;width:min(650px,84%)}
 .home .hero-foot{left:6%;right:6%}
 .home .intro,.home .priority-header{grid-template-columns:1fr;gap:0}
 .home .intro>.eyebrow{margin-bottom:32px}
 .home .priority-header .eyebrow{grid-row:auto}
 .home .priority-header>p:last-child{grid-column:1}
 .home .property-card:nth-child(even){transform:translateY(35px)}
}
@media(max-width:640px){
 html{scroll-behavior:auto}
 .home .hero{height:calc(100svh - 72px);min-height:670px;max-height:820px}
 .home .hero::before{background:linear-gradient(0deg,rgba(7,25,28,.79),rgba(7,25,28,.35) 56%,rgba(7,25,28,.12)),linear-gradient(90deg,rgba(7,25,28,.32),transparent)}
 .home .hero-visual{grid-column:auto;grid-row:auto;min-height:0}
 .home .hero-visual img{object-position:44% center}
 .home .hero-copy{left:6%;right:6%;top:auto;bottom:100px;transform:none;width:auto;padding:0;background:transparent}
 .home .hero .eyebrow{font-size:10px;margin-bottom:25px}
 .home .hero h1,html:lang(el) .home .hero h1{font-size:clamp(47px,11.5vw,72px);line-height:1.04}
 .home .hero-copy>p:not(.eyebrow):not(.hero-assurance){font-size:15px;line-height:1.55;max-width:420px;margin-top:22px}
 .home .hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}
 .home .hero-actions .button{font-size:12px;min-height:46px;padding:12px 17px}
 .home .hero-secondary{font-size:12px}
 .home .hero-foot{bottom:26px;font-size:9px}
 .home .hero-foot>a{display:none}
 .home .hero-visual figcaption{right:6%;bottom:51px;font-size:9px}
 .home .intro,.home .priority-paths,.home .portfolio,.home .collaboration-discovery{padding:82px 6%}
 .home .intro h2,.home .priority-header h2,.home .portfolio h2,.home .collaboration-discovery h2{font-size:clamp(39px,9vw,56px)}
 .home .intro>div>p{margin-top:26px;font-size:16px}
 .home .priority-header{margin-bottom:35px}
 .home .priority-grid{grid-template-columns:1fr}
 .home .priority-card{min-height:0;grid-template-columns:42px 1fr}
 .home .portfolio .section-top{margin-bottom:39px}
 .home .portfolio-grid{gap:43px}
 .home .property-card:nth-child(even){transform:none}
 .home .property-card img{aspect-ratio:1.33}
 .home .collaboration-discovery{grid-template-columns:1fr;gap:35px}
 .home .collaboration-discovery .button{justify-self:start}
 .home .contact-section h2{font-size:clamp(40px,9vw,58px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home .hero-visual img{animation:none}.home .priority-card,.home .property-card img,.button{transition:none}body.motion-ready .reveal-target{opacity:1;transform:none;filter:none;transition:none}}

/* Quiet contact dock: separate, compact controls with labels outside the page. */
.chat-launcher,.whatsapp-float{
 position:fixed;top:auto;left:auto;right:clamp(14px,2vw,24px);
 width:48px;height:48px;min-height:48px;padding:0;
 display:grid;place-items:center;gap:0;overflow:visible;white-space:nowrap;
 border:1px solid #cbd7ce;border-radius:50%;background:rgba(249,249,244,.97);
 color:#214437;box-shadow:0 5px 18px #102b2630;opacity:.94;transform:none;
 transition:opacity .25s,transform .25s,box-shadow .25s,border-color .25s,background .25s
}
.chat-launcher{bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:31}
.whatsapp-float{bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30}
.chat-launcher img{width:34px;height:34px;object-fit:contain;flex:none}
.whatsapp-float svg{width:27px;height:27px;margin:0;color:#267451;flex:none}
.chat-launcher:hover,.whatsapp-float:hover,.chat-launcher:focus-visible,.whatsapp-float:focus-visible{
 width:48px;opacity:1;transform:translateY(-2px);border-color:#8cae9d;
 box-shadow:0 8px 22px #102b263b;background:#fff
}
.chat-launcher[aria-expanded="true"]{background:#e3ede5;border-color:#6d9e87;box-shadow:0 0 0 3px #a9cbb568,0 7px 18px #102b2638}
.chat-launcher:focus-visible,.whatsapp-float:focus-visible{outline:2px solid #276953;outline-offset:3px}
.chat-launcher .chat-launcher-label,.whatsapp-float span{
 position:absolute;right:calc(100% + 11px);top:50%;width:max-content;max-width:220px;
 display:flex;flex-direction:column;align-items:flex-start;gap:2px;
 padding:10px 14px;border:1px solid #d3ddd4;border-radius:11px;
 background:#f9faf5;color:#173831;box-shadow:0 9px 25px #102b262b;
 opacity:0;visibility:hidden;overflow:visible;pointer-events:none;
 transform:translate(5px,-50%);transition:opacity .2s,transform .2s,visibility .2s
}
.chat-launcher-label strong,.whatsapp-float span strong{font-size:12px;line-height:1.2;font-weight:700}
.chat-launcher-label small,.whatsapp-float span small{font-size:10px;line-height:1.25;color:#5a7167;margin:0}
@media(hover:hover) and (pointer:fine){
 .chat-launcher:hover .chat-launcher-label,.whatsapp-float:hover span{
  display:flex;max-width:220px;opacity:1;visibility:visible;transform:translate(0,-50%)
 }
}
.chat-launcher:focus-visible .chat-launcher-label,.whatsapp-float:focus-visible span{
 display:flex;max-width:220px;opacity:1;visibility:visible;transform:translate(0,-50%)
}
.chat-panel{left:auto;right:clamp(14px,2vw,24px);bottom:calc(142px + env(safe-area-inset-bottom,0px));
 width:min(405px,calc(100vw - 30px));max-height:calc(100dvh - 165px);
 border-radius:16px;border-color:#cbd9cf;box-shadow:0 18px 48px #102b2654;background:#fafaf6
}
.chat-panel:not([hidden]) ~ .whatsapp-float{opacity:0;pointer-events:none;transform:translateY(8px)}
.chat-choices #chat-start-ai{background:#dff2ea;border-color:#73ad92;color:#123c32}
#chat-ai-status{min-height:1.4em;font-size:12px;line-height:1.45;color:#385e51}
.chat-choices .chat-ai-note{font-size:12px;font-weight:400;line-height:1.45;margin:0;color:#49635a}
.bpFab{display:none!important}
.owner-hub-hero h1{max-width:850px}
.owner-overview aside h2{font-size:26px;line-height:1.2}
.owner-services>h2{font-size:clamp(32px,4vw,52px);max-width:900px}
.owner-services>p{max-width:760px;margin:20px 0 40px;color:#4b6267;line-height:1.7}
.internal .owner-faq{background:#f7f5ef}
.owner-faq h2{color:#183c35;font-size:clamp(32px,4vw,50px);line-height:1.15;margin-bottom:35px}
.owner-faq details{max-width:1050px;border-top:1px solid #c6d0cb;padding:20px 0}
.owner-faq details:last-child{border-bottom:1px solid #c6d0cb}
.owner-faq summary{cursor:pointer;font-weight:600;font-size:18px;line-height:1.5;color:#183c35}
.owner-faq details p{max-width:900px;line-height:1.75;color:#4b6267;margin:18px 0 0}
.owner-service-link{padding-top:32px;padding-bottom:32px;background:#e8eee7}
.owner-service-link p{max-width:1000px;line-height:1.7}
.owner-service-link a{color:#214f43;text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){
 .chat-launcher,.whatsapp-float{right:12px;left:auto;width:48px;height:48px;min-height:48px;padding:0}
 .chat-launcher{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .whatsapp-float{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .chat-launcher img{width:34px;height:34px}
 .whatsapp-float svg{width:27px;height:27px;margin:0}
 .chat-launcher .chat-launcher-label,.whatsapp-float span{display:none}
 .chat-panel{left:9px;right:9px;bottom:calc(134px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 150px)}
}
@media(prefers-reduced-motion:reduce){
 .chat-launcher,.whatsapp-float,.chat-launcher .chat-launcher-label,.whatsapp-float span{transition:none}
}

/* StayProfit extends the existing navigation without squeezing tablet layouts. */
@media(min-width:921px) and (max-width:1100px){body>header{flex-wrap:wrap;height:auto;min-height:72px;padding-block:11px}body>header nav{display:none;order:3;width:100%;padding:16px 0;border-top:1px solid var(--line)}body>header nav.open{display:flex;flex-direction:column;gap:4px}body>header nav a{padding:10px 0}body>header .menu{display:block;border:0;background:none;font-size:25px}body>header .header-actions>.button{display:none}body>header nav .nav-plan{display:block}}

.chat-choices #chat-start-stayprofit{background:#e9ede5;border-color:#a8bca6;color:#243f32}
.chat-panel.stayprofit-open{left:auto;right:20px;top:50%;bottom:auto;transform:translateY(-50%);width:min(820px,calc(100vw - 40px));height:min(820px,calc(100dvh - 30px));max-height:calc(100dvh - 30px);display:flex;flex-direction:column;overflow:hidden}
.chat-panel.stayprofit-open .chat-header{flex:none}
#chat-stayprofit-view{display:flex;flex-direction:column;flex:1;min-height:0}
#chat-stayprofit-frame{display:block;width:100%;border:0;flex:1;min-height:0;background:#f7f5ef}
@media(max-width:920px){.chat-panel.stayprofit-open{left:8px;right:8px;top:8px;bottom:8px;transform:none;width:auto;height:calc(100dvh - 16px);max-height:none}}

.chat-panel.stayprofit-open,.chat-panel.planner-open{z-index:60}
