/*
Theme Name: L-Pharm Overseas
Theme URI: https://lpharmoverseas.co.uk/
Author: WebVue
Author URI: https://webvue.com.lb
Description: Custom theme for L-Pharm Overseas. Every text, image, brand, product, slide, team member and value is editable from the "L-Pharm Site" menu in the WordPress admin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: lpharm-overseas
*/

:root{--ink:#121110;--bronze:#8E6A4B;--gold:#C9A07C;--cream:#F7F5F2;--stone:#F4F3F1;--line:#E6E1DA;--muted:#6E675F;--body:#4A4541;--dmuted:#A8A29B;--e2:cubic-bezier(.16,1,.3,1);--e:cubic-bezier(.77,0,.18,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px;overflow-x:clip}
html:not(.ov-rm){scroll-behavior:smooth}
body{margin:0;padding:0;background:#fff;color:var(--ink);font-family:'Instrument Sans',system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}
img{max-width:100%;display:block}
a{color:var(--bronze);text-decoration:none}
a:hover{color:var(--ink)}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
input,textarea,select,button{font:inherit}
::selection{background:var(--gold);color:var(--ink)}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
.ov-sr,.ov-hp{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}
.ov-skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:999px}
.ov-skip:focus{top:16px}

/* reveal (JS adds .ov-ready once animations are prepared) */
.ov-js:not(.ov-rm) [data-r]:not(.ov-ready){opacity:0}

/* ---------- type ---------- */
.ov-eyebrow{font-weight:600;font-size:clamp(16px,1.3vw,19px);letter-spacing:-.01em;color:var(--bronze)}
.ov-eyebrow--gold{color:var(--gold)}
.ov-eyebrow-sm{font-weight:500;font-size:14px;color:var(--gold)}
.ov-bronze{color:var(--bronze)}
.ov-gold{color:var(--gold)}
.ov-cream{color:var(--cream)}
.ov-h-xl,.ov-h-lg,.ov-h-md,.ov-h-hero,.ov-h-mega,.ov-h-brand{margin:0;font-weight:600;color:inherit}
.ov-h-xl{font-size:clamp(40px,5.4vw,92px);line-height:1.02;letter-spacing:-.045em}
.ov-h-net{font-size:clamp(36px,4.6vw,80px)}
.ov-h-huge{font-size:clamp(56px,8.4vw,150px);line-height:.98}
.ov-h-lg{font-size:clamp(34px,4vw,68px);line-height:1.02;letter-spacing:-.04em}
.ov-h-md{font-size:clamp(30px,3.4vw,56px);line-height:1.04;letter-spacing:-.04em}
.ov-h-hero{margin-top:14px;font-size:clamp(40px,6.5vw,112px);line-height:1;letter-spacing:-.045em}
.ov-h-mega{margin-top:14px;font-size:clamp(56px,10vw,180px);line-height:.95;letter-spacing:-.05em}
.ov-h-brand{font-size:clamp(44px,6.4vw,108px);line-height:1;letter-spacing:-.045em}
.ov-line{display:block;overflow:hidden;padding-bottom:.08em}
.ov-line>span{display:block}
.ov-accent{color:var(--bronze)}
.ov-subhero .ov-accent,.ov-dark .ov-accent,.ov-bdhero .ov-accent{color:var(--gold)}
.ov-accent-gold{color:var(--gold)}
.ov-lead{font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:#3A3633;text-wrap:pretty}
.ov-muted-d{color:var(--dmuted)}
.ov-narrow{max-width:540px;text-wrap:balance}
.ov-balance{text-wrap:balance}
.ov-break{overflow-wrap:anywhere}
.ov-body-lg{font-size:20px;line-height:1.7;color:#2A2725;text-wrap:pretty}
.ov-more{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:500;color:var(--bronze);transition:color .3s}
.ov-more:hover{color:var(--ink)}
.ov-more__a{font-size:20px;line-height:1}

/* ---------- layout ---------- */
.ov-wrap{max-width:1320px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.ov-wrap--wide{max-width:1440px;padding:0 clamp(14px,3.6vw,52px)}
.ov-wrap--xwide{max-width:1560px;padding:0 clamp(14px,3.6vw,52px)}
.ov-wrap--narrow{max-width:1120px}
.ov-wrap--prose{max-width:860px}
.ov-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.ov-stack{display:flex;flex-direction:column;gap:18px}
.ov-stack--sm{gap:14px}.ov-stack--md{gap:24px}.ov-stack--lg{gap:clamp(28px,3vw,40px)}.ov-stack--xl{gap:clamp(32px,4vw,56px)}.ov-stack--xxl{gap:clamp(64px,8vw,120px)}
.ov-stack--start{align-items:flex-start}
.ov-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,300px)),1fr));gap:var(--gap,16px)}
.ov-autofill{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--min,300px)),1fr));gap:var(--gap,16px)}
.ov-gap-xl{--gap:clamp(40px,6vw,72px)}
.ov-start{align-items:start}
.ov-mt-xs{margin-top:24px}.ov-mt-sm{margin-top:clamp(12px,1.4vw,20px)}.ov-mt-lg{margin-top:clamp(40px,4vw,64px)}
.ov-pt-xs{padding-top:12px}
.ov-sec{padding:clamp(90px,10vw,160px) 0}
.ov-sec--flushtop{padding-top:0}
.ov-sec--sm{padding-bottom:clamp(90px,10vw,150px)}
.ov-sec--md{padding:clamp(72px,9vw,140px) 0}
.ov-sec--lg{padding:clamp(100px,14vh,160px) 0}
.ov-sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}
.ov-stone{background:var(--stone)}
.ov-pad12{padding:0 12px}
.ov-left{text-align:left}

