/* =========================================================
   HAIRWAYS LUXE — Monochrome Salon Design System
   Scope: every rule is namespaced under .hw so nothing
   leaks into the Ecomus theme or WooCommerce.
   ========================================================= */

.hw{
  --hw-black:#0B0B0B;
  --hw-ink:#161616;
  --hw-carbon:#1E1E1E;
  --hw-paper:#F7F5F2;
  --hw-paper-2:#EDEAE4;
  --hw-white:#FFFFFF;
  --hw-grey:#6B6B6B;
  --hw-grey-2:#9A9A9A;
  --hw-line-d:rgba(255,255,255,.15);
  --hw-line-l:rgba(11,11,11,.13);
  --hw-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --hw-sans:'Jost','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --hw-ease:cubic-bezier(.22,.61,.36,1);
  --hw-gut:clamp(1.25rem,5vw,5rem);

  font-family:var(--hw-sans);
  font-weight:300;
  color:var(--hw-ink);
  background:var(--hw-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.hw *,.hw *::before,.hw *::after{box-sizing:border-box;}
.hw img{max-width:100%;height:auto;display:block;}
.hw a{color:inherit;text-decoration:none;}
.hw p{margin:0 0 1.15em;line-height:1.75;}
.hw p:last-child{margin-bottom:0;}
.hw ul{margin:0;padding:0;list-style:none;}

/* ---------- Layout primitives ---------- */
.hw-wrap{width:100%;max-width:1320px;margin:0 auto;padding-inline:var(--hw-gut);}
.hw-wrap--narrow{max-width:900px;}
.hw-wrap--mid{max-width:1080px;}

.hw-sec{position:relative;padding-block:clamp(4.5rem,10vw,9.5rem);overflow:hidden;}
.hw-sec--tight{padding-block:clamp(3rem,6vw,5.5rem);}
.hw-sec--paper{background:var(--hw-paper);color:var(--hw-ink);}
.hw-sec--paper2{background:var(--hw-paper-2);color:var(--hw-ink);}
.hw-sec--white{background:var(--hw-white);color:var(--hw-ink);}
.hw-sec--dark{background:var(--hw-black);color:var(--hw-paper);}
.hw-sec--dark p{color:rgba(247,245,242,.72);}

/* Hairline separators */
.hw-rule{height:1px;width:100%;background:var(--hw-line-l);border:0;margin:0;}
.hw-sec--dark .hw-rule{background:var(--hw-line-d);}

/* ---------- Typography ---------- */
.hw-eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;
  font-family:var(--hw-sans);font-size:.68rem;font-weight:400;
  letter-spacing:.34em;text-transform:uppercase;
  color:var(--hw-grey);margin:0 0 1.6rem;
}
.hw-eyebrow::before{content:'';width:clamp(24px,4vw,52px);height:1px;background:currentColor;opacity:.5;}
.hw-eyebrow--center{justify-content:center;}
.hw-sec--dark .hw-eyebrow{color:var(--hw-grey-2);}

.hw-display{
  font-family:var(--hw-serif);font-weight:300;
  font-size:clamp(2.6rem,6.4vw,5.6rem);
  line-height:1.02;letter-spacing:-.015em;
  margin:0 0 1.6rem;
}
.hw-h2{
  font-family:var(--hw-serif);font-weight:300;
  font-size:clamp(2rem,4.4vw,3.7rem);
  line-height:1.1;letter-spacing:-.012em;margin:0 0 1.4rem;
}
.hw-h3{
  font-family:var(--hw-serif);font-weight:400;
  font-size:clamp(1.35rem,2.3vw,1.95rem);
  line-height:1.2;margin:0 0 .7rem;
}
.hw-h4{
  font-family:var(--hw-sans);font-weight:400;
  font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  margin:0 0 .85rem;
}
.hw-it{font-style:italic;}
.hw-lede{
  font-size:clamp(1.02rem,1.5vw,1.22rem);
  line-height:1.85;color:var(--hw-grey);max-width:62ch;font-weight:300;
}
.hw-sec--dark .hw-lede{color:rgba(247,245,242,.7);}
.hw-center{text-align:center;}
.hw-center .hw-lede{margin-inline:auto;}

/* ---------- Buttons ---------- */
.hw-btns{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;}
.hw-center .hw-btns{justify-content:center;}
.hw-btn{
  --b:var(--hw-black);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  font-family:var(--hw-sans);font-size:.72rem;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;
  padding:1.15rem 2.4rem;border:1px solid var(--b);
  background:var(--b);color:var(--hw-paper);
  transition:background .45s var(--hw-ease),color .45s var(--hw-ease),border-color .45s var(--hw-ease);
  cursor:pointer;overflow:hidden;
}
.hw-btn:hover{background:transparent;color:var(--b);}
.hw-btn--ghost{background:transparent;color:var(--b);}
.hw-btn--ghost:hover{background:var(--b);color:var(--hw-paper);}
.hw-btn--light{--b:var(--hw-paper);background:var(--hw-paper);color:var(--hw-black);}
.hw-btn--light:hover{background:transparent;color:var(--hw-paper);}
.hw-btn--lightghost{--b:rgba(247,245,242,.55);background:transparent;color:var(--hw-paper);}
.hw-btn--lightghost:hover{background:var(--hw-paper);color:var(--hw-black);border-color:var(--hw-paper);}

.hw-link{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  padding-bottom:.45rem;border-bottom:1px solid currentColor;
  transition:gap .4s var(--hw-ease),opacity .3s;
}
.hw-link:hover{gap:1.1rem;opacity:.65;}
.hw-link::after{content:'\2192';font-size:.95rem;line-height:1;}

/* ---------- Image frames (placeholder-ready) ----------
   Swap in a photo by adding an inline background-image:
   <div class="hw-fig hw-fig--4x5" style="background-image:url('...')"></div>
   The monogram placeholder hides itself automatically.
-------------------------------------------------------- */
.hw-fig{
  position:relative;width:100%;overflow:hidden;
  background-color:var(--hw-paper-2);
  background-size:cover;background-position:center;
  filter:grayscale(1) contrast(1.04);
  transition:transform 1.1s var(--hw-ease),filter .8s var(--hw-ease);
}
.hw-fig--1x1{aspect-ratio:1/1;}
.hw-fig--4x5{aspect-ratio:4/5;}
.hw-fig--3x4{aspect-ratio:3/4;}
.hw-fig--3x2{aspect-ratio:3/2;}
.hw-fig--16x9{aspect-ratio:16/9;}
.hw-fig--tall{aspect-ratio:2/3;}
.hw-sec--dark .hw-fig{background-color:var(--hw-carbon);}

.hw-fig__mark{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.9rem;
  font-family:var(--hw-serif);font-size:2.1rem;font-weight:300;
  letter-spacing:.3em;color:rgba(11,11,11,.22);text-indent:.3em;
}
.hw-fig__mark::after{
  content:attr(data-label);
  font-family:var(--hw-sans);font-size:.58rem;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;text-indent:.26em;
  color:rgba(11,11,11,.3);max-width:80%;text-align:center;line-height:1.7;
}
.hw-sec--dark .hw-fig__mark{color:rgba(247,245,242,.2);}
.hw-sec--dark .hw-fig__mark::after{color:rgba(247,245,242,.3);}
.hw-fig[style*='background-image'] .hw-fig__mark{display:none;}

.hw-figwrap{position:relative;overflow:hidden;}
.hw-figwrap:hover .hw-fig{transform:scale(1.045);}
.hw-figcap{
  margin-top:1rem;font-size:.63rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--hw-grey);
}

