/* ==========================================================================
   BRAND TOKENS — MICHAEL ANTHONY WINDOW & DOOR
   Change colors/fonts here = whole site updates.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Lobster&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
  /* brand */
  --c-primary:#6F0A2B; --c-primary-dark:#6F0A2B; --c-primary-hover:#6F0A2B;
  --c-dark-text:#b3a693; --c-dark-heading:#f4ede2; --c-dark-quote:#ece3d5; --c-dark-muted:#9a8f7f;
  --c-maroon-text:#f2d7db; --c-maroon-eyebrow:#f0c3ca;
  --c-image-bg:#e6ddd2; --c-areas-text:#5c544d; --btn-light-hover:#f7f4f0;
  --c-accent:#b08d4c; --c-accent-2:#cdb07a; --c-accent-3:#e6c988; --c-lightbl:#030303;

  /* type */
  --font-head:'Lobster',sans-serif; --font-body:'Montserrat',sans-serif;

  /* neutrals */
  --c-ink:#6F0A2B; --c-ink-2:#000000; --c-ink-3:#696868;
  --c-paper:#faf7f2; --c-paper-2:#fffdfb; --c-tint:#f2ede6;
  --c-line:#e6ddd0; --c-line-2:#efe7db; --c-dark:#1c1613; --c-light:#fff;

  /* buttons */
  --btn-bg:var(--c-primary); --btn-text:#fff; --btn-bg-hover:var(--c-primary-dark);

  /* spacing / shape */
  --space-section:48px; --gap:28px;
  --r-sm:2px; --r-md:4px; --r-pill:500px;
  --shadow-1:0 2px 10px rgba(28,19,17,.06); --shadow-2:0 40px 90px rgba(28,19,17,.10);

  /* type scale */
  --fs-h1:clamp(38px,5vw,60px); --fs-h2:clamp(30px,4vw,52px);
  --fs-h3:clamp(24px,2.6vw,36px); --fs-body:16px;

  /* banner (bnl-0) family */
  --bn-card:rgba(28,22,19,.86); --bn-card-solid:var(--c-dark);
  --bn-card-radius:12px; --bn-btn-radius:10px;
}
@media all and (max-width:640px){ :root{ --space-section:48px; --gap:18px; } }

html{scroll-behavior:smooth;}

/* base type inside Webware wrapper */
.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,.is-wrapper h4,.is-wrapper h5{
  font-family:var(--font-head); color:var(--c-ink); text-wrap:balance;
}
.is-wrapper p,.is-wrapper li{ font-family:var(--font-body); color:var(--c-ink-2); }

/* anchor scroll offset (fixed header clearance) */
#top,#services,#contact{ scroll-margin-top:100px; }

/* ==========================================================================
   HERO BANNER (bnl-0)
   ========================================================================== */
.bnl-0 .bn-overlay{ display:none; }
.bnl-0 .pos-ab-ban{ z-index:3; }
.bnl-0 .bn-content{
  max-width:600px; text-align:left; margin-left:0; margin-right:auto;
  padding:36px 36px; border-radius:var(--bn-card-radius);
  background:var(--bn-card); color:var(--c-light);
}
.bnl-0 .mawd-bn-eyebrow{
  display:inline-block; font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--c-accent-3); margin-bottom:18px;
}
.bnl-0 .bn-content h1{
  font-family:var(--font-head); color:var(--c-light);
  font-size:clamp(27px,3.4vw,46px); font-weight:600; line-height:1.06;
  letter-spacing:-.01em; margin:0 0 16px;
}
.bnl-0 .bn-content p{
  font-family:var(--font-body); color:rgba(255,255,255,.9);
  font-size:14.5px; line-height:1.72; margin:0 0 18px;
}
.bnl-0 .bn-content p:last-child{ margin-bottom:0; }
.bnl-0 .mawd-bn-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.bnl-0 .bn-content .button{
  display:inline-block; background:var(--c-primary); color:var(--c-light);
  padding:14px 30px; border-radius:var(--bn-btn-radius) !important;
  font-family:var(--font-body); font-weight:700; font-size:12px;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none; text-shadow:none;
  transition:all .2s; box-shadow:0 4px 14px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.2);
}
.bnl-0 .bn-content .button:hover{ transform:translateY(-2px); background:transparent !important; }
.bnl-0 .bn-content .button.is-ghost{
  background:transparent; border:1px solid rgba(255,255,255,.6); box-shadow:none;
}
.bnl-0 .bn-content .button.is-ghost:hover{
  background:var(--c-light); color:var(--c-light); border-color:var(--c-light);
}
@media(max-width:1023.5px){
  .bnl-0 .bn-content{
    max-width:100%; text-align:left; margin-left:0; margin-right:auto;
    padding:36px 36px; border-radius:0;
    background:transparent; color:inherit;
  }
}

/* ==========================================================================
   SECTION BACKGROUNDS (wrapper-scoped) + vertical rhythm
   ========================================================================== */
.is-wrapper > .mawd-cream,  .is-wrapper .mawd-cream { background:var(--c-paper); }
.is-wrapper > .mawd-paper2, .is-wrapper .mawd-paper2{ background:var(--c-paper-2); }
.is-wrapper > .mawd-tint,   .is-wrapper .mawd-tint  { background:var(--c-tint); }
.is-wrapper > .mawd-dark,   .is-wrapper .mawd-dark  { background:var(--c-dark); }
.is-wrapper > .mawd-maroon, .is-wrapper .mawd-maroon{ background:var(--c-primary); }

.is-wrapper .mawd-cream,
.is-wrapper .mawd-paper2,
.is-wrapper .mawd-tint,
.is-wrapper .mawd-dark,
.is-wrapper .mawd-maroon{ padding:var(--space-section) 0; }
.is-section.is-section-auto.is-box.mawd-dark{ padding:0;height: 0; }

.mawd-topline{ border-top:1px solid var(--c-line-2); }

/* dark / maroon text inversions */
.mawd-dark h1,.mawd-dark h2,.mawd-dark h3,.mawd-dark h4,.mawd-dark h5{ color:var(--c-paper-2); }
.mawd-dark p,.mawd-dark li{ color:var(--c-dark-text); }
.mawd-maroon h1,.mawd-maroon h2,.mawd-maroon h3{ color:var(--c-light); }
.mawd-maroon p{ color:var(--c-maroon-text); }

/* ==========================================================================
   MARQUEE RIBBON
   ========================================================================== */
.mawd-marquee-cell{ overflow:hidden; }
.mawd-marquee{ position:relative; width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; }
.mawd-marquee-track{ display:flex; width:max-content; animation:mawdMarquee 34s linear infinite; }
.mawd-marquee-set{
  display:inline-flex; align-items:center; gap:40px; padding:22px 40px 22px 0;
  font-family:var(--font-head); font-style:italic; font-size:clamp(20px,2.4vw,27px);
  color:var(--c-line-2); white-space:nowrap;
}
.mawd-mq-sep{ color:var(--c-accent); font-size:13px; font-style:normal; }
@keyframes mawdMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ==========================================================================
   SHARED — eyebrow + centered intro
   ========================================================================== */
.mawd-eyebrow{ display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:22px; }
.mawd-eyebrow.is-left{ justify-content:flex-start; }
.mawd-eyebrow-rule{ display:inline-block; width:30px; height:1px; background:var(--c-accent); }
.mawd-eyebrow-label{
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--c-ink-3);
}
.mawd-dark .mawd-eyebrow-rule,.mawd-maroon .mawd-eyebrow-rule{ background:var(--c-accent-2); }
.mawd-dark .mawd-eyebrow-label{ color:var(--c-accent-2); }
.mawd-maroon .mawd-eyebrow-label{ color:var(--c-maroon-eyebrow); }

.mawd-intro{ max-width:90%; margin:0 auto 30px; text-align:center; }
.mawd-intro h2{ font-size:var(--fs-h2); font-weight:500; line-height:1.08; margin:0 0 22px; }
.mawd-intro p{ font-size:16px; line-height:1.8; max-width:560px; margin:0 auto; }

/* ==========================================================================
   SERVICES
   ========================================================================== */
.mawd-svc-cell,.mawd-review-cell{ display:flex; }
.mawd-svc{
  background:var(--c-paper-2); border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
  padding:50px 42px; width:100%; height:100%; display:flex; flex-direction:column;
  transition:transform .3s, box-shadow .3s;
}
.mawd-svc:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); }
.mawd-svc-icon{ margin-bottom:28px; color:var(--c-accent); line-height:0; }
.mawd-svc h3{ font-family:var(--font-head); font-weight:600; font-size:26px; line-height:1.12; margin:0 0 14px; color:var(--c-ink); }
.mawd-svc p{ font-size:15px; line-height:1.8; margin:0 0 28px; flex:1; }
.mawd-svc-more{
  display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body);
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--c-lightbl);
}
.mawd-arrow{ color:var(--c-accent); font-size:15px; }

/* ==========================================================================
   FRAMED IMAGE (blog + feature rows)
   ========================================================================== */
.mawd-frame{ position:relative; padding:16px; }
.mawd-frame::before{ content:""; position:absolute; inset:0; border:1px solid var(--c-accent-2); pointer-events:none; }
.mawd-frame-inner{ position:relative; overflow:hidden; background:var(--c-image-bg); aspect-ratio:4/5; }
.mawd-frame.is-wide .mawd-frame-inner{ aspect-ratio:5/4; }
.mawd-frame-inner img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.mawd-frame:hover .mawd-frame-inner img{ transform:scale(1.05); }

/* ==========================================================================
   BLOG / MATERIALS
   ========================================================================== */
.mawd-media-img-cell{ display:flex; }
.mawd-media-img{ width:100%; }
.mawd-media-text-cell{ display:flex; align-items:center; }
.mawd-media-text{ width:100%; }
.mawd-media-text h2{ font-size:clamp(28px,3.4vw,44px); font-weight:500; line-height:1.1; margin:0 0 24px; }
.mawd-media-text p{ font-size:16px; line-height:1.8; margin:0 0 20px; }
.mawd-media-text p.mawd-mt-last{ margin-bottom:36px; }
.mawd-link{
  display:inline-flex; align-items:center; gap:12px; font-family:var(--font-body);
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--c-primary);
  border-bottom:1px solid var(--c-accent-2); padding-bottom:6px; text-decoration:none;
  transition:gap .2s, color .2s;
}
.mawd-link:hover{ gap:18px; color:var(--c-primary-dark); }

/* ==========================================================================
   WHY / FEATURE ROWS — editorial numbered chapters
   ========================================================================== */
/* Counter: reset on any section-bg wrapper, increment per feat-row */
.mawd-cream, .mawd-paper-2, .mawd-tint, .mawd-dark{ counter-reset:featrow; }

