:root{--ink:#142c35;--paper:#f7f5ef;--muted:#52616a;--line:#d7d8cf;--gold:#88704b}*{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;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #b28b46;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:15px}.monogram{font-family:Georgia,serif;font-size:43px;letter-spacing:-3px;padding-right:17px;border-right:1px solid #b7bcb8}.brand-name{font-size:14px;letter-spacing:3px;font-weight:600}.brand-name span{display:block;font-size:8px;letter-spacing:1.7px;margin-top:8px}nav{display:flex;align-items:center;gap:35px;font-size:13px}.hero{max-width:1440px;margin:auto;padding:66px 5% 70px;display:grid;grid-template-columns:0.85fr 1.15fr;gap:45px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;margin:0 0 24px;line-height:1.7}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.6px}h1{font-size:clamp(42px,4.2vw,65px);line-height:1.08;margin:0 0 27px}h1 em{font-weight:400;color:#6a765e}p{font-size:15px;line-height:1.75}.intro{font-size:16px;color:var(--muted);margin-bottom:29px}.button{display:inline-flex;gap:42px;align-items:center;background:var(--ink);color:white;padding:18px 23px;font-size:12px}.button:hover{background:#294854}.hero-note{font-size:10px;color:var(--muted);margin:38px 0 0}.hero-photo{margin:0}.hero-photo img{width:100%;height:auto;display:block}.hero-photo figcaption{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);padding-top:14px;line-height:1.6}.section{padding:76px 5%;max-width:1440px;margin:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}h2{font-size:clamp(34px,3.5vw,48px);line-height:1.13;margin:0} .about-copy>p{color:var(--muted);max-width:550px;margin-top:0}.about-copy .large-copy{font-size:22px;line-height:1.5;color:var(--ink);margin-bottom:21px}.signature{border-left:2px solid #a38e68;padding-left:18px;margin-top:28px;font-size:13px}.signature span{display:block}.signature span+span{font-size:11px;color:var(--muted);margin-top:7px}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.small-label{font-size:9px;letter-spacing:1.5px;white-space:nowrap}.property{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:#eeeee5}.property>img{width:100%;height:auto;display:block}.property-copy{padding:42px}.property-copy .eyebrow{margin-bottom:18px}h3{font-size:35px;line-height:1.15;margin:0 0 20px;letter-spacing:-.6px}h3 span{font-size:24px}.property-copy>p{color:var(--muted);font-size:14px}.property-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;padding:20px 0;border-top:1px solid #d4d7cb;border-bottom:1px solid #d4d7cb}.address{font-size:12px!important;margin:20px 0}.text-link{display:inline-flex;justify-content:space-between;gap:45px;font-size:12px;border-bottom:1px solid;padding-bottom:7px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:65px;padding-bottom:65px}.contact .eyebrow{color:#c9bd9e}.contact p{color:#c1cccb}.phone{font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);display:flex;justify-content:space-between;border-bottom:1px solid #4b6065;padding-bottom:25px;letter-spacing:-.5px}.phone span{font-family:Arial;font-size:25px}.contact-row{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;padding-top:25px;align-items:start}.contact-row>span{font-size:8px;letter-spacing:1.4px;line-height:1.8;color:#c1cccb}.contact-row>a{font-size:13px;line-height:1.8;overflow-wrap:anywhere}footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 5%;font-size:11px}footer p{font-size:10px;color:var(--muted)}.footer-brand{font-family:Georgia,serif;font-size:27px}.footer-brand span{font-family:Arial;font-size:9px;letter-spacing:2px;margin-left:10px}@media(min-width:1500px){body{padding:0 2%}}@media(max-width:900px){header{padding:24px 5%}nav{gap:20px}.brand-name span{display:none}.hero{gap:28px;padding-top:45px}.hero-note{margin-top:25px}h1{font-size:43px}.property-copy{padding:28px}h3{font-size:29px}.small-label{display:none}.contact-row{grid-template-columns:1fr;gap:8px}}@media(max-width:640px){header{flex-direction:column;gap:23px;align-items:flex-start}.brand-name span{display:block}nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.hero{grid-template-columns:1fr;padding:43px 6% 42px;gap:32px}.hero-copy{max-width:440px}h1{font-size:47px}.hero-note{display:none}.hero-photo figcaption{font-size:9px}.section{padding:45px 6%}.about{grid-template-columns:1fr;gap:28px}.about-copy .large-copy{font-size:20px}.eyebrow{margin-bottom:18px}h2{font-size:36px}.property{grid-template-columns:1fr}.property-copy{padding:28px}.contact{grid-template-columns:1fr;gap:28px}.contact p{margin-bottom:0}.contact-row{grid-template-columns:1fr 1.3fr}.phone{font-size:34px}footer{padding:25px 6%;flex-wrap:wrap}footer p{order:3;width:100%;margin:0}.intro{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.past-properties{margin-top:58px;padding-top:40px;border-top:1px solid var(--line)}.past-properties .eyebrow{margin-bottom:16px}.past-note{color:var(--muted);margin:20px 0 0;font-size:14px}@media(max-width:640px){.past-properties{margin-top:38px;padding-top:30px}}

/* Keep the complete logo visible at its natural aspect ratio. */
.brand{display:block;width:330px;max-width:100%;height:auto;flex-shrink:1}
.brand .company-logo,.footer-brand .company-logo{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain}
.footer-brand{display:block;width:230px;max-width:100%;height:auto}
header{padding-top:8px;padding-bottom:8px}
@media(max-width:900px){.brand{width:280px}nav{gap:18px}}
@media(max-width:640px){header{gap:8px;padding-top:6px;padding-bottom:20px}.brand{width:300px;max-width:100%}}

body{min-height:100vh;display:flex;flex-direction:column}header,main,footer{width:100%}main{flex:1}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}main>.about{border-top:0}main>.contact{margin-top:35px;margin-bottom:35px}

