:root{--paper:#f7f6f1;--ink:#26332f;--teal:#07545a;--line:#d6d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc843c;outline-offset:7px}header{max-width:1440px;margin:auto;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{width:230px;display:block}.brand img{display:block;width:100%;height:70px;object-fit:contain}nav{display:flex;align-items:center;gap:34px;font-size:13px}.nav-button{border:1px solid #a5aaa1;padding:11px 19px}section{scroll-margin-top:25px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;padding:44px 6% 66px;gap:5%}.hero-copy{padding-top:44px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;display:flex;align-items:center;gap:10px;margin:0 0 28px}.eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--teal)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0}h1{font-size:clamp(45px,4.6vw,70px)}em{font-weight:400;color:var(--teal)}.intro{max-width:410px;margin:29px 0 28px;color:#5a655e;font-size:15px}.button{display:inline-flex;align-items:center;gap:45px;padding:15px 23px;background:var(--teal);color:white;font-size:12px}.button:hover{background:#183c39}.hero-foot{display:flex;gap:46px;margin-top:47px;padding-top:22px;border-top:1px solid var(--line);max-width:410px}.hero-foot>span{font-family:Georgia,serif;font-size:25px}.hero-foot small{font:10px Arial;display:inline-block;margin-left:7px;color:#667269}.art{background:#e5e5da;position:relative;padding:26px 25px 22px;display:flex;flex-direction:column;justify-content:space-between}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px}.art-top span,.art-bottom small{font-size:7px}.art svg{width:100%;max-height:490px}.art-bottom{border-top:1px solid #b9bdb0;padding-top:15px;font-family:Georgia,serif;font-size:14px;letter-spacing:0}.art-bottom small{font-family:Arial;letter-spacing:1px}.story{border-top:1px solid var(--line);max-width:1268px;margin:auto;padding:90px 5%;display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(36px,3.4vw,49px)}.story .large{font:24px/1.45 Georgia,serif;margin-top:0}.story p:not(.large):not(.eyebrow){color:#657067}.apartments{padding:80px max(6%,calc((100vw - 1268px)/2));background:#eeeee6}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-heading>p{color:#667168;font-size:13px}.apartment-list article{display:grid;grid-template-columns:80px 1fr 1fr;align-items:center;border-top:1px solid #c8cdc1;padding:20px 0}.apartment-list article:last-child{border-bottom:1px solid #c8cdc1}.number{font:italic 20px Georgia;color:var(--teal)}h3{font:27px Georgia;margin:0}.apartment-list article>span:last-child{text-align:right;font-size:12px;color:#667168}.availability{font-size:12px;color:#667168;margin-top:24px}.address{max-width:1440px;margin:auto;padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.street{margin-top:30px}.text-link{font-size:12px;border-bottom:1px solid #6e8275;padding-bottom:6px}.address-mark{padding:40px;background:#e5e7dc;min-height:290px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 12px 0 #eeeee6}.address-mark>span{font-size:9px;letter-spacing:3px}.address-mark strong{font:30px Georgia}.address-mark em{display:block;font-size:100px;line-height:1.1}.contact{text-align:center;background:var(--teal);color:#f7f6f1;padding:80px 20px}.contact .eyebrow{justify-content:center;color:#b8ccc3}.contact em{color:#b8ccc3}.contact p:last-child{font-size:13px;color:#d4dfd8;margin-top:25px}footer{padding:30px 6%;display:flex;justify-content:space-between;font-size:10px;color:#657067}footer a{font-weight:bold;letter-spacing:2px;color:var(--ink)}@media(max-width:760px){header{padding:14px 6%}.brand{width:155px}.brand img{height:48px}nav{gap:14px}nav>a:not(.nav-button){display:none}.nav-button{padding:8px 12px;font-size:10px}.hero{grid-template-columns:1fr;padding-top:15px;gap:35px}.hero-copy{padding-top:25px}h1{font-size:48px}.hero-foot{margin-top:30px}.art svg{max-height:400px}.story{grid-template-columns:1fr;padding:60px 6%;gap:30px}.story .large{font-size:23px}.apartments{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:24px}.apartment-list article{grid-template-columns:40px 1fr}.apartment-list article>span:last-child{grid-column:2;text-align:left;padding-top:7px}.address{grid-template-columns:1fr;padding:60px 6%;gap:40px}.contact{padding:60px 6%}footer{flex-wrap:wrap;gap:14px}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-photo{margin:0;position:relative;min-height:560px;background:#e5e5da;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:46% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:26px 22px 20px;background:linear-gradient(transparent,#15231ed9);color:white;font:18px Georgia,serif;display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-photo figcaption span{font:8px Arial;letter-spacing:1.3px}.gallery{padding:30px 6% 85px;max-width:1440px;margin:auto}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery figure{margin:0}.gallery-wide{grid-column:1/-1}.gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.gallery-wide img{aspect-ratio:2.1/1}.gallery a{display:block;overflow:hidden}.gallery a:hover img{filter:brightness(1.04)}.gallery figcaption{padding-top:12px;font:16px Georgia,serif}.gallery-note{font-size:12px;color:#657067;margin-top:28px}@media(max-width:760px){.hero-photo{min-height:360px}.hero-photo>img{object-position:36% center}.hero-photo figcaption{font-size:15px}.gallery{padding:10px 6% 60px}.gallery-grid{grid-template-columns:1fr;gap:27px}.gallery-wide{grid-column:auto}.gallery-wide img{aspect-ratio:16/9}}
.contact-page{max-width:1268px;margin:auto;padding:65px 6% 85px}.contact-heading{padding-bottom:45px;border-bottom:1px solid var(--line)}.contact-heading h1{font-size:clamp(40px,4.5vw,64px)}.contact-heading .intro{max-width:580px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;padding-top:55px}.contact-layout aside h2{font-size:36px}.contact-layout aside>p:not(.eyebrow){margin-top:25px}.rental-note{margin-top:38px;border-top:1px solid var(--line);padding-top:22px;font-size:13px}.rental-note p{color:#657067}.form-title{font-size:32px;margin-bottom:24px}.contact-layout form{padding:32px;background:#eeeee6}.contact-layout fieldset{border:0;padding:0;margin:0;min-width:0}.contact-layout label{display:block;font-size:12px;font-weight:600;margin-bottom:20px}.contact-layout label span{color:var(--teal)}.contact-layout label small{font-weight:400;color:#657067}.contact-layout input:not([type=hidden]),.contact-layout textarea,.contact-layout select{width:100%;border:1px solid #bfc7bb;background:var(--paper);border-radius:0;padding:13px;font:15px/1.5 Arial;color:var(--ink);margin-top:8px}.contact-layout textarea{resize:vertical}.contact-layout input:focus,.contact-layout textarea:focus,.contact-layout select:focus{outline:2px solid var(--teal);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-layout button{border:0;cursor:pointer;font-family:inherit}.contact-layout button:disabled{cursor:default;opacity:.55}.contact-layout fieldset:disabled{opacity:.6}.data-note,.required-note{font-size:11px;color:#657067}.data-note{margin:0 0 22px}.required-note{margin-bottom:0}.form-status:empty{display:none}.form-status{font-size:13px;margin-bottom:20px;padding:15px;border:1px solid #bcc8b8;background:#f7f6f1}.form-status.error{border-color:#ae5b42;color:#7b301e}.form-status.success{border-color:#47785e;color:#24583c}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact .button{background:var(--paper);color:var(--teal);margin-top:18px}@media(max-width:760px){.contact-page{padding-top:40px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-top:35px}.contact-layout form{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}}

.contact-portrait{margin:0 0 27px;max-width:340px;height:365px;background:transparent;overflow:hidden}.contact-portrait img{display:block;width:100%;height:auto}.contact-layout aside h2.contact-name{font-size:43px}.contact-layout aside .contact-portrait+.eyebrow{margin-bottom:13px}@media(max-width:760px){.contact-portrait{max-width:340px;height:350px}}

.partners-page{max-width:1268px;margin:auto;padding:70px 6% 80px}.partners-heading{padding-bottom:45px;border-bottom:1px solid var(--line)}.partners-heading .intro{max-width:660px}.partner-list{padding:55px 0 65px}.partner-entry{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.partner-logo{background:#fff;padding:40px 28px;min-height:225px;display:flex;align-items:center;border:1px solid var(--line)}.partner-logo img{display:block;width:100%;height:auto}.partner-description h2{font-size:42px}.partner-description .eyebrow{margin-bottom:20px}.partner-description>p:not(.eyebrow){color:#657067;margin:20px 0 28px}.partner-contact{padding:40px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.partner-contact h2{font-size:35px}.partner-contact p:not(.eyebrow){font-size:13px;color:#657067;max-width:480px}.partner-contact .button{white-space:nowrap}.partner-contact .eyebrow{margin-bottom:20px}nav [aria-current=page]{color:var(--teal);font-weight:600}@media(max-width:760px){header .brand{width:130px}nav a[href="partner.html"]{display:block;font-size:10px}nav{gap:14px}.partners-page{padding-top:45px}.partner-entry{grid-template-columns:1fr;gap:30px}.partner-logo{min-height:170px;padding:28px}.partner-list{padding:35px 0 45px}.partner-contact{display:block}.partner-contact .button{margin-top:15px}}

.partner-entry+.partner-entry{margin-top:42px;padding-top:42px;border-top:1px solid var(--line)}.partner-logo-osterwalder{justify-content:center}.partner-logo-osterwalder img{width:100%;max-width:310px;max-height:215px;object-fit:contain}@media(max-width:760px){.partner-logo-osterwalder img{max-height:180px}.partner-description h2{font-size:36px}}

.partner-name-panel{min-height:225px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;gap:14px}.partner-name-panel span{font:italic 48px Georgia,serif;color:var(--teal)}.partner-name-panel small{font-size:9px;letter-spacing:3px;color:#657067}@media(max-width:760px){.partner-name-panel{min-height:170px}.partner-name-panel span{font-size:42px}}

/* Persistent, consistent navigation on every page and viewport. */
header{position:sticky;top:0;z-index:100;background:var(--paper);max-width:none;box-shadow:0 3px 12px #26332f08}html{scroll-padding-top:145px}section{scroll-margin-top:15px}header nav{gap:24px}header nav a{white-space:nowrap}@media(max-width:1050px){header{flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:14px}header nav{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:10px 22px}header nav a,header nav a:not(.nav-button),header nav a[href="partner.html"]{display:block;font-size:12px}header .brand{width:175px}header .brand img{height:48px}html{scroll-padding-top:175px}}@media(max-width:520px){header{padding:10px 5% 12px;gap:8px}header .brand{width:145px}header .brand img{height:40px}header nav{gap:9px 17px;justify-content:flex-end}header nav a,header nav a:not(.nav-button),header nav a[href="partner.html"]{font-size:11px}header nav .nav-button{padding:5px 10px}html{scroll-padding-top:180px}}

.partner-name-panel .partner-fabienne{font-size:clamp(27px,3vw,40px);text-align:center;line-height:1.2}

.address-map{min-width:0;border:1px solid var(--line);background:#e5e7dc;box-shadow:12px 12px 0 #eeeee6}.address-map iframe{display:block;width:100%;height:360px;border:0}@media(max-width:760px){.address-map iframe{height:320px}}

/* Accessibility: sufficient text contrast in apartment section (WCAG AA). */
.apartments .section-heading > p,
.apartments .apartment-list article > span:last-child,
.apartments .availability { color: #505e55; }
