:root{
  --brand:#818263;
  --brand-dark:#5a5b44;
  --brand-deep:#333423;
  --brand-deeper:#252617;
  --brand-mid:#6b6c52;
  --brand-light:#a8a98c;
  --brand-pale:#d4d5bc;
  --brand-faint:#eceee3;
  --cream:#f5ede0;
  --parchment:#ede0cc;
  --warm-white:#faf8f2;
  --stone:#9a9587;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--brand-deep);color:var(--cream);font-family:"Jost",sans-serif;font-weight:300;overflow-x:hidden;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 3rem;display:flex;align-items:center;justify-content:space-between;background:rgba(37,38,23,.96);transition:background .4s,box-shadow .4s;}
nav.scrolled{box-shadow:0 1px 0 rgba(129,130,99,.25);}
/* Text-based nav logo using same font treatment */
.nav-logo{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.nav-logo-main{font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:700;color:var(--warm-white);letter-spacing:.01em;line-height:1;}
.nav-logo-sub{font-family:"Jost",sans-serif;font-size:.45rem;font-weight:300;letter-spacing:.38em;text-transform:uppercase;color:var(--brand-light);margin-top:.18rem;}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{color:var(--brand-pale);text-decoration:none;font-size:.75rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--warm-white);}
.nav-cta{border:1px solid var(--brand-light)!important;color:var(--brand-pale)!important;padding:.38rem 1.1rem;transition:background .2s,color .2s!important;}
.nav-cta:hover{background:var(--brand)!important;color:var(--warm-white)!important;}

/* ── HERO — solid brand colour, pure text ── */
.hero{
  min-height:100vh;
  background:var(--brand);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
/* noise texture */
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.055;pointer-events:none;
}
/* decorative rings */
.hero-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.hero-ring-1{width:min(640px,82vw);height:min(640px,82vw);}
.hero-ring-2{width:min(800px,95vw);height:min(800px,95vw);border-color:rgba(255,255,255,.05);}

.hero-content{
  position:relative;
  text-align:center;
  padding:2rem 1.5rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  animation:fadeUp 1s ease-out both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

/* The main brand name — Playfair Display as Tan Ashford substitute */
.hero-brand{
  font-family:"Playfair Display",serif;
  font-size:clamp(4.5rem, 14vw, 11rem);
  font-weight:700;
  color:#fff;
  line-height:.92;
  letter-spacing:-.02em;
  margin-bottom:.15em;
  /* sharpen rendering */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.hero-brand .amp{
  font-style:italic;
  font-weight:400;
  color:rgba(255,255,255,.75);
  letter-spacing:-.01em;
}

/* VINTAGE INTERIORS — spaced caps, Jost as Helvetica Now */
.hero-sub{
  font-family:"Jost",sans-serif;
  font-size:clamp(.7rem, 1.8vw, 1rem);
  font-weight:300;
  letter-spacing:.45em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
  margin-bottom:3rem;
  /* nudge left to optically centre the spaced text */
  padding-left:.45em;
}

.hero-rule{
  width:1px;height:48px;
  background:rgba(255,255,255,.22);
  margin:0 auto 2.2rem;
}

.hero-badges{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.hero-badge{font-family:"Jost",sans-serif;font-size:.65rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.18);padding:.35rem .95rem;}

.hero-cta-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-primary{display:inline-block;background:var(--brand-deep);color:var(--warm-white);padding:.9rem 2.4rem;text-decoration:none;font-family:"Jost",sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;transition:background .25s,transform .18s;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--brand-deeper);transform:translateY(-2px);}
.btn-outline-light{display:inline-block;background:transparent;color:rgba(255,255,255,.82);padding:.9rem 2.4rem;text-decoration:none;font-family:"Jost",sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(255,255,255,.32);transition:border-color .2s,color .2s;cursor:pointer;}
.btn-outline-light:hover{border-color:rgba(255,255,255,.75);color:#fff;}
.btn-outline{display:inline-block;background:transparent;color:var(--cream);padding:.9rem 2.4rem;text-decoration:none;font-family:"Jost",sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(245,237,224,.38);transition:border-color .2s,color .2s;cursor:pointer;}
.btn-outline:hover{border-color:var(--brand-light);color:var(--brand-pale);}

.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.28);font-family:"Jost",sans-serif;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;animation:fadeUp 2s 1.1s ease-out both;}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:.8;}}

