/* ==========================================================================
   WIENLION.AT — Components
   Every block in /blocks maps to one section here.
   ========================================================================== */

/* ------------------------------------------------------------ 01 buttons */
.wl-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding: 16px 26px; min-height:46px;
  font-family: var(--wl-font-display); font-weight:600; font-size:.8125rem;
  letter-spacing: var(--wl-tr-btn); text-transform:uppercase;
  border:1.5px solid transparent; border-radius: var(--wl-radius);
  cursor:pointer; transition: background var(--wl-dur) var(--wl-ease),
              color var(--wl-dur) var(--wl-ease), border-color var(--wl-dur) var(--wl-ease);
}
.wl-btn--gold  { background: var(--wl-gold); color: var(--wl-ink); }
.wl-btn--gold:hover  { background: var(--wl-gold-lt); }
.wl-btn--ghost { background: transparent; color: var(--wl-gold-lt); border-color: var(--wl-gold); }
.wl-btn--ghost:hover { background: var(--wl-gold); color: var(--wl-ink); }
.wl-btn--outline { background: transparent; color: var(--wl-navy); border-color: var(--wl-navy); }
.wl-btn--outline:hover { background: var(--wl-navy); color: var(--wl-sand); }
.wl-btn--ink   { background: var(--wl-ink); color: var(--wl-gold-lt); }
.wl-btn--ink:hover { background: var(--wl-navy); }
.wl-btn--lg { padding:18px 30px; min-height:54px; font-size:.84375rem; }
.wl-btn--sm { padding:12px 20px; min-height:38px; font-size:.71875rem; }
.wl-btn--block { width:100%; }
.wl-btn[disabled], .wl-btn[aria-disabled="true"] {
  background: var(--wl-sand); color: var(--wl-muted); border-color: var(--wl-sand-dk);
  cursor:not-allowed; opacity:.75;
}
.wl-btn .wl-icon { width:17px; height:17px; }

.wl-link {
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--wl-font-display); font-weight:600; font-size:.8125rem;
  letter-spacing: var(--wl-tr-btn); text-transform:uppercase; color: var(--wl-gold);
}
.wl-link:hover { text-decoration:underline; text-underline-offset:5px; }

/* ------------------------------------------------------------ 02 header */
.wl-header { position:absolute; inset-inline:0; top:0; z-index:50; }
.wl-header--solid { position:sticky; background: var(--wl-ink); }
.wl-header__inner {
  display:flex; align-items:center; justify-content:space-between; gap: var(--wl-s5);
  min-height:92px; border-bottom:1px solid rgb(231 217 196 / .14);
}
.wl-brand { display:flex; align-items:center; gap:12px; color: var(--wl-gold); }
.wl-brand__crest { width:30px; height:30px; }
.wl-brand__word {
  font-family: var(--wl-font-display); font-weight:900; font-size:1.0625rem;
  letter-spacing:-.005em; text-transform:uppercase; color: var(--wl-gold);
}
.wl-nav { display:flex; align-items:center; gap:32px; }
.wl-nav a {
  font-weight:500; font-size:.8125rem; letter-spacing:.09em; text-transform:uppercase;
  color: var(--wl-sand); opacity:.82; padding-block:6px;
}
.wl-nav a:hover { opacity:1; }
.wl-nav a[aria-current="page"] {
  opacity:1; color: var(--wl-gold-lt); box-shadow: inset 0 -2px 0 var(--wl-gold);
}
.wl-header__cta { display:flex; align-items:center; gap:16px; }
.wl-burger { display:none; background:none; border:0; padding:10px; cursor:pointer; }
.wl-burger span { display:block; width:22px; height:1.8px; background: var(--wl-sand); margin:5px 0;
                  transition: transform var(--wl-dur) var(--wl-ease), opacity var(--wl-dur); }
