:root{--vn-cream:#F6F0E8;--vn-cream-2:#EFE6DB;--vn-line:#EADFD3;--vn-ink:#1E1B19;--vn-muted:#6E655F;--vn-rose:#E9B4C4;--vn-rose-deep:#D98BA5;--vn-ease:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:smooth;scrollbar-color:#CDBFAF #F6F0E8}
body{-webkit-font-smoothing:antialiased;background:#fff;color:var(--vn-ink)}
::selection{background:var(--vn-rose);color:var(--vn-ink)}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--vn-cream)}::-webkit-scrollbar-thumb{background:#CDBFAF;border-radius:999px;border:2px solid var(--vn-cream)}
:focus-visible{outline:2px solid var(--vn-rose-deep);outline-offset:4px;border-radius:4px}
a{text-underline-offset:.18em;text-decoration-thickness:1px}
h1 em,.vn-h1 em{font-style:italic;color:var(--vn-rose-deep)}
.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor p{text-wrap:pretty}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor strong{font-weight:500;color:var(--vn-ink)}

/* ---------- header ---------- */
header#masthead{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.92);border-bottom:1px solid var(--vn-line);transition:box-shadow .4s var(--vn-ease)}
html.vn-scrolled header#masthead{box-shadow:0 12px 32px -24px rgba(30,27,25,.25)}
html.vn-scrolled header#masthead .vn-header{padding-top:10px!important;padding-bottom:10px!important}
.vn-header{transition:padding .4s var(--vn-ease)}
.vn-logo img{width:150px;height:auto;display:block}
@media (max-width:767px){.vn-logo img{width:122px}}
.admin-bar header#masthead{top:32px}
@media (max-width:782px){.admin-bar header#masthead{top:46px}}
.hfe-nav-menu .menu-item a.hfe-menu-item{font-size:14px}
.hfe-nav-menu__toggle{border:0!important;padding:6px!important}
.hfe-nav-menu__layout-horizontal .hfe-nav-menu>li>a:after{height:1px!important}
.vn-btn .elementor-button{transition:transform .3s var(--vn-ease),background .3s}
.vn-btn .elementor-button:hover{transform:translateY(-1px)}

/* language switch */
.vn-lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--vn-line);border-radius:999px;padding:3px}
.vn-lang__item{font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--vn-muted);text-decoration:none;padding:7px 11px;border-radius:999px;transition:color .25s,background .25s}
.vn-lang__item:hover{color:var(--vn-ink)}
.vn-lang__item.is-current{background:var(--vn-ink);color:#fff}

/* ---------- buttons ---------- */
.elementor-button{transition:transform .35s var(--vn-ease),background-color .3s,color .3s,box-shadow .35s}
.elementor-button .elementor-button-icon{transition:transform .35s var(--vn-ease)}
.elementor-button:hover .elementor-button-icon{transform:translateX(4px)}

/* ---------- hero: focal moment ---------- */
.vn-hero{position:relative;overflow:hidden;isolation:isolate}
.vn-hero::before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(520px circle at var(--mx,70%) var(--my,30%),rgba(233,180,196,.42),rgba(233,180,196,0) 60%);transition:opacity .6s;pointer-events:none}
.vn-hero__media{position:relative}
.vn-hero__img img{aspect-ratio:4/5;object-fit:cover;width:100%}
html.vn-js .vn-hero__img img{clip-path:inset(0 0 0 100% round 32px);animation:vn-swipe 1.1s var(--vn-ease) .25s forwards}
@keyframes vn-swipe{to{clip-path:inset(0 0 0 0 round 32px)}}
html.vn-js .vn-h1 .vn-w{display:inline-block;opacity:0;transform:translateY(.6em);filter:blur(8px);animation:vn-rise .9s var(--vn-ease) forwards;animation-delay:calc(.08s + var(--i,0)*.07s)}
@keyframes vn-rise{to{opacity:1;transform:none;filter:none}}
html.vn-js .vn-hero__sub,html.vn-js .vn-hero__cta,html.vn-js .vn-hero__facts{opacity:0;animation:vn-fade .8s var(--vn-ease) forwards}
html.vn-js .vn-hero__sub{animation-delay:.55s}html.vn-js .vn-hero__cta{animation-delay:.7s}html.vn-js .vn-hero__facts{animation-delay:.85s}
@keyframes vn-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.vn-badge{position:absolute;left:-28px;bottom:36px;box-shadow:0 24px 48px -24px rgba(30,27,25,.35);max-width:300px;z-index:2}
.vn-badge__img img{width:44px!important;height:44px;object-fit:cover;border-radius:12px}
.vn-badge .elementor-widget-text-editor{font-size:13px;line-height:1.35}
html.vn-js .vn-badge{opacity:0;transform:translateY(16px) scale(.96);animation:vn-pop .7s var(--vn-ease) 1.15s forwards}
@keyframes vn-pop{to{opacity:1;transform:none}}
@media (max-width:1024px){.vn-badge{left:12px;bottom:16px}}
.vn-hero__facts .elementor-icon-list-items{flex-wrap:wrap;row-gap:8px}
.vn-hero__facts .elementor-icon-list-item a{text-decoration:none}
.vn-hero__facts .elementor-icon-list-item a:hover{color:var(--vn-rose-deep)}