.mawd-feat-row{ margin-bottom:88px; counter-increment:featrow; position:relative; }
.mawd-feat-row:last-child{ margin-bottom:0; }
@media(min-width:1024px){
  .mawd-feat-row > .grid-x{ align-items:flex-start !important; }
  .mawd-feat-row .mawd-feat-media-cell{
    position:sticky; top:110px; align-self:flex-start;
  }
  .mawd-feat-row.mawd-rev .mawd-feat-media-cell{ order:1; }
  .mawd-feat-row.mawd-rev .mawd-feat-text-cell{ order:2; }
}
@media(max-width:1023.98px){
  .mawd-feat-media-cell{ order:1; position:static; }
  .mawd-feat-text-cell{ order:2; margin-top:14px; }
}

/* Text panel */
.mawd-feat-text{ position:relative; }
.mawd-feat-text::before{
  content:counter(featrow,decimal-leading-zero);
  display:block;
  font-family:var(--font-head); font-style:italic; font-weight:400;
  font-size:clamp(44px,5vw,64px); line-height:1;
  color:var(--c-accent); letter-spacing:-.02em;
  margin:0 0 20px; opacity:.92;
}
.mawd-feat-text h2,
.mawd-feat-text h3{
  font-family:var(--font-head); font-weight:600;
  line-height:1.14; margin:0 0 22px; color:var(--c-ink);
  position:relative; padding-top:22px;
}
.mawd-feat-text h2{ font-size:var(--fs-h2); }
.mawd-feat-text h3{ font-size:var(--fs-h3); }
.mawd-feat-text h2::before,
.mawd-feat-text h3::before{
  content:""; position:absolute; top:0; left:0;
  width:44px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}
.mawd-feat-text p{ font-size:16px; line-height:1.8; margin:0 0 18px; }
.mawd-feat-text p:last-child{ margin-bottom:0; }

/* Image treatment — hover interactions */
.mawd-feat-media .mawd-frame{
  overflow:hidden; border-radius:var(--r-md);
  box-shadow:0 30px 60px rgba(28,19,17,.14);
  transition:box-shadow .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);
}
.mawd-feat-media img{ transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.mawd-feat-row:hover .mawd-feat-media .mawd-frame{
  box-shadow:0 40px 80px rgba(28,19,17,.2); transform:translateY(-4px);
}
.mawd-feat-row:hover .mawd-feat-media img{ transform:scale(1.04); }

/* Feat-row VARIANT with tick-list cell — CSS Grid: image top-left, list bottom-left, text spans right */
@media(min-width:1024px){
  .mawd-feat-row:has(.mawd-feat-list-cell) > .grid-x{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "media text"
      "list  text";
    gap:36px 60px;
    align-items:start;
  }
  .mawd-feat-row:has(.mawd-feat-list-cell).mawd-rev > .grid-x{
    grid-template-areas:
      "text media"
      "text list";
  }
  .mawd-feat-row:has(.mawd-feat-list-cell) .mawd-feat-media-cell{
    grid-area:media; position:static;   /* override sticky when list present */
    order:unset;
  }
  .mawd-feat-row:has(.mawd-feat-list-cell) .mawd-feat-text-cell{
    grid-area:text; align-self:start;
    order:unset; padding-top:0;
  }
  .mawd-feat-row:has(.mawd-feat-list-cell) .mawd-feat-list-cell{
    grid-area:list; align-self:start;
    order:unset;
  }
}
@media(max-width:1023.98px){
  .mawd-feat-list-cell{ order:3; margin-top:20px; }
}

/* ==========================================================================
   REVIEWS (light)
   ========================================================================== */
.mawd-rating{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 60px; }
.mawd-stars{ color:var(--c-accent); font-size:15px; letter-spacing:3px; }
.mawd-rating-label{ font-family:var(--font-body); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink-3); }
.mawd-review{
  position:relative; border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:46px 40px; width:100%; height:100%; display:flex; flex-direction:column;
  background:var(--c-paper-2); box-shadow:var(--shadow-1);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .4s, box-shadow .4s;
}
.mawd-review:hover{ transform:translateY(-8px); border-color:var(--c-accent-2); box-shadow:var(--shadow-2); }
.mawd-review-mark{ font-family:var(--font-head); font-size:78px; line-height:.5; color:var(--c-accent); opacity:.32; }
.mawd-review .mawd-stars{ margin:26px 0 20px; }
.mawd-review-quote{ flex:1; margin:0 0 30px; font-family:var(--font-head); font-style:italic; font-size:22px; line-height:1.55; color:var(--c-ink); }
.mawd-review-foot{ display:flex; align-items:center; gap:15px; border-top:1px solid var(--c-line); padding-top:24px; }
.mawd-avatar{
  width:46px; height:46px; flex-shrink:0; border-radius:50%; border:1px solid var(--c-accent);
  color:var(--c-primary); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-size:20px;
}
.mawd-review-name{ font-family:var(--font-head); font-size:20px; color:var(--c-ink); line-height:1.2; }
.mawd-review-role{ font-family:var(--font-body); font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-3); margin-top:2px; }

/* ==========================================================================
   CTA (maroon)
   ========================================================================== */
.mawd-cta{ position:relative; text-align:center; overflow:hidden; }
.mawd-cta::before{
  content:""; position:absolute; inset:0; opacity:.12; pointer-events:none;
  background-image:linear-gradient(to right,var(--c-light) 1px,transparent 1px),linear-gradient(to bottom,var(--c-light) 1px,transparent 1px);
  background-size:132px 132px;
}
.mawd-cta::after{
  content:""; position:absolute; inset:0; opacity:.14; pointer-events:none;
  background:radial-gradient(circle at 50% 0%,var(--c-light) 0%,transparent 55%);
}
.mawd-cta > *{ position:relative; z-index:1; }
.mawd-cta h2{ font-size:clamp(30px,4vw,48px); font-weight:600; line-height:1.12; margin:14px 0 24px; color:var(--c-light); }
.mawd-cta p{ font-size:17px; line-height:1.75; margin:0 auto 40px; max-width:680px; }
.mawd-btn-light{
  display:inline-block; background:var(--c-light); color:var(--c-primary);
  padding:19px 44px; font-family:var(--font-body); font-size:13px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; border-radius:var(--bn-btn-radius); text-decoration:none; transition:all .2s;
}
.mawd-btn-light:hover{ background:var(--btn-light-hover); color:var(--c-primary-dark); transform:translateY(-2px); }

/* ==========================================================================
   SERVICE AREAS — layered atlas
   ========================================================================== */
.mawd-atlas{
  position:relative; max-width:1160px; margin:0 auto;
  padding:26px 26px 30px;
  background:radial-gradient(140% 120% at 100% 0%,var(--c-primary-dark) 0%,var(--c-dark) 58%);
  border-radius:var(--r-sm);
  box-shadow:0 40px 90px rgba(28,19,17,.28),0 12px 34px rgba(28,19,17,.20);
}
.mawd-atlas-corner{
  position:absolute; top:18px; right:18px; width:66px; height:66px;
  border-top:1.5px solid var(--c-accent-2); border-right:1.5px solid var(--c-accent-2);
  opacity:.75; pointer-events:none;
}
.mawd-atlas-card{
  position:relative; z-index:1;
  background:var(--c-paper-2); border-radius:var(--r-sm);
  border-top:2px solid var(--c-accent);
  padding:80px 90px 92px; text-align:center;
}
.mawd-atlas-card .mawd-eyebrow{ justify-content:center; }
.mawd-atlas-card .mawd-eyebrow-rule{ background:var(--c-accent); }
.mawd-atlas-card .mawd-eyebrow-label{ color:var(--c-ink-3); letter-spacing:.32em; }
.mawd-atlas-card .mawd-areas-lead{
  margin:26px auto 0; max-width:820px; text-align:center;
  font-family:var(--font-body); font-size:16px; line-height:1.95; color:var(--c-areas-text);
}
.mawd-atlas-rule{ width:64px; height:2px; margin:44px auto 40px; background:linear-gradient(90deg,var(--c-primary),var(--c-accent)); }
.mawd-atlas-card .mawd-areas-list{
  margin:0 auto; max-width:1000px; text-align:center;
  font-family:var(--font-head); font-weight:500; font-style:italic;
  font-size:clamp(30px,4vw,52px); line-height:1.28; letter-spacing:-.005em; color:var(--c-ink-3);
}
.mawd-atlas-card .mawd-areas-list b{ font-style:normal; font-weight:600; color:var(--c-primary); }

/* ==========================================================================
   FAQ — editorial hairline rows (dark, native details/summary — no JS)
   ========================================================================== */
