
:root{
  --red:#b40000;
  --red-dark:#7e0000;
  --ink:#101010;
  --cream:#f7f4ef;
  --line:#ded9d1;
  --muted:#6e6a64;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.site-header{
  height:88px;padding:0 4vw;display:flex;align-items:center;gap:28px;
  position:sticky;top:0;z-index:20;background:rgba(10,10,10,.96);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)
}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.header-logo{
  width:62px;height:62px;object-fit:cover;border-radius:50%;
  background:#fff;border:2px solid #fff;display:block
}
.monogram{
  width:56px;height:56px;border:1px solid #fff;border-radius:50%;
  display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;
  letter-spacing:1px;color:#fff;background:var(--red)
}
.brand>span:last-child{display:flex;flex-direction:column;text-transform:uppercase;line-height:1}
.brand b{font-size:18px;letter-spacing:1.2px}
.brand em{font-size:18px;color:#ef2b2b;font-style:normal;font-weight:700}
nav{display:flex;gap:28px;margin-left:auto}
nav a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:1.5px;font-weight:700}
nav a:hover{color:#ef2b2b}
.header-cta{
  text-decoration:none;border:1px solid rgba(255,255,255,.4);
  padding:12px 16px;border-radius:2px;font-weight:700
}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.hero{height:680px;position:relative;overflow:hidden;background:#000}
.hero>img{width:100%;height:100%;object-fit:cover}
.hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.66) 42%,rgba(0,0,0,.14) 75%)
}
.hero-content{
  position:absolute;left:7vw;top:50%;transform:translateY(-50%);
  max-width:650px;color:#fff
}
.kicker{
  text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700;color:var(--red)
}
.hero .kicker{color:#ff4a4a}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
.hero h1{
  font-size:clamp(56px,7vw,96px);line-height:.92;margin:12px 0 22px;font-weight:500
}
.hero-content>p:not(.kicker){font-size:20px;line-height:1.55;max-width:590px}
.hero-buttons{display:flex;gap:12px;margin-top:30px}
.btn{padding:15px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:1.2px;font-size:12px;font-weight:800}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark)}
.btn-outline{border:1px solid #fff;color:#fff}
.signature-strip{
  max-width:1240px;margin:-38px auto 0;position:relative;z-index:4;
  display:grid;grid-template-columns:repeat(3,1fr);background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.16)
}
.signature-strip>div{display:flex;gap:18px;padding:27px 32px;border-right:1px solid var(--line)}
.signature-strip>div:last-child{border:0}
.signature-strip span{font-family:Georgia,serif;color:var(--red);font-size:28px}
.signature-strip p{margin:0;line-height:1.5}
.intro{
  display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;
  max-width:1220px;margin:auto;padding:110px 5vw
}
.intro h2,.section-head h2,.policy-band h2,.contact h2{
  font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.05;margin:10px 0 22px
}
.intro-copy>p:last-child{font-size:18px;color:var(--muted);line-height:1.75}
.logo-panel{background:var(--cream);padding:35px;display:grid;place-items:center}
.logo-panel img{width:min(100%,460px);display:block;border-radius:50%}
.rentals-section{padding:95px 4vw;background:var(--cream)}
.section-head{text-align:center;max-width:760px;margin:auto}
.section-head>p:last-child{color:var(--muted);line-height:1.6}
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:36px 0 42px}
.filter{
  border:1px solid #cfc9c0;background:transparent;padding:11px 16px;
  text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:800;cursor:pointer
}
.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rental-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1320px;margin:auto}
.rental-card{
  background:#fff;border:1px solid var(--line);transition:.25s;overflow:hidden
}
.rental-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.1)}
.rental-card.hidden{display:none}
.image-button{display:block;width:100%;height:285px;border:0;padding:0;background:#fff;cursor:zoom-in;overflow:hidden}
.image-button img{width:100%;height:100%;object-fit:contain;transition:.35s}
.rental-card:hover img{transform:scale(1.035)}
.rental-copy{padding:23px}
.card-topline{display:flex;justify-content:space-between;gap:12px;align-items:start}
.card-topline span{color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}
.card-topline strong{font-size:14px}
.rental-copy h3{font-size:26px;font-weight:500;margin:11px 0 12px}
.rental-copy p{color:var(--muted);line-height:1.55}
.rental-copy .detail{color:var(--ink);font-weight:700}
.rental-copy a{display:inline-block;margin-top:8px;color:var(--red);font-weight:800;text-decoration:none}
.policy-band{padding:90px 6vw;background:#111;color:#fff}
.policy-band>.kicker{color:#ff3a3a}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:35px auto 0}
.policy-grid article{padding:26px;border:1px solid #333;background:#171717}
.policy-grid h3{font-size:24px;font-weight:500}
.policy-grid p{color:#c9c9c9;line-height:1.65}
.contact{
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding:80px 7vw;background:var(--red);color:#fff
}
.contact .kicker{color:#111}
.contact h2{margin-bottom:15px}
.contact p{font-size:18px;line-height:1.7}
.contact-button{
  white-space:nowrap;border:1px solid #fff;padding:18px 28px;text-decoration:none;
  text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:800
}
footer{background:#080808;color:#aaa;display:flex;justify-content:space-between;align-items:center;padding:34px 5vw}
.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:700}
.footer-logo{
  width:48px;height:48px;object-fit:cover;border-radius:50%;
  background:#fff;border:1px solid #fff
}
.footer-brand .monogram{width:46px;height:46px}
.mobile-bar{display:none}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:50;display:none;align-items:center;justify-content:center;flex-direction:column;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:82vh;object-fit:contain;background:#fff}
.lightbox p{color:#fff;font-family:Georgia,serif;font-size:22px}
.close{position:absolute;right:24px;top:14px;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}
@media(max-width:980px){
  nav{display:none;position:absolute;top:88px;left:0;right:0;background:#0a0a0a;padding:24px;flex-direction:column}
  .site-header.nav-open nav{display:flex}
  .menu-toggle{display:block;margin-left:auto}
  .header-cta{display:none}
  .rental-grid{grid-template-columns:repeat(2,1fr)}
  .intro{grid-template-columns:1fr}
}
@media(max-width:680px){
  .site-header{height:76px;padding:0 16px}
  .brand>span:last-child{display:none}
  .monogram{width:52px;height:52px}
  .header-logo{width:54px;height:54px}
  nav{top:76px}
  .hero{height:620px}
  .hero-shade{background:rgba(0,0,0,.62)}
  .hero-content{left:22px;right:22px}
  .hero h1{font-size:58px}
  .hero-content>p:not(.kicker){font-size:18px}
  .hero-buttons{flex-direction:column;text-align:center}
  .signature-strip{grid-template-columns:1fr;margin:0}
  .signature-strip>div{border-right:0;border-bottom:1px solid var(--line)}
  .intro{padding:75px 20px;gap:35px}
  .rentals-section{padding:70px 15px}
  .rental-grid{grid-template-columns:1fr}
  .image-button{height:310px}
  .policy-grid{grid-template-columns:1fr}
  .contact{flex-direction:column;align-items:flex-start;padding:60px 24px}
  footer{padding-bottom:85px;flex-direction:column;gap:15px;text-align:center}
  .mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#090909}
  .mobile-bar a{text-align:center;color:#fff;text-decoration:none;padding:15px 6px;text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:800;border-right:1px solid #333}
  .mobile-bar a:first-child{background:var(--red)}
}


/* Premium visual refinements */
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(180,0,0,.035), transparent 30%),
    #fff;
}
.site-header{
  transition:background .3s ease,box-shadow .3s ease,height .3s ease;
}
.site-header.scrolled{
  background:rgba(8,8,8,.985);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.hero>img{
  animation:heroZoom 14s ease-in-out infinite alternate;
}
@keyframes heroZoom{
  from{transform:scale(1.01)}
  to{transform:scale(1.08)}
}
.hero-content{
  animation:heroIn .9s ease both;
}
@keyframes heroIn{
  from{opacity:0;transform:translateY(-44%)}
  to{opacity:1;transform:translateY(-50%)}
}
.scroll-cue{
  position:absolute;left:50%;bottom:24px;z-index:3;transform:translateX(-50%);
  color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:2px;
  font-size:10px;font-weight:800;display:flex;flex-direction:column;
  align-items:center;gap:8px;opacity:.9
}
.scroll-cue span{
  width:1px;height:34px;background:linear-gradient(#fff,transparent);
  animation:scrollPulse 1.8s ease-in-out infinite
}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(.65);opacity:.45}
  50%{transform:scaleY(1);opacity:1}
}
.featured-editorial{
  max-width:1260px;margin:0 auto;padding:105px 5vw;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center
}
.featured-copy h2{
  font-size:clamp(42px,5vw,67px);font-weight:500;line-height:1.04;margin:12px 0 22px
}
.featured-copy>p:not(.kicker){
  color:var(--muted);font-size:18px;line-height:1.75
}
.featured-image{
  position:relative;overflow:hidden;min-height:480px;background:#111
}
.featured-image:after{
  content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.55);pointer-events:none
}
.featured-image img{
  width:100%;height:100%;min-height:480px;object-fit:cover;display:block;
  transition:transform .7s ease
}
.featured-image:hover img{transform:scale(1.035)}
.text-link{
  display:inline-block;margin-top:12px;color:var(--red);text-decoration:none;
  text-transform:uppercase;letter-spacing:1.3px;font-size:11px;font-weight:800;
  border-bottom:1px solid var(--red);padding-bottom:5px
}
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .75s ease,transform .75s ease
}
.reveal.visible{opacity:1;transform:none}
.rental-card{
  position:relative;
}
.rental-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--red),#ef4747);
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:2
}
.rental-card:hover:before{transform:scaleX(1)}
.image-button img{
  filter:saturate(.94) contrast(1.02);
}
.contact-button,.btn,.header-cta{
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease
}
.contact-button:hover,.btn:hover,.header-cta:hover{
  transform:translateY(-2px)
}
.contact-button:hover,.btn-outline:hover{
  background:#fff;color:var(--red)
}
@media(max-width:900px){
  .featured-editorial{grid-template-columns:1fr;gap:35px}
  .featured-image,.featured-image img{min-height:390px}
}
@media(max-width:680px){
  .scroll-cue{display:none}
  .featured-editorial{padding:72px 20px}
  .featured-image,.featured-image img{min-height:310px}
}



@media (max-width: 768px){
  .hero-content h1{
    font-size: clamp(2.1rem, 9vw, 3.2rem) !important;
    line-height: 1.08;
    max-width: 95%;
    margin: 0 auto 18px;
    word-break: normal;
    text-wrap: balance;
  }

  .hero-content .kicker{
    font-size: .9rem;
    letter-spacing: 2px;
  }

  .hero-buttons{
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }

  .hero-buttons .btn{
    width: min(300px,90%);
    margin: 0 auto;
  }
}