/* ── SHARED ── */
.section-label{font-family:"Jost",sans-serif;font-size:.63rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brand-light);margin-bottom:1rem;display:block;}
.section-title{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4.8vw,3.4rem);font-weight:700;line-height:1.1;color:var(--warm-white);margin-bottom:1.5rem;-webkit-font-smoothing:antialiased;}
.section-title em{font-style:italic;font-weight:400;color:var(--brand-pale);}
.section-body{font-family:"Jost",sans-serif;font-size:.93rem;line-height:1.88;color:var(--parchment);max-width:54ch;opacity:.8;}

/* ── ABOUT ── */
.about{background:var(--brand-deep);padding:7rem 3rem;}
.about-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-image-stack{position:relative;height:580px;}
.about-img{position:absolute;object-fit:cover;}
.about-img-1{width:72%;height:74%;top:0;left:0;border:3px solid rgba(129,130,99,.2);}
.about-img-2{width:56%;height:54%;bottom:0;right:0;border:3px solid rgba(129,130,99,.15);}
.about-accent{position:absolute;width:110px;height:110px;border:1px solid rgba(129,130,99,.22);top:50%;left:36%;transform:translate(-50%,-50%) rotate(12deg);pointer-events:none;}
.about-circle-logo{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;object-fit:contain;opacity:.15;pointer-events:none;}
.about-divider{width:55px;height:1px;background:var(--brand);margin:2rem 0;opacity:.7;}
.pillars{margin-top:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.pillar{border-left:2px solid rgba(129,130,99,.32);padding-left:1rem;}
.pillar-title{font-family:"Playfair Display",serif;font-size:1rem;font-weight:700;color:var(--brand-pale);margin-bottom:.3rem;}
.pillar-body{font-family:"Jost",sans-serif;font-size:.82rem;color:var(--stone);line-height:1.65;}

/* ── OFFER ── */
.offer{background:#2d2e1e;padding:6rem 3rem;}
.offer-inner{max-width:1200px;margin:0 auto;}
.offer-header{text-align:center;margin-bottom:4rem;}
.offer-header .section-body{margin:0 auto;text-align:center;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(129,130,99,.1);}
.offer-card{background:#2d2e1e;overflow:hidden;position:relative;transition:background .3s;}
.offer-card-img{width:100%;height:200px;object-fit:cover;display:block;filter:brightness(.82) saturate(.85);transition:filter .4s,transform .5s;}
.offer-card:hover .offer-card-img{filter:brightness(.95) saturate(1);transform:scale(1.03);}
.offer-card-body{padding:1.6rem 1.8rem 2rem;}
.offer-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--brand),transparent);opacity:0;transition:opacity .3s;z-index:1;}
.offer-card:hover{background:#363728;}
.offer-card:hover::before{opacity:1;}
.offer-icon{font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--brand-light);opacity:.65;margin-bottom:.6rem;display:block;}
.offer-card h3{font-family:"Playfair Display",serif;font-size:1.12rem;font-weight:700;color:var(--warm-white);margin-bottom:.55rem;}
.offer-card p{font-family:"Jost",sans-serif;font-size:.83rem;color:var(--stone);line-height:1.7;}