.mawd-faq-list{ display:flex; flex-direction:column; margin:0; max-width:1040px; margin-left:auto; margin-right:auto; }
.mawd-faq{
  position:relative; background:transparent; border:none; border-top:1px solid rgba(205,176,122,.16);
  padding:0; overflow:hidden; transition:background .35s;
}
.mawd-faq:last-child{ border-bottom:1px solid rgba(205,176,122,.16); }
.mawd-faq::before{
  content:""; position:absolute; top:0; bottom:0; left:0; width:2px;
  background:linear-gradient(180deg,var(--c-accent),var(--c-accent-3));
  transform:scaleY(0); transform-origin:top; transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.mawd-faq[open]{ background:linear-gradient(180deg,rgba(176,141,76,.06),rgba(176,141,76,0)); }
.mawd-faq[open]::before{ transform:scaleY(1); }
.mawd-faq summary{
  position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:baseline;
  gap:32px; padding:34px 28px 34px 40px; cursor:pointer; list-style:none;
  font-family:var(--font-head); font-weight:500; font-size:clamp(20px,2vw,26px); line-height:1.34; color:var(--c-dark-heading);
  transition:color .3s;
}
.mawd-faq summary::before{
  content:counter(faq,decimal-leading-zero);
  font-family:var(--font-head); font-style:italic; font-weight:500;
  font-size:clamp(28px,3vw,40px); line-height:1; color:var(--c-accent); min-width:56px; margin-right:8px;
}
.mawd-faq-list{ counter-reset:faq; }
.mawd-faq{ counter-increment:faq; }
.mawd-faq summary:hover{ color:var(--c-accent-3); }
.mawd-faq summary::-webkit-details-marker{ display:none; }
.mawd-faq-icon{
  position:relative; width:36px; height:36px; flex-shrink:0; align-self:center;
  border:1px solid rgba(205,176,122,.45); border-radius:50%;
  transition:border-color .35s, background .35s, transform .55s cubic-bezier(.2,.7,.2,1);
}
.mawd-faq-icon::before,
.mawd-faq-icon::after{
  content:""; position:absolute; top:50%; left:50%; background:var(--c-accent);
  transition:transform .45s cubic-bezier(.2,.7,.2,1), background .35s;
}
.mawd-faq-icon::before{ width:12px; height:1.5px; transform:translate(-50%,-50%); }
.mawd-faq-icon::after { width:1.5px; height:12px; transform:translate(-50%,-50%); }
.mawd-faq[open] .mawd-faq-icon{ background:var(--c-accent); border-color:var(--c-accent); transform:rotate(180deg); }
.mawd-faq[open] .mawd-faq-icon::before{ background:var(--c-dark); }
.mawd-faq[open] .mawd-faq-icon::after { transform:translate(-50%,-50%) scaleY(0); }
.mawd-faq-body{ padding:0 40px 42px 128px; }
.mawd-faq-body p{
  font-family:var(--font-body); font-size:16px; line-height:1.9; margin:0;
  color:var(--c-dark-quote); max-width:720px;
}
.mawd-faq-foot{ text-align:center; margin-top:64px; }
.mawd-faq-foot p{ font-family:var(--font-head); font-style:italic; font-size:19px; color:var(--c-dark-heading); margin:0 0 22px; }
.mawd-btn-solid{
  display:inline-flex; align-items:center; gap:12px; background:var(--c-primary); color:var(--c-light);
  padding:15px 32px; font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; border-radius:var(--bn-btn-radius); text-decoration:none; transition:background .2s;
}
.mawd-btn-solid:hover{ background:var(--c-primary-hover); color:var(--c-light); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .mawd-svc{ padding:42px 34px; }
  .mawd-review{ padding:34px 28px; }
  .mawd-feat-row{ margin-bottom:64px; }
}
@media(max-width:1023.5px){
  .mawd-feat-row{ margin-bottom:52px; }
  .mawd-feat-text::before{ font-size:38px; margin-bottom:14px; }
  .mawd-feat-text h3{ padding-top:18px; }
  .mawd-atlas{ padding:14px 14px 16px; }
  .mawd-atlas-corner{ top:12px; right:12px; width:48px; height:48px; }
  .mawd-atlas-card{ padding:48px 28px 54px; }
  .mawd-atlas-rule{ margin:32px auto 30px; }
  .mawd-review{ padding:38px 30px; }
  .mawd-svc{ padding:38px 30px; }
  .bnl-0 .bn-content{ padding:26px 22px; }
  .mawd-faq summary{ padding:22px 16px 22px 20px; gap:18px; font-size:17px; }
  .mawd-faq summary::before{ min-width:40px; font-size:24px; }
  .mawd-faq-body{ padding:0 20px 26px 76px; }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .mawd-marquee-track{ animation:none; }
  .mawd-svc,.mawd-review,.mawd-frame-inner img,.mawd-btn-light,.mawd-link,.mawd-svc-more,
  .bnl-0 .bn-content .button,.mawd-faq,.mawd-faq-icon{ transition:none; }
}

/* ==========================================================================
   ABOUT PAGE — components
   ========================================================================== */

/* Intro block heading (H1 sits inside .mawd-feat-text on About) */
.mawd-feat-text h1{ font-family:var(--font-head); font-weight:600; font-size:var(--fs-h1); line-height:1.08; letter-spacing:-.01em; margin:0 0 26px; color:var(--c-ink); text-wrap:balance; }

/* Mission ribbon (maroon) */
.mawd-mission{
  max-width:900px; margin:0 auto; text-align:center; padding:8px 0;
  font-family:var(--font-head); font-style:italic; font-weight:500;
  font-size:clamp(26px,3.4vw,42px); line-height:1.36; letter-spacing:-.005em; color:var(--c-light);
  text-wrap:balance;
}
.mawd-mission::before{ content:""; display:block; width:64px; height:2px; margin:0 auto 34px; background:linear-gradient(90deg,var(--c-accent),var(--c-accent-3)); }

/* Brand sign-off tagline (italic serif callout on cream/paper sections) */
.mawd-signoff{
  font-family:var(--font-head); font-style:italic; font-weight:500;
  font-size:clamp(22px,2.6vw,30px); line-height:1.4; letter-spacing:-.005em;
  color:var(--c-primary); text-align:center;
  margin:44px auto 0; padding-top:36px; max-width:640px;
  position:relative; text-wrap:balance;
}
.mawd-signoff::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:60px; height:1px; background:var(--c-accent);
}
@media(max-width:640px){
  .mawd-signoff{ margin-top:34px; padding-top:28px; }
}

/* Founder greeting statement (H2 lead-in) */
.mawd-founder-greet{
  font-family:var(--font-head); font-weight:500; font-style:italic;
  font-size:clamp(24px,2.6vw,34px); line-height:1.3; letter-spacing:-.005em;
  margin:0 0 26px; color:var(--c-ink); text-wrap:balance;
}

/* Narrative column (long editorial paragraph) */
.mawd-narrative{ max-width:820px; margin:0 auto; }
.mawd-narrative.is-center{ text-align:center; }
.mawd-narrative p{ font-family:var(--font-body); font-size:17px; line-height:1.95; color:var(--c-ink-2); margin:0; }
.mawd-narrative p + p{ margin-top:22px; }

@media(max-width:1024px){
  .mawd-mission::before{ margin-bottom:26px; }
  .mawd-narrative p{ font-size:16px; line-height:1.85; }
}

/* ==========================================================================
   SERVICES LISTING — image-top card variant + anchor "Read more"
   ========================================================================== */
.mawd-svc.has-media{ padding:0; overflow:hidden; }
.mawd-svc-media{ position:relative; overflow:hidden; background:var(--c-image-bg); aspect-ratio:4/3; }
.mawd-svc-media img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.mawd-svc.has-media:hover .mawd-svc-media img{ transform:scale(1.06); }
.mawd-svc-body{ padding:36px 34px 40px; display:flex; flex-direction:column; flex:1; }
.mawd-svc.has-media .mawd-svc-body h3{ margin-top:0; }

.mawd-svc-more{ text-decoration:none; transition:color .3s; }
.mawd-svc-more:hover{ color:var(--c-primary-dark); }
.mawd-svc-more:hover .mawd-arrow{ transform:translateX(4px); }
.mawd-svc-more .mawd-arrow{ transition:transform .3s; display:inline-block; }

@media(max-width:1024px){
  .mawd-svc-body{ padding:30px 28px 34px; }
}
@media(max-width:640px){
  .mawd-svc-body{ padding:26px 24px 30px; }
  .mawd-svc-media{ aspect-ratio:16/10; }
}

/* ==========================================================================
   SERVICE DETAIL — page intro, benefit cards, tick lists
   ========================================================================== */

/* Page-level H1 sizing inside centered intro block */
.mawd-intro h1{
  font-family:var(--font-head); font-weight:600; font-size:var(--fs-h1);
  line-height:1.1; letter-spacing:-.01em; margin:0 0 22px; color:var(--c-ink); text-wrap:balance;
}

/* Centered CTA below narrative */
.mawd-lead-cta{ text-align:center; margin-top:44px; }

/* Editorial benefit cards (no card bg, hairline top, gold italic number) */
.mawd-benefit-cell{ display:flex; }
.mawd-benefit{
  width:100%; padding:36px 0 12px; border-top:1px solid var(--c-line);
}
.mawd-benefit-num{
  font-family:var(--font-head); font-style:italic; font-weight:500;
  font-size:40px; line-height:1; color:var(--c-accent); margin:0 0 20px;
}
.mawd-benefit h3{
  font-family:var(--font-head); font-weight:600; font-size:24px; line-height:1.28;
  margin:0 0 14px; color:var(--c-ink); text-wrap:balance;
}
.mawd-benefit p{
  font-family:var(--font-body); font-size:15px; line-height:1.85; color:var(--c-ink-2); margin:0;
}

/* Feature-row bullet list (gold dash marker) */
.mawd-tick-list{ list-style:none; padding:0; margin:28px 0 0; }
.mawd-tick-list li{
  position:relative; padding:11px 0 11px 32px;
  font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-ink-2);
  border-top:1px solid var(--c-line);
}
.mawd-tick-list li:last-child{ border-bottom:1px solid var(--c-line); }
.mawd-tick-list li::before{
  content:""; position:absolute; left:0; top:22px; width:18px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}

@media(max-width:1024px){
  .mawd-benefit{ padding:28px 0 8px; }
  .mawd-benefit-num{ font-size:34px; margin-bottom:14px; }
  .mawd-benefit h3{ font-size:22px; }
  .mawd-tick-list{ margin-top:22px; }
}

/* ==========================================================================
   CONTACT PAGE — split card (dark info + ivory form)
   ========================================================================== */
.mawd-contact{
  position:relative; max-width:1120px; margin:0 auto; overflow:hidden;
  border-radius:var(--r-sm); background:var(--c-paper-2);
  box-shadow:0 40px 90px rgba(28,19,17,.20),0 12px 34px rgba(28,19,17,.14);
}
.mawd-contact-grid{ display:flex; flex-wrap:wrap; align-items:stretch; }
.mawd-contact-info,.mawd-contact-form{ box-sizing:border-box; }
.mawd-contact-info{ flex:0 0 41.667%; max-width:41.667%; }
.mawd-contact-form{ flex:0 0 58.333%; max-width:58.333%; }

/* LEFT — dark info panel */
.mawd-contact-info{
  position:relative;
  background:radial-gradient(140% 120% at 100% 0%,var(--c-primary-dark) 0%,var(--c-dark) 55%);
  color:var(--c-dark-quote);
  padding:70px 56px 76px;
  display:flex; flex-direction:column; gap:38px;
}
.mawd-contact-corner{
  position:absolute; top:20px; right:20px; width:58px; height:58px;
  border-top:1px solid var(--c-accent-2); border-right:1px solid var(--c-accent-2);
  opacity:.65; pointer-events:none;
}
.mawd-info-item{ display:flex; align-items:flex-start; gap:22px; }
.mawd-info-icon{
  flex-shrink:0; width:52px; height:52px; border-radius:50%;
  border:1px solid rgba(205,176,122,.42); color:var(--c-accent);
  display:flex; align-items:center; justify-content:center;
  transition:border-color .35s, background .35s;
}
.mawd-info-item:hover .mawd-info-icon{ background:rgba(176,141,76,.12); border-color:var(--c-accent); }
.mawd-info-icon svg{ width:22px; height:22px; }
.mawd-info-text{ padding-top:6px; }
.mawd-info-label{
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--c-accent);
  margin-bottom:8px;
}
.mawd-info-value{
  font-family:var(--font-head); font-weight:500; font-size:19px; line-height:1.5;
  color:var(--c-dark-heading); word-break:break-word;
}
.mawd-info-value a{ color:inherit; text-decoration:none; transition:color .3s, border-color .3s;
  border-bottom:1px solid transparent; }
.mawd-info-value a:hover{ color:var(--c-accent-3); border-bottom-color:var(--c-accent-2); }

