/*
Theme Name: Liczby Mówią
Theme URI: https://example.com/
Author: Dream Designs
Description: Blokowy motyw WordPress/Gutenberg odwzorowujący projekt „Liczby Mówią”.
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: liczby-mowia
*/

:root {
	--lm-cream: #fbf8f3;
	--lm-paper: #f7f2ec;
	--lm-ink: #231932;
	--lm-purple: #6e3f7d;
	--lm-purple-dark: #21162c;
	--lm-purple-mid: #3f284e;
	--lm-gold: #d6a45e;
	--lm-gold-soft: #ead4ad;
	--lm-blush: #f2e3e8;
	--lm-lavender: #eee3ef;
	--lm-line: rgba(68, 46, 72, .15);
	--lm-shadow: 0 18px 50px rgba(38, 23, 48, .08);
	--lm-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--lm-sans: "Montserrat", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--lm-cream);
	color: var(--lm-ink);
	font-family: var(--lm-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
img { max-width: 100%; height: auto; }

.wp-site-blocks { overflow: hidden; }
.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1180px; }

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	font-family: var(--lm-serif);
	font-weight: 500;
	line-height: .98;
	letter-spacing: -.02em;
	color: var(--lm-ink);
}

h1 { font-size: clamp(4rem, 6.7vw, 6.9rem); }
h2 { font-size: clamp(2.9rem, 4.4vw, 4.5rem); }
h3 { font-size: clamp(2rem, 2.7vw, 3rem); }