/* ---------- Hero ---------- */
.hw-hero{
  position:relative;background:var(--hw-black);color:var(--hw-paper);
  min-height:clamp(560px,88vh,940px);
  display:flex;align-items:center;overflow:hidden;
}
.hw-hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(1) brightness(.42) contrast(1.1);
}
.hw-hero__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,11,11,.5) 0%,rgba(11,11,11,.25) 45%,rgba(11,11,11,.88) 100%);
}
.hw-hero__inner{position:relative;z-index:2;width:100%;padding-block:clamp(6rem,14vh,9rem);}
.hw-hero .hw-display{color:var(--hw-paper);max-width:16ch;}
.hw-hero--center .hw-display{margin-inline:auto;}
.hw-hero .hw-lede{color:rgba(247,245,242,.74);}
.hw-hero .hw-eyebrow{color:rgba(247,245,242,.62);}

.hw-hero__meta{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  border-top:1px solid var(--hw-line-d);
}
.hw-hero__meta ul{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.hw-hero__meta li{
  padding:1.5rem 0;font-size:.66rem;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(247,245,242,.68);
  border-left:1px solid var(--hw-line-d);padding-left:1.6rem;
}
.hw-hero__meta li:first-child{border-left:0;padding-left:0;}

/* Page hero (inner pages) */
.hw-phero{
  position:relative;background:var(--hw-black);color:var(--hw-paper);
  padding-block:clamp(6rem,15vw,11rem) clamp(4rem,8vw,6.5rem);overflow:hidden;
}
.hw-phero .hw-display{color:var(--hw-paper);margin-bottom:1.2rem;}
.hw-phero .hw-lede{color:rgba(247,245,242,.7);}
.hw-phero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(1) brightness(.34);opacity:.6;
}
.hw-phero__inner{position:relative;z-index:2;}
.hw-crumb{
  font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(247,245,242,.45);margin-bottom:2rem;
}
.hw-crumb a:hover{color:var(--hw-paper);}