/* ── MARKETS ── */
.markets{background:var(--brand-dark);padding:7rem 3rem;position:relative;overflow:hidden;}
.markets::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03' fill-rule='evenodd'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");}
.markets-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;position:relative;}
.markets-text .section-title{color:var(--warm-white);}
.markets-text .section-body{color:rgba(250,248,242,.75);}
.venues-list{margin-top:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}
.venue-item{display:flex;align-items:center;gap:.6rem;font-family:"Jost",sans-serif;font-size:.82rem;color:var(--brand-pale);letter-spacing:.04em;}
.venue-dot{width:4px;height:4px;background:var(--brand-pale);border-radius:50%;flex-shrink:0;}
.markets-callout{background:rgba(37,38,23,.55);border:1px solid rgba(129,130,99,.28);padding:3rem;}
.callout-title{font-family:"Playfair Display",serif;font-size:1.75rem;font-weight:700;color:var(--warm-white);margin-bottom:1.2rem;line-height:1.2;}
.callout-title em{font-style:italic;font-weight:400;color:var(--brand-pale);}
.callout-body{font-family:"Jost",sans-serif;font-size:.87rem;color:rgba(250,248,242,.68);line-height:1.82;margin-bottom:1.5rem;}
.season-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;}
.season-tag{font-family:"Jost",sans-serif;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .8rem;border:1px solid rgba(168,169,140,.35);color:var(--brand-pale);}

/* ── GALLERY ── */
.gallery{background:var(--brand-deep);padding:6rem 3rem;}
.gallery-inner{max-width:1200px;margin:0 auto;}
.gallery-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:290px 290px;gap:4px;}
.g-wide{grid-column:span 2;grid-row:span 2;}
.gallery-item{overflow:hidden;position:relative;}
.gallery-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(.85);transition:transform .6s ease,filter .4s;display:block;}
.gallery-item:hover img{transform:scale(1.05);filter:brightness(.98) saturate(1);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(37,38,23,.5) 0%,transparent 55%);opacity:0;transition:opacity .3s;}
.gallery-item:hover .gallery-overlay{opacity:1;}

/* ── FIND US ── */
.find-us{background:#2d2e1e;padding:6rem 3rem;}
.find-us-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.location-card{border:1px solid rgba(129,130,99,.22);padding:2.5rem;position:relative;}
.location-card::before{content:"Our Home";position:absolute;top:-.6rem;left:1.5rem;background:#2d2e1e;padding:0 .5rem;font-family:"Jost",sans-serif;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brand-light);}
.location-name{font-family:"Playfair Display",serif;font-size:1.55rem;font-weight:700;color:var(--warm-white);margin-bottom:.5rem;}
.location-detail{font-family:"Jost",sans-serif;font-size:.83rem;color:var(--stone);line-height:1.8;margin-bottom:1.5rem;}
.location-address{font-family:"Jost",sans-serif;font-size:.81rem;color:var(--brand-pale);letter-spacing:.04em;line-height:1.75;border-left:2px solid rgba(129,130,99,.38);padding-left:1rem;margin-bottom:1.8rem;}
.find-info-box{border:1px solid rgba(129,130,99,.16);padding:2.2rem;margin-bottom:1.5rem;}
.find-info-title{font-family:"Playfair Display",serif;font-size:1.08rem;font-weight:700;color:var(--brand-pale);margin-bottom:.7rem;}
.find-info-body{font-family:"Jost",sans-serif;font-size:.83rem;color:var(--stone);line-height:1.75;}

/* ── CONNECT ── */
.connect-top{background:var(--brand);padding:5.5rem 3rem;position:relative;overflow:hidden;}
.connect-top::before{content:"";position:absolute;top:-90px;left:-90px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none;}
.connect-top::after{content:"";position:absolute;bottom:-110px;right:-70px;width:320px;height:320px;border-radius:50%;background:rgba(37,38,23,.15);pointer-events:none;}
.connect-top-inner{max-width:1100px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.connect-headline{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4.2vw,3.1rem);font-weight:700;color:var(--warm-white);margin-bottom:1rem;line-height:1.12;-webkit-font-smoothing:antialiased;}
.connect-headline em{font-style:italic;font-weight:400;color:rgba(255,255,255,.65);}
.connect-sub{font-family:"Jost",sans-serif;color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.85;margin-bottom:2rem;}
.insta-block{display:flex;align-items:center;gap:1.2rem;background:rgba(37,38,23,.22);border:1px solid rgba(255,255,255,.14);padding:1.3rem 1.6rem;margin-bottom:1.5rem;text-decoration:none;transition:background .2s;}
.insta-block:hover{background:rgba(37,38,23,.42);}
.insta-logo{width:42px;height:42px;object-fit:contain;flex-shrink:0;}
.insta-handle{font-family:"Jost",sans-serif;font-size:1rem;font-weight:500;color:var(--warm-white);letter-spacing:.04em;display:block;}
.insta-cta{font-family:"Jost",sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-top:.2rem;}
.email-signup-label{font-family:"Jost",sans-serif;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.48);margin-bottom:.7rem;display:block;}
.email-form{display:flex;}
.email-form input{flex:1;padding:.85rem 1.1rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-right:none;color:#fff;font-family:"Jost",sans-serif;font-size:.83rem;outline:none;min-width:0;}
.email-form input::placeholder{color:rgba(255,255,255,.3);}
.email-form input:focus{background:rgba(255,255,255,.14);}
.email-form button{padding:.85rem 1.4rem;background:var(--brand-deep);border:1px solid var(--brand-deep);color:var(--brand-pale);font-family:"Jost",sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;}
.email-form button:hover{background:var(--brand-deeper);}
.signup-msg{font-family:"Jost",sans-serif;font-size:.77rem;color:rgba(255,255,255,.68);min-height:1.2em;margin-top:.6rem;}
.connect-form-title{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:700;color:var(--warm-white);margin-bottom:.4rem;}
.connect-form-sub{font-family:"Jost",sans-serif;font-size:.82rem;color:rgba(255,255,255,.58);margin-bottom:1.8rem;line-height:1.72;}
.contact-form{display:flex;flex-direction:column;gap:.8rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
.form-field{display:flex;flex-direction:column;gap:.3rem;}
.form-field label{font-family:"Jost",sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42);}
.form-field input,.form-field textarea,.form-field select{padding:.78rem 1rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-family:"Jost",sans-serif;font-size:.84rem;outline:none;transition:border-color .2s,background .2s;width:100%;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.12);}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(255,255,255,.26);}
.form-field select option{background:var(--brand-dark);color:var(--cream);}
.form-field textarea{resize:vertical;min-height:105px;}