/* RIGHT — ivory form panel */
.mawd-contact-form{ padding:0; background:var(--c-paper-2); }
.mawd-form{ display:flex; flex-direction:column; gap:24px; }
.mawd-form-row{ display:flex; flex-direction:column; }
.mawd-form-row label{
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink-3);
  margin-bottom:10px;
}
.mawd-form-row .req{ color:var(--c-primary); margin-left:2px; }
.mawd-form-row input,
.mawd-form-row textarea{
  width:100%; padding:12px 0 13px; border:none; border-bottom:1px solid var(--c-line);
  background:transparent; font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  transition:border-color .3s;
}
.mawd-form-row input::placeholder,
.mawd-form-row textarea::placeholder{ color:var(--c-ink-3); opacity:.5; }
.mawd-form-row input:focus,
.mawd-form-row textarea:focus{ outline:none; border-bottom-color:var(--c-accent); }
.mawd-form-row textarea{ resize:vertical; min-height:120px; padding-top:12px; }
.mawd-form-submit{ margin-top:16px; }
.mawd-form-submit button{ cursor:pointer; border:none; }

@media(max-width:1023.98px){
  .mawd-contact-info,.mawd-contact-form{ flex:0 0 100%; max-width:100%; }
  .mawd-contact-info{ padding:52px 34px 56px; gap:30px; }
  .mawd-contact-form{ padding:52px 34px 58px; }
}
@media(max-width:640px){
  .mawd-contact-info{ padding:40px 24px 44px; gap:26px; }
  .mawd-contact-form{ padding:40px 24px 46px; }
  .mawd-info-value{ font-size:16px; }
  .mawd-contact-corner{ width:44px; height:44px; top:14px; right:14px; }
}

/* ==========================================================================
   CONTACT MAP — framed embed
   ========================================================================== */
.mawd-map{
  position:relative; max-width:1120px; margin:0 auto; overflow:hidden;
  border-radius:var(--r-sm); border-top:3px solid var(--c-accent);
  background:var(--c-image-bg);
  box-shadow:0 40px 90px rgba(28,19,17,.18),0 12px 34px rgba(28,19,17,.12);
}
.mawd-map-corner{
  position:absolute; top:16px; right:16px; width:44px; height:44px; z-index:2;
  border-top:1px solid var(--c-accent); border-right:1px solid var(--c-accent);
  opacity:.85; pointer-events:none;
}
.mawd-map-frame{
  display:block; width:100%; height:460px; border:0; filter:saturate(.9);
}
@media(max-width:1023.98px){
  .mawd-map-frame{ height:380px; }
}
@media(max-width:640px){
  .mawd-map-frame{ height:320px; }
  .mawd-map-corner{ width:36px; height:36px; top:12px; right:12px; }
}

/* ==========================================================================
   BLOG LISTING (scoped: .new-blog-page-type) — luxury editorial
   ========================================================================== */
.new-blog-page-type{ padding:56px 0 88px; }
.new-blog-page-type .main-blog-widget > .grid-container{ max-width:1200px; }

/* -- SEARCH BAR (pill + gold focus + solid maroon icon button) --------- */
.new-blog-page-type .blog-search-container{ max-width:640px; margin:0 auto 60px; padding:0; }
.new-blog-page-type .blog-search-container .position-relative{ position:relative; }
.new-blog-page-type .search-input-blog{
  width:100%; padding:16px 62px 16px 28px !important; box-sizing:border-box;
  background:var(--c-paper-2); border:1px solid var(--c-line); border-radius:var(--r-pill);
  font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  transition:border-color .3s, box-shadow .3s, background .3s;
}
.new-blog-page-type .search-input-blog::placeholder{
  color:var(--c-ink-3); opacity:.6; font-family:var(--font-body); letter-spacing:.04em;
}
.new-blog-page-type .search-input-blog:focus{
  outline:none; border-color:var(--c-accent); background:var(--c-paper);
  box-shadow:0 0 0 4px rgba(176,141,76,.14);
}
.new-blog-page-type .blog-search-container .blog-search-button{
  position:absolute !important; right:5px !important; left:auto !important; top:50% !important;
  transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%; border:none;
  background:var(--c-primary); color:var(--c-light);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; padding:0; margin:0; transition:background .3s, transform .3s;
}
.new-blog-page-type .blog-search-container .blog-search-button:hover{ background:var(--c-primary-hover); transform:translateY(-50%) scale(1.05); }
.new-blog-page-type .blog-search-container .blog-search-button svg{ width:16px; height:16px; }
.new-blog-page-type .blog-search-container .blog-search-button svg *{ fill:currentColor; }

/* -- CATEGORY FILTER — shared heading style ---------------------------- */
.new-blog-page-type .articles-filter-container{ margin-bottom:42px; }
.new-blog-page-type .filter-h2{
  font-family:var(--font-body); font-size:12px; font-weight:600; color:var(--c-ink-3);
  letter-spacing:.24em; text-transform:uppercase;
  margin:0 0 22px; position:relative; padding-bottom:14px;
}
.new-blog-page-type .filter-h2::after{
  content:""; position:absolute; left:0; bottom:0; width:44px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}
.new-blog-page-type .ps-blog-category{ list-style:none; padding:10px 0; margin:0; display:flex; flex-direction:column; gap:0; }
.new-blog-page-type .ps-blog-category li{
  padding:0 !important; margin:0 !important;
  background:transparent !important; border:none !important;
  list-style:none;
}
.new-blog-page-type .ps-blog-category li::before{ content:none !important; }
.new-blog-page-type .ps-blog-category li a{
  display:inline-block; font-family:var(--font-body); font-size:13px; color:var(--c-ink-2);
  text-decoration:none;
  padding:10px 0 !important; margin:0 !important;
  background:transparent !important;
  border:none !important; border-bottom:1px solid transparent !important;
  border-radius:0 !important;
  letter-spacing:.02em;
  transition:color .3s, border-color .3s;
}
.new-blog-page-type .ps-blog-category li a:hover{
  color:var(--c-primary) !important; border-bottom-color:var(--c-accent-2) !important;
  background:transparent !important;
}
/* "All" active pill (overrides plain-link reset above) */
.new-blog-page-type .ps-blog-category li a.all-blogs.button,
.new-blog-page-type .ps-blog-category li a.all-blogs{
  display:inline-flex !important; align-items:center; padding:11px 26px !important; margin:0 0 16px !important;
  background:var(--c-primary) !important; color:var(--c-light) !important;
  border-radius:var(--r-pill) !important; border:none !important; border-bottom:none !important;
  font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  transition:background .3s;
}
.new-blog-page-type .ps-blog-category li a.all-blogs.button:hover,
.new-blog-page-type .ps-blog-category li a.all-blogs:hover{
  background:var(--c-primary-hover) !important; color:var(--c-light) !important;
}
/* Sidebar wraps filter in a card */
.new-blog-page-type .blog-sidebar .articles-filter-container{
  padding:36px 32px 32px; background:var(--c-paper-2);
  border:1px solid var(--c-line); border-top:3px solid var(--c-accent); border-radius:var(--r-sm);
  position:sticky; top:120px;
}
.new-blog-page-type .blog-sidebar{ padding-left:22px; }
/* Mobile filter — pills wrap horizontally */
@media(max-width:1023.98px){
  .new-blog-page-type.blog-page-type .blog-sidebar{ display:none; }
  .new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category{
    flex-direction:row; flex-wrap:wrap; gap:10px;
  }
  .new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a{
    padding:9px 18px !important;
    border:1px solid var(--c-line) !important; border-radius:var(--r-pill) !important;
    background:var(--c-paper-2) !important; font-size:12px;
  }
  .new-blog-page-type .articles-filter-container.hide-for-large .ps-blog-category li a:hover{
    background:var(--c-tint) !important; border-color:var(--c-accent) !important; color:var(--c-primary) !important;
  }
}

/* -- ARTICLE LIST ------------------------------------------------------- */
.new-blog-page-type .blog-ul{ list-style:none; padding:0; margin:0; }
.new-blog-page-type .blog-li{
  position:relative; padding:48px 0; border-top:1px solid var(--c-line);
}
.new-blog-page-type .blog-li:first-child{ border-top:none; padding-top:8px; }
.new-blog-page-type .blog-li .row{ margin:0; }

/* Horizontal card on desktop (image left + text column right), stacked on mobile */
.new-blog-page-type .blog-article{ padding:0; position:relative; }
@supports (display:grid){
  .new-blog-page-type .blog-article > .ps-article-img{ grid-column:1; grid-row:1 / span 20; margin:0 !important; }
  .new-blog-page-type .blog-article > *:not(.ps-article-img){ grid-column:2; }
}
/* Non-grid fallback — flex wrap keeps text-column intact */
@supports not (display:grid){
  .new-blog-page-type .blog-article::after{ content:""; display:table; clear:both; }
  .new-blog-page-type .blog-article > .ps-article-img{ float:left; width:340px; margin:0 40px 20px 0; }
}
@media(max-width:1023.98px){
  .new-blog-page-type .blog-article{ display:block; }
  .new-blog-page-type .blog-article > .ps-article-img{ float:none; width:auto; margin:0 0 22px !important; }
}

/* Article image — rounded, hover zoom */
.new-blog-page-type .ps-article-img{
  overflow:hidden; border-radius:var(--r-sm); aspect-ratio:4/3;
  background:var(--c-image-bg); margin:0;
}
@media(max-width:1023.98px){
  .new-blog-page-type .ps-article-img{ margin-bottom:22px; aspect-ratio:16/10; }
}
.new-blog-page-type .ps-article-img img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.new-blog-page-type .blog-li:hover .ps-article-img img{ transform:scale(1.05); }

/* Category chips row */
.new-blog-page-type .article-category{
  margin:14px 0; font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink-3); line-height:1.8;
}
.new-blog-page-type .article-category .categories_text{ color:var(--c-ink-3); }
.new-blog-page-type .article-category a{
  color:var(--c-primary); text-decoration:none; transition:color .3s;
}
.new-blog-page-type .article-category a:hover{ color:var(--c-primary-hover); }

/* Article title — Cormorant serif, animated gold underline on hover */
.new-blog-page-type .article-title{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(24px,2.3vw,30px); line-height:1.22; letter-spacing:-.005em;
  margin:0 0 16px;
}
.new-blog-page-type .article-title a{
  font-size:24px; line-height:1.3;
  color:var(--c-ink); text-decoration:none;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-size:0 1px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .5s cubic-bezier(.2,.7,.2,1), color .3s;
  padding-bottom:2px;
}
.new-blog-page-type .article-title a:hover{
  color:var(--c-primary); background-size:100% 1px;
}

/* Excerpt */
.new-blog-page-type .article-body{ margin:0; }
.new-blog-page-type .article-body p{
  font-family:var(--font-body); font-size:15px; line-height:1.85;
  color:var(--c-ink-2); margin:0 0 24px;
}