.wl-header[data-open="true"] .wl-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.wl-header[data-open="true"] .wl-burger span:nth-child(2){ opacity:0; }
.wl-header[data-open="true"] .wl-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width: 1000px) {
  .wl-burger { display:block; }
  .wl-header__inner { min-height:72px; }
  .wl-nav {
    position:absolute; inset-inline:0; top:100%; flex-direction:column; align-items:flex-start;
    gap:0; background: var(--wl-ink); padding: var(--wl-s5) var(--wl-pad-x) var(--wl-s7);
    border-bottom:3px solid var(--wl-gold); display:none;
  }
  .wl-header[data-open="true"] .wl-nav { display:flex; }
  .wl-nav a { width:100%; padding:16px 0; font-size:1rem; border-bottom:1px solid rgb(231 217 196 / .1); }
  .wl-header__cta .wl-btn { display:none; }
}

/* ------------------------------------------------------------ 03 hero */
.wl-hero { position:relative; overflow:hidden; background: var(--wl-navy); color: var(--wl-sand);
           padding-block: clamp(150px, 16vw, 208px) clamp(56px, 7vw, 96px); }
.wl-hero__bg { position:absolute; inset:0; z-index:0; }
.wl-hero__bg img { width:100%; height:100%; object-fit:cover; opacity:.30; }
.wl-hero__bg::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(100deg, var(--wl-ink) 0%, rgb(8 25 43 / .55) 52%, rgb(8 25 43 / .05) 100%);
}
.wl-hero__watermark {
  position:absolute; right:-6%; top:50%; translate:0 -50%; width:min(720px, 62vw);
  color: var(--wl-gold); opacity:.055; z-index:0; pointer-events:none;
}
.wl-hero__inner { position:relative; z-index:1; display:grid;
                  grid-template-columns: minmax(0,1fr) auto; gap: clamp(32px,5vw,80px); align-items:center; }
.wl-hero__copy { max-width:690px; }
.wl-hero .wl-display { color: var(--wl-white); }
.wl-hero__actions { display:flex; flex-wrap:wrap; gap:16px; margin-top: var(--wl-s7); }
.wl-hero__proof { display:flex; align-items:center; gap:12px; margin-top: var(--wl-s6);
                  font-size:.875rem; opacity:.7; }
.wl-stars { display:flex; gap:3px; color: var(--wl-gold); }
.wl-stars .wl-icon { width:15px; height:15px; }
.wl-hero__media { position:relative; width:min(440px, 38vw); }
.wl-hero__media::before {
  content:""; position:absolute; inset:22px -22px -22px 22px;
  border:1.25px solid var(--wl-gold); opacity:.55;
}
@media (max-width: 1000px) {
  .wl-hero__inner { grid-template-columns: 1fr; }
  .wl-hero__media { display:none; }
}

/* ------------------------------------------------------------ 04 photo frame */
.wl-photo { position:relative; display:block; background: var(--wl-navy-dk); overflow:hidden; }
.wl-photo::before { content:""; position:absolute; inset-inline:0; top:0; height:3px;
                    background: var(--wl-gold); z-index:2; }
.wl-photo img { width:100%; height:100%; object-fit:cover; }
.wl-photo--portrait { aspect-ratio: 4/5; }
.wl-photo--landscape { aspect-ratio: 3/2; }
.wl-badge-years {
  position:absolute; right:0; bottom:0; z-index:3; background: var(--wl-gold); color: var(--wl-ink);
  padding:18px 24px; text-align:center;
}
.wl-badge-years b { display:block; font-family: var(--wl-font-display); font-weight:900;
                    font-size:2.25rem; line-height:1; }
.wl-badge-years span { font-size:.625rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }

/* ------------------------------------------------------------ 05 stats */
.wl-stats { background: var(--wl-navy-dk); color: var(--wl-sand); }
.wl-stats__grid { display:grid; grid-template-columns: repeat(4,1fr); }
.wl-stat { padding: var(--wl-s7) var(--wl-s5); }
.wl-stat + .wl-stat { border-left:1px solid rgb(231 217 196 / .14); }
.wl-stat b { display:block; font-family: var(--wl-font-display); font-weight:900;
             font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--wl-gold); letter-spacing:-.02em; }
.wl-stat span { font-size:.84375rem; opacity:.62; }
@media (max-width: 760px) {
  .wl-stats__grid { grid-template-columns: repeat(2,1fr); }
  .wl-stat:nth-child(odd) { border-left:0; }
  .wl-stat:nth-child(n+3) { border-top:1px solid rgb(231 217 196 / .14); }
}