/* ---------- scroll reveal (images and headings only) ---------- */
html.vn-js .vn-reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--vn-ease),transform .9s var(--vn-ease),filter .9s var(--vn-ease);transition-delay:calc(var(--i,0)*70ms)}
html.vn-js .elementor-widget-image.vn-reveal{filter:blur(10px);transform:translateY(24px) scale(.985)}
html.vn-js .vn-reveal.is-in{opacity:1;transform:none;filter:none}

/* ---------- marquee ---------- */
.vn-marquee{overflow:hidden;white-space:nowrap;flex-direction:row!important;flex-wrap:nowrap!important;gap:0!important;justify-content:flex-start!important}
.vn-marquee .elementor-widget{width:auto!important;max-width:none!important;flex:0 0 auto;animation:vn-scroll 42s linear infinite;will-change:transform}
.vn-marquee:hover .elementor-widget{animation-play-state:paused}
.vn-marquee .elementor-heading-title{padding:0 .5em;color:#F6F0E8}
@keyframes vn-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* ---------- collage ---------- */
.vn-collage{position:relative;padding-bottom:12%}
.vn-collage__a img{aspect-ratio:4/5;object-fit:cover;width:86%}
.vn-collage__b{position:absolute;right:0;bottom:0;width:46%!important;max-width:46%}
.vn-collage__b img{aspect-ratio:1;object-fit:cover;box-shadow:0 30px 60px -30px rgba(30,27,25,.4);border:6px solid #fff}
.vn-img img{transition:transform .8s var(--vn-ease)}
.vn-img:hover img{transform:scale(1.02)}
.vn-facts .elementor-icon-list-item{padding:10px 0}
.vn-facts .elementor-icon-list-item a:hover{color:var(--vn-rose-deep)}

/* ---------- price list ---------- */
.vn-sticky{position:sticky;top:120px}
@media (max-width:1024px){.vn-sticky{position:static}}
.vn-pricelist{border-top:1px solid var(--vn-line)}
.vn-row{border-bottom:1px solid var(--vn-line);position:relative;transition:padding-left .45s var(--vn-ease)}
.vn-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--vn-rose);opacity:.35;transition:width .45s var(--vn-ease)}
.vn-row:hover{padding-left:20px!important}
.vn-row:hover::before{width:3px}
.vn-row__name .elementor-heading-title{transition:color .3s}
.vn-row:hover .vn-row__name .elementor-heading-title{color:var(--vn-rose-deep)}
.vn-row__price .elementor-heading-title{white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- manifesto ---------- */
.vn-manifesto{border-top:1px solid var(--vn-line)}
.vn-mani{border-bottom:1px solid var(--vn-line)}
.vn-mani__t{width:40%!important;max-width:40%}
@media (max-width:767px){.vn-mani__t{width:100%!important;max-width:100%}}
.vn-mani .elementor-widget-text-editor{flex:1}

/* ---------- gallery tiles ---------- */
.vn-tile img{aspect-ratio:4/5;object-fit:cover;width:100%}
@media (min-width:1025px){.vn-tile--down{margin-top:40px}}
.vn-tile a{display:block;overflow:hidden;border-radius:20px}
.vn-tile img{transition:transform .9s var(--vn-ease),filter .6s}
.vn-tile:hover img{transform:scale(1.05)}
.vn-gallery .gallery-item{margin:0!important}
.vn-gallery .gallery-item .gallery-icon{overflow:hidden;border-radius:18px}
.vn-gallery .gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;border:0!important;transition:transform .9s var(--vn-ease)}
.vn-gallery .gallery-item:hover img{transform:scale(1.05)}
.elementor-lightbox .swiper-slide img{border-radius:12px}

