/* Hypno Health Teesside — theme stylesheet (v2 design).
   Source: assets/src/base.css. wp/elementor_build.py appends the generated hills (wave) classes
   and writes assets/src/hh.css; wp/deploy.py publishes that under a content-hashed name.
   Colours come from the round logo. Headings: DM Serif. Body: Source Sans 3.
   Classes are set in Elementor under Advanced > CSS Classes. */

:root {
  --hh-sky: #b4dcf5;
  --hh-soft: #e8f4fc;
  --hh-purple: #a56faf;
  --hh-plum: #7d4c88;
  --hh-blue: #204195;
  --hh-teal: #265f72;
  --hh-ink: #151e48;
  --hh-text: #3a4057;
  --hh-muted: #666d84;
  --hh-line: #d9deea;
  --hh-serif-d: "DM Serif Display", Georgia, serif;
  --hh-serif: "DM Serif Text", Georgia, serif;
  --hh-sans: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --hh-wave-tall: clamp(80px, 12vw, 180px);
  --hh-wave-low: clamp(56px, 7.5vw, 110px);
}

html { scroll-behavior: smooth; }
body.hh-site { margin: 0; font: 400 18.5px/1.7 var(--hh-sans); color: var(--hh-text); background: #fff; -webkit-font-smoothing: antialiased; }
.hh-site img { max-width: 100%; height: auto; }
.hh-site a { color: var(--hh-blue); text-underline-offset: 3px; text-decoration-thickness: 1px; }
.hh-site a:hover { color: var(--hh-plum); }
.hh-wrap { max-width: 1244px; margin: 0 auto; padding: 0 32px; }
.hh-skip { position: absolute; left: -999px; }
.hh-skip:focus { left: 12px; top: 12px; background: #fff; padding: 8px 12px; z-index: 99; }

/* ---------- Header ---------- */
.hh-util { background: var(--hh-ink); color: #cfd6ee; font-size: .92rem; line-height: 1.5; }
.hh-util .hh-wrap { display: flex; justify-content: flex-end; gap: 28px; padding-top: 9px; padding-bottom: 9px; }
.hh-site .hh-util a { color: #fff; text-decoration: none; }
.hh-site .hh-util a:hover { color: var(--hh-sky); }
.hh-head { background: #fff; position: sticky; top: 0; z-index: 90; box-shadow: 0 1px 0 rgba(21,30,72,.08); }
.admin-bar .hh-head { top: 32px; }
.hh-head .hh-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 92px; }
.hh-brand { align-self: flex-start; flex: none; display: block; }
.hh-brand img { display: block; width: 136px; height: 136px; margin-top: 6px; background: #fff; border-radius: 50%; padding: 7px; box-shadow: 0 6px 18px rgba(21,30,72,.12); }
.hh-nav { display: flex; align-items: center; gap: 24px; }
.hh-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; align-items: center; }
.hh-nav li { position: relative; margin: 0; }
.hh-site .hh-nav ul a { color: var(--hh-ink); text-decoration: none; white-space: nowrap; padding: 8px 0; display: block; border-bottom: 2px solid transparent; font-size: 1.02rem; line-height: 1.5; }
.hh-site .hh-nav ul > li > a:hover, .hh-site .hh-nav ul > li.current-menu-item > a, .hh-site .hh-nav ul > li.current-menu-ancestor > a { border-bottom-color: var(--hh-purple); color: var(--hh-ink); }
.hh-nav ul ul { display: none; position: absolute; left: -22px; top: 100%; background: #fff; border-radius: 0 0 16px 16px; min-width: 260px; padding: 10px 0 14px; box-shadow: 0 18px 40px rgba(21,30,72,.14); }
.hh-nav li:hover > ul, .hh-nav li:focus-within > ul { display: block; }
.hh-site .hh-nav ul ul a { padding: 9px 22px; border-bottom: 0; }
.hh-site .hh-nav ul ul a:hover { background: var(--hh-soft); }
.hh-site a.hh-button { display: inline-block; padding: 12px 24px; font: 600 1.02rem/1.2 var(--hh-sans); background: var(--hh-blue); color: #fff; text-decoration: none; border: 2px solid var(--hh-blue); border-radius: 999px; white-space: nowrap; transition: background .2s, border-color .2s; }
.hh-site a.hh-button:hover { background: var(--hh-ink); border-color: var(--hh-ink); color: #fff; }
.hh-site button.hh-burger { display: none; background: none; border: 0; padding: 12px 6px; cursor: pointer; border-radius: 0; }
.hh-site button.hh-burger:hover, .hh-site button.hh-burger:focus { background: none; }
.hh-burger i { display: block; width: 26px; height: 2px; background: var(--hh-ink); margin: 6px 0; border-radius: 2px; }

/* ---------- Typography inside Elementor widgets ---------- */
.hh-site .elementor-widget-heading .elementor-heading-title { color: var(--hh-ink); font-weight: 400; margin: 0; }
.hh-site .elementor-widget-heading h1.elementor-heading-title { font: 400 clamp(2.5rem, 4.8vw, 4rem)/1.08 var(--hh-serif-d); }
.hh-site .elementor-widget-heading h2.elementor-heading-title { font: 400 clamp(1.9rem, 3.3vw, 2.9rem)/1.15 var(--hh-serif-d); }
.hh-site .elementor-widget-heading h3.elementor-heading-title { font: 400 1.5rem/1.25 var(--hh-serif); }
.hh-site .elementor-widget-text-editor { color: var(--hh-text); font: 400 1em/1.7 var(--hh-sans); }
.hh-site .elementor-widget-text-editor p { margin: 0 0 1.1em; }
.hh-site .elementor-widget-text-editor p:last-child, .hh-site .elementor-widget-text-editor ul:last-child { margin-bottom: 0; }
.hh-site .elementor-widget-text-editor ul { padding-left: 1.15em; margin: 0 0 1.1em; }
.hh-site .elementor-widget-text-editor li { margin-bottom: .45em; }
.hh-site .elementor-widget-text-editor li::marker { color: var(--hh-purple); }
.hh-site .elementor-widget.hh-big { font-size: 1.3rem; line-height: 1.6; color: var(--hh-ink); }
.hh-site .elementor-widget.hh-said, .hh-site .elementor-widget-text-editor p.said { font: italic 400 1.5rem/1.4 var(--hh-serif); color: var(--hh-plum); }
.hh-site .elementor-widget-text-editor p.said { margin: 1.3em 0; padding-left: 26px; border-left: 3px solid var(--hh-sky); }
.hh-site .elementor-widget.hh-small, .hh-site .elementor-widget-text-editor p.small { font-size: .98rem; color: var(--hh-muted); }
.hh-site .elementor-widget.hh-sign { font: italic 400 1.35rem var(--hh-serif); color: var(--hh-ink); }
.hh-site .elementor-widget.hh-more a { font-weight: 600; }
.hh-site .elementor-widget.hh-centre { text-align: center; }

/* The prose column on treatment pages: smaller h2s with room above */
.hh-site .hh-prose .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(1.75rem, 2.7vw, 2.3rem); padding-top: .7em; }
.hh-site .hh-prose > .elementor-widget-heading:first-child h2.elementor-heading-title { padding-top: 0; }
.hh-site .hh-prose .elementor-widget-heading h3.elementor-heading-title { padding-top: .5em; }
.hh-site .elementor-widget-text-editor ul.cols { list-style: none; padding: 0; columns: 3; column-gap: 40px; }
.hh-site .elementor-widget-text-editor ul.cols li { break-inside: avoid; padding: 6px 0; margin: 0; }

/* ---------- Buttons (Elementor Button widget) ---------- */
.hh-site .elementor-widget-button .elementor-button { display: inline-block; padding: 15px 32px; font: 600 1.02rem/1.2 var(--hh-sans); background: var(--hh-blue); color: #fff; fill: #fff; border: 2px solid var(--hh-blue); border-radius: 999px; transition: background .2s, color .2s, border-color .2s; }
.hh-site .elementor-widget-button .elementor-button:hover { background: var(--hh-ink); border-color: var(--hh-ink); color: #fff; }
.hh-site .elementor-widget-button.hh-btn-block .elementor-button { display: block; text-align: center; }

/* ---------- Blocks of logo colour ---------- */
.hh-blk { position: relative; }
.c-white { background-color: #fff; }
.c-soft { background-color: var(--hh-soft); }
.c-sky { background-color: var(--hh-sky); }
.c-purple { background-color: var(--hh-plum); }
.c-teal { background-color: var(--hh-teal); }
.c-blue { background-color: var(--hh-blue); }
.hh-site .c-purple .elementor-widget-text-editor { color: #f3e9f5; }
.hh-site .c-teal .elementor-widget-text-editor { color: #dcebef; }
.hh-site .c-blue .elementor-widget-text-editor { color: #dbe2f6; }
.hh-site .c-purple .elementor-heading-title, .hh-site .c-teal .elementor-heading-title, .hh-site .c-blue .elementor-heading-title,
.hh-site .c-purple .elementor-widget.hh-big, .hh-site .c-teal .elementor-widget.hh-big, .hh-site .c-blue .elementor-widget.hh-big,
.hh-site .c-purple .elementor-widget.hh-said, .hh-site .c-teal .elementor-widget.hh-said, .hh-site .c-blue .elementor-widget.hh-said { color: #fff; }
.hh-site .c-purple .elementor-widget a, .hh-site .c-teal .elementor-widget a, .hh-site .c-blue .elementor-widget a { color: #fff; }
.hh-site .c-purple .elementor-widget a:hover, .hh-site .c-teal .elementor-widget a:hover, .hh-site .c-blue .elementor-widget a:hover { color: var(--hh-sky); }

/* ---------- Hills between sections ----------
   The wave sits in a transparent bottom border, so it never eats the section's own padding. */
.hh-wave { border-bottom: var(--hh-wave-low) solid transparent; }
.hh-wave.hh-wave-tall { border-bottom-width: var(--hh-wave-tall); }
.hh-wave::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(-1 * var(--hh-wave-low) - 1px); height: calc(var(--hh-wave-low) + 1px); background-repeat: no-repeat; background-size: 100% 100%; background-position: center bottom; pointer-events: none; z-index: 1; }
.hh-wave.hh-wave-tall::after { bottom: calc(-1 * var(--hh-wave-tall) - 1px); height: calc(var(--hh-wave-tall) + 1px); }
.hh-wave.hh-flip::after { transform: scaleX(-1); }
/* The last section of a page leaves room for the footer hills, which overlap it. */
.hh-last { border-bottom: var(--hh-wave-low) solid transparent; }
.hh-footwave { display: block; width: 100%; height: calc(var(--hh-wave-low) + 1px); margin-top: calc(-1 * var(--hh-wave-low)); margin-bottom: -1px; position: relative; z-index: 2; pointer-events: none; }

/* ---------- Round photos with the logo's ring ---------- */
.hh-site .elementor-widget-image.hh-round { padding: 14px; }
.hh-site .elementor-widget-image.hh-round img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 12%; border-radius: 50%; border: 8px solid #fff; outline: 2px solid var(--hh-purple); outline-offset: 12px; }
.hh-site .elementor-widget-image.hh-round.hh-ring-white img { outline-color: #fff; }
.hh-site .elementor-widget-image.hh-round.hh-house img { object-position: 62% 30%; }
.hh-site .elementor-widget-image.hh-pic img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 28px 28px 28px 4px; }
.hh-site .elementor-widget-image .widget-image-caption { font: 400 .98rem/1.5 var(--hh-sans); color: var(--hh-muted); text-align: center; margin-top: 26px; font-style: normal; }

/* ---------- Home hero ---------- */
.hh-site .hh-hero .elementor-widget-heading.hh-hello .elementor-heading-title { font: 400 1.25rem/1.3 var(--hh-serif); color: var(--hh-blue); }
.hh-site .hh-hero .elementor-widget-heading.hh-motto .elementor-heading-title { font: 400 clamp(2.5rem, 5.2vw, 4.4rem)/1.08 var(--hh-serif-d); color: var(--hh-ink); }
.hh-hero .hh-hero-photo { position: relative; z-index: 3; margin-bottom: -150px; }
.hh-site .hh-hero .elementor-widget.hh-or { color: var(--hh-ink); }
.hh-site .hh-hero .elementor-widget.hh-or a { color: var(--hh-ink); font-weight: 600; }

/* ---------- Mind, body, soul roundels ---------- */
.hh-disc { width: min(100%, 270px); aspect-ratio: 1; border-radius: 50%; position: relative; overflow: visible; outline: 2px solid var(--hh-purple); outline-offset: 9px; justify-content: center; align-items: center; text-align: center; transition: transform .25s; }
.hh-disc:hover { transform: rotate(-3deg) scale(1.03); }
.hh-disc.d1 { background-color: var(--hh-purple); outline-color: var(--hh-purple); }
.hh-disc.d2 { background-color: var(--hh-blue); outline-color: var(--hh-blue); }
.hh-disc.d3 { background-color: var(--hh-teal); outline-color: var(--hh-teal); }
.hh-disc::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #fff; opacity: .16; pointer-events: none;
  -webkit-mask: url(../img/fern.png) 92% 150% / 46% auto no-repeat; mask: url(../img/fern.png) 92% 150% / 46% auto no-repeat; }
.hh-site .hh-disc .elementor-widget-heading .elementor-heading-title, .hh-site .hh-disc .elementor-widget-heading .elementor-heading-title a { color: #fff; }
.hh-site .hh-disc .elementor-widget-heading.hh-disc-word .elementor-heading-title { font: italic 400 1.2rem/1.3 var(--hh-serif); opacity: .92; }
.hh-site .hh-disc .elementor-widget-heading.hh-disc-name .elementor-heading-title { font: 400 1.75rem/1.15 var(--hh-serif-d); }
.hh-disc .elementor-widget { position: relative; z-index: 2; }

/* ---------- "The uses of hypnotherapy" list ---------- */
.hh-site .hh-use .elementor-widget-heading h3.elementor-heading-title { font: 400 1.6rem/1.2 var(--hh-serif-d); }
.hh-site .hh-use .elementor-widget-heading h3.elementor-heading-title a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: rgba(255,255,255,.45); }
.hh-site .hh-use .elementor-widget-heading h3.elementor-heading-title a:hover { text-decoration-color: currentColor; color: #fff; }

/* ---------- Clients' words ---------- */
.hh-site .elementor-widget.hh-voice { font: 400 clamp(1.4rem, 2.2vw, 1.85rem)/1.42 var(--hh-serif); color: var(--hh-ink); }
.hh-site .elementor-widget.hh-cite { color: var(--hh-muted); font-size: 1rem; }
.hh-site .elementor-widget.hh-cite strong { color: var(--hh-ink); font-weight: 600; }
.hh-voice2 { background-color: var(--hh-soft); border-radius: 28px 28px 28px 4px; }
.hh-site .hh-voice2 .elementor-widget.hh-voice { font: 400 1.1rem/1.7 var(--hh-sans); }
.hh-tst { border-bottom: 1px solid var(--hh-line); }
.hh-tst.hh-tst-last { border-bottom: 0; }
.hh-site .hh-tst .elementor-widget.hh-who { color: var(--hh-muted); }
.hh-site .hh-tst .elementor-widget.hh-who strong { color: var(--hh-ink); font-weight: 600; display: block; font-size: 1.1rem; }
.hh-site .hh-tst .elementor-widget.hh-who em { color: var(--hh-plum); font-style: normal; display: block; margin-top: 4px; font-size: .98rem; }
.hh-site .hh-tst .elementor-widget.hh-lead { font: 400 1.5rem/1.4 var(--hh-serif); color: var(--hh-ink); }

/* ---------- Page title band ---------- */
.hh-title > .e-con-inner { position: relative; }
.hh-title > .e-con-inner::before { content: ""; position: absolute; right: 0; top: -64px; width: 230px; aspect-ratio: 328 / 700; background: #fff; opacity: .14; transform: rotate(12deg); pointer-events: none;
  -webkit-mask: url(../img/fern.png) center / contain no-repeat; mask: url(../img/fern.png) center / contain no-repeat; }
.hh-title.c-sky > .e-con-inner::before, .hh-title.c-soft > .e-con-inner::before { background: var(--hh-blue); opacity: .1; }
.hh-title .elementor-widget { position: relative; z-index: 2; max-width: 860px; }
.hh-site .hh-title .elementor-widget.hh-word { font: italic 400 1.3rem/1.3 var(--hh-serif); opacity: .92; color: var(--hh-ink); }
.hh-site .hh-title.c-purple .elementor-widget.hh-word, .hh-site .hh-title.c-teal .elementor-widget.hh-word, .hh-site .hh-title.c-blue .elementor-widget.hh-word { color: #fff; }
.hh-site .hh-title .elementor-widget.hh-big { max-width: 700px; }

/* ---------- "Hi, I'm Allison" side panel ---------- */
.hh-aside { position: sticky; top: 124px; align-self: flex-start; background-color: var(--hh-soft); border-radius: 28px 28px 4px 28px; text-align: center; }
.admin-bar .hh-aside { top: 156px; }
.hh-site .hh-aside .elementor-widget-image.hh-round { width: 178px; margin: 0 auto 8px; }
.hh-site .hh-aside .elementor-widget-image.hh-round img { border-width: 5px; outline-offset: 8px; }
.hh-site .hh-aside .elementor-widget-heading h2.elementor-heading-title { font: 400 1.6rem/1.2 var(--hh-serif-d); padding: 0; }
.hh-site .hh-aside .elementor-widget-text-editor { font-size: .98rem; }
.hh-site .hh-aside .elementor-widget-text-editor a { color: var(--hh-ink); font-weight: 600; }
.hh-site .elementor-widget-text-editor table.facts { width: 100%; border-collapse: collapse; margin: 0; font-size: 1rem; text-align: left; }
.hh-site .elementor-widget-text-editor table.facts td { padding: 10px 0; border: 0; border-bottom: 1px solid rgba(32,65,149,.16); background: none; vertical-align: baseline; color: var(--hh-text); }
.hh-site .elementor-widget-text-editor table.facts td:last-child { text-align: right; color: var(--hh-ink); font-weight: 600; padding-left: 14px; }

/* ---------- Price tables (Text Editor tables) ---------- */
.hh-site .elementor-widget-text-editor table.prices { width: 100%; border-collapse: collapse; font-variant-numeric: lining-nums tabular-nums; margin: 0; }
.hh-site .elementor-widget-text-editor table.prices td { text-align: left; padding: 16px 0; border: 0; border-bottom: 1px solid var(--hh-line); background: none; vertical-align: baseline; color: var(--hh-ink); font-size: 1.12rem; }
.hh-site .elementor-widget-text-editor table.prices td small { display: block; color: var(--hh-muted); font-size: .96rem; }
.hh-site .elementor-widget-text-editor table.prices td:nth-child(2) { color: var(--hh-muted); padding-left: 20px; white-space: nowrap; font-size: 1rem; }
.hh-site .elementor-widget-text-editor table.prices td:last-child { text-align: right; white-space: nowrap; padding-left: 20px; font: 400 1.4rem var(--hh-serif); }
.hh-site .elementor-widget-text-editor table.prices tr.add td:first-child { padding-left: 24px; font-size: 1.02rem; color: var(--hh-text); }
.hh-site .elementor-widget-text-editor table tbody > tr:nth-child(odd) > td { background: none; }

/* ---------- Contact ---------- */
.hh-site .elementor-widget-text-editor table.ways { width: 100%; border-collapse: collapse; margin: 0; }
.hh-site .elementor-widget-text-editor table.ways td { padding: 12px 0; border: 0; border-bottom: 1px solid rgba(32,65,149,.16); background: none; vertical-align: top; }
.hh-site .elementor-widget-text-editor table.ways td:first-child { width: 118px; color: var(--hh-muted); padding-right: 14px; }
.hh-site .elementor-widget-text-editor table.ways a { color: var(--hh-ink); font-weight: 600; }
.hh-form { background-color: #fff; border-radius: 28px 28px 4px 28px; box-shadow: 0 18px 50px rgba(21,30,72,.08); }
.c-white .hh-form { background-color: var(--hh-soft); box-shadow: none; }
.hh-form .wpcf7 center { text-align: left; }
.hh-form .wpcf7 br { display: none; }
.hh-form .wpcf7 p { margin: 0 0 16px; }
.hh-form .wpcf7 input[type=text], .hh-form .wpcf7 input[type=email], .hh-form .wpcf7 input[type=tel], .hh-form .wpcf7 select, .hh-form .wpcf7 textarea {
  display: block; width: 100%; padding: 13px 16px; font: 400 1rem var(--hh-sans); color: var(--hh-ink); border: 1px solid #c3cbdc; background: #fff; border-radius: 12px; }
.hh-form .wpcf7 textarea { height: 150px; }
.hh-form .wpcf7 input:focus, .hh-form .wpcf7 select:focus, .hh-form .wpcf7 textarea:focus { outline: 2px solid var(--hh-purple); outline-offset: 1px; border-color: var(--hh-purple); }
.hh-site .hh-form .wpcf7 input[type=submit] { display: inline-block; padding: 15px 32px; font: 600 1.02rem/1.2 var(--hh-sans); background: var(--hh-blue); color: #fff; border: 2px solid var(--hh-blue); border-radius: 999px; cursor: pointer; }
.hh-site .hh-form .wpcf7 input[type=submit]:hover { background: var(--hh-ink); border-color: var(--hh-ink); }

/* ---------- Footer ---------- */
.hh-foot { background: var(--hh-ink); color: #c3cae3; font-size: 1rem; }
.hh-foot-cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 48px; padding-top: 44px; padding-bottom: 56px; }
.hh-foot img { width: 128px; height: 128px; margin-bottom: 18px; display: block; }
.hh-foot h2 { font: 400 1.25rem var(--hh-serif); color: #fff; margin: 0 0 12px; }
.hh-foot ul { list-style: none; margin: 0; padding: 0; }
.hh-foot li { margin-bottom: 8px; }
.hh-site .hh-foot a { color: #c3cae3; text-decoration: none; }
.hh-site .hh-foot a:hover { color: #fff; text-decoration: underline; }
.hh-foot .hh-motto { font: italic 400 1.2rem/1.4 var(--hh-serif); color: #fff; margin: 0; }
.hh-legal { border-top: 1px solid rgba(255,255,255,.14); }
.hh-legal .hh-wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; padding-top: 20px; padding-bottom: 24px; font-size: .9rem; }

/* ---------- Pages not built in Elementor (blog, archives) ---------- */
.hh-site:not(.elementor-template-full-width) main.site-main { max-width: 1244px; margin: 0 auto; padding: 96px 32px calc(72px + var(--hh-wave-low)); }
.hh-site main.site-main .entry-title { font: 400 clamp(2.5rem, 4.8vw, 4rem)/1.08 var(--hh-serif-d); color: var(--hh-ink); }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .hh-site button.hh-burger { display: block; }
  .hh-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; padding: 56px 32px 28px; flex-direction: column; align-items: stretch; gap: 14px; max-height: calc(100vh - 110px); overflow: auto; box-shadow: 0 20px 30px rgba(21,30,72,.12); }
  .hh-nav.open { display: flex; }
  .hh-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .hh-site .hh-nav ul a { padding: 13px 0; border-bottom: 1px solid var(--hh-line); }
  .hh-nav ul ul { display: block; position: static; box-shadow: none; padding: 0 0 0 18px; min-width: 0; }
  .hh-site .hh-nav ul ul a { padding: 10px 0; border-bottom: 1px solid var(--hh-line); }
  .hh-site a.hh-button { text-align: center; }
}
@media (max-width: 1024px) {
  .hh-hero .hh-hero-photo { max-width: 340px; margin: 0 auto -90px; }
  .hh-aside { position: static; }
  .hh-site .elementor-widget-text-editor ul.cols { columns: 2; }
  .hh-title > .e-con-inner::before { width: 130px; right: -10px; top: -30px; }
  .hh-disc { margin-left: auto; margin-right: auto; width: 220px; }
  .hh-foot-cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) { .admin-bar .hh-head { top: 46px; } }
@media (max-width: 767px) {
  body.hh-site { font-size: 17.5px; }
  .hh-wrap { padding: 0 22px; }
  .hh-util .hh-wrap { justify-content: center; }
  .hh-util .hh-addr { display: none; }
  .hh-head .hh-wrap { height: 74px; }
  .hh-brand img { width: 100px; height: 100px; padding: 5px; }
  .hh-nav { padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 560px) {
  .hh-site .elementor-widget-text-editor ul.cols { columns: 1; }
  .hh-foot-cols { grid-template-columns: 1fr; gap: 30px; }
  .hh-site .elementor-widget-text-editor table.prices td:nth-child(2) { display: none; }
}

/* ---------- Small fixes ---------- */
.hh-title { overflow-x: clip; }
.hh-site .hh-about-photos .elementor-widget-image.hh-second { width: 62%; margin: -80px 0 0 auto; position: relative; }
@media (max-width: 1024px) { .hh-about-photos { max-width: 420px; margin: 0 auto; } }

/* ---------- Generated hills (wp/elementor_build.py) ---------- */
.hh-w-1::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-2::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-3::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-4::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-5::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-6::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-7::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-8::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 62 C180 22 330 20 520 50 C720 82 860 30 1060 26 C1220 23 1340 46 1440 60 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23265f72%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-9::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23e8f4fc%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23e8f4fc%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-10::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%237d4c88%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%237d4c88%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-11::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-12::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23265f72%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23265f72%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-13::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23204195%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-14::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23b4dcf5%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23b4dcf5%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-15::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-16::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-17::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 112 C140 100 260 86 430 92 C620 99 700 138 900 120 C1080 104 1180 72 1440 96 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 168 C220 170 330 128 560 132 C760 136 840 176 1040 160 C1210 146 1300 122 1440 128 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 150 C120 146 220 152 330 172 C450 194 560 186 720 180 C940 172 1100 196 1440 170 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
.hh-w-18::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cg transform=%22translate%281440 0%29 scale%28-1 1%29%22%3E%3Cpath fill=%22%23a56faf%22 d=%22M0 104 C180 80 360 118 560 106 C760 94 900 60 1100 84 C1260 103 1360 112 1440 100 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23204195%22 d=%22M0 140 C160 160 300 172 500 150 C700 128 880 124 1060 146 C1220 166 1340 150 1440 138 L1440 200 L0 200Z%22/%3E%3Cpath fill=%22%23ffffff%22 d=%22M0 182 C240 160 420 176 640 186 C860 196 1040 168 1220 170 C1320 171 1390 180 1440 184 L1440 200 L0 200Z%22/%3E%3Crect y=%22198%22 width=%221440%22 height=%222%22 fill=%22%23ffffff%22/%3E%3C/g%3E%3C/svg%3E"); }