/* ---------- buttons ---------- */
.ov-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:16px;font-weight:500;letter-spacing:-.005em;text-decoration:none;transition:background .3s,color .3s,border-color .3s,transform .5s var(--e2);white-space:nowrap}
.ov-btn--lg{height:56px}
.ov-btn--dark{background:var(--ink);color:#fff}
.ov-btn--dark:hover{background:var(--bronze);color:#fff}
.ov-btn--gold{background:var(--gold);color:var(--ink)}
.ov-btn--gold:hover{background:var(--cream);color:var(--ink)}
.ov-btn--light{background:var(--cream);color:var(--ink);font-weight:600;height:52px;padding:0 28px}
.ov-btn--light:hover{background:var(--gold);color:var(--ink)}
.ov-btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.ov-btn--outline:hover{background:var(--ink);color:var(--cream)}
.ov-btn--outline-light{background:transparent;color:var(--cream);border-color:rgba(247,245,242,.3);font-size:15px}
.ov-btn--outline-light:hover{background:var(--cream);color:var(--ink)}
.ov-btn--outline-gold{align-self:flex-start;margin-top:8px;background:transparent;color:var(--cream);border-color:var(--gold);font-size:14px;gap:14px}
.ov-btn--outline-gold:hover{background:var(--gold);color:var(--ink)}
.ov-btn--ghost-light{background:transparent;color:var(--cream);border-color:rgba(247,245,242,.4);font-size:14px}
.ov-btn--ghost-light:hover{border-color:var(--cream);color:var(--cream)}
.ov-btn--send{align-self:flex-start;height:54px;padding:0 30px;gap:16px;font-size:15px}
.ov-btn--send:hover{background:var(--gold);color:var(--ink)}
.ov-pill{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .3s}
.ov-pill--gold{background:var(--gold);color:var(--ink)}
.ov-pill--gold:hover{background:var(--cream);color:var(--ink)}
.ov-round{width:44px;height:44px;border-radius:999px;border:1px solid rgba(18,17,16,.14);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;font-size:22px;line-height:1;color:var(--ink);padding:0 0 3px;transition:border-color .3s,background .3s}
.ov-round:hover{border-color:var(--ink)}
.ov-round--dark{border:none;background:var(--ink);color:#fff}
.ov-round--dark:hover{background:var(--bronze)}
.ov-ico-pause{display:flex;gap:4px}.ov-ico-pause::before,.ov-ico-pause::after{content:"";width:2px;height:12px;background:var(--ink)}
.ov-ico-play{display:none;width:0;height:0;margin-left:2px;border-left:9px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent}
.is-paused .ov-ico-pause{display:none}.is-paused .ov-ico-play{display:block}
.ov-chips{display:flex;flex-wrap:wrap;gap:8px}
.ov-chip{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:1px solid #D6CFC6;background:transparent;color:var(--ink);cursor:pointer;font-size:15px;font-weight:500;transition:all .3s}
.ov-chip span{font-size:12px;color:var(--bronze)}
.ov-chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.ov-chip.is-on span{color:var(--gold)}
.ov-chip-d{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(247,245,242,.25);color:var(--cream);font-size:14px;font-weight:500;transition:all .3s}
.ov-chip-d:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}

/* ---------- header ---------- */
.ov-header{position:fixed;top:12px;left:12px;right:12px;max-width:1240px;margin:0 auto;z-index:60;height:52px;background:rgba(18,17,16,.72);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.09);border-radius:999px;box-shadow:0 10px 40px -12px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .6s var(--e2)}
.admin-bar .ov-header{top:44px}
.ov-header.is-hidden{transform:translateY(calc(-100% - 60px))}
.ov-header__in{height:100%;padding:0 8px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ov-header__logo{display:flex}
.ov-header__logo img{height:26px;width:auto}
.ov-nav{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04)}
.ov-nav a{display:flex;align-items:center;gap:7px;height:34px;padding:0 clamp(10px,1.1vw,16px);border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.005em;color:rgba(247,245,242,.82);transition:color .3s,background .3s;white-space:nowrap}
.ov-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.ov-nav a.is-current{color:var(--gold);background:rgba(201,160,124,.14)}
.ov-nav a.is-current::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}
.ov-burger{display:none;width:48px;height:48px;background:none;border:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0}
.ov-burger span{display:block;width:22px;height:1.5px;border-radius:2px;background:var(--cream);transition:transform .5s}
.menu-open .ov-burger span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-open .ov-burger span:last-child{transform:translateY(-4px) rotate(-45deg) scaleX(1.55)}
.ov-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--bronze),var(--gold));transform-origin:left;transform:scaleX(0);z-index:65;pointer-events:none}
.ov-menu{display:none}
@media (max-width:1179px){
	.ov-header{height:56px}
	.ov-header__in{padding:0 8px 0 20px}
	.ov-nav,.ov-header__cta{display:none}
	.ov-burger{display:flex}
	.ov-menu{position:fixed;inset:0;z-index:55;background:var(--ink);transform:translateY(-100%);transition:transform .8s var(--e);display:flex;flex-direction:column;justify-content:safe center;padding:104px clamp(20px,6vw,48px) 40px;overflow-y:auto;overscroll-behavior:contain;visibility:hidden}
	.menu-open .ov-menu{transform:none;visibility:visible}
	.ov-menu a:not(.ov-menu__cta){display:flex;align-items:baseline;gap:18px;width:100%;border-bottom:1px solid rgba(247,245,242,.08);padding:14px 0;font-weight:500;font-size:clamp(26px,7vw,40px);line-height:1.1;letter-spacing:-.01em;color:var(--cream);opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .7s var(--e2)}
	.menu-open .ov-menu a:not(.ov-menu__cta){opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * .05s)}
	.ov-menu a.is-current{color:var(--gold)}
	.ov-menu__n{font-size:12px;letter-spacing:.08em;color:var(--bronze);min-width:22px}
	.ov-menu__l{flex:1}
	.ov-menu a svg{align-self:center;opacity:.5}
	.ov-menu__cta{margin-top:28px;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 24px;border:1px solid var(--gold);border-radius:999px;font-weight:500;font-size:14px;color:var(--gold)}
}
.menu-open{overflow:hidden}