/* Read more — gold underline arrow link */
.new-blog-page-type .blog-read-more{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--c-primary);
  text-decoration:none;
  padding-bottom:6px; border-bottom:1px solid var(--c-accent-2);
  transition:gap .3s, color .3s, border-color .3s;
}
.new-blog-page-type .blog-read-more::after{
  content:"→"; color:var(--c-accent);
  display:inline-block; transition:transform .3s;
}
.new-blog-page-type .blog-read-more:hover{
  color:var(--c-primary-hover); gap:14px; border-color:var(--c-accent);
}
.new-blog-page-type .blog-read-more:hover::after{ transform:translateX(3px); }

/* Read-more paragraph wrapper */
.new-blog-page-type .blog-li p.pb-0{ margin:0; }

/* Featured (currently hidden, style for future) */
.new-blog-page-type .featured-articles h5{
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--c-primary);
  margin:0 0 22px;
}

/* Pagination */
.new-blog-page-type .ps-pagination-bar{ margin-top:64px; text-align:center; }
.new-blog-page-type .ps-pagination-bar p{ margin:0; color:var(--c-ink-3); font-size:14px; }

/* -- MOBILE tweaks ----------------------------------------------------- */
@media(max-width:640px){
  .new-blog-page-type{ padding:38px 0 64px; }
  .new-blog-page-type .blog-search-container{ margin-bottom:44px; }
  .new-blog-page-type .search-input-blog{ padding:14px 56px 14px 22px; font-size:14px; }
  .new-blog-page-type .blog-search-button{ width:40px; height:40px; }
  .new-blog-page-type .blog-li{ padding:36px 0; }
  .new-blog-page-type .article-title{ font-size:22px; line-height:1.25; }
  .new-blog-page-type .article-body p{ font-size:14px; }
}

/* ==========================================================================
   BLOG ARTICLE PAGE (article-page-type) — editorial long-form
   ========================================================================== */

/* -- HERO H1 (article title) ------------------------------------------- */
.new-blog-page-type .blog-article-content > h1.article-title{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(30px,4vw,54px); line-height:1.1; letter-spacing:-.012em;
  color:var(--c-ink); margin:0 0 44px; max-width:960px;
}

/* -- FEATURED IMAGE + AUTHOR ROW --------------------------------------- */
.new-blog-page-type .blog-article-content .ps-article-img{
  margin:0; padding:0; overflow:hidden;
  border-radius:var(--r-sm); background:var(--c-image-bg);
  aspect-ratio:16/10; box-shadow:0 30px 60px rgba(28,19,17,.15);
}
.new-blog-page-type .blog-article-content .ps-article-img img{
  width:100%; height:100%; object-fit:cover; display:block; margin:0;
}

/* Author meta card */
.new-blog-page-type .blog-author{
  position:relative; padding:38px 34px 36px; margin:0 0 15px 8px;
  background:var(--c-paper-2); border:1px solid var(--c-line);
  border-top:3px solid var(--c-accent); border-radius:var(--r-sm);
}
.new-blog-page-type .blog-author .lab-ul{
  list-style:none; padding:0; margin:0;
  font-family:var(--font-body); font-size:12px; letter-spacing:.04em;
  color:var(--c-ink-3); line-height:1.75;
}
.new-blog-page-type .blog-author .lab-ul li{
  display:block; padding:0 0 14px; margin:0 0 14px;
  border-bottom:1px solid var(--c-line); list-style:none;
}
.new-blog-page-type .blog-author .lab-ul li::before{ content:none !important; }
.new-blog-page-type .blog-author .lab-ul li:nth-child(2){
  padding-bottom:18px; margin-bottom:18px;
}
.new-blog-page-type .blog-author .author_name{
  font-family:var(--font-head); font-weight:500; font-size:20px;
  letter-spacing:-.005em; color:var(--c-ink); display:inline-block;
}
.new-blog-page-type .blog-author .pubdate{
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--c-accent);
  display:inline-block;
}
.new-blog-page-type .blog-author .lab-ul a{
  color:var(--c-primary); text-decoration:none;
  font-size:12px; font-weight:600; letter-spacing:.04em;
  border-bottom:1px solid transparent;
  transition:color .3s, border-color .3s;
}
.new-blog-page-type .blog-author .lab-ul a:hover{
  color:var(--c-primary-hover); border-bottom-color:var(--c-accent);
}

/* -- ARTICLE BODY (long-form editorial typography) ---------------------- */
.new-blog-page-type .article-body.rte{
  max-width:100%; margin:0; font-family:var(--font-body);
}
.new-blog-page-type .article-body.rte > p{
  font-size:17px; line-height:1.9; color:var(--c-ink-2); margin:0 0 26px;
}
.new-blog-page-type .article-body.rte h2{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(24px,2.8vw,32px); line-height:1.24;
  color:var(--c-ink); margin:52px 0 22px; letter-spacing:-.005em;
  position:relative; padding-top:22px;
}
.new-blog-page-type .article-body.rte h2::before{
  content:""; position:absolute; top:0; left:0; width:44px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}
.new-blog-page-type .article-body.rte h3{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(20px,2.2vw,24px); line-height:1.28;
  color:var(--c-ink); margin:38px 0 16px;
}
.new-blog-page-type .article-body.rte a{
  color:var(--c-primary); text-decoration:none;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-size:100% 1px; background-repeat:no-repeat; background-position:0 100%;
  padding-bottom:2px; transition:background-size .3s, color .3s;
}
.new-blog-page-type .article-body.rte a:hover{
  color:var(--c-primary-hover); background-size:0 1px;
}
.new-blog-page-type .article-body.rte ul,
.new-blog-page-type .article-body.rte ol{ margin:0 0 26px 26px; }
.new-blog-page-type .article-body.rte li{
  font-size:17px; line-height:1.85; color:var(--c-ink-2); margin:0 0 10px;
}
.new-blog-page-type .article-body.rte blockquote{
  border-left:3px solid var(--c-accent); padding:6px 0 6px 26px;
  margin:30px 0 30px 4px;
  font-family:var(--font-head); font-style:italic; font-size:22px;
  line-height:1.5; color:var(--c-ink);
}
.new-blog-page-type .article-body.rte img{
  max-width:100%; height:auto; border-radius:var(--r-sm);
  margin:30px 0; box-shadow:0 20px 40px rgba(28,19,17,.10);
}

/* -- RECENT POSTS (below article, 3-column grid) ------------------------ */
.new-blog-page-type.article-page-type .blog-sidebar{
  margin-top:96px; padding-top:72px; border-top:1px solid var(--c-line);
}
.new-blog-page-type .blog-sidebar-widget{ position:relative; }
.new-blog-page-type .blog-sidebar-h2{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(24px,2.6vw,32px); line-height:1.2; color:var(--c-ink);
  margin:0 0 40px; letter-spacing:-.005em;
  position:relative; padding-bottom:18px;
}
.new-blog-page-type .blog-sidebar-h2::after{
  content:""; position:absolute; left:0; bottom:0; width:56px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}
.new-blog-page-type .ps-blog-recent-posts{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:44px;
}
.new-blog-page-type .ps-blog-recent-posts .blog-li{
  padding:0 !important; border:none !important;
}
.new-blog-page-type .ps-blog-recent-posts .blog-li .row{ margin:0; }
.new-blog-page-type .ps-blog-recent-posts .blog-article{ display:block; padding:0; }
.new-blog-page-type .ps-blog-recent-posts .blog-article > .ps-article-img{
  float:none !important; width:auto !important;
  margin:0 0 22px !important; padding:0;
  overflow:hidden; border-radius:var(--r-sm);
  aspect-ratio:4/3; background:var(--c-image-bg);
}
.new-blog-page-type .ps-blog-recent-posts .ps-article-img img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.new-blog-page-type .ps-blog-recent-posts .blog-li:hover .ps-article-img img{
  transform:scale(1.05);
}
.new-blog-page-type .ps-blog-recent-posts .article-category{
  margin:0 0 12px; font-size:10px; letter-spacing:.14em;
}
.new-blog-page-type .ps-blog-recent-posts .article-title{
  font-size:clamp(18px,1.5vw,22px); line-height:1.28; margin:0 0 12px;
}
.new-blog-page-type .ps-blog-recent-posts .item-body p,
.new-blog-page-type .ps-blog-recent-posts .article-body p{
  font-family:var(--font-body); font-size:14px; line-height:1.75;
  color:var(--c-ink-2); margin:0 0 20px;
}
.new-blog-page-type .ps-blog-recent-posts .blog-read-more{ font-size:10px; padding-bottom:5px; }

/* -- MOBILE tweaks (article page) --------------------------------------- */
@media(max-width:1023.98px){
  .new-blog-page-type .blog-article-content > h1.article-title{
    font-size:clamp(26px,6vw,36px); margin:0 0 34px;
  }
  .new-blog-page-type .blog-author{ margin:22px 0 0; padding:30px 26px 32px; }
  .new-blog-page-type .article-body.rte{ margin-top:44px; }
  .new-blog-page-type .article-body.rte > p{ font-size:16px; line-height:1.85; }
  .new-blog-page-type .article-body.rte h2{ margin:40px 0 18px; }
  .new-blog-page-type .article-body.rte > p:first-of-type::first-letter{
    font-size:4em; margin:6px 10px 0 0;
  }
  .new-blog-page-type.article-page-type .blog-sidebar{ margin-top:64px; padding-top:52px; }
  .new-blog-page-type .ps-blog-recent-posts{ grid-template-columns:1fr; gap:44px; }
}
@media(max-width:640px){
  .new-blog-page-type .blog-author{ padding:26px 22px 28px; }
  .new-blog-page-type .blog-author .author_name{ font-size:18px; }
  .new-blog-page-type .article-body.rte > p{ font-size:15px; }
  .new-blog-page-type .article-body.rte > p:first-of-type::first-letter{ font-size:3.4em; }
}

/* ==========================================================================
   FOOTER (#footer.new-footer) — dark editorial with gold accents
   ========================================================================== */
#footer.new-footer{
  position:relative;
  background:var(--c-dark);
  background-image:radial-gradient(120% 80% at 50% 0%,rgba(125,15,34,.18) 0%,transparent 55%);
  color:var(--c-dark-quote);
  font-family:var(--font-body);
}
/* Signature gold hairline at very top */
#footer.new-footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--c-accent) 30%,var(--c-accent) 70%,transparent);
  opacity:.5;
}

/* -- TOP NAV STRIP ----------------------------------------------------- */
#footer .footer-menu-container{
  padding:26px 20px 20px;
  border-bottom:1px solid rgba(205,176,122,.14);
}
#footer .dropdown.menu.level-1{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:6px 28px;
}
#footer .dropdown.menu.level-1 > li{ position:relative; padding:0; margin:0; list-style:none; }
#footer .dropdown.menu.level-1 > li::before{ content:none !important; }
#footer .dropdown.menu.level-1 > li > a{
  display:inline-block; padding:10px 4px; position:relative;
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(228,222,207,.72); text-decoration:none;
  transition:color .3s;
}
#footer .dropdown.menu.level-1 > li > a:hover{ color:var(--c-accent); }
#footer .dropdown.menu.level-1 > li.active > a{ color:var(--c-accent); }
/* Kill Webware default white border-bottom on span (avoids double underline with our ::after) */
.new-footer ul.dropdown.menu > li.active > a:not(.button) span,
.new-footer ul.dropdown.menu > li:hover > a:not(.button) span{
  border-bottom:none !important;
}
/* Active indicator — fixed-width centered underline (no bleed) */
#footer .dropdown.menu.level-1 > li.active > a::after{
  content:""; position:absolute; bottom:-4px; left:50%;
  transform:translateX(-50%);
  width:32px; height:2px; background:var(--c-accent);
}

