*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:#071b19;color:#f6f0e5;font-family:Manrope,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topline{height:3px;background:linear-gradient(90deg,#88612f,#f0d69b,#9e743d)}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px clamp(18px,5vw,76px);background:rgba(5,22,20,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,183,117,.2)}.brand img{display:block;width:min(300px,31vw);height:auto}.nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}.nav a{font-size:12px;letter-spacing:.07em;color:#e7e1d6;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:#e7c68a}.nav .nav-cta{padding:10px 16px;border:1px solid #cba66b;color:#e7c68a}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:#e7c68a}.hero{position:relative;min-height:660px;display:flex;align-items:center;overflow:hidden;background:#0b2925}.hero-bg{position:absolute;inset:0;background-image:url('assets/portfolio/IMG_2547.jpeg');background-position:center 54%;background-size:cover;filter:saturate(.9)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,17,.94) 0%,rgba(4,19,17,.76) 48%,rgba(4,19,17,.15) 100%),linear-gradient(0deg,rgba(4,19,17,.6),transparent 40%)}.hero-content{position:relative;z-index:1;max-width:790px;padding:90px clamp(24px,8vw,120px)}.eyebrow{color:#d5b477;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.hero-logo{display:flex;flex-direction:column;align-items:flex-start;margin:24px 0 22px}.brand-mark{font-family:'Cormorant Garamond',Georgia,serif;font-size:76px;line-height:.8;color:#dfbd7c;text-shadow:0 0 28px rgba(220,181,113,.25)}.hero-wordmark{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,4vw,46px);font-weight:600;letter-spacing:.12em;color:#e9d19e;margin-top:12px}.hero-submark{font-size:10px;letter-spacing:.16em;color:#e7c68a;margin-top:6px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.06}h1{font-size:clamp(42px,5.2vw,70px);margin:0 0 20px;max-width:700px}h1 em,h2 em{display:block;color:#e3c38b;font-weight:400} .hero-content>p{max-width:540px;color:#e5e0d6;font-size:15px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 22px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,#f1dba9,#bd9152);color:#12231e}.btn-outline{border-color:#d4b77e;color:#f2dfb8;background:rgba(5,25,22,.3)}.hero-note{position:absolute;right:5vw;bottom:25px;color:#e4d0a9;font-size:9px;letter-spacing:.2em}.hero-note span{padding:0 8px;color:#d1a962}.intro-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px;padding:24px 18px;background:#0d2925;border-bottom:1px solid rgba(218,184,120,.18);color:#d9c69f;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.intro-strip i{width:3px;height:3px;border-radius:50%;background:#c7a56d}.section{padding:92px clamp(20px,7vw,104px)}.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-head h2,.about-copy h2,.contact h2,.booking h2{font-size:clamp(38px,4.3vw,58px);margin:14px 0}.section-head p{color:#bdbdb2;font-size:14px}.services{background:radial-gradient(ellipse at 50% 0%,#123c35 0%,#071b19 60%)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1200px;margin:auto}.service-card{position:relative;min-height:155px;padding:24px;background:linear-gradient(145deg,rgba(20,62,55,.88),rgba(8,29,26,.9));border:1px solid rgba(207,173,112,.35);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#e2c48b}.service-icon{font-size:26px;color:#d8b879;margin-bottom:12px}.service-card b{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:500}.service-card small{margin-top:7px;color:#c4bda9;font-size:9px;letter-spacing:.13em}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,100px);align-items:center;background:#0a211e}.about-image{position:relative;min-height:450px}.about-image img{width:100%;height:450px;object-fit:cover;display:block}.image-caption{position:absolute;bottom:18px;left:18px;padding:9px 14px;background:rgba(5,20,18,.8);color:#e5c98f;font-size:9px;letter-spacing:.2em}.about-copy p{color:#c9c8bf;font-size:14px}.text-link{display:inline-block;margin-top:18px;color:#e2c58e;font-size:12px;letter-spacing:.08em;border-bottom:1px solid rgba(226,197,142,.5);padding-bottom:7px}.text-link span{padding-left:12px}.portfolio{background:#071b19}.filter-bar{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 28px;max-width:1100px}.filter-btn{background:transparent;border:1px solid rgba(213,180,119,.4);color:#d8d1c3;padding:9px 14px;font-size:10px;letter-spacing:.04em;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:#d4b477;color:#10231f;border-color:#d4b477}.portfolio-grid{columns:4 220px;column-gap:13px;max-width:1300px;margin:auto}.photo-card{position:relative;display:inline-block;width:100%;margin:0 0 13px;break-inside:avoid;background:#0c2a25;border:1px solid rgba(207,173,112,.2);padding:5px;cursor:zoom-in}.photo-card img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.photo-card figcaption{padding:9px 8px 7px;color:#d5c8ad;font-size:10px;letter-spacing:.05em}.photo-card[hidden]{display:none}.photo-count{text-align:center;color:#a9a99e;font-size:11px;margin-top:18px}.pricing{background:#0a211e}.price-panel{max-width:900px;margin:auto;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(213,180,119,.35);background:linear-gradient(120deg,rgba(21,65,57,.75),rgba(7,27,25,.85))}.price-panel h3{font-size:30px;margin:5px 0}.price-panel p{max-width:570px;color:#c6c4b9;font-size:13px}.price-mark{color:#dfc18a;font-size:24px}.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,7vw,100px);align-items:start;background:linear-gradient(130deg,#0e332e,#071b19)}.booking-copy p{color:#c8c8bd;font-size:14px}.booking-perks{display:grid;gap:12px;margin-top:30px;color:#dfc18a;font-size:12px}.booking-form{background:#f3eee4;color:#192a25;padding:clamp(22px,4vw,40px);box-shadow:0 20px 60px rgba(0,0,0,.22)}.booking-form h3{font-size:32px;margin:0 0 22px}.booking-form label{display:block;margin:0 0 13px;font-size:11px;font-weight:700;color:#31413b}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #d7d0c4;background:#fffefa;color:#182822;border-radius:0;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#9a7847;box-shadow:0 0 0 2px rgba(154,120,71,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional{font-weight:400;color:#7a8079}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.5}.consent input{margin-top:3px}.consent a{color:#77552a;text-decoration:underline}.booking-form .btn{width:100%;margin-top:6px}.form-hint{font-size:10px;color:#69736d}.form-status{font-size:12px;color:#265d4b;margin-top:12px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact{display:flex;align-items:center;justify-content:space-between;gap:50px;background:#071b19}.contact h2{max-width:520px}.contact-side{max-width:460px}.contact-side p{color:#c9c8bf;font-size:14px}.contact-side small{display:block;margin-top:24px;color:#9f9f95;font-size:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px clamp(20px,5vw,76px);border-top:1px solid rgba(213,180,119,.2);background:#051411;color:#a9a99e;font-size:10px}.footer-brand img{width:210px}.footer-links{display:flex;gap:18px}.footer-links a:hover{color:#e2c58e}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:60px 70px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:90vw;max-height:85vh;text-align:center}.lightbox img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain}.lightbox figcaption{color:#e2d4b9;font-size:12px;margin-top:10px}.lightbox button{position:absolute;border:1px solid rgba(230,207,160,.5);background:rgba(8,27,24,.8);color:#f2dfb8;cursor:pointer}.lightbox-close{right:22px;top:18px;font-size:32px;width:45px;height:45px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:38px;width:48px;height:58px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.noscript{color:#d8d1c3;text-align:center}.privacy-page{max-width:900px;margin:60px auto;padding:0 22px 80px}.privacy-page h1{font-size:44px}.privacy-page h2{font-size:26px;color:#e2c58e;margin-top:32px}.privacy-page p,.privacy-page li{color:#d1d0c6;font-size:14px}.privacy-page .placeholder{padding:15px;border:1px solid #b88f54;color:#f0d7a5;background:#182a24}.privacy-page a{color:#e2c58e;text-decoration:underline}
@media(max-width:1050px){.nav{gap:12px}.nav a{font-size:10px}.brand img{width:245px}.portfolio-grid{columns:3 190px}}
@media(max-width:820px){.header{padding:12px 18px}.brand img{width:min(260px,65vw)}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 22px 22px;background:rgba(5,22,20,.98);border-bottom:1px solid rgba(220,183,117,.2);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:12px;padding:10px}.hero{min-height:650px}.hero-content{padding:75px 25px}.hero-shade{background:linear-gradient(90deg,rgba(4,19,17,.9),rgba(4,19,17,.48)),linear-gradient(0deg,rgba(4,19,17,.5),transparent)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about,.booking{grid-template-columns:1fr}.about-image,.about-image img{min-height:300px;height:340px}.section{padding:70px 22px}.contact{display:block}.contact-side{margin-top:28px}.price-panel{display:block}.price-panel .btn{margin-top:15px}.portfolio-grid{columns:2 150px}footer{flex-wrap:wrap}.footer-links{width:100%;justify-content:space-between}}
@media(max-width:480px){.hero{min-height:620px}.hero-content{padding:65px 20px}.hero-wordmark{font-size:26px;letter-spacing:.08em}.brand-mark{font-size:62px}h1{font-size:43px}.hero-note{font-size:8px;left:20px;right:auto}.intro-strip{gap:10px;font-size:8px}.intro-strip i{display:none}.service-grid{grid-template-columns:1fr}.service-card{min-height:125px}.section-head h2,.about-copy h2,.contact h2,.booking h2{font-size:39px}.portfolio-grid{columns:2 135px;column-gap:8px}.photo-card{margin-bottom:8px;padding:3px}.photo-card figcaption{font-size:9px;padding:7px 5px}.filter-bar{justify-content:flex-start}.filter-btn{font-size:9px;padding:8px 10px}.form-row{grid-template-columns:1fr}.booking-form{padding:22px 17px}.lightbox{padding:60px 45px}.lightbox-prev{left:4px}.lightbox-next{right:4px}footer{font-size:9px}.footer-brand img{width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


.wedding{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(35px,7vw,100px);align-items:center;background:linear-gradient(135deg,#0d2b26,#071b19 72%);border-top:1px solid rgba(213,180,119,.16);border-bottom:1px solid rgba(213,180,119,.16)}
.wedding-copy h2{font-size:clamp(38px,4.3vw,58px);margin:14px 0}
.wedding-copy h2 em{display:block;color:#e3c38b;font-weight:400}
.wedding-lead,.wedding-note{color:#c9c8bf;font-size:14px;max-width:760px}
.wedding-details{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin:32px 0}
.wedding-details>div{display:grid;grid-template-columns:34px 1fr;align-items:start;column-gap:10px}
.wedding-details span{grid-row:span 2;color:#d5b477;font-family:'Cormorant Garamond',Georgia,serif;font-size:23px}
.wedding-details b{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:500;color:#f3ead9;line-height:1.15}
.wedding-details small{margin-top:6px;color:#aaa99e;font-size:11px;line-height:1.5}
.wedding-note{font-size:12px;margin:0 0 24px}
.wedding-aside{display:flex;align-items:center;justify-content:center;min-height:360px;padding:25px;border:1px solid rgba(213,180,119,.35);background:radial-gradient(ellipse at center,#19463c 0%,#0a211e 68%,#071b19 100%)}
.wedding-frame{width:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;border:1px solid rgba(213,180,119,.35)}
.wedding-ornament{font-size:34px;color:#d8b879}
.wedding-frame p{max-width:330px;margin:20px 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,3vw,39px);line-height:1.15;color:#f0e4cd}
.wedding-frame small{font-size:9px;letter-spacing:.22em;color:#d5b477}
@media(max-width:800px){.wedding{grid-template-columns:1fr}.wedding-aside{min-height:280px}.wedding-frame{min-height:230px}}
@media(max-width:520px){.wedding-details{grid-template-columns:1fr;gap:18px}.wedding-aside{padding:15px}}


.cookie-banner{position:fixed;z-index:1000;left:16px;right:16px;bottom:16px;max-width:900px;margin:auto;padding:18px 20px;background:#0b2823;color:#f3eee4;border:1px solid #c9a96e;box-shadow:0 12px 40px #0009;display:flex;gap:20px;align-items:center;justify-content:space-between}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:6px 0 0;color:#d1d0c7;font-size:13px}.cookie-banner a{color:#e4c58c}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions button,.cookie-settings{border:1px solid #c9a96e;padding:9px 13px;background:#c9a96e;color:#10251f;cursor:pointer}.cookie-actions .cookie-secondary,.cookie-settings{background:transparent;color:#e4c58c}.cookie-settings{position:fixed;z-index:900;bottom:12px;right:12px;font-size:11px}@media(max-width:650px){.cookie-banner{display:block}.cookie-actions{margin-top:12px}.cookie-actions button{flex:1}}

.legal-page{max-width:900px;margin:0 auto;padding:48px 22px 90px;color:#e9e4d9;line-height:1.75}.legal-page h1{font-size:clamp(34px,5vw,52px);color:#e3c38b;margin:25px 0}.legal-page h2{font-size:25px;color:#e3c38b;margin:30px 0 8px}.legal-page p{color:#d2d0c7;font-size:15px}.legal-page a{color:#e3c38b}


/* Galéria: kategóriaválasztás az első lépés, képek csak kattintás után jelennek meg. */
.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:980px;margin:0 auto 30px}
.filter-btn{min-height:74px;padding:16px 18px;border:1px solid rgba(213,180,119,.48);background:linear-gradient(145deg,rgba(20,62,55,.78),rgba(8,29,26,.9));color:#e4d5b6;font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;letter-spacing:.02em;transition:background .2s,border-color .2s,transform .2s}
.filter-btn:hover,.filter-btn.active{background:linear-gradient(135deg,#e5c58d,#bd9254);border-color:#e5c58d;color:#10231f;transform:translateY(-2px)}
.gallery-empty{text-align:center;max-width:650px;margin:34px auto 10px;padding:28px 20px;border:1px solid rgba(213,180,119,.25);color:#c9bea8;font-size:14px;letter-spacing:.03em}
.portfolio-grid[hidden],.gallery-empty[hidden]{display:none}
@media(max-width:600px){.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.filter-btn{min-height:68px;padding:12px 9px;font-size:17px}.gallery-empty{font-size:12px;padding:22px 14px}}


/* HERO: a foto hatterkepkent jelenik meg a teljes nyito szekcioban */
.hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: clamp(650px, 78vh, 900px);
  overflow: hidden;
  isolation: isolate;
  background: #071b19;
}
.hero-bg {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("assets/hero/IMG_2547.jpeg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: none;
}
.hero-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,19,17,.91) 0%, rgba(4,19,17,.72) 42%, rgba(4,19,17,.18) 100%),
    linear-gradient(0deg, rgba(4,19,17,.55), transparent 45%);
}
.hero-content {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  max-width: 760px;
  padding: clamp(72px, 8vw, 112px) clamp(24px, 7vw, 100px);
  margin: 0;
  text-align: left;
}
.hero-logo { align-items: flex-start; }
.hero-note { z-index: 2; }
@media (min-width: 1100px) {
  .hero { min-height: min(820px, 82vh); }
  .hero-content { margin-left: max(0px, calc((100vw - 1440px) / 2)); }
}
@media (max-width: 820px) {
  .hero {
    display: flex;
    min-height: 760px;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .hero-bg {
    inset: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
  }
  .hero-shade {
    background: linear-gradient(180deg, rgba(4,19,17,.58) 0%, rgba(4,19,17,.72) 48%, rgba(4,19,17,.90) 100%);
  }
  .hero-content {
    width: 100%;
    max-width: 680px;
    padding: 68px 26px 76px;
    margin: 0 auto;
    text-align: left;
  }
  .hero-logo { align-items: flex-start; }
}
@media (max-width: 480px) {
  .hero { min-height: 760px; }
  .hero-content { padding: 58px 22px 70px; }
  .hero-wordmark { font-size: clamp(22px, 6vw, 29px); }
  .hero h1, h1 { font-size: clamp(39px, 10vw, 49px); line-height: 1.05; }
  .hero-note { display: none; }
}
/* ABOUT: a portrait legyen aranyos es reszponziv desktopon is */
.about.section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(30px, 5vw, 76px);
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: clamp(56px, 6vw, 96px) clamp(24px, 5vw, 76px);
}
.about-image { width: 100%; min-width: 0; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.about-image img {
  display: block; width: 100%; height: 100%; min-height: 0;
  object-fit: cover; object-position: center;
}
.about-copy { width: 100%; min-width: 0; max-width: 640px; justify-self: center; }
@media (max-width: 820px) {
  .about.section { grid-template-columns: minmax(0,1fr); padding: 48px 20px; }
  .about-image { width: min(100%, 620px); margin-inline: auto; max-height: 460px; }
  .about-copy { max-width: 680px; margin-inline: auto; }
}


/* CZITO FOTOGRAFUS – automatikus, lathato galeria-vizjel */
.photo-card .photo-open {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.photo-card .photo-open::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: min(76%, 340px);
  height: clamp(28px, 5vw, 48px);
  background-image: url("assets/logo.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .78;
  pointer-events: none;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.7));
}
.lightbox figure {
  position: relative;
  isolation: isolate;
}
.lightbox figure::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: clamp(14px, 3vh, 28px);
  transform: translateX(-50%);
  width: min(66%, 460px);
  height: clamp(34px, 7vh, 64px);
  background: url("assets/logo.svg") center / contain no-repeat;
  opacity: .82;
  pointer-events: none;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.85));
}
@media (max-width: 600px) {
  .photo-card .photo-open::after {
    width: 82%;
    height: 30px;
    bottom: 7px;
  }
  .lightbox figure::after {
    width: 78%;
    height: 42px;
    bottom: 12px;
  }
}
