:root {
  --ink: #071018;
  --panel: #0d1720;
  --panel-2: #13202a;
  --cream: #f0e8e1;
  --muted: #9aa1a5;
  --gold: #bd704b;
  --gold-light: #e6a379;
  --line: rgba(255,255,255,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--cream); font: 400 16px/1.6 "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.quality-bar {
  position: relative; z-index: 20; display: flex; justify-content: center; padding: 10px 5%;
  background: var(--gold); color: #121212; text-align: center; text-transform: uppercase;
  font-size: 11px; font-weight: 700; letter-spacing: .12em;
}
.site-header {
  position: absolute; z-index: 10; top: 38px; left: 0; width: 100%; height: 92px; padding: 0 5vw;
  display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.18);
}
.brand { display: flex; align-items: center; gap: 13px; }
.brand-mark {
  display: block; width: 62px; height: 62px; object-fit: cover;
  clip-path: circle(47% at 50% 50%); filter: drop-shadow(0 5px 12px rgba(0,0,0,.35));
}
.brand-name { font: 500 13px/1.35 "Manrope"; letter-spacing: .14em; }
.brand-name b { display: block; color: var(--gold); font-size: 8px; letter-spacing: .28em; }
nav { display: flex; align-items: center; gap: 18px; font-size: 12px; letter-spacing: .03em; }
nav a:not(.nav-cta):hover { color: var(--gold-light); }
.nav-cta { padding: 12px 18px; border: 1px solid var(--gold); color: var(--gold-light); }
.menu-button { display: none; color: white; background: none; border: 1px solid var(--line); padding: 8px 12px; }

.hero { min-height: 850px; height: calc(100vh - 38px); position: relative; overflow: hidden; display: flex; align-items: center; }
.hero-image { position: absolute; inset: 0; background: url("../images/gds-hero.png") 54% center / cover no-repeat; transform: scale(1.01); }