.past-property{margin-top:32px}.past-properties>h2{margin-bottom:6px}

.carousel{position:relative;min-width:0}.carousel-slide{margin:0}.carousel-slide[hidden]{display:none}.carousel-slide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#eeeee5;display:block}.carousel-arrows{position:absolute;left:12px;right:12px;top:40%;display:flex;justify-content:space-between;pointer-events:none}.carousel-arrow{pointer-events:auto;border:1px solid #ffffff88;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#142c35d9;color:#fff;font:29px/1 Arial;cursor:pointer}.carousel-arrow:hover{background:#142c35}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--muted);font-size:10px}.carousel-toggle{font:inherit;color:inherit;background:none;border:0;padding:7px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.carousel button:focus-visible{outline:3px solid #ce861c;outline-offset:4px}

.contact-details{min-width:0;align-self:center}.contact-email{font-family:Georgia,serif;font-size:clamp(22px,2.5vw,36px);line-height:1.4;overflow-wrap:anywhere}

nav a{font-weight:700}

/* Improve readability of small captions, labels, details, and controls sitewide. */
.hero-note,.hero-photo figcaption,.carousel-toolbar,.carousel-toggle,.eyebrow,.small-label,.property-facts,.address,.text-link,.button,.signature,footer p,footer>a:last-child{font-weight:700}

/* Readable supporting text on desktop and mobile. */
.hero-note,.hero-photo figcaption,.carousel-toolbar,.eyebrow,.small-label,footer p{font-size:12px}
.property-facts,.signature span+span,footer>a:last-child{font-size:13px}
.address{font-size:14px!important}
.text-link,.button,.signature{font-size:14px}
.hero-photo figcaption{flex-wrap:wrap;column-gap:16px;row-gap:4px}
.property-facts{line-height:1.5}

.property-carousel{width:100%;align-self:center}.property-carousel-stage{position:relative}.property-carousel figcaption{padding:12px 16px 0;font-size:12px;font-weight:700;line-height:1.6;color:var(--muted)}.property-carousel .carousel-toolbar{margin-top:0;padding:6px 16px 12px}.property-carousel .carousel-arrows{top:40%}