/* ---------- home hero slider ---------- */
.ov-hero{background:#fff;padding:96px clamp(10px,1.4vw,22px) 0}
.ov-hero__in{max-width:min(100%,calc((100svh - 190px) * 1.769));margin:0 auto}
.ov-hero__stage{position:relative;aspect-ratio:2576/1456;border-radius:clamp(14px,1.8vw,28px);overflow:hidden;background:#EEECE9;isolation:isolate;touch-action:pan-y}
.ov-slide{position:absolute;inset:0;opacity:0;z-index:1;pointer-events:none;transition:opacity 1.2s cubic-bezier(.4,0,.2,1)}
.ov-slide.is-on{opacity:1;z-index:2;pointer-events:auto}
.ov-slide img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.045);transition:transform 8s cubic-bezier(.2,.6,.2,1);user-select:none}
.ov-slide.is-on img,.ov-rm .ov-slide img{transform:scale(1)}
.ov-slide__link{position:absolute;inset:0;z-index:1}
.ov-hero__bar{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;padding:clamp(14px,1.5vw,22px) clamp(2px,.5vw,8px) 0}
.ov-hero__cap{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;min-width:0;flex:1 1 320px}
.ov-hero__num{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--bronze);font-variant-numeric:tabular-nums}
.ov-hero__name{font-size:clamp(15px,1.1vw,17px);font-weight:600;letter-spacing:-.01em}
.ov-hero__line{font-size:clamp(15px,1.1vw,17px);color:#6E6862}
.ov-hero__cap .ov-more{font-size:clamp(15px,1.1vw,17px)}
.ov-hero__ctl{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);flex:0 1 auto}
.ov-hero__segs{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:140px;max-width:340px;width:340px}
.ov-hero__segs button{flex:1 1 0;height:24px;padding:0;border:none;background:none;cursor:pointer;display:flex;align-items:center}
.ov-hero__segs span{position:relative;display:block;width:100%;height:2px;border-radius:2px;background:rgba(18,17,16,.12);overflow:hidden}
.ov-hero__segs i{position:absolute;inset:0;background:var(--ink);transform-origin:left center;transform:scaleX(0)}
.ov-hero__btns{display:flex;align-items:center;gap:8px}
@media (max-width:1179px){.ov-hero{padding-top:80px}.ov-hero__in{max-width:100%}}
@media (max-width:639px){.ov-hero__ctl{flex:1 1 100%}.ov-hero__segs{max-width:none;width:auto}}

