:root{--navy:#1f2a36;--brass:#a8742a;--ivory:#f7f2ea;--linen:#ece4d6;--char:#3a3a38}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:300 17px/1.65 Jost,system-ui,sans-serif;color:var(--char);background:var(--ivory)}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.1;color:var(--navy);margin:.2em 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.6rem);color:var(--ivory)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:1.6rem}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:500;color:var(--brass);margin:0}
.center{text-align:center}.narrow{max-width:640px;margin:0 auto 2.5rem}.small{font-size:.85rem;opacity:.8}
.btn{display:inline-block;padding:.95em 1.8em;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font:500 .8rem Jost,sans-serif;border:1px solid transparent;cursor:pointer;transition:.2s}
.btn-brass{background:var(--brass);color:#fff}.btn-brass:hover{background:#8f6222}
.btn-outline{border-color:var(--ivory);color:var(--ivory)}.btn-outline:hover{background:var(--ivory);color:var(--navy)}
.btn-navy{background:var(--navy);color:var(--ivory)}.btn-sm{padding:.75em 1.3em}
.site-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:2rem;padding:1.2rem 4vw;background:linear-gradient(rgba(31,42,54,.85),rgba(31,42,54,0))}
.logo img{height:64px;width:auto}
.nav{display:flex;gap:1.8rem;margin-left:auto}.nav a{color:var(--ivory);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:400}
.menu-toggle{display:none;background:none;border:0;color:var(--ivory);font-size:1.6rem}
.hero{min-height:92vh;background:center/cover no-repeat;position:relative;display:flex;align-items:flex-end}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,42,54,.82) 0%,rgba(31,42,54,.45) 45%,rgba(31,42,54,.05) 75%)}
.hero-inner{position:relative;max-width:640px;padding:0 4vw 11vh;color:var(--ivory)}
.hero .lead{font-size:1.15rem;margin:0 0 2rem}.cta-row{display:flex;gap:1rem;flex-wrap:wrap}
.hero-caption{position:absolute;right:4vw;bottom:2rem;margin:0;color:var(--ivory);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;opacity:.85}
.section{padding:6rem 4vw}.band{padding:6rem 4vw}.linen{background:var(--linen)}.ivory-dark{background:#efe8dc}
.navy{background:var(--navy);color:var(--ivory)}.navy h2,.navy h3{color:var(--ivory)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.5rem}
.tile{position:relative;overflow:hidden;aspect-ratio:3/4;text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.2rem 1.2rem;background:linear-gradient(transparent,rgba(31,42,54,.85));color:var(--ivory);font:500 1.6rem "Cormorant Garamond",serif}
.split{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;max-width:1200px;margin:0 auto}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover}.split.reverse img{order:2}
.checks{list-style:none;padding:0;margin:1.5rem 0}.checks li{padding:.5rem 0 .5rem 1.6rem;position:relative;border-bottom:1px solid rgba(58,58,56,.12)}
.checks li:before{content:"";position:absolute;left:0;top:1.05rem;width:.7rem;height:1px;background:var(--brass)}
.feature-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;max-width:1300px;margin:0 auto}
.feature-grid img{width:100%;height:560px;object-fit:cover}
.projects{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1300px;margin:3rem auto 0}
.projects figure{margin:0}.projects img{aspect-ratio:3/2;object-fit:cover;width:100%}
.projects figcaption{font:500 1.15rem "Cormorant Garamond",serif;color:var(--navy);padding-top:.5rem}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;max-width:1200px;margin:3rem auto 0}
.steps span{color:var(--brass);font:500 .85rem Jost;letter-spacing:.2em}.steps p{opacity:.85;font-size:.95rem}
.narrow-wrap{max-width:760px;margin:0 auto}
.placeholder-tag{display:inline-block;background:#fff3cd;color:#7a5a00;border:1px dashed #c9a227;padding:.3rem .7rem;font-size:.75rem;letter-spacing:.08em;font-weight:500}
.center-tag{display:table;margin:0 auto 2rem}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1000px;margin:0 auto}
blockquote{margin:0;font:400 1.6rem/1.35 "Cormorant Garamond",serif;color:var(--navy)}cite{display:block;margin-top:.8rem;font:400 .85rem Jost;letter-spacing:.1em;color:var(--char)}
.qform{max-width:860px;margin:2.5rem auto 0;background:#fff;padding:2.5rem;border:1px solid var(--linen)}
.qform label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;margin-bottom:1rem}
.qform input,.qform select,.qform textarea{font:300 1rem Jost;padding:.7rem;border:1px solid #cfc6b6;background:var(--ivory);color:var(--char)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.who{border:0;padding:0;margin:0 0 1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.who legend{font:500 1.4rem "Cormorant Garamond";color:var(--navy);margin-bottom:.6rem}
.who label{flex-direction:row;align-items:center;border:1px solid #cfc6b6;padding:.7rem 1.1rem;margin:0;cursor:pointer}
.file small{font-weight:300;opacity:.7}
.site-footer{background:var(--navy);color:var(--ivory);padding:4rem 4vw 2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;font-size:.95rem}
.flogo{height:90px;width:auto}.copy{grid-column:1/-1;opacity:.6;font-size:.8rem;border-top:1px solid rgba(247,242,234,.15);padding-top:1.5rem}
@media(max-width:900px){
 .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--navy);padding:1.5rem 4vw}.nav.open{display:flex}
 .menu-toggle{display:block;margin-left:auto}.site-header .btn-sm{display:none}.logo img{height:52px}
 .tiles,.projects{grid-template-columns:1fr 1fr}.split,.quotes,.grid2,.site-footer{grid-template-columns:1fr}.split.reverse img{order:0}
 .feature-grid{grid-template-columns:1fr 1fr}.feature-grid img:first-child{grid-column:1/-1}.feature-grid img{height:320px}
 .steps{grid-template-columns:1fr}.section,.band{padding:4rem 5vw}.qform{padding:1.5rem}
 .hero{min-height:88vh}.hero-inner{padding-bottom:6rem}.hero:before{background:linear-gradient(0deg,rgba(31,42,54,.9) 10%,rgba(31,42,54,.3) 70%)}
}
.hero .eyebrow{color:#d9b06a;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rooms{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-content:flex-start}.rooms legend{font-size:.85rem;font-weight:500;margin-bottom:.4rem}
.rooms label{flex-direction:row;align-items:center;font-weight:300;margin:0;gap:.35rem}
.qform input,.qform select,.qform textarea{width:100%;min-width:0}.grid2>*{min-width:0}.rooms input{width:auto}
.who input{width:auto}
