:root{--blue:#23479F;--blue-deep:#1A356F;--brown:#6B4F25;--tan:#C9A76A;--tan-soft:#DCC392;--paper:#F4EFE3;--cream:#FBF6E9;--slate:#2A3548;--slate-mute:#6B7686;--line-paper:rgba(107,79,37,.22);--white:#FFFFFF;--ivory:#ECE2C9}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{font-family:'Inter','Poppins',sans-serif;color:var(--slate);background:#FFFFFF;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* NAV — canonical block */
.top{position:sticky;top:0;z-index:100;background:rgba(35,71,159,.97);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-paper)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1500px;margin:0 auto;padding:14px 38px;gap:36px}
.logo-wrap{display:flex;align-items:center}
.logo-img{height:46px;width:auto;display:block}
.nav-items{display:flex;list-style:none;gap:30px;flex:1;justify-content:center;margin:0;padding:0}
.nav-items > li{position:relative;padding:14px 0}
.nav-items a.nav-top-link{font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--paper);text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:color .2s}
.nav-items a.nav-top-link:hover{color:var(--tan)}
.nav-items a.nav-top-link .caret{display:inline-block;font-size:8px;color:var(--blue);transform:translateY(1px);opacity:.7}
.nav-dd{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);background:#FFFFFF;border:1px solid var(--line-paper);border-top:2px solid var(--brown);padding:24px 30px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:60;box-shadow:0 30px 60px rgba(8,22,50,.30)}
.nav-items > li:hover .nav-dd{opacity:1;pointer-events:auto;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-dd::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#FFFFFF;border-top:1px solid var(--line-paper);border-left:1px solid var(--line-paper)}
.nav-dd-cols{display:grid;gap:28px}
.nav-dd.cols-1 .nav-dd-cols{grid-template-columns:1fr;min-width:280px}
.nav-dd.cols-2 .nav-dd-cols{grid-template-columns:1fr 1fr;min-width:520px}
.nav-dd-col h6{font-family:'Poppins',sans-serif;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--brown);font-weight:600;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line-paper)}
.nav-dd-col ul{list-style:none;padding:0;margin:0}
.nav-dd-col ul li{padding:0;margin:0}
.nav-dd-col ul li a{display:block;padding:8px 0;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--slate);font-weight:400;line-height:1.35;text-decoration:none;transition:color .15s,padding .15s}
.nav-dd-col ul li a:hover{color:var(--blue);padding-left:4px}
.nav-dd-col ul li.with-num a{display:flex;gap:12px;align-items:baseline}
.nav-dd-col ul li.with-num a .ddnum{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--brown);font-size:18px;min-width:24px}
.nav-cta{font-family:'Poppins',sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:4px;font-weight:600}
.nav-cta:hover{color:var(--tan);border-color:var(--tan)}
@media (max-width:900px){.nav-items{display:none}}

/* HERO */
.page-hero{background:linear-gradient(180deg,var(--blue) 0%,var(--blue-deep) 100%);color:var(--paper);padding:84px 38px 80px;border-bottom:1px solid var(--brown)}
.page-hero-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}
.page-hero .eyebrow{font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--tan);margin-bottom:22px;display:block}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:64px;line-height:1.05;letter-spacing:-.01em;font-weight:500;color:var(--paper)}
.page-hero h1 em{font-style:italic;color:var(--tan-soft)}
.page-hero .breadcrumb{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--tan-soft);margin-bottom:32px;display:block}
.page-hero .breadcrumb a{color:var(--tan-soft)}
.page-hero .right-rail{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;color:var(--tan-soft);line-height:1.45;border-left:2px solid var(--tan);padding-left:24px}