/* ------------------------------------------------------------ 06 marquee */
.wl-marquee { background: var(--wl-gold); color: var(--wl-ink); overflow:hidden;
              padding-block:14px; }
.wl-marquee__track { display:flex; width:max-content; animation: wl-scroll 42s linear infinite; }
.wl-marquee p { font-family: var(--wl-font-accent); font-size:1.4375rem;
                letter-spacing: var(--wl-tr-accent); white-space:nowrap; padding-right:2.5rem; }
@keyframes wl-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .wl-marquee__track { animation:none; } }

/* ------------------------------------------------------------ 07 cards */
.wl-card { position:relative; background: var(--wl-white); padding: var(--wl-s6);
           border-top:3px solid var(--wl-gold); height:100%; }
.wl-card__num { position:absolute; top:22px; right:26px; font-family: var(--wl-font-display);
                font-weight:900; font-size:1.875rem; color: var(--wl-sand-dk); }
.wl-card .wl-icon--lg { color: var(--wl-navy); margin-bottom: var(--wl-s6); }
.wl-card h3 { margin-bottom: var(--wl-s3); }
.wl-card p { color: var(--wl-muted); font-size:.90625rem; }

.wl-plan { position:relative; background: var(--wl-navy-dk); color: var(--wl-sand);
           border-top:3px solid var(--wl-navy-soft); padding: var(--wl-s6);
           display:flex; flex-direction:column; height:100%; }
.wl-plan--featured { background: var(--wl-navy); border-top-color: var(--wl-gold);
                     outline:1.5px solid var(--wl-gold); }
.wl-plan__tag { position:absolute; top:-13px; right:0; background: var(--wl-gold); color: var(--wl-ink);
                font-size:.625rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
                padding:6px 14px; }
.wl-plan h3 { color: var(--wl-sand); }
.wl-plan__price { display:flex; align-items:baseline; gap:8px; margin:var(--wl-s4) 0 var(--wl-s3); }
.wl-plan__price b { font-family: var(--wl-font-display); font-weight:900; font-size:2.25rem;
                    color: var(--wl-gold); letter-spacing:-.02em; }
.wl-plan__price span { font-size:.8125rem; opacity:.55; }
.wl-plan > p { opacity:.66; font-size:.875rem; }
.wl-plan__feats { margin: var(--wl-s5) 0; padding-top: var(--wl-s5);
                  border-top:1px solid rgb(231 217 196 / .13); display:grid; gap:12px; }
.wl-plan__feats li { display:flex; gap:10px; align-items:flex-start; font-size:.84375rem; opacity:.86; }
.wl-plan__feats .wl-icon { color: var(--wl-gold); margin-top:2px; }
.wl-plan .wl-btn { margin-top:auto; }

/* ------------------------------------------------------------ 08 process */
.wl-steps { position:relative; }
.wl-steps::before { content:""; position:absolute; left:34px; right:120px; top:34px; height:1.5px;
                    background: var(--wl-sand-dk); }
.wl-step__dot { position:relative; width:68px; height:68px; border-radius:50%;
                background: var(--wl-navy); color: var(--wl-gold);
                display:grid; place-items:center; font-family: var(--wl-font-display);
                font-weight:900; font-size:1.3125rem; margin-bottom: var(--wl-s6); }
.wl-step h3 { margin-bottom: var(--wl-s3); }
.wl-step p { color: var(--wl-muted); font-size:.875rem; }
@media (max-width: 900px) { .wl-steps::before { display:none; } }

/* ------------------------------------------------------------ 09 results */
.wl-metric b { display:block; font-family: var(--wl-font-display); font-weight:900;
               font-size: clamp(2rem, 4vw, 3.375rem); color: var(--wl-gold); letter-spacing:-.025em; }
.wl-metric span { font-size:.90625rem; opacity:.68; }
.wl-quote { background: var(--wl-navy-dk); border-left:3px solid var(--wl-gold);
            padding: clamp(28px,4vw,44px); }