/* -- CARET RESET (kill Foundation default) — no chevron in footer ------ */
#footer .is-dropdown-submenu-parent > a::after{
  content:"" !important; border:0 !important; display:none !important;
}
#footer .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a::before{
  content:none !important;
}

/* -- DROPDOWN SUBMENUS — hidden in footer ------------------------------ */
#footer .is-dropdown-submenu{ display:none !important; }

/* -- MAIN FOOTER GRID (columns) ---------------------------------------- */
#footer > .footer-menu-container + .grid-x{ padding:60px 24px 24px; }

#footer .footer-text h4,
#footer .contact-us-column h4{
  font-family:var(--font-head); font-weight:600; font-size:20px;
  color:var(--c-dark-heading); margin:0 0 22px;
  letter-spacing:-.005em; position:relative; padding-bottom:14px;
}
#footer .footer-text h4::after,
#footer .contact-us-column h4::after{
  content:""; position:absolute; left:0; bottom:0;
  width:42px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}

/* About column */
#footer .footer-text p{
  font-family:var(--font-body); font-size:14px; line-height:1.75;
  color:rgba(228,222,207,.78); margin:0 0 24px;
}

/* Social media icons — flex-centered pill (no alignment jitter) */
#footer .footer-social-media ul{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; gap:12px;
}
#footer .footer-social-media li{ padding:0; margin:0; list-style:none; }
#footer .footer-social-media li::before{ content:none !important; }
#footer .footer-social-media li a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(205,176,122,.32); color:var(--c-accent);
  text-decoration:none; box-sizing:border-box;
  transition:background .3s, border-color .3s, transform .3s;
}
#footer .footer-social-media li a:hover{
  background:rgba(205,176,122,.12); border-color:var(--c-accent);
  transform:translateY(-2px);
}
#footer .footer-social-media li a svg,
#footer .footer-social-media li a img,
#footer .footer-social-media li a i{ width:16px; height:16px; display:block; }

/* Middle column (logo/media area) */
#footer .footer-media-box{
  display:flex; align-items:flex-start; justify-content:center;
  padding:6px 12px 8px;
}
#footer .footer-media-box img{
  max-width:240px; height:auto;
  background:#fff; padding:22px 30px; border-radius:var(--r-sm);
  box-shadow:0 20px 40px rgba(0,0,0,.28),0 6px 14px rgba(0,0,0,.16);
  box-sizing:content-box;
}

/* Contact column */
#footer .contact-us-column .shop-address{
  display:block; font-family:var(--font-body); font-size:13.5px; line-height:1.85;
  color:rgba(228,222,207,.72); text-decoration:none;
  margin:0; transition:color .3s;
  padding-left:30px;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d4c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E") 0 5px / 18px 18px no-repeat;
}
#footer .contact-us-column .shop-address:hover{ color:var(--c-accent); }
#footer .contact-us-column .contact-number{
  margin:14px 0 6px; padding-left:30px;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d4c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72a2 2 0 0 1 1.72 2z'/%3E%3C/svg%3E") 0 center / 18px 18px no-repeat;
}
#footer .contact-us-column .contact-number a,
#footer .contact-us-column .siteDisplayNumber a{
  display:inline-block;
  font-family:var(--font-head); font-weight:500; font-size:22px;
  letter-spacing:.01em; color:var(--c-accent); text-decoration:none;
  transition:color .3s;
}
#footer .contact-us-column .contact-number a:hover,
#footer .contact-us-column .siteDisplayNumber a:hover{ color:var(--c-primary); }
#footer .contact-us-column .email-id{
  display:inline-block; margin:6px 0 26px;
  padding-left:30px;
  font-family:var(--font-body); font-size:13.5px;
  color:rgba(228,222,207,.72); text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .3s, border-color .3s;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d4c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M22 6l-10 7L2 6'/%3E%3C/svg%3E") 0 center / 18px 18px no-repeat;
}
#footer .contact-us-column .email-id:hover{
  color:var(--c-accent); border-bottom-color:rgba(205,176,122,.55);
}

/* Mailing list button */
#footer .mailing-list-button{ margin:0; }
#footer .mailing-list-button .button{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 28px; margin:0;
  background:var(--c-primary); color:var(--c-light);
  border-radius:var(--r-pill); border:none;
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none; cursor:pointer;
  transition:background .3s, transform .3s;
}
#footer .mailing-list-button .button:hover{
  background:var(--c-primary-hover); color:var(--c-light);
  transform:translateY(-1px);
}

/* -- COPYRIGHT BAR ----------------------------------------------------- */
#footer .copyright-container{
  padding:22px 20px 20px;
  border-top:1px solid rgba(205,176,122,.14);
  margin-top:10px;
}
#footer .copyright{
  margin:0; font-family:var(--font-body); font-size:12px;
  color:rgba(228,222,207,.48); letter-spacing:.04em; line-height:1.6;
}
#footer .copyright a{
  color:var(--c-accent); text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .3s, border-color .3s;
}
#footer .copyright a:hover{
  color:var(--c-accent-3); border-bottom-color:rgba(205,176,122,.4);
}

/* -- MOBILE ------------------------------------------------------------ */
@media(max-width:1023.98px){
  #footer > .footer-menu-container + .grid-x{ padding:44px 20px 20px; }
  #footer .footer-text,
  #footer .contact-us-column{ margin-bottom:0; }
 
}
@media(max-width:1023px){
  #footer .footer-menu-container{ padding:22px 16px 18px; }
  #footer .dropdown.menu.level-1{ gap:2px 14px; }
  #footer .dropdown.menu.level-1 > li > a{ font-size:10px; padding:8px 4px; letter-spacing:.16em; }
  #footer .footer-text,
  #footer .contact-us-column{ text-align:center; }
  #footer .footer-text h4::after,
  #footer .contact-us-column h4::after{ left:50%; transform:translateX(-50%); }
  #footer .footer-social-media ul{ justify-content:center; }

  /* Contact column: flex-column so icon+text rows center as units */
  #footer .contact-us-column{ display:flex; flex-direction:column; align-items:center; }
  #footer .contact-us-column .shop-address,
  #footer .contact-us-column .contact-number,
   #footer .contact-us-column .email-id{ text-align:left; max-width:100%; }

  #footer .contact-us-column .contact-number a{ font-size:20px; }
  #footer .copyright{ font-size:11px; }
}

/* ==========================================================================
   HEADER (#header.new-header) — cream editorial with maroon+gold accents
   ========================================================================== */
#header.new-header{
  position:relative;
  background:var(--c-paper);
  border-bottom:1px solid var(--c-line);
}
/* Signature gold hairline at very bottom */
#header.new-header::after{
  content:""; position:absolute; bottom:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--c-accent) 30%,var(--c-accent) 70%,transparent);
  opacity:.45; pointer-events:none;
}

/* -- LOGO ROW ---------------------------------------------------------- */
#header .logo-section{ padding:20px 24px; }
.new-header-5.logo-section{ min-height:auto; }
#header .logo-container a{ display:inline-block; line-height:0; }
#header .logo-container img{ max-height:170px; width:auto; display:block; }

/* -- DESKTOP: utility strip (phone + Contact Us button) ---------------- */
#header .cell.auto.show-for-large > ul.menu{
  list-style:none; padding:0; margin:0 0 14px;
  display:flex; justify-content:flex-end; align-items:center; gap:22px;
}
#header .cell.auto.show-for-large > ul.menu > li{ padding:0; margin:0; list-style:none; }
#header .cell.auto.show-for-large > ul.menu > li::before{ content:none !important; }

/* Phone link — same styling as footer (Cormorant 22px gold, maroon on hover) */
#header .sitePhoneNumber{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-head); font-weight:500;
  font-size:22px; letter-spacing:.01em;
  color:var(--c-accent); text-decoration:none;
  transition:color .3s;
}
#header .sitePhoneNumber:hover{ color:var(--c-primary); }
#header .sitePhoneNumber i{ color:var(--c-accent); font-size:16px; }

/* Contact Us button — maroon pill */
#header .cell.auto.show-for-large > ul.menu .button{
  display:inline-flex; align-items:center; padding:11px 28px; margin:0;
  background:var(--c-primary); color:var(--c-light);
  border-radius:var(--bn-btn-radius) !important; border:none;
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none;
  transition:background .3s, transform .3s;
}

#header .cell.auto.show-for-large > ul.menu .button:hover{
  background:transparent !important; color:var(--c-primary); transform:translateY(-1px);
}

/* -- DESKTOP: main nav ------------------------------------------------- */
#header .menu-container{ border-top:1px solid var(--c-line); padding-top:14px; }
#header .dropdown.menu.level-1{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 28px;
}
#header .dropdown.menu.level-1 > li{ position:relative; padding:0; margin:0; list-style:none; }
#header .dropdown.menu.level-1 > li::before{ content:none !important; }
#header .dropdown.menu.level-1 > li > a{
  display:inline-block; padding:12px; position:relative;
  font-size:12px; font-weight:600;
  letter-spacing:0.3px; text-transform:uppercase;
  color:var(--c-ink-2); text-decoration:none;
  transition:color .3s;
}
#header .dropdown.menu.level-1 > li > a:hover{ color:var(--c-primary); }
#header .dropdown.menu.level-1 > li.active > a{ color:var(--c-primary); }
/* Active indicator — fixed 32×2px gold gradient (no bleed) */
#header .dropdown.menu.level-1 > li.active > a::after{
  content:""; position:absolute; bottom:0; left:50%;
  transform:translateX(-50%);
  width:32px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}

/* -- CARET RESET (kill Foundation ::after) + CSS-drawn triangle chevron */
#header .is-dropdown-submenu-parent > a::after{
  content:"" !important; border:0 !important; display:none !important;
}
#header .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a{ padding-right:22px; }
#header .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a::before{
  content:""; position:absolute; right:2px; top:50%;
  width:0; height:0;
  margin-top:-2px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid var(--c-accent);
  transition:transform .3s, border-top-color .3s;
}
#header .dropdown.menu.level-1 > li.is-dropdown-submenu-parent:hover > a::before{
  border-top-color:var(--c-primary);
  transform:translateY(2px);
}