/* FILTERS */
.pf-shell{max-width:1500px;margin:0 auto;padding:48px 38px 24px}
.pf-facet-row{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:16px;align-items:end;background:#FFFFFF;border:1px solid var(--line-paper);padding:22px 24px;margin-bottom:36px}
.pf-dd{display:flex;flex-direction:column;gap:6px}
.pf-dd-label{font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--brown);font-weight:600}
.pf-dd-select{font-family:'Inter',sans-serif;font-size:13.5px;color:var(--slate);background:#fff;border:1px solid var(--line-paper);padding:10px 12px;font-weight:500;width:100%;cursor:pointer}
.pf-clear{background:transparent;border:1px solid var(--brown);color:var(--brown);font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;padding:11px 16px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.pf-clear:hover{background:var(--brown);color:var(--paper)}

/* RESULT GRID */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1500px;margin:0 auto;padding:0 38px 80px}
.pf-card{background:#fff;border:1px solid var(--line-paper);display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease}
.pf-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(8,22,50,.18)}
.pf-card-img{aspect-ratio:4/3;background-color:#cfd7e2;background-size:cover;background-position:center;position:relative}
/* Jen's edit 2026-06-11 - gradient overlay removed from project photos */
.pf-card-img::after{display:none}
.pf-card-cat{position:absolute;top:14px;left:14px;background:var(--brown);color:var(--paper);padding:5px 10px;font-family:'Poppins',sans-serif;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;z-index:2}
.pf-card-body{padding:22px 24px 18px;border-top:1px solid var(--line-paper)}
.pf-card-ttl{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--blue);font-weight:500;line-height:1.15;margin-bottom:6px}
.pf-card-loc{font-family:'Inter',sans-serif;font-size:13px;color:var(--slate-mute);font-weight:500}
.pf-card-meta{display:flex;gap:18px;flex-wrap:wrap;padding:12px 24px;background:#FFFFFF;border-top:1px solid var(--line-paper);font-family:'Poppins',sans-serif;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brown);font-weight:600}
.pf-card-cta{display:flex;border-top:1px solid var(--line-paper)}
.pf-card-cta a{flex:1;text-align:center;padding:13px 12px;font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);font-weight:600;transition:all .2s;border-right:1px solid var(--line-paper)}
.pf-card-cta a:last-child{border-right:none}
.pf-card-cta a:hover{background:var(--blue);color:var(--paper)}

.pf-empty{grid-column:1/-1;text-align:center;padding:60px 30px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--brown)}

/* FOOTER + tail strip */
.pf-tail{background:#FFFFFF;padding:68px 38px;border-top:1px solid var(--line-paper)}
.pf-tail-inner{max-width:1100px;margin:0 auto;text-align:center}
.pf-tail-inner h3{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--blue);font-weight:500;margin-bottom:14px;line-height:1.15}
.pf-tail-inner h3 em{color:var(--brown);font-style:italic}
.pf-tail-inner p{font-family:'Inter',sans-serif;font-size:16px;color:var(--slate);max-width:600px;margin:0 auto 28px;line-height:1.6}
.btn{display:inline-block;font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;background:var(--blue);color:var(--paper);padding:14px 26px;border:1px solid var(--blue);transition:all .2s;font-weight:600;margin:0 6px}
.btn:hover{background:transparent;color:var(--blue)}
.btn.btn-ghost{background:transparent;color:var(--brown);border-color:var(--brown)}
.btn.btn-ghost:hover{background:var(--brown);color:var(--paper)}

footer{background:#FFFFFF;color:var(--slate);padding:60px 38px 36px;border-top:1px solid var(--line-paper)}
.foot-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(6,1fr);gap:26px}
.foot-brand img{height:42px;margin-bottom:18px}
.foot-addr{font-size:14px;color:var(--slate);max-width:300px;font-weight:400;margin-bottom:18px}
footer h5{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brown);font-weight:600;margin-bottom:14px}
footer ul{list-style:none}
footer ul li{padding:4px 0}
footer ul li a{font-family:'Inter',sans-serif;font-size:14px;color:var(--slate)}
footer ul li a:hover{color:var(--blue)}
.foot-bottom{max-width:1500px;margin:30px auto 0;padding-top:24px;border-top:1px solid var(--line-paper);display:flex;justify-content:space-between;font-family:'Poppins',sans-serif;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brown)}