.wl-quote blockquote { font-family: var(--wl-font-accent); font-size: clamp(1.25rem,2.1vw,1.625rem);
                       line-height:1.42; color: var(--wl-sand); }
.wl-quote figcaption { margin-top: var(--wl-s6); }
.wl-quote cite { display:block; font-style:normal; font-weight:600; font-size:.75rem;
                 letter-spacing:.16em; text-transform:uppercase; color: var(--wl-gold); }
.wl-quote small { display:block; margin-top:4px; font-size:.78125rem; opacity:.55; }
.wl-testimonial + .wl-testimonial { margin-top: var(--wl-s7); }
.wl-testimonial p { font-size:.90625rem; opacity:.86; margin:12px 0; }
.wl-testimonial cite { font-style:normal; font-weight:600; font-size:.6875rem; letter-spacing:.14em;
                       text-transform:uppercase; color: var(--wl-gold); opacity:.8; }

/* ------------------------------------------------------------ 10 keywords */
.wl-keywords { display:grid; grid-template-columns: repeat(5,1fr); text-align:center; }
.wl-keyword { padding: var(--wl-s7) var(--wl-s3); }
.wl-keyword + .wl-keyword { border-left:1px solid rgb(18 59 93 / .16); }
.wl-keyword .wl-icon { margin:0 auto var(--wl-s5); color: var(--wl-navy); width:34px; height:34px; }
.wl-keyword span { font-size:.75rem; font-weight:600; letter-spacing:.20em; text-transform:uppercase; }
@media (max-width: 760px) {
  .wl-keywords { grid-template-columns: repeat(2,1fr); }
  .wl-keyword { border-left:0 !important; border-top:1px solid rgb(18 59 93 / .12); }
}

/* ------------------------------------------------------------ 11 studio */
.wl-facts { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--wl-s5);
            margin-top: var(--wl-s8); }
.wl-fact .wl-icon { color: var(--wl-gold); margin-bottom: var(--wl-s4); }
.wl-fact dt { font-size:.6875rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
              color: var(--wl-gold); margin-bottom:8px; }
.wl-fact dd { margin:0; font-size:.84375rem; opacity:.72; }
.wl-map { position:relative; aspect-ratio: 4/3; background: var(--wl-navy-dk);
          border-top:3px solid var(--wl-gold); display:grid; place-items:center;
          background-image: linear-gradient(rgb(231 217 196 /.07) 1px, transparent 1px),
                            linear-gradient(90deg, rgb(231 217 196 /.07) 1px, transparent 1px);
          background-size: 16.6% 20%; }
.wl-map__pin { text-align:center; color: var(--wl-gold); }
.wl-map__pin span { display:block; margin-top:10px; font-size:.6875rem; font-weight:600;
                    letter-spacing:.16em; text-transform:uppercase; color: var(--wl-sand); opacity:.75; }
@media (max-width: 640px) { .wl-facts { grid-template-columns:1fr; } }

/* ------------------------------------------------------------ 12 FAQ */
.wl-faq { border-top: var(--wl-border); }
.wl-faq details { border-bottom: var(--wl-border); }
.wl-faq summary {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding: var(--wl-s5) 0; cursor:pointer; list-style:none;
  font-family: var(--wl-font-display); font-weight:600; font-size:1.09375rem; color: var(--wl-navy);
}
.wl-faq summary::-webkit-details-marker { display:none; }
.wl-faq summary::after { content:"+"; font-size:1.5rem; line-height:1; color: var(--wl-gold); flex:none; }
.wl-faq details[open] summary::after { content:"–"; }
.wl-faq p { padding-bottom: var(--wl-s5); color: var(--wl-muted); max-width:62ch; }

/* ------------------------------------------------------------ 13 CTA + footer */
.wl-cta { position:relative; overflow:hidden; }
.wl-cta__watermark { position:absolute; right:2%; top:50%; translate:0 -50%; width:340px;
                     color: var(--wl-ink); opacity:.09; pointer-events:none; }
.wl-cta__inner { position:relative; z-index:1; }
.wl-cta__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top: var(--wl-s6); }