/* ---------- home sections ---------- */
.ov-who{padding:clamp(110px,13vw,200px) 0 clamp(90px,10vw,150px)}
.ov-who__in{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,48px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.ov-who__body{margin-top:clamp(32px,4vw,64px);display:flex;flex-direction:column;gap:clamp(24px,2.4vw,36px);text-align:left}
.ov-fill{font-weight:600;font-size:clamp(24px,2.5vw,40px);line-height:1.28;letter-spacing:-.025em}
.ov-fill span{background-image:linear-gradient(var(--ink),var(--ink));background-repeat:no-repeat;background-size:0% 100%;background-color:#D9D5CF;-webkit-background-clip:text;background-clip:text;color:transparent}
.ov-fill--accent span{background-image:linear-gradient(var(--bronze),var(--bronze))}
.ov-rm .ov-fill span{background-size:100% 100%}
.ov-tile{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--stone);border-radius:28px;color:var(--ink);transition:box-shadow .5s,background .4s}
.ov-tile:hover{box-shadow:inset 0 0 0 1px var(--gold);background:#ECE8E2;color:var(--ink)}
.ov-tile__tl{position:absolute;top:20px;left:22px;font-size:13px;font-weight:500;color:var(--bronze)}
.ov-tile__br{position:absolute;bottom:18px;right:22px;font-size:20px;color:var(--bronze)}
.ov-tile__bri{position:absolute;bottom:22px;right:24px;font-size:13px;font-weight:500;color:var(--bronze)}
.ov-tile__bl{position:absolute;bottom:20px;left:22px;font-size:17px;font-weight:600;color:var(--ink)}
.ov-logo-fit{height:60px;max-width:74%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.ov-wordmark{font-weight:600;font-size:34px;letter-spacing:-.03em;color:var(--ink)}
.ov-map{position:relative;background:var(--stone);border-radius:32px;padding:clamp(24px,4vw,64px);overflow:hidden}
.ov-map__in{position:relative;max-width:1000px;margin:0 auto}
.ov-map__in img{width:100%;height:auto}
.ov-dot{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;--c:var(--gold)}
.ov-dot--home{--c:var(--bronze)}
.ov-dot i,.ov-dot b{position:absolute;border-radius:50%;background:var(--c)}
.ov-dot i{inset:0}
.ov-dot b{inset:3px;box-shadow:0 0 0 2px #fff}
.ov-card{background:var(--stone);border-radius:24px;padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink)}
.ov-card__b{font-size:clamp(22px,1.8vw,28px);font-weight:600;letter-spacing:-.025em}
.ov-card__t{font-size:17px;color:var(--muted)}
.ov-card__k{font-size:14px;font-weight:500;color:var(--bronze)}
.ov-card__v{font-size:clamp(18px,1.5vw,22px);font-weight:600;letter-spacing:-.02em;line-height:1.25}
.ov-card--link{gap:8px;transition:box-shadow .5s}
.ov-card--link:hover{box-shadow:inset 0 0 0 1px var(--gold);color:var(--ink)}
.ov-service{display:flex;flex-direction:column;gap:10px;padding:clamp(24px,2.4vw,32px);border-radius:24px;border:1px solid var(--line);color:var(--ink);transition:border-color .4s}
.ov-service:hover{border-color:var(--gold);color:var(--ink)}
.ov-service__n{font-size:14px;font-weight:600;color:var(--bronze)}
.ov-service__b{font-size:clamp(20px,1.6vw,24px);font-weight:600;letter-spacing:-.02em}
.ov-service__t{font-size:16px;line-height:1.5;color:var(--muted)}
.ov-dark{max-width:1560px;margin:0 auto;background:var(--ink);color:var(--cream);border-radius:clamp(22px,3vw,36px)}
.ov-news{padding:clamp(72px,10vh,120px) clamp(20px,4vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,80px);align-items:end}
.ov-news__form{display:flex;flex-wrap:wrap;gap:12px}
.ov-news__form input[type=email]{flex:1 1 240px;min-width:0;height:56px;padding:0 24px;border-radius:999px;border:1px solid rgba(247,245,242,.25);background:transparent;color:var(--cream);font-size:16px;outline:none}
.ov-news__form input[type=email]:focus{border-color:var(--gold)}
.ov-news__done{display:flex;align-items:center;gap:16px;font-size:20px;font-weight:600}
.ov-check{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);flex:none}
.ov-check--lg{width:64px;height:64px;font-size:26px;color:var(--bronze)}
.ov-form-err{flex:1 1 100%;font-size:14px;color:#E5806B}
.ov-cta{padding:clamp(100px,11vw,170px) 0 clamp(40px,5vw,80px)}
.ov-cta__in{gap:22px}
.ov-cta__in>div:last-child{margin-top:8px}
.ov-help{padding:clamp(100px,11vw,160px) 0}

/* ---------- sub hero (dark) ---------- */
.ov-subhero{position:relative;min-height:min(66svh,700px);background:var(--ink);color:var(--cream);padding:clamp(112px,14vw,170px) clamp(16px,4vw,48px) clamp(56px,9vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}
@media (max-width:1179px){.ov-subhero{min-height:0}}
.ov-glow{position:absolute;left:50%;top:-10vh;width:110vw;height:110vw;margin-left:-55vw;border-radius:50%;background:radial-gradient(closest-side,rgba(201,160,124,.22),rgba(201,160,124,0));pointer-events:none}
.ov-glow--right{left:auto;right:-30vw;top:-20vw;width:90vw;height:90vw;margin:0;background:radial-gradient(closest-side,rgba(201,160,124,.2),rgba(201,160,124,0))}
.ov-subhero__in{position:relative;max-width:1100px;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px}
.ov-subhero__intro{max-width:480px;font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--dmuted);text-wrap:balance}
.ov-subhero__date{font-weight:500;font-size:14px;color:var(--gold)}

/* ---------- who we are ---------- */
.ov-cobanner{background:var(--stone);padding-top:96px}
.ov-cobanner__img{position:relative;aspect-ratio:2560/769}
.ov-cobanner__img img,.ov-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1179px){.ov-cobanner{padding-top:80px}}
@media (max-width:639px){.ov-cobanner__img{aspect-ratio:4/3}}
.ov-value{display:flex;flex-direction:column;gap:24px;padding:clamp(28px,3vw,40px);border-radius:28px;background:#fff}
.ov-value__top{display:flex;align-items:center;justify-content:space-between}
.ov-value__ic{width:56px;height:56px;background:var(--bronze);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.ov-value__n{font-weight:500;font-size:14px;letter-spacing:.18em;color:var(--bronze)}
.ov-value p{font-weight:500;font-size:clamp(18px,1.4vw,21px);line-height:1.55;text-wrap:pretty}
.ov-dark--big{overflow:hidden;padding:clamp(88px,12vh,140px) clamp(20px,4vw,56px)}
.ov-dark__grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,96px)}
.ov-h-beauty{font-weight:600;font-size:clamp(30px,3.4vw,56px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.ov-h-beauty>span{display:block}
.ov-chips[data-r]{margin-top:8px}
.ov-team{--gap:40px clamp(16px,2.4vw,28px)}
.ov-member{text-align:center}
.ov-member__ph{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#EAE6E0;max-width:240px;margin:0 auto}
.ov-member__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ov-member__n{margin-top:clamp(16px,2vw,24px);font-weight:500;font-size:clamp(17px,1.8vw,24px);line-height:1.25}
.ov-member__r{margin-top:8px;font-weight:500;font-size:clamp(12px,1vw,14px);line-height:1.5;color:var(--bronze)}

/* ---------- brands ---------- */
.ov-brandlist{padding:72px 0 clamp(100px,14vh,160px)}
.ov-brandlist .ov-autofill{--gap:clamp(16px,1.6vw,28px)}
.ov-brandcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;color:var(--ink);transition:border-color .5s}
.ov-brandcard:hover{border-color:var(--gold);color:var(--ink)}
.ov-brandcard__img{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--stone)}
.ov-brandcard__img>span{position:absolute;top:18px;left:20px;font-weight:500;font-size:12px;letter-spacing:.16em;color:var(--bronze)}
.ov-brandcard__body{flex:1;display:flex;flex-direction:column;gap:10px;padding:26px 28px 30px}
.ov-brandcard__cat{font-weight:500;font-size:14px;color:var(--bronze)}
.ov-brandcard__name{font-weight:600;font-size:24px;line-height:1.2}
.ov-brandcard p{font-size:16px;line-height:1.6;color:var(--body);text-wrap:pretty}
.ov-brandcard__go{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:6px;font-weight:500;font-size:15px;color:var(--bronze)}
.ov-bdhero{position:relative;background:var(--ink);color:var(--cream);padding:clamp(110px,12vw,150px) clamp(16px,4vw,48px) clamp(64px,7vw,104px);overflow:hidden}
.ov-bdhero__in{position:relative;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(36px,5vw,64px)}
.ov-bdhero__crumb{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:500}
.ov-bdhero__crumb>div:first-child{display:flex;align-items:center;gap:10px;color:var(--dmuted)}
.ov-bdhero__crumb a{color:var(--dmuted)}.ov-bdhero__crumb a:hover{color:var(--cream)}
.ov-bdhero__crumb .ov-gold{letter-spacing:.08em}
.ov-bdhero__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(36px,5vw,80px);align-items:center}
.ov-bdhero__grid .ov-subhero__intro{max-width:520px;text-wrap:pretty}
.ov-bdhero__media{position:relative;aspect-ratio:4/3;border-radius:30px;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ov-bdhero__chip{position:absolute;left:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:14px;height:60px;padding:0 20px;border-radius:16px;background:#fff;max-width:calc(100% - 36px)}
.ov-bdhero__chip .ov-logo-fit{max-width:150px}
.ov-bdhero__chip span{font-size:13px;font-weight:500;color:var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-logo-big.ov-wordmark{font-size:clamp(40px,5vw,72px)}
@media (max-width:1179px){.ov-bdhero__grid{grid-template-columns:minmax(0,1fr)}}
.ov-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
@media (max-width:639px){.ov-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ov-fact{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid var(--ink)}
.ov-fact div:first-child{font-size:14px;font-weight:500;color:var(--bronze)}
.ov-fact div:last-child{font-size:clamp(18px,1.5vw,22px);font-weight:600;letter-spacing:-.01em}
.ov-about{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px clamp(32px,5vw,80px)}
@media (max-width:1179px){.ov-about{grid-template-columns:minmax(0,1fr)}}
.ov-about__lead{font-size:clamp(22px,2.2vw,34px);font-weight:500;line-height:1.32;letter-spacing:-.025em;text-wrap:pretty}
.ov-points>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}
.ov-points span:first-child{font-size:14px;font-weight:600;color:var(--bronze)}
.ov-points span:last-child{font-size:clamp(17px,1.3vw,20px);font-weight:500;text-wrap:pretty}
.ov-bdbanner{position:relative;aspect-ratio:2576/1456;border-radius:30px;overflow:hidden;background:var(--stone)}
.ov-bdbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ov-dark--card{max-width:1320px;border-radius:30px;padding:clamp(40px,5vw,80px)}
.ov-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:32px clamp(32px,5vw,80px);align-items:end}
.ov-split h2{color:var(--cream)}

/* ---------- products ---------- */
.ov-catalogue{padding:clamp(40px,5vw,72px) 0 clamp(72px,9vw,140px)}
.ov-catalogue__in{display:flex;flex-direction:column;gap:clamp(48px,6vw,96px)}
.ov-filterbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid #E0DAD2}
.ov-filterbar__count{font-size:14px;font-weight:500;color:var(--muted)}
.ov-group{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
.ov-group[hidden]{display:none}
.ov-group__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}
.ov-group__k{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--bronze)}
.ov-group__k i{width:24px;height:1px;background:#C9B7A4}
.ov-group__t{max-width:560px;font-size:16px;line-height:1.6;color:var(--body);text-wrap:pretty}
.ov-prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.ov-prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .5s var(--e2),box-shadow .5s}
.ov-prod:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(18,17,16,.35)}
.ov-prod__img{position:relative;aspect-ratio:1/1;background:#FAF9F7;overflow:hidden}
.ov-prod__img>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ov-prod__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12%;text-align:center}
.ov-prod__ph span{font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--bronze);text-wrap:balance}
.ov-prod__logo.ov-logo-fit{max-width:70%;opacity:.85}
.ov-prod__body{flex:1;display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px}
.ov-prod__meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:500;color:var(--bronze)}
.ov-prod__meta span:last-child{color:var(--muted);text-align:right}
.ov-prod__name{font-weight:600;font-size:18px;line-height:1.25;letter-spacing:-.01em;text-wrap:pretty}
.ov-prod__desc{font-size:14px;line-height:1.55;color:var(--body);text-wrap:pretty}
.ov-prod__act{margin-top:auto;padding-top:6px;font-size:12px;line-height:1.5;color:var(--muted)}