/* ---------- Marquee ribbon ---------- */
.hw-marq{
  background:var(--hw-black);color:var(--hw-paper);
  border-block:1px solid var(--hw-line-d);
  padding-block:1.35rem;overflow:hidden;white-space:nowrap;
}
.hw-marq__track{display:inline-flex;gap:0;animation:hw-scroll 38s linear infinite;will-change:transform;}
.hw-marq:hover .hw-marq__track{animation-play-state:paused;}
.hw-marq span{
  display:inline-flex;align-items:center;gap:2.6rem;padding-inline:1.3rem;
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(247,245,242,.78);
}
.hw-marq span::after{content:'\2022';opacity:.4;font-size:.9rem;}
@keyframes hw-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Grids & cards ---------- */
.hw-grid{display:grid;gap:clamp(1.5rem,3vw,2.6rem);}
.hw-grid--2{grid-template-columns:repeat(2,1fr);}
.hw-grid--3{grid-template-columns:repeat(3,1fr);}
.hw-grid--4{grid-template-columns:repeat(4,1fr);}

.hw-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);
}
.hw-head__t{flex:1 1 420px;}
.hw-head .hw-h2{margin-bottom:0;}

/* Service card */
.hw-svc{
  position:relative;padding:clamp(1.9rem,3vw,2.7rem);
  border:1px solid var(--hw-line-l);background:var(--hw-white);
  display:flex;flex-direction:column;min-height:100%;
  transition:background .5s var(--hw-ease),color .5s var(--hw-ease),border-color .5s var(--hw-ease),transform .5s var(--hw-ease);
}
.hw-svc:hover{background:var(--hw-black);color:var(--hw-paper);border-color:var(--hw-black);transform:translateY(-4px);}
.hw-svc:hover p,.hw-svc:hover .hw-svc__n{color:rgba(247,245,242,.68);}
.hw-svc__n{
  font-family:var(--hw-sans);font-size:.64rem;letter-spacing:.26em;
  color:var(--hw-grey-2);margin-bottom:2.2rem;transition:color .5s var(--hw-ease);
}
.hw-svc .hw-h3{margin-bottom:.6rem;}
.hw-svc p{font-size:.9rem;line-height:1.8;color:var(--hw-grey);margin-bottom:0;transition:color .5s var(--hw-ease);}
.hw-svc__tag{
  margin-top:1.6rem;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--hw-grey-2);
}

