:root{--hv-navy:#061c35;--hv-navy2:#102c4b;--hv-gold:#d7ad55;--hv-gold-light:#f6d77e;--hv-cream:#f7f4ec;--hv-ink:#0a1e36;--hv-container:1160px}
body{margin:0;color:var(--hv-ink);background:#fff}
.hv-site-content{margin:0!important;padding:0!important;min-height:30vh}.hv-main{display:block;min-height:30vh}.hv-container{width:min(var(--hv-container),calc(100% - 44px));margin-inline:auto}.hv-skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:8px;z-index:9999}.hv-skip:focus{left:8px}.hv-site-header{background:var(--hv-navy);position:relative;z-index:10;color:#fff;font-family:Arial,Helvetica,sans-serif}.hv-topbar{background:linear-gradient(105deg,#03192f 0%,#132f51 60%,#08203b 100%);border-bottom:1px solid #6b7c8a}.hv-topbar-inner{min-height:93px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hv-brand{display:block;width:min(480px,72%)}.hv-brand img{display:block;width:100%;height:auto;max-height:87px;object-fit:contain;object-position:left center}.hv-head-actions{display:flex;align-items:center;gap:23px}.hv-social{font:bold 23px/1 Arial,Helvetica,sans-serif;color:white;text-decoration:none!important}.hv-social:hover{color:var(--hv-gold-light)}.hv-social.hv-youtube{font-size:17px;border-radius:6px;background:#fff;color:var(--hv-navy);padding:5px 7px}.hv-nav{background:#071d36;border-bottom:1px solid #496077}.hv-menu{display:flex;align-items:center;gap:0;margin:0!important;padding:0!important;list-style:none!important}.hv-menu li{margin:0!important;padding:0!important}.hv-menu a{display:block;color:#fff!important;text-decoration:none!important;padding:14px 23px;font-size:14px;line-height:1.3;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent;transition:background .15s}.hv-menu a:hover,.hv-menu a.is-active{color:var(--hv-gold-light)!important;border-bottom-color:var(--hv-gold);background:rgba(255,255,255,.03)}.hv-menu-toggle{display:none;border:0;background:transparent;cursor:pointer;padding:10px}.hv-menu-toggle span{display:block;width:27px;height:2px;background:#fff;margin:5px 0}
.hv-hero{position:relative;min-height:330px;display:flex;align-items:center;background-color:#09223d;background-image:var(--hv-hero-image);background-size:cover;background-position:center center;color:#fff}.hv-hero-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:330px}.hv-hero-copy{max-width:54%;padding:28px 0 35px}.hv-hero-kicker{display:flex;gap:16px;align-items:center;color:var(--hv-gold-light);font:bold 14px/1.5 Arial,Helvetica,sans-serif;letter-spacing:2px;margin:0 0 11px}.hv-hero-kicker span{width:41px;height:2px;background:var(--hv-gold)}.hv-hero h1{color:#fff;font:700 clamp(37px,4.2vw,57px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:0 0 6px}.hv-hero-lead{color:#fff;font:normal clamp(17px,1.7vw,22px)/1.35 Georgia,'Times New Roman',serif;max-width:500px;margin:0 0 19px}.hv-hero-actions{display:flex;flex-wrap:wrap;gap:15px}.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:145px;padding:11px 21px;border-radius:5px;font:700 14px/1.2 Arial,Helvetica,sans-serif;text-decoration:none!important}.hv-btn span{font-size:24px;line-height:12px}.hv-btn-primary{background:linear-gradient(130deg,#f3d77f,#b78a36);color:#121d2e!important;border:1px solid #e7c676}.hv-btn-outline{background:rgba(5,22,40,.15);color:#fff!important;border:1px solid #fff}.hv-btn:hover{filter:brightness(1.12)}.hv-ticker{background:var(--hv-cream);border-bottom:1px solid #dfd8c8;color:#142238;font:12px/1.4 Arial,Helvetica,sans-serif}.hv-ticker-inner{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-block:12px;flex-wrap:wrap}.hv-ticker strong{white-space:nowrap}.hv-ticker strong span{color:#ad8336;font-size:20px}.hv-ticker-item{border-left:1px solid #b38d50;padding-left:18px}.hv-home-content{padding:28px 0 50px}.hv-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px;border-bottom:1px solid #d9b45d}.hv-section-head h2{font:700 31px/1.3 Georgia,serif;margin:0 0 8px;color:var(--hv-ink)}.hv-section-head a,.hv-readmore{color:#89651d;text-decoration:none;font-size:14px;font-weight:bold}.hv-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hv-post-card{background:#fff;border:1px solid #e3e3e3;border-radius:7px;box-shadow:0 2px 9px rgba(0,0,0,.045);overflow:hidden}.hv-thumb{display:block;aspect-ratio:16/9;background:#e4e8ed}.hv-thumb img{width:100%;height:100%;object-fit:cover}.hv-post-card-body{padding:18px}.hv-post-card time{color:#69717c;font-size:12px}.hv-post-card h3{font:700 21px/1.2 Georgia,serif;margin:8px 0}.hv-post-card h3 a{color:#10243a;text-decoration:none}.hv-post-card p{font-size:14px;line-height:1.55}.hv-no-posts{padding:20px 0;color:#5b6470}.hv-quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.hv-quicklinks a{display:flex;flex-direction:column;gap:9px;background:linear-gradient(115deg,#08203c,#22496c);color:#fff!important;text-decoration:none;padding:23px 25px;border-radius:7px}.hv-quicklinks strong{font:700 25px/1.2 Georgia,serif}.hv-quicklinks span{font-size:13px}.hv-interior{max-width:1000px;padding-block:45px 70px}.hv-interior-title{font:700 clamp(31px,4vw,45px)/1.15 Georgia,serif;color:var(--hv-ink);margin:0 0 25px}.hv-entry-content{font-size:17px;line-height:1.7}.hv-single-featured{max-height:540px;object-fit:cover;width:100%;height:auto;margin-bottom:20px}.hv-post-date{color:#757575}.hv-site-footer{background:#071d36;color:#fff;padding:24px 0;font:13px Arial,Helvetica,sans-serif}.hv-footer-inner{display:flex;justify-content:space-between;gap:20px}
@media(max-width:1000px){.hv-menu a{padding-inline:14px}.hv-ticker-inner{justify-content:flex-start}.hv-brand{width:min(410px,75%)}}
@media(max-width:800px){.hv-topbar-inner{min-height:75px}.hv-brand{width:min(365px,calc(100% - 60px))}.hv-brand img{max-height:66px}.hv-head-actions{gap:12px}.hv-menu-toggle{display:block}.hv-nav{display:none}.hv-nav.hv-nav-open{display:block}.hv-menu{display:flex;flex-direction:column;align-items:stretch}.hv-menu a{padding:15px 20px;border-bottom:1px solid #324a64}.hv-hero,.hv-hero-inner{min-height:365px}.hv-hero{background-position:58% center}.hv-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,39,.95) 0%,rgba(5,23,43,.82) 47%,rgba(5,23,43,.17) 100%)}.hv-hero-copy{max-width:68%}.hv-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hv-quicklinks{grid-template-columns:1fr 1fr}.hv-ticker-item{font-size:11px}}
@media(max-width:600px){.hv-container{width:calc(100% - 30px)}.hv-social{display:none}.hv-brand{width:min(290px,calc(100% - 48px))}.hv-hero,.hv-hero-inner{min-height:380px}.hv-hero{background-position:63% center}.hv-hero::before{background:linear-gradient(90deg,rgba(4,19,37,.95) 0%,rgba(4,19,37,.84) 65%,rgba(4,19,37,.34) 100%)}.hv-hero-copy{max-width:87%;padding:35px 0}.hv-hero h1{font-size:37px}.hv-hero-lead{font-size:17px;max-width:320px}.hv-hero-kicker{font-size:12px}.hv-btn{min-width:0;padding:11px 14px}.hv-ticker-inner{gap:9px}.hv-ticker-item{padding-left:8px}.hv-post-grid,.hv-quicklinks{grid-template-columns:1fr}.hv-footer-inner{flex-direction:column}.hv-section-head h2{font-size:26px}}

/* v1.1: readable wide branding, original HV emblem retained */
.hv-topbar-inner{min-height:116px}
.hv-brand{display:flex;align-items:center;gap:15px;width:auto;max-width:min(850px,calc(100% - 100px));text-decoration:none!important;flex-shrink:1;min-width:0}
.hv-brand .hv-brand-mark{width:118px;height:109px;max-height:none;flex:0 0 auto;object-fit:contain;object-position:center}
.hv-brand-type{display:flex;flex-direction:column;min-width:0;gap:2px}
.hv-brand-name{color:#fff;font:700 clamp(27px,2.8vw,43px)/1.08 Georgia,'Times New Roman',serif;white-space:nowrap;letter-spacing:-.4px}
.hv-brand-name span{color:#e6c171}
.hv-brand-subtitle{color:#f4f4f4;font:500 clamp(11px,1.1vw,15px)/1.4 Arial,Helvetica,sans-serif;letter-spacing:.3px}
/* The supplied hero image is 3:1, so enough height is necessary to avoid clipping the portrait. */
.hv-hero,.hv-hero-inner{min-height:clamp(410px,29.5vw,570px)}
.hv-hero{background-position:center top}
.hv-hero-copy{max-width:50%}
@media(max-width:1000px){
 .hv-topbar-inner{min-height:101px}
 .hv-brand .hv-brand-mark{width:97px;height:90px}
 .hv-brand-name{font-size:clamp(23px,3vw,34px)}
 .hv-hero,.hv-hero-inner{min-height:420px}
 .hv-hero{background-position:57% top}
}
@media(max-width:800px){
 .hv-topbar-inner{min-height:88px}
 .hv-brand{width:auto;max-width:calc(100% - 72px);gap:8px}
 .hv-brand .hv-brand-mark{width:75px;height:72px;max-height:none}
 .hv-brand-name{font-size:clamp(20px,3.9vw,29px)}
 .hv-brand-subtitle{font-size:11px}
 .hv-hero,.hv-hero-inner{min-height:400px}
 .hv-hero{background-position:58% top}
 .hv-hero-copy{max-width:67%}
}
@media(max-width:600px){
 .hv-topbar-inner{min-height:75px}
 .hv-brand{max-width:calc(100% - 50px);gap:5px}
 .hv-brand .hv-brand-mark{width:55px;height:59px}
 .hv-brand-name{font-size:clamp(16px,4.6vw,22px);letter-spacing:-.3px}
 .hv-brand-subtitle{font-size:9px;letter-spacing:0}
 .hv-hero,.hv-hero-inner{min-height:410px}
 .hv-hero{background-size:auto 100%;background-position:65% top}
 .hv-hero-copy{max-width:87%}
}
@media(max-width:380px){.hv-brand-name{font-size:16px}.hv-brand-subtitle{font-size:8px}.hv-brand .hv-brand-mark{width:47px}}


/* v1.3: CSS hero background matches the header. The transparent portrait is an
   independent layer, so no image-background seam appears around the head. */
.hv-hero-portrait { display:none; }
@media (min-width:1101px) {
  .hv-site-header { position:relative; z-index:10; }
  .hv-hero {
    position:relative;
    z-index:11;
    isolation:isolate;
    overflow:visible;
    background-image:none!important;
    background-color:#071d36;
    background:linear-gradient(103deg,#061b33 0%,#102e4d 58%,#112e4a 100%)!important;
    min-height:365px;
  }
  .hv-hero-inner { min-height:365px; }
  .hv-hero-copy { max-width:59%; position:relative; z-index:2; padding:36px 0 39px; }
  .hv-hero h1 { white-space:nowrap; font-size:clamp(38px,3.15vw,57px); }
  .hv-hero-portrait {
    position:absolute;
    display:block;
    z-index:3;
    height:calc(100% + 108px);
    width:auto;
    max-width:none;
    max-height:none;
    right:max(5.5%,calc((100vw - 1160px)/2 + 12px));
    bottom:0;
    object-fit:contain;
    object-position:bottom center;
    pointer-events:none;
  }
}
@media (min-width:801px) and (max-width:1100px) {
  .hv-hero { background-image:none!important; background:linear-gradient(103deg,#061b33 0%,#102e4d 60%,#112e4a 100%)!important; }
  .hv-hero h1 { white-space:nowrap; font-size:clamp(32px,3.5vw,42px); }
  .hv-hero-copy { max-width:60%; position:relative;z-index:2; }
  .hv-hero-portrait {
    display:block; position:absolute; z-index:3; height:calc(100% + 65px);
    width:auto; max-width:none; right:2%; bottom:0; pointer-events:none;
  }
}
/* Tablet and phone below 800 px use the unmodified v1.1 image, layout and menu. */


/* v1.4 – soft depth, one continuous navy background and visible portrait on mobile. */
.hv-hero { isolation:isolate; }
@media(min-width:801px) {
 .hv-hero { background:#09223d!important; background-image:linear-gradient(108deg,#061a31 0%,#102b49 58%,#142f4b 100%)!important; }
 .hv-hero::after {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
   background:radial-gradient(ellipse 55% 95% at 88% 27%,rgba(73,104,132,.18),transparent 72%),radial-gradient(ellipse 34% 85% at 39% 106%,rgba(41,76,112,.24),transparent 82%);}
 .hv-hero-inner{z-index:1}
 .hv-hero-portrait{z-index:3}
}
/* Maintain the existing mobile header/menu, hero size and copy, but show the actual cutout. */
@media(max-width:800px) {
 .hv-hero { overflow:hidden; background:#09223d!important;
   background-image:linear-gradient(110deg,#061a31 0%,#112c49 60%,#132e4a 100%)!important; }
 .hv-hero::after {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
   background:radial-gradient(ellipse 75% 80% at 100% 20%,rgba(98,124,148,.22),transparent 75%);}
 .hv-hero-portrait {display:block;position:absolute;bottom:0;right:-50px;width:auto;height:95%;
   max-height:none;max-width:none;object-fit:contain;object-position:bottom right;z-index:1;pointer-events:none;}
 .hv-hero::before {z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(4,18,35,.93) 0%,rgba(4,18,35,.66) 48%,rgba(4,18,35,.06) 100%)!important;}
 .hv-hero-inner {z-index:3;}
}
@media(max-width:600px) {
 .hv-hero-portrait {height:91%;right:-106px;}
 .hv-hero::before {background:linear-gradient(90deg,rgba(4,18,35,.96) 0%,rgba(4,18,35,.75) 52%,rgba(4,18,35,.12) 100%)!important;}
}
@media(max-width:390px) {
 .hv-hero-portrait {height:86%;right:-126px;}
}

/* v1.5 — visible atmospheric architecture behind desktop hero; portrait stays separate.
   The mobile layout/styles from v1.4 are deliberately untouched. */
@media (min-width:801px) {
  .hv-hero {
    background-color:#0a2340!important;
    background-image:url('../img/hv-hero-background-v15.jpg')!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
  }
  /* No gradient veil hiding the new architecture; preserve the photo layer. */
  .hv-hero::after { background:none!important; }
}

/* v1.6 — darker, unified header/menu; shorter desktop hero using the uploaded
   media-library background without the portrait baked in. Mobile stays as in v1.4. */
.hv-topbar{
  background:linear-gradient(105deg,#021628 0%,#0a2240 58%,#061a31 100%);
  border-bottom:1px solid rgba(214,173,85,.22);
}
.hv-nav{
  background:#05203c;
  border-bottom:1px solid rgba(214,173,85,.18);
}
.hv-menu a:hover,.hv-menu a.is-active{
  background:rgba(255,255,255,.04);
}

@media (min-width:801px) {
  .hv-hero{
    min-height:250px;
    background-color:#08213c!important;
    background-image:var(--hv-hero-bg-image)!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:cover!important;
  }
  .hv-hero-inner{min-height:250px; align-items:center;}
  .hv-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      linear-gradient(90deg, rgba(5,24,44,.86) 0%, rgba(7,30,55,.79) 30%, rgba(7,30,55,.58) 47%, rgba(7,30,55,.16) 67%, rgba(7,30,55,.02) 100%),
      linear-gradient(180deg, rgba(4,18,35,.08) 0%, rgba(4,18,35,.20) 100%);
  }
  .hv-hero-copy{
    max-width:53%;
    padding:24px 0 28px;
    position:relative;
    z-index:2;
  }
  .hv-hero-kicker{margin:0 0 10px; font-size:12px; letter-spacing:2.2px;}
  .hv-hero-kicker span{width:52px;}
  .hv-hero h1{
    white-space:nowrap;
    font-size:clamp(34px,3.4vw,52px);
    line-height:1.05;
    margin:0 0 10px;
  }
  .hv-hero-lead{
    font-size:clamp(15px,1.45vw,18px);
    line-height:1.36;
    max-width:470px;
    margin:0 0 17px;
  }
  .hv-hero-actions{gap:14px;}
  .hv-btn{padding:10px 18px; min-width:140px;}
  .hv-hero-portrait{
    display:block;
    position:absolute;
    z-index:3;
    height:124%;
    width:auto;
    right:max(4.5%, calc((100vw - 1160px)/2 + 6px));
    bottom:0;
    object-fit:contain;
    object-position:bottom center;
    pointer-events:none;
  }
}

@media (min-width:801px) and (max-width:1100px) {
  .hv-topbar-inner{min-height:104px;}
  .hv-brand .hv-brand-mark{width:102px;height:95px;}
  .hv-brand-name{font-size:clamp(25px,3.2vw,37px);}
  .hv-nav .hv-container{width:min(var(--hv-container),calc(100% - 28px));}
  .hv-menu a{padding:13px 16px; font-size:13px;}
  .hv-hero,.hv-hero-inner{min-height:236px;}
  .hv-hero-copy{max-width:55%; padding:22px 0 24px;}
  .hv-hero h1{font-size:clamp(31px,3.7vw,42px);}
  .hv-hero-lead{font-size:15px; max-width:420px;}
  .hv-hero-portrait{height:119%; right:1.5%;}
}

@media (min-width:1101px) {
  .hv-topbar-inner{min-height:101px;}
  .hv-brand .hv-brand-mark{width:96px;height:90px;}
  .hv-brand-name{font-size:clamp(30px,2.9vw,48px);}
  .hv-brand-subtitle{font-size:14px;}
  .hv-menu a{padding:14px 19px;}
}


/* v1.7 — desktop hero with taller reference proportions; larger portrait
   overlaps the navigation and ends at folded arms. Phone CSS is unchanged. */
@media (min-width:1101px) {
  .hv-hero,.hv-hero-inner { min-height:365px; }
  .hv-hero-copy { padding-top:35px; padding-bottom:40px; }
  .hv-hero-portrait {
    height:150%;
    bottom:-76px;
    clip-path:inset(0 0 76px 0);
    right:max(3.5%,calc((100vw - 1160px)/2 - 32px));
  }
}
@media (min-width:801px) and (max-width:1100px) {
  .hv-hero,.hv-hero-inner { min-height:330px; }
  .hv-hero-portrait {
    height:145%;
    bottom:-67px;
    clip-path:inset(0 0 67px 0);
    right:0;
  }
}

/* v1.8 — only desktop atmosphere/color matching. Keeps the v1.7 layout, portrait and mobile untouched. */
@media (min-width:801px) {
  .hv-hero::after {
    background:
      linear-gradient(180deg, rgba(3,19,37,.34) 0%, rgba(5,24,44,.14) 18%, rgba(6,26,48,0) 54%),
      linear-gradient(90deg, rgba(3,20,39,.72) 0%, rgba(5,25,46,.63) 26%, rgba(7,29,52,.43) 48%, rgba(6,24,43,.13) 70%, rgba(5,22,41,.12) 100%),
      linear-gradient(0deg, rgba(5,21,40,.16) 0%, rgba(5,21,40,0) 44%)!important;
  }
}


/* v1.9: simple, separately clickable social links and an accessible search popover.
   The hero geometry and all mobile hero rules from v1.8 remain unchanged. */
.hv-head-actions {gap:18px;position:relative}
.hv-social {display:inline-flex;align-items:center;justify-content:center;color:#fff!important;text-decoration:none!important;width:25px;height:26px;line-height:1;vertical-align:middle}
.hv-social svg{display:block;width:23px;height:23px}
.hv-social:hover,.hv-search-trigger:hover{color:var(--hv-gold-light)!important}
.hv-social.hv-social-youtube{padding:0;border-radius:0;background:transparent;color:white!important}
.hv-social.hv-social-youtube svg{width:25px;height:25px}
.hv-social.hv-social-youtube:hover{color:var(--hv-gold-light)!important}
.hv-header-action-divider{display:block;width:1px;height:24px;background:rgba(235,239,244,.65);margin:0 1px}
.hv-search-popover{position:relative}
.hv-search-popover summary{list-style:none;cursor:pointer}
.hv-search-popover summary::-webkit-details-marker{display:none}
.hv-search-popover summary::marker{content:""}
.hv-search-form{position:absolute;right:0;top:calc(100% + 13px);z-index:100;width:min(340px,calc(100vw - 32px));display:flex;gap:7px;padding:12px;border:1px solid #d6ad55;border-radius:4px;background:#071d36;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.hv-search-form input{flex:1;min-width:0;background:#fff;color:#14243d;border:1px solid #b7c0ce;border-radius:3px;padding:9px 11px;font:14px Arial,sans-serif}
.hv-search-form button{background:#d7ad55;color:#081b30;border:0;border-radius:3px;font:700 13px Arial,sans-serif;padding:9px 12px;cursor:pointer}
.hv-elementor-home-content{width:100%;margin:0;padding:0;min-height:0}
.hv-elementor-home-content .elementor{width:100%}
@media(max-width:800px){.hv-head-actions{gap:9px}.hv-header-action-divider{display:none}.hv-social-facebook,.hv-social-youtube,.hv-social-mail{display:none}.hv-search-trigger{display:inline-flex;width:25px;height:26px}.hv-search-popover{display:block}}
@media(max-width:600px){.hv-search-form{right:-46px}.hv-search-trigger svg{width:20px;height:20px}}

/* v2.0: remove the old boxed layout around Elementor pages/posts.
 * Keep the global header/hero sizing exactly as in v1.9. */
.hv-builder-content { width:100%; max-width:none; margin:0; padding:0; min-height:0; }
.hv-builder-content > .elementor { width:100%; max-width:none; margin:0; }
.hv-builder-content .elementor-section.elementor-section-boxed > .elementor-container { max-width:100%; }
.hv-builder-content .e-con.e-con-boxed > .e-con-inner { max-width:100%; }
.hv-builder-content > :not(.elementor) { max-width:100%; }
/* Page title and featured image are provided by Elementor widgets/HTML only. */


/* v2.1 - compact global footer; replaces v2.0 simple footer only */
.hv-footer-v21{background:linear-gradient(115deg,#05172b 0%,#0c2949 55%,#061b32 100%);color:#e6edf5;padding:0;font:13px/1.55 Arial,Helvetica,sans-serif}
.hv-footer-v21 *{box-sizing:border-box}
.hv-footer-v21-inner{width:min(1460px,calc(100% - 44px));margin:0 auto;padding:25px 0 15px}
.hv-footer-v21-top{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:19px}
.hv-footer-v21-brand{display:block;flex:0 1 460px;min-width:0}
.hv-footer-v21-brand img{display:block;width:100%;max-width:455px;height:auto;max-height:120px;object-fit:contain;object-position:left center}
.hv-footer-v21-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-left:1px solid rgba(215,173,85,.55);padding-left:28px;min-width:250px}
.hv-footer-v21-label{font:bold 11px/1.2 Arial,sans-serif;letter-spacing:1.8px;color:#e1bc6e}
.hv-footer-v21-email,.hv-footer-v21-facebook{display:flex;align-items:center;gap:10px;color:#e9eef5!important;text-decoration:none!important;font:13px/1.4 Arial,sans-serif;overflow-wrap:anywhere}
.hv-footer-v21-email svg,.hv-footer-v21-facebook svg{width:18px;height:18px;flex:0 0 18px;color:#e1bc6e}
.hv-footer-v21-email:hover,.hv-footer-v21-facebook:hover{color:#e1bc6e!important}
.hv-footer-v21-notice{padding:14px 0;border-top:1px solid rgba(219,232,247,.17);border-bottom:1px solid rgba(219,232,247,.17)}
.hv-footer-v21-notice strong{display:block;font-size:12px;color:#e2be70;margin-bottom:5px;letter-spacing:.15px}
.hv-footer-v21-notice p{max-width:1190px;margin:0;font-size:12px;line-height:1.6;color:#cdd8e5}
.hv-footer-v21-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:13px;color:#aebfd0;font-size:11px}
.hv-footer-v21-bottom a{color:#cbd8e5!important;text-decoration:none!important}
.hv-footer-v21-bottom a:hover{color:#e2be70!important}
@media(max-width:800px){.hv-footer-v21-top{gap:20px}.hv-footer-v21-brand{flex-basis:55%}.hv-footer-v21-contact{min-width:0;padding-left:18px}}
@media(max-width:600px){.hv-footer-v21-inner{width:calc(100% - 30px);padding:23px 0 15px}.hv-footer-v21-top{flex-direction:column;align-items:flex-start;gap:15px}.hv-footer-v21-brand{flex:none;width:min(100%,390px)}.hv-footer-v21-brand img{max-width:100%;max-height:110px}.hv-footer-v21-contact{border-left:0;border-top:1px solid rgba(215,173,85,.34);padding:13px 0 0;gap:9px;width:100%}.hv-footer-v21-notice p{font-size:11.5px}.hv-footer-v21-bottom{flex-direction:column;align-items:flex-start;gap:6px}}


/* v2.4 — Footer brand mirrors the header's monogram + editable name.
   Keep the existing footer grid, colors and typography. */
.hv-footer-v21-brand.hv-brand{display:flex;align-items:center;gap:12px;flex:0 1 540px;max-width:100%;min-width:0;width:auto;text-decoration:none!important}
.hv-footer-v21-brand.hv-brand .hv-brand-mark{display:block;width:92px;height:90px;max-width:none;max-height:none;flex:0 0 92px;object-fit:contain;object-position:center}
.hv-footer-v21-brand.hv-brand .hv-brand-type{display:flex;min-width:0;flex-direction:column;gap:2px}
.hv-footer-v21-brand.hv-brand .hv-brand-name{font:700 clamp(20px,2.35vw,33px)/1.12 Georgia,'Times New Roman',serif;white-space:normal;letter-spacing:-.4px;color:#fff}
.hv-footer-v21-brand.hv-brand .hv-brand-name span{color:#e6c171}
.hv-footer-v21-brand.hv-brand .hv-brand-subtitle{color:#f4f4f4;font:500 13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.3px}
@media(max-width:800px){
 .hv-footer-v21-brand.hv-brand{flex:1 1 55%;gap:9px}
 .hv-footer-v21-brand.hv-brand .hv-brand-mark{width:72px;height:75px;flex-basis:72px}
 .hv-footer-v21-brand.hv-brand .hv-brand-name{font-size:clamp(18px,2.6vw,26px)}
 .hv-footer-v21-brand.hv-brand .hv-brand-subtitle{font-size:11px}
}
@media(max-width:600px){
 .hv-footer-v21-brand.hv-brand{flex:none;width:100%;max-width:100%;gap:7px}
 .hv-footer-v21-brand.hv-brand .hv-brand-mark{width:58px;height:60px;flex-basis:58px}
 .hv-footer-v21-brand.hv-brand .hv-brand-name{font-size:clamp(17px,4.4vw,23px);line-height:1.15}
 .hv-footer-v21-brand.hv-brand .hv-brand-subtitle{font-size:10px}
}
@media(max-width:380px){
 .hv-footer-v21-brand.hv-brand .hv-brand-mark{width:50px;height:54px;flex-basis:50px}
 .hv-footer-v21-brand.hv-brand .hv-brand-name{font-size:16px}
}

/* v2.5: Display the medical qualification in the second line of the hero on desktop and mobile. */
.hv-hero-qualification{color:#f4f4f4;font:500 clamp(14px,1.5vw,19px)/1.4 Arial,Helvetica,sans-serif;letter-spacing:.2px;margin:0 0 12px}
@media(max-width:600px){.hv-hero-qualification{font-size:14px;line-height:1.35;margin-bottom:10px}}

/* v2.6 – Ensure the existing two-line brand is readable in the actual phone viewport.
   No modifications to desktop styling, monogram, hero image, or footer layout. */
@media (max-width:600px){
 .hv-site-header .hv-brand-type,.hv-footer-v21 .hv-brand-type{display:flex;flex-direction:column;min-width:0;max-width:100%}
 .hv-site-header .hv-brand-name,.hv-footer-v21 .hv-brand-name{display:block;white-space:normal;overflow-wrap:normal}
 .hv-site-header .hv-brand-subtitle,.hv-footer-v21 .hv-brand-subtitle{display:block;white-space:normal;line-height:1.35}
 .hv-site-header .hv-brand{min-width:0}
 .hv-site-header .hv-brand-name{font-size:clamp(16px,4.6vw,22px)}
 .hv-site-header .hv-brand-subtitle{font-size:clamp(9px,2.55vw,11px)}
 .hv-hero-qualification{display:block;visibility:visible}
}

/* v2.7: On phones, keep the hero name in the left column instead of over the portrait's face.
   All desktop styles, imagery and other elements remain unchanged. */
@media (max-width:600px) {
  .hv-hero .hv-hero-copy #hv-hero-title {
    white-space:normal;
    max-width:min(230px, 68vw);
    overflow-wrap:normal;
    line-height:1.08;
  }
}