/* ---------- quotes ---------- */
.vn-quote{border-top:1px solid var(--vn-line)}
.vn-quote .elementor-widget-text-editor p{margin:0}
.vn-values .vn-value{border-top:1px solid var(--vn-line)}

/* ---------- page hero ---------- */
.vn-pagehero{position:relative;overflow:hidden;isolation:isolate}
.vn-pagehero::before{content:"";position:absolute;right:-10%;top:-40%;width:50vw;height:50vw;max-width:640px;max-height:640px;border-radius:50%;background:radial-gradient(circle,rgba(233,180,196,.35),rgba(233,180,196,0) 65%);z-index:-1;pointer-events:none}

/* ---------- contact ---------- */
.vn-contact .elementor-heading-title a{color:var(--vn-ink);text-decoration:none;background-image:linear-gradient(var(--vn-rose),var(--vn-rose));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--vn-ease)}
.vn-contact .elementor-heading-title a:hover{background-size:100% 1px}
.vn-map iframe{filter:grayscale(.3) sepia(.12) saturate(.7);display:block}

/* ---------- CF7 ---------- */
.wpcf7 form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.wpcf7 form label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--vn-muted)}
.wpcf7 form .vn-full{grid-column:1/-1}
.wpcf7 form input[type=text],.wpcf7 form input[type=email],.wpcf7 form input[type=tel],.wpcf7 form select,.wpcf7 form textarea{width:100%;margin-top:8px;padding:14px 16px;border:1px solid var(--vn-line);border-radius:14px;background:#fff;font-family:inherit;font-size:16px;color:var(--vn-ink);caret-color:var(--vn-rose-deep);transition:border-color .25s,box-shadow .25s}
.wpcf7 form input::placeholder,.wpcf7 form textarea::placeholder{color:#9A8F87}
.wpcf7 form textarea{min-height:140px;resize:vertical}
.wpcf7 form input:focus,.wpcf7 form select:focus,.wpcf7 form textarea:focus{outline:none;border-color:var(--vn-ink);box-shadow:0 0 0 4px rgba(233,180,196,.35)}
.wpcf7 form input[type=submit]{grid-column:1/-1;justify-self:start;background:var(--vn-ink);color:#fff;border:0;border-radius:999px;padding:16px 36px;font-family:inherit;font-weight:500;font-size:15px;letter-spacing:.04em;cursor:pointer;box-shadow:0 14px 28px -12px rgba(30,27,25,.4);transition:transform .35s var(--vn-ease),background .3s}
.wpcf7 form input[type=submit]:hover{background:#3A3330;transform:translateY(-2px)}
.wpcf7 form input[type=submit]:disabled{opacity:.6;cursor:progress}
.wpcf7 form .wpcf7-spinner{margin:0 12px}
.wpcf7 form .wpcf7-response-output{grid-column:1/-1;border-radius:14px!important;margin:4px 0 0!important;padding:12px 16px!important;border:1px solid var(--vn-rose)!important;background:#fff}
.wpcf7-not-valid-tip{font-size:12px;color:#B8466F;margin-top:6px;text-transform:none;letter-spacing:0}
@media (max-width:640px){.wpcf7 form{grid-template-columns:1fr}}

/* ---------- cta ---------- */
.vn-cta{position:relative;overflow:hidden;isolation:isolate}
.vn-cta::after{content:"";position:absolute;left:-10%;bottom:-60%;width:60%;padding-top:60%;border-radius:50%;background:radial-gradient(circle,rgba(233,180,196,.45),rgba(233,180,196,0) 65%);z-index:-1;pointer-events:none}

/* ---------- footer ---------- */
.vn-footer .elementor-icon-list-item a,.vn-footer a{color:rgba(255,255,255,.88);text-decoration:none;transition:color .25s}
.vn-footer .elementor-icon-list-item a:hover,.vn-footer a:hover{color:var(--vn-rose)}
.vn-flinks .elementor-icon-list-icon{display:none}
.vn-flogo img{width:170px;height:auto}

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  html.vn-js .vn-h1 .vn-w,html.vn-js .vn-hero__sub,html.vn-js .vn-hero__cta,html.vn-js .vn-hero__facts,html.vn-js .vn-badge{animation:none;opacity:1;transform:none;filter:none}
  html.vn-js .vn-hero__img img{animation:none;clip-path:none}
  html.vn-js .vn-reveal{opacity:1;transform:none;filter:none;transition:none}
  .vn-marquee .elementor-widget{animation:none}
  .vn-img:hover img,.vn-tile:hover img,.vn-gallery .gallery-item:hover img{transform:none}
}

/* ===== v3: magazine layer ===== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vn-vt-out .22s ease-in both}
::view-transition-new(root){animation:vn-vt-in .35s var(--vn-ease) both}
@keyframes vn-vt-out{to{opacity:0}}
@keyframes vn-vt-in{from{opacity:0;transform:translateY(8px)}}
.vn-hero__title .elementor-heading-title{max-width:14ch}
@media (max-width:1024px){.vn-hero__title .elementor-heading-title{font-size:88px!important}}
@media (max-width:767px){.vn-hero__title .elementor-heading-title{font-size:52px!important;letter-spacing:-1.5px!important}}
.vn-hero__img img{aspect-ratio:16/9;object-fit:cover;width:100%}
@media (max-width:767px){.vn-hero__img img{aspect-ratio:4/3}}
html.vn-js .vn-hero__img img{clip-path:inset(0 0 0 100% round 28px);animation:vn-swipe 1.2s var(--vn-ease) .35s forwards}
@keyframes vn-swipe{to{clip-path:inset(0 0 0 0 round 28px)}}
.vn-badge{left:auto;right:24px;bottom:24px}
@media (max-width:767px){.vn-badge{position:static;margin-top:12px;max-width:none}}
.vn-hero__facts{border-top:1px solid var(--vn-line)}
/* band */
.vn-band{overflow:hidden}
.vn-marquee--big .elementor-heading-title{-webkit-text-stroke:1px rgba(246,240,232,.75);color:transparent!important;padding:0 .25em}
.vn-marquee--big .elementor-widget:nth-child(odd) .elementor-heading-title{color:transparent!important}
.vn-marquee--big .elementor-widget{animation-duration:60s}
.vn-marquee--small .elementor-widget{animation-duration:48s}
.vn-marquee--rev .elementor-widget{animation-name:vn-scroll-rev}
@keyframes vn-scroll-rev{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media (max-width:767px){.vn-marquee--big .elementor-heading-title{font-size:40px!important}}
/* collage tag */
.vn-collage__tag{position:absolute;left:0;bottom:-6px;writing-mode:vertical-rl;transform:rotate(180deg)}
.vn-collage__tag .elementor-heading-title{letter-spacing:.3em}
@media (max-width:767px){.vn-collage__tag{display:none}}
/* price list hover image */
.vn-row{overflow:visible}
.vn-row__img{position:absolute;left:var(--px,50%);top:var(--py,50%);width:180px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(-6deg) scale(.9);transition:opacity .35s var(--vn-ease),transform .5s var(--vn-ease);z-index:5;filter:drop-shadow(0 24px 40px rgba(30,27,25,.25))}
.vn-row__img img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:16px}
@media (pointer:fine) and (min-width:1025px){.vn-row:hover .vn-row__img{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}}
@media (max-width:1024px),(pointer:coarse){.vn-row__img{display:none}}
/* horizontal strip */
.vn-strip{overflow:hidden}
.vn-strip__track{will-change:transform;width:max-content!important;max-width:none!important}
.vn-strip__tile{width:300px!important;max-width:300px;flex:0 0 auto}
.vn-strip__tile img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .9s var(--vn-ease)}
.vn-strip__tile:hover img{transform:scale(1.04)}
@media (max-width:1024px){
  .vn-strip__track{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;width:100%!important;max-width:100%!important;padding-bottom:8px;scrollbar-width:none}
  .vn-strip__track::-webkit-scrollbar{display:none}
  .vn-strip__tile{width:240px!important;max-width:240px;scroll-snap-align:start}
}
/* magnetic buttons */
.elementor-button{will-change:transform}
/* logo size */
.vn-logo img{width:210px}
@media (max-width:767px){.vn-logo img{width:150px}}
.vn-flogo img{width:200px}

@media (max-width:782px){.admin-bar header#masthead{top:0}}

/* ===== v4: centered hero with hand ===== */
.vn-hero--stack{text-align:center}
.vn-hero__title2 .elementor-heading-title{font-size:clamp(60px,13.5vw,196px)!important;line-height:.9!important;letter-spacing:-.04em!important;max-width:none}
.vn-hero__hand{width:min(500px,76vw);max-width:500px!important;margin:-9% auto 0!important;position:relative;z-index:2}
@media (max-width:767px){.vn-hero__hand{margin-top:-10%!important;width:min(360px,88vw)}}
.vnd--hero .vnd-stage{background:transparent;border-radius:0;overflow:visible}
.vnd--hero .vnd-herobar{position:static;margin:4px auto 0;max-width:560px}
html.vn-js .vn-hero__hand{opacity:0;transform:translateY(30px);animation:vn-fade .9s var(--vn-ease) .45s forwards}
.vn-hero__below .elementor-icon-list-items{justify-content:center}
.vn-hero::before{background:radial-gradient(640px circle at var(--mx,50%) var(--my,40%),rgba(233,180,196,.5),rgba(233,180,196,0) 60%)}
/* marquee, subtle */
.vn-marquee--small .elementor-heading-title{color:var(--vn-muted)!important;padding:0 .6em}
.vn-marquee--small .elementor-widget{animation-duration:70s}
/* header: equal heights */
.vn-lang{height:38px;padding:3px}
.vn-lang__item{display:inline-flex;align-items:center;height:30px;padding:0 12px;line-height:1}
.vn-btn .elementor-button{height:38px;display:inline-flex;align-items:center;padding:0 20px!important;line-height:1}
@media (max-width:1024px){header#masthead .hfe-nav-menu__toggle{height:38px;align-items:center}}

/* header: vertical alignment */
header#masthead .elementor-widget{margin-block-end:0!important}
header#masthead .vn-header{min-height:64px}
header#masthead .vn-header>.e-con-inner{align-items:center}
header#masthead .vn-logo img{display:block}
header#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu{display:flex;align-items:center;margin:0}
header#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu>li{margin-bottom:0}
header#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu>li>a{padding-top:0!important;padding-bottom:0!important;height:38px;display:inline-flex;align-items:center}
header#masthead .elementor-widget-navigation-menu,header#masthead .hfe-nav-menu__layout-horizontal{display:flex;align-items:center}
header#masthead .elementor-widget-shortcode,header#masthead .vn-lang{display:inline-flex;align-items:center}

/* safety: force hero visible once settled (throttled animations) */
html.vn-settled .vn-h1 .vn-w,html.vn-settled .vn-hero__sub,html.vn-settled .vn-hero__cta,html.vn-settled .vn-hero__facts,html.vn-settled .vn-badge,html.vn-settled .vn-hero__hand{opacity:1;transform:none;filter:none}
html.vn-settled .vn-hero__img img{clip-path:none}

/* header: menu wrapper centred */
header#masthead .elementor-widget-navigation-menu .hfe-nav-menu.hfe-layout-horizontal{align-items:center}
@media (min-width:1025px){header#masthead .hfe-nav-menu__toggle{display:none!important}}
/* hero v5: real cut-out hand in front of the headline */
.vn-hero__hand{width:min(760px,94vw)!important;max-width:760px!important;margin:-17% auto 0!important}
@media (max-width:767px){.vn-hero__hand{margin-top:-24%!important;width:96vw!important}}

/* header logo: fixed size, optically centred */
header#masthead .vn-logo{flex:0 0 auto!important;width:auto!important;max-width:none!important;line-height:0}
header#masthead .vn-logo .elementor-widget-container,header#masthead .vn-logo a{display:block;line-height:0}
header#masthead .vn-logo img{display:block;width:176px!important;max-width:none!important;height:auto!important;transform:translateY(1px)}
@media (max-width:767px){header#masthead .vn-logo img{width:132px!important}}
.vn-flogo img{width:210px!important;max-width:100%!important;height:auto!important}

/* hero glow: full-bleed, no hard edges */
.vn-hero::before{width:auto!important;height:auto!important;inset:-10% !important;right:-10%!important;top:-10%!important;filter:none!important;animation:none!important;border-radius:0!important}
.vn-hero::after{display:none!important}
@media (max-width:767px){.vn-hero::before{background:radial-gradient(420px circle at 50% 40%,rgba(233,180,196,.35),rgba(233,180,196,0) 70%)!important}}

/* agency credit */
.vn-credit{margin:0}.vn-credit a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .25s}.vn-credit a:hover{opacity:.7}

/* about v6 */
.vn-hero--about::before{background:radial-gradient(680px circle at var(--mx,50%) var(--my,38%),rgba(239,230,219,.95),rgba(239,230,219,0) 62%)!important}
.vn-hero--about .vn-hero__title2 .elementor-heading-title{font-size:clamp(58px,12.6vw,184px)!important}
.vn-about__eyebrow{margin-bottom:14px!important}
.vn-about__portrait{width:min(420px,78vw)!important;max-width:420px!important;margin:-6.5% auto 0!important;position:relative;z-index:2}
.vn-about__portrait img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:999px 999px 32px 32px!important;box-shadow:0 44px 80px -44px rgba(30,27,25,.55)}
.vn-about__badge{position:relative;z-index:3;margin-top:-22px!important}
.vn-about__badge .elementor-icon-list-items{display:inline-flex!important;background:#fff;border:1px solid var(--vn-line);border-radius:999px;padding:9px 18px;box-shadow:0 16px 30px -18px rgba(30,27,25,.35)}
.vn-about__badge .elementor-icon-list-item{margin:0!important}
.vn-about__sign .elementor-heading-title{margin-top:6px}
.vn-about__statement .elementor-heading-title{max-width:16ch;margin-inline:auto}
.vn-about__statement em{color:var(--vn-rose-deep)}
.vn-mani__n{flex:0 0 auto;width:44px!important;padding-top:12px}
html.vn-js .vn-about__portrait{opacity:0;transform:translateY(30px);animation:vn-fade .9s var(--vn-ease) .45s forwards}
html.vn-js .vn-about__badge{opacity:0;animation:vn-fade .8s var(--vn-ease) .8s forwards}
html.vn-settled .vn-about__portrait,html.vn-settled .vn-about__badge{opacity:1;transform:none}
@media (max-width:767px){.vn-about__portrait{margin-top:-9%!important;width:min(320px,82vw)!important}.vn-about__statement .elementor-heading-title{font-size:48px!important}.vn-mani__n{padding-top:0}}
@media (prefers-reduced-motion:reduce){html.vn-js .vn-about__portrait,html.vn-js .vn-about__badge{animation:none;opacity:1;transform:none}}

/* about v6b */
.page-id-28 .vn-sticky .vn-img img{aspect-ratio:4/3;object-fit:cover}
.page-id-28 .vn-cta::after{background:radial-gradient(circle,rgba(239,230,219,.95),rgba(239,230,219,0) 65%)}
.vn-about__badge .elementor-icon-list-text{white-space:nowrap}
@media (max-width:767px){.vn-about__badge .elementor-icon-list-items{padding:8px 14px}}

/* header narrow phones */
@media (max-width:380px){header#masthead .vn-logo img{width:112px!important}.vn-lang{padding:2px}.vn-lang__item{padding:0 9px;font-size:10px}}

/* mobile header + menu v2 */
@media (max-width:1024px){
  header#masthead .vn-header>.e-con-inner{flex-wrap:nowrap!important;align-items:center!important;gap:10px!important}
  header#masthead .elementor-element-2f586bd{order:2;margin-left:auto!important;width:auto!important;flex:0 0 auto!important}
  header#masthead .elementor-element-861d337{order:3;width:auto!important;flex:0 0 auto!important;min-width:0}
  header#masthead .elementor-element-298c5c6,header#masthead .elementor-element-298c5c6>.elementor-widget-container{width:auto!important}
  header#masthead .hfe-nav-menu__toggle{position:relative;width:44px;height:44px!important;margin:0!important;padding:0!important;border-radius:999px;border:1px solid var(--vn-line);background:#fff;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .3s,border-color .3s}
  header#masthead .hfe-nav-menu__toggle .hfe-nav-menu-icon{display:none!important}
  header#masthead .hfe-nav-menu__toggle::before,header#masthead .hfe-nav-menu__toggle::after{content:"";position:absolute;left:13px;right:13px;height:1.5px;border-radius:2px;background:var(--vn-ink);transition:transform .4s var(--vn-ease),top .4s var(--vn-ease)}
  header#masthead .hfe-nav-menu__toggle::before{top:17px}
  header#masthead .hfe-nav-menu__toggle::after{top:25px;left:19px}
  header#masthead .hfe-nav-menu__toggle.hfe-active-menu{background:var(--vn-ink);border-color:var(--vn-ink)}
  header#masthead .hfe-nav-menu__toggle.hfe-active-menu::before,header#masthead .hfe-nav-menu__toggle.hfe-active-menu::after{top:21px;left:13px;background:#fff}
  header#masthead .hfe-nav-menu__toggle.hfe-active-menu::before{transform:rotate(45deg)}
  header#masthead .hfe-nav-menu__toggle.hfe-active-menu::after{transform:rotate(-45deg)}
  header#masthead nav.hfe-dropdown{position:fixed!important;left:0!important;right:0!important;top:var(--vn-hh,64px)!important;width:auto!important;max-width:none!important;height:calc(100vh - var(--vn-hh,64px))!important;height:calc(100dvh - var(--vn-hh,64px))!important;z-index:998!important;display:flex!important;flex-direction:column;background:var(--vn-cream)!important;box-shadow:none!important;border:0!important;padding:8px 24px calc(24px + env(safe-area-inset-bottom))!important;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--vn-ease),transform .45s var(--vn-ease),visibility 0s linear .3s}
  header#masthead nav.hfe-dropdown.menu-is-active{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--vn-ease),transform .45s var(--vn-ease),visibility 0s}
  header#masthead nav.hfe-dropdown ul.hfe-nav-menu{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;counter-reset:vnm}
  header#masthead nav.hfe-dropdown li.menu-item{display:flex!important;align-items:baseline;gap:14px;border:0!important;border-bottom:1px solid var(--vn-line)!important;background:transparent!important;opacity:0;transform:translateY(12px);transition:opacity .45s var(--vn-ease),transform .55s var(--vn-ease)}
  header#masthead nav.hfe-dropdown li.menu-item::before{counter-increment:vnm;content:"0" counter(vnm);flex:0 0 22px;font:500 11px/1 'Jost',sans-serif;letter-spacing:.14em;color:var(--vn-muted)}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item{opacity:1;transform:none}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item:nth-child(2){transition-delay:.05s}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item:nth-child(3){transition-delay:.1s}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item:nth-child(4){transition-delay:.15s}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item:nth-child(5){transition-delay:.2s}
  header#masthead nav.hfe-dropdown.menu-is-active li.menu-item:nth-child(6){transition-delay:.25s}
  header#masthead nav.hfe-dropdown a.hfe-menu-item{display:block!important;flex:1;padding:18px 0!important;margin:0!important;height:auto!important;font-family:'Cormorant Garamond',Georgia,serif!important;font-size:36px!important;font-weight:500!important;line-height:1.05!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--vn-ink)!important;background:transparent!important;border:0!important}
  header#masthead nav.hfe-dropdown a.hfe-menu-item::before,header#masthead nav.hfe-dropdown a.hfe-menu-item::after{display:none!important}
  header#masthead nav.hfe-dropdown li.current-menu-item a.hfe-menu-item{font-style:italic;color:var(--vn-rose-deep)!important}
  header#masthead .vn-mnav__foot{margin-top:auto;padding-top:28px;display:grid;gap:16px}
  header#masthead .vn-mnav__book{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;border-radius:999px;background:var(--vn-ink);color:#fff!important;font:500 15px/1 'Jost',sans-serif;letter-spacing:.04em;text-decoration:none}
  header#masthead .vn-mnav__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font:500 13px/1.3 'Jost',sans-serif}
  header#masthead .vn-mnav__row a{color:var(--vn-muted)!important;text-decoration:none}
  html.vn-menu-open,html.vn-menu-open body{overflow:hidden!important}
}
@media (min-width:1025px){header#masthead .vn-mnav__foot{display:none!important}}
@media (prefers-reduced-motion:reduce){header#masthead nav.hfe-dropdown,header#masthead nav.hfe-dropdown li.menu-item{transition:none!important}}

/* hero hand centring on phones */
@media (max-width:767px){.vn-hero__hand{margin-left:calc(50% - 48vw)!important;margin-right:calc(50% - 48vw)!important;max-width:none!important}.vn-hero__hand .vnd-bar{margin-left:0!important;margin-right:0!important}}
