.hp42-site{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw;background:var(--hp42-paper);color:var(--hp42-black);font-family:var(--hp42-body);letter-spacing:var(--hp42-b-spacing);overflow:hidden}.hp42-site *{box-sizing:border-box}.hp42-grain{background-image:radial-gradient(rgba(0,0,0,.14) .7px,transparent .8px);background-size:3px 3px}.hp42-nav{position:relative;z-index:10;background:var(--hp42-black);color:var(--hp42-white);display:flex;align-items:center;justify-content:space-between;padding:26px clamp(22px,5vw,76px);border-bottom:1px solid rgba(255,255,255,.1)}.hp42-logo{font-family:var(--hp42-heading);font-size:30px;letter-spacing:var(--hp42-h-spacing);color:var(--hp42-white)!important;text-decoration:none!important;line-height:.85;text-transform:uppercase}.hp42-nav nav{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.hp42-nav nav a{color:var(--hp42-white)!important;text-decoration:none!important;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.12em;position:relative}.hp42-nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:3px;background:var(--hp42-accent);transform:scaleX(.28);transform-origin:left;transition:.22s}.hp42-nav nav a:hover:after{transform:scaleX(1)}.hp42-section{position:relative}.hp42-hero{--hp42-hover-bg:none;background:var(--hp42-black);color:var(--hp42-white);padding:58px clamp(22px,5vw,76px) 92px;display:grid;grid-template-columns:minmax(300px,500px) minmax(0,1fr);gap:44px;align-items:center;isolation:isolate;overflow:hidden}.hp42-hero:before{content:'';position:absolute;inset:-40px;background-image:var(--hp42-hover-bg);background-size:cover;background-position:center;filter:blur(36px) saturate(1.2);opacity:0;transform:scale(1.05);transition:opacity .25s ease;z-index:-2}.hp42-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.72),rgba(0,0,0,.86));z-index:-1}.hp42-blur-hover-bg .hp42-hero.has-hover-bg:before{opacity:.44}.hp42-eyebrow{font-size:12px;font-weight:900;letter-spacing:.25em;text-transform:uppercase;color:var(--hp42-accent);margin-bottom:18px}.hp42-eyebrow.dark{color:var(--hp42-black)}.hp42-hero h1,.hp42-section h2{font-family:var(--hp42-heading);letter-spacing:var(--hp42-h-spacing);text-transform:uppercase;margin:0;line-height:.84}.hp42-hero h1{font-size:clamp(50px,6vw,104px);max-width:720px}.hp42-lead{font-size:clamp(18px,2vw,25px);line-height:1.25;max-width:650px;color:#e9e4db;margin:24px 0}.hp42-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hp42-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;text-decoration:none!important;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.14em;border:2px solid var(--hp42-white);transition:.2s}.hp42-btn-light{background:var(--hp42-white);color:var(--hp42-black)!important}.hp42-btn-dark{background:var(--hp42-black);color:var(--hp42-white)!important}.hp42-btn-outline{background:transparent;color:var(--hp42-white)!important}.hp42-btn-red{background:var(--hp42-accent);border-color:var(--hp42-accent);color:#fff!important}.hp42-btn:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--hp42-accent)}.hp42-reel-wrap{min-width:0}.hp42-reel-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin-bottom:14px}.hp42-reel-head h2{font-size:clamp(34px,3.8vw,70px);color:var(--hp42-white)}.hp42-reel-head p{max-width:330px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#d7d1c7}.hp42-reel{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding:10px 0 62px;scroll-snap-type:x proximity;cursor:grab}.hp42-reel::-webkit-scrollbar{height:8px}.hp42-reel::-webkit-scrollbar-track{background:#1a1a1a}.hp42-reel::-webkit-scrollbar-thumb{background:var(--hp42-accent)}.hp42-reel-card{position:relative;flex:0 0 auto;width:var(--w);height:var(--h);margin-top:var(--drop);background:#222;border:1px solid rgba(255,255,255,.28);box-shadow:0 25px 70px rgba(0,0,0,.35);overflow:visible;color:var(--hp42-white)!important;text-decoration:none!important;scroll-snap-align:start;transition:transform .22s}.hp42-reel-card img,.hp42-reel-card video{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--fx) var(--fy);filter:grayscale(1) contrast(1.16);transition:.28s}.hp42-hover-color .hp42-reel-card:hover img,.hp42-hover-color .hp42-reel-card:hover video{filter:grayscale(0) contrast(1)}.hp42-reel-card:hover{z-index:3;transform:translateY(-4px)}.hp42-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#181818,#181818 10px,#222 10px,#222 20px);color:#d2ccc2;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.12em;text-align:center;padding:20px}.hp42-card-count{position:absolute;left:10px;top:-20px;font-size:10px;font-weight:900;color:var(--hp42-white);letter-spacing:.12em}.hp42-card-label{position:absolute;right:10px;top:-20px;font-size:10px;font-weight:900;color:var(--hp42-accent);letter-spacing:.12em}.hp42-reel-card strong{position:absolute;left:0;bottom:-36px;font-family:var(--hp42-heading);font-size:28px;letter-spacing:var(--hp42-h-spacing);text-transform:uppercase;line-height:.9;color:var(--hp42-white)}.hp42-reel-note{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#d9d2c8}.hp42-brush-bottom{position:absolute;left:0;right:0;bottom:-1px;height:46px;background:var(--hp42-paper);clip-path:polygon(0 58%,8% 85%,15% 62%,26% 90%,36% 55%,47% 82%,61% 63%,74% 90%,88% 60%,100% 80%,100% 100%,0 100%)}.hp42-paper{background:var(--hp42-paper);color:var(--hp42-black)}.hp42-statement{padding:78px clamp(22px,5vw,76px) 84px}.hp42-small-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:35px}.hp42-statement-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.85fr);gap:60px;align-items:end}.hp42-statement h2{font-size:clamp(48px,6vw,104px)}.hp42-statement-text>p{font-size:20px;line-height:1.25;max-width:660px}.hp42-two-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:42px;font-size:12px;line-height:1.35;text-transform:uppercase}.hp42-services{background:var(--hp42-black);color:var(--hp42-white);padding:78px clamp(22px,5vw,76px)}.hp42-section-title{max-width:940px;margin-bottom:34px}.hp42-section-title span{font-size:11px;letter-spacing:.22em;color:var(--hp42-accent);font-weight:900;text-transform:uppercase}.hp42-section-title h2{font-size:clamp(48px,5.8vw,104px);margin-top:12px}.hp42-section-title p{font-size:18px;color:#d8d2c8}.hp42-section-title.light p{color:#221f1a}.hp42-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22);border-left:1px solid rgba(255,255,255,.22)}.hp42-service-card{min-height:150px;padding:20px;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);color:var(--hp42-white)!important;text-decoration:none!important;display:flex;flex-direction:column;justify-content:space-between;transition:.22s}.hp42-service-card span{font-family:var(--hp42-heading);font-size:34px;line-height:.9;text-transform:uppercase;letter-spacing:var(--hp42-h-spacing)}.hp42-service-card p{color:#d7d1c8;font-size:13px;line-height:1.3;margin:12px 0}.hp42-service-card b{font-size:10px;letter-spacing:.18em;color:var(--hp42-accent)}.hp42-service-card:hover{background:var(--hp42-paper);color:var(--hp42-black)!important;transform:translateY(-4px)}.hp42-service-card:hover p{color:#111}.hp42-morework{background:var(--hp42-paper);padding:88px clamp(22px,5vw,76px) 96px;color:var(--hp42-black)}.hp42-work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:12px}.hp42-work-item{position:relative;min-height:230px;background:#111;color:#fff!important;text-decoration:none!important;overflow:hidden;border:1px solid rgba(0,0,0,.2);grid-column:span 3}.hp42-work-item.hp42-shape-wide{grid-column:span 5}.hp42-work-item.hp42-shape-tall{grid-column:span 3;grid-row:span 2;min-height:470px}.hp42-work-item.hp42-shape-large{grid-column:span 6;grid-row:span 2;min-height:470px}.hp42-work-item img,.hp42-work-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);transition:.28s}.hp42-hover-color .hp42-work-item:hover img,.hp42-hover-color .hp42-work-item:hover video{filter:grayscale(0) contrast(1)}.hp42-work-item:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05));opacity:.85}.hp42-work-item:hover img,.hp42-work-item:hover video{transform:scale(1.04)}.hp42-work-meta{position:absolute;top:12px;left:14px;z-index:2;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--hp42-accent);font-weight:900}.hp42-work-item strong{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--hp42-heading);font-size:34px;line-height:.9;text-transform:uppercase;letter-spacing:var(--hp42-h-spacing)}.hp42-contact{padding:90px clamp(22px,5vw,76px) 110px;display:grid;grid-template-columns:minmax(300px,.8fr) minmax(320px,1fr);gap:60px}.hp42-contact-title span{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--hp42-accent)}.hp42-contact-title h2{font-family:var(--hp42-heading);font-size:clamp(58px,8vw,140px);line-height:.85;text-transform:uppercase;margin:12px 0}.hp42-contact-title p{font-size:18px;line-height:1.35}.hp42-lead-form{background:var(--hp42-black);color:var(--hp42-white);padding:30px;border:1px solid rgba(0,0,0,.2)}.hp42-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hp42-lead-form label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;margin-bottom:14px}.hp42-lead-form input,.hp42-lead-form select,.hp42-lead-form textarea{display:block;width:100%;margin-top:7px;background:transparent;color:var(--hp42-white);border:1px solid rgba(255,255,255,.35);padding:13px;border-radius:0}.hp42-lead-form option{color:#111}.hp42-lead-form textarea{resize:vertical}.hp42-lead-form button{border:0;background:var(--hp42-accent);color:#fff;font-weight:900;letter-spacing:.14em;text-transform:uppercase;padding:16px 24px;cursor:pointer}.hp42-math input{max-width:140px}.hp42-hide{position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;opacity:0!important}@media(max-width:1200px){.hp42-service-grid{grid-template-columns:repeat(3,1fr)}.hp42-work-item,.hp42-work-item.hp42-shape-wide{grid-column:span 4}.hp42-work-item.hp42-shape-large{grid-column:span 8}.hp42-work-item.hp42-shape-tall{grid-column:span 4}}@media(max-width:1000px){.hp42-hero,.hp42-statement-grid,.hp42-contact{grid-template-columns:1fr}.hp42-service-grid{grid-template-columns:1fr 1fr}.hp42-nav{display:block}.hp42-nav nav{margin-top:18px}.hp42-reel-head{display:block}}@media(max-width:700px){.hp42-service-grid,.hp42-form-grid,.hp42-two-notes{grid-template-columns:1fr}.hp42-work-grid{grid-template-columns:1fr}.hp42-work-item,.hp42-work-item.hp42-shape-wide,.hp42-work-item.hp42-shape-tall,.hp42-work-item.hp42-shape-large{grid-column:auto;grid-row:auto;min-height:280px}.hp42-reel-card{width:calc(var(--w)*.78);height:calc(var(--h)*.78)}.hp42-hero h1,.hp42-section-title h2,.hp42-statement h2,.hp42-contact-title h2{font-size:50px}}

/* v4.3 service section polish: smaller centered title + centered card rows */
.hp42-services{
  text-align:center;
  padding-top:68px;
  padding-bottom:74px;
}
.hp42-services .hp42-section-title{
  max-width:760px;
  margin:0 auto 32px;
}
.hp42-services .hp42-section-title h2{
  font-size:clamp(34px,4.2vw,70px);
  line-height:.9;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.hp42-services .hp42-section-title p{
  max-width:620px;
  margin:14px auto 0;
  font-size:16px;
  line-height:1.45;
}
.hp42-service-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
  border:0;
  max-width:1180px;
  margin:0 auto;
}
.hp42-service-card{
  flex:1 1 245px;
  max-width:282px;
  min-width:225px;
  min-height:132px;
  border:1px solid rgba(255,255,255,.22);
  text-align:left;
  background:rgba(255,255,255,.025);
}
.hp42-service-card span{
  font-size:clamp(24px,2.15vw,32px);
}
.hp42-service-card p{
  font-size:12px;
}
@media(max-width:720px){
  .hp42-service-card{max-width:100%;min-width:100%;}
  .hp42-services .hp42-section-title h2{font-size:42px;}
}


/* v4.5 hero: copy sits above reel, centered and wide, not covering images */
.hp42-hero.hp42-hero-top-stack{
  display:block;
  position:relative;
  padding:54px clamp(22px,5vw,76px) 88px;
  overflow:hidden;
}
.hp42-hero-top-copy{
  max-width:1360px;
  margin:0 auto 46px;
  text-align:center;
  position:relative;
  z-index:2;
}
.hp42-hero-top-copy .hp42-eyebrow{
  justify-content:center;
  text-align:center;
  margin-bottom:18px;
}
.hp42-hero-top-copy h1{
  max-width:1280px;
  margin:0 auto;
  font-size:clamp(62px,8.4vw,158px);
  line-height:.78;
  letter-spacing:var(--hp42-h-spacing);
  text-wrap:balance;
}
.hp42-hero-top-copy .hp42-lead{
  max-width:900px;
  margin:24px auto 0;
  font-size:clamp(18px,1.65vw,28px);
  line-height:1.2;
  color:#e8e0d6;
}
.hp42-hero-top-copy .hp42-buttons{
  justify-content:center;
  margin-top:28px;
}
.hp42-hero-top-stack .hp42-reel-wrap{
  max-width:1500px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.hp42-hero-top-stack .hp42-reel-head{
  align-items:end;
  margin-bottom:8px;
}
.hp42-hero-top-stack .hp42-reel-head h2{
  font-size:clamp(30px,3.6vw,64px);
}
.hp42-hero-top-stack .hp42-reel{
  padding-top:18px;
  padding-bottom:60px;
}
.hp42-hero-top-stack .hp42-reel-card{
  margin-top:calc(var(--drop) * .75);
}
@media(max-width:1000px){
  .hp42-hero.hp42-hero-top-stack{padding-top:36px;}
  .hp42-hero-top-copy h1{font-size:clamp(52px,10.5vw,96px);}
  .hp42-hero-top-copy{margin-bottom:32px;}
}
@media(max-width:700px){
  .hp42-hero-top-copy h1{font-size:46px;line-height:.86;}
  .hp42-hero-top-copy .hp42-lead{font-size:16px;}
  .hp42-hero-top-stack .hp42-reel-head p{font-size:10px;}
}


/* v4.7: no plugin top menu, wider hero typography, editable sticky booking pill */
.hp42-site .hp42-nav{
  display:none !important;
}
.hp42-hero-top-copy h1{
  letter-spacing:.058em !important;
  word-spacing:.20em;
  line-height:.84;
  max-width:1480px;
}
.hp42-hero-top-copy .hp42-lead{
  letter-spacing:.035em;
  word-spacing:.10em;
  max-width:980px;
}
.hp42-hero-top-copy .hp42-eyebrow{
  letter-spacing:.34em;
}
.hp42-floating-book{
  position:fixed;
  right:18px;
  top:56%;
  transform:translateY(-50%);
  z-index:999999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:112px;
  padding:18px 12px;
  border-radius:999px;
  background:var(--hp42-white);
  color:var(--hp42-black)!important;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 16px 44px rgba(0,0,0,.35);
  text-decoration:none!important;
  font-weight:900;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transition:opacity .22s ease, transform .22s ease, background .22s ease, color .22s ease;
}
.hp42-floating-book:hover{
  background:var(--hp42-accent);
  color:#fff!important;
  transform:translateY(-50%) translateX(-3px);
}
.hp42-floating-book.is-hidden{
  opacity:0;
  transform:translateY(-50%) translateX(26px);
  pointer-events:none;
}
@media(max-width:700px){
  .hp42-hero-top-copy h1{
    letter-spacing:.035em!important;
    word-spacing:.10em;
    line-height:.9;
  }
  .hp42-floating-book{
    top:auto;
    right:50%;
    bottom:18px;
    transform:translateX(50%);
    writing-mode:horizontal-tb;
    min-height:0;
    min-width:132px;
    padding:13px 18px;
  }
  .hp42-floating-book:hover{
    transform:translateX(50%) translateY(-3px);
  }
  .hp42-floating-book.is-hidden{
    transform:translateX(50%) translateY(24px);
  }
}


/* v4.8: make the hero headline an intro, not the whole page */
.hp42-hero.hp42-hero-top-stack{
  padding-top:42px !important;
  padding-bottom:74px !important;
}
.hp42-hero-top-copy{
  max-width:1320px !important;
  margin:0 auto 26px !important;
  text-align:center;
}
.hp42-hero-top-copy h1{
  max-width:1260px !important;
  margin:10px auto 0 !important;
  font-size:clamp(38px,4.25vw,76px) !important;
  line-height:.96 !important;
  letter-spacing:.042em !important;
  word-spacing:.075em !important;
  text-wrap:balance;
}
.hp42-hero-top-copy .hp42-lead{
  max-width:820px !important;
  margin:16px auto 0 !important;
  font-size:clamp(16px,1.22vw,22px) !important;
  line-height:1.32 !important;
  letter-spacing:.018em !important;
  word-spacing:.045em !important;
}
.hp42-hero-top-copy .hp42-buttons{
  margin-top:22px !important;
}
.hp42-hero-top-stack .hp42-reel-head{
  margin-top:12px !important;
  margin-bottom:4px !important;
}
.hp42-hero-top-stack .hp42-reel{
  padding-top:10px !important;
}
@media(min-width:1400px){
  .hp42-hero-top-copy h1{
    font-size:clamp(42px,4.05vw,78px) !important;
    max-width:1320px !important;
  }
}
@media(max-width:1000px){
  .hp42-hero.hp42-hero-top-stack{
    padding-top:34px !important;
  }
  .hp42-hero-top-copy h1{
    font-size:clamp(38px,8.4vw,64px) !important;
    line-height:1 !important;
    letter-spacing:.034em !important;
    word-spacing:.045em !important;
  }
  .hp42-hero-top-copy{
    margin-bottom:22px !important;
  }
}
@media(max-width:700px){
  .hp42-hero-top-copy h1{
    font-size:38px !important;
    line-height:1 !important;
    letter-spacing:.026em !important;
    word-spacing:.035em !important;
  }
  .hp42-hero-top-copy .hp42-lead{
    font-size:15px !important;
  }
}


/* v4.9: bottom homepage is a booking CTA, not a second booking form */
.hp42-final-cta{
  position:relative;
  padding:92px clamp(22px,5vw,76px) 108px;
  overflow:hidden;
  text-align:center;
}
.hp42-final-cta:before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:54px;
  background:var(--hp42-black);
  clip-path:polygon(0 0,100% 0,100% 44%,90% 72%,77% 48%,64% 80%,50% 50%,35% 76%,20% 48%,8% 74%,0 52%);
}
.hp42-final-cta-inner{
  max-width:1060px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.hp42-final-cta-label{
  color:var(--hp42-accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hp42-final-cta h2{
  font-family:var(--hp42-heading);
  color:var(--hp42-black);
  font-size:clamp(48px,7vw,118px);
  line-height:.86;
  letter-spacing:.018em;
  text-transform:uppercase;
  margin:0 auto;
  max-width:880px;
}
.hp42-final-cta p{
  max-width:720px;
  margin:22px auto 0;
  font-size:clamp(17px,1.55vw,23px);
  line-height:1.34;
}
.hp42-final-cta-actions{
  margin-top:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.hp42-final-main,.hp42-final-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:15px 26px;
  border-radius:999px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.14em;
  font-size:12px;
  text-decoration:none!important;
  transition:.2s ease;
}
.hp42-final-main{
  background:var(--hp42-black);
  color:var(--hp42-white)!important;
  border:2px solid var(--hp42-black);
}
.hp42-final-secondary{
  background:transparent;
  color:var(--hp42-black)!important;
  border:2px solid var(--hp42-black);
}
.hp42-final-main:hover,.hp42-final-secondary:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 var(--hp42-accent);
}
.hp42-final-cta-note{
  margin:28px auto 0;
  max-width:640px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1.45;
  text-transform:uppercase;
}
@media(max-width:700px){
  .hp42-final-cta{padding:78px 22px 92px;}
  .hp42-final-cta h2{font-size:48px;}
  .hp42-final-main,.hp42-final-secondary{width:100%;}
}