.lm-kicker {
	margin: 0 0 14px !important;
	font-size: 12px !important;
	font-weight: 500;
	letter-spacing: .27em;
	text-transform: uppercase;
	color: #a8784e;
}
.lm-kicker--light { color: #e4c797 !important; }
.lm-copy { max-width: 660px; }
.lm-copy--muted { color: #625b68; }
.lm-serif-copy { font-family: var(--lm-serif); font-size: 1.35rem; }

/* Buttons */
.wp-block-button__link,
.lm-form-submit {
	border-radius: 999px !important;
	padding: 14px 28px !important;
	background: linear-gradient(90deg, #6f3e7c, #53325f) !important;
	color: #fff !important;
	font-family: var(--lm-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.wp-block-button__link:hover,
.lm-form-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(80,45,94,.18) !important; }
.lm-button-gold .wp-block-button__link { background: linear-gradient(90deg, #e9c28a, #d8a96b) !important; color: #4b2f4d !important; }
.lm-button-outline .wp-block-button__link { background: transparent !important; border: 1px solid rgba(255,255,255,.72); }

/* Header */
.lm-header {
	position: relative;
	z-index: 20;
	padding: 14px 24px;
}
.lm-header--light { background: rgba(251,248,243,.86); color: var(--lm-ink); backdrop-filter: blur(10px); }
.lm-header--dark { background: #21172b; color: #fff; }
.lm-header .wp-block-group__inner-container { max-width: 1180px; margin: 0 auto; }
.lm-header-row { min-height: 64px; gap: 32px; }
.lm-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; white-space: nowrap; }
.lm-brand__moon { width: 42px; height: 42px; flex: 0 0 42px; }
.lm-brand__name { display:block; font-family:var(--lm-serif); font-size:20px; letter-spacing:.12em; line-height:1; }
.lm-brand__tag { display:block; margin-top:6px; font-size:8px; letter-spacing:.32em; line-height:1; }
.lm-header--dark .lm-brand__name,
.lm-header--dark .lm-brand__tag { color:#fff; }
.lm-header .wp-block-navigation { font-size: 13px; }
.lm-header .wp-block-navigation-item__content { text-decoration: none; padding: 8px 6px; }
.lm-header .wp-block-navigation-item__content:hover { opacity: .72; }
.lm-header--dark .wp-block-navigation-item__content { color: #fff; }
.lm-header-cta .wp-block-button__link { padding: 11px 21px !important; background: transparent !important; color: #9c6e4f !important; border: 1px solid #c79764; font-size: 9px !important; }
.lm-header--dark .lm-header-cta .wp-block-button__link { color:#e8c88d !important; border-color:#b98d54; }

/* Heroes */
.lm-hero { position: relative; min-height: 430px; display:flex; align-items:center; background-size: cover; background-position: center; }
.lm-hero::before { content:""; position:absolute; inset:0; pointer-events:none; }
.lm-hero > .wp-block-group__inner-container { position: relative; z-index: 2; width: 100%; padding: 68px 24px; }
.lm-hero-inner { max-width: 1180px; margin: 0 auto; }
.lm-hero-copy { max-width: 470px; }
.lm-hero-copy h1 { margin:0 0 24px; }
.lm-hero-copy p { margin: 0 0 22px; }
.lm-hero-rule { width: 70px; height:1px; background:#d4b082; margin:22px 0; }
.lm-hero--dark .lm-hero-copy h1,
.lm-hero--dark .lm-hero-copy p { color:#fff; }
.lm-hero--dark::before { background: linear-gradient(90deg, rgba(25,16,35,.95) 0%, rgba(25,16,35,.80) 36%, rgba(25,16,35,.20) 67%, rgba(25,16,35,.06) 100%); }
.lm-home-hero { min-height: 520px; background-image: url('assets/images/home-hero.jpg'); background-position: center right; }
.lm-home-hero::before { background: linear-gradient(90deg, rgba(251,248,243,1) 0%, rgba(251,248,243,.98) 35%, rgba(251,248,243,.74) 52%, rgba(251,248,243,.16) 73%, rgba(251,248,243,0) 100%); }
.lm-home-hero .lm-hero-copy { max-width: 500px; }
.lm-home-hero h1 { font-size: clamp(4.2rem, 7.4vw, 7.2rem); }
.lm-hero-quote { position:absolute; top:46px; right:16px; max-width:230px; font-family:var(--lm-serif); font-size:1.35rem; font-style:italic; line-height:1.1; text-align:center; color:#34233e; }
.lm-hero-quote::after { content:"✧"; display:block; margin-top:18px; color:#c98e4e; font-style:normal; }
.lm-offer-hero { background-image:url('assets/images/offer-hero.jpg'); }
.lm-about-hero { background-image:url('assets/images/about-hero.jpg'); }
.lm-blog-hero { background-image:url('assets/images/blog-hero.jpg'); }
.lm-contact-hero { background-image:url('assets/images/contact-hero.jpg'); min-height: 480px; }

/* Generic sections */
.lm-section { padding: 72px 24px; position:relative; }
.lm-section--tight { padding-top: 48px; padding-bottom: 48px; }
.lm-section--paper { background:#fffdfa; }
.lm-section--cream { background:var(--lm-cream); }
.lm-section-title { margin: 0 0 18px !important; }
.lm-gold-rule { width: 38px; height:1px; background:var(--lm-gold); margin:18px 0; }
.lm-stars { color:var(--lm-gold); letter-spacing:.8em; }

/* Home benefits */
.lm-benefits-intro { padding-right: 34px; }
.lm-benefit-grid { display:grid !important; grid-template-columns: repeat(6, minmax(0,1fr)); gap:0 !important; }
.lm-benefit-item { text-align:center; padding:0 14px; border-left:1px solid rgba(99,73,91,.13); min-height:132px; }
.lm-benefit-item:first-child { border-left:none; }
.lm-icon-circle { width:54px; height:54px; margin:0 auto 13px !important; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#f5edf4,#eadbef); color:#4f2e5b; font-family:var(--lm-serif); font-size:30px !important; line-height:1; }
.lm-benefit-item p:last-child { font-size:12px; line-height:1.35; margin:0; }

/* Dark offer stripe */
.lm-dark-offer { position:relative; overflow:hidden; background: radial-gradient(circle at 84% 18%, rgba(120,80,145,.22), transparent 32%), linear-gradient(115deg,#21162d,#2e1d3c 55%,#1a1426); color:#fff; padding:58px 24px 68px; }
.lm-dark-offer::before { content:""; position:absolute; inset:0; opacity:.36; background-image: radial-gradient(circle at 10% 20%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 35% 78%, #d4ae78 0 1px, transparent 1.5px), radial-gradient(circle at 65% 22%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 90% 60%, #d4ae78 0 1px, transparent 1.5px); background-size:130px 130px,170px 170px,210px 210px,250px 250px; }
.lm-dark-offer::after { content:""; position:absolute; left:-55px; bottom:-74px; width:190px; height:190px; border:1px solid rgba(214,164,94,.35); border-radius:50%; box-shadow: inset 0 0 0 28px rgba(214,164,94,.025); }
.lm-dark-offer > .wp-block-group__inner-container { position:relative; z-index:2; }
.lm-dark-offer h2, .lm-dark-offer h3, .lm-dark-offer p { color:#fff; }
.lm-dark-offer h2 { margin-top:0; }
.lm-dark-feature { text-align:center; padding: 6px 28px; border-left:1px solid rgba(226,190,134,.35); }
.lm-dark-feature .lm-feature-symbol { color:#d6a45e; font-family:var(--lm-serif); font-size:44px; margin:0 0 8px; }
.lm-dark-feature h3 { font-size:1.45rem; margin:0 0 8px; }
.lm-dark-feature p { font-size:12px; opacity:.82; line-height:1.5; }

/* Home about */
.lm-photo-card { min-height: 220px; border-radius:8px; background-size:cover; background-position:center; box-shadow:var(--lm-shadow); }
.lm-photo-about { background-image:url('assets/images/about-passion.jpg'); }
.lm-about-quote { font-family:var(--lm-serif); font-size:1.5rem; font-style:italic; line-height:1.15; text-align:center; position:relative; padding-top:55px; }
.lm-about-quote::before { content:"☾"; position:absolute; top:0; left:50%; transform:translateX(-50%); color:#c99751; font-size:44px; font-style:normal; }

/* CTA mountain */
.lm-mountain-cta { position:relative; padding:52px 24px; background-image:url('assets/images/mountain-cta.jpg'); background-size:cover; background-position:center; }
.lm-mountain-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,244,244,.92),rgba(250,234,241,.72),rgba(236,221,240,.62)); }
.lm-mountain-cta > .wp-block-group__inner-container { position:relative; z-index:2; }
.lm-check-list { list-style:none; margin:0; padding:0; }
.lm-check-list li { margin:12px 0; }
.lm-check-list li::before { content:"✓"; display:inline-grid; place-items:center; width:23px; height:23px; margin-right:10px; border:1px solid #c99a65; border-radius:50%; color:#a16e3f; font-size:12px; }

/* Blog cards on homepage */
.lm-home-posts .wp-block-post-template { gap:26px; }
.lm-home-posts .wp-block-post { margin:0; }
.lm-home-posts .wp-block-post-featured-image img { aspect-ratio: 2.4/1; object-fit:cover; border-radius:7px; }
.lm-home-posts .wp-block-post-date { margin-top:13px; color:#a06e45; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.lm-home-posts .wp-block-post-title { margin:6px 0; font-size:1.45rem; line-height:1.12; }
.lm-home-posts .wp-block-post-excerpt { font-size:12px; line-height:1.55; }

/* Offer page */
.lm-service-grid { align-items:stretch !important; }
.lm-service-card { height:100%; border:1px solid rgba(70,48,74,.17); border-radius:7px; padding:26px 20px 16px; background:rgba(255,255,255,.18); display:flex; flex-direction:column; }
.lm-service-symbol { color:#ca944a; font-family:var(--lm-serif); font-size:48px; text-align:center; margin:0 0 10px !important; }
.lm-service-card h3 { text-align:center; margin:0 0 7px; font-size:2rem; }
.lm-service-subtitle { text-align:center; color:#6b6570; line-height:1.35; margin-bottom:14px !important; }
.lm-service-card .lm-gold-rule { margin-left:auto; margin-right:auto; }
.lm-service-card .lm-service-copy { flex:1; font-size:13px; line-height:1.5; }
.lm-service-image { min-height:142px; border-radius:6px; background-size:cover; background-position:center; margin:18px 0 12px; }
.lm-service-image--map { background-image:url('assets/images/offer-map.jpg'); }
.lm-service-image--relations { background-image:url('assets/images/offer-relations.jpg'); }
.lm-service-image--consultation { background-image:url('assets/images/offer-consultation.jpg'); }
.lm-wide-choice-cta { border-radius:8px; padding:30px 42px; overflow:hidden; }
.lm-wide-choice-cta h2 { font-size:3rem; margin:0 0 8px; }

/* About */
.lm-about-intro-quote { font-family:var(--lm-serif); font-style:italic; font-size:1.45rem; text-align:center; line-height:1.2; }
.lm-about-benefits { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0 !important; }
.lm-about-benefit { text-align:center; padding:0 24px; border-left:1px solid rgba(94,68,91,.14); }
.lm-about-benefit:nth-child(3n+1) { border-left:none; }
.lm-about-benefit .lm-icon-circle { width:56px; height:56px; }
.lm-about-benefit p:last-child { font-family:var(--lm-serif); font-size:1.23rem; line-height:1.12; margin-top:7px; }
.lm-about-numbers { min-height:260px; background-image:url('assets/images/about-numbers.jpg'); background-size:cover; background-position:center; border-radius:8px 0 0 8px; }
.lm-about-callout { background:linear-gradient(90deg,#f1dfdf,#f6e9e7); border-radius:8px; overflow:hidden; }
.lm-about-callout-text { padding:28px 30px; }

/* Blog */
.lm-blog-layout { gap:46px; }
.lm-blog-list .wp-block-post { margin-bottom:26px; }
.lm-blog-list .wp-block-columns { gap:18px; align-items:center; }
.lm-blog-list .wp-block-post-featured-image img { width:100%; aspect-ratio:1.1/1; object-fit:cover; border-radius:6px; }
.lm-blog-list .wp-block-post-date { color:#9a6843; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.lm-blog-list .wp-block-post-title { font-size:1.7rem; line-height:1.05; margin:4px 0 6px; }
.lm-blog-list .wp-block-post-excerpt { font-size:12px; }
.lm-blog-sidebar { padding-left:28px; border-left:1px solid rgba(70,48,74,.14); }
.lm-blog-sidebar .wp-block-search__inside-wrapper { border:1px solid rgba(70,48,74,.18); border-radius:4px; padding:0; overflow:hidden; }
.lm-blog-sidebar .wp-block-search__input { border:0; background:transparent; font-size:11px; padding:10px 12px; }
.lm-blog-sidebar .wp-block-search__button { border:0; background:transparent; color:#4b2b57; padding:8px 11px; }
.lm-blog-sidebar h3 { font-size:1.7rem; margin-top:30px; }
.lm-blog-sidebar .wp-block-categories-list { list-style:none; padding:0; margin:0; font-size:12px; }
.lm-blog-sidebar .wp-block-categories-list li { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(70,48,74,.10); }
.lm-blog-sidebar-quote { margin-top:46px; padding:28px 12px; text-align:center; font-family:var(--lm-serif); font-size:1.45rem; font-style:italic; line-height:1.25; position:relative; }
.lm-blog-sidebar-quote::before, .lm-blog-sidebar-quote::after { content:"✧"; display:block; color:#c99751; font-style:normal; margin:12px 0; }

/* Contact */
.lm-contact-layout { gap:58px; align-items:flex-start !important; }
.lm-contact-layout > .wp-block-column:first-child { padding-right:40px; border-right:1px solid rgba(70,48,74,.13); }
.lm-contact-title { font-size:3.5rem; margin-top:0; }
.lm-contact-form .lm-field { margin-bottom:14px; }
.lm-contact-form input[type="text"],
.lm-contact-form input[type="email"],
.lm-contact-form select,
.lm-contact-form textarea { width:100%; border:1px solid rgba(70,48,74,.18); border-radius:5px; background:rgba(255,255,255,.34); color:var(--lm-ink); padding:14px 15px; font:inherit; font-size:13px; outline:none; }
.lm-contact-form textarea { min-height:178px; resize:vertical; }
.lm-contact-form input:focus,
.lm-contact-form select:focus,
.lm-contact-form textarea:focus { border-color:#9c6c99; box-shadow:0 0 0 3px rgba(112,62,126,.07); }
.lm-contact-consent { display:flex; gap:10px; align-items:flex-start; margin:14px 0 24px; font-size:11px; line-height:1.45; }
.lm-contact-consent input { margin-top:3px; }
.lm-form-submit { width:100%; border:0; cursor:pointer; }
.lm-form-message { border-radius:5px; padding:12px 14px; margin:0 0 18px; font-size:12px; }
.lm-form-message--success { background:#edf5eb; color:#365c32; }
.lm-form-message--error { background:#f8eaea; color:#7b3939; }
.lm-contact-details h2 { font-size:3.1rem; margin-top:0; }
.lm-contact-row { display:flex; gap:14px; align-items:center; margin:14px 0; }
.lm-contact-badge { width:44px; height:44px; flex:0 0 44px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#f1e7f0,#e8d9eb); color:#472755; font-size:20px; }
.lm-contact-row p { margin:0; line-height:1.35; }
.lm-contact-social { display:flex; gap:12px; margin:18px 0 28px; }
.lm-contact-social a { width:38px; height:38px; border:1px solid #372743; border-radius:50%; display:grid; place-items:center; text-decoration:none; font-weight:600; }
.lm-contact-map { min-height:250px; background-image:url('assets/images/contact-map.jpg'); background-size:cover; background-position:center; border-radius:7px; box-shadow: inset 0 0 0 1px rgba(70,48,74,.08); position:relative; }
.lm-contact-map::after { content:"●"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#75427e; font-size:34px; text-shadow:0 4px 10px rgba(30,20,40,.25); }

/* Footer */
.lm-footer { position:relative; overflow:hidden; padding:64px 24px 34px; background:linear-gradient(#f7f3ee,#f6f1eb); text-align:center; }
.lm-footer::before { content:""; position:absolute; left:-18px; bottom:-25px; width:190px; height:180px; background:url('assets/images/footer-crystal.jpg') left bottom/contain no-repeat; opacity:.95; }
.lm-footer::after { content:"✦"; position:absolute; right:70px; top:70px; color:#d09d52; font-size:24px; }
.lm-footer-inner { position:relative; z-index:2; max-width:1180px; margin:0 auto; }
.lm-footer-brand { display:inline-flex; flex-direction:column; align-items:center; margin-bottom:20px; }
.lm-footer-brand .lm-brand__moon { width:48px; height:48px; margin-bottom:8px; }
.lm-footer-line { max-width:550px; margin:18px auto 24px; height:1px; background:linear-gradient(90deg,transparent,#d8ae6f 20%,#d8ae6f 80%,transparent); position:relative; }
.lm-footer-line::after { content:"✧"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#f6f1eb; padding:0 10px; color:#c79048; }
.lm-footer-menu { justify-content:center; gap:24px !important; font-size:11px !important; }
.lm-footer-meta { display:flex; justify-content:flex-end; gap:22px; align-items:center; font-size:9px; margin-top:24px; color:#6e6770; }
.lm-footer-social { display:flex; gap:9px; }
.lm-footer-social a { width:29px; height:29px; display:grid; place-items:center; border:1px solid rgba(35,25,50,.6); border-radius:50%; text-decoration:none; font-size:11px; }

/* Responsive */
@media (max-width: 1050px) {
	.lm-header-row { flex-wrap:wrap; justify-content:center !important; }
	.lm-header .wp-block-navigation { order:3; width:100%; justify-content:center; }
	.lm-benefit-grid { grid-template-columns:repeat(3,1fr); row-gap:24px !important; }
	.lm-benefit-item:nth-child(4) { border-left:none; }
	.lm-hero-quote { display:none; }
}

@media (max-width: 782px) {
	body { font-size:15px; }
	.lm-header { padding:10px 16px; }
	.lm-header-row { justify-content:space-between !important; }
	.lm-header .wp-block-navigation { width:auto; order:initial; }
	.lm-header .wp-block-navigation__responsive-container-open { display:flex !important; }
	.lm-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none !important; }
	.lm-header-cta { display:none; }
	.lm-brand__name { font-size:17px; }
	.lm-brand__tag { font-size:7px; }
	.lm-hero { min-height:440px; }
	.lm-home-hero { min-height:520px; background-position:68% center; }
	.lm-home-hero::before { background:linear-gradient(90deg,rgba(251,248,243,.98) 0%,rgba(251,248,243,.91) 56%,rgba(251,248,243,.54) 100%); }
	.lm-hero--dark::before { background:rgba(28,18,38,.68); }
	.lm-hero > .wp-block-group__inner-container { padding:54px 18px; }
	.lm-hero-copy { max-width:100%; }
	.lm-hero-copy h1 { font-size:4rem; }
	.lm-section { padding:54px 18px; }
	.lm-benefits-intro { padding-right:0; }
	.lm-benefit-grid { grid-template-columns:repeat(2,1fr); }
	.lm-benefit-item:nth-child(odd) { border-left:none; }
	.lm-benefit-item:nth-child(even) { border-left:1px solid rgba(99,73,91,.13); }
	.lm-dark-feature { border-left:0; border-top:1px solid rgba(226,190,134,.25); padding-top:24px; }
	.lm-dark-feature:first-child { border-top:0; }
	.lm-about-benefits { grid-template-columns:repeat(2,1fr); }
	.lm-about-benefit { border-left:0; border-top:1px solid rgba(94,68,91,.14); padding-top:18px; }
	.lm-about-benefit:nth-child(-n+2) { border-top:0; }
	.lm-service-grid { gap:20px !important; }
	.lm-wide-choice-cta { padding:26px 22px; }
	.lm-blog-sidebar { padding-left:0; border-left:0; border-top:1px solid rgba(70,48,74,.14); padding-top:30px; }
	.lm-contact-layout > .wp-block-column:first-child { padding-right:0; border-right:0; border-bottom:1px solid rgba(70,48,74,.13); padding-bottom:38px; }
	.lm-footer-meta { justify-content:center; flex-direction:column; }
	.lm-footer::before { opacity:.45; }
}

@media (max-width: 520px) {
	.lm-benefit-grid, .lm-about-benefits { grid-template-columns:1fr; }
	.lm-benefit-item, .lm-benefit-item:nth-child(even), .lm-about-benefit { border-left:0; border-top:1px solid rgba(99,73,91,.13); padding:20px 0; }
	.lm-benefit-item:first-child, .lm-about-benefit:first-child { border-top:0; }
	.lm-home-hero h1 { font-size:3.75rem; }
	.lm-contact-title, .lm-contact-details h2 { font-size:2.8rem; }
}


/* ==========================================================
   1.1.0 — visual fidelity pass for the supplied mockups
   Gutenberg 6.6+/WP 7.x no longer emits .wp-block-group__inner-container,
   therefore the important layering/width rules below target direct blocks.
   ========================================================== */

:root {
	--lm-content: 916px;
	--lm-content-home: 820px;
}

body {
	font-size: 13px;
	line-height: 1.48;
}

.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-columns { margin-bottom: 0; }
.wp-block-group { margin-top: 0; }

/* Keep the desktop composition from the design at 1024 px wide. */
.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--lm-content);
}

h1 { font-size: clamp(3.6rem, 6vw, 4.35rem); }
h2 { font-size: clamp(2.45rem, 4vw, 3.1rem); }
h3 { font-size: clamp(1.65rem, 2.25vw, 2.05rem); }

.lm-kicker {
	margin-bottom: 9px !important;
	font-size: 9px !important;
	letter-spacing: .30em;
}

.wp-block-button__link,
.lm-form-submit {
	padding: 11px 24px !important;
	font-size: 9px !important;
	letter-spacing: .17em !important;
}

/* Header */
.lm-header {
	padding: 8px 24px;
}
.lm-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, var(--lm-content));
	max-width: var(--lm-content);
	margin-inline: auto;
	min-height: 52px;
	gap: 20px;
	flex-wrap: nowrap !important;
}
.lm-header .wp-block-group__inner-container { max-width: none; }
.lm-brand { gap: 10px; }
.lm-brand__moon { width: 36px; height: 36px; flex-basis: 36px; }
.lm-brand__name { font-size: 16px; letter-spacing: .15em; }
.lm-brand__tag { margin-top: 4px; font-size: 6px; letter-spacing: .34em; }
.lm-header .wp-block-navigation { font-size: 10px; }
.lm-header .wp-block-navigation__container { gap: 17px; }
.lm-header .wp-block-navigation-item__content { padding: 6px 2px; }
.lm-header .current-menu-item > .wp-block-navigation-item__content,
.lm-header .current-menu-ancestor > .wp-block-navigation-item__content {
	border-bottom: 1px solid currentColor;
}
.lm-header-cta .wp-block-button__link {
	padding: 8px 16px !important;
	font-size: 7px !important;
	letter-spacing: .17em !important;
}

/* Hero: fix Gutenberg layering and match the much shorter mockup heroes. */
.lm-hero {
	min-height: 300px;
	isolation: isolate;
}
.lm-hero::before { z-index: 0; }
.lm-hero > .lm-hero-inner {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 48px), var(--lm-content));
	max-width: var(--lm-content);
	margin-inline: auto;
	padding: 36px 0;
}
.lm-hero-inner > .lm-hero-copy {
	max-width: 390px;
	margin: 0;
}
.lm-hero-copy h1 { margin: 0 0 14px; }
.lm-hero-copy p { margin: 0 0 15px; font-size: 12px; }
.lm-hero-rule { width: 32px; margin: 13px 0 18px; }

.lm-home-hero {
	min-height: 292px;
	background-image: url('assets/images/home-hero-clean.jpg');
	background-position: center right;
}
.lm-home-hero::before {
	background: linear-gradient(90deg,
		rgba(251,248,243,1) 0%,
		rgba(251,248,243,.99) 33%,
		rgba(251,248,243,.94) 42%,
		rgba(251,248,243,.58) 55%,
		rgba(251,248,243,.08) 74%,
		rgba(251,248,243,0) 100%);
}
.lm-home-hero > .lm-hero-inner {
	width: min(calc(100% - 48px), var(--lm-content-home));
	max-width: var(--lm-content-home);
	padding: 27px 0 34px;
}
.lm-home-hero .lm-hero-copy { max-width: 335px; }
.lm-home-hero h1 {
	font-size: clamp(3.25rem, 5.4vw, 4.05rem);
	line-height: .92;
	margin-bottom: 18px;
}
.lm-home-hero .lm-hero-copy > p:not(.lm-kicker) { font-size: 11px; line-height: 1.48; }
.lm-hero-quote {
	top: 26px;
	right: 0;
	max-width: 155px;
	font-size: 1.02rem;
	line-height: 1.08;
}
.lm-hero-quote::after { margin-top: 10px; }

.lm-hero--dark::before {
	background: linear-gradient(90deg,
		rgba(25,16,35,.985) 0%,
		rgba(25,16,35,.95) 27%,
		rgba(25,16,35,.78) 42%,
		rgba(25,16,35,.28) 68%,
		rgba(25,16,35,.08) 100%);
}
.lm-offer-hero { min-height: 320px; background-position:center 48%; }
.lm-about-hero,
.lm-blog-hero { min-height: 280px; }
.lm-contact-hero { min-height: 425px; }
.lm-offer-hero > .lm-hero-inner,
.lm-about-hero > .lm-hero-inner,
.lm-blog-hero > .lm-hero-inner,
.lm-contact-hero > .lm-hero-inner { padding-block: 38px; }
.lm-hero--dark h1 { font-size: clamp(3.7rem, 6vw, 4.4rem); }
.lm-contact-hero h1 { font-size: clamp(4rem, 6.2vw, 4.8rem); }

/* General section rhythm */
.lm-section {
	padding: 36px 24px;
}
.lm-section > .wp-block-columns,
.lm-section > .wp-block-group,
.lm-section > .wp-block-heading,
.lm-section > .lm-gold-rule,
.lm-section > .lm-copy,
.lm-section > .wp-block-query {
	max-width: var(--lm-content);
	margin-left: auto;
	margin-right: auto;
}
.lm-section-title { margin-bottom: 10px !important; }
.lm-gold-rule { margin: 12px 0 15px; }

/* Home: intro benefits */
.lm-section:has(.lm-benefit-grid) { padding-top: 31px; padding-bottom: 30px; }
.lm-section:has(.lm-benefit-grid) > .wp-block-columns { gap: 26px; }
.lm-benefits-intro { padding-right: 14px; }
.lm-benefits-intro p { font-size: 10px; line-height: 1.55; }
.lm-benefits-intro .lm-section-title { font-size: 2.85rem; }
.lm-benefit-grid { grid-template-columns: repeat(6, minmax(0,1fr)) !important; }
.lm-benefit-item { min-height: 102px; padding: 0 9px; }
.lm-icon-circle {
	width: 41px;
	height: 41px;
	margin-bottom: 9px !important;
	font-size: 23px !important;
}
.lm-benefit-item p:last-child { font-size: 9px; line-height: 1.35; }

/* Home dark offer band */
.lm-dark-offer {
	isolation: isolate;
	padding: 39px 24px 47px;
	min-height: 242px;
}
.lm-dark-offer::before {
	z-index: 0;
	background:
		linear-gradient(90deg,rgba(25,16,35,.02),rgba(25,16,35,.08)),
		radial-gradient(circle at 84% 18%, rgba(120,80,145,.24), transparent 32%),
		radial-gradient(circle at 10% 20%, #fff 0 1px, transparent 1.5px),
		radial-gradient(circle at 35% 78%, #d4ae78 0 1px, transparent 1.5px),
		radial-gradient(circle at 65% 22%, #fff 0 1px, transparent 1.5px),
		radial-gradient(circle at 90% 60%, #d4ae78 0 1px, transparent 1.5px);
	background-size:auto,auto,130px 130px,170px 170px,210px 210px,250px 250px;
}
.lm-dark-offer::after {
	z-index: 0;
	left: 0;
	bottom: 0;
	width: 92px;
	height: 100%;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: url('assets/images/dark-decor-left.jpg') left center/cover no-repeat;
	opacity: .72;
}
.lm-dark-offer > .wp-block-columns {
	position: relative;
	z-index: 2;
	max-width: var(--lm-content);
	margin: 0 auto;
	gap: 0;
}
.lm-dark-offer > .wp-block-columns::after {
	content: "";
	position: absolute;
	right: -56px;
	bottom: -47px;
	width: 78px;
	height: 190px;
	background: url('assets/images/dark-decor-right.jpg') center bottom/cover no-repeat;
	pointer-events:none;
	z-index:-1;
}
.lm-dark-offer h2 { font-size: 2.85rem; margin-bottom: 9px; }
.lm-dark-offer .wp-block-column:first-child > p:not(.lm-kicker) { font-size: 9px; line-height: 1.55; max-width: 290px; }
.lm-dark-feature { padding: 4px 18px; }
.lm-dark-feature .lm-feature-symbol { font-size: 35px; margin-bottom: 4px; }
.lm-dark-feature h3 { font-size: 1.32rem; margin-bottom: 5px; }
.lm-dark-feature p { font-size: 9px; line-height: 1.45; }
.lm-dark-quote {
	position:absolute;
	right: 91px;
	bottom: 13px;
	z-index: 3;
	font-family:var(--lm-serif);
	font-size: 1.05rem;
	font-style:italic;
	line-height:1.08;
	text-align:center;
	color:#d8b47e !important;
}

/* Home about */
.lm-section:has(.lm-photo-about) { padding-top: 28px; padding-bottom: 28px; }
.lm-section:has(.lm-photo-about) > .wp-block-columns { gap: 30px; }
.lm-photo-card { min-height: 151px; border-radius: 5px; }
.lm-section:has(.lm-photo-about) h2 { font-size: 2.55rem; margin: 0 0 8px; }
.lm-section:has(.lm-photo-about) .wp-block-column:nth-child(2) > p:not(.lm-kicker) { font-size: 9px; line-height: 1.5; }
.lm-about-quote { font-size: 1.08rem; padding-top: 42px; }
.lm-about-quote::before { font-size: 34px; }

/* Mountain CTA: use a clean, text-free background. */
.lm-mountain-cta {
	isolation: isolate;
	padding: 31px 24px;
	background-image: url('assets/images/mountain-cta-clean.jpg');
}
.lm-mountain-cta::before { z-index:0; }
.lm-mountain-cta > .wp-block-columns {
	position:relative;
	z-index:2;
	max-width: var(--lm-content-home);
	margin-inline:auto;
	gap: 40px;
}
.lm-mountain-cta h2 { font-size: 2.75rem; margin: 0 0 8px; }
.lm-mountain-cta p { font-size: 9px; line-height:1.5; }
.lm-check-list { font-size: 10px; }
.lm-check-list li { margin: 8px 0; }
.lm-check-list li::before { width: 18px; height: 18px; font-size: 9px; }

/* Homepage posts */
.lm-section:has(.lm-home-posts) { padding-top: 27px; padding-bottom: 30px; }
.lm-section:has(.lm-home-posts) > .wp-block-group { margin-bottom: 14px; }
.lm-home-posts .wp-block-post-template { gap: 25px; }
.lm-home-posts .wp-block-post-featured-image img { aspect-ratio: 2.65/1; border-radius:4px; }
.lm-home-posts .wp-block-post-date { margin-top: 8px; font-size: 7px; }
.lm-home-posts .wp-block-post-title { font-size: 1.2rem; margin:4px 0; }
.lm-home-posts .wp-block-post-excerpt { font-size: 9px; line-height:1.45; }

/* Offer */
#moja-oferta { padding-top: 37px; padding-bottom: 31px; }
#moja-oferta > h2 { font-size: 3.25rem; margin-bottom: 0; }
#moja-oferta > .lm-copy { max-width: 600px; font-size: 11px; line-height:1.45; margin-bottom: 17px; }
.lm-service-grid { gap: 12px !important; }
.lm-service-card {
	padding: 18px 14px 12px;
	border-radius:5px;
}
.lm-service-symbol { font-size: 39px; margin-bottom: 6px !important; }
.lm-service-card h3 { font-size: 1.7rem; margin-bottom: 4px; }
.lm-service-subtitle { font-size: 10px; margin-bottom: 9px !important; }
.lm-service-card .lm-service-copy { font-size: 10px; line-height:1.45; }
.lm-service-image { min-height: 135px; margin: 13px 0 9px; border-radius:4px; }
.lm-wide-choice-cta { margin-top: 20px !important; padding: 21px 28px; }
.lm-wide-choice-cta > .wp-block-columns { max-width: 100%; }
.lm-wide-choice-cta h2 { font-size: 2.5rem; }
.lm-wide-choice-cta p { font-size: 10px; }

/* About */
.lm-about-hero + .lm-section { padding-top: 37px; padding-bottom: 32px; }
.lm-about-hero + .lm-section > .wp-block-columns { gap: 42px; }
.lm-about-hero + .lm-section h2 { font-size: 2.75rem; }
.lm-about-hero + .lm-section p { font-size: 10px; }
.lm-about-intro-quote { font-size: 1.12rem !important; }
.lm-about-benefits { gap: 17px 0 !important; }
.lm-about-benefit { padding: 0 18px; }
.lm-about-benefit .lm-icon-circle { width: 44px; height:44px; }
.lm-about-benefit p:last-child { font-size: 1.04rem !important; }
.lm-about-callout { margin-top: 28px !important; }
.lm-about-numbers { min-height: 185px; }
.lm-about-callout-text { padding: 20px 22px; }
.lm-about-callout-text h3 { font-size:1.7rem; margin:0 0 7px; }

/* Blog */
.lm-blog-hero + .lm-section { padding-top: 36px; padding-bottom: 34px; }
.lm-blog-layout { gap: 28px; }
.lm-blog-layout > .wp-block-column:first-child > h2 { font-size: 2.85rem !important; margin-top:0; }
.lm-blog-list .wp-block-post { margin-bottom: 17px; }
.lm-blog-list .wp-block-columns { gap: 14px; }
.lm-blog-list .wp-block-post-title { font-size: 1.4rem; }
.lm-blog-list .wp-block-post-excerpt { font-size: 9px; line-height:1.45; }
.lm-blog-list .wp-block-read-more { font-size: 8px !important; }
.lm-blog-sidebar { padding-left: 20px; }
.lm-blog-sidebar h3 { font-size:1.45rem; margin-top:22px; }
.lm-blog-sidebar .wp-block-categories-list { font-size: 10px; }
.lm-blog-sidebar .wp-block-categories-list li { padding:8px 0; }
.lm-blog-sidebar-quote { margin-top: 28px; padding: 18px 8px; font-size:1.12rem; }

/* Contact */
.lm-contact-hero + .lm-section { padding: 49px 54px 52px; }
.lm-contact-hero + .lm-section > .lm-contact-layout { max-width: var(--lm-content); }
.lm-contact-layout { gap: 48px; }
.lm-contact-layout > .wp-block-column:first-child { padding-right: 38px; }
.lm-contact-title,
.lm-contact-details h2 { font-size: 3rem; }
.lm-contact-form .lm-field { margin-bottom: 11px; }
.lm-contact-form input[type="text"],
.lm-contact-form input[type="email"],
.lm-contact-form select,
.lm-contact-form textarea { padding: 12px 13px; font-size:11px; }
.lm-contact-form textarea { min-height: 176px; }
.lm-contact-consent { margin: 12px 0 20px; font-size: 9px; }
.lm-contact-row { margin: 11px 0; }
.lm-contact-badge { width: 38px; height:38px; flex-basis:38px; font-size:17px; }
.lm-contact-row p { font-size: 11px; }
.lm-contact-details h3 { font-size:1.7rem; margin: 18px 0 10px; }
.lm-contact-social { margin: 12px 0 20px; }
.lm-contact-map { min-height: 205px; }

/* Footer */
.lm-footer {
	padding: 38px 24px 24px;
	min-height: 172px;
}
.lm-footer::before {
	left: 0;
	bottom: 0;
	width: 145px;
	height: 128px;
	background-image:url('assets/images/footer-decor-left.jpg');
	background-size:cover;
	opacity:1;
}
.lm-footer::after { right: 68px; top: 44px; font-size: 17px; }
.lm-footer-inner { max-width: var(--lm-content); }
.lm-footer-brand { margin-bottom: 8px; }
.lm-footer-brand .lm-brand__moon { width: 34px; height:34px; margin-bottom:4px; }
.lm-footer-brand .lm-brand__name { font-size:14px; }
.lm-footer-line { max-width: 420px; margin: 9px auto 14px; }
.lm-footer-menu { gap: 20px !important; font-size: 9px !important; }
.lm-footer-meta { gap: 16px; font-size: 7px; margin-top: 12px; }
.lm-footer-social a { width:24px; height:24px; font-size:9px; }

/* Desktop/tablet: the mockup still uses the full six-item row and one-line header at 1024. */
@media (max-width: 1050px) and (min-width: 821px) {
	.lm-header-row { flex-wrap: nowrap !important; justify-content: space-between !important; }
	.lm-header .wp-block-navigation { order: initial; width: auto; justify-content:center; }
	.lm-benefit-grid { grid-template-columns: repeat(6,minmax(0,1fr)) !important; row-gap:0 !important; }
	.lm-benefit-item:nth-child(4) { border-left:1px solid rgba(99,73,91,.13); }
	.lm-hero-quote { display:block; }
}

@media (max-width: 900px) {
	.lm-header-row { gap: 13px; }
	.lm-header .wp-block-navigation__container { gap: 10px; }
	.lm-header .wp-block-navigation { font-size: 9px; }
	.lm-header-cta .wp-block-button__link { padding:7px 10px !important; font-size:6px !important; }
}

@media (max-width: 820px) {
	body { font-size:14px; }
	.lm-header { padding: 9px 16px; }
	.lm-header-row { flex-wrap: nowrap !important; }
	.lm-header .wp-block-navigation { width:auto; order:initial; }
	.lm-header-cta { display:none; }
	.lm-hero { min-height: 350px; }
	.lm-home-hero { min-height: 440px; background-position: 68% center; }
	.lm-home-hero > .lm-hero-inner,
	.lm-hero > .lm-hero-inner { width: calc(100% - 36px); padding:44px 0; }
	.lm-home-hero::before { background:linear-gradient(90deg,rgba(251,248,243,.98) 0%,rgba(251,248,243,.93) 55%,rgba(251,248,243,.50) 100%); }
	.lm-hero--dark::before { background:rgba(28,18,38,.69); }
	.lm-hero-quote { display:none; }
	.lm-section { padding:48px 18px; }
	.lm-benefit-grid { grid-template-columns: repeat(2,1fr) !important; row-gap:22px !important; }
	.lm-benefit-item { min-height:110px; }
	.lm-dark-offer { padding:48px 18px; }
	.lm-dark-offer > .wp-block-columns::after,
	.lm-dark-quote { display:none; }
	.lm-mountain-cta { padding:42px 18px; }
	.lm-contact-hero + .lm-section { padding:44px 18px; }
	.lm-footer { padding-top:46px; }
}

/* ==========================================================
   1.2.0 — desktop scale + one-to-one composition pass
   Based on direct comparison with the supplied 1024px mockups
   and the 1920px screenshots from the live aaPanel restore.
   ========================================================== */

:root {
	--lm-content: min(82vw, 1380px);
	--lm-content-home: min(82vw, 1400px);
	--lm-display-scale: clamp(1, calc(100vw / 1280), 1.35);
}

/* The 1.1 build was locked to ~916px. At a 1920px viewport this made
   the whole design render at roughly half the relative scale of the mockup. */
@media (min-width: 821px) {
	body {
		font-size: clamp(13px, .82vw, 16px);
		line-height: 1.55;
	}

	.wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: var(--lm-content);
	}

	h1 { font-size: clamp(60px, 5.2vw, 100px); }
	h2 { font-size: clamp(42px, 3.6vw, 72px); }
	h3 { font-size: clamp(25px, 2vw, 40px); }

	.lm-kicker {
		font-size: clamp(9px, .62vw, 12px) !important;
		letter-spacing: .29em;
		margin-bottom: clamp(9px, .7vw, 14px) !important;
	}

	.wp-block-button__link,
	.lm-form-submit {
		padding: clamp(11px, .78vw, 15px) clamp(23px, 1.7vw, 34px) !important;
		font-size: clamp(9px, .58vw, 11px) !important;
	}

	/* Header — mockup occupies ~82% of the viewport, not a fixed 916px. */
	.lm-header { padding: clamp(9px, .6vw, 13px) 24px; }
	.lm-header-row {
		width: var(--lm-content);
		max-width: var(--lm-content);
		min-height: clamp(62px, 4.4vw, 86px);
		gap: clamp(20px, 2vw, 38px);
	}
	.lm-brand { gap: clamp(10px, .8vw, 16px); }
	.lm-brand__moon {
		width: clamp(40px, 2.55vw, 52px);
		height: clamp(40px, 2.55vw, 52px);
		flex-basis: clamp(40px, 2.55vw, 52px);
	}
	.lm-brand__name { font-size: clamp(17px, 1.05vw, 21px); }
	.lm-brand__tag { font-size: clamp(6px, .43vw, 8px); margin-top: 6px; }
	.lm-header .wp-block-navigation { font-size: clamp(10px, .7vw, 13px); }
	.lm-header .wp-block-navigation__container { gap: clamp(14px, 1.35vw, 27px); }
	.lm-header-cta .wp-block-button__link {
		padding: clamp(8px, .6vw, 12px) clamp(15px, 1.25vw, 24px) !important;
		font-size: clamp(7px, .48vw, 9px) !important;
	}

	/* Heroes */
	.lm-hero > .lm-hero-inner {
		width: var(--lm-content);
		max-width: var(--lm-content);
		padding: clamp(42px, 3.4vw, 68px) 0;
	}
	.lm-hero-inner > .lm-hero-copy {
		max-width: clamp(390px, 30vw, 560px);
	}
	.lm-hero-copy p { font-size: clamp(12px, .87vw, 17px); line-height: 1.55; }
	.lm-hero-rule { width: clamp(34px, 2.5vw, 50px); margin: 16px 0 22px; }

	.lm-home-hero {
		min-height: clamp(350px, 27vw, 520px);
		background-position: center right;
	}
	.lm-home-hero > .lm-hero-inner {
		width: var(--lm-content-home);
		max-width: var(--lm-content-home);
		padding: clamp(32px, 3vw, 58px) 0;
	}
	.lm-home-hero .lm-hero-copy { max-width: clamp(350px, 31vw, 585px); }
	.lm-home-hero h1 {
		font-size: clamp(64px, 5.35vw, 102px);
		line-height: .92;
		margin-bottom: clamp(18px, 1.3vw, 26px);
	}
	.lm-home-hero .lm-hero-copy > p:not(.lm-kicker) {
		font-size: clamp(12px, .82vw, 16px);
		max-width: 520px;
	}
	.lm-hero-quote {
		top: clamp(34px, 3vw, 58px);
		right: clamp(6px, 1.5vw, 28px);
		max-width: clamp(175px, 14vw, 260px);
		font-size: clamp(17px, 1.18vw, 23px);
	}

	/* The dark mockups keep the image visible while the left third is nearly solid. */
	.lm-hero--dark::before {
		background: linear-gradient(90deg,
			rgba(25,16,35,1) 0%,
			rgba(25,16,35,.995) 22%,
			rgba(25,16,35,.94) 35%,
			rgba(25,16,35,.60) 49%,
			rgba(25,16,35,.18) 72%,
			rgba(25,16,35,.05) 100%);
	}
	.lm-offer-hero,
	.lm-about-hero,
	.lm-blog-hero { min-height: clamp(320px, 24vw, 470px); }
	.lm-contact-hero { min-height: clamp(390px, 29vw, 565px); }
	.lm-offer-hero > .lm-hero-inner,
	.lm-about-hero > .lm-hero-inner,
	.lm-blog-hero > .lm-hero-inner,
	.lm-contact-hero > .lm-hero-inner { padding-block: clamp(44px, 3.5vw, 70px); }
	.lm-hero--dark h1 { font-size: clamp(62px, 5.1vw, 98px); }
	.lm-contact-hero h1 { font-size: clamp(66px, 5.4vw, 104px); }

	/* Keep the photographic subjects framed similarly to the supplied pages. */
	.lm-offer-hero { background-position: center 52%; }
	.lm-about-hero { background-position: center 51%; }
	.lm-blog-hero { background-position: center 52%; }
	.lm-contact-hero { background-position: center 52%; }

	/* Section rhythm */
	.lm-section {
		padding: clamp(46px, 4.1vw, 78px) 24px;
	}
	.lm-section > .wp-block-columns,
	.lm-section > .wp-block-group,
	.lm-section > .wp-block-heading,
	.lm-section > .lm-gold-rule,
	.lm-section > .lm-copy,
	.lm-section > .wp-block-query {
		max-width: var(--lm-content);
	}
	.lm-section-title { margin-bottom: 16px !important; }

	/* Home — "Więcej niż liczby" */
	.lm-section:has(.lm-benefit-grid) { padding-top: clamp(40px, 3.7vw, 70px); padding-bottom: clamp(38px, 3.5vw, 66px); }
	.lm-section:has(.lm-benefit-grid) > .wp-block-columns { gap: clamp(34px, 3vw, 58px); }
	.lm-benefits-intro { padding-right: clamp(18px, 2vw, 38px); }
	.lm-benefits-intro .lm-section-title { font-size: clamp(42px, 3.6vw, 69px); }
	.lm-benefits-intro p { font-size: clamp(11px, .78vw, 15px); line-height: 1.55; }
	.lm-benefit-item { min-height: clamp(112px, 8.5vw, 162px); padding: 0 clamp(10px, .8vw, 16px); }
	.lm-icon-circle {
		width: clamp(46px, 3.25vw, 62px);
		height: clamp(46px, 3.25vw, 62px);
		font-size: clamp(25px, 1.75vw, 34px) !important;
		margin-bottom: 12px !important;
	}
	.lm-benefit-item p:last-child { font-size: clamp(10px, .68vw, 13px); }

	/* More faithful line icons without external icon libraries. */
	.lm-benefit-item:nth-child(1) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(1) .lm-icon-circle::before { content:"♡"; font-size: clamp(25px,1.75vw,34px); }
	.lm-benefit-item:nth-child(2) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(2) .lm-icon-circle::before { content:"◒"; transform: rotate(-38deg); font-size: clamp(25px,1.75vw,34px); }
	.lm-benefit-item:nth-child(3) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(3) .lm-icon-circle::before { content:"♨"; font-size: clamp(22px,1.5vw,30px); }
	.lm-benefit-item:nth-child(4) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(4) .lm-icon-circle::before { content:"☼"; font-size: clamp(25px,1.75vw,34px); }
	.lm-benefit-item:nth-child(5) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(5) .lm-icon-circle::before { content:"◇"; font-size: clamp(25px,1.75vw,34px); }
	.lm-benefit-item:nth-child(6) .lm-icon-circle { font-size: 0 !important; }
	.lm-benefit-item:nth-child(6) .lm-icon-circle::before { content:"⊙"; font-size: clamp(25px,1.75vw,34px); }

	/* Home dark strip */
	.lm-dark-offer {
		padding: clamp(48px, 4.2vw, 82px) 24px clamp(58px, 4.8vw, 94px);
		min-height: clamp(290px, 22vw, 425px);
	}
	.lm-dark-offer > .wp-block-columns { max-width: var(--lm-content); }
	.lm-dark-offer::after {
		width: clamp(100px, 8vw, 155px);
		-webkit-mask-image: linear-gradient(90deg,#000 0 65%,transparent 100%);
		mask-image: linear-gradient(90deg,#000 0 65%,transparent 100%);
	}
	.lm-dark-offer > .wp-block-columns::after {
		right: clamp(-68px,-3.5vw,-45px);
		bottom: clamp(-88px,-4vw,-54px);
		width: clamp(82px, 6.5vw, 125px);
		height: clamp(190px, 17vw, 325px);
		-webkit-mask-image: linear-gradient(90deg,transparent 0,#000 32%,#000 100%);
		mask-image: linear-gradient(90deg,transparent 0,#000 32%,#000 100%);
	}
	.lm-dark-offer h2 { font-size: clamp(45px, 3.65vw, 70px); }
	.lm-dark-offer .wp-block-column:first-child > p:not(.lm-kicker) { font-size: clamp(11px, .75vw, 14px); max-width: 440px; }
	.lm-dark-feature { padding: 8px clamp(22px, 1.9vw, 36px); }
	.lm-dark-feature .lm-feature-symbol { font-size: clamp(38px, 2.8vw, 54px); }
	.lm-dark-feature h3 { font-size: clamp(22px, 1.65vw, 32px); }
	.lm-dark-feature p { font-size: clamp(10px, .69vw, 13px); }
	.lm-dark-quote { right: clamp(100px, 8vw, 160px); bottom: 24px; font-size: clamp(16px, 1.1vw, 21px); }
	.lm-dark-wave {
		position:absolute;
		z-index:4;
		left:-5%;
		bottom:-42px;
		width:110%;
		height:70px;
		background:var(--lm-cream);
		border-radius:50% 50% 0 0 / 100% 100% 0 0;
		pointer-events:none;
	}

	/* Home about */
	.lm-section:has(.lm-photo-about) { padding-top: clamp(48px, 4vw, 75px); padding-bottom: clamp(45px, 3.8vw, 72px); }
	.lm-section:has(.lm-photo-about) > .wp-block-columns { gap: clamp(32px, 3.1vw, 60px); }
	.lm-photo-card { min-height: clamp(190px, 13vw, 250px); }
	.lm-section:has(.lm-photo-about) h2 { font-size: clamp(40px, 3.35vw, 64px); }
	.lm-section:has(.lm-photo-about) .wp-block-column:nth-child(2) > p:not(.lm-kicker) { font-size: clamp(11px, .75vw, 14px); }
	.lm-about-quote { font-size: clamp(17px, 1.22vw, 23px); padding-top: 55px; }
	.lm-about-quote::before { font-size: 46px; }

	/* Mountain CTA — use the clean mountain crop, no baked text fragment. */
	.lm-mountain-cta {
		padding: clamp(44px, 4vw, 76px) 24px;
		background-image: url('assets/images/mountain-cta-v12.jpg');
		background-position:center 50%;
	}
	.lm-mountain-cta > .wp-block-columns { max-width: var(--lm-content); gap: clamp(46px, 5vw, 96px); }
	.lm-mountain-cta h2 { font-size: clamp(43px, 3.55vw, 68px); }
	.lm-mountain-cta p { font-size: clamp(11px, .75vw, 14px); }
	.lm-check-list { font-size: clamp(11px, .78vw, 15px); }
	.lm-check-list li { margin: 12px 0; }
	.lm-check-list li::before { width: 23px; height:23px; font-size: 11px; }

	/* Home blog */
	.lm-section:has(.lm-home-posts) { padding-top: clamp(44px, 3.8vw, 72px); padding-bottom: clamp(48px, 4vw, 78px); }
	.lm-section:has(.lm-home-posts) > .wp-block-group { margin-bottom: 20px; }
	.lm-home-posts .wp-block-post-template { gap: clamp(26px, 2.4vw, 46px); }
	.lm-home-posts .wp-block-post-date { font-size: clamp(8px,.52vw,10px); }
	.lm-home-posts .wp-block-post-title { font-size: clamp(20px,1.35vw,26px); }
	.lm-home-posts .wp-block-post-excerpt { font-size: clamp(10px,.7vw,13px); }

	/* Offer */
	#moja-oferta { padding-top: clamp(52px,4.3vw,82px); padding-bottom: clamp(52px,4.2vw,80px); overflow:hidden; }
	#moja-oferta::after {
		content:"☾";
		position:absolute;
		right:clamp(9vw,12vw,15vw);
		top:clamp(48px,4.2vw,80px);
		font-family:var(--lm-serif);
		font-size:clamp(82px,7vw,135px);
		line-height:1;
		color:rgba(210,160,90,.28);
		pointer-events:none;
	}
	#moja-oferta > h2 { font-size: clamp(48px, 4vw, 76px); }
	#moja-oferta > .lm-copy { max-width: 780px; font-size: clamp(12px,.82vw,16px); margin-bottom: clamp(22px,2vw,38px); }
	.lm-service-grid { gap: clamp(18px,1.7vw,32px) !important; }
	.lm-service-card { padding: clamp(24px,2vw,38px) clamp(20px,1.6vw,30px) clamp(16px,1.4vw,26px); }
	.lm-service-symbol { font-size: clamp(42px,3vw,58px); }
	.lm-service-card h3 { font-size: clamp(27px,2vw,38px); }
	.lm-service-subtitle { font-size: clamp(11px,.78vw,15px); }
	.lm-service-card .lm-service-copy { flex: 0 0 auto; font-size: clamp(11px,.77vw,14px); line-height:1.52; }
	.lm-service-image {
		width:100%;
		min-height:0 !important;
		aspect-ratio:1.72 / 1;
		margin: clamp(18px,1.6vw,30px) 0 14px;
		background-size:cover !important;
		background-position:center !important;
		flex:0 0 auto;
	}
	.lm-service-card .wp-block-buttons { margin-top:auto; width:100%; }
	.lm-wide-choice-cta { margin-top: clamp(24px,2vw,38px) !important; padding: clamp(27px,2.4vw,46px) clamp(34px,3vw,58px); }
	.lm-wide-choice-cta h2 { font-size: clamp(42px,3.4vw,65px); }
	.lm-wide-choice-cta p { font-size: clamp(11px,.78vw,15px); }

	/* About */
	.lm-about-hero + .lm-section { padding-top: clamp(52px,4.3vw,82px); padding-bottom: clamp(50px,4vw,78px); overflow:hidden; }
	.lm-about-hero + .lm-section::after {
		content:"☾";
		position:absolute;
		right:clamp(17vw,19vw,22vw);
		top:clamp(145px,11vw,210px);
		font-family:var(--lm-serif);
		font-size:clamp(54px,4.2vw,82px);
		color:rgba(208,155,79,.25);
	}
	.lm-about-hero + .lm-section > .wp-block-columns { gap: clamp(48px,4.5vw,86px); }
	.lm-about-hero + .lm-section h2 { font-size: clamp(44px,3.55vw,68px); }
	.lm-about-hero + .lm-section p { font-size: clamp(11px,.78vw,15px); }
	.lm-about-intro-quote { font-size: clamp(18px,1.25vw,24px) !important; }
	.lm-about-benefits { gap: clamp(22px,2vw,38px) 0 !important; }
	.lm-about-benefit .lm-icon-circle { width: clamp(48px,3.2vw,62px); height:clamp(48px,3.2vw,62px); }
	.lm-about-benefit p:last-child { font-size: clamp(17px,1.2vw,23px) !important; }
	.lm-about-callout { margin-top: clamp(32px,3vw,58px) !important; }
	.lm-about-numbers { min-height: clamp(230px,16vw,310px); }
	.lm-about-callout-text { padding: clamp(27px,2.5vw,48px) clamp(30px,2.8vw,54px); }
	.lm-about-callout-text h3 { font-size: clamp(27px,2vw,38px); }

	/* Blog */
	.lm-blog-hero + .lm-section { padding-top: clamp(48px,4vw,76px); padding-bottom: clamp(52px,4.2vw,82px); }
	.lm-blog-layout { gap: clamp(38px,3.8vw,72px); }
	.lm-blog-layout > .wp-block-column:first-child > h2 { font-size: clamp(46px,3.8vw,72px) !important; }
	.lm-blog-list .wp-block-post { margin-bottom: clamp(26px,2.4vw,46px); }
	.lm-blog-list .wp-block-columns { gap: clamp(20px,1.8vw,35px); }
	.lm-blog-list .wp-block-post-title { font-size: clamp(25px,1.8vw,35px); }
	.lm-blog-list .wp-block-post-excerpt { font-size: clamp(11px,.76vw,14px); }
	.lm-blog-list .wp-block-post-date { font-size: clamp(8px,.55vw,10px); }
	.lm-blog-list .wp-block-read-more { font-size: clamp(8px,.54vw,10px) !important; }
	.lm-blog-sidebar { padding-left: clamp(24px,2.2vw,42px); }
	.lm-blog-sidebar .wp-block-search__input { font-size: clamp(11px,.72vw,14px); padding: 13px 15px; }
	.lm-blog-sidebar h3 { font-size: clamp(25px,1.75vw,34px); margin-top: 30px; }
	.lm-blog-sidebar .wp-block-categories-list { font-size: clamp(11px,.72vw,14px); }
	.lm-blog-sidebar-quote { margin-top: 42px; font-size: clamp(18px,1.25vw,24px); }

	/* Contact */
	.lm-contact-hero + .lm-section { padding: clamp(58px,4.8vw,92px) 24px clamp(62px,5vw,96px); }
	.lm-contact-hero + .lm-section > .lm-contact-layout { max-width: var(--lm-content); }
	.lm-contact-layout { gap: clamp(54px,5vw,95px); }
	.lm-contact-layout > .wp-block-column:first-child { padding-right: clamp(40px,3.8vw,72px); }
	.lm-contact-title,
	.lm-contact-details h2 { font-size: clamp(48px,3.9vw,75px); }
	.lm-contact-form .lm-field { margin-bottom: clamp(12px,.95vw,18px); }
	.lm-contact-form input[type="text"],
	.lm-contact-form input[type="email"],
	.lm-contact-form select,
	.lm-contact-form textarea { padding: clamp(13px,1vw,18px) clamp(14px,1.1vw,20px); font-size: clamp(11px,.76vw,14px); }
	.lm-contact-form textarea { min-height: clamp(190px,14vw,270px); }
	.lm-contact-consent { margin: 15px 0 25px; font-size: clamp(10px,.66vw,12px); }
	.lm-contact-row { margin: clamp(12px,1vw,18px) 0; gap: clamp(14px,1.1vw,21px); }
	.lm-contact-badge { width: clamp(42px,2.8vw,54px); height:clamp(42px,2.8vw,54px); flex-basis:clamp(42px,2.8vw,54px); font-size: clamp(18px,1.25vw,24px); }
	.lm-contact-row p { font-size: clamp(12px,.82vw,16px); }
	.lm-contact-details h3 { font-size: clamp(28px,2vw,38px); margin: 25px 0 13px; }
	.lm-contact-social a { width: clamp(39px,2.7vw,52px); height:clamp(39px,2.7vw,52px); }
	.lm-contact-map { min-height: clamp(250px,18vw,345px); }
	.lm-contact-details { position:relative; }
	.lm-contact-details::after {
		content:"☾";
		position:absolute;
		right:-8%;
		top:34%;
		font-family:var(--lm-serif);
		font-size:clamp(80px,7vw,135px);
		color:rgba(210,160,90,.09);
		pointer-events:none;
	}

	/* Footer was visually about half-size in the live screenshots. */
	.lm-footer {
		padding: clamp(62px,5vw,96px) 24px clamp(32px,2.8vw,54px);
		min-height: clamp(245px,18vw,350px);
	}
	.lm-footer::before { width: clamp(170px,13vw,250px); height:clamp(150px,12vw,230px); }
	.lm-footer::after { right:clamp(55px,5vw,95px); top:clamp(55px,4.5vw,86px); font-size:clamp(18px,1.4vw,27px); }
	.lm-footer-inner { max-width: var(--lm-content); }
	.lm-footer-brand .lm-brand__moon { width: clamp(44px,3vw,58px); height:clamp(44px,3vw,58px); }
	.lm-footer-brand .lm-brand__name { font-size: clamp(17px,1.1vw,21px); }
	.lm-footer-brand .lm-brand__tag { font-size: clamp(6px,.43vw,8px); }
	.lm-footer-line { max-width: clamp(500px,38vw,730px); margin: 17px auto 24px; }
	.lm-footer-menu { gap: clamp(23px,2vw,39px) !important; font-size: clamp(10px,.66vw,13px) !important; }
	.lm-footer-meta { gap: 24px; font-size: clamp(8px,.54vw,10px); margin-top: 20px; }
	.lm-footer-social a { width: clamp(27px,1.8vw,35px); height:clamp(27px,1.8vw,35px); font-size:clamp(10px,.68vw,13px); }
}

/* At 1024px the supplied mockups remain the direct reference. */
@media (min-width: 821px) and (max-width: 1100px) {
	:root { --lm-content: 82vw; --lm-content-home: 82vw; }
	.lm-header-row { min-height: 60px; }
	.lm-brand__moon { width:42px; height:42px; flex-basis:42px; }
	.lm-brand__name { font-size:17px; }
	.lm-home-hero { min-height: 330px; }
	.lm-home-hero h1 { font-size: 62px; }
	.lm-offer-hero,.lm-about-hero,.lm-blog-hero { min-height: 305px; }
	.lm-contact-hero { min-height: 390px; }
	.lm-hero--dark h1 { font-size: 60px; }
	.lm-contact-hero h1 { font-size: 66px; }
	.lm-section { padding-left: 0; padding-right:0; }
}

/* =========================================================
   WooCommerce / sklep — v1.3
   ========================================================= */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
	max-width: min(82vw, 1380px);
	margin: 28px auto 12px;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	color: #8b7f83;
}

.woocommerce .woocommerce-breadcrumb a { color: #5e326a; }

.woocommerce-page main,
.woocommerce-page .wp-site-blocks > main {
	background: #fcfaf6;
}

.woocommerce .woocommerce-notices-wrapper,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce div.product,
.woocommerce ul.products,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	max-width: min(82vw, 1380px);
	margin-left: auto;
	margin-right: auto;
}

.woocommerce div.product {
	padding: clamp(54px, 6vw, 96px) 0;
}

.woocommerce div.product .product_title,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	color: #211735;
}

.woocommerce div.product .product_title {
	font-size: clamp(42px, 4vw, 66px);
	line-height: .98;
	margin-bottom: 22px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: #b47a47;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs,
.woocommerce ul.products li.product {
	font-family: "Montserrat", sans-serif;
	color: #433b48;
	line-height: 1.75;
}

.woocommerce div.product div.images img,
.woocommerce ul.products li.product a img {
	border-radius: 12px;
	box-shadow: 0 18px 50px rgba(56, 37, 55, .10);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	padding: 28px 0 82px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 18px 18px 24px;
	border: 1px solid rgba(54, 37, 56, .14);
	border-radius: 12px;
	background: rgba(255,255,255,.55);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: clamp(27px, 2.1vw, 36px);
	line-height: 1.05;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button,
.wc-block-components-button {
	border-radius: 999px !important;
	background: #64346f !important;
	color: #fff !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 15px 26px !important;
	min-height: 46px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce div.product form.cart .button:hover,
.wc-block-components-button:hover {
	background: #4f275a !important;
	color: #fff !important;
}

.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	border: 1px solid rgba(57, 39, 57, .20) !important;
	border-radius: 6px !important;
	background: #fff !important;
	min-height: 48px;
	font-family: "Montserrat", sans-serif;
}

.woocommerce table.shop_table {
	border-color: rgba(57,39,57,.14);
	border-radius: 10px;
	font-family: "Montserrat", sans-serif;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border-color: rgba(57,39,57,.12);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #64346f; }

@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce .woocommerce-breadcrumb,
	.woocommerce .woocommerce-notices-wrapper,
	.woocommerce div.product,
	.woocommerce ul.products,
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce {
		max-width: calc(100% - 36px);
	}
}