.gds-menu { display: flex; align-items: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.gds-menu li { margin: 0; }
@media (max-width: 1050px) { .site-header nav.open .gds-menu { display: flex; flex-direction: column; align-items: stretch; } }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,7,.94) 0%, rgba(5,6,7,.72) 40%, rgba(5,6,7,.04) 73%), linear-gradient(0deg, rgba(5,6,7,.75), transparent 40%); }
.hero-content { position: relative; z-index: 2; width: 650px; margin-left: 8vw; padding-top: 80px; }
.eyebrow { color: var(--gold-light); margin: 0 0 22px; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
h1, h2 { font-family: "Manrope", sans-serif; font-weight: 500; letter-spacing: -.045em; line-height: 1.05; margin: 0; }
h1 { font-size: clamp(58px, 6.5vw, 104px); }
h2 { font-size: clamp(40px, 4.6vw, 68px); }
h1 em, h2 em { color: var(--gold-light); font-weight: 400; font-style: italic; font-family: Georgia, serif; }
.hero-copy { max-width: 570px; margin: 30px 0 36px; color: #c8c7c3; font-size: 17px; }
.hero-actions { display: flex; align-items: center; gap: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 30px; padding: 17px 23px; border: 0; cursor: pointer; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 700; transition: .25s ease; }
.button-primary { color: #111; background: var(--gold); }
.button-primary:hover { background: var(--gold-light); transform: translateY(-2px); }
.text-link { border-bottom: 1px solid #a5a4a0; padding-bottom: 5px; color: #d7d5d0; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.hero-stats { position: absolute; z-index: 2; right: 5vw; bottom: 35px; display: flex; border-top: 1px solid var(--line); }
.hero-stats div { padding: 20px 28px; border-left: 1px solid var(--line); }
.hero-stats strong { display: block; color: var(--gold); font: 500 11px "Manrope"; }
.hero-stats span { font-size: 11px; color: #c6c4bf; text-transform: uppercase; letter-spacing: .08em; }

.section { padding: 120px 8vw; }
.services { background: #eeebe5; color: #151515; }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; align-items: end; }
.section-heading .eyebrow { color: #a95f3c; }
.section-heading > p { color: #66635f; margin: 0 0 5px; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 80px; border: 1px solid #d1cdc5; }
.service-grid article { min-height: 470px; padding: 35px; position: relative; border-right: 1px solid #d1cdc5; }
.service-grid article:last-child { border: 0; }
.service-grid article.featured { background: #0d1720; color: white; box-shadow: 0 22px 50px rgba(0,0,0,.22); }
.service-number { position: absolute; right: 26px; top: 25px; color: #9c9992; font-size: 11px; }
.service-icon { color: var(--gold); font-size: 40px; margin: 60px 0 35px; }
.service-grid h3 { font: 500 25px "Manrope"; margin: 0 0 18px; }
.service-grid p { color: #6e6b66; font-size: 14px; }
.service-grid .featured p { color: #aaa9a5; }
.service-meta { display: block; margin-top: 38px; padding-top: 18px; border-top: 1px solid rgba(127,124,118,.3); color: #b96e49; font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.service-pricing { margin-top: 24px; padding: 18px; background: rgba(138,107,55,.07); border: 1px solid rgba(138,107,55,.2); }
.service-pricing .pricing-title { margin: 0 0 12px; color: #a95f3c; font: 700 9px "Manrope"; letter-spacing: .15em; text-transform: uppercase; }
.service-pricing > div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid rgba(127,124,118,.2); }
.service-pricing > div span { color: #57534e; font-size: 11px; }
.service-pricing > div strong { color: #a95f3c; text-align: right; font-size: 10px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.service-pricing .pricing-note { margin: 15px 0 0; color: #77716a; font-size: 9px; line-height: 1.55; }
.service-grid .featured .service-pricing { background: rgba(189,112,75,.08); border-color: rgba(189,112,75,.24); }
.service-grid .featured .service-pricing .pricing-title,
.service-grid .featured .service-pricing > div strong { color: var(--gold-light); }
.service-grid .featured .service-pricing > div { border-color: var(--line); }
.service-grid .featured .service-pricing > div span { color: #c1bdb5; }
.service-grid .featured .service-pricing .pricing-note { color: #8f8d88; }
.service-details { margin-top: 24px; border-top: 1px solid rgba(127,124,118,.3); }
.service-details summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 0; color: #6d5833; cursor: pointer; list-style: none; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-details summary::-webkit-details-marker { display: none; }
.service-details summary span { color: #b96e49; font-size: 18px; transition: transform .25s ease; }
.service-details[open] summary span { transform: rotate(45deg); }
.service-details-body { padding: 4px 0 8px; }
.service-details-body ul { margin: 0; padding: 0; list-style: none; }
.service-details-body li { position: relative; margin: 0 0 10px; padding-left: 17px; color: #65615b; font-size: 12px; line-height: 1.5; }
.service-details-body li::before { content: "—"; position: absolute; left: 0; color: #b96e49; }
.service-details-body h4 { margin: 22px 0 12px; color: #a95f3c; font: 600 10px "Manrope"; letter-spacing: .13em; text-transform: uppercase; }
.service-details-body .duration-note { margin: 20px 0 0; padding: 14px; background: rgba(138,107,55,.08); color: #625e57; font-size: 11px; }
.service-grid .featured .service-details { border-color: var(--line); }
.service-grid .featured .service-details summary { color: var(--gold-light); }
.service-grid .featured .service-details-body li { color: #aaa9a5; }
.service-grid .featured .service-details-body .duration-note { background: rgba(189,112,75,.1); color: #c6c0b5; }
.add-on-pricing { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; margin-top: 85px; padding: 55px; background: #0d1720; color: var(--cream); }
.add-on-heading .eyebrow { color: var(--gold-light); }
.add-on-heading h3 { margin: 0; font: 500 clamp(34px,3.4vw,52px)/1.08 "Manrope"; letter-spacing: -.04em; }
.add-on-heading h3 em { color: var(--gold-light); font-family: Georgia,serif; font-weight: 400; }
.add-on-heading > p:last-child { margin: 25px 0 0; color: var(--muted); font-size: 13px; }
.add-on-content article { padding: 0 0 28px; }
.add-on-content article + article { padding-top: 28px; border-top: 1px solid var(--line); }
.add-on-label { display: flex; align-items: baseline; gap: 16px; margin-bottom: 15px; }
.add-on-label span { color: var(--gold); font: 600 10px "Manrope"; }
.add-on-label h4 { margin: 0; font: 600 16px/1.4 "Manrope"; }
.add-on-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.add-on-row-spaced { margin-top: 20px; padding-top: 22px; border-top: 1px solid var(--line); }
.add-on-row span { color: #bbb9b4; font-size: 12px; }
.add-on-row strong { color: var(--gold-light); text-align: right; font: 700 12px "Manrope"; letter-spacing: .03em; }
.ceramic-notice { margin: 22px 0 0; padding: 18px; border: 1px solid rgba(189,112,75,.25); background: rgba(189,112,75,.06); color: #aaa8a3; font-size: 11px; line-height: 1.65; }
.ceramic-notice strong { color: var(--gold-light); text-transform: uppercase; letter-spacing: .08em; }
.add-on-note { margin: 0; padding: 16px 18px; border-left: 2px solid var(--gold); background: rgba(189,112,75,.08); color: #918f8a; font-size: 10px; }

.maintenance { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; color: #171717; background: #e9e5dd; }
.maintenance-heading .eyebrow { color: #a95f3c; }
.maintenance-heading > p:not(.eyebrow) { max-width: 520px; margin: 28px 0; color: #68635d; }
.maintenance-heading .button-outline { border: 1px solid #a95f3c; color: #8f4e31; }
.maintenance-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #c8c2b8; border-left: 1px solid #c8c2b8; }
.maintenance-grid article { min-height: 225px; padding: 28px; border-right: 1px solid #c8c2b8; border-bottom: 1px solid #c8c2b8; }
.maintenance-grid article > span { color: #b96e49; font: 600 10px "Manrope"; }
.maintenance-grid h3 { margin: 35px 0 12px; font: 600 18px/1.35 "Manrope"; }
.maintenance-grid p { margin: 0; color: #68635d; font-size: 13px; line-height: 1.65; }
.maintenance-note { grid-column: 2; margin: -4vw 0 0; padding: 17px 20px; border-left: 2px solid #b96e49; color: #6f6962; background: rgba(169,95,60,.07); font-size: 11px; }

.process { padding: 120px 8vw; display: grid; grid-template-columns: 1fr 1fr; gap: 11vw; background: #101213; }
.process-copy > p:not(.eyebrow) { color: var(--muted); max-width: 550px; margin-top: 30px; }
.process ol { margin: 0; padding: 0; list-style: none; }
.process li { display: grid; grid-template-columns: 80px 1fr; gap: 10px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.process li > span { color: var(--gold); font: 500 12px "Manrope"; }
.process h3 { margin: 0 0 8px; font: 500 21px "Manrope"; }
.process li p { color: var(--muted); margin: 0; font-size: 14px; }

.trust-statement { position: relative; overflow: hidden; padding: 95px 10vw; text-align: center; background: radial-gradient(circle at center, #2b2019 0, #10171c 44%, #080d11 100%); }
.trust-statement::before,.trust-statement::after { content: ""; position: absolute; top: 50%; width: 18vw; height: 1px; background: linear-gradient(90deg, transparent, rgba(210,139,94,.55)); }
.trust-statement::before { left: 4vw; }
.trust-statement::after { right: 4vw; transform: rotate(180deg); }
.trust-statement img { width: 86px; height: 86px; object-fit: contain; margin-bottom: 20px; }
.trust-statement .eyebrow { margin-bottom: 20px; }
.trust-statement blockquote { max-width: 920px; margin: auto; color: #eee8df; font: 400 clamp(25px,3.2vw,46px)/1.32 Georgia, serif; }
.trust-statement > span { display: block; margin-top: 28px; color: var(--gold-light); font: 600 10px "Manrope"; letter-spacing: .18em; text-transform: uppercase; }

.care-guide { color: #ece7df; background: #111314; }
.care-guide-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; }
.care-guide-heading .eyebrow { grid-column: 1 / -1; margin-bottom: -5vw; }
.care-guide-heading > p:last-child { max-width: 560px; margin: 0; color: var(--muted); }
.care-guide-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 65px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.care-guide-grid article { min-height: 270px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.care-guide-grid span { color: var(--gold); font: 600 10px "Manrope"; }
.care-guide-grid h3 { margin: 50px 0 14px; font: 600 17px/1.4 "Manrope"; }
.care-guide-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.care-guide-note { margin-top: 25px; padding: 20px 22px; border: 1px solid rgba(189,112,75,.28); color: #9d9b96; background: rgba(189,112,75,.06); font-size: 11px; }
.care-guide-note strong { color: var(--gold-light); text-transform: uppercase; letter-spacing: .08em; }

.voucher { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; align-items: center; color: #181716; background: #e9e5dd; }
.voucher-card { position: relative; min-height: 330px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 35px; border: 1px solid #a96847; color: #eee8df; background: radial-gradient(circle at 80% 10%, #51301f 0, #17222a 37%, #090f13 85%); box-shadow: 0 28px 65px rgba(20,16,12,.28); }
.voucher-card::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(229,161,119,.3); pointer-events: none; }
.voucher-card img { width: 74px; height: 74px; object-fit: contain; }
.voucher-card div { position: relative; z-index: 1; display: grid; gap: 8px; }
.voucher-card span,.voucher-card small { color: #c1b8af; font: 600 9px "Manrope"; letter-spacing: .2em; text-transform: uppercase; }
.voucher-card strong { color: var(--gold-light); font: 500 clamp(25px,3vw,42px) "Manrope"; letter-spacing: .08em; }
.voucher-card b { position: absolute; right: 25px; bottom: -30px; color: rgba(205,126,82,.12); font: 700 115px/1 "Manrope"; letter-spacing: -.1em; }
.voucher-copy .eyebrow { color: #a95f3c; }
.voucher-copy > p:not(.eyebrow) { max-width: 570px; margin: 27px 0; color: #68635d; }
.voucher-copy ul { margin: 0 0 30px; padding: 0; list-style: none; }
.voucher-copy li { position: relative; padding: 10px 0 10px 22px; border-bottom: 1px solid #cbc4ba; color: #595550; font-size: 13px; }
.voucher-copy li::before { content: "—"; position: absolute; left: 0; color: #b96e49; }

.guarantee { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8vw; color: #eee8e0; background: #0b151d; }
.guarantee-heading { position: sticky; top: 40px; align-self: start; }
.guarantee-heading > p:not(.eyebrow) { max-width: 470px; margin-top: 28px; color: var(--muted); }
.guarantee-list { border-top: 1px solid var(--line); }
.guarantee-list article { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.guarantee-list article > span { color: var(--gold); font: 600 10px "Manrope"; }
.guarantee-list h3 { margin: 0 0 9px; font: 600 18px "Manrope"; }
.guarantee-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.guarantee-note { grid-column: 2; padding: 19px 22px; border-left: 2px solid var(--gold); color: #979a9c; background: rgba(189,112,75,.07); font-size: 11px; line-height: 1.65; }
.guarantee-note strong { color: var(--gold-light); text-transform: uppercase; letter-spacing: .07em; }

.gallery { background: #0c0e0f; }
.gallery-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: end; }
.gallery-intro { color: var(--muted); }
.gallery-intro p { margin: 0 0 28px; }
.gallery-form {
  margin: 65px 0 20px; padding: 38px; background: #0d1720; border: 1px solid var(--line);
  grid-template-columns: 1fr 1fr; gap: 24px;
}
.gallery-form:not([hidden]) { display: grid; }
.gallery-form-top { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--line); padding-bottom: 25px; }
.gallery-form-top .eyebrow { margin-bottom: 8px; }
.gallery-form h3 { margin: 0; font: 500 28px "Manrope"; }
.gallery-form label { color: #aaa8a2; }
.gallery-form input { color: var(--cream); border-color: #555; }
.close-gallery-form { border: 0; background: transparent; color: #aaa; font-size: 32px; cursor: pointer; }
.image-upload {
  min-height: 260px; padding: 25px; position: relative; overflow: hidden; display: flex; flex-direction: column;
  align-items: center; justify-content: center; border: 1px dashed #5e5b55; cursor: pointer; text-align: center;
}
.image-upload:hover { border-color: var(--gold); background: rgba(189,112,75,.05); }
.image-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-title { color: var(--gold-light); font: 600 13px "Manrope"; letter-spacing: .12em; }
.upload-hint { margin-top: 7px; color: #7f7f7c; font-size: 11px; text-transform: none; letter-spacing: 0; }
.image-upload img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.image-upload:has(img:not([hidden]))::after { content: "Kép cseréje"; position: absolute; left: 12px; bottom: 12px; z-index: 2; padding: 7px 10px; background: rgba(10,10,10,.8); color: white; font-size: 9px; letter-spacing: .1em; }
.gallery-form-status { margin: 0; min-height: 20px; text-align: center; color: var(--gold-light); }
.gallery-empty { margin-top: 65px; padding: 80px 20px; border: 1px solid var(--line); text-align: center; }
.gallery-empty > span { color: var(--gold); font-size: 42px; }
.gallery-empty h3 { margin: 12px 0 5px; font: 500 21px "Manrope"; }
.gallery-empty p { margin: 0; color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 65px; }
.gallery-card { position: relative; background: var(--panel); border: 1px solid var(--line); }
.comparison { display: grid; grid-template-columns: 1fr 1fr; aspect-ratio: 16 / 8.5; overflow: hidden; }
.comparison figure { position: relative; margin: 0; overflow: hidden; }
.comparison figure:first-child { border-right: 2px solid var(--gold); }
.comparison img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gallery-card:hover img { transform: scale(1.03); }
.comparison figcaption { position: absolute; left: 12px; top: 12px; padding: 6px 10px; background: rgba(8,9,10,.78); color: white; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.comparison figure:last-child figcaption { color: var(--gold-light); }
.gallery-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; }
.gallery-card-meta h3 { margin: 0 0 4px; font: 500 19px "Manrope"; }
.gallery-card-meta p { margin: 0; color: var(--muted); font-size: 12px; }
.delete-gallery-item { flex: 0 0 auto; border: 1px solid #514f4b; background: transparent; color: #aaa; padding: 8px 11px; cursor: pointer; font-size: 10px; }
.delete-gallery-item:hover { border-color: #b96767; color: #e99898; }

.reviews { background: #ede9e2; color: #171717; }
.reviews-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: end; }
.reviews-heading .eyebrow, .review-form .eyebrow { color: #a95f3c; }
.reviews-intro { color: #66625c; }
.reviews-intro p { margin: 0 0 28px; }
.review-form { margin: 60px 0 0; padding: 38px; grid-template-columns: 1fr 1fr; gap: 24px; background: #f8f5ef; border: 1px solid #d5cfc5; box-shadow: 0 18px 45px rgba(39,31,21,.08); }
.review-form:not([hidden]) { display: grid; }
.review-form-top { grid-column: 1 / -1; display: flex; align-items: start; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid #d5cfc5; }
.review-form-top .eyebrow { margin-bottom: 8px; }
.review-form h3 { margin: 0; font: 500 27px "Manrope"; }
.close-review-form { border: 0; background: transparent; color: #777; font-size: 32px; cursor: pointer; }
.review-form-status { min-height: 20px; margin: 0; text-align: center; color: #37694f; font-weight: 600; }
.reviews-empty { margin-top: 60px; padding: 70px 20px; border: 1px solid #d0cac0; text-align: center; }
.reviews-empty > span { color: #b96e49; letter-spacing: .15em; }
.reviews-empty h3 { margin: 15px 0 6px; font: 500 21px "Manrope"; }
.reviews-empty p { margin: 0; color: #77726b; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 60px; }
.review-card { min-height: 280px; display: flex; flex-direction: column; padding: 30px; background: #f8f5ef; border: 1px solid #d5cfc5; }
.review-stars { color: #b96e49; letter-spacing: .12em; font-size: 13px; }
.review-card blockquote { flex: 1; margin: 25px 0; color: #48443f; font: italic 18px/1.6 Georgia, serif; }
.review-author { padding-top: 18px; border-top: 1px solid #d5cfc5; }
.review-author strong { display: block; font: 600 12px "Manrope"; letter-spacing: .05em; }
.review-author span { color: #858078; font-size: 11px; }

.booking { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: #e9e5de; color: #151515; }
.booking-intro { position: sticky; top: 40px; align-self: start; }
.booking-intro .eyebrow { color: #a95f3c; }
.booking-intro > p:not(.eyebrow) { color: #65625e; margin: 30px 0; }
.booking-note { display: flex; gap: 15px; padding: 20px; background: #ded9cf; font-size: 12px; color: #625d55; }
.booking-note span { flex: 0 0 25px; height: 25px; border: 1px solid #a95f3c; border-radius: 50%; text-align: center; line-height: 23px; color: #a95f3c; }
.booking-note p { margin: 0; }
.booking-form { padding: 44px; background: #f6f3ed; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; box-shadow: 0 15px 45px rgba(42,36,27,.08); }
.field { display: flex; flex-direction: column; gap: 8px; }
.field-full { grid-column: 1 / -1; }
label { color: #5a5650; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
input, select, textarea { width: 100%; border: 0; border-bottom: 1px solid #bbb5aa; background: transparent; padding: 12px 2px; color: #171717; outline: none; }
input:focus, select:focus, textarea:focus { border-color: #a95f3c; }
textarea { resize: vertical; }
.consent { flex-direction: row; align-items: flex-start; gap: 12px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.consent input { width: auto; margin-top: 5px; accent-color: #9b7b46; }
.consent a { color: #8d5538; text-decoration: underline; text-underline-offset: 3px; }
.consent-optional { padding: 15px; border: 1px solid rgba(169,95,60,.28); background: rgba(169,95,60,.06); }
.consent-optional strong { color: #7d4a31; }
.booking-form .button { width: 100%; }
.form-status { margin: 0; min-height: 24px; color: #37694f; font-weight: 600; text-align: center; }

.studio { min-height: 520px; padding: 110px 8vw; text-align: center; background: radial-gradient(circle at 50% 20%, #24201a 0, #101112 55%); }
.studio h2 { max-width: 820px; margin: auto; }
.studio > p:not(.eyebrow) { max-width: 680px; margin: 30px auto; color: var(--muted); }
.button-outline { border: 1px solid var(--gold); color: var(--gold-light); }
.button-outline:hover { background: var(--gold); color: #111; }

.contact { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; background: #0b151d; }
.contact-heading > p:not(.eyebrow) { max-width: 520px; margin: 28px 0; color: var(--muted); }
.demo-badge { display: inline-block; padding: 8px 11px; border: 1px solid #b46b4a; color: #e5a27d; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-grid article { min-height: 180px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-grid article > span { color: var(--gold); font: 600 10px "Manrope",sans-serif; }
.contact-grid article > p { margin: 35px 0 7px; color: #777f84; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.contact-grid a,.contact-grid strong { color: #e3ded7; font: 500 15px/1.55 "Manrope",sans-serif; overflow-wrap: anywhere; }

.about { display: grid; grid-template-columns: .72fr 1.28fr; gap: 9vw; align-items: center; background: #111314; }
.about-signature { min-height: 560px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; padding: 45px; border: 1px solid var(--line); background: radial-gradient(circle at 25% 20%, #2d261c 0, #171819 40%, #0d0f10 80%); }
.about-monogram { position: absolute; top: 40px; left: 50%; transform: translateX(-50%); color: rgba(189,112,75,.18); font: 700 clamp(90px, 13vw, 190px)/1 "Manrope"; letter-spacing: -.09em; }
.about-line { width: 54px; height: 1px; margin-bottom: 23px; background: var(--gold); }
.about-signature p { margin: 0; color: #b9b5ae; font: 500 12px/2 "Manrope"; letter-spacing: .16em; text-transform: uppercase; }
.about-content h2 { margin-bottom: 30px; }
.about-lead { max-width: 720px; margin: 0 0 30px; color: #ddd8cf; font: 400 clamp(20px, 2vw, 28px)/1.5 Georgia, serif; }
.about-text { display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; color: var(--muted); font-size: 14px; }
.about-text p { margin: 0 0 20px; }
.about-text p:last-child { grid-column: 1 / -1; }
.about blockquote { margin: 18px 0 0; padding: 22px 0 0 25px; border-top: 1px solid var(--line); border-left: 2px solid var(--gold); color: var(--gold-light); font: italic 18px/1.6 Georgia, serif; }

.terms { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; background: #ebe7df; color: #171717; }
.terms-heading { position: sticky; top: 40px; align-self: start; }
.terms-heading .eyebrow { color: #a95f3c; }
.terms-heading > p:not(.eyebrow) { max-width: 430px; margin: 28px 0 0; color: #69645e; }
.terms-list { border-top: 1px solid #c8c2b8; }
.terms-list article { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 27px 0; border-bottom: 1px solid #c8c2b8; }
.terms-list article > span { color: #b96e49; font: 600 10px "Manrope"; letter-spacing: .1em; }
.terms-list h3 { margin: 0 0 9px; font: 600 18px "Manrope"; }
.terms-list p { margin: 0; color: #625e58; font-size: 13px; line-height: 1.7; }
.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; color: #eae5dd; background: #0d1216; }
.faq-heading { position: sticky; top: 40px; align-self: start; }
.faq-heading > p:not(.eyebrow) { max-width: 430px; margin-top: 28px; color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; cursor: pointer; list-style: none; font: 600 16px/1.45 "Manrope", sans-serif; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { flex: 0 0 auto; color: var(--gold); font-size: 24px; font-weight: 300; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; margin: -5px 45px 25px 0; color: #9ea2a4; font-size: 13px; line-height: 1.75; }

footer { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 20px; padding: 40px 5vw; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
footer > p { text-align: center; }
footer .copyright { text-align: right; }
.footer-legal { color: var(--gold-light); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1100px) {
  .site-header { top: 54px; height: 75px; }
  .quality-bar { min-height: 54px; align-items: center; font-size: 9px; }
  .menu-button { display: block; }
  nav { display: none; position: absolute; top: 75px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: rgba(9,10,11,.98); padding: 20px 5vw; }
  nav.open { display: flex; }
  nav a { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .hero { min-height: 780px; height: 100svh; align-items: flex-end; }
  .hero-image { background-position: 64% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(5,6,7,.98) 12%, rgba(5,6,7,.65) 62%, rgba(5,6,7,.25)); }
  .hero-content { width: auto; margin: 0; padding: 0 6vw 170px; }
  h1 { font-size: clamp(48px, 14vw, 75px); }
  .hero-copy { font-size: 15px; }
  .hero-stats { left: 6vw; right: 6vw; bottom: 20px; }
  .hero-stats div { padding: 12px; }
  .hero-stats span { font-size: 8px; }
  .section { padding: 85px 6vw; }
  .section-heading, .maintenance, .process, .voucher, .guarantee, .booking, .gallery-heading, .reviews-heading, .terms, .faq, .about, .contact { grid-template-columns: 1fr; }
  .section-heading { gap: 35px; }
  .service-grid { grid-template-columns: 1fr; margin-top: 50px; }
  .service-grid article { min-height: 340px; border-right: 0; border-bottom: 1px solid #d1cdc5; }
  .service-grid article.featured { transform: none; }
  .process { padding: 85px 6vw; gap: 45px; }
  .add-on-pricing { grid-template-columns: 1fr; padding: 38px 30px; }
  .maintenance-note { grid-column: auto; margin-top: 0; }
  .care-guide-heading { grid-template-columns: 1fr; }
  .care-guide-heading .eyebrow { grid-column: auto; margin-bottom: 0; }
  .care-guide-grid { grid-template-columns: 1fr 1fr; }
  .guarantee-heading { position: static; }
  .guarantee-note { grid-column: auto; }
  .gallery-grid { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr 1fr; }
  .booking-intro { position: static; }
  .terms-heading { position: static; }
  .faq-heading { position: static; }
  .about-signature { min-height: 360px; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer .brand { justify-content: center; }
  footer .copyright { text-align: center; }
}

@media (max-width: 560px) {
  .brand-mark { width: 50px; height: 50px; }
  .brand-name { font-size: 10px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .hero-stats { display: none; }
  .hero-content { padding-bottom: 70px; }
  .booking-form { padding: 28px 20px; grid-template-columns: 1fr; }
  .review-form { padding: 26px 18px; grid-template-columns: 1fr; }
  .review-form-top, .review-form .field-full { grid-column: auto; }
  .about-text { grid-template-columns: 1fr; }
  .about-text p:last-child { grid-column: auto; }
  .gallery-form { padding: 26px 18px; grid-template-columns: 1fr; }
  .gallery-form-top, .gallery-form .field-full { grid-column: auto; }
  .image-upload { min-height: 210px; }
  .add-on-pricing { padding: 30px 18px; }
  .maintenance-grid,.care-guide-grid { grid-template-columns: 1fr; }
  .trust-statement { padding: 75px 7vw; }
  .add-on-row { align-items: flex-start; }
  .reviews-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.assistant-widget { position: fixed; right: 24px; bottom: 22px; z-index: 1200; font-family: inherit; }
.assistant-toggle { display: flex; align-items: center; gap: 10px; border: 1px solid rgba(205,133,87,.65); border-radius: 999px; padding: 10px 18px 10px 10px; color: #f7f1e9; background: #101519; box-shadow: 0 14px 40px rgba(0,0,0,.42); cursor: pointer; font: 700 11px/1 inherit; letter-spacing: .12em; text-transform: uppercase; }
.assistant-toggle-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #101214; background: linear-gradient(145deg, #f2bd96, #a95831); font-family: Georgia, serif; font-size: 20px; }
.assistant-panel { position: absolute; right: 0; bottom: 66px; width: min(390px, calc(100vw - 28px)); max-height: min(650px, calc(100vh - 110px)); overflow: hidden; border: 1px solid rgba(210,139,94,.45); border-radius: 18px; color: #ece9e3; background: #0d1216; box-shadow: 0 24px 80px rgba(0,0,0,.6); }
.assistant-header { display: flex; align-items: center; gap: 11px; padding: 15px 16px; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(120deg, #111a21, #17110e); }
.assistant-header img { width: 42px; height: 42px; object-fit: contain; }
.assistant-header div { display: grid; gap: 4px; flex: 1; }
.assistant-header strong { font-size: 14px; letter-spacing: .04em; }
.assistant-header span { color: #a9b0b4; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.assistant-header i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #69c58a; box-shadow: 0 0 8px #69c58a; }
.assistant-header button { border: 0; color: #c7c6c3; background: transparent; cursor: pointer; font-size: 28px; line-height: 1; }
.assistant-messages { display: flex; flex-direction: column; gap: 10px; min-height: 220px; max-height: 330px; padding: 17px; overflow-y: auto; background: radial-gradient(circle at top right, rgba(180,93,49,.09), transparent 45%); }
.assistant-message { max-width: 88%; padding: 11px 13px; border-radius: 13px; font-size: 13px; line-height: 1.55; white-space: pre-line; }
.assistant-message-bot { align-self: flex-start; border: 1px solid rgba(255,255,255,.08); border-bottom-left-radius: 3px; color: #dcdad6; background: #171d21; }
.assistant-message-user { align-self: flex-end; border-bottom-right-radius: 3px; color: #15100d; background: linear-gradient(145deg, #e3a77f, #b96940); }
.assistant-message a { display: table; margin-top: 10px; padding: 7px 10px; border: 1px solid #c77b51; color: #efb38c; text-decoration: none; text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.assistant-waiting { color: #999; }
.assistant-quick { display: flex; gap: 6px; padding: 0 14px 13px; overflow-x: auto; }
.assistant-quick button { flex: 0 0 auto; border: 1px solid rgba(201,124,80,.4); border-radius: 999px; padding: 7px 9px; color: #d9a17e; background: transparent; cursor: pointer; font: 600 9px/1 inherit; }
.assistant-form { display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid rgba(255,255,255,.08); }
.assistant-form input { min-width: 0; flex: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; padding: 11px; color: #f2f0eb; background: #151b1f; outline: none; font: inherit; font-size: 13px; }
.assistant-form input:focus { border-color: #c77b51; }
.assistant-form button { width: 42px; border: 0; border-radius: 9px; color: #18100c; background: linear-gradient(145deg, #efb38c, #b9673e); cursor: pointer; font-size: 21px; }
.assistant-note { margin: 0; padding: 0 14px 12px; color: #767d81; font-size: 9px; text-align: center; }
@media (max-width: 560px) {
  .assistant-widget { right: 14px; bottom: 14px; }
  .assistant-panel { bottom: 62px; max-height: calc(100svh - 90px); }
  .assistant-toggle { padding-right: 13px; }
  .assistant-messages { max-height: 42svh; }
}
/* Többoldalas webhely */
nav a[aria-current="page"] { color: var(--copper-light, #e7a879); }
.page-hero { padding: clamp(4.5rem, 9vw, 8rem) clamp(1.25rem, 6vw, 7rem) clamp(3rem, 6vw, 5rem); background: radial-gradient(circle at 82% 18%, rgba(184, 105, 63, .2), transparent 28%), linear-gradient(135deg, #101722, #070a0e 70%); border-bottom: 1px solid rgba(255,255,255,.09); }
.page-hero h1 { max-width: 900px; margin: .35rem 0 1rem; font-size: clamp(2.5rem, 7vw, 5.8rem); line-height: .98; }
.page-hero > p:last-child { max-width: 720px; color: #b7bec7; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.75; }
.home-services .section-heading { margin-bottom: 2.25rem; }
.service-preview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.service-preview-grid article { min-height: 260px; padding: 2rem; border: 1px solid rgba(255,255,255,.1); background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); }
.service-preview-grid span { color: #ce875d; letter-spacing: .18em; font-size: .78rem; }
.service-preview-grid h3 { margin: 2.2rem 0 .8rem; font-size: 1.55rem; }
.service-preview-grid p { color: #aab1ba; line-height: 1.7; }
.section-button { display: table; margin: 2rem auto 0; }
.home-cta { display: flex; align-items: center; justify-content: space-between; gap: 3rem; background: radial-gradient(circle at 90% 50%, rgba(190, 109, 66, .18), transparent 32%); }
.home-cta > div { max-width: 720px; }
.home-cta h2 { margin: .4rem 0 1rem; }
.home-cta p:not(.eyebrow) { color: #abb2bb; line-height: 1.7; }
@media (max-width: 800px) { .service-preview-grid { grid-template-columns: 1fr; } .service-preview-grid article { min-height: auto; } .home-cta { align-items: flex-start; flex-direction: column; } }

.visual-showcase { background: linear-gradient(180deg, #09121a, #071018); }
.before-after { --position: 52%; position: relative; width: min(1180px, 100%); aspect-ratio: 16 / 8.2; margin: 2.5rem auto 0; overflow: hidden; border: 1px solid rgba(230,163,121,.35); box-shadow: 0 30px 80px rgba(0,0,0,.42); isolation: isolate; }
.before-after-layer { position: absolute; inset: 0; }
.before-after-layer img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; user-select: none; pointer-events: none; }
.before-after-before { width: var(--position); overflow: hidden; z-index: 2; border-right: 1px solid rgba(255,255,255,.8); }
.before-after-before img { width: calc(100vw - clamp(2.5rem, 12vw, 14rem)); max-width: 1180px; filter: grayscale(.72) brightness(.58) contrast(.88) saturate(.45); }
.before-after-divider { position: absolute; z-index: 4; left: var(--position); top: 0; bottom: 0; width: 2px; transform: translateX(-50%); background: rgba(255,255,255,.9); box-shadow: 0 0 24px rgba(0,0,0,.55); pointer-events: none; }
.before-after-divider span { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 52px; height: 52px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: var(--gold); color: #111; font-size: 20px; font-weight: 800; box-shadow: 0 8px 28px rgba(0,0,0,.4); }
.before-after-range { position: absolute; z-index: 6; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.before-after-label { position: absolute; z-index: 5; top: 1.2rem; padding: .55rem .8rem; background: rgba(5,8,11,.72); border: 1px solid rgba(255,255,255,.18); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; backdrop-filter: blur(8px); pointer-events: none; }
.label-before { left: 1.2rem; }
.label-after { right: 1.2rem; }
.visual-demo-note { margin: .9rem auto 0; color: #7f8993; font-size: .78rem; text-align: center; }
.reveal-ready { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal-ready.is-visible { opacity: 1; transform: none; }
@media (max-width: 700px) { .before-after { aspect-ratio: 4 / 3; } .before-after-layer img { object-position: 58% center; } .before-after-before img { width: calc(100vw - 2.5rem); } .before-after-divider span { width: 44px; height: 44px; } }
@media (prefers-reduced-motion: reduce) { .reveal-ready { opacity: 1; transform: none; transition: none; } }