.wl-footer { background: var(--wl-ink); color: var(--wl-sand); border-top:3px solid var(--wl-gold);
             padding-block: var(--wl-s9) var(--wl-s6); }
.wl-footer__grid { display:grid; grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr; gap: var(--wl-s6); }
.wl-footer h2 { font-size:.6875rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
                color: var(--wl-gold); margin-bottom: var(--wl-s5); }
.wl-footer li + li { margin-top:10px; }
.wl-footer a { font-size:.875rem; opacity:.68; }
.wl-footer a:hover { opacity:1; color: var(--wl-gold-lt); }
.wl-footer__motto { font-family: var(--wl-font-accent); font-size:1.0625rem;
                    letter-spacing:.11em; color: var(--wl-gold-lt); margin-top: var(--wl-s6); }
.wl-footer__contact li { display:flex; gap:10px; align-items:flex-start; font-size:.875rem; opacity:.68; }
.wl-footer__contact .wl-icon { color: var(--wl-gold); width:15px; height:15px; margin-top:3px; }
.wl-footer__bottom { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between;
                     margin-top: var(--wl-s9); padding-top: var(--wl-s5);
                     border-top:1px solid rgb(231 217 196 / .13); font-size:.8125rem; opacity:.5; }
.wl-footer__legal { display:flex; gap:22px; }
@media (max-width: 1000px) { .wl-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px)  { .wl-footer__grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------ 14 table */
.wl-compare { width:100%; border-collapse:collapse; text-align:left; }
.wl-compare th, .wl-compare td { padding: var(--wl-s4) var(--wl-s5); border-bottom: var(--wl-border);
                                 font-size:.90625rem; vertical-align:middle; }
.wl-compare thead th { border-bottom:1.5px solid var(--wl-navy); vertical-align:bottom; }
.wl-compare thead .wl-h3 { display:block; }
.wl-compare thead b { display:block; font-size:.875rem; color: var(--wl-gold); font-weight:600;
                      margin-top:6px; }
.wl-compare tbody th { font-weight:400; color: var(--wl-navy); }
.wl-compare .wl-icon { color: var(--wl-gold); }
.wl-compare col.is-featured, .wl-compare td.is-featured, .wl-compare th.is-featured {
  background: var(--wl-white); }
.wl-compare tfoot td { border-bottom:0; padding-top: var(--wl-s5); }
.wl-table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width: 860px) { .wl-compare { min-width:720px; } }

.wl-addon { background: var(--wl-navy-dk); border-top:2.5px solid var(--wl-gold);
            padding: var(--wl-s5); height:100%; }
.wl-addon__top { display:flex; align-items:center; justify-content:space-between; }
.wl-addon__top .wl-icon { color: var(--wl-gold); }
.wl-addon__price { font-family: var(--wl-font-display); font-weight:900; font-size:1.0625rem;
                   color: var(--wl-gold); }
.wl-addon h3 { font-size:.9375rem; margin: var(--wl-s5) 0 8px; color: var(--wl-sand);
               text-transform:none; letter-spacing:0; }
.wl-addon p { font-size:.78125rem; opacity:.62; }

/* ------------------------------------------------------------ 15 forms */
.wl-form { background: var(--wl-white); border-top:3px solid var(--wl-gold);
           padding: clamp(24px,3.4vw,40px); }
.wl-field { display:block; margin-bottom: var(--wl-s5); }
.wl-field > span:not(.wl-field__error) {
  display:block; font-size:.6875rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color: var(--wl-muted); margin-bottom:10px; }
.wl-field input, .wl-field select, .wl-field textarea {
  width:100%; padding:15px 16px; background: var(--wl-white); color: var(--wl-navy);
  border:1px solid var(--wl-sand-dk); border-radius: var(--wl-radius);
  transition: border-color var(--wl-dur) var(--wl-ease);
}
.wl-field input:focus, .wl-field select:focus, .wl-field textarea:focus {
  border-color: var(--wl-gold); outline:2px solid rgb(200 155 43 / .3); outline-offset:1px;
}
.wl-field textarea { min-height:110px; resize:vertical; }
.wl-field--error input { border-color: var(--wl-crimson); }
.wl-field__error { display:block; margin-top:8px; margin-bottom:0; font-size:.75rem;
                   font-weight:400; letter-spacing:0; text-transform:none; color: var(--wl-crimson); }
