:root{
  --black:#000;
  --charcoal:#292d2d;
  --cream:#f7f0dd;
  --white:#fff;
  --gold:#f8b916;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--charcoal)}
body{margin:0;color:var(--cream);font-family:Bitter, Georgia, serif;background:var(--charcoal)}
a{color:inherit;text-decoration:none}
.site-header{height:126px;background:#000;display:flex;align-items:center;justify-content:space-between;padding:0 3.9vw;position:relative;z-index:10}
.brand img{display:block;width:134px;height:auto}
.desktop-nav{display:flex;gap:35px;align-items:center;font-size:18px;line-height:1;color:#fff}
.desktop-nav a{transition:opacity .2s ease}.desktop-nav a:hover{opacity:.68}
.menu-button{display:none;background:transparent;border:1px solid rgba(255,255,255,.55);border-radius:5px;width:38px;height:32px;padding:7px}.menu-button span{display:block;height:1px;background:#fff;margin:5px 0}
.hero{min-height:calc(100vh - 126px);position:relative;background-image:url('assets/hero.jpg');background-size:cover;background-position:center center;display:grid;place-items:center;text-align:center;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.38)}
.hero-content{position:relative;z-index:1;transform:translateY(-5px);padding:5vw 4vw;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.18)}
h1,h2{font-family:Shrikhand, Georgia, serif;font-weight:400;margin:0;letter-spacing:.01em;color:var(--cream)}
.hero h1{font-size:clamp(50px,5.9vw,91px);line-height:1.05;margin-bottom:42px}
.hero p{font-family:Shrikhand, Georgia, serif;font-size:clamp(27px,2.7vw,45px);line-height:1.1;margin:0 0 33px;color:#fff}.hero .est{font-size:clamp(21px,2vw,33px);margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 25px;border:1px solid rgba(255,255,255,.58);text-transform:uppercase;font-size:16px;color:#fff;background:rgba(40,40,40,.18);transition:background .2s ease,border-color .2s ease}.button:hover{background:rgba(255,255,255,.12);border-color:#fff}
.about{min-height:540px;background:var(--charcoal);display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw;align-items:start;padding:96px 4.6vw 90px 4.6vw;color:#fff}.about h2{font-size:clamp(58px,6vw,90px);line-height:.98;color:var(--cream);white-space:nowrap}.about-copy{font-size:18px;line-height:1.48;color:#fff;max-width:460px}.about-copy p{margin:0}.about-copy-two{max-width:520px}.photo-band{height:68vh;min-height:560px;background-size:cover;background-position:center center}.photo-band-one{background-image:url('assets/drift-two.jpg')}.statement{background:#000;color:#fff;display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:7vw;align-items:center;padding:88px 5vw}.statement-logo{width:min(520px,100%);height:auto}.statement h2{font-size:clamp(42px,5vw,82px);line-height:1.05;margin-bottom:20px}.statement p{font-size:21px;line-height:1.45;margin:0;max-width:620px}.gallery{display:grid;grid-template-columns:1fr 1fr;background:#000}.gallery img{width:100%;height:66vh;min-height:520px;object-fit:cover;display:block}.site-footer{background:#000;color:#fff;min-height:190px;display:flex;align-items:center;justify-content:space-between;padding:44px 4vw;font-size:15px}.site-footer img{width:120px;height:auto}
.page-shell{min-height:calc(100vh - 126px);background:var(--charcoal);padding:96px 4.6vw;color:#fff}.page-shell h1{font-size:clamp(62px,8vw,120px);line-height:1;margin-bottom:46px}.page-placeholder{font-size:20px;line-height:1.5;max-width:620px}.contact-page{display:grid;grid-template-columns:minmax(300px,650px) minmax(320px,650px);gap:7vw;align-items:start}.contact-intro p{font-size:19px;line-height:1.55;margin:0 0 22px;max-width:650px}.contact-intro a{text-decoration:underline;text-underline-offset:3px}.contact-form{width:100%;max-width:640px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:22px}.field label{display:block;font-size:15px;margin-bottom:9px;color:#fff}.required{opacity:.85}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-family:Bitter, Georgia, serif;font-size:16px;padding:14px 13px;border-radius:0;outline:none}.field input:focus,.field textarea:focus{border-color:#fff}.field textarea{min-height:155px;resize:vertical}.submit-btn{appearance:none;border:1px solid rgba(255,255,255,.75);background:#fff;color:#000;font-family:Bitter, Georgia, serif;font-size:16px;padding:15px 31px;cursor:pointer}.submit-btn:hover{background:var(--cream)}.form-note{display:none;margin-top:20px;font-size:17px}.form-note.is-visible{display:block}
@media (max-width:900px){.site-header{height:95px;padding:0 24px}.brand img{width:104px}.desktop-nav{display:none}.menu-button{display:block}.hero{min-height:calc(100vh - 95px);background-position:62% center}.about{grid-template-columns:1fr;gap:30px;padding:70px 28px}.about h2{white-space:normal}.about-copy{font-size:17px;max-width:none}.statement{grid-template-columns:1fr;padding:65px 28px}.gallery{grid-template-columns:1fr}.gallery img{height:auto;min-height:0}.photo-band{height:55vh;min-height:420px}.site-footer{display:block}.site-footer p{margin-top:24px}.page-shell{min-height:calc(100vh - 95px);padding:70px 28px}.contact-page{grid-template-columns:1fr;gap:42px}.form-row{grid-template-columns:1fr}}
.blog-hero {
  background: #292d2d;
  color: #fff;
  min-height: 430px;
  display: flex;
  align-items: end;
  padding: 110px 4.6vw 70px;
}

.blog-hero h1 {
  font-family: Shrikhand, Georgia, serif;
  font-size: clamp(72px, 9vw, 140px);
  line-height: 0.95;
  margin: 0;
  color: var(--cream);
}

.eyebrow,
.post-meta {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f8b916;
  margin: 0 0 18px;
}

.blog-intro {
  max-width: 620px;
  font-size: 22px;
  line-height: 1.45;
  margin: 24px 0 0;
}

.blog-layout {
  background: #000;
  padding: 80px 4.6vw 100px;
}

.featured-post {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 54px;
  align-items: center;
  margin-bottom: 80px;
}

.post-image {
  min-height: 520px;
}

.placeholder-image {
  background:
    linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)),
    url("assets/drift-two.jpg") center / cover no-repeat;
}

.post-content h2,
.blog-card h3 {
  font-family: Shrikhand, Georgia, serif;
  font-weight: 400;
  color: var(--cream);
  margin: 0 0 20px;
}

.post-content h2 {
  font-size: clamp(44px, 5vw, 82px);
  line-height: 1.02;
}

.post-content p,
.blog-card p {
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
}

.read-more {
  display: inline-block;
  margin-top: 18px;
  border-bottom: 1px solid #f8b916;
  color: #f8b916;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: .08em;
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.blog-card {
  background: #292d2d;
  padding-bottom: 30px;
}

.card-image {
  height: 310px;
  margin-bottom: 28px;
}

.blog-card h3,
.blog-card p,
.blog-card .post-meta,
.blog-card .read-more {
  margin-left: 28px;
  margin-right: 28px;
}

.blog-card h3 {
  font-size: 34px;
  line-height: 1.1;
}

@media (max-width: 900px) {
  .featured-post,
  .post-grid {
    grid-template-columns: 1fr;
  }

  .post-image {
    min-height: 360px;
  }

  .blog-layout {
    padding: 55px 28px 80px;
  }
}

@media (max-width:900px){
  .desktop-nav.is-open{
    display:flex;
    position:absolute;
    top:95px;
    left:0;
    right:0;
    background:#000;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:18px 24px 24px;
    border-top:1px solid rgba(255,255,255,.18);
  }

  .desktop-nav.is-open a{
    width:100%;
    padding:14px 0;
    font-size:18px;
  }
}
