@charset "UTF-8";
:root{
  --ink:#1d1a17;--ink-2:#302b26;--chocolate:#3b241b;--chocolate-hover:#2f1b14;--muted:#726a62;--line:#e8e0d6;
  --paper:#fffefa;--cream:#f8f4ed;--cream-2:#f2ece3;--gold:#c8a15a;--gold-2:#a77c33;
  --shadow:0 24px 70px rgba(49,38,25,.10);--shadow-sm:0 10px 34px rgba(49,38,25,.08);
  --radius:28px;--radius-sm:18px;--max:1240px;--header:86px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.serif{font-family:Georgia,"Times New Roman",serif}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--gold-2);font-size:.78rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}.section{padding:110px 0}.section-sm{padding:76px 0}.section-cream{background:var(--cream)}.section-dark{background:var(--chocolate);color:#fff}.section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:64px;align-items:end;margin-bottom:54px}.section-head h2,.content-title{margin:0;font:400 clamp(2.4rem,5vw,4.7rem)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.045em}.section-head p{margin:0;color:var(--muted);font-size:1.02rem}.section-dark .section-head p{color:#d5cec5}.lead{font-size:1.14rem;color:var(--muted);max-width:690px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:700;font-size:.92rem;letter-spacing:.01em;transition:.25s ease;cursor:pointer}.btn-primary{background:var(--chocolate);color:#fff}.btn-primary:hover{transform:translateY(-2px);background:#2f1b14;box-shadow:var(--shadow-sm)}.btn-gold{background:var(--gold);color:#18130c}.btn-gold:hover{transform:translateY(-2px);background:#d7b46d}.btn-outline{border-color:#cfc3b4;background:rgba(255,255,255,.72)}.btn-outline:hover{border-color:var(--gold);background:#fff}.btn-light{background:#fff;color:var(--ink)}.arrow{font-size:1.05rem;transition:transform .2s}.btn:hover .arrow{transform:translateX(3px)}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--header);background:rgba(255,254,250,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,204,191,.6);transition:.25s}.site-header.scrolled{height:74px;background:rgba(255,254,250,.96);box-shadow:0 6px 24px rgba(44,34,25,.06)}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:183px;height:auto;max-height:62px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:4px}.nav-link{padding:10px 11px;border-radius:999px;font-size:.88rem;font-weight:650;color:#403a35;white-space:nowrap}.nav-link:hover,.nav-link.active{background:var(--cream-2);color:var(--ink)}.nav-drop{position:relative}.nav-drop>button{border:0;background:none}.nav-drop-menu{position:absolute;top:calc(100% + 12px);left:0;min-width:270px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:none}.nav-drop-menu a{display:block;padding:11px 12px;border-radius:11px;font-size:.9rem}.nav-drop-menu a:hover{background:var(--cream)}.header-cta{margin-left:4px}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:50%;align-items:center;justify-content:center}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";display:block;width:20px;height:1.5px;background:var(--chocolate);position:absolute;transition:.25s}.menu-toggle:before{transform:translateY(-6px)}.menu-toggle:after{transform:translateY(6px)}.menu-toggle.is-open span{opacity:0}.menu-toggle.is-open:before{transform:rotate(45deg)}.menu-toggle.is-open:after{transform:rotate(-45deg)}.mobile-menu{display:none;position:fixed;z-index:999;inset:var(--header) 0 0;background:rgba(255,254,250,.99);padding:24px;overflow:auto}.mobile-menu.open{display:block}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;border-bottom:1px solid var(--line);font-size:1.06rem;font-weight:650}.mobile-menu .sub{padding-left:18px;color:var(--muted);font-size:.94rem}.mobile-menu .btn{margin-top:24px;width:100%;border-bottom:0}.no-scroll{overflow:hidden}
.hero{min-height:790px;padding-top:var(--header);position:relative;overflow:hidden;background:linear-gradient(135deg,#fffefa 0%,#f5eee4 100%)}.hero:before{content:"";position:absolute;width:530px;height:530px;border-radius:50%;border:1px solid rgba(200,161,90,.24);left:-180px;top:160px}.hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:rgba(200,161,90,.10);right:44%;bottom:-80px}.hero-grid{min-height:704px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:74px;align-items:center}.hero-copy{position:relative;z-index:2;padding:70px 0}.hero h1{margin:0 0 24px;font:400 clamp(3.2rem,6.5vw,6.6rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.055em}.hero h1 span{display:block;color:var(--gold-2);font-style:italic}.hero-copy>p{max-width:620px;margin:0 0 31px;color:#625a53;font-size:1.12rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:42px;padding-top:27px;border-top:1px solid rgba(166,144,116,.25)}.meta-item strong{display:block;font:400 1.45rem Georgia,serif}.meta-item span{font-size:.82rem;color:var(--muted)}.hero-visual{position:relative;align-self:stretch;min-height:704px}.hero-visual video{width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,237,.2),transparent 35%),linear-gradient(0deg,rgba(29,26,23,.18),transparent 35%);pointer-events:none}.hero-badge{position:absolute;z-index:2;left:-50px;bottom:58px;width:166px;height:166px;border-radius:50%;background:rgba(255,254,250,.94);backdrop-filter:blur(10px);border:1px solid #e5dccf;display:grid;place-items:center;text-align:center;padding:22px;box-shadow:var(--shadow-sm)}.hero-badge strong{font:400 2rem Georgia,serif;color:var(--gold-2)}.hero-badge span{font-size:.74rem;line-height:1.35;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.trust-strip{border-block:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:24px 22px;text-align:center;border-right:1px solid var(--line);font-size:.86rem;color:var(--muted)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;color:var(--ink);font-size:.92rem;margin-bottom:2px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:430px;border:1px solid var(--line);border-radius:var(--radius);padding:34px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:.28s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#dbccb8}.service-card .num{font-size:.74rem;color:var(--gold-2);letter-spacing:.14em}.service-card h3{margin:58px 0 16px;font:400 2.05rem/1.05 Georgia,serif;letter-spacing:-.03em}.service-card p{margin:0;color:var(--muted);font-size:.95rem}.service-card .card-link{margin-top:auto;padding-top:28px;font-weight:700;font-size:.9rem}.service-card:after{content:"";position:absolute;right:-55px;top:-58px;width:170px;height:170px;border:1px solid rgba(200,161,90,.26);border-radius:50%}.service-card:nth-child(2){background:var(--cream)}.service-card:nth-child(3){background:var(--chocolate);color:#fff}.service-card:nth-child(3) p{color:#cbc3ba}.service-card:nth-child(3):after{border-color:rgba(255,255,255,.16)}
.laser-showcase{display:grid;grid-template-columns:1fr 1fr;gap:20px}.laser-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.laser-image{height:460px;display:grid;place-items:center;background:linear-gradient(145deg,#fbfaf8,#eee8df);padding:34px}.laser-image img{max-height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.laser-body{padding:34px}.laser-body h3{margin:0 0 12px;font:400 2.3rem Georgia,serif}.laser-body p{margin:0 0 22px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.chip{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--cream);font-size:.76rem;font-weight:700;color:#574e46}.laser-body .card-link{font-size:.9rem;font-weight:750}
.quote-section{padding:82px 0;background:var(--chocolate);color:#fff;position:relative;overflow:hidden}.quote-section:before{content:'“';position:absolute;right:7%;top:-80px;font:400 27rem/.8 Georgia,serif;color:rgba(200,161,90,.09)}.quote-wrap{position:relative;z-index:1;max-width:970px;margin:auto;text-align:center}.quote-wrap blockquote{margin:0;font:400 clamp(2.1rem,4.4vw,4rem)/1.08 Georgia,serif;letter-spacing:-.04em}.quote-wrap blockquote em{color:#d6b570;font-style:italic}.quote-author{margin-top:22px;color:#c9c1b8;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.about-grid{display:grid;grid-template-columns:minmax(380px,.9fr) 1.1fr;gap:86px;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:var(--radius)}.about-photo:before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid #d9c6a4;border-radius:var(--radius);z-index:-1}.about-copy h2{margin:0 0 22px;font:400 clamp(2.6rem,5vw,4.7rem)/1.02 Georgia,serif;letter-spacing:-.045em}.about-copy p{color:var(--muted)}.signature{margin-top:32px;font:italic 1.5rem Georgia,serif;color:var(--gold-2)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.step{padding:32px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step b{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cream);color:var(--gold-2);font-size:.8rem;margin-bottom:48px}.step h3{font:400 1.35rem Georgia,serif;margin:0 0 10px}.step p{font-size:.88rem;color:var(--muted);margin:0}
.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0;border:0;background:none;text-align:left;font-weight:750;cursor:pointer}.faq-q span:last-child{font:300 1.6rem/1 sans-serif;color:var(--gold-2);transition:.2s}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-a>div{overflow:hidden}.faq-a p{margin:0 0 25px;color:var(--muted);max-width:850px}.faq-item.open .faq-a{grid-template-rows:1fr}
.cta-band{padding:0 0 110px}.cta-inner{background:linear-gradient(120deg,#3b241b 0%,#463027 58%,#342018 100%);border-radius:34px;padding:66px;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;color:#fff;position:relative;overflow:hidden}.cta-inner:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid rgba(217,181,112,.22);right:-140px;top:-140px}.cta-inner h2{position:relative;z-index:1;margin:0 0 12px;font:400 clamp(2.3rem,4.2vw,4rem)/1.03 Georgia,serif;letter-spacing:-.04em}.cta-inner p{position:relative;z-index:1;margin:0;color:#cec6bd}.cta-actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.site-footer{background:linear-gradient(135deg,#2f1b14 0%,#3b241b 55%,#291711 100%);color:#eee7de;padding:68px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:54px}.footer-brand img{width:190px;margin-bottom:18px}.footer-brand p{color:#a9a097;font-size:.9rem;max-width:300px}.footer-title{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#baaa98;margin:0 0 18px}.footer-links{display:grid;gap:10px}.footer-links a{font-size:.9rem;color:#eee7de}.footer-links a:hover{color:#d8b875}.footer-contact p{margin:0 0 7px;color:#a9a097;font-size:.9rem}.footer-contact a{color:#eee7de}.footer-bottom{margin-top:52px;padding-top:20px;border-top:1px solid #2c2824;display:flex;justify-content:space-between;gap:20px;color:#807970;font-size:.78rem}
.page-hero{padding:calc(var(--header) + 90px) 0 90px;background:var(--cream);position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-80px;bottom:-180px;width:460px;height:460px;border:1px solid rgba(200,161,90,.25);border-radius:50%}.page-hero .container{position:relative;z-index:1}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.78rem;color:#887e74;margin-bottom:30px}.breadcrumbs a:hover{color:var(--gold-2)}.page-hero h1{margin:0;max-width:960px;font:400 clamp(3rem,6vw,6.2rem)/.96 Georgia,serif;letter-spacing:-.055em}.page-hero h1 em{color:var(--gold-2);font-weight:400}.page-hero p{max-width:720px;margin:24px 0 0;color:var(--muted);font-size:1.08rem}.page-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.device-stage{min-height:570px;background:linear-gradient(140deg,#fbfaf8,#eee8df);border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;padding:42px;position:relative;overflow:hidden}.device-stage:after{content:"";position:absolute;inset:36px;border:1px solid rgba(200,161,90,.20);border-radius:50%}.device-stage img{position:relative;z-index:1;max-height:500px;object-fit:contain;mix-blend-mode:multiply}.content h2,.content h3{font-family:Georgia,serif;font-weight:400}.content h2{font-size:clamp(2.25rem,4vw,3.7rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 22px}.content h3{font-size:1.55rem;margin:34px 0 10px}.content p{color:var(--muted)}.content ul{padding-left:20px;color:var(--muted)}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.fact{padding:20px;background:var(--cream);border-radius:16px}.fact strong{display:block;font:400 1.2rem Georgia,serif;margin-bottom:5px}.fact span{font-size:.79rem;color:var(--muted)}.note{padding:18px 20px;border-left:3px solid var(--gold);background:var(--cream);color:#675f57;font-size:.88rem;border-radius:0 14px 14px 0}.info-copy{border:1px solid var(--line);background:var(--cream);padding:20px;border-radius:16px}.info-copy p{margin:0;color:var(--muted)}.info-copy p+p{margin-top:12px}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.compare-card h3{margin:0 0 10px;font:400 1.85rem Georgia,serif}.compare-card p{margin:0;color:var(--muted)}
.price-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.price-tab{border:1px solid var(--line);background:#fff;padding:11px 16px;border-radius:999px;font-weight:700;cursor:pointer}.price-tab.active{background:var(--chocolate);color:#fff;border-color:var(--ink)}.price-panel{display:none}.price-panel.active{display:block}.price-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.price-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:19px 24px;border-bottom:1px solid var(--line);align-items:center}.price-row:last-child{border-bottom:0}.price-row span:first-child{font-weight:650}.price-row span:last-child{font:400 1.06rem Georgia,serif;color:var(--gold-2)}.price-note{margin-top:18px;color:var(--muted);font-size:.84rem}
.voucher-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:76px;align-items:center}.voucher-card{aspect-ratio:1.65;border-radius:26px;background:linear-gradient(135deg,#3b241b,#5a382a);color:#fff;box-shadow:var(--shadow);padding:45px;position:relative;overflow:hidden;transform:rotate(-2deg)}.voucher-card:before,.voucher-card:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(213,177,107,.35)}.voucher-card:before{width:290px;height:290px;right:-120px;top:-130px}.voucher-card:after{width:180px;height:180px;left:-70px;bottom:-100px}.voucher-card .vsmall{font-size:.7rem;letter-spacing:.17em;color:#d3c7b8;text-transform:uppercase}.voucher-card .vtitle{margin-top:64px;font:italic 3rem Georgia,serif;color:#d8b773}.voucher-card .vbrand{position:absolute;bottom:34px;left:45px;font-weight:800;letter-spacing:.15em}.voucher-card .vline{position:absolute;right:44px;bottom:38px;font-size:.72rem;color:#bfb4a8}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:26px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px}.contact-card h2{margin:0 0 28px;font:400 2.3rem Georgia,serif}.contact-row{padding:16px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}.contact-row small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}.contact-row strong,.contact-row a{font-size:1.02rem}.map{min-height:520px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.map iframe{width:100%;height:100%;min-height:520px;border:0}
.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.other-card{padding:30px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.other-card .ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--gold-2);margin-bottom:38px;font:400 1.3rem Georgia,serif}.other-card h3{font:400 1.35rem Georgia,serif;margin:0 0 8px}.other-card p{font-size:.87rem;color:var(--muted);margin:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in{opacity:1;transform:none}
@media (max-width:1080px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;position:relative}.hero-grid{grid-template-columns:1fr 1fr;gap:42px}.hero-badge{left:-25px}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(3){grid-column:1/-1;min-height:330px}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-brand{grid-column:1/-1}.about-grid{gap:50px}.other-grid{grid-template-columns:1fr 1fr}}
@media (max-width:800px){:root{--header:74px}.container{width:min(100% - 32px,var(--max))}.section{padding:78px 0}.section-sm{padding:58px 0}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:34px}.site-header{height:var(--header)}.brand img{width:154px}.hero{min-height:auto}.hero-grid{display:block;min-height:0}.hero-copy{padding:70px 0 50px}.hero h1{font-size:clamp(3.25rem,14vw,5.2rem)}.hero-visual{height:520px;min-height:0;margin-inline:-16px}.hero-badge{width:130px;height:130px;left:18px;bottom:18px;padding:16px}.hero-badge strong{font-size:1.55rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-grid,.laser-showcase,.about-grid,.split,.compare-grid,.voucher-wrap,.contact-grid{grid-template-columns:1fr}.service-card:nth-child(3){grid-column:auto}.service-card{min-height:360px}.laser-image{height:350px}.about-grid{gap:54px}.about-photo{max-width:560px}.about-photo:before{inset:14px -10px -14px 10px}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)!important}.step:last-child{border-bottom:0!important}.step b{margin-bottom:24px}.quote-section{padding:64px 0}.cta-band{padding-bottom:78px}.cta-inner{grid-template-columns:1fr;padding:40px 28px}.cta-actions{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-hero{padding:calc(var(--header) + 62px) 0 65px}.device-stage{min-height:390px}.fact-grid{grid-template-columns:1fr 1fr}.voucher-wrap{gap:45px}.other-grid{grid-template-columns:1fr}.contact-grid{gap:16px}.map,.map iframe{min-height:420px}}
@media (max-width:520px){.container{width:calc(100% - 24px)}.hero-copy{padding-top:54px}.hero-copy>p{font-size:1rem}.hero-meta{gap:18px}.hero-visual{height:430px}.hero-actions .btn{width:100%}.trust-item{padding:18px 10px}.service-card{padding:27px}.service-card h3{margin-top:42px}.laser-body{padding:26px}.laser-image{height:300px;padding:22px}.quote-wrap blockquote{font-size:2.05rem}.about-copy h2{font-size:2.8rem}.cta-inner{border-radius:24px}.cta-actions .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.page-hero h1{font-size:3rem}.page-hero-actions .btn{width:100%}.fact-grid{grid-template-columns:1fr}.price-row{padding:17px 18px}.voucher-card{padding:28px}.voucher-card .vtitle{font-size:2.1rem;margin-top:42px}.voucher-card .vbrand{left:28px;bottom:24px}.voucher-card .vline{display:none}.contact-card{padding:27px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.site-header,.faq-a{transition:none}.hero-visual video{display:none}.hero-visual{background:url('../img/marta.webp') center 20%/cover no-repeat}}

/* MAFRÉ hero video — portrait MP4 sizing fix */
.hero-visual{overflow:hidden}
.hero-visual video{object-position:50% 50%}
@media (min-width:801px){
  .hero{min-height:0}
  .hero-grid{height:clamp(610px,calc(100svh - var(--header)),690px);min-height:610px;align-items:center}
  .hero-copy{padding:44px 0}
  .hero-visual{position:relative;align-self:stretch;height:100%;min-height:0;min-width:0}
  .hero-visual video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
}
@media (max-width:800px){
  .hero-visual{position:relative;overflow:hidden}
  .hero-visual video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
}

/* v3: homepage spacing, Booksy badge, legal pages and cookie consent */
.hero-badge{left:24px;bottom:28px}
.technology-section .section-head{position:relative;z-index:2;margin-bottom:86px}
.technology-section .laser-showcase{position:relative;z-index:1}
.footer-legal{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.footer-legal a,.footer-cookie-settings{color:#aaa198;font-size:.78rem}
.footer-legal a:hover,.footer-cookie-settings:hover{color:#fff}
.footer-cookie-settings{border:0;background:none;padding:0;cursor:pointer;font:inherit}
.legal-layout{display:grid;grid-template-columns:minmax(250px,.38fr) minmax(0,1fr);gap:80px;align-items:start}
.legal-summary{position:sticky;top:118px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}
.legal-summary h2{margin:0 0 16px;font:400 2.25rem/1.06 Georgia,serif;letter-spacing:-.035em}
.legal-summary>p:not(.eyebrow){margin:0 0 26px;color:var(--muted)}
.legal-contact{display:grid;gap:5px;padding-top:24px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.legal-contact strong{color:var(--ink);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.legal-contact a{margin-top:7px;color:var(--ink);font-weight:750}
.legal-content{max-width:840px}
.legal-content h2{margin:0 0 38px;font:400 clamp(2.4rem,4.6vw,4rem)/1.04 Georgia,serif;letter-spacing:-.04em}
.legal-content h3{margin:38px 0 12px;font:400 1.45rem/1.2 Georgia,serif}
.legal-content p{margin:0 0 16px;color:var(--muted)}
.legal-content p strong{color:var(--ink)}
.legal-content a{text-decoration:underline;text-underline-offset:3px}
.legal-note{margin-top:42px!important;padding-top:20px;border-top:1px solid var(--line);font-size:.82rem}
.cookie-banner{position:fixed;z-index:2000;left:22px;right:22px;bottom:22px;display:none;max-width:930px;margin-inline:auto;padding:24px 26px;background:rgba(59,36,27,.97);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.cookie-banner.show{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.cookie-copy strong{display:block;margin-bottom:4px;font:400 1.24rem Georgia,serif}
.cookie-copy p{margin:0;color:#cec6bd;font-size:.86rem;line-height:1.55}
.cookie-copy a{color:#e0bd78;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.cookie-actions .btn{min-height:44px;padding-inline:18px;font-size:.82rem}
.cookie-actions .btn-outline{background:transparent;color:#fff;border-color:#716961}
.cookie-actions .btn-outline:hover{background:#fff;color:var(--ink)}
.cookie-embed{position:relative;background:var(--cream)}
.cookie-embed iframe:not([src]){visibility:hidden}
.map-consent{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:32px;text-align:center;background:linear-gradient(145deg,#fbfaf8,#eee8df)}
.map-consent>div{max-width:460px}
.map-consent strong{display:block;margin-bottom:9px;font:400 1.65rem Georgia,serif}
.map-consent p{margin:0 0 20px;color:var(--muted)}
.cookie-embed.loaded .map-consent{display:none}
@media (max-width:1080px){.hero-badge{left:18px}.legal-layout{gap:45px}}
@media (max-width:800px){.hero-badge{left:18px;bottom:18px}.technology-section .section-head{margin-bottom:48px}.legal-layout{grid-template-columns:1fr;gap:42px}.legal-summary{position:static}.cookie-banner.show{grid-template-columns:1fr;gap:18px}.cookie-actions{justify-content:flex-start}.footer-bottom{align-items:flex-start}.footer-legal{justify-content:flex-start}}
@media (max-width:520px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:20px;border-radius:18px}.cookie-actions{display:grid;grid-template-columns:1fr;width:100%}.cookie-actions .btn{width:100%}.legal-summary{padding:24px}.legal-content h3{font-size:1.3rem}}

/* v5: laser cards — hard separation between device image and text */
.technology-section .laser-card{
  display:grid;
  grid-template-rows:460px auto;
  overflow:hidden;
  isolation:isolate;
}
.technology-section .laser-image{
  position:relative;
  height:auto;
  min-height:0;
  overflow:hidden;
  padding:0;
}
.technology-section .laser-image img{
  position:absolute;
  inset:34px;
  width:calc(100% - 68px);
  height:calc(100% - 68px);
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
.technology-section .laser-body{
  position:relative;
  z-index:3;
  margin:0;
  padding:38px 34px 36px;
  background:#fff;
  border-top:1px solid var(--line);
}
@media (max-width:800px){
  .technology-section .laser-card{grid-template-rows:350px auto}
  .technology-section .laser-image img{inset:26px;width:calc(100% - 52px);height:calc(100% - 52px)}
}
@media (max-width:520px){
  .technology-section .laser-card{grid-template-rows:300px auto}
  .technology-section .laser-image img{inset:20px;width:calc(100% - 40px);height:calc(100% - 40px)}
  .technology-section .laser-body{padding:30px 26px 28px}
}

/* v7 — larger navigation logo and Booksy badge straddling hero columns */
.brand img{
  width:auto;
  height:auto;
  max-width:none;
  max-height:76px;
  object-fit:contain;
}
.site-header.scrolled .brand img{max-height:60px}
.hero-badge{left:-68px}
@media (max-width:1080px){
  .hero-badge{left:-48px}
}
@media (max-width:800px){
  .brand img{max-height:58px}
  .site-header.scrolled .brand img{max-height:52px}
  .hero-badge{left:18px}
}

/* v8 — supplied MAFRÉ logo + Booksy badge above both hero columns */
.hero-visual{overflow:visible}
.hero-badge{
  left:-105px;
  z-index:30;
}
@media (max-width:1080px){
  .hero-badge{left:-76px;z-index:30}
}
@media (max-width:800px){
  .hero-badge{left:18px;z-index:30}
}


/* v9 — stały rozmiar logo w nagłówku podczas przewijania */
.site-header.scrolled{height:var(--header)}
.brand img,.site-header.scrolled .brand img{max-height:76px}
@media (max-width:800px){
  .brand img,.site-header.scrolled .brand img{max-height:58px}
}


/* v10 — compact Booksy source note + badge shifted further into video */
.booksy-note{padding:14px 0}
.booksy-note p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.45}
.hero-badge{left:-58px}
@media (max-width:1080px){.hero-badge{left:-42px}}
@media (max-width:800px){
  .hero-badge{left:18px}
  .booksy-note{padding:11px 0}
  .booksy-note p{font-size:.62rem;line-height:1.4}
}

/* v11 — stable mobile colours while scrolling */
@media (max-width:800px){
  html,body{
    background-color:var(--paper);
  }
  .site-header,
  .site-header.scrolled{
    background:var(--paper);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    box-shadow:none;
    border-bottom:1px solid rgba(214,204,191,.6);
    transition:none;
  }
  /* On small screens content is shown at full opacity immediately so scrolling
     cannot create a temporary tint/fade over section backgrounds. */
  .reveal,
  .reveal.in{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* v12 — hard mobile colour stabilization + iOS/Chrome scroll rendering fixes */
@media (max-width:800px){
  html{
    background:#fffefa !important;
    color-scheme:light only;
    overscroll-behavior-y:none;
  }
  body{
    background:#fffefa !important;
    min-height:100vh;
    min-height:100dvh;
    overscroll-behavior-y:none;
  }
  main{
    background:#fffefa;
  }
  .site-header,
  .site-header.scrolled,
  .mobile-menu{
    background:#fffefa !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    filter:none !important;
    box-shadow:none !important;
    transition:none !important;
  }
  .hero-badge{
    background:#fffefa !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .cookie-banner{
    background:#3b241b !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .hero,
  .section,
  .section-sm,
  .trust-strip,
  .quote-section,
  .section-cream,
  .section-dark,
  .page-hero,
  .cta-band,
  footer{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}


/* v13 — one fixed colour/appearance at every scroll position */
.site-header,
.site-header.scrolled{
  height:var(--header) !important;
  background:#fffefa !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition:none !important;
}
.brand img,
.site-header.scrolled .brand img{
  max-height:76px !important;
}
@media (max-width:800px){
  .brand img,
  .site-header.scrolled .brand img{
    max-height:58px !important;
  }
  /* Avoid forcing GPU layers while scrolling; some mobile browsers recolour
     composited layers when the browser chrome collapses. */
  .hero,
  .section,
  .section-sm,
  .trust-strip,
  .quote-section,
  .section-cream,
  .section-dark,
  .page-hero,
  .cta-band,
  footer{
    -webkit-transform:none !important;
    transform:none !important;
  }
}


/* WordPress + Elementor integration */
body.mafre-wp-theme{margin:0}
.mafre-page-main{min-height:55vh}
.elementor-page .mafre-elementor-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.elementor-page .mafre-elementor-section>.elementor-container{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
.elementor-page .mafre-elementor-section .elementor-column,
.elementor-page .mafre-elementor-section .elementor-widget-wrap,
.elementor-page .mafre-elementor-section .elementor-widget-html,
.elementor-page .mafre-elementor-section .elementor-widget-html>.elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.elementor-page .mafre-elementor-section .elementor-widget-wrap{align-content:stretch!important}
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal{opacity:1!important;transform:none!important}
.elementor-editor-active .cookie-banner{display:none!important}

/* Keep WordPress admin-bar from covering the fixed navigation. */
body.admin-bar .site-header{top:32px}
body.admin-bar .mobile-menu{top:calc(var(--header) + 32px)}
@media(max-width:782px){
  body.admin-bar .site-header{top:46px}
  body.admin-bar .mobile-menu{top:calc(var(--header) + 46px)}
}


/* v5 SAFE NATIVE ELEMENTOR BRIDGE
   Elementor widgets remain native/editable, while the approved v13 MAFRÉ CSS controls layout. */
body.mafre-wp-theme .mafre-page-main,
body.mafre-wp-theme .mafre-page-main > .elementor{margin:0!important;padding:0!important;border:0!important;max-width:none!important}
body.mafre-wp-theme .mafre-page-main .elementor-widget{margin-block-end:0!important;--kit-widget-spacing:0px}
body.mafre-wp-theme .mafre-page-main .e-con{
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;
  --gap:0px;--row-gap:0px;--column-gap:0px;
  display:block;
}
/* Restore layouts which were flex/grid in the approved static build. */
body.mafre-wp-theme .mafre-page-main .e-con.hero-grid,
body.mafre-wp-theme .mafre-page-main .e-con.section-head,
body.mafre-wp-theme .mafre-page-main .e-con.trust-grid,
body.mafre-wp-theme .mafre-page-main .e-con.service-grid,
body.mafre-wp-theme .mafre-page-main .e-con.laser-showcase,
body.mafre-wp-theme .mafre-page-main .e-con.laser-image,
body.mafre-wp-theme .mafre-page-main .e-con.hero-badge,
body.mafre-wp-theme .mafre-page-main .e-con.about-grid,
body.mafre-wp-theme .mafre-page-main .e-con.steps,
body.mafre-wp-theme .mafre-page-main .e-con.cta-inner,
body.mafre-wp-theme .mafre-page-main .e-con.split,
body.mafre-wp-theme .mafre-page-main .e-con.device-stage,
body.mafre-wp-theme .mafre-page-main .e-con.fact-grid,
body.mafre-wp-theme .mafre-page-main .e-con.compare-grid,
body.mafre-wp-theme .mafre-page-main .e-con.price-row,
body.mafre-wp-theme .mafre-page-main .e-con.voucher-wrap,
body.mafre-wp-theme .mafre-page-main .e-con.contact-grid,
body.mafre-wp-theme .mafre-page-main .e-con.other-grid,
body.mafre-wp-theme .mafre-page-main .e-con.legal-layout,
body.mafre-wp-theme .mafre-page-main .e-con.legal-contact,
body.mafre-wp-theme .mafre-page-main .e-con.laser-card{display:grid!important}
body.mafre-wp-theme .mafre-page-main .e-con.hero-actions,
body.mafre-wp-theme .mafre-page-main .e-con.hero-meta,
body.mafre-wp-theme .mafre-page-main .e-con.service-card,
body.mafre-wp-theme .mafre-page-main .e-con.cta-actions,
body.mafre-wp-theme .mafre-page-main .e-con.page-hero-actions,
body.mafre-wp-theme .mafre-page-main .e-con.price-tabs{display:flex!important}
body.mafre-wp-theme .mafre-page-main .e-con.service-card{flex-direction:column!important}
body.mafre-wp-theme .mafre-page-main .e-con.hero-actions,
body.mafre-wp-theme .mafre-page-main .e-con.hero-meta,
body.mafre-wp-theme .mafre-page-main .e-con.cta-actions,
body.mafre-wp-theme .mafre-page-main .e-con.page-hero-actions,
body.mafre-wp-theme .mafre-page-main .e-con.price-tabs{flex-direction:row!important}

/* Elementor Text Editor adds a wrapper around the hero paragraph; reproduce the original direct-child rule. */
body.mafre-wp-theme .hero-copy > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow){max-width:620px;margin:0 0 31px;color:#625a53;font-size:1.12rem}
body.mafre-wp-theme .legal-summary > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow){margin:0 0 26px;color:var(--muted)}

/* Native buttons: wrapper is neutral; the real Elementor anchor gets the MAFRÉ button skin. */
body.mafre-wp-theme .elementor-widget-button.mafre-native-button.btn{display:block!important;width:auto!important;max-width:max-content!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important}
body.mafre-wp-theme .elementor-widget-button.mafre-native-button.btn .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:50px!important;padding:0 24px!important;border:1px solid transparent!important;border-radius:999px!important;font:700 .92rem/1.2 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:.01em!important;text-decoration:none!important;box-shadow:none!important}
body.mafre-wp-theme .elementor-widget-button.btn-primary .elementor-button{background:var(--chocolate)!important;color:#fff!important}
body.mafre-wp-theme .elementor-widget-button.btn-gold .elementor-button{background:var(--gold)!important;color:#18130c!important}
body.mafre-wp-theme .elementor-widget-button.btn-outline .elementor-button{border-color:#cfc3b4!important;background:rgba(255,255,255,.72)!important;color:var(--ink)!important}
body.mafre-wp-theme .elementor-widget-button.btn-light .elementor-button{background:#fff!important;color:var(--ink)!important}
body.mafre-wp-theme .hero-actions > .elementor-widget-button,
body.mafre-wp-theme .page-hero-actions > .elementor-widget-button,
body.mafre-wp-theme .cta-actions > .elementor-widget-button{width:auto!important;max-width:max-content!important}

/* Text-link widgets inside laser cards. */
body.mafre-wp-theme .elementor-widget-button.card-link{display:block!important;width:auto!important;max-width:max-content!important;padding:0!important;border:0!important;background:transparent!important}
body.mafre-wp-theme .elementor-widget-button.card-link .elementor-button{padding:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font:750 .9rem/1.4 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

/* Native hosted video fills the original hero visual. */
body.mafre-wp-theme .hero-visual > .elementor-widget-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;margin:0!important}
body.mafre-wp-theme .hero-visual > .elementor-widget-video .elementor-widget-container,
body.mafre-wp-theme .hero-visual > .elementor-widget-video .elementor-wrapper{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;overflow:hidden!important}
body.mafre-wp-theme .hero-visual > .elementor-widget-video video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 50%!important}
body.mafre-wp-theme .hero-visual > .hero-badge{z-index:30!important}

/* Native image widgets must not impose Elementor widths. */
body.mafre-wp-theme .laser-image > .elementor-widget-image,
body.mafre-wp-theme .laser-image > .elementor-widget-image > .elementor-widget-container{width:100%!important;height:100%!important;max-width:none!important}
body.mafre-wp-theme .about-photo > .elementor-widget-image,
body.mafre-wp-theme .about-photo > .elementor-widget-image > .elementor-widget-container,
body.mafre-wp-theme .device-stage > .elementor-widget-image,
body.mafre-wp-theme .device-stage > .elementor-widget-image > .elementor-widget-container{width:100%!important;max-width:none!important}

/* Native Accordion replaces handwritten FAQ while keeping the same spacing/typography. */
body.mafre-wp-theme .elementor-widget-accordion.faq-list{border-top:1px solid var(--line)!important}
body.mafre-wp-theme .elementor-widget-accordion.faq-list .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--line)!important}
body.mafre-wp-theme .elementor-widget-accordion.faq-list .elementor-tab-title{padding:25px 0!important;border:0!important;background:transparent!important}
body.mafre-wp-theme .elementor-widget-accordion.faq-list .elementor-accordion-title{color:var(--ink)!important;font:750 1rem/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body.mafre-wp-theme .elementor-widget-accordion.faq-list .elementor-tab-content{padding:0 0 25px!important;border:0!important;color:var(--muted)!important;max-width:850px!important}
body.mafre-wp-theme .elementor-widget-accordion.faq-list .elementor-tab-content p{margin:0!important;color:var(--muted)!important}

/* Price tabs rendered as native Elementor Button widgets. */
body.mafre-wp-theme .price-tabs > .elementor-widget-button.price-tab{width:auto!important;max-width:max-content!important;padding:0!important;border:0!important;background:transparent!important}
body.mafre-wp-theme .price-tabs > .elementor-widget-button.price-tab .elementor-button{min-height:0!important;padding:11px 16px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;color:var(--ink)!important;font:700 .9rem/1.3 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important}
body.mafre-wp-theme .price-tabs > .elementor-widget-button.price-tab.active .elementor-button{background:var(--chocolate)!important;color:#fff!important;border-color:var(--ink)!important}

/* Native map frame. */
body.mafre-wp-theme .map > .elementor-widget-google_maps,
body.mafre-wp-theme .map > .elementor-widget-google_maps > .elementor-widget-container,
body.mafre-wp-theme .map .elementor-custom-embed{height:100%!important;min-height:520px!important}
body.mafre-wp-theme .map .elementor-custom-embed iframe{width:100%!important;height:100%!important;min-height:520px!important;border:0!important}

/* Do NOT remove the hero's top padding: it intentionally offsets the fixed 86px header. */
body.mafre-wp-theme .mafre-page-main > .elementor > .e-con.hero:first-child{margin-top:0!important;padding-top:var(--header)!important}

@media(max-width:800px){
  body.mafre-wp-theme .hero-copy > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow){font-size:1rem!important}
  body.mafre-wp-theme .hero-actions > .elementor-widget-button,
  body.mafre-wp-theme .page-hero-actions > .elementor-widget-button,
  body.mafre-wp-theme .cta-actions > .elementor-widget-button{width:100%!important;max-width:none!important}
  body.mafre-wp-theme .map > .elementor-widget-google_maps,
  body.mafre-wp-theme .map > .elementor-widget-google_maps > .elementor-widget-container,
  body.mafre-wp-theme .map .elementor-custom-embed,
  body.mafre-wp-theme .map .elementor-custom-embed iframe{min-height:420px!important}
}

/* v6 — Elementor geometry repair.
   Imported containers are now Full Width. These rules also repair pages that
   still contain Elementor's legacy boxed .e-con-inner wrapper after an update. */
body.mafre-wp-theme .mafre-page-main .e-con > .e-con-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  --padding-top:0px!important;
  --padding-right:0px!important;
  --padding-bottom:0px!important;
  --padding-left:0px!important;
  --gap:0px!important;
}

/* If Elementor keeps an inner wrapper, make that wrapper reproduce the layout
   declared on the MAFRÉ container instead of stacking its children vertically. */
body.mafre-wp-theme .mafre-page-main .e-con.hero-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.section-head > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.trust-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.service-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.laser-showcase > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.laser-image > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.hero-badge > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.about-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.steps > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.cta-inner > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.split > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.device-stage > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.fact-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.compare-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.price-row > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.voucher-wrap > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.contact-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.other-grid > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.legal-layout > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.legal-contact > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.laser-card > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.hero-actions > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.hero-meta > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.service-card > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.cta-actions > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.page-hero-actions > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.price-tabs > .e-con-inner{
  display:inherit!important;
  grid-template-columns:inherit!important;
  grid-template-rows:inherit!important;
  gap:inherit!important;
  row-gap:inherit!important;
  column-gap:inherit!important;
  align-items:inherit!important;
  justify-content:inherit!important;
  flex-direction:inherit!important;
  flex-wrap:inherit!important;
  min-height:inherit!important;
}

/* The service cards rely on auto margin to keep the link at the bottom. */
body.mafre-wp-theme .mafre-page-main .e-con.service-card > .e-con-inner{
  height:100%!important;
  min-height:inherit!important;
}

/* Hosted hero video / badge when a boxed wrapper is still present. */
body.mafre-wp-theme .hero-visual > .e-con-inner{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:inherit!important;
  overflow:visible!important;
}
body.mafre-wp-theme .hero-visual > .e-con-inner > .elementor-widget-video{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;margin:0!important
}
body.mafre-wp-theme .hero-visual > .e-con-inner > .elementor-widget-video .elementor-widget-container,
body.mafre-wp-theme .hero-visual > .e-con-inner > .elementor-widget-video .elementor-wrapper{
  width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;overflow:hidden!important
}
body.mafre-wp-theme .hero-visual > .e-con-inner > .elementor-widget-video video{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 50%!important
}
body.mafre-wp-theme .hero-visual > .e-con-inner > .hero-badge{z-index:30!important}

/* Native widgets when Elementor inserts .e-con-inner. */
body.mafre-wp-theme .hero-copy > .e-con-inner > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow){max-width:620px;margin:0 0 31px;color:#625a53;font-size:1.12rem}
body.mafre-wp-theme .legal-summary > .e-con-inner > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow){margin:0 0 26px;color:var(--muted)}
body.mafre-wp-theme .laser-image > .e-con-inner > .elementor-widget-image,
body.mafre-wp-theme .laser-image > .e-con-inner > .elementor-widget-image > .elementor-widget-container{width:100%!important;height:100%!important;max-width:none!important}
body.mafre-wp-theme .about-photo > .e-con-inner > .elementor-widget-image,
body.mafre-wp-theme .about-photo > .e-con-inner > .elementor-widget-image > .elementor-widget-container,
body.mafre-wp-theme .device-stage > .e-con-inner > .elementor-widget-image,
body.mafre-wp-theme .device-stage > .e-con-inner > .elementor-widget-image > .elementor-widget-container{width:100%!important;max-width:none!important}
body.mafre-wp-theme .hero-actions > .e-con-inner > .elementor-widget-button,
body.mafre-wp-theme .page-hero-actions > .e-con-inner > .elementor-widget-button,
body.mafre-wp-theme .cta-actions > .e-con-inner > .elementor-widget-button{width:auto!important;max-width:max-content!important}

/* Grid/card geometry for the wrapper case. */
body.mafre-wp-theme .technology-section .laser-card > .e-con-inner{grid-template-rows:460px auto!important}

@media(max-width:1080px){
  body.mafre-wp-theme .mafre-page-main .e-con.hero-grid > .e-con-inner{grid-template-columns:1fr 1fr!important;gap:42px!important}
  body.mafre-wp-theme .mafre-page-main .e-con.service-grid > .e-con-inner{grid-template-columns:1fr 1fr!important}
  body.mafre-wp-theme .mafre-page-main .e-con.steps > .e-con-inner{grid-template-columns:1fr 1fr!important}
  body.mafre-wp-theme .mafre-page-main .e-con.other-grid > .e-con-inner{grid-template-columns:1fr 1fr!important}
}
@media(max-width:800px){
  body.mafre-wp-theme .mafre-page-main .e-con.hero-grid > .e-con-inner{display:block!important;min-height:0!important}
  body.mafre-wp-theme .mafre-page-main .e-con.section-head > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.service-grid > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.laser-showcase > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.about-grid > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.split > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.compare-grid > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.voucher-wrap > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.contact-grid > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.steps > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.other-grid > .e-con-inner,
  body.mafre-wp-theme .mafre-page-main .e-con.legal-layout > .e-con-inner{grid-template-columns:1fr!important}
  body.mafre-wp-theme .technology-section .laser-card > .e-con-inner{grid-template-rows:350px auto!important}
  body.mafre-wp-theme .hero-actions > .e-con-inner > .elementor-widget-button,
  body.mafre-wp-theme .page-hero-actions > .e-con-inner > .elementor-widget-button,
  body.mafre-wp-theme .cta-actions > .e-con-inner > .elementor-widget-button{width:100%!important;max-width:none!important}
}
@media(max-width:520px){
  body.mafre-wp-theme .technology-section .laser-card > .e-con-inner{grid-template-rows:300px auto!important}
}


/* v11 — targeted responsive/video/dark-card/icon refinements */
/* Supplementary offer: replace letter abbreviations with real SVG pictograms. */
.other-card .ico{
  font-size:0 !important;
  line-height:0 !important;
  background-color:var(--cream) !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:25px 25px !important;
}
.other-card .ico:nth-child(n){color:transparent !important;}
.other-card:nth-child(1) .ico{background-image:url('../img/icons/radiofrekwencja.svg') !important;}
.other-card:nth-child(2) .ico{background-image:url('../img/icons/mezoterapia.svg') !important;}
.other-card:nth-child(3) .ico{background-image:url('../img/icons/makijaz-permanentny.svg') !important;}
.other-card:nth-child(4) .ico{background-image:url('../img/icons/usuwanie-pigmentu.svg') !important;}
.other-card:nth-child(5) .ico{background-image:url('../img/icons/brwi-rzesy.svg') !important;}
.other-card:nth-child(6) .ico{background-image:url('../img/icons/pielegnacja-twarzy.svg') !important;}

/* Dark cards/sections must stay readable regardless of Elementor global colours. */
.service-grid .service-card:last-child,
.service-grid .service-card:last-child h3,
.service-grid .service-card:last-child .card-link,
.service-grid .service-card:last-child a{color:#fff !important;}
.service-grid .service-card:last-child .num{color:var(--gold-2) !important;}
.service-grid .service-card:last-child p{color:#cbc3ba !important;}
.cta-inner h2,.cta-inner .elementor-heading-title{color:#fff !important;}
.cta-inner p{color:#cec6bd !important;}

@media (max-width:1080px){
  .site-header .header-cta{display:none !important;}
}
@media (max-width:800px){
  .breadcrumbs{display:none !important;}
  .page-hero .breadcrumbs{margin:0 !important;}
  .hero-visual{overflow:hidden !important;}
  .hero-visual video,
  .hero-visual .elementor-html5-video{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:50% 50% !important;
    transform:translate(-50%,-50%) !important;
    margin:0 !important;
  }
}

/* v12 — remove breadcrumbs globally + true full-viewport hero video on phones */
/* Breadcrumbs are intentionally removed from every viewport, including desktop. */
body.mafre-wp-theme .breadcrumbs,
body.mafre-wp-theme .page-hero .breadcrumbs{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}

@media (max-width:800px){
  /* The portrait hero movie must occupy the entire device viewport width,
     even though the surrounding copy remains inside the .container gutter. */
  body.mafre-wp-theme .mafre-page-main .hero-grid .hero-visual,
  body.mafre-wp-theme .mafre-page-main .e-con.hero-visual{
    --width:100vw !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:calc((100% - 100vw) / 2) !important;
    margin-right:calc((100% - 100vw) / 2) !important;
    overflow:hidden !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  body.mafre-wp-theme .hero-visual > .e-con-inner{
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.mafre-wp-theme .hero-visual > .elementor-widget-video,
  body.mafre-wp-theme .hero-visual > .e-con-inner > .elementor-widget-video,
  body.mafre-wp-theme .hero-visual .elementor-widget-video .elementor-widget-container,
  body.mafre-wp-theme .hero-visual .elementor-widget-video .elementor-wrapper{
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }
  body.mafre-wp-theme .hero-visual .elementor-widget-video video,
  body.mafre-wp-theme .hero-visual video.elementor-html5-video,
  body.mafre-wp-theme .hero-visual video{
    position:absolute !important;
    inset:0 !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    min-width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:50% 50% !important;
    transform:none !important;
  }
}


/* v13: mobile hero video full-viewport fallback layer. See elementor-lock.css. */
@media (max-width:800px){
  body.mafre-wp-theme .mafre-page-main .hero-grid .hero-visual,
  body.mafre-wp-theme .mafre-page-main .e-con.hero-visual{position:relative!important;left:50%!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;flex:0 0 100vw!important;margin-left:-50vw!important;margin-right:-50vw!important;padding-left:0!important;padding-right:0!important;overflow:hidden!important;transform:none!important}
  body.mafre-wp-theme .mafre-page-main .hero-visual .mafre-mobile-video-shell{display:block!important;position:absolute!important;z-index:0!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#eee8df!important}
  body.mafre-wp-theme .mafre-page-main .hero-visual .mafre-mobile-video-shell video{display:block!important;position:absolute!important;inset:0!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;max-height:none!important;object-fit:cover!important;object-position:50% 50%!important;margin:0!important;transform:none!important}
  body.mafre-wp-theme .mafre-page-main .hero-visual.mafre-mobile-video-active > .elementor-widget-video,
  body.mafre-wp-theme .mafre-page-main .hero-visual.mafre-mobile-video-active > .e-con-inner > .elementor-widget-video{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  body.mafre-wp-theme .mafre-page-main .hero-visual .hero-badge{z-index:30!important}
}
@media (max-width:520px){body.mafre-wp-theme .mafre-page-main .hero-grid .hero-visual,body.mafre-wp-theme .mafre-page-main .e-con.hero-visual{height:430px!important;min-height:430px!important}}

/* ==============================================================
   v16 — CENNIK / ELEMENTOR FIX
   Elementor containers default to display:block in the compatibility bridge,
   which previously made every price panel visible at once. These rules restore
   the exact tab/panel behaviour and the two-column rows from the static v13 site.
   ============================================================== */
body.mafre-wp-theme .mafre-page-main .e-con.price-tabs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0 0 30px!important;
  width:100%!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-tabs > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
}
body.mafre-wp-theme .mafre-page-main .price-tabs > .elementor-widget-button.price-tab,
body.mafre-wp-theme .mafre-page-main .price-tabs > .e-con-inner > .elementor-widget-button.price-tab{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.mafre-wp-theme .mafre-page-main .price-tabs .elementor-widget-button.price-tab .elementor-button{
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:11px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--ink)!important;
  font:700 .9rem/1.3 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  text-decoration:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
body.mafre-wp-theme .mafre-page-main .price-tabs .elementor-widget-button.price-tab.active .elementor-button,
body.mafre-wp-theme .mafre-page-main .price-tabs .elementor-widget-button.price-tab[aria-selected="true"] .elementor-button{
  background:var(--chocolate)!important;
  color:#fff!important;
  border-color:var(--ink)!important;
}

/* Critical: generic Elementor bridge declares .e-con as block. Price panels must
   therefore be hidden with higher specificity + !important. */
body.mafre-wp-theme .mafre-page-main .e-con.price-panel,
body.mafre-wp-theme .mafre-page-main .e-con.price-panel[hidden]{
  display:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-panel.active:not([hidden]){
  display:block!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-panel > .e-con-inner,
body.mafre-wp-theme .mafre-page-main .e-con.price-list > .e-con-inner{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-list{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  overflow:hidden!important;
  background:#fff!important;
}

/* Rows represented by a Text Editor widget: put the grid on its actual inner
   .elementor-widget-container, because the Elementor widget wrapper has only
   one child and cannot reproduce the original two-span grid by itself. */
body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:19px 24px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  box-sizing:border-box!important;
}
body.mafre-wp-theme .mafre-page-main .price-list > .elementor-widget-text-editor.price-row:last-child > .elementor-widget-container,
body.mafre-wp-theme .mafre-page-main .price-list > .e-con-inner > .elementor-widget-text-editor.price-row:last-child > .elementor-widget-container{
  border-bottom:0!important;
}
body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container > span:first-child{
  min-width:0!important;
  font-weight:650!important;
  color:var(--ink)!important;
}
body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container > span:last-child{
  min-width:0!important;
  text-align:right!important;
  font:400 1.06rem/1.35 Georgia,"Times New Roman",serif!important;
  color:var(--gold-2)!important;
}
body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container > span:last-child a{
  color:var(--gold-2)!important;
  text-decoration:none!important;
}

/* Rows represented by a native Elementor container (used where a link/phone
   is kept as a separate editable Text Editor widget). */
body.mafre-wp-theme .mafre-page-main .e-con.price-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:19px 24px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row > .e-con-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mafre-wp-theme .mafre-page-main .price-list > .e-con.price-row:last-child,
body.mafre-wp-theme .mafre-page-main .price-list > .e-con-inner > .e-con.price-row:last-child{
  border-bottom:0!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row > .elementor-widget-text-editor,
body.mafre-wp-theme .mafre-page-main .e-con.price-row > .e-con-inner > .elementor-widget-text-editor{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor > .elementor-widget-container{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor:first-child span{
  font-weight:650!important;
  color:var(--ink)!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor:last-child{
  text-align:right!important;
}
body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor:last-child span,
body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor:last-child a{
  font:400 1.06rem/1.35 Georgia,"Times New Roman",serif!important;
  color:var(--gold-2)!important;
  text-decoration:none!important;
}

body.mafre-wp-theme .mafre-page-main .price-note,
body.mafre-wp-theme .mafre-page-main .price-note p{
  margin-top:18px!important;
  color:var(--muted)!important;
  font-size:.84rem!important;
}

@media(max-width:520px){
  body.mafre-wp-theme .mafre-page-main .e-con.price-tabs,
  body.mafre-wp-theme .mafre-page-main .e-con.price-tabs > .e-con-inner{gap:7px!important;margin-bottom:24px!important}
  body.mafre-wp-theme .mafre-page-main .price-tabs .elementor-widget-button.price-tab .elementor-button{padding:10px 13px!important;font-size:.84rem!important}
  body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container,
  body.mafre-wp-theme .mafre-page-main .e-con.price-row{padding:17px 18px!important;gap:14px!important}
  body.mafre-wp-theme .mafre-page-main .e-con.price-row > .e-con-inner{gap:14px!important}
  body.mafre-wp-theme .mafre-page-main .elementor-widget-text-editor.price-row > .elementor-widget-container > span:last-child,
  body.mafre-wp-theme .mafre-page-main .e-con.price-row .elementor-widget-text-editor:last-child{max-width:46vw!important;white-space:normal!important}
}


/* v20 — voucher brand must stay white despite Elementor global text colours */
body.mafre-wp-theme .voucher-card .vbrand,
body.mafre-wp-theme .voucher-card .vbrand *,
body.mafre-wp-theme .voucher-card .vbrand .elementor-widget-container{
  color:#fff!important;
}