/* ---------- contact ---------- */
.ov-ct-lead{font-weight:500;font-size:clamp(22px,2vw,30px);line-height:1.38;letter-spacing:-.01em;text-wrap:pretty}
.ov-ct-p{font-size:17px;line-height:1.7;color:#3A3633}
.ov-ctlist{display:flex;flex-direction:column}
.ov-ctlist>*{padding:26px 0;border-bottom:1px solid #DDD7CF;display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.ov-ctlist>*:first-child{border-top:1px solid #DDD7CF}
.ov-ctlist a:hover{color:var(--bronze)}
.ov-ctlist span{font-weight:500;font-size:14px;color:var(--bronze)}
.ov-ctlist strong{font-weight:500;font-size:clamp(22px,2vw,30px);line-height:1.15}
.ov-formcard{background:var(--stone);padding:clamp(28px,4vw,56px);border-radius:32px}
.ov-form{display:flex;flex-direction:column;gap:30px}
.ov-form label{display:flex;flex-direction:column;gap:8px;font-weight:500;font-size:14px;color:var(--muted)}
.ov-form input,.ov-form textarea{border:none;border-bottom:1px solid #CFC8BE;border-radius:0;background:transparent;padding:10px 0;font-size:18px;color:var(--ink);outline:none;width:100%}
.ov-form textarea{resize:vertical}
.ov-form input:focus,.ov-form textarea:focus{border-bottom-color:var(--ink)}
.ov-sent{min-height:min(420px,60svh);display:flex;flex-direction:column;justify-content:center;gap:20px}
.ov-sent h3{font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.1}
.ov-sent p{font-size:17px;line-height:1.65;color:#3A3633}
.ov-gmap{position:relative;height:clamp(420px,70vh,720px);background:#E4E1DC;overflow:hidden}
.ov-gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05) brightness(1.02)}
.ov-gmap__card{position:absolute;left:clamp(14px,3.6vw,52px);bottom:clamp(14px,3.6vw,52px);right:clamp(14px,3.6vw,52px);max-width:420px;border-radius:28px;background:var(--ink);color:var(--cream);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px}
.ov-gmap__addr{font-weight:500;font-size:clamp(22px,2vw,30px);line-height:1.15}
.ov-gmap__note{font-size:16px;color:#CFC8BE}

/* ---------- legal / prose ---------- */
.ov-legal{padding:56px 0 clamp(100px,14vh,160px)}
.ov-legal__tabs{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:28px;border-bottom:1px solid var(--ink)}
.ov-tab{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--ink);color:var(--ink);font-weight:500;font-size:14px;transition:all .35s}
.ov-tab:hover{background:var(--stone);color:var(--ink)}
.ov-tab.is-on{background:var(--ink);color:var(--cream)}
.ov-legal__grid{margin-top:56px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.ov-legal__grid--single{grid-template-columns:minmax(0,1fr)}
.ov-toc{position:sticky;top:120px;display:flex;flex-direction:column}
.ov-toc__h{font-weight:500;font-size:14px;color:var(--bronze);padding-bottom:16px}
.ov-toc a{display:flex;gap:14px;align-items:baseline;border-top:1px solid #DDD7CF;padding:14px 0;font-size:15px;line-height:1.4;color:#3A3633;transition:color .3s}
.ov-toc a:hover{color:var(--bronze)}
.ov-toc a span{font-size:12px;letter-spacing:.12em;color:var(--bronze)}
@media (max-width:1179px){.ov-legal__grid{grid-template-columns:minmax(0,1fr)}.ov-toc{display:none}}
.ov-legal__body{display:flex;flex-direction:column;gap:clamp(40px,4vw,56px);max-width:820px}
.ov-legal__sec{display:flex;flex-direction:column;gap:18px;scroll-margin-top:110px}
.ov-legal__h{display:flex;align-items:baseline;gap:18px}
.ov-legal__h span{font-weight:500;font-size:13px;letter-spacing:.16em;color:var(--bronze)}
.ov-legal__h h2{font-weight:600;font-size:clamp(22px,2vw,30px);line-height:1.2;letter-spacing:-.01em}
.ov-prose{font-size:17px;line-height:1.75;color:#3A3633}
.ov-prose>*+*{margin-top:1em}
.ov-prose h2,.ov-prose h3{color:var(--ink);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin-top:1.6em}
.ov-prose h2{font-size:clamp(24px,2.2vw,32px)}.ov-prose h3{font-size:22px}
.ov-prose a{text-decoration:underline;text-underline-offset:3px}
.ov-prose ul,.ov-prose ol{padding-left:1.2em}
.ov-prose img{height:auto;border-radius:20px}
.ov-consentbox{border:1px solid #EAE6E0;border-radius:24px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:20px}
.ov-consentbox__v{font-weight:600;font-size:22px}

/* ---------- footer ---------- */
.ov-footer{padding:50px 12px 12px;color:var(--cream)}
.ov-footer__card{max-width:1560px;margin:0 auto;background:var(--ink);border:1px solid rgba(255,255,255,.09);border-radius:clamp(22px,3vw,36px);box-shadow:0 24px 60px -24px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
.ov-footer__grid{padding:clamp(56px,7vw,96px) clamp(20px,4vw,56px) 48px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(36px,5vw,48px) clamp(24px,3vw,40px)}
.ov-footer__brand{grid-column:span 2;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-right:clamp(0px,4vw,64px)}
.ov-footer__brand img{width:min(220px,100%);height:auto}
.ov-footer__brand p{max-width:360px;font-size:15px;line-height:1.65;color:var(--dmuted)}
.ov-footer__brand p a{color:#CFCAC3}.ov-footer__brand p a:hover{color:#fff}
.ov-footer__brand .ov-pill{margin-top:4px}
.ov-footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.ov-footer__h{align-self:stretch;font-weight:600;font-size:14px;color:var(--gold);padding-bottom:16px;border-bottom:1px solid rgba(247,245,242,.14);margin-bottom:10px}
.ov-footer__col a{display:flex;align-items:center;margin-left:-12px;min-height:34px;padding:4px 12px;border-radius:999px;font-size:15px;font-weight:500;color:#CFCAC3;transition:color .3s,background .3s,transform .3s}
.ov-footer__col a:hover{color:#fff;background:rgba(255,255,255,.08);transform:translateX(4px)}
.ov-footer__bar{padding:0 clamp(20px,4vw,56px)}
.ov-footer__rule{height:1px;background:rgba(247,245,242,.14)}
.ov-footer__base{padding:20px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:#8F8983;letter-spacing:.02em}
.ov-footer__credit a{color:#CFCAC3;text-decoration:underline;text-underline-offset:3px}.ov-footer__credit a:hover{color:#fff}
.ov-totop{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);cursor:pointer;font-size:13px;font-weight:500;color:#CFCAC3;transition:color .3s,background .3s}
.ov-totop:hover{color:var(--ink);background:var(--gold)}
@media (max-width:1179px){.ov-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ov-footer__brand{grid-column:1/-1}}
@media (max-width:639px){.ov-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- cookie banner ---------- */
.ov-cookie{position:fixed;left:clamp(12px,2vw,28px);right:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);z-index:90;max-width:540px;border-radius:26px;background:rgba(18,17,16,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:var(--cream);border:1px solid rgba(255,255,255,.08);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:18px;transform:translateY(calc(100% + 40px));opacity:0;transition:transform .9s var(--e2),opacity .6s;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ov-cookie[hidden]{display:none}
.ov-cookie.is-up{transform:none;opacity:1}
.ov-cookie__k{display:flex;align-items:center;gap:14px;font-weight:500;font-size:14px;color:var(--gold)}
.ov-cookie__k span{display:block;width:28px;height:1px;background:var(--gold)}
.ov-cookie p{font-size:15px;line-height:1.65;color:#E4E1DC;text-wrap:pretty}
.ov-cookie p a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.ov-cookie p a:hover{color:var(--cream)}
.ov-cookie__btns{display:flex;flex-wrap:wrap;gap:10px}
.ov-cookie__btns .ov-btn{flex:1 1 140px;font-size:14px}
.ov-cookie__btns .ov-btn--gold{font-weight:600}

/* ---------- curtain ---------- */
.ov-curtain{position:fixed;inset:0;z-index:100;background:var(--ink);transform:translateY(100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;pointer-events:none}
.ov-curtain img{width:min(360px,70vw);height:auto;opacity:0}
.ov-curtain div{width:min(360px,70vw);height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left}
.ov-cover .ov-curtain,.ov-intro .ov-curtain{transform:none}
.ov-cover .ov-curtain img{opacity:1}
.ov-cover .ov-curtain div{transform:none}
.ov-rm .ov-curtain{display:none}
