/*
Theme Name: Hackett & Hackett Luxury
Theme URI: https://hackettandhackett.co.uk/
Author: Bespoke build for Hackett & Hackett International Group Limited
Description: Lightweight editorial luxury theme for Hackett & Hackett. Designed for Gutenberg and the HH Core companion plugin.
Version: 0.4.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: hh-luxury
*/

:root {
  --hh-black:#0b0b0b; --hh-charcoal:#151515; --hh-ivory:#f5f1e9; --hh-warm:#e5ded1;
  --hh-grey:#a9a49d; --hh-line:rgba(245,241,233,.18); --hh-accent:#ad1f58;
  --hh-max:1440px; --hh-gutter:clamp(20px,4vw,72px); --hh-section:clamp(72px,10vw,160px);
  --hh-serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --hh-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hh-ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--hh-black);color:var(--hh-ivory);font-family:var(--hh-sans);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{max-width:100%;height:auto;display:block} button,input,select,textarea{font:inherit}
.hh-container{width:min(100%,var(--hh-max));margin-inline:auto;padding-inline:var(--hh-gutter)}
.hh-section{padding-block:var(--hh-section)} .hh-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--hh-grey)}
.hh-display{font-family:var(--hh-serif);font-weight:400;letter-spacing:-.035em;line-height:.93;font-size:clamp(3.3rem,8vw,8.2rem);margin:.25em 0}
.hh-h2{font-family:var(--hh-serif);font-weight:400;letter-spacing:-.025em;line-height:1.02;font-size:clamp(2.4rem,5vw,5.2rem);margin:.3em 0}.hh-lead{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:760px;color:#d7d2ca}
.hh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--hh-ivory);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;transition:.3s var(--hh-ease);cursor:pointer;background:transparent;color:var(--hh-ivory)}.hh-btn:hover,.hh-btn:focus-visible{background:var(--hh-ivory);color:var(--hh-black)}.hh-btn--accent{border-color:var(--hh-accent);background:var(--hh-accent);color:white}.hh-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hh-header{position:fixed;z-index:1000;inset:0 0 auto;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent);transition:.3s}.hh-header.is-scrolled{background:rgba(11,11,11,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--hh-line)}.hh-header__inner{height:88px;display:flex;align-items:center;gap:28px}.custom-logo{max-height:48px;width:auto}.hh-brand-text{font-family:var(--hh-serif);font-size:1.15rem;letter-spacing:.08em}.hh-nav{margin-left:auto}.hh-nav ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:26px}.hh-nav a{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.hh-menu-toggle{display:none;margin-left:auto;border:0;background:none;color:inherit;font-size:1.7rem}.hh-header__cta{margin-left:10px}
.hh-hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;background:#111}.hh-hero__media{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,#34302c 0,#151515 40%,#090909 100%)}.hh-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.2) 60%,rgba(0,0,0,.45)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%)}.hh-hero__media img,.hh-hero__media video{width:100%;height:100%;object-fit:cover;opacity:.7}.hh-hero__content{position:relative;z-index:2;padding-bottom:clamp(58px,9vw,120px);padding-top:150px}.hh-hero .hh-lead{max-width:680px}.hh-hero__meta{position:absolute;right:var(--hh-gutter);bottom:38px;z-index:2;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#c4beb4}
.hh-trust{border-block:1px solid var(--hh-line)}.hh-trust__grid{display:grid;grid-template-columns:repeat(3,1fr)}.hh-trust__item{padding:34px 0}.hh-trust__item+.hh-trust__item{border-left:1px solid var(--hh-line);padding-left:clamp(20px,4vw,60px)}.hh-trust__value{font-family:var(--hh-serif);font-size:clamp(2rem,4vw,4rem);line-height:1}.hh-trust__label{color:var(--hh-grey);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-top:8px}
.hh-editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,7vw,110px);align-items:center}.hh-editorial-grid--reverse>.hh-media{order:2}.hh-media{aspect-ratio:4/5;background:#1d1d1d;overflow:hidden}.hh-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--hh-ease)}.hh-media:hover img{transform:scale(1.025)}
.hh-service-universe{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:46px}.hh-service-card{position:relative;min-height:460px;background:#181818;overflow:hidden;border:1px solid var(--hh-line);grid-column:span 4}.hh-service-card:nth-child(1),.hh-service-card:nth-child(5){grid-column:span 8}.hh-service-card__image{position:absolute;inset:0;opacity:.55}.hh-service-card__image img{width:100%;height:100%;object-fit:cover;transition:.7s var(--hh-ease)}.hh-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),transparent 65%)}.hh-service-card__content{position:absolute;z-index:2;inset:auto 28px 26px}.hh-service-card h3{font-family:var(--hh-serif);font-weight:400;font-size:clamp(1.8rem,3vw,3.4rem);margin:0 0 8px}.hh-service-card p{color:#d2cdc5;max-width:500px}.hh-service-card:hover .hh-service-card__image img{transform:scale(1.04)}
.hh-fleet-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,35vw);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}.hh-fleet-card{scroll-snap-align:start;border:1px solid var(--hh-line);background:#111}.hh-fleet-card__media{aspect-ratio:16/10;background:#1a1a1a}.hh-fleet-card__media img{width:100%;height:100%;object-fit:cover}.hh-fleet-card__body{padding:24px}.hh-fleet-card h3{font-family:var(--hh-serif);font-weight:400;font-size:2rem;margin:0}.hh-fleet-meta{display:flex;gap:18px;color:var(--hh-grey);font-size:.84rem;margin-top:12px}
.hh-panel{background:var(--hh-ivory);color:var(--hh-black)}.hh-panel .hh-kicker{color:#6c675f}.hh-panel .hh-lead{color:#3d3a35}.hh-experience{display:grid;grid-template-columns:1fr 1fr;gap:48px}.hh-form{display:grid;gap:18px}.hh-form label{display:grid;gap:8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.hh-form input,.hh-form select,.hh-form textarea{width:100%;border:1px solid #cfc8bc;background:transparent;padding:14px;color:inherit}.hh-form textarea{min-height:140px}.hh-form__choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.hh-choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;text-transform:none!important;letter-spacing:0!important}.hh-choice input{width:auto}.hh-honeypot{position:absolute!important;left:-10000px!important}.hh-form__notice{padding:12px;border:1px solid currentColor}.hh-form__step[hidden]{display:none}.hh-progress{display:flex;gap:6px}.hh-progress span{height:2px;flex:1;background:#cfc8bc}.hh-progress span.is-active{background:var(--hh-accent)}
.hh-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hh-project{min-height:520px;position:relative;overflow:hidden;background:#181818}.hh-project img{width:100%;height:100%;object-fit:cover;opacity:.68}.hh-project:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.86),transparent 65%)}.hh-project__body{position:absolute;z-index:2;inset:auto 26px 26px}.hh-project__body h3{font-family:var(--hh-serif);font-size:2.4rem;font-weight:400;margin:0}.hh-project__meta{color:#d1cbc2;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.hh-global{position:relative;min-height:650px;display:grid;place-items:center;text-align:center;overflow:hidden;background:radial-gradient(circle at center,#28231f 0,#0c0c0c 65%)}.hh-global:before{content:"";position:absolute;width:min(80vw,900px);aspect-ratio:2/1;border:1px solid rgba(245,241,233,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(245,241,233,.02),0 0 0 160px rgba(245,241,233,.015)}.hh-global__content{position:relative;z-index:2}
.hh-footer{padding:80px 0 28px;border-top:1px solid var(--hh-line)}.hh-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:36px}.hh-footer h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--hh-grey)}.hh-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.hh-footer__legal{border-top:1px solid var(--hh-line);margin-top:56px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:var(--hh-grey);font-size:.78rem;flex-wrap:wrap}
.hh-page-hero{padding:180px 0 90px;border-bottom:1px solid var(--hh-line)}.hh-content{max-width:900px}.hh-content>:first-child{margin-top:0}.hh-content h2,.hh-content h3{font-family:var(--hh-serif);font-weight:400}.hh-content h2{font-size:2.8rem}.hh-content a{text-decoration:underline;text-underline-offset:3px}.hh-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hh-card{border:1px solid var(--hh-line);padding:26px;min-height:240px}.hh-card h2{font-family:var(--hh-serif);font-size:2rem;font-weight:400}
.hh-floating-contact{position:fixed;z-index:800;right:18px;bottom:18px;display:flex;gap:8px}.hh-floating-contact a{background:rgba(11,11,11,.9);border:1px solid var(--hh-line);padding:10px 13px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(10px)}
:focus-visible{outline:2px solid var(--hh-accent);outline-offset:4px}
@media(max-width:960px){.hh-nav,.hh-header__cta{display:none}.hh-menu-toggle{display:block}.hh-nav.is-open{display:block;position:fixed;inset:88px 0 0;background:#0b0b0b;padding:34px var(--hh-gutter);overflow:auto}.hh-nav.is-open ul{align-items:flex-start;flex-direction:column;gap:22px}.hh-editorial-grid,.hh-experience{grid-template-columns:1fr}.hh-editorial-grid--reverse>.hh-media{order:0}.hh-service-card,.hh-service-card:nth-child(1),.hh-service-card:nth-child(5){grid-column:span 6}.hh-footer__grid{grid-template-columns:1fr 1fr}.hh-archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hh-header__inner{height:74px}.hh-nav.is-open{inset:74px 0 0}.hh-display{font-size:clamp(3rem,16vw,5.1rem)}.hh-trust__grid{grid-template-columns:1fr}.hh-trust__item+.hh-trust__item{border-left:0;border-top:1px solid var(--hh-line);padding-left:0}.hh-service-card,.hh-service-card:nth-child(1),.hh-service-card:nth-child(5){grid-column:1/-1;min-height:400px}.hh-fleet-strip{grid-auto-columns:86vw}.hh-projects,.hh-archive-grid{grid-template-columns:1fr}.hh-footer__grid{grid-template-columns:1fr}.hh-form__choices{grid-template-columns:1fr}.hh-floating-contact{left:12px;right:12px;justify-content:center}.hh-floating-contact a{flex:1;text-align:center}.hh-global{min-height:520px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.hh-brand img{max-height:48px;width:auto}.hh-nav__top{position:relative}.hh-has-mega{position:static}.hh-mega{position:absolute;left:50%;top:calc(100% + 28px);transform:translateX(-50%) translateY(8px);width:min(1120px,calc(100vw - 48px));padding:34px;background:rgba(15,15,15,.98);border:1px solid var(--hh-line);display:grid;grid-template-columns:280px 1fr;gap:38px;opacity:0;visibility:hidden;pointer-events:none;transition:.25s var(--hh-ease);backdrop-filter:blur(18px)}.hh-has-mega:hover .hh-mega,.hh-has-mega:focus-within .hh-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.hh-mega__intro{display:grid;align-content:start;gap:14px;border-right:1px solid var(--hh-line);padding-right:28px}.hh-mega__intro strong{font-family:var(--hh-serif);font-weight:400;font-size:2rem;line-height:1.08}.hh-mega__intro>a{color:#d4cec5}.hh-mega__services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.hh-mega__services>div{display:grid;align-content:start;gap:10px}.hh-mega__services a{text-transform:none;letter-spacing:0;font-size:.92rem;color:#e2ddd5}.hh-mega__services a:hover{color:white}.hh-header__book{border-color:var(--hh-accent);background:var(--hh-accent)}
@media(max-width:960px){.hh-mega{position:static;transform:none!important;width:auto;margin-top:18px;padding:20px;grid-template-columns:1fr;opacity:1;visibility:visible;pointer-events:auto;display:none}.hh-has-mega:focus-within .hh-mega,.hh-has-mega:hover .hh-mega{display:grid}.hh-mega__intro{border-right:0;border-bottom:1px solid var(--hh-line);padding:0 0 18px}.hh-mega__services{grid-template-columns:1fr}.hh-nav__top{width:100%}}


/* v0.2 — editable landing-page system */
.hh-home-content,.hh-page-content{overflow:hidden}
.hh-page-intro{width:min(100%,var(--hh-max));margin-inline:auto;padding:clamp(170px,18vw,250px) var(--hh-gutter) clamp(70px,9vw,125px);border-bottom:1px solid var(--hh-line)}
.hh-page-intro .hh-lead{max-width:900px}
.hh-page-content>.hh-service-universe,.hh-page-content>.hh-archive-grid,.hh-page-content>.hh-projects,.hh-page-content>.hh-journal-grid{width:min(100%,var(--hh-max));margin:0 auto;padding-inline:var(--hh-gutter)}
.hh-page-grid{width:min(100%,var(--hh-max));margin-inline:auto;padding:var(--hh-section) var(--hh-gutter);display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hh-line)}
.hh-page-grid article{background:var(--hh-black);padding:clamp(28px,4vw,58px);min-height:250px}
.hh-page-grid h3,.hh-editorial-panel h3,.hh-empty-state h3,.hh-contact-card h3,.hh-journal-card h3{font-family:var(--hh-serif);font-weight:400;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin:.2em 0 .5em}
.hh-page-grid p,.hh-editorial-panel p,.hh-empty-state p,.hh-contact-card p{color:#cbc5bc}
.hh-page-grid a,.hh-page-band a,.hh-page-intro a,.hh-editorial-panel a{display:inline-block;text-underline-offset:4px}
.hh-page-band{margin:0;background:#111;padding:clamp(70px,9vw,130px) var(--hh-gutter);text-align:center;border-block:1px solid var(--hh-line)}
.hh-page-band>*{max-width:900px;margin-left:auto;margin-right:auto}.hh-page-band h2{font-family:var(--hh-serif);font-size:clamp(2.5rem,5vw,5.2rem);font-weight:400;line-height:1.02;margin:.2em auto}.hh-page-band .hh-actions{justify-content:center}
.hh-callout{width:min(calc(100% - (2 * var(--hh-gutter))),1000px);margin:clamp(45px,6vw,80px) auto;padding:28px 30px;border:1px solid var(--hh-line);background:#121212;color:#d8d2c9}
.hh-section--tight{padding-top:0}
.hh-editorial-panel{min-height:460px;padding:clamp(30px,5vw,70px);border:1px solid var(--hh-line);display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 70% 20%,#2a2623,#131313 65%)}
.hh-editorial-panel--light{background:#e8e1d6;border-color:#c9c0b2}.hh-editorial-panel--light p{color:#3f3a34}
.hh-btn--dark{border-color:#111;color:#111}.hh-btn--dark:hover,.hh-btn--dark:focus-visible{background:#111;color:white}
.hh-final-cta{text-align:center}.hh-final-cta .hh-lead{margin-inline:auto}.hh-final-cta .hh-actions{justify-content:center}
.hh-fleet-grid{margin-top:50px}.hh-fleet-grid .hh-fleet-card{min-height:100%}
.hh-empty-state{padding:clamp(35px,5vw,65px);border:1px solid var(--hh-line);background:#111;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}
.hh-projects+.hh-actions,.hh-fleet-strip{margin-top:44px}
.hh-journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:0!important;padding-bottom:var(--hh-section)}
.hh-journal-card{border:1px solid var(--hh-line);background:#111;overflow:hidden}.hh-journal-card__media{aspect-ratio:4/3;background:#181818}.hh-journal-card__media img{width:100%;height:100%;object-fit:cover}.hh-journal-card__body{padding:26px}.hh-journal-card__body p{color:var(--hh-grey)}
.hh-contact-layout{width:min(100%,var(--hh-max));margin-inline:auto;padding:var(--hh-section) var(--hh-gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,100px);align-items:start}.hh-contact-card{border:1px solid var(--hh-line);padding:clamp(28px,4vw,48px);position:sticky;top:120px}.hh-contact-layout>div:last-child{background:var(--hh-ivory);color:var(--hh-black);padding:clamp(28px,4vw,52px)}.hh-contact-layout>div:last-child .hh-btn:not(.hh-btn--accent){border-color:#111;color:#111}
.hh-enquiry-shell{width:min(100%,1000px);margin:0 auto;padding:var(--hh-section) var(--hh-gutter)}.hh-enquiry-shell .hh-form{background:var(--hh-ivory);color:var(--hh-black);padding:clamp(28px,5vw,60px)}
.hh-home-content .hh-service-universe,.hh-home-content .hh-fleet-strip,.hh-home-content .hh-projects{margin-top:46px}
.hh-home-content .hh-panel .hh-form .hh-btn:not(.hh-btn--accent){border-color:#111;color:#111}
@media(max-width:960px){.hh-page-grid,.hh-contact-layout{grid-template-columns:1fr}.hh-journal-grid{grid-template-columns:repeat(2,1fr)}.hh-contact-card{position:static}.hh-page-grid article{min-height:0}}
@media(max-width:640px){.hh-page-intro{padding-top:130px}.hh-page-grid{grid-template-columns:1fr}.hh-journal-grid{grid-template-columns:1fr}.hh-page-band{text-align:left}.hh-page-band .hh-actions,.hh-final-cta .hh-actions{justify-content:flex-start}}


/* v0.3 — cinematic homepage service slider */
.hh-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hh-hero-slider{position:relative;min-height:100svh;height:max(760px,100svh);overflow:hidden;background:#080808;isolation:isolate}
.hh-hero-slider__viewport,.hh-hero-slide,.hh-hero-slide__media,.hh-hero-slide__shade{position:absolute;inset:0}
.hh-hero-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .95s var(--hh-ease),visibility .95s;z-index:0}
.hh-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hh-hero-slide__media{overflow:hidden;background:#111}
.hh-hero-slide__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.055);filter:saturate(.82) contrast(1.04) brightness(.78);transition:transform 8.2s cubic-bezier(.15,.6,.2,1),filter 1s var(--hh-ease)}
.hh-hero-slide.is-active .hh-hero-slide__media img{transform:scale(1.005)}
.hh-hero-slide__shade{background:linear-gradient(90deg,rgba(4,4,4,.84) 0%,rgba(4,4,4,.54) 38%,rgba(4,4,4,.15) 72%,rgba(4,4,4,.32) 100%),linear-gradient(0deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.26) 44%,rgba(5,5,5,.28) 100%)}
.hh-hero-slide__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:112px;padding-bottom:180px}
.hh-hero-slide__eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#e0dad2;margin-bottom:18px;opacity:0;transform:translateY(12px);transition:.6s .16s var(--hh-ease)}
.hh-hero-slide__eyebrow span:first-child{color:#fff;font-variant-numeric:tabular-nums}.hh-hero-slide__eyebrow span+span:before{content:"";display:inline-block;width:36px;height:1px;background:rgba(255,255,255,.48);margin:0 14px 3px 0}
.hh-hero-slide .hh-display{max-width:1000px;font-size:clamp(3.8rem,7.5vw,8.5rem);margin:.06em 0 .2em;text-wrap:balance;opacity:0;transform:translateY(24px);transition:.72s .22s var(--hh-ease)}
.hh-hero-slide .hh-lead{max-width:680px;color:#e1dcd4;opacity:0;transform:translateY(20px);transition:.72s .3s var(--hh-ease)}
.hh-hero-slide .hh-actions{opacity:0;transform:translateY(18px);transition:.72s .38s var(--hh-ease)}
.hh-hero-slide.is-active .hh-hero-slide__eyebrow,.hh-hero-slide.is-active .hh-display,.hh-hero-slide.is-active .hh-lead,.hh-hero-slide.is-active .hh-actions{opacity:1;transform:none}
.hh-btn--solid{background:var(--hh-ivory);border-color:var(--hh-ivory);color:var(--hh-black)}.hh-btn--solid:hover,.hh-btn--solid:focus-visible{background:transparent;color:var(--hh-ivory)}
.hh-btn--glass{background:rgba(9,9,9,.16);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.55)}
.hh-hero-slider__corner{position:absolute;z-index:5;right:var(--hh-gutter);top:130px;display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;color:rgba(255,255,255,.72);writing-mode:vertical-rl;transform:rotate(180deg)}
.hh-hero-slider__corner span{width:1px;height:48px;background:rgba(255,255,255,.34)}
.hh-hero-slider__ui{position:absolute;z-index:6;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(5,5,5,.92),rgba(5,5,5,.24));padding-top:26px}
.hh-hero-slider__ui-inner{display:flex;align-items:flex-end;gap:28px;padding-bottom:24px}
.hh-hero-slider__tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;flex:1;border-top:1px solid rgba(255,255,255,.2)}
.hh-hero-slider__tab{appearance:none;border:0;border-right:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.54);text-align:left;padding:17px 17px 7px 0;margin-right:17px;cursor:pointer;min-width:0;transition:.3s var(--hh-ease)}
.hh-hero-slider__tab span{display:block;font-size:.62rem;letter-spacing:.15em;margin-bottom:5px}.hh-hero-slider__tab strong{display:block;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hh-hero-slider__tab:hover,.hh-hero-slider__tab:focus-visible,.hh-hero-slider__tab.is-active{color:#fff}
.hh-hero-slider__controls{display:flex;gap:8px;padding-bottom:2px}.hh-hero-slider__controls button{width:47px;height:47px;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(10,10,10,.2);color:#fff;display:grid;place-items:center;font-size:1.1rem;cursor:pointer;transition:.25s var(--hh-ease);backdrop-filter:blur(10px)}.hh-hero-slider__controls button:hover,.hh-hero-slider__controls button:focus-visible{background:#fff;color:#111;border-color:#fff}
.hh-hero-slider__progress{height:2px;background:rgba(255,255,255,.15)}.hh-hero-slider__progress span{display:block;height:100%;width:0;background:var(--hh-accent)}
@media(max-width:960px){.hh-hero-slider{height:max(720px,100svh)}.hh-hero-slide__content{padding-top:100px;padding-bottom:190px}.hh-hero-slider__corner{display:none}.hh-hero-slider__tabs{overflow-x:auto;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);scrollbar-width:none}.hh-hero-slider__tabs::-webkit-scrollbar{display:none}.hh-hero-slider__ui-inner{align-items:center}.hh-hero-slider__controls{flex:0 0 auto}.hh-hero-slide .hh-display{font-size:clamp(3.5rem,10vw,6.5rem)}}
@media(max-width:640px){.hh-hero-slider{height:max(700px,100svh)}.hh-hero-slide__content{justify-content:flex-end;padding-top:110px;padding-bottom:190px}.hh-hero-slide .hh-display{font-size:clamp(3.1rem,14vw,5rem);line-height:.94}.hh-hero-slide .hh-lead{font-size:1rem;line-height:1.55}.hh-hero-slide__shade{background:linear-gradient(0deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.52) 52%,rgba(5,5,5,.28) 100%)}.hh-hero-slider__ui-inner{gap:14px}.hh-hero-slider__tabs{grid-auto-columns:132px}.hh-hero-slider__tab{margin-right:10px;padding-right:10px}.hh-hero-slider__tab strong{font-size:.64rem}.hh-hero-slider__controls button{width:42px;height:42px}.hh-btn--glass{display:none}}
@media(prefers-reduced-motion:reduce){.hh-hero-slide,.hh-hero-slide__media img,.hh-hero-slide__eyebrow,.hh-hero-slide .hh-display,.hh-hero-slide .hh-lead,.hh-hero-slide .hh-actions{transition:none!important;transform:none!important}.hh-hero-slider__progress span{display:none}}


/* v0.3.1 — original brand logo + stable Services mega-menu */
.hh-brand{display:flex;align-items:center;flex:0 0 auto;max-width:min(360px,28vw)}
.hh-brand .hh-brand__logo,.hh-brand .custom-logo{display:block;width:auto;max-width:100%;height:auto;max-height:58px;object-fit:contain}
.hh-brand__logo--original{mix-blend-mode:normal}
.hh-nav__service-trigger{display:flex;align-items:center;gap:7px}
.hh-mega-toggle{display:none}

/* The invisible bridge occupies the former hover gap so the menu cannot collapse
   while the pointer travels from Services into the mega-menu. */
.hh-mega:before{content:"";position:absolute;left:0;right:0;top:-32px;height:32px;background:transparent}
.hh-has-mega:hover>.hh-mega,.hh-has-mega:focus-within>.hh-mega,.hh-has-mega.is-mega-open>.hh-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.hh-has-mega:hover>.hh-nav__service-trigger>a,.hh-has-mega:focus-within>.hh-nav__service-trigger>a{color:#fff}

@media(max-width:1200px) and (min-width:961px){
  .hh-header__inner{gap:18px}.hh-nav ul{gap:18px}.hh-header__cta{padding-inline:17px}.hh-brand{max-width:250px}.hh-brand .hh-brand__logo,.hh-brand .custom-logo{max-height:48px}
}
@media(max-width:960px){
  .hh-brand{max-width:min(360px,68vw)}.hh-brand .hh-brand__logo,.hh-brand .custom-logo{max-height:50px}
  .hh-has-mega{width:100%}.hh-nav__service-trigger{width:100%;justify-content:space-between}
  .hh-mega-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--hh-line);background:transparent;color:var(--hh-ivory);font-size:1.25rem;line-height:1;cursor:pointer}
  .hh-has-mega:hover>.hh-mega,.hh-has-mega:focus-within>.hh-mega{display:none}
  .hh-has-mega.is-mega-open>.hh-mega{display:grid;opacity:1;visibility:visible;pointer-events:auto;transform:none!important}
  .hh-mega:before{display:none}
}
@media(max-width:640px){.hh-brand{max-width:70vw}.hh-brand .hh-brand__logo,.hh-brand .custom-logo{max-height:42px}}


/* v0.4 — stable navigation, cinematic inner pages, richer homepage and footer */
body.hh-menu-open{overflow:hidden}

/* Services mega-menu: JS manages a persistent open state; hover/focus remains a no-JS fallback. */
.hh-nav__service-trigger{gap:4px}
.hh-mega-toggle{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.75);cursor:pointer;font-size:.9rem;transition:.2s var(--hh-ease)}
.hh-mega-toggle:hover,.hh-mega-toggle:focus-visible{color:#fff;transform:translateY(1px)}
.hh-mega{top:calc(100% + 14px);transform:translateX(-50%) translateY(6px);box-shadow:0 30px 80px rgba(0,0,0,.42)}
.hh-mega:before{top:-20px;height:20px}
.hh-has-mega.is-mega-open>.hh-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.hh-has-mega.is-mega-open>.hh-nav__service-trigger>a{color:#fff}
.hh-mega__services a{padding:3px 0}

/* Static cinematic hero language used on every inner page. Featured Images override defaults. */
.hh-page-content,.hh-page-content>*,article{--hh-page-hero-image:inherit}
.hh-page-intro,.hh-page-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(520px,66vh,760px);display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--hh-line);background:#0d0d0d}
.hh-page-intro{width:100%;max-width:none;margin:0;padding:clamp(185px,22vh,270px) max(var(--hh-gutter),calc((100vw - var(--hh-max))/2 + var(--hh-gutter))) clamp(72px,9vw,125px)}
.hh-page-hero{padding:clamp(185px,22vh,270px) 0 clamp(72px,9vw,125px)}
.hh-page-intro:before,.hh-page-hero:before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--hh-page-hero-image);background-size:cover;background-position:center;filter:saturate(.72) contrast(1.05) brightness(.62);transform:scale(1.015)}
.hh-page-intro:after,.hh-page-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.9) 0%,rgba(4,4,4,.62) 46%,rgba(4,4,4,.18) 78%),linear-gradient(0deg,rgba(5,5,5,.9),transparent 58%)}
.hh-page-intro>*{max-width:900px;position:relative}.hh-page-hero .hh-container{position:relative}
.hh-page-intro .hh-h2,.hh-page-hero .hh-h2{font-size:clamp(3.4rem,7vw,7.4rem);max-width:1050px;text-wrap:balance}
.hh-page-intro .hh-lead,.hh-page-hero .hh-lead{color:#e0dad2;max-width:780px}

/* Homepage after-slider rhythm */
.hh-home-content>.hh-trust{background:#0e0e0e}
.hh-home-story{position:relative;overflow:hidden;background:#0c0c0c}
.hh-home-story:after{content:"";position:absolute;right:-8%;top:8%;width:48%;height:84%;background:linear-gradient(90deg,#0c0c0c 0%,transparent 30%),url('https://images.unsplash.com/photo-1778166166368-774d09ca24e2?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;opacity:.42;filter:saturate(.65)}
.hh-home-story__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .7fr;gap:clamp(50px,9vw,150px);align-items:end}
.hh-home-story__copy{max-width:760px}.hh-home-story__statement{padding:clamp(28px,4vw,52px);border-left:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px)}
.hh-home-story__statement blockquote{font-family:var(--hh-serif);font-size:clamp(2rem,3.8vw,4.2rem);line-height:1.02;margin:0 0 25px;font-weight:400}
.hh-home-services{background:#0a0a0a}
.hh-home-services .hh-service-card{background-size:cover;background-position:center}
.hh-service-universe .hh-service-card:nth-child(1){background-image:url('https://images.unsplash.com/photo-1661422586023-681ea60507e2?auto=format&fit=crop&w=1600&q=80')}
.hh-service-universe .hh-service-card:nth-child(2){background-image:url('https://images.unsplash.com/photo-1739545884485-6f5445dad461?auto=format&fit=crop&w=1600&q=80')}
.hh-service-universe .hh-service-card:nth-child(3){background-image:url('https://images.unsplash.com/photo-1780593116478-c46838f86523?auto=format&fit=crop&w=1600&q=80')}
.hh-service-universe .hh-service-card:nth-child(4){background-image:url('https://images.unsplash.com/photo-1739545884485-6f5445dad461?auto=format&fit=crop&w=1600&q=80')}
.hh-service-universe .hh-service-card:nth-child(5){background-image:url('https://images.unsplash.com/photo-1778166166368-774d09ca24e2?auto=format&fit=crop&w=1600&q=80')}
.hh-service-universe .hh-service-card:nth-child(6){background-image:url('https://images.unsplash.com/photo-1780593116478-c46838f86523?auto=format&fit=crop&w=1600&q=80')}
.hh-home-cinematic{position:relative;min-height:clamp(620px,78vh,880px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background-size:cover;background-position:center}
.hh-home-cinematic:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,3,3,.88),rgba(3,3,3,.3) 70%),linear-gradient(0deg,rgba(3,3,3,.88),transparent 60%)}
.hh-home-cinematic__content{padding-block:clamp(80px,10vw,145px);max-width:760px}
.hh-home-concierge{background-image:url('https://images.unsplash.com/photo-1661422586023-681ea60507e2?auto=format&fit=crop&w=2400&q=84')}
.hh-home-events{background-image:url('https://images.unsplash.com/photo-1780593116478-c46838f86523?auto=format&fit=crop&w=2400&q=84');background-position:center 55%}
.hh-home-mobility{position:relative;background:linear-gradient(180deg,#0b0b0b,#111)}
.hh-home-mobility__head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end}.hh-home-mobility__aside{border-left:1px solid var(--hh-line);padding-left:28px;color:#c9c3ba}
.hh-home-experience{background:var(--hh-ivory);color:var(--hh-black);position:relative;overflow:hidden}.hh-home-experience:after{content:"HH";position:absolute;right:-.04em;bottom:-.28em;font-family:var(--hh-serif);font-size:min(42vw,680px);line-height:1;color:rgba(0,0,0,.035);pointer-events:none}.hh-home-experience .hh-kicker{color:#686159}.hh-home-experience .hh-lead{color:#3d3934}.hh-home-experience .hh-experience{position:relative;z-index:1}
.hh-home-projects{background:#0b0b0b}
.hh-global{background-image:linear-gradient(90deg,rgba(4,4,4,.72),rgba(4,4,4,.36)),url('https://images.unsplash.com/photo-1474302770737-173ee21bab63?auto=format&fit=crop&w=2400&q=84');background-size:cover;background-position:center}
.hh-global:before{border-color:rgba(245,241,233,.28);box-shadow:0 0 0 80px rgba(245,241,233,.025),0 0 0 160px rgba(245,241,233,.018)}
.hh-home-duo{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hh-home-duo__card{position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(48px,6vw,90px);border-right:1px solid var(--hh-line);background-size:cover;background-position:center}.hh-home-duo__card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(4,4,4,.94),rgba(4,4,4,.24))}.hh-home-duo__card:first-child{background-image:url('https://images.unsplash.com/photo-1661422586023-681ea60507e2?auto=format&fit=crop&w=1600&q=80')}.hh-home-duo__card:last-child{background-image:url('https://images.unsplash.com/photo-1778166166368-774d09ca24e2?auto=format&fit=crop&w=1600&q=80')}.hh-home-duo__card>div{max-width:600px}.hh-home-duo__card p{color:#d4cec5}
.hh-home-final{position:relative;text-align:center;background:#111;border-top:1px solid var(--hh-line)}.hh-home-final .hh-lead{margin-inline:auto}.hh-home-final .hh-actions{justify-content:center}

/* New footer */
.hh-footer{padding:0;border-top:1px solid var(--hh-line);background:#070707}
.hh-footer__statement{padding:clamp(72px,9vw,135px) 0;border-bottom:1px solid var(--hh-line);background:radial-gradient(circle at 82% 15%,rgba(173,31,88,.14),transparent 32%)}
.hh-footer__statement-grid{display:grid;grid-template-columns:1.2fr .65fr;gap:clamp(50px,9vw,150px);align-items:end}
.hh-footer__statement h2{font-family:var(--hh-serif);font-weight:400;font-size:clamp(3rem,6.2vw,7rem);line-height:.94;letter-spacing:-.035em;margin:.28em 0 0}.hh-footer__statement h2 em{font-weight:400;color:#c9c2b8}.hh-footer__statement-copy p{color:#c9c3ba;font-size:1.08rem}
.hh-footer__main{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(45px,8vw,120px);padding-top:clamp(65px,7vw,100px);padding-bottom:55px}
.hh-footer__brand img{width:min(360px,100%);max-height:70px;object-fit:contain;object-position:left center}.hh-footer__brand>p{max-width:390px;color:#aaa39a;margin-top:25px}.hh-footer__socials{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}.hh-footer__socials a{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#d2ccc4}
.hh-footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.hh-footer h4{margin-top:0}.hh-footer ul{gap:11px}.hh-footer li a{color:#d1cbc2;transition:.2s}.hh-footer li a:hover{color:#fff}
.hh-footer__contact-line{display:grid;grid-template-columns:.8fr 1.3fr 1fr;border-block:1px solid var(--hh-line)}.hh-footer__contact-line>a,.hh-footer__contact-line>div{padding:28px 28px 28px 0}.hh-footer__contact-line>*+*{border-left:1px solid var(--hh-line);padding-left:28px}.hh-footer__contact-line span{display:block;text-transform:uppercase;letter-spacing:.14em;color:#7f7a73;font-size:.64rem;margin-bottom:7px}.hh-footer__contact-line strong{display:block;font-weight:400;color:#ded8d0;font-size:.9rem;overflow-wrap:anywhere}
.hh-footer__legal{margin-top:0;padding:28px 0 34px;border-top:0}

@media(max-width:1100px){.hh-footer__statement-grid,.hh-footer__main{grid-template-columns:1fr}.hh-home-story__grid{grid-template-columns:1fr .8fr}.hh-home-story:after{width:58%}.hh-footer__nav{max-width:800px}}
@media(max-width:960px){
  .hh-mega-toggle{display:grid;width:40px;height:40px;border:1px solid var(--hh-line);font-size:1rem}
  .hh-has-mega:hover>.hh-mega,.hh-has-mega:focus-within>.hh-mega{display:none}
  .hh-has-mega.is-mega-open>.hh-mega{display:grid;opacity:1;visibility:visible;pointer-events:auto;transform:none!important}
  .hh-home-story__grid,.hh-home-mobility__head{grid-template-columns:1fr}.hh-home-story:after{inset:0;width:100%;height:100%;opacity:.2}.hh-home-story__statement{max-width:620px}
  .hh-home-duo{grid-template-columns:1fr}.hh-home-duo__card{min-height:520px;border-right:0;border-bottom:1px solid var(--hh-line)}
  .hh-footer__contact-line{grid-template-columns:1fr}.hh-footer__contact-line>*+*{border-left:0;border-top:1px solid var(--hh-line);padding-left:0}.hh-footer__nav{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .hh-page-intro,.hh-page-hero{min-height:540px}.hh-page-intro{padding-top:150px;padding-left:var(--hh-gutter);padding-right:var(--hh-gutter)}.hh-page-hero{padding-top:150px}
  .hh-home-story__statement{border-left:0;border-top:1px solid var(--hh-line);padding-left:0}.hh-home-cinematic{min-height:660px}.hh-home-duo__card{min-height:500px;padding-inline:var(--hh-gutter)}
  .hh-footer__nav{grid-template-columns:1fr 1fr}.hh-footer__nav>div:first-child{grid-column:1/-1}.hh-footer__statement h2{font-size:clamp(3rem,14vw,5.2rem)}
}

.hh-fleet-card__media{background-size:cover;background-position:center}
.hh-fleet-card:nth-child(1) .hh-fleet-card__media,.hh-fleet-card:nth-child(4) .hh-fleet-card__media{background-image:url('https://images.unsplash.com/photo-1739545884485-6f5445dad461?auto=format&fit=crop&w=1200&q=76')}
.hh-fleet-card:nth-child(2) .hh-fleet-card__media,.hh-fleet-card:nth-child(5) .hh-fleet-card__media{background-image:url('https://images.unsplash.com/photo-1739545884485-6f5445dad461?auto=format&fit=crop&w=1200&q=76');background-position:center 62%}
.hh-fleet-card:nth-child(3) .hh-fleet-card__media,.hh-fleet-card:nth-child(6) .hh-fleet-card__media{background-image:url('https://images.unsplash.com/photo-1739545884485-6f5445dad461?auto=format&fit=crop&w=1200&q=76');background-position:center 42%}
.hh-fleet-card__media img{position:relative;z-index:1}
