:root{--cream:#f4f0e6;--paper:#fbf9f4;--forest:#26332a;--forest-2:#17241b;--sage:#87967e;--sage-light:#dce4d7;--brown:#806344;--ink:#19231c;--muted:#606b62;--line:#d8d2c4;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",sans-serif;--pad:clamp(1.25rem,5vw,6rem);--ease:cubic-bezier(.22,.61,.36,1);--header-h:7.3rem}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:clamp(1rem,.96rem + .18vw,1.08rem);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}img{display:block;width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;text-wrap:balance}p{margin:0 0 1em}.skip-link{position:fixed;left:-9999px;top:.5rem;background:var(--paper);padding:.8rem 1rem;z-index:120}.skip-link:focus{left:.5rem}:focus-visible{outline:2px solid var(--brown);outline-offset:4px}.icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:var(--paper);transition:transform .45s var(--ease),background .35s,color .35s,box-shadow .35s}.site-header.is-hidden{transform:translateY(-102%)}.site-header.is-scrolled{background:rgb(251 249 244/.97);color:var(--forest);box-shadow:0 1px 0 var(--line)}.topbar{border-bottom:1px solid rgb(255 255 255/.2);font-size:.76rem;letter-spacing:.025em}.is-scrolled .topbar{border-color:var(--line);background:var(--forest);color:var(--paper)}.topbar-inner{max-width:94rem;margin:auto;padding:.55rem var(--pad);display:flex;gap:clamp(1rem,3vw,2.5rem);justify-content:flex-end;align-items:center}.topbar a,.topbar p{display:flex;gap:.4rem;align-items:center;margin:0;text-decoration:none}.topbar a:hover{text-decoration:underline;text-underline-offset:3px}.navbar{max-width:94rem;margin:auto;padding:1rem var(--pad);display:flex;gap:2.5rem;align-items:center}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand span{font:500 1.55rem var(--serif);letter-spacing:.01em}.brand small{font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;margin-top:.35rem}.navbar nav{margin-left:auto;display:flex;gap:clamp(1rem,2.3vw,2rem);align-items:center}.navbar nav a{text-decoration:none;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;position:relative}.navbar nav a:not(.nav-cta)::after{content:"";position:absolute;inset:auto 0 -.35rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s}.navbar nav a:hover::after{transform:scaleX(1);transform-origin:left}.nav-cta{border:1px solid currentColor;padding:.65rem 1rem}.nav-cta:hover{background:var(--paper);color:var(--forest)}.is-scrolled .nav-cta:hover{background:var(--forest);color:var(--paper)}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:.5rem}.menu-toggle span{display:block;width:1.5rem;height:1px;background:currentColor;margin:.3rem}.menu-toggle b{position:absolute;clip:rect(0,0,0,0)}
.hero{position:relative;min-height:clamp(48rem,100svh,64rem);color:var(--paper);display:grid;align-items:end;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgb(18 31 22/.9) 0%,rgb(18 31 22/.63) 47%,rgb(18 31 22/.4) 100%),linear-gradient(0deg,rgb(14 28 19/.56),transparent 55%)}.hero-lines{position:absolute;inset:auto -5% -8%;width:110%;height:50%;opacity:.24}.hero-lines path{fill:none;stroke:#dce4d7;stroke-width:1.3;stroke-dasharray:4 9;vector-effect:non-scaling-stroke;animation:dash 24s linear infinite}.hero-content{position:relative;z-index:2;width:100%;max-width:94rem;margin:auto;padding:calc(var(--header-h) + 4rem) var(--pad) clamp(3.5rem,7vw,6rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.72fr);gap:clamp(2rem,6vw,6rem);align-items:end}.hero-copy{max-width:48rem}.hero-kicker,.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:400;margin:0 0 1.2rem}.hero h1{font-size:clamp(4rem,8.4vw,7.6rem);line-height:.83;letter-spacing:-.03em}.hero h1 em,.section-heading h2 em,.image-story h2 em,.about h2 em,.testimonials h2 em,.contact h2 em{color:#cbd7c4;font-style:italic;font-weight:400}.hero-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:35rem;margin:1.7rem 0 0;color:rgb(255 255 255/.88)}.hero-actions,.card-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:2rem}.button{min-height:3.1rem;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid transparent;padding:.8rem 1.35rem;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:500;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--forest)}.button-light:hover{background:var(--sage-light)}.button-solid{background:var(--forest);color:var(--paper)}.button-solid:hover{background:var(--brown)}.button-outline{border-color:var(--forest);color:var(--forest);background:transparent}.button-outline:hover{background:var(--forest);color:var(--paper)}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.text-link::after{content:"  ↗"}.future-link{color:var(--muted);border-bottom-style:dotted}.future-link::after{content:""}.future-button{cursor:default}.future-button:hover{transform:none}.on-dark{color:var(--paper)}
.quote-form{background:rgb(251 249 244/.96);color:var(--ink);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 32px 80px -40px rgb(0 0 0/.7)}.form-heading{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.form-icon{width:2.8rem;height:2.8rem;border:1px solid var(--line);display:grid;place-items:center;color:var(--sage)}.form-icon svg{width:1.5rem;fill:none;stroke:currentColor;stroke-width:1.4}.form-heading p{margin:0;color:var(--brown);font-size:.67rem;letter-spacing:.14em;text-transform:uppercase}.form-heading h2{font-size:1.7rem;line-height:1}.quote-form label,.contact-form label{display:grid;gap:.35rem;margin-bottom:.85rem}.quote-form label>span,.contact-form label>span{font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}input,select,textarea{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:.82rem .9rem;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--sage);outline:1px solid var(--sage)}.quote-form .button{width:100%;margin-top:.25rem}.form-note,.form-status{font-size:.72rem;color:var(--muted);margin:.7rem 0 0;text-align:center}.form-status:not(:empty){color:var(--forest);font-weight:500}
.trustbar{max-width:94rem;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--pad);background:var(--paper)}.trust-item{display:flex;gap:1rem;align-items:center;padding:2rem 1.25rem;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.feature-icon{width:2.2rem;height:2.2rem;fill:none;stroke:var(--sage);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}.trust-item strong,.trust-item span{display:block}.trust-item strong{font:500 1.25rem var(--serif)}.trust-item span{font-size:.76rem;color:var(--muted)}
.section-pad{padding:clamp(4.5rem,9vw,8rem) var(--pad)}.section-heading{max-width:82rem;margin:0 auto clamp(3rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,7vw,7rem);align-items:end}.section-heading h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95;letter-spacing:-.02em}.section-heading h2 em{color:var(--sage)}.section-heading>p{color:var(--muted);max-width:35rem}.kicker{color:var(--brown)}.decor-section{position:relative;overflow:hidden;isolation:isolate}.contour-decor{position:absolute;z-index:-1;right:-10%;bottom:-8%;width:75%;height:55%;opacity:.28}.contour-decor path,.leaf-decor path{fill:none;stroke:var(--sage);stroke-width:1.2;stroke-dasharray:3 9;vector-effect:non-scaling-stroke}.services{background:var(--paper)}.service-feature{max-width:82rem;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;background:var(--forest);color:var(--paper)}.service-image{min-height:34rem}.service-image img{height:100%;object-fit:cover}.service-content{padding:clamp(2rem,5vw,4.5rem);align-self:center}.service-number{color:#cbd7c4;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em}.service-icon{width:2.5rem;height:2.5rem;fill:none;stroke:currentColor;stroke-width:1.2;margin:1.4rem 0}.service-content h3,.service-card h3{font-size:clamp(2rem,3vw,2.8rem);line-height:1;margin-bottom:1rem}.service-content>p{color:rgb(255 255 255/.78)}.service-content ul{padding:0;list-style:none;margin:1.5rem 0}.service-content li{border-top:1px solid rgb(255 255 255/.18);padding:.7rem 0;font-size:.85rem}.service-content li::before{content:"✓";color:#cbd7c4;margin-right:.65rem}.service-content .button-solid{background:var(--paper);color:var(--forest)}.service-grid{max-width:82rem;margin:clamp(1.25rem,2vw,2rem) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,2vw,2rem)}.service-card{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--cream)}.service-card-img img{height:100%;object-fit:cover}.service-card-body{padding:clamp(1.5rem,3vw,2.5rem)}.service-card .service-icon{color:var(--sage);margin:0 0 1rem;width:2rem}.service-card h3{font-size:clamp(1.6rem,2.5vw,2.2rem)}.service-card p{font-size:.9rem;color:var(--muted)}
.image-story{position:relative;min-height:48rem;color:var(--paper);display:grid;align-items:end;overflow:hidden}.image-story-bg,.image-story-overlay{position:absolute;inset:0}.image-story-bg img{height:100%;object-fit:cover}.image-story-overlay{background:linear-gradient(0deg,rgb(15 29 20/.94),rgb(15 29 20/.18) 74%)}.image-story-content{position:relative;z-index:2;width:100%;max-width:94rem;margin:auto;padding:clamp(4rem,8vw,7rem) var(--pad)}.image-story h2{font-size:clamp(3rem,7vw,6rem);line-height:.9;margin-bottom:clamp(2.5rem,5vw,4rem)}.story-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgb(255 255 255/.3)}.story-cards article{padding:1.5rem 2rem 0 0;border-right:1px solid rgb(255 255 255/.22);margin-right:2rem}.story-cards article:last-child{border:0}.story-cards strong{font:400 1rem var(--serif);color:#cbd7c4}.story-cards h3{font-size:1.6rem;margin:.4rem 0}.story-cards p{color:rgb(255 255 255/.75);font-size:.9rem;max-width:28rem}
.gallery{background:var(--cream)}.gallery-grid{max-width:82rem;margin:auto;display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-auto-rows:17rem;gap:.8rem}.gallery-item{margin:0;overflow:hidden}.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.gallery-item button{position:relative;border:0;padding:0;width:100%;height:100%;cursor:zoom-in;background:var(--line);color:var(--paper);text-align:left}.gallery-item img{height:100%;object-fit:cover}.gallery-item button::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(20 35 25/.7),transparent 55%);opacity:.7;transition:opacity .3s}.gallery-item button:hover::after{opacity:1}.gallery-item span{position:absolute;z-index:2;left:1rem;bottom:.9rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.center-action{text-align:center;margin-top:2.5rem}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:center;max-width:94rem;margin:auto}.about-photo{position:relative}.about-photo img{height:clamp(30rem,66vw,45rem);max-height:46rem;object-fit:cover}.photo-note{position:absolute;right:-1rem;bottom:2rem;background:var(--forest);color:var(--paper);padding:.7rem 1rem;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase}.about-copy{max-width:40rem}.about h2{font-size:clamp(2.8rem,5vw,4.5rem);line-height:.92;margin-bottom:1.5rem}.about h2 em{color:var(--sage)}.about-lead{font:400 clamp(1.2rem,2vw,1.5rem)/1.45 var(--serif)}.about-copy>p:not(.kicker):not(.about-lead){color:var(--muted)}.about-facts{display:flex;gap:1.4rem;flex-wrap:wrap;border-block:1px solid var(--line);padding:1.2rem 0;margin:1.7rem 0}.about-facts span{font-size:.75rem;color:var(--muted)}.about-facts strong{font:500 1.5rem var(--serif);color:var(--forest);margin-right:.3rem}.leaf-decor{position:absolute;z-index:-1;right:-5%;bottom:-18%;width:48%;opacity:.25;animation:leaf-sway 12s ease-in-out infinite alternate}.leaf-decor svg{width:100%}
.comparison{background:var(--paper)}.compare{max-width:82rem;height:clamp(24rem,60vw,46rem);margin:auto;position:relative;overflow:hidden;--pos:50%}.compare img{position:absolute;inset:0;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;width:100%;overflow:hidden;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.compare-before img{width:100%;height:100%;object-fit:cover}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.compare-handle{position:absolute;z-index:4;top:50%;left:var(--pos);transform:translate(-50%,-50%);width:3.5rem;height:3.5rem;border-radius:50%;background:var(--paper);color:var(--forest);display:grid;place-items:center;box-shadow:0 4px 20px rgb(0 0 0/.22);pointer-events:none;transition:box-shadow .2s,transform .2s}.compare:has(input:focus-visible){outline:3px solid var(--brown);outline-offset:5px}.compare:has(input:focus-visible) .compare-handle{box-shadow:0 0 0 5px var(--brown),0 4px 20px rgb(0 0 0/.22);transform:translate(-50%,-50%) scale(1.08)}.compare-handle::before,.compare-handle::after{content:"";position:absolute;left:50%;width:1px;height:50vh;background:var(--paper)}.compare-handle::before{bottom:100%}.compare-handle::after{top:100%}.compare-handle svg{width:1.5rem;fill:none;stroke:currentColor;stroke-width:1.6}.compare-label{position:absolute;z-index:3;top:1.2rem;background:rgb(24 35 28/.76);color:white;padding:.45rem .7rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}.before-label{left:1.2rem}.after-label{right:1.2rem}.comparison-note{max-width:82rem;margin:1rem auto 0;color:var(--muted);font-size:.78rem}
.testimonials{background:var(--forest);color:var(--paper);padding-bottom:clamp(4rem,8vw,7rem);overflow:hidden}.testimonials-head{padding-bottom:3rem;max-width:94rem;margin:auto}.testimonials h2{font-size:clamp(2.8rem,6vw,5rem);line-height:.92}.testimonials .kicker{color:#cbd7c4}.marquee{overflow:hidden}.marquee-track{display:flex;width:max-content;gap:1rem;animation:marquee 42s linear infinite}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}.testimonial{width:min(30rem,82vw);background:var(--paper);color:var(--ink);padding:clamp(1.5rem,3vw,2.3rem)}.stars{color:var(--brown);letter-spacing:.18em;font-size:.8rem}.testimonial blockquote{font:400 clamp(1.25rem,2vw,1.5rem)/1.4 var(--serif);margin:1rem 0 1.5rem}.testimonial footer{display:flex;gap:.8rem;align-items:center}.avatar{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--sage-light);display:grid;place-items:center;font-size:.7rem;font-weight:500}.testimonial footer strong,.testimonial footer span{display:block}.testimonial footer div span{color:var(--muted);font-size:.75rem}
.contact{position:relative;color:var(--paper);overflow:hidden}.contact-bg,.contact-overlay{position:absolute;inset:0}.contact-bg img{height:100%;object-fit:cover}.contact-overlay{background:linear-gradient(105deg,rgb(18 34 23/.94),rgb(18 34 23/.62))}.contact-inner{position:relative;z-index:2;max-width:94rem;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem);align-items:center}.contact h2{font-size:clamp(3rem,6vw,5.5rem);line-height:.88}.contact-copy>p:not(.kicker){max-width:35rem;color:rgb(255 255 255/.78);margin:1.5rem 0}.contact-copy ul{list-style:none;padding:0;display:flex;gap:1.3rem;flex-wrap:wrap;font-size:.78rem}.contact-copy li{display:flex;gap:.35rem;align-items:center}.contact-form{background:var(--paper);color:var(--ink);padding:clamp(1.5rem,4vw,3rem)}.contact-form textarea{resize:vertical}.consent{grid-template-columns:auto 1fr!important;align-items:start;text-transform:none!important}.consent input{width:1rem;height:1rem}.consent span{text-transform:none!important;letter-spacing:0!important;color:var(--muted)}.contact-form .button{width:100%;margin-top:.6rem}
.site-footer{background:var(--forest-2);color:var(--paper);padding:clamp(3rem,6vw,5rem) var(--pad) 1.5rem;display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:2rem}.site-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.site-footer strong{font:500 1.1rem var(--serif);margin-bottom:.5rem}.site-footer a,.site-footer span,.site-footer p{font-size:.78rem;color:rgb(255 255 255/.7);text-decoration:none;margin:0}.footer-brand span{font-size:1.55rem;color:var(--paper)}.footer-brand small{color:rgb(255 255 255/.65)}.site-footer a:hover{color:var(--paper)}.copyright{grid-column:1/-1;border-top:1px solid rgb(255 255 255/.14);padding-top:1.25rem;margin-top:1.5rem!important}.lightbox{padding:0;border:0;background:transparent;max-width:min(92vw,80rem);max-height:90vh;color:white}.lightbox::backdrop{background:rgb(10 18 12/.9)}.lightbox img{max-height:82vh;object-fit:contain}.lightbox p{text-align:center;margin:.6rem}.lightbox-close{position:fixed;right:1.5rem;top:1rem;background:none;border:0;color:white;font:300 3rem/1 var(--sans);cursor:pointer}
.js .reveal{opacity:0;transform:translateY(1.5rem)}.js .reveal.is-visible{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}
@keyframes dash{to{stroke-dashoffset:-220}}@keyframes leaf-sway{to{transform:rotate(1.5deg) translateX(1rem)}}@keyframes marquee{to{transform:translateX(calc(-50% - .5rem))}}
@media(max-width:1050px){.hero-content{grid-template-columns:1fr .8fr}.trustbar{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.service-card{grid-template-columns:1fr}.service-card-img{height:17rem}.about{gap:3rem}}
@media(max-width:800px){:root{--header-h:5rem}.topbar{display:none}.navbar{padding:.85rem var(--pad)}.menu-toggle{display:block;margin-left:auto}.navbar nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--forest);padding:1.5rem var(--pad);display:none;flex-direction:column;align-items:flex-start;gap:1.2rem;border-top:1px solid var(--line);box-shadow:0 12px 30px rgb(20 30 22/.1)}.navbar nav.is-open{display:flex}.nav-cta{width:100%;text-align:center}.hero{min-height:auto}.hero-content{grid-template-columns:1fr;padding-top:9rem}.hero-copy{padding-top:4rem}.quote-form{margin-top:1rem}.section-heading{grid-template-columns:1fr}.service-feature,.about,.contact-inner{grid-template-columns:1fr}.service-image{min-height:24rem}.service-grid{grid-template-columns:1fr}.story-cards{grid-template-columns:1fr}.story-cards article{border-right:0;border-bottom:1px solid rgb(255 255 255/.2);padding-bottom:1.2rem;margin:0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:15rem}.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.about-photo img{height:34rem}.leaf-decor{width:80%}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.field-row{grid-template-columns:1fr}.hero-content{padding-inline:1rem}.hero h1{font-size:clamp(3.5rem,18vw,5rem)}.quote-form{padding:1.25rem}.trustbar{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.service-card-img{height:14rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:18rem}.gallery-item-tall{grid-row:span 1}.gallery-item-wide{grid-column:span 1}.about-photo img{height:28rem}.photo-note{right:-.5rem}.about-facts{display:grid;grid-template-columns:1fr 1fr}.compare{height:28rem}.contact-copy ul{display:grid}.site-footer{grid-template-columns:1fr}.copyright{margin-top:0!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.marquee{overflow-x:auto}.marquee-track{animation:none}}

/* QA: jól érinthető és billentyűzettel látható interakciók */
.site-header:focus-within{transform:translateY(0)}
.text-link{display:inline-flex;align-items:center;min-height:2.75rem;padding:.65rem 0}
.form-note,.form-status{font-size:.78rem;line-height:1.5;color:#4f5a51}
.consent{align-items:center;min-height:2.75rem;cursor:pointer}
.consent input{width:1.25rem;height:1.25rem}
.site-footer a{display:inline-flex;align-items:center;min-height:2.75rem}
@media(max-width:800px){
  .menu-toggle{display:grid;place-content:center;min-width:2.75rem;min-height:2.75rem}
  .navbar nav{padding:1rem var(--pad);gap:.15rem;align-items:stretch}
  .navbar nav a{display:flex;align-items:center;min-height:2.75rem}
}

/* 2026-08-25 tipográfiai és kontraszt QA */
body{font-size:1rem;font-weight:400}
em{font-style:normal;color:var(--sage)}
.site-header,.site-header.is-hidden{transform:none}
.topbar{max-height:3rem;opacity:1;overflow:hidden;transition:max-height .35s var(--ease),opacity .25s,border-color .25s}
.site-header.is-scrolled .topbar{max-height:0;opacity:0;border-color:transparent}

/* Minden UI- és segédszöveg legalább 14px. */
.topbar,.brand small,.navbar nav a,.hero-kicker,.kicker,.button,.text-link,
.form-heading p,.quote-form label>span,.contact-form label>span,.form-note,.form-status,
.trust-item span,.service-number,.service-content li,.service-card p,.story-cards p,
.gallery-item span,.photo-note,.about-facts span,.compare-label,.comparison-note,
.testimonial footer div span,.contact-copy ul,.site-footer a,.site-footer span,.site-footer p{
  font-size:.875rem;
}

/* Egységes szekciócím-rendszer. */
.section-heading h2,.image-story h2,.about h2,.testimonials h2,.contact h2{
  font-family:var(--serif);font-size:clamp(2.75rem,5vw,4.75rem);font-weight:500;
  font-style:normal;line-height:.95;letter-spacing:-.02em;
}
.section-heading h2 em,.image-story h2 em,.about h2 em,.testimonials h2 em,.contact h2 em,
.hero h1 em{font-style:normal;color:#cbd7c4}
.services .section-heading h2 em,.about h2 em{color:var(--sage)}
.hero h1{font-style:normal;font-weight:500}
.hero-lead,.section-heading>p,.about-copy>p,.service-content>p,.contact-copy>p{
  font-size:1rem;font-weight:400;
}
.hero-kicker,.kicker,.service-number,.gallery-item span,.photo-note{
  text-transform:uppercase;letter-spacing:.16em;font-weight:500;
}

/* Képen fekvő szöveg mindig erős árnyékot és sötétebb hátteret kap. */
.hero-copy,.hero-actions,.image-story-content,.contact-copy,.gallery-item span{
  text-shadow:0 2px 8px rgb(0 0 0/.95),0 1px 4px rgb(0 0 0/.9);
}
.hero-shade{background:linear-gradient(90deg,rgb(12 25 16/.94) 0%,rgb(12 25 16/.76) 48%,rgb(12 25 16/.58) 100%),linear-gradient(0deg,rgb(10 22 14/.78),transparent 62%)}
.image-story-overlay{background:linear-gradient(0deg,rgb(10 23 14/.97),rgb(10 23 14/.48) 78%)}
.contact-overlay{background:linear-gradient(105deg,rgb(10 25 15/.97),rgb(10 25 15/.76))}
.gallery-item button::after{background:linear-gradient(0deg,rgb(12 29 18/.9),rgb(12 29 18/.08) 65%);opacity:.86}
.hero-lines path{stroke-width:1.8;opacity:.9}
.story-cards{border-top-width:2px}
.story-cards article{border-right-width:2px}
.hero-lead,.image-story-content p,.contact-copy>p{color:rgb(255 255 255/.96)}

/* Testimonial monogramok optikai középre igazítása. */
.avatar{display:flex;align-items:center;justify-content:center;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;
  font-size:.875rem;font-weight:600;line-height:1;padding-top:.08em;text-align:center}
.testimonial footer{align-items:center;min-height:2.75rem}
.testimonial footer div{display:flex;flex-direction:column;justify-content:center}

@media(max-width:800px){
  .site-header.is-scrolled .topbar{display:none}
  .section-heading h2,.image-story h2,.about h2,.testimonials h2,.contact h2{font-size:clamp(2.5rem,10vw,3.75rem)}
}

/* A 16px-es body és 14px-es meta minimum kiegészítése. */
.service-card p,.story-cards p,.comparison-note,.contact-copy li{font-size:1rem;font-weight:400}
.stars,.testimonial footer div span,.testimonial footer strong{font-size:.875rem;font-weight:500}
.trust-item strong,.service-content h3,.service-card h3,.story-cards h3,.form-heading h2{
  font-family:var(--serif);font-style:normal;font-weight:500;
}
.service-content li{font-size:1rem;font-weight:400;border-color:rgb(255 255 255/.34)}
.service-content>p{color:rgb(255 255 255/.94)}
.story-cards,.story-cards article{border-color:rgb(255 255 255/.48)}
.compare-label{font-weight:600;text-shadow:0 2px 8px rgb(0 0 0/.95),0 1px 4px rgb(0 0 0/.9)}
.site-footer a{min-width:2.75rem;padding-inline:.35rem}
.consent{padding-block:.4rem}
main section[id]{scroll-margin-top:120px}

/* QA round 2: maradék tipográfiai és igazítási javítások. */
.form-note,.form-status,.site-footer p{font-size:1rem;line-height:1.5}
.testimonial footer .avatar{display:inline-flex;align-items:center;justify-content:center;
  line-height:1;padding:0;text-indent:0}
section[id],[data-section]{scroll-margin-top:7.5rem}
.service-content h3,.service-card h3{font-family:var(--serif);font-size:clamp(1.75rem,2.5vw,2rem);
  font-style:normal;font-weight:500;line-height:1.05}
.contact-form label.consent{position:relative;display:flex!important;align-items:center;
  min-height:2.75rem;padding-left:3.25rem;cursor:pointer}
.consent input{position:absolute;left:0;width:2.75rem;height:2.75rem;margin:0;opacity:0;cursor:pointer}
.consent::before{content:"";position:absolute;left:.75rem;top:50%;width:1.25rem;height:1.25rem;
  transform:translateY(-50%);border:1px solid var(--forest);background:var(--paper)}
.consent:has(input:checked)::before{background:var(--forest)}
.consent:has(input:checked)::after{content:"";position:absolute;left:1.12rem;top:50%;width:.48rem;height:.25rem;
  border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);transform:translateY(-65%) rotate(-45deg)}
.consent:has(input:focus-visible)::before{outline:2px solid var(--brown);outline-offset:3px}