/* -- DROPDOWN SUBMENUS ------------------------------------------------- */
#header .is-dropdown-submenu{
  list-style:none; padding:0; margin:0;
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-top:2px solid var(--c-accent);
  border-radius:var(--r-sm);
  box-shadow:0 24px 50px rgba(28,19,17,.14);
  min-width:270px;
  overflow:hidden;
  text-transform: uppercase;
}
#header .is-dropdown-submenu > li{
  padding:0; margin:0; list-style:none;
  border-bottom:1px solid var(--c-line);
}
#header .is-dropdown-submenu > li:last-child{ border-bottom:none; }
#header .is-dropdown-submenu > li::before{ content:none !important; }
#header .is-dropdown-submenu > li > a{
  display:block; padding:12px 22px;
  font-family:var(--font-body); font-size:13px; font-weight:500;
  letter-spacing:.02em;
  color:var(--c-ink-2); text-decoration:none;
  background:transparent;
  border-left:3px solid transparent;
  transition:color .3s, background .3s, border-left-color .3s, padding-left .3s;
}
#header .is-dropdown-submenu > li > a:hover{
  color:var(--c-primary);
  background:var(--c-tint);
  border-left-color:var(--c-accent);
  padding-left:26px;
}
#header .is-dropdown-submenu > li.active > a{
  color:var(--c-primary);
  background:var(--c-cream);
  border-left-color:var(--c-primary);
}

/* -- Webware default override — force maroon on hover/active (both anchor + span) */
#header.new-header ul.dropdown.menu > li.active > a:not(.button),
#header.new-header ul.dropdown.menu > li:hover > a:not(.button),
#header.new-header ul.dropdown.menu > li.active > a:not(.button) span,
#header.new-header ul.dropdown.menu > li:hover > a:not(.button) span{
  color:var(--c-primary) !important;
  border-bottom:none !important;
  background:transparent !important;
}
/* Submenu items — defensive overrides against Webware defaults */
#header.new-header .is-dropdown-submenu > li > a,
#header.new-header .is-dropdown-submenu > li > a span{
  color:var(--c-ink-2) !important;
  background:transparent !important;
}
#header.new-header .is-dropdown-submenu > li > a:hover,
#header.new-header .is-dropdown-submenu > li > a:hover span{
  color:var(--c-primary) !important;
  background:var(--c-tint) !important;
  border-bottom:none !important;
}
#header.new-header .is-dropdown-submenu > li.active > a,
#header.new-header .is-dropdown-submenu > li.active > a span{
  color:var(--c-primary) !important;
  background:var(--c-cream) !important;
  border-bottom:none !important;
}

/* -- MOBILE HAMBURGER -------------------------------------------------- */
#header .sidenav-container{ display:flex; align-items:center; padding-top:0; }
#header .sidenav-container .openMenu{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0;
  background:transparent; border:0;
  border-radius:var(--r-sm); cursor:pointer;
  color:var(--c-primary);
  transition:background .3s, color .3s;
}
#header .sidenav-container .openMenu:hover,
#header .sidenav-container .openMenu:focus{
  background:var(--c-tint);
  outline:none;
}
#header .sidenav-container .openMenu i{ font-size:20px; line-height:1; }
#header .sidenav-container .openMenu .show-for-sr{
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
}

/* -- MOBILE: phone banner + contact button rows ------------------------ */
#header .mobile-contact-number-section{
  padding:14px 20px 4px; text-align:center;
  border-top:1px solid var(--c-line);
}
#header .mobile-contact-number-section .sitePhoneNumber{ font-size:22px; }
#header .mobile-contact-button-section{
  padding:8px 20px 16px; text-align:center;
}
#header .mobile-contact-button-section .button{
  display:inline-flex; align-items:center; padding:11px 30px; margin:0;
  background:var(--c-primary); color:var(--c-light);
  border-radius:var(--r-pill); border:none;
  font-family:var(--font-body); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  text-decoration:none;
  transition:background .3s;
}
#header .mobile-contact-button-section .button:hover{
  background:var(--c-primary-hover); color:var(--c-light);
}

/* -- RESPONSIVE -------------------------------------------------------- */
@media(max-width:1023.98px){
  #header .logo-section{ padding:14px 16px; }
  #header .logo-container{
      padding:0 16px 0 40px !important;
      }
  #header .logo-container img{ max-height:156px; }
}
@media(max-width:640px){
  #header .logo-section{ padding:12px 14px; }
  #header .logo-container img{ max-height:146px; }
  #header .mobile-contact-button-section .button{ font-size:10px; padding:10px 24px; letter-spacing:.14em; }
}

/* ==========================================================================
   TEMPLATE OVERRIDE — force intended fonts over Webware's
   .menu li a { font-family:"Roboto" !important } default
   ========================================================================== */

/* Header desktop phone: Cormorant serif (inside .menu li a — needs override) */
#header .cell.auto.show-for-large > ul.menu > li > a.sitePhoneNumber,
#header .cell.auto.show-for-large > ul.menu > li > a.sitePhoneNumber span,
#header .sitePhoneNumber,
#header .sitePhoneNumber .siteDisplayNumber{
  font-family:var(--font-head) !important;
}

/* ==========================================================================
   SIDENAV (mobile off-canvas menu) — same look/feel as desktop nav
   ========================================================================== */
.off-canvas.sidenav{
  background:var(--c-paper);
  max-width:88vw;
  padding:0;
  box-shadow:-30px 0 60px rgba(28,19,17,.22);
  overflow-y:auto;
}
/* Signature gold hairline at top */
.off-canvas.sidenav::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  z-index:1;
}

/* Menu list resets */
.off-canvas.sidenav ul{ list-style:none; padding:0; margin:0; }
.off-canvas.sidenav .accordion-menu > li,
.off-canvas.sidenav .is-accordion-submenu > li{
  padding:0; margin:0; list-style:none;
  border-bottom:1px solid var(--c-line);
}
.off-canvas.sidenav .accordion-menu > li:last-child,
.off-canvas.sidenav .is-accordion-submenu > li:last-child{ border-bottom:none; }
.off-canvas.sidenav .accordion-menu > li::before,
.off-canvas.sidenav .is-accordion-submenu > li::before{ content:none !important; }

/* Top-level anchors — same rhythm as desktop main nav */
.off-canvas.sidenav .accordion-menu > li > a{
  display:block; position:relative;
  padding:16px 28px;
  font-size:12px; font-weight:600;
  letter-spacing:0.3px; text-transform:uppercase;
  color:var(--c-ink-2); text-decoration:none;
  border-left:3px solid transparent;
  transition:color .3s, background .3s, border-left-color .3s;
}
.off-canvas.sidenav .accordion-menu > li > a:hover{
  color:var(--c-primary);
  background:var(--c-tint);
  border-left-color:var(--c-accent);
}
.off-canvas.sidenav .accordion-menu > li.active > a{
  color:var(--c-primary);
  background:var(--c-cream);
  border-left-color:var(--c-primary);
}

/* Accordion parent chevron (right side, rotates when expanded) */
.off-canvas.sidenav .accordion-menu > li.is-accordion-submenu-parent > a{
  padding-right:48px;
}
.off-canvas.sidenav .accordion-menu > li.is-accordion-submenu-parent > a::after{
  content:""; position:absolute; right:26px; top:50%;
  width:0; height:0;
  margin-top:-3px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid var(--c-accent);
  transition:transform .3s cubic-bezier(.2,.7,.2,1), border-top-color .3s;
  transform-origin:center 40%;
}
.off-canvas.sidenav .accordion-menu > li.is-accordion-submenu-parent[aria-expanded="true"] > a::after{
  transform:rotate(180deg);
  border-top-color:var(--c-primary);
}
.off-canvas.sidenav .accordion-menu > li.is-accordion-submenu-parent[aria-expanded="true"] > a{
  color:var(--c-primary);
  background:var(--c-cream);
  border-left-color:var(--c-primary);
}

/* Nested submenu — subtle warm tint bg, hairline top */
.off-canvas.sidenav .is-accordion-submenu{
  background:rgba(28,19,17,.028);
  border-top:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
}
.off-canvas.sidenav .is-accordion-submenu > li{ border-bottom:1px solid var(--c-line); }
.off-canvas.sidenav .is-accordion-submenu > li:last-child{ border-bottom:none; }
.off-canvas.sidenav .is-accordion-submenu > li > a{
  display:block; padding:12px 28px;
  font-size:12px; font-weight:500;
  letter-spacing:0.02em;
  color:var(--c-ink-2); text-decoration:none;
  border-left:3px solid transparent;
  transition:color .3s, background .3s, border-left-color .3s;
}
.off-canvas.sidenav .is-accordion-submenu > li > a:hover{
  color:var(--c-primary);
  background:var(--c-tint);
  border-left-color:var(--c-accent);
}
.off-canvas.sidenav .is-accordion-submenu > li.active > a{
  color:var(--c-primary);
  background:var(--c-cream);
  border-left-color:var(--c-primary);
}

/* Webware default override — kill white border/color forcing on spans */
.sidenav ul.accordion-menu > li.active > a:not(.button) span,
.sidenav ul.accordion-menu > li:hover > a:not(.button) span,
.sidenav ul.accordion-menu li a span{
  border-bottom:none !important;
  color:inherit !important;
  background:transparent !important;
  text-transform: uppercase;
}

/* ==========================================================================
   CAREERS / APPLICATION FORM (.ww-form-container-3) — editorial paper card
   ========================================================================== */
.ww-form-container-3{
  max-width:760px; margin:0 auto 70px;
  padding:52px 48px 56px;
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  box-shadow:0 30px 60px rgba(28,19,17,.08);
  position:relative;
}
/* Gold hairline top accent */
.ww-form-container-3::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  border-radius:var(--r-md) var(--r-md) 0 0;
}

/* Form title (h2 wraps everything in Webware markup) */
.ww-form-container-3 form h2{
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(28px,3.5vw,40px); line-height:1.15;
  color:var(--c-ink);
  margin:0 0 40px; padding-bottom:22px;
  position:relative;
  text-align:left;
}
.ww-form-container-3 form h2::after{
  content:""; position:absolute; bottom:0; left:0;
  width:44px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
}
.ww-form-container-3 form h2 > p:empty{ display:none; }

/* Fieldset reset */
.ww-form-container-3 .fieldset{ border:0; padding:0; margin:0 0 24px; }

/* Field wrappers */
.ww-form-container-3 [class$="_wrap"]:not(.captcha_wrap):not(.submit_wrap){
  margin-bottom:22px; display:block;
}

/* Labels — small uppercase eyebrow */
.ww-form-container-3 label{
  display:block;
  font-family:var(--font-body);
  font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-ink-2);
  margin-bottom:8px;
}
.ww-form-container-3 .required{
  color:var(--c-primary); font-weight:700;
  margin-left:4px;
}