/* Split feature */
.hw-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);}
.hw-split--wide{grid-template-columns:1.08fr .92fr;}
.hw-split__body{max-width:56ch;}
.hw-split--flip .hw-split__media{order:2;}

/* Numbered index list (Why Hairways) */
.hw-index{border-top:1px solid var(--hw-line-l);}
.hw-sec--dark .hw-index{border-color:var(--hw-line-d);}
.hw-index__row{
  display:grid;grid-template-columns:5.5rem minmax(0,1.05fr) minmax(0,1.55fr);
  gap:clamp(1rem,3vw,2.5rem);align-items:start;
  padding-block:clamp(1.5rem,2.6vw,2.2rem);
  border-bottom:1px solid var(--hw-line-l);
  transition:padding-left .5s var(--hw-ease),background .5s var(--hw-ease);
}
.hw-sec--dark .hw-index__row{border-color:var(--hw-line-d);}
.hw-index__row:hover{padding-left:1.2rem;}
.hw-index__n{
  font-family:var(--hw-sans);font-size:.66rem;letter-spacing:.2em;
  color:var(--hw-grey-2);padding-top:.55rem;
}
.hw-index__t{font-family:var(--hw-serif);font-size:clamp(1.2rem,1.9vw,1.6rem);font-weight:400;line-height:1.25;}
.hw-index__d{font-size:.92rem;line-height:1.85;color:var(--hw-grey);}
.hw-sec--dark .hw-index__d{color:rgba(247,245,242,.62);}

/* Pillar mini-card grid */
.hw-pillar{padding:clamp(1.6rem,2.6vw,2.2rem) 0;border-top:1px solid var(--hw-line-l);}
.hw-sec--dark .hw-pillar{border-color:var(--hw-line-d);}
.hw-pillar .hw-h3{font-size:clamp(1.15rem,1.7vw,1.4rem);}
.hw-pillar p{font-size:.88rem;color:var(--hw-grey);margin-bottom:0;}
.hw-sec--dark .hw-pillar p{color:rgba(247,245,242,.62);}

/* Statement / mission trio */
.hw-stmt{
  padding:clamp(2rem,3.4vw,3rem);border:1px solid var(--hw-line-l);
  display:flex;flex-direction:column;height:100%;background:var(--hw-white);
}
.hw-sec--dark .hw-stmt{border-color:var(--hw-line-d);background:transparent;}
.hw-stmt__q{
  font-family:var(--hw-serif);font-style:italic;font-weight:300;
  font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.5;margin:0 0 1.4rem;
}
.hw-stmt p{font-size:.9rem;color:var(--hw-grey);margin-bottom:0;}

/* Pull quote */
.hw-quote{text-align:center;max-width:22ch;margin:0 auto;}
.hw-quote__t{
  font-family:var(--hw-serif);font-weight:300;font-style:italic;
  font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.24;margin:0;
}
.hw-quote__by{
  display:block;margin-top:2.2rem;font-family:var(--hw-sans);font-style:normal;
  font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--hw-grey-2);
}
.hw-quote--wide{max-width:30ch;}

/* Steps / process */
.hw-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--hw-line-d);}
.hw-step{padding:clamp(1.8rem,3vw,2.6rem) clamp(1rem,2vw,1.8rem);border-left:1px solid var(--hw-line-d);}
.hw-step:first-child{border-left:0;padding-left:0;}
.hw-step__n{font-family:var(--hw-serif);font-size:2.4rem;font-weight:300;opacity:.32;line-height:1;margin-bottom:1.6rem;}
.hw-step .hw-h4{margin-bottom:.7rem;}
.hw-step p{font-size:.85rem;line-height:1.8;margin-bottom:0;}