/* ── FOOTER ── */
footer{background:var(--brand-deeper);padding:2rem 3rem;border-top:1px solid rgba(129,130,99,.14);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-brand{display:flex;flex-direction:column;line-height:1;}
.footer-brand-main{font-family:"Playfair Display",serif;font-size:.95rem;font-weight:700;color:rgba(212,213,188,.65);letter-spacing:.01em;}
.footer-brand-sub{font-family:"Jost",sans-serif;font-size:.38rem;font-weight:300;letter-spacing:.38em;text-transform:uppercase;color:rgba(168,169,140,.4);margin-top:.15rem;}
.footer-copy{font-family:"Jost",sans-serif;font-size:.68rem;color:var(--stone);letter-spacing:.07em;}
.footer-links{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;}
.footer-links a{font-family:"Jost",sans-serif;font-size:.68rem;color:var(--stone);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;}
.footer-links a:hover{color:var(--brand-pale);}
.footer-rfw{font-family:"Jost",sans-serif;font-size:.63rem;color:rgba(154,149,135,.35);letter-spacing:.06em;}
.footer-rfw a{color:rgba(154,149,135,.35);text-decoration:none;transition:color .2s;}
.footer-rfw a:hover{color:var(--stone);}

/* ── RESPONSIVE ── */
@media(max-width:960px){
.about-inner,.markets-inner,.find-us-inner,.connect-top-inner{grid-template-columns:1fr;gap:3rem;}
.about-image-stack{height:400px;}
.offer-grid{grid-template-columns:1fr 1fr;}
.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,220px);}
.g-wide{grid-column:span 2;grid-row:span 1;}
.nav-links{display:none;}
.venues-list{grid-template-columns:1fr;}
.form-row{grid-template-columns:1fr;}
}
@media(max-width:580px){
nav{padding:1rem 1.4rem;}
.offer-grid{grid-template-columns:1fr;}
.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,170px);}
.email-form{flex-direction:column;}
.email-form input{border-right:1px solid rgba(255,255,255,.2);border-bottom:none;}
.pillars{grid-template-columns:1fr;}
footer{flex-direction:column;text-align:center;}
.hero-brand{font-size:clamp(3.2rem,18vw,6rem);}
}