.wl-check { display:flex; gap:12px; align-items:flex-start; font-size:.84375rem; margin-bottom: var(--wl-s5); }
.wl-check input { width:20px; height:20px; accent-color: var(--wl-gold); flex:none; margin-top:1px; }
.wl-form__row { display:grid; grid-template-columns:1fr 1fr; gap: var(--wl-s5); }
@media (max-width: 640px) { .wl-form__row { grid-template-columns:1fr; } }

/* ------------------------------------------------------------ 16 misc */
.wl-timeline { display:grid; grid-template-columns: repeat(5,1fr); gap: var(--wl-s5);
               position:relative; padding-top: var(--wl-s7); }
.wl-timeline::before { content:""; position:absolute; left:0; right:80px; top:calc(var(--wl-s7) + 30px);
                       height:1px; background: rgb(231 217 196 / .18); }
.wl-milestone b { display:block; font-family: var(--wl-font-display); font-weight:900;
                  font-size:1.375rem; color: var(--wl-gold); letter-spacing:-.01em; }
.wl-milestone__dot { width:12px; height:12px; border-radius:50%; background: var(--wl-gold);
                     margin:14px 0 22px; position:relative; z-index:1; }
.wl-milestone h3 { font-size:.90625rem; text-transform:none; letter-spacing:0; color: var(--wl-sand); }
.wl-milestone p { font-size:.78125rem; opacity:.6; margin-top:8px; }
@media (max-width: 900px) { .wl-timeline { grid-template-columns: repeat(2,1fr); }
                            .wl-timeline::before { display:none; } }
@media (max-width: 560px) { .wl-timeline { grid-template-columns: 1fr; } }

.wl-principle .wl-rule { margin:0 0 var(--wl-s5); width:50px; }
.wl-principle q { display:block; font-family: var(--wl-font-accent);
                  font-size: clamp(1.375rem,2.2vw,1.875rem); line-height:1.24; quotes:none; }
.wl-principle p { margin-top: var(--wl-s5); color: var(--wl-muted); font-size:.875rem; }

.wl-pill { display:inline-block; padding:6px 15px; border-radius: var(--wl-radius-pill);
           font-size:.6875rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.wl-pill--gold { background: var(--wl-gold); color: var(--wl-ink); }
.wl-pill--pine { background: var(--wl-pine); color:#fff; }
.wl-pill--crimson { background: var(--wl-crimson); color:#fff; }
.wl-pill--navy { background: var(--wl-navy); color: var(--wl-sand); }
.wl-pill--sand { background: var(--wl-sand); color: var(--wl-navy); }

.wl-alert { display:flex; gap:16px; background: var(--wl-white); padding: var(--wl-s4) var(--wl-s5);
            border-left:3px solid var(--wl-navy); font-size:.875rem; }
.wl-alert--ok    { border-left-color: var(--wl-pine); }
.wl-alert--ok .wl-icon { color: var(--wl-pine); }
.wl-alert--warn  { border-left-color: var(--wl-gold); }
.wl-alert--warn .wl-icon { color: var(--wl-gold); }
.wl-alert--error { border-left-color: var(--wl-crimson); }
.wl-alert--error .wl-icon { color: var(--wl-crimson); }

.wl-crumb { display:flex; gap:10px; font-size:.8125rem; opacity:.6; margin-bottom: var(--wl-s5); }
.wl-crumb a:hover { opacity:1; text-decoration:underline; }
.wl-page-hero { position:relative; overflow:hidden; background: var(--wl-navy);
                color: var(--wl-sand); padding-block: clamp(140px,14vw,180px) clamp(48px,6vw,80px); }
.wl-page-hero .wl-hero__watermark { width:min(560px,52vw); }
.wl-page-hero__inner { position:relative; z-index:1; max-width:700px; }
.wl-page-hero .wl-h1 { color: var(--wl-white); }