/* Founders */
.hw-founder{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
.hw-founder--flip .hw-founder__media{order:2;}
.hw-founder__role{
  font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--hw-grey-2);margin-bottom:1rem;
}
.hw-founder .hw-h2{margin-bottom:1.4rem;}
.hw-founder p{color:var(--hw-grey);font-size:.96rem;}
.hw-sec--dark .hw-founder p{color:rgba(247,245,242,.68);}

.hw-facts{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--hw-line-l);}
.hw-sec--dark .hw-facts{border-color:var(--hw-line-d);}
.hw-fact__n{font-family:var(--hw-serif);font-size:clamp(2rem,3.4vw,2.9rem);font-weight:300;line-height:1;}
.hw-fact__l{margin-top:.6rem;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--hw-grey-2);}

/* Testimonials */
.hw-testi{padding:clamp(2rem,3.2vw,2.8rem);border:1px solid var(--hw-line-d);height:100%;display:flex;flex-direction:column;}
.hw-testi__stars{letter-spacing:.35em;font-size:.75rem;margin-bottom:1.6rem;opacity:.85;}
.hw-testi__t{font-family:var(--hw-serif);font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:300;line-height:1.6;margin:0 0 auto;}
.hw-testi__by{margin-top:2rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--hw-grey-2);}

/* CTA band */
.hw-cta{text-align:center;}
.hw-cta .hw-h2{max-width:18ch;margin-inline:auto;}

/* ---------- Contact ---------- */
.hw-info{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hw-line-l);}
.hw-info__c{padding:clamp(2rem,3vw,2.8rem) clamp(1.2rem,2vw,2rem);border-left:1px solid var(--hw-line-l);}
.hw-info__c:first-child{border-left:0;padding-left:0;}
.hw-info__c .hw-h4{color:var(--hw-grey-2);margin-bottom:1.2rem;}
.hw-info__c p,.hw-info__c a{font-size:.98rem;line-height:1.8;color:var(--hw-ink);}
.hw-info__c a:hover{opacity:.6;}

.hw-hours{width:100%;border-collapse:collapse;}
.hw-hours td{
  padding:1.05rem 0;border-bottom:1px solid var(--hw-line-l);
  font-size:.88rem;letter-spacing:.02em;
}
.hw-sec--dark .hw-hours td{border-color:var(--hw-line-d);}
.hw-hours td:last-child{text-align:right;color:var(--hw-grey);}
.hw-sec--dark .hw-hours td:last-child{color:rgba(247,245,242,.62);}
.hw-hours tr:last-child td{border-bottom:0;}

.hw-map{width:100%;aspect-ratio:16/7;border:1px solid var(--hw-line-l);filter:grayscale(1) contrast(1.05);background:var(--hw-paper-2);}
.hw-map iframe{width:100%;height:100%;border:0;display:block;}

/* Placeholder callout — remove once real data is in */
.hw-todo{
  display:inline-block;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.3rem .6rem;border:1px dashed rgba(11,11,11,.35);color:var(--hw-grey);
  margin-left:.5rem;vertical-align:middle;
}
.hw-sec--dark .hw-todo{border-color:rgba(247,245,242,.4);color:rgba(247,245,242,.6);}