/* Base input treatment — underline style, gold focus */
.ww-form-container-3 input[type="text"],
.ww-form-container-3 input[type="email"],
.ww-form-container-3 input.input,
.ww-form-container-3 textarea{
  width:100%;
  padding:12px 0;
  font-family:var(--font-body);
  font-size:15px; color:var(--c-ink);
  background:transparent;
  border:0; border-bottom:1.5px solid var(--c-line);
  border-radius:0; outline:none;
  transition:border-color .3s;
  box-sizing:border-box;
}
.ww-form-container-3 input[type="text"]:focus,
.ww-form-container-3 input[type="email"]:focus,
.ww-form-container-3 input.input:focus,
.ww-form-container-3 textarea:focus{
  border-bottom-color:var(--c-accent);
}
.ww-form-container-3 textarea{
  min-height:110px; resize:vertical; line-height:1.6;
}
.form-template-3 .ww-form-container-3 textarea{
  height:100px;
}

/* International Tel Input plugin — style flag selector + dropdown */
.ww-form-container-3 .iti{ width:100%; display:block !important; }
.ww-form-container-3 input[type="tel"].phone_number{
  padding:12px 0 12px 56px !important;
  font-family:var(--font-body); font-size:15px;
  color:var(--c-ink); background:transparent;
  border:0; border-bottom:1.5px solid var(--c-line);
  border-radius:0; outline:none;
  transition:border-color .3s;
  box-sizing:border-box; height:auto;
}
.ww-form-container-3 input[type="tel"].phone_number:focus{
  border-bottom-color:var(--c-accent);
}
.ww-form-container-3 .iti__flag-container{
  border-right:1px solid var(--c-line);
}
.ww-form-container-3 .iti__selected-flag{
  padding:0 10px; background:transparent !important;
}
.ww-form-container-3 .iti__selected-flag:hover,
.ww-form-container-3 .iti__selected-flag:focus{
  background:var(--c-tint) !important;
}
.ww-form-container-3 .iti__country-list{
  border:1px solid var(--c-line);
  border-radius:var(--r-sm);
  max-height:260px;
  font-family:var(--font-body);
  font-size:14px;
  box-shadow:0 20px 40px rgba(28,19,17,.15);
}
.ww-form-container-3 .iti__country:hover{ background:var(--c-tint); }
.ww-form-container-3 .iti__country.iti__active{
  background:var(--c-cream); color:var(--c-primary);
}
.ww-form-container-3 #mob_phone_phone_number_valid{
  font-size:11px; letter-spacing:.1em;
  margin-top:6px; display:inline-block;
}
.ww-form-container-3 #mob_phone_phone_number_valid.hide{ display:none; }

/* File upload — ghost pill button + supporting text */
.ww-form-container-3 .file-upload{
  display:inline-block;
  padding:10px 26px;
  font-family:var(--font-body);
  font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--c-primary); background:transparent;
  border:1.5px solid var(--c-primary);
  border-radius:var(--r-pill); cursor:pointer;
  transition:background .3s, color .3s, transform .3s;
  margin-bottom:8px;
}
.ww-form-container-3 .file-upload:hover{
  background:var(--c-primary); color:var(--c-light);
  transform:translateY(-1px);
}
.ww-form-container-3 [class$="_wrap"] p{
  font-size:11px; color:var(--c-ink-2);
  margin:4px 0 0; letter-spacing:.02em;
}
.ww-form-container-3 .wait-upload{ display:none; }
.ww-form-container-3 .fa-spinner{ color:var(--c-accent); }

/* Error text */
.ww-form-container-3 .error{
  display:block; color:var(--c-primary);
  font-size:11px; letter-spacing:.04em;
  margin-top:6px; font-weight:600;
}
.ww-form-container-3 .error:empty{ display:none; }

/* reCAPTCHA */
.ww-form-container-3 .captcha_wrap{
  margin:28px 0 20px;
}
.ww-form-container-3 .recaptcha-block{ margin:0; }

/* Submit button — maroon pill matching site CTAs */
.ww-form-container-3 .submit_wrap{
  margin-top:32px; padding-top:0;
  text-align:left;
}
.ww-form-container-3 .submit_wrap .button.input,
.ww-form-container-3 .submit_wrap input[type="submit"]{
  display:inline-block; width:auto;
  padding:14px 44px;
  font-family:var(--font-body);
  font-size:12px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--c-light); background:var(--c-primary);
  border:0; border-radius:var(--r-pill);
  cursor:pointer;
  transition:background .3s, transform .3s, box-shadow .3s;
  box-shadow:0 6px 16px rgba(125,15,34,.2);
}
.ww-form-container-3 .submit_wrap .button.input:hover,
.ww-form-container-3 .submit_wrap input[type="submit"]:hover{
  background:var(--c-primary-dark);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(125,15,34,.28);
}

/* Mobile */
@media(max-width:640px){
  .ww-form-container-3{ padding:36px 26px 40px; }
  .ww-form-container-3 form h2{ font-size:26px; margin-bottom:32px; }
  .ww-form-container-3 .submit_wrap .button.input,
  .ww-form-container-3 .submit_wrap input[type="submit"]{
    padding:13px 36px; font-size:11px; width:100%;
  }
}

/* ==========================================================================
   NEWSLETTER REGISTRATION (.ww-newsletter-registration) — editorial paper card
   ========================================================================== */
.ww-newsletter-registration{
  max-width:640px; margin:0 auto 70px;
  padding:52px 48px 56px;
  background:var(--c-paper);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  box-shadow:0 30px 60px rgba(28,19,17,.08);
  position:relative;
}
/* Gold hairline top */
.ww-newsletter-registration::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  border-radius:var(--r-md) var(--r-md) 0 0;
}

/* Intro text via Webware <document> element */
.ww-newsletter-registration document{
  display:block; margin:0 0 26px; text-align:center;
}
.ww-newsletter-registration document p{
  font-family:var(--font-body);
  font-size:15px; line-height:1.7;
  color:var(--c-ink-2); margin:0;
}

/* Fieldset + legend as section title */
.ww-newsletter-registration .fieldset{
  border:0; padding:0; margin:0 0 24px;
}
.ww-newsletter-registration legend{
  display:block; float:none; width:100%;
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(24px,3vw,32px); line-height:1.2;
  color:var(--c-ink);
  margin:0 0 26px; padding-bottom:18px;
  position:relative; text-align:center;
}
.ww-newsletter-registration legend::after{
  content:""; position:absolute; bottom:0; left:50%;
  width:44px; height:2px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
  transform:translateX(-50%);
}

/* Field wrappers */
.ww-newsletter-registration [class$="_wrap"]:not(.captcha_wrap):not(.submit_wrap):not(.checkbox_wrap){
  margin-bottom:22px; display:block;
}

/* Labels */
.ww-newsletter-registration label{
  display:block;
  font-family:var(--font-body);
  font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-ink-2);
  margin-bottom:8px;
}
.ww-newsletter-registration .required{
  color:var(--c-primary); font-weight:700; margin-left:4px;
}

/* Inputs — underline treatment with gold focus */
.ww-newsletter-registration input[type="text"],
.ww-newsletter-registration input[type="email"],
.ww-newsletter-registration input.input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]){
  width:100%;
  padding:12px 0;
  font-family:var(--font-body);
  font-size:15px; color:var(--c-ink);
  background:transparent;
  border:0; border-bottom:1.5px solid var(--c-line);
  border-radius:0; outline:none;
  transition:border-color .3s;
  box-sizing:border-box;
}
.ww-newsletter-registration input[type="text"]:focus,
.ww-newsletter-registration input[type="email"]:focus{
  border-bottom-color:var(--c-accent);
}

/* Opt-in checkbox row — custom styled */
.ww-newsletter-registration .checkbox_wrap{
  margin:8px 0 24px;
}
.ww-newsletter-registration .checkbox_wrap > p:empty{ display:none; }
.ww-newsletter-registration .checkbox_wrap .float-left{ float:none !important; }
.ww-newsletter-registration .checkbox_wrap label{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-body);
  font-size:13px; font-weight:500;
  letter-spacing:.02em; text-transform:none;
  color:var(--c-ink); margin:0;
  cursor:pointer;
}
.ww-newsletter-registration .checkbox_wrap input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:18px; height:18px;
  border:1.5px solid var(--c-line);
  border-radius:3px; background:var(--c-paper);
  cursor:pointer;
  position:relative;
  transition:border-color .3s, background .3s;
  flex-shrink:0;
  margin:0;
}
.ww-newsletter-registration .checkbox_wrap input[type="checkbox"]:hover{
  border-color:var(--c-accent);
}
.ww-newsletter-registration .checkbox_wrap input[type="checkbox"]:checked{
  background:var(--c-primary); border-color:var(--c-primary);
}
.ww-newsletter-registration .checkbox_wrap input[type="checkbox"]:checked::after{
  content:""; position:absolute;
  top:1px; left:5px;
  width:5px; height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

/* Error text */
.ww-newsletter-registration .error{
  display:block; color:var(--c-primary);
  font-size:11px; letter-spacing:.04em;
  margin-top:6px; font-weight:600;
}
.ww-newsletter-registration .error:empty{ display:none; }

/* reCAPTCHA */
.ww-newsletter-registration .captcha_wrap{ margin:20px 0 20px; }
.ww-newsletter-registration .recaptcha-block{ margin:0; }

/* Submit button — maroon pill */
.ww-newsletter-registration .submit_wrap{
  margin-top:20px; padding-top:0;
  text-align:left;
}
.ww-newsletter-registration .submit_wrap > label{ display:none; }
.ww-newsletter-registration .submit_wrap .button.input,
.ww-newsletter-registration .submit_wrap input[type="submit"]{
  display:inline-block; width:auto;
  padding:14px 44px;
  font-family:var(--font-body);
  font-size:12px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--c-light); background:var(--c-primary);
  border:0; border-radius:var(--r-pill);
  cursor:pointer;
  transition:background .3s, transform .3s, box-shadow .3s;
  box-shadow:0 6px 16px rgba(125,15,34,.2);
}
.ww-newsletter-registration .submit_wrap .button.input:hover,
.ww-newsletter-registration .submit_wrap input[type="submit"]:hover{
  background:var(--c-primary-dark);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(125,15,34,.28);
}

/* Mobile */
@media(max-width:640px){
  .ww-newsletter-registration{ padding:36px 26px 40px; }
  .ww-newsletter-registration legend{ font-size:22px; margin-bottom:22px; }
  .ww-newsletter-registration .submit_wrap .button.input,
  .ww-newsletter-registration .submit_wrap input[type="submit"]{
    width:100%; padding:13px 36px; font-size:11px;
  }
}





@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}


.main-navigation.sticky {
    animation: slideDown 0.3s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    width: 100%;
    background: var(--c-paper);
    margin-top: 0;
   box-shadow: 0px 0px 29px 0px rgba(0, 0, 0, 0.07);
}

.main-navigation.sticky #mainNav{
        justify-content: center !important;
    }