/* Gold photo frames: preserve full photographs and responsive sizing. */
.carousel-slide img,.property>img{border:4px solid #b89a60;padding:0;background:var(--paper);box-shadow:0 6px 20px #142c3510}

/* Slim header banner: trim background above and below the centered wordmark. */
header .brand{width:460px;max-width:100%;flex-shrink:1}header .brand .company-logo{width:100%;height:auto;aspect-ratio:4096/693;object-fit:cover;object-position:center;display:block}header nav{flex-shrink:0}@media(max-width:900px){header .brand{width:380px}}@media(max-width:640px){header .brand{width:100%}header{gap:18px}}

/* Align the banner with the left endpoint of the header divider on every page. */
header{padding-left:0}

/* Continuous ink-blue banner with ivory navigation on every page. */
header{background:#0d2b36;padding:0 5% 0 0;border-bottom:1px solid #b89a60;gap:24px}
header .brand{flex-shrink:1}
header .brand .company-logo{mask-image:linear-gradient(to right,#000 85%,transparent);-webkit-mask-image:linear-gradient(to right,#000 85%,transparent)}
header nav{color:var(--paper);gap:35px;align-self:center}
header nav a{color:var(--paper);padding:14px 0}
header nav a[aria-current="page"]{text-decoration-color:#b89a60;text-decoration-thickness:2px}
header nav a:focus-visible{outline-color:var(--paper)}
@media(max-width:900px){header nav{gap:20px}}
@media(max-width:640px){header{padding:0;gap:0;align-items:stretch}header .brand{width:100%}header nav{width:100%;padding:0 6% 8px;gap:12px;justify-content:space-between}}

/* Larger, readable navigation throughout the site. */
header nav{font-size:17px}@media(max-width:640px){header nav{font-size:15px}}

/* Crisp vector branding: original symbol traced, opaque brand colors. */
header{background:#142c35;position:relative;isolation:isolate}
header .brand .company-logo{aspect-ratio:460/78;object-fit:contain;mask-image:none;-webkit-mask-image:none}
header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("assets/header-gold-lines.svg") right center/360px 100% no-repeat}

.property-facts .property-fact-wide{grid-column:1 / -1}

/* Gold diamond markers for all hotel amenities and property facts. */
ul.property-facts{list-style:none;margin:0;padding:20px 0}
.property-facts li{position:relative;padding-left:16px;min-width:0}
.property-facts li::before{content:"";position:absolute;left:1px;top:.55em;width:5px;height:5px;background:#B89A60;transform:rotate(45deg)}

/* Employee access and a centered portal link. */
header nav a.employees-tab{white-space:nowrap}
.employees-main{display:flex;align-items:center;justify-content:center}
.employee-portal{width:100%;min-height:55vh;display:flex;align-items:center;justify-content:center;text-align:center}
.employee-portal-button{display:inline-flex;align-items:center;justify-content:center;min-height:100px;width:420px;max-width:100%;padding:26px 32px;border:3px solid #B89A60;background:var(--ink);color:var(--paper);font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4vw,38px);line-height:1.2;box-shadow:0 6px 20px #142c3510}
.employee-portal-button:hover{background:#294854;text-decoration:none}
@media(max-width:760px){header{flex-direction:column;padding:0;gap:0;align-items:stretch}header .brand{width:460px;max-width:100%}header nav{width:100%;padding:0 5% 12px;gap:10px 16px;justify-content:center;flex-wrap:wrap}}

/* Ivory separator keeps employee access distinct in the navigation. */
header nav .employees-nav-group{display:inline-flex;align-items:center;gap:20px;margin-left:-15px;white-space:nowrap}
header nav .nav-separator{color:var(--paper);font-weight:700}
@media(max-width:900px){header nav .employees-nav-group{gap:20px;margin-left:0}}
@media(max-width:760px){header nav .employees-nav-group{gap:16px}}