/* ---------- Contact Form 7 restyle ---------- */
.hw-form .wpcf7{margin:0;}
.hw-form .em-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;}
.hw-form .em-md-12{grid-column:1/-1;}
.hw-form label{
  display:block;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--hw-grey-2);margin-bottom:.75rem;
}
.hw-form input[type=text],
.hw-form input[type=email],
.hw-form input[type=tel],
.hw-form input[type=date],
.hw-form select,
.hw-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--hw-line-l);
  border-radius:0;padding:.95rem 0;font-family:var(--hw-sans);font-size:1rem;font-weight:300;
  color:var(--hw-ink);transition:border-color .4s var(--hw-ease);appearance:none;
}
.hw-form textarea{min-height:130px;resize:vertical;}
.hw-form input:focus,.hw-form select:focus,.hw-form textarea:focus{outline:0;border-bottom-color:var(--hw-black);}
.hw-form ::placeholder{color:var(--hw-grey-2);opacity:1;}
.hw-form select{background-image:linear-gradient(45deg,transparent 50%,var(--hw-grey) 50%),linear-gradient(135deg,var(--hw-grey) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem;}
.hw-form input[type=submit],
.hw-form .wpcf7-submit{
  width:auto;background:var(--hw-black);color:var(--hw-paper);
  border:1px solid var(--hw-black);border-radius:0;
  padding:1.15rem 2.8rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  cursor:pointer;transition:background .45s var(--hw-ease),color .45s var(--hw-ease);
}
.hw-form input[type=submit]:hover,.hw-form .wpcf7-submit:hover{background:transparent;color:var(--hw-black);}
.hw-form .wpcf7-not-valid-tip{font-size:.72rem;color:#8a1f1f;margin-top:.5rem;letter-spacing:.04em;}
.hw-form .wpcf7-response-output{
  border:1px solid var(--hw-line-l)!important;margin:1.8rem 0 0!important;padding:1rem 1.2rem!important;
  font-size:.8rem;letter-spacing:.06em;
}
.hw-form .wpcf7-spinner{margin-left:1rem;}

/* ---------- Accordion (FAQ) ---------- */
.hw-acc{border-top:1px solid var(--hw-line-l);}
.hw-acc__item{border-bottom:1px solid var(--hw-line-l);}
.hw-acc__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  background:transparent;border:0;cursor:pointer;text-align:left;
  padding:clamp(1.3rem,2.4vw,1.9rem) 0;
  font-family:var(--hw-serif);font-size:clamp(1.08rem,1.7vw,1.35rem);font-weight:400;
  color:inherit;
}
.hw-acc__q::after{content:'+';font-family:var(--hw-sans);font-size:1.3rem;font-weight:300;transition:transform .45s var(--hw-ease);flex:none;}
.hw-acc__item.is-open .hw-acc__q::after{transform:rotate(45deg);}
.hw-acc__a{max-height:0;overflow:hidden;transition:max-height .55s var(--hw-ease);}
.hw-acc__a > div{padding-bottom:1.7rem;max-width:70ch;color:var(--hw-grey);font-size:.94rem;line-height:1.85;}

/* ---------- Sticky booking bar ---------- */
.hw-bookbar{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;
  background:var(--hw-black);color:var(--hw-paper);
  border-top:1px solid var(--hw-line-d);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.95rem clamp(1rem,4vw,3rem);
  transform:translateY(110%);transition:transform .55s var(--hw-ease);
}
.hw-bookbar.is-on{transform:translateY(0);}
.hw-bookbar__t{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(247,245,242,.72);}
.hw-bookbar__t b{color:var(--hw-paper);font-weight:400;}
.hw-bookbar .hw-btn{padding:.85rem 1.9rem;font-size:.65rem;}

/* ---------- Scroll reveal ---------- */
.hw-rv{opacity:0;transform:translateY(26px);transition:opacity .95s var(--hw-ease),transform .95s var(--hw-ease);}
.hw-rv.is-in{opacity:1;transform:none;}
.hw-rv[data-d='1']{transition-delay:.09s;}
.hw-rv[data-d='2']{transition-delay:.18s;}
.hw-rv[data-d='3']{transition-delay:.27s;}
.hw-rv[data-d='4']{transition-delay:.36s;}

@media (prefers-reduced-motion:reduce){
  .hw-rv{opacity:1;transform:none;transition:none;}
  .hw-marq__track{animation:none;}
  .hw *{transition-duration:.01ms!important;}
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hw-grid--4{grid-template-columns:repeat(2,1fr);}
  .hw-grid--3{grid-template-columns:repeat(2,1fr);}
  .hw-steps{grid-template-columns:repeat(2,1fr);}
  .hw-step{border-left:1px solid var(--hw-line-d);border-top:1px solid var(--hw-line-d);padding-left:clamp(1rem,2vw,1.8rem);}
  .hw-step:nth-child(odd){border-left:0;padding-left:0;}
  .hw-info{grid-template-columns:repeat(2,1fr);}
  .hw-info__c:nth-child(odd){border-left:0;padding-left:0;}
  .hw-index__row{grid-template-columns:3.5rem 1fr;}
  .hw-index__d{grid-column:2/-1;}
}

@media (max-width:820px){
  .hw-split,.hw-founder{grid-template-columns:1fr;}
  .hw-split--flip .hw-split__media,.hw-founder--flip .hw-founder__media{order:0;}
  .hw-grid--2{grid-template-columns:1fr;}
  .hw-hero{min-height:auto;padding-block:clamp(5rem,16vh,7rem) 0;}
  .hw-hero__meta{position:static;margin-top:3.5rem;}
  .hw-hero__meta li{border-left:0;padding-left:0;border-top:1px solid var(--hw-line-d);}
  .hw-hero__meta li:first-child{border-top:0;}
  .hw-form .em-row{grid-template-columns:1fr;}
  .hw-bookbar{flex-direction:column;align-items:stretch;text-align:center;gap:.8rem;}
  .hw-bookbar .hw-btn{width:100%;}
}

@media (max-width:560px){
  .hw-grid--3,.hw-grid--4,.hw-steps,.hw-info{grid-template-columns:1fr;}
  .hw-step,.hw-info__c{border-left:0;padding-left:0;}
  .hw-facts{gap:1.8rem;}
}

/* ---------- Host page resets (Elementor Full Width) ---------- */
.hw-page .elementor-section,
.hw-page .e-con,
.hw-page .elementor-widget-wrap{padding:0!important;}
.hw-page .elementor-widget-html{margin-bottom:0!important;}
.hw-page .e-con-inner{max-width:none!important;padding:0!important;}
.hw-page .site-content,
.hw-page .content-area{padding-block:0!important;margin-block:0!important;}
.hw-page .page-header,
.hw-page .entry-header,
.hw-page .breadcrumb{display:none!important;}


/* =========================================================
   HAIRWAYS OVERRIDES 2026-10-01
   1. Body copy was set small - the mission trio in
      particular ran at .9rem, which is below comfortable
      reading size on a phone. Raised across the three
      blocks that carry real prose.
   2. Photographs show in FULL COLOUR. The design system
      greyscales every figure, and the client has asked
      more than once that their own photographs keep their
      colour. The page hero stays dark - white display type
      sits on it - but it is dark colour, not greyscale.
   ========================================================= */

.hw-stmt p{font-size:1.02rem;line-height:1.8;}
.hw-stmt__q{font-size:clamp(1.25rem,2vw,1.62rem);line-height:1.52;}
.hw-founder p{font-size:1.04rem;line-height:1.85;}
.hw-index__d{font-size:1.01rem;line-height:1.8;}
.hw-lede{font-size:clamp(1.08rem,1.6vw,1.28rem);}
.hw-founder__role{font-size:.7rem;}
.hw-h4{font-size:.86rem;}
.hw-fact__l{font-size:.66rem;}
.hw-fig__mark::after{font-size:.62rem;}

/* colour, not greyscale */
.hw-fig{filter:none;}
.hw-figwrap:hover .hw-fig{filter:none;}
.hw-phero__bg{filter:brightness(.4) saturate(.92);opacity:.66;}