@media (max-width:1100px){.pf-grid{grid-template-columns:repeat(2,1fr)}.pf-facet-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.pf-grid{grid-template-columns:1fr}.pf-facet-row{grid-template-columns:1fr}.page-hero-inner{grid-template-columns:1fr;gap:32px}.page-hero h1{font-size:44px}.foot-grid{grid-template-columns:1fr}.nav-items{display:none}}


.pf-main{max-width:1280px;margin:0 auto;padding:0 38px}
.pfx{padding:58px 0;border-bottom:1px solid var(--line-paper)}
.pfx:last-child{border-bottom:none}
.pfx-head{margin-bottom:26px}
.pfx-head .eyebrow{color:var(--brown);display:block;margin-bottom:12px;font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:600}
.pfx-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.4vw,48px);color:var(--blue);font-weight:500;line-height:1.04;letter-spacing:-.018em;margin:0}
.pfx-head h2 em{color:var(--brown);font-style:italic;display:block}
.pf-slrow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.baslider{position:relative;aspect-ratio:10/9;overflow:hidden;border-radius:6px;cursor:ew-resize;user-select:none;box-shadow:0 16px 40px rgba(8,16,40,.16);touch-action:none;border:1px solid var(--line-paper)}
.baslider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.baslider .ba-before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba-div{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.45);transform:translateX(-1px);pointer-events:none}
.ba-div::after{content:'';position:absolute;top:50%;left:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.4)}
.ba-div::before{content:'\276E\276F';position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);font-family:'Poppins',sans-serif;font-size:11px;color:var(--blue-deep);letter-spacing:2px;z-index:2}
.ba-lbl{position:absolute;bottom:12px;font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:3px;pointer-events:none;z-index:3}
.ba-b{left:12px;background:rgba(10,16,30,.62);color:#fff}.ba-a{right:12px;background:var(--tan);color:var(--blue-deep)}
.pf-slcap{margin-top:11px;font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--blue);font-weight:600}
.pf-slcap span{display:block;font-family:'Inter',sans-serif;font-size:13px;font-weight:300;color:var(--slate-mute);margin-top:2px}
.pf-roomgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pf-room{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;box-shadow:0 14px 34px rgba(8,16,40,.14)}
.pf-room img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.pf-room:hover img{transform:scale(1.04)}
.pf-room .rm-meta{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(0deg,rgba(8,16,40,.82),transparent);color:#fff}
.pf-room .rm-ttl{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600}
.pf-room .rm-desc{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:300;opacity:.92;margin-top:2px}
.pf-cs-intro{font-family:'Inter',sans-serif;font-size:16.5px;font-weight:300;line-height:1.64;color:var(--slate);max-width:760px;margin:0 0 28px}
.pf-cs-set{display:flex;flex-direction:column;gap:26px}
.pf-cs-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pf-cs-room{grid-column:1/-1;font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--blue);font-weight:600;margin-bottom:2px}
.pf-cs-pair figure{position:relative;margin:0;border-radius:6px;overflow:hidden;aspect-ratio:3/2}
.pf-cs-pair img{width:100%;height:100%;object-fit:cover;display:block}
.pf-cs-tag{position:absolute;left:10px;bottom:10px;font-family:'Poppins',sans-serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:3px}
.pf-cs-tag.b{background:rgba(10,16,30,.6);color:#fff}.pf-cs-tag.a{background:var(--tan);color:var(--blue-deep)}
.pf-cs-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line-paper)}
.pf-cs-scope div{font-family:'Inter',sans-serif;font-size:14.5px;color:var(--slate);line-height:1.5}
.pf-cs-scope div span{display:block;font-family:'Poppins',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brown);font-weight:600;margin-bottom:6px}
@media(max-width:860px){.pf-slrow,.pf-roomgrid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.pf-cs-scope{grid-template-columns:1fr}.pf-cs-pair{grid-template-columns:1fr 1fr}}
