*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2efe8;color:#22211e;font-family:"DM Sans",sans-serif}img{width:100%;height:100%;object-fit:cover;display:block}a{text-decoration:none;color:inherit}.site-header{height:76px;position:fixed;z-index:10;left:0;right:0;top:0;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(#1119,transparent);mix-blend-mode:normal}.brand{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600;letter-spacing:.14em}.brand i,.contact h2 em,.about h2 em,.statement h2 em,.services h2 em{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.02em}.brand i{font-size:16px;text-transform:none}.stone-mark{width:34px;height:34px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center}.nav{display:flex;align-items:center;gap:28px;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.nav-button{padding:11px 18px;border-radius:30px;background:#e7dfd0;color:#27251f}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:100svh;min-height:650px;position:relative;color:#fff;overflow:hidden}.hero-img{position:absolute;inset:0;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080806b8,#08080620 75%),linear-gradient(0deg,#0808069a,transparent 55%)}.hero-content{position:absolute;left:8vw;bottom:14vh;max-width:700px}.kicker,.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.kicker{opacity:.75;margin-bottom:22px}.hero h1{font-size:clamp(66px,10vw,150px);line-height:.83;letter-spacing:-.055em;margin:0;font-weight:500}.hero h1 em{font-family:"Playfair Display",serif;font-weight:500}.lead{font-size:18px;line-height:1.5;max-width:480px;margin:32px 0}.pill{display:inline-flex;align-items:center;gap:45px;border-radius:100px;padding:15px 20px 15px 23px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.pill b{font-size:18px;font-weight:400}.light{background:#fff;color:#24221e}.dark{background:#24231f;color:#fff;border:0;cursor:pointer}.hero-bottom{position:absolute;left:8vw;right:4vw;bottom:35px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:.65}.section{padding:125px 8vw}.statement{display:grid;grid-template-columns:1fr 2fr;gap:8vw}.eyebrow{color:#7d776e}.statement h2,.services h2,.about h2{font-size:clamp(50px,6.5vw,95px);line-height:.93;letter-spacing:-.05em;font-weight:500;margin:0}.statement p{max-width:620px;color:#656158;line-height:1.7;font-size:17px;margin:40px 0 0}.projects{padding:0 14px 130px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.project{position:relative;overflow:hidden;background:#ddd}.project img{transition:transform .7s ease}.project:hover img{transform:scale(1.035)}.project.tall{height:58vw;max-height:850px}.project.wide{height:36vw;max-height:520px}.project.full{height:42vw;max-height:620px}.project.close img{object-position:center 70%}.project div{position:absolute;bottom:0;left:0;right:0;padding:30px;color:#fff;background:linear-gradient(transparent,#0009);display:flex;justify-content:space-between;font-size:12px}.project small{opacity:.65}.services{background:#dcd5c8}.services-top{display:flex;justify-content:space-between;align-items:end;margin:55px 0 75px}.services-top p{max-width:300px;color:#625e56;line-height:1.6}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2b292533}.service-list div{min-height:150px;padding:25px 25px 25px 0;border-bottom:1px solid #2b292533}.service-list div:nth-child(3n+2),.service-list div:nth-child(3n){padding-left:25px;border-left:1px solid #2b292533}.service-list span{font-size:10px;color:#7b756c}.service-list h3{font-size:21px;font-weight:500;margin-top:30px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-photo{height:55vw;max-height:720px}.about-copy p{max-width:530px;color:#656158;line-height:1.7;margin-top:25px}.contact{background:#292823;color:#fff;padding:125px 8vw;display:grid;grid-template-columns:1fr 1.15fr;gap:9vw}.contact .eyebrow{color:#aaa49a}.contact h2{font-size:clamp(55px,7vw,105px);line-height:.92;letter-spacing:-.05em;font-weight:500;margin:50px 0 28px}.contact-copy>p{color:#b7b1a5;line-height:1.6;max-width:500px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fields label{color:#aaa49a;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.fields input,.fields select,.fields textarea{width:100%;margin-top:9px;border:0;border-bottom:1px solid #5c5952;background:transparent;color:#fff;padding:11px 0;font:15px "DM Sans",sans-serif;outline:0}.fields select option{color:#222}.fields .message{grid-column:1}.upload{grid-column:2}.upload input{display:none}.upload span{display:block;border:1px dashed #69655d;padding:15px;margin-top:9px;color:#aaa49a;text-transform:none;letter-spacing:0;cursor:pointer}.form-note{font-size:10px;color:#858178;margin-top:17px}.success{font-size:12px;margin-top:15px;color:#d7cdbb}footer{padding:32px 4vw;display:flex;justify-content:space-between;gap:20px;color:#777168;font-size:10px;text-transform:uppercase;letter-spacing:.1em}footer strong{color:#24221e}footer i{font-family:"Playfair Display",serif;text-transform:none;font-size:14px;font-weight:500}
@media(max-width:800px){.site-header{height:68px;padding:0 20px}.menu-btn{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;padding:20px;background:#25241f;flex-direction:column;align-items:stretch;gap:12px}.nav.open{display:flex}.nav a{padding:9px 0}.nav-button{text-align:center}.hero-content{left:24px;right:24px;bottom:12vh}.hero h1{font-size:clamp(60px,18vw,100px)}.lead{font-size:15px}.section{padding:85px 24px}.statement,.about,.contact{grid-template-columns:1fr;gap:45px}.statement h2,.services h2,.about h2{font-size:clamp(48px,14vw,80px)}.projects{grid-template-columns:1fr;padding:0 8px 85px}.project.tall,.project.wide,.project.full{height:105vw;max-height:none}.services-top{display:block;margin:40px 0 55px}.services-top p{margin-top:25px}.service-list{grid-template-columns:1fr}.service-list div,.service-list div:nth-child(3n+2),.service-list div:nth-child(3n){padding:24px 0;border-left:0}.about-photo{height:110vw}.contact{padding:85px 24px}.fields{grid-template-columns:1fr;gap:22px}.fields .message,.upload{grid-column:auto}footer{padding:28px 20px;flex-wrap:wrap}}

.owner-name{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:#aaa49a;margin-top:28px}
.phone{display:inline-block;margin-top:28px;color:#fff;font-size:22px;letter-spacing:.02em;border-bottom:1px solid #777268;padding-bottom:7px}
footer div{display:flex;align-items:center;gap:18px}
footer small{font-size:10px;color:#99938a}
.footer-phone{color:#24221e;font-weight:600}
@media(max-width:800px){
  .owner-name{margin-top:20px}
  .phone{font-size:19px}
  footer div{width:100%;justify-content:space-between}
  .footer-phone{width:100%}
}

/* ===== Mobilbarát finomhangolás ===== */
@media (max-width:800px){
  body{overflow-x:hidden}
  .site-header{height:64px;padding:0 16px;background:linear-gradient(#080806cc,transparent)}
  .brand{font-size:10px;letter-spacing:.12em}.brand i{font-size:14px}
  .stone-mark{width:30px;height:30px;font-size:9px}
  .menu-btn{display:grid;place-items:center;width:46px;height:46px;font-size:22px;cursor:pointer}
  .nav{top:64px;padding:12px 18px 20px;gap:4px;box-shadow:0 18px 35px #0006}
  .nav a{min-height:46px;display:flex;align-items:center;padding:10px 4px}
  .nav-button{justify-content:center;margin-top:5px}
  .hero{height:92svh;min-height:590px}
  .hero-shade{background:linear-gradient(0deg,#080806c9 0%,#08080635 52%,#0808064d 100%)}
  .hero-content{left:20px;right:20px;bottom:105px}
  .kicker{font-size:9px;margin-bottom:16px}
  .hero h1{font-size:clamp(56px,17vw,88px);line-height:.84}
  .lead{font-size:15px;line-height:1.45;margin:23px 0;max-width:330px}
  .pill{min-height:50px;padding:14px 18px 14px 20px;gap:32px}
  .hero-bottom{left:20px;right:20px;bottom:24px;font-size:8px}
  .section{padding:72px 20px}
  .statement{gap:35px}
  .statement h2,.services h2,.about h2{font-size:clamp(44px,13vw,72px);line-height:.92}
  .statement p{font-size:15px;line-height:1.65;margin-top:27px}
  .projects{display:flex;flex-direction:column;gap:9px;padding:0 8px 72px}
  .project.tall,.project.wide,.project.full{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
  .project:nth-child(1){aspect-ratio:4/5}.project:nth-child(6){aspect-ratio:16/9}
  .project div{padding:20px 17px;font-size:11px}
  .services-top{display:block;margin:38px 0 42px}.services-top p{font-size:14px;margin:22px 0 0}
  .service-list{grid-template-columns:1fr}
  .service-list div,.service-list div:nth-child(3n+2),.service-list div:nth-child(3n){
    min-height:0;padding:21px 0;border-left:0;display:flex;align-items:center;gap:16px
  }
  .service-list h3{font-size:18px;margin:0}.service-list span{min-width:24px}
  .about{gap:36px}.about-photo{height:auto;aspect-ratio:4/5;max-height:none}
  .about-copy p{font-size:15px;line-height:1.65;margin-top:20px}
  .contact{padding:72px 20px 88px;gap:38px}
  .contact h2{font-size:clamp(48px,14vw,78px);margin:38px 0 22px}
  .contact-copy>p{font-size:14px;line-height:1.65}.phone{font-size:19px;margin-top:24px}
  .fields{grid-template-columns:1fr;gap:21px}
  .fields label{font-size:9px}.fields input,.fields select,.fields textarea{font-size:16px;padding:13px 0}
  .upload span{padding:18px 14px}.contact .button{width:100%;justify-content:space-between;min-height:52px;margin-top:2px}
  .form-note{line-height:1.5}
  footer{padding:27px 20px 32px;flex-direction:column;align-items:flex-start;gap:15px;font-size:9px}
  footer div{width:100%;justify-content:space-between}.footer-phone{font-size:13px}
}
@media(max-width:380px){
  .hero h1{font-size:55px}.hero-content{bottom:95px}
  .statement h2,.services h2,.about h2{font-size:43px}.contact h2{font-size:46px}
}

/* ===== Galéria (rendezett rács) ===== */
.gallery-wrap{padding:0 14px 120px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:min(36vw,520px);gap:14px}
.g{position:relative;margin:0;overflow:hidden;background:#ddd}
.g.s8{grid-column:span 8}.g.s4{grid-column:span 4}
.g button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.g:hover img{transform:scale(1.035)}
.g figcaption{position:absolute;bottom:0;left:0;right:0;padding:26px 22px 20px;color:#fff;background:linear-gradient(transparent,#000a);display:flex;justify-content:space-between;gap:12px;font-size:12px;pointer-events:none}
.g figcaption small{opacity:.65}

/* ===== Hogyan készül ===== */
.process{background:#dcd5c8}
.process-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:55px 0 65px}
.process-top h2{font-size:clamp(50px,6.5vw,95px);line-height:.93;letter-spacing:-.05em;font-weight:500;margin:0}
.process-top h2 em{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.02em}
.process-top p{max-width:320px;color:#625e56;line-height:1.6}
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:3vw;align-items:start}
.ba-stage{position:relative;aspect-ratio:3/4;overflow:hidden;background:#bbb;user-select:none;touch-action:pan-y}
.ba-stage>img,.ba-top,.ba-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-top{clip-path:inset(0 50% 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none;box-shadow:0 0 12px #0006}
.ba-handle i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:#fff;color:#24221e;display:grid;place-items:center;font-style:normal;font-size:18px;box-shadow:0 3px 14px #0005}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-tag{position:absolute;top:16px;padding:7px 12px;border-radius:20px;background:#000a;color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.ba-tag.l{left:14px}.ba-tag.r{right:14px}
.ba-cap{font-size:14px;line-height:1.6;color:#4f4b44;margin:18px 0 0;max-width:430px}

/* ===== Képnézegető ===== */
.lightbox{position:fixed;inset:0;z-index:50;background:#0d0d0bf2;display:flex;align-items:center;justify-content:center;padding:56px 70px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}
.lightbox figcaption{color:#cfc8ba;font-size:13px;letter-spacing:.04em}
.lb-close,.lb-nav{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:42px;line-height:1;width:56px;height:56px;display:grid;place-items:center}
.lb-close{top:10px;right:14px;font-size:38px}
.lb-nav{top:50%;margin-top:-28px}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}
body.lb-open{overflow:hidden}

@media(max-width:1000px){.gallery{grid-auto-rows:min(40vw,420px)}}
@media(max-width:800px){
  .gallery-wrap{padding:0 8px 72px}
  .gallery{display:flex;flex-direction:column;gap:9px}
  .g{height:auto;aspect-ratio:4/3}.g.s4{aspect-ratio:4/5}
  .g figcaption{padding:20px 17px 16px;font-size:11px}
  .process-top{display:block;margin:38px 0 40px}
  .process-top h2{font-size:clamp(44px,13vw,72px)}
  .process-top p{margin-top:22px;font-size:14px}
  .ba-grid{grid-template-columns:1fr;gap:38px}
  .ba-stage{aspect-ratio:4/5}
  .lightbox{padding:60px 10px 50px}
  .lb-nav{top:auto;bottom:0;margin:0}.lb-nav.prev{left:calc(50% - 70px)}.lb-nav.next{right:calc(50% - 70px)}
}

/* ===== Űrlap: többszörös választás ===== */
.fields label:nth-of-type(3){grid-column:1/-1}
.service-pick{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.service-pick legend{padding:0;color:#aaa49a;text-transform:uppercase;letter-spacing:.1em;font-size:10px;margin-bottom:12px}
.service-pick legend em{font-style:normal;text-transform:none;letter-spacing:0;color:#858178}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.fields .opt{display:block;text-transform:none;letter-spacing:0;font-size:14px;color:#e7e1d5;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.opt span{display:block;padding:11px 18px;border:1px solid #69655d;border-radius:30px;transition:.15s}
.opt:hover span{border-color:#aaa49a}
.opt input:checked+span{background:#e7dfd0;color:#27251f;border-color:#e7dfd0}
.opt input:focus-visible+span{outline:2px solid #e7dfd0;outline-offset:2px}
.fields .message{grid-column:1/-1}.fields .upload{grid-column:1/-1}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.err{font-size:12px;margin-top:15px;color:#f0b8a8}
@media(max-width:800px){.opt span{padding:12px 16px}.fields .opt{font-size:15px}}
.contact .pill.dark{background:#e7dfd0;color:#27251f;margin-top:28px}
