@font-face{font-family:Sofia;src:url('/assets/fonts/sofia.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:SofiaCondensed;src:url('/assets/fonts/sofia-condensed.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:SofiaFallback;src:local("Roboto"),local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:95.5%;ascent-override:90%;descent-override:30%;line-gap-override:0%}@font-face{font-family:SofiaCondensedFallback;src:local("Roboto"),local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:73.5%;ascent-override:90%;descent-override:30%;line-gap-override:0%}
:root{--zinc:#e9ecee;--panel:#fff;--ink:#16212b;--blue:#0066cc;--red:#d0202a;--steel:#8a949c;--timber:#c99a5b}*{box-sizing:border-box}html{scroll-behavior:smooth}html{color-scheme:light;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--zinc);font:400 18px/1.55 Sofia,SofiaFallback,Arial,sans-serif}h1,h2,h3,dt{font-family:SofiaCondensed,SofiaCondensedFallback,Arial,sans-serif;font-weight:650;line-height:1.1;overflow-wrap:break-word}h1{font-size:clamp(2.25rem,4.6vw,4rem);margin:0 0 1.5rem;max-width:8.5em}h2{font-size:clamp(1.75rem,3vw,2.5rem);margin:0 0 1.25rem}h3,dt{font-size:1.5rem;margin:0 0 .75rem}p{margin:0 0 1.2rem;max-width:70ch}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,input,select,textarea{scroll-margin:24px}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img,svg{max-width:100%;height:auto}picture{display:block}picture img{display:block;width:100%;height:auto}figure{margin:0}figcaption{font-size:.875rem;padding-top:12px;line-height:1.4}ul,ol{padding-left:1.4rem}li{margin-bottom:1rem}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:80px}.section-first{padding-top:0}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:start;margin-bottom:40px}.section-heading h2{max-width:7.5em}.section-heading p{max-width:48ch}.lead{font-size:1.25rem;line-height:1.5}.skip{position:absolute;top:0;left:24px;transform:translateY(-150%);background:white;padding:12px;z-index:100}.skip:focus{transform:translateY(0)}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:0;border-radius:4px;background:var(--red);color:white;padding:13px 23px;min-height:50px;text-decoration:none;font-weight:650;line-height:1.3}.button:hover{background:#ac1b24;text-decoration:underline}.type-links{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;border-top:2px solid var(--ink)}.type-links>a{position:relative;padding-block:28px;color:var(--ink);text-decoration:none}.type-links h3{color:var(--blue)}.type-links span{font-size:1.7rem;color:var(--blue)}.type-links>a:hover h3{text-decoration:underline}.material-section{background:var(--panel)}.material-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.wall-diagram svg{display:block;width:100%}.wall-diagram figcaption{max-width:58ch;color:var(--ink)}.materials{margin:0}.materials div{padding:16px 0;border-top:1px solid var(--steel)}.materials dt{font-size:1.3rem;margin-bottom:5px}.materials dd{margin:0;font-size:1rem}.text-link{display:inline-block;margin-top:32px;min-height:44px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.gallery picture img{aspect-ratio:3/4;object-fit:cover}.gallery a{display:block}.enquiry{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;border-top:1px solid var(--steel)}.enquiry ol{margin:0;counter-reset:steps;list-style:none;padding:0}.enquiry li{counter-increment:steps;display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--steel)}.enquiry li:before{content:counter(steps);color:var(--blue);font-size:1.5rem}.plots{padding-bottom:80px}.plots h2{font-size:1.75rem}.page-intro{padding-block:64px 48px}.page-intro p{max-width:65ch}.house-rows{padding-bottom:64px}.house-row,.construction-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:80px}.house-row:nth-child(even)>:first-child{order:2}.house-row picture img,.construction-detail picture img{max-height:620px;object-fit:cover}.house-row .button,.construction-detail .button{margin-top:16px}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:32px}.filters button{border:1px solid var(--ink);background:white;color:var(--ink);padding:8px 16px;border-radius:4px;min-height:44px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.result-count{font-size:1rem}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}.contact-details h3{margin-top:40px}.phone{display:block;font-family:SofiaCondensed,SofiaCondensedFallback,Arial,sans-serif;font-size:2rem;margin-bottom:8px}.form-panel{padding:32px;background:white;border-top:4px solid var(--blue);min-width:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:24px;min-width:0}.field label{display:block;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid var(--ink);border-radius:3px;padding:10px 12px;background:white;color:var(--ink);min-height:48px}.field textarea{resize:vertical}.checkbox{display:flex;gap:14px;align-items:start;margin-block:0 24px}.checkbox input{width:24px;height:24px;flex-shrink:0}.privacy-note{font-size:1rem}.field-error{color:#a51b23;display:block;margin-top:6px}.error-summary{border-left:4px solid var(--red);padding:20px;margin-bottom:24px;background:#fff4f4}.error-summary h3{font-size:1.3rem}.error-summary a{color:#a51b23}.notice{padding:20px;border-left:3px solid var(--blue);background:var(--zinc)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.reading{max-width:760px;padding-block:64px 100px}.reading h1{margin-bottom:40px}.notfound{padding-bottom:120px}.contact-band{background:var(--ink);color:white;padding-block:56px}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.contact-band h2{margin-bottom:12px}.contact-band p{margin:0}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.contact-layout{gap:32px}.material-layout{gap:32px}}
@media(max-width:850px){.lead{font-size:1.125rem}.form-fields{grid-template-columns:1fr}.material-layout{gap:24px}.type-links{gap:24px}.house-row,.construction-detail{gap:40px}}
@media(max-width:700px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.section{padding-block:48px}.section-first{padding-top:0}.section-heading{display:block;margin-bottom:28px}.section-heading h2{max-width:11.3em}.type-links{grid-template-columns:1fr;gap:0}.type-links>a{border-bottom:1px solid var(--steel);padding-block:24px}.type-links p{margin-bottom:4px}.type-links span{position:absolute;top:22px;right:0}.material-layout,.enquiry,.contact-layout{grid-template-columns:1fr;gap:32px}.wall-diagram{max-width:480px}.wall-diagram svg{max-height:280px}.gallery{grid-template-columns:1fr;gap:32px}.gallery picture img{aspect-ratio:3/3.5}.page-intro{padding-block:40px 32px}.house-row,.construction-detail{grid-template-columns:1fr;gap:28px;margin-bottom:48px}.house-row:nth-child(even)>:first-child{order:0}.house-row picture img{max-height:560px}.plots{padding-bottom:48px}.contact-band-inner{display:block}.contact-band .button{margin-top:24px}.form-panel{padding:24px 20px}.reading{padding-block:40px 64px}}
@media(min-width:701px) and (max-width:1000px){.gallery{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.contact-band,.filters,form{display:none}body{background:white}.wrap{width:100%}.material-layout{display:block}a{color:inherit}}

.video-section{padding-top:0}.video-layout{display:grid;grid-template-columns:360px 1fr;gap:64px;align-items:center}.video-player{position:relative;max-width:360px}.video-player>img,.video-player>video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:var(--ink)}.video-play{position:absolute;bottom:24px;left:20px;right:20px;max-width:calc(100% - 40px)}@media(max-width:700px){.video-layout{grid-template-columns:1fr;gap:28px}.video-player{width:min(100%,360px)}}

.review-banner{padding:16px 0;background:#16212b;color:#fff;font-size:16px}.review-banner p{margin:4px 0 0}.button,.filters button{transition:background-color .18s,color .18s}@media(prefers-reduced-motion:reduce){.button,.filters button{transition:none}}

.quote-questions{padding-top:0;max-width:900px}.quote-questions>div{padding-top:24px;border-top:1px solid var(--steel);margin-top:24px}.quote-questions p{max-width:70ch}.button:disabled{opacity:.7;cursor:wait}.contact-details a,.reading a{overflow-wrap:anywhere}.button{max-width:100%}label{overflow-wrap:anywhere}.type-links>a,.gallery a,.contact-details a{cursor:pointer}

/* Header: solid on inner pages,laid over the photo hero on home (pattern from Villa Nestor) */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:20;background:var(--zinc);border-bottom:1px solid var(--steel)}
.header-inner{display:flex;align-items:center;gap:28px;min-height:88px;padding-block:12px}
.brand{display:flex;gap:12px;align-items:center;margin-right:auto;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap;min-width:0}
.brand img{width:44px;height:44px;flex:none}
.brand span{font-size:1.3rem;overflow:hidden;text-overflow:ellipsis}
.site-nav{display:flex;align-items:center;gap:20px}
.site-nav>ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.site-nav>ul>li{margin:0}
.site-nav>ul a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:1rem;font-weight:500;text-decoration:none;border-bottom:2px solid transparent}
.site-nav>ul a:hover{border-bottom-color:var(--steel)}
.site-nav>ul a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}
.header-quote{flex:none;white-space:nowrap;min-height:44px;padding:10px 18px}
.menu-toggle{display:none;flex:none;width:48px;height:48px;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink)}
.menu-toggle svg{width:26px;height:26px}
.menu-toggle .icon-close,.site-header.is-open .menu-toggle .icon-open{display:none}
.site-header.is-open .menu-toggle .icon-close{display:block}

.langswitch{position:relative}
.langswitch summary{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;border-radius:4px;color:var(--ink);font-size:1rem;font-weight:500;list-style:none;cursor:pointer}
.langswitch summary::-webkit-details-marker{display:none}
.langswitch summary:hover{background:rgba(22,33,43,.07)}
.langswitch summary svg{width:20px;height:20px;flex:none}
.langswitch summary .chevron{width:14px;height:14px;transition:transform .18s}
.langswitch[open] summary .chevron{transform:rotate(180deg)}
.langswitch ul{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:11rem;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid rgba(22,33,43,.14);border-radius:6px;box-shadow:0 12px 30px rgba(22,33,43,.16)}
.langswitch li{margin:0}
.langswitch ul a{display:block;padding:10px 12px;border-radius:4px;color:var(--ink);font-size:1rem;text-decoration:none}
.langswitch ul a:hover{background:var(--zinc)}
.langswitch ul a[aria-current=true]{color:var(--blue);font-weight:650}

.site-header--overlay{position:absolute;inset:0 0 auto;background:transparent;border-bottom:0}
.site-header--overlay .brand,.site-header--overlay .site-nav>ul a,.site-header--overlay .langswitch summary,.site-header--overlay .menu-toggle{color:#fff}
.site-header--overlay .brand img{filter:drop-shadow(0 1px 6px rgba(0,0,0,.35))}
.site-header--overlay .site-nav>ul a:hover{border-bottom-color:rgba(255,255,255,.5)}
.site-header--overlay .site-nav>ul a[aria-current=page]{color:#fff;border-bottom-color:#fff}
.site-header--overlay .langswitch summary:hover{background:rgba(255,255,255,.14)}
.site-header--overlay :focus-visible{outline-color:#fff}

/* Home hero: full-bleed photo,copy at the bottom */
.hero{position:relative;display:grid;align-items:end;min-height:min(46rem,92svh);color:#fff;background:var(--ink);overflow:hidden}
.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:50% 45%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(22,33,43,.62) 0,rgba(22,33,43,.18) 26%,rgba(22,33,43,.25) 52%,rgba(22,33,43,.9) 100%),linear-gradient(to right,rgba(22,33,43,.45) 0,rgba(22,33,43,0) 60%)}
.hero-copy{position:relative;z-index:2;padding-block:140px 64px}
.hero h1{color:#fff;max-width:13em;margin-bottom:1.25rem;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero .lead{color:#e6ebee;max-width:46ch}
.hero .location{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.hero .location::before{content:"";width:28px;height:2px;background:var(--red)}
.hero .actions{margin-top:28px}
.button-quiet{display:inline-flex;align-items:center;min-height:50px;padding:12px 22px;border:1px solid rgba(255,255,255,.85);border-radius:4px;color:#fff;font-weight:650;text-decoration:none}
.button-quiet:hover{background:#fff;color:var(--ink);text-decoration:none}
.hero :focus-visible{outline-color:#fff}

@media(max-width:1100px){.header-inner{gap:18px}.site-nav>ul{gap:18px}.brand span{font-size:1.15rem}}
@media(max-width:900px){
.menu-toggle{display:inline-flex}
.header-inner{gap:8px;min-height:72px}
.site-nav{display:none}
.site-header.is-open{background:var(--ink)}
.site-header.is-open .brand,.site-header.is-open .menu-toggle{color:#fff}
.site-header.is-open .site-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;padding:8px 20px 24px;background:var(--ink);box-shadow:0 16px 30px rgba(0,0,0,.3)}
.site-header.is-open .site-nav>ul{flex-direction:column;gap:0}
.site-header.is-open .site-nav>ul a{display:flex;color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.site-header.is-open .site-nav>ul a[aria-current=page]{border-bottom-color:#fff}
.site-header.is-open .langswitch{margin-top:12px}
.site-header.is-open .langswitch summary{color:#fff;padding-inline:0}
.site-header.is-open .langswitch ul{position:static;box-shadow:none;margin-top:4px}
.hero-copy{padding-block:120px 44px}
}
@media(max-width:900px) and (scripting:none){.menu-toggle{display:none}.header-inner{flex-wrap:wrap}.site-nav{display:flex;order:5;width:100%;flex-wrap:wrap;justify-content:space-between}.site-nav>ul{flex-wrap:wrap;gap:4px 16px}}
@media(max-width:700px){
.brand img{width:36px;height:36px}
.brand span{font-size:1.05rem}
.header-quote{padding:8px 12px;font-size:.95rem}
.hero{min-height:min(40rem,88svh)}
.hero-copy{padding-block:112px 36px}
.hero .lead{font-size:1.1rem}
.hero .actions{gap:12px}
.hero .actions>a{flex:1 1 auto}
}
.header-quote[aria-current=page]{background:#ac1b24}
@media(max-width:520px){.header-quote{padding:8px 11px;font-size:.88rem;min-height:40px}.menu-toggle{width:40px}}
@media(max-width:374px){.header-inner{gap:6px}.brand{gap:8px}.brand img{width:32px;height:32px}.brand .wordmark-main{font-size:1.1rem}.brand .wordmark-sub{font-size:.5rem;letter-spacing:.3em}.header-quote{padding:7px 9px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.langswitch summary .chevron{transition:none}}
@media print{.site-header,.menu-toggle{display:none}.hero{display:block;min-height:0;color:var(--ink);background:none}.hero::before,.hero-media{display:none}.hero h1,.hero .lead,.hero .location{color:var(--ink)}}

/* Footer (pattern from Villa Nestor) */
.contact-band{border-bottom:1px solid rgba(255,255,255,.12)}
.site-footer{background:#0f171e;color:#c5cfd6;font-size:1rem}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer :focus-visible{outline-color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(16rem,1.6fr) minmax(9rem,.8fr) minmax(12rem,1.1fr) minmax(15rem,1.3fr);gap:48px;padding-block:72px 56px;align-items:start}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font-size:1.45rem;font-weight:700;margin-bottom:18px}
.footer-brand:hover{text-decoration:none!important}
.footer-brand img{width:44px;height:44px}
.footer-tagline{max-width:36ch;font-size:1.05rem;line-height:1.6;color:#dbe2e7}
.footer-legal{font-size:.9rem;color:#93a1ab}
.footer-heading{margin:0 0 14px;color:#fff;font-family:SofiaCondensed,SofiaCondensedFallback,Arial,sans-serif;font-size:1.15rem;font-weight:650;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.footer-heading::before{content:"";width:18px;height:2px;background:var(--red)}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:0}
.footer-links a,.footer-hours{display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;padding-block:10px;line-height:1.35;color:#dbe2e7;overflow-wrap:anywhere}
.footer-links a:hover{color:#fff}
.footer-links a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px}
.footer-links small{display:block;font-size:.82rem;color:#93a1ab;margin-top:2px}
.ficon{width:18px;height:18px;flex:none;margin-top:1px;color:#8fb8e8}
.footer-langs{display:inline-block;margin-top:16px}
.footer-langs summary{color:#fff;border:1px solid rgba(255,255,255,.3)}
.footer-langs summary:hover{background:rgba(255,255,255,.08)}
.footer-langs ul{top:auto;bottom:calc(100% + 6px);left:0;right:auto}
.footer-langs ul a{color:var(--ink)!important}
.footer-langs ul a[aria-current=true]{color:var(--blue)!important}
.footer-langs ul :focus-visible{outline-color:var(--blue)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px 22px;border-top:1px solid rgba(255,255,255,.14);font-size:.9rem;color:#93a1ab}
.footer-bottom p{margin:0}
.footer-credit{display:flex;align-items:center;gap:10px}
.footer-credit a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:650}
.footer-credit img{width:24px;height:24px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-about{grid-column:1/-1;max-width:40rem}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px;padding-block:48px 40px}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}}
@media(max-width:340px){.footer-grid{grid-template-columns:1fr}}
@media print{.footer-langs,.footer-credit{display:none}.site-footer{background:none;color:var(--ink)}.site-footer a{color:var(--ink)}}

/* Wordmark: condensed PROKAT over spaced OLYMPOU, next to the mountain/A-frame mark */
.brand .wordmark,.footer-brand .wordmark{display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:1rem;overflow:visible;line-height:1}
.brand .wordmark-main,.footer-brand .wordmark-main{font-family:SofiaCondensed,SofiaCondensedFallback,Arial,sans-serif;font-size:1.6rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;line-height:.9;overflow:visible}
.brand .wordmark-sub,.footer-brand .wordmark-sub{font-size:.66rem;font-weight:650;letter-spacing:.42em;text-transform:uppercase;line-height:1;color:var(--blue);overflow:visible}
.site-header--overlay .brand .wordmark-sub,.site-header.is-open .brand .wordmark-sub,.footer-brand .wordmark-sub{color:#8fb8e8}
.brand img,.footer-brand img{border-radius:10px}
.site-header--overlay .brand img{filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}
.footer-brand .wordmark-main{font-size:1.75rem}
@media(max-width:700px){.brand .wordmark-main{font-size:1.35rem}.brand .wordmark-sub{font-size:.58rem;letter-spacing:.36em}}
.footer-brand img{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.brand{flex:none}
@media(max-width:345px){.header-inner{gap:5px}.brand .wordmark-main{font-size:1rem}.header-quote{font-size:.74rem;padding:6px 7px}.menu-toggle{width:34px}}
