:root{
--bg:#eeeae0;--cream:#f5f1e9;--ink:#161513;--muted:#77736b;--line:rgba(22,21,19,.16);
--serif:"Playfair Display",serif;--sans:"DM Sans",sans-serif;--display:"Syne",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{text-decoration:none;color:inherit}.header{height:80px;position:fixed;z-index:80;top:0;left:0;right:0;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;transition:.35s}.header.scrolled{background:rgba(238,234,224,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:9px;font-family:var(--display);letter-spacing:.08em}.brand strong{font-size:19px}.brand span{font-size:9px;letter-spacing:.22em}.nav{display:flex;gap:28px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.nav>a{opacity:.72}.nav>a:hover{opacity:1}.nav-cta{padding:12px 16px;border:1px solid var(--ink);opacity:1!important}.hamburger{display:none;background:none;border:0;width:40px}.hamburger i{height:1px;background:var(--ink);display:block;margin:6px}
.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#aaa}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:heroZoom 12s ease-out forwards}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.78),rgba(10,9,8,.35) 53%,rgba(10,9,8,.05))}.hero-lines{position:absolute;inset:9% 5%;border:1px solid rgba(255,255,255,.2);pointer-events:none}.hero-content{position:relative;z-index:2;color:white;padding:15vh 8vw 0;max-width:780px}.eyebrow,.kicker{font-size:9px;letter-spacing:.3em;font-weight:700;text-transform:uppercase}.hero h1{font:500 clamp(64px,9vw,142px)/.75 var(--display);letter-spacing:-.07em;margin:26px 0 35px}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}.hero-content>p{max-width:480px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.86)}.hero-buttons{display:flex;gap:28px;align-items:center;margin-top:35px}.btn{display:inline-flex;gap:38px;align-items:center;justify-content:center;padding:17px 21px;border:1px solid transparent;font-size:9px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;transition:.3s}.btn span{font-size:16px;font-weight:400}.btn.dark{background:var(--ink);color:white}.btn.dark:hover{transform:translateY(-3px);background:#000}.btn.light{background:#f8f4ed;color:var(--ink)}.btn.light:hover{transform:translateY(-3px);background:white}.hero-scroll{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.hero-stamp{position:absolute;right:5vw;top:43%;writing-mode:vertical-rl;color:white;font-size:8px;letter-spacing:.35em;line-height:2.2;opacity:.7}.hero-bottom{position:absolute;bottom:30px;left:8vw;color:white;font-size:8px;letter-spacing:.25em;display:flex;gap:14px;align-items:center}.hero-bottom span{width:42px;height:1px;background:white}@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}
.manifesto{padding:120px 8vw 130px;background:var(--cream)}.manifesto-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.25em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px}.manifesto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;padding-top:75px}.manifesto h2,.about h2,.why h2,.services h2,.booking h2,.contact h2{font:500 clamp(52px,6.7vw,104px)/.84 var(--display);letter-spacing:-.065em;margin:0}.manifesto h2 em,.about h2 em,.why h2 em,.services h2 em,.booking h2 em,.contact h2 em{font-family:var(--serif);font-weight:400}.manifesto-copy{max-width:500px;padding-top:8px}.lead{font-size:18px!important;line-height:1.6!important;color:var(--ink)!important}.manifesto-copy p,.about-copy p,.why-head p,.services-intro p,.booking-content>p,.contact p{font-size:14px;line-height:1.85;color:var(--muted)}.line-link,.social-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.line-link b{font-size:15px;margin-left:20px}
.about{padding:130px 8vw;display:grid;grid-template-columns:.82fr 1.18fr;gap:10vw;align-items:center}.about-visual{position:relative}.about-visual img{width:100%;height:650px;object-fit:cover;object-position:center top}.about-label{position:absolute;left:22px;bottom:22px;color:white;font-family:var(--display);font-size:10px;letter-spacing:.2em;line-height:1.15}.about-copy .kicker{color:var(--muted)}.about-copy h2{margin:25px 0 30px}.about-copy{max-width:620px}.social-link{margin-top:28px}
.why{padding:125px 8vw;background:var(--ink);color:white}.why .kicker{color:#9b978e}.why-head{display:grid;grid-template-columns:1fr .6fr;gap:12vw;align-items:end;margin-top:45px}.why-head p{color:#aaa69e;margin-bottom:4px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);margin-top:90px}.benefits article{min-height:270px;padding:25px 28px 20px 0;border-right:1px solid rgba(255,255,255,.18)}.benefits article:not(:first-child){padding-left:25px}.benefits article:last-child{border:0}.benefits span{font-size:9px;color:#8d8880}.benefits h3{font:500 35px/.9 var(--display);margin:45px 0 20px;letter-spacing:-.05em}.benefits p{font-size:11px;line-height:1.7;color:#a7a29a;max-width:190px}
.visual-break{display:grid;grid-template-columns:1.05fr .7fr .95fr;min-height:690px}.visual-break img{width:100%;height:100%;object-fit:cover;display:block}.visual-large{overflow:hidden}.visual-large img{filter:saturate(.75)}.visual-small{overflow:hidden}.visual-small img{filter:saturate(.65)}.visual-copy{background:#ded9cd;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:50px 40px}.visual-copy span{font:500 45px/.82 var(--display);letter-spacing:-.06em}.visual-copy p{font-size:11px;color:var(--muted);line-height:1.6}
.portfolio{padding:125px 8vw;background:var(--cream)}.portfolio-head{display:grid;grid-template-columns:1fr .45fr;gap:10vw;align-items:end}.portfolio-head .kicker{color:var(--muted)}.portfolio h2{font:500 clamp(52px,6.5vw,98px)/.83 var(--display);letter-spacing:-.06em;margin:25px 0 0}.portfolio h2 em{font-family:var(--serif);font-weight:400}.portfolio-head>p{font-size:13px;line-height:1.8;color:var(--muted)}.masonry{display:grid;grid-template-columns:1.05fr .75fr .95fr;grid-template-rows:310px 310px;gap:18px;margin-top:70px}.masonry figure{margin:0;position:relative;overflow:hidden;background:#ddd}.masonry figure img{width:100%;height:100%;object-fit:cover;transition:1s;filter:saturate(.8)}.masonry figure:hover img{transform:scale(1.05)}.masonry-a{grid-row:1/3}.masonry-b{grid-column:2}.masonry-c{grid-column:3;grid-row:1/3}.masonry-d{grid-column:2}.masonry figcaption{position:absolute;bottom:15px;left:15px;background:rgba(20,19,17,.78);color:white;padding:8px 11px;font-size:8px;letter-spacing:.17em}
.services{padding:125px 8vw}.services .kicker{color:var(--muted)}.services-intro{display:grid;grid-template-columns:1fr .55fr;gap:10vw;align-items:end;margin-top:45px}.services-intro p{margin:0}.service-groups{margin-top:80px}.service-group{border-top:1px solid var(--line);padding:45px 0 20px}.group-title{display:grid;grid-template-columns:45px 1fr .8fr;align-items:start;margin-bottom:25px}.group-title span{font-size:9px;color:var(--muted)}.group-title h3{font:500 38px var(--display);letter-spacing:-.04em;margin:0}.group-title small{font-size:10px;line-height:1.6;color:var(--muted);max-width:300px}.service-item{display:grid;grid-template-columns:1.5fr .5fr 110px;align-items:center;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.service-item b{font-weight:500}.service-item span{font-family:var(--display);font-size:13px}.service-item a{text-align:right;font-size:8px;letter-spacing:.13em}.service-item:hover a{text-decoration:underline}.price-note{font-size:10px;color:var(--muted);margin-top:25px}
.reel{height:75vh;min-height:560px;position:relative;overflow:hidden;background:#111}.reel video{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.reel-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.1))}.reel-text{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-50%);color:white}.reel-text span{display:block;font-size:9px;letter-spacing:.3em;margin-bottom:25px}.reel-text strong{font:500 clamp(65px,8vw,125px)/.78 var(--display);letter-spacing:-.07em}.reel-text em{font-family:var(--serif);font-weight:400}
.booking{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:#181715;color:white}.booking-image{overflow:hidden}.booking-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.booking-content{padding:100px 8vw;display:flex;flex-direction:column;justify-content:center}.booking-content .kicker{color:#8f8a82}.booking h2{margin:25px 0 30px}.booking-content>p{color:#aaa69f;max-width:470px}.booking-content .btn{align-self:flex-start;margin-top:25px}.booking-meta{display:flex;flex-direction:column;gap:7px;margin-top:45px;color:#8f8a82;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.booking-meta a{color:white}
.contact{padding:125px 8vw;background:var(--cream)}.contact .kicker{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:12vw;margin-top:45px}.contact h2{margin-bottom:30px}.contact-list{display:flex;flex-direction:column;gap:8px;margin-top:40px;font-size:12px}.contact-list a{text-decoration:underline;text-underline-offset:4px}.contact-grid form{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}.contact-grid label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.contact-grid label:last-of-type{grid-column:1/-1}.contact-grid input,.contact-grid textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;font:14px var(--sans);outline:none;resize:vertical}.contact-grid input:focus,.contact-grid textarea:focus{border-color:var(--ink)}.contact-grid button{margin-top:3px;justify-self:start}.form-status{grid-column:1/-1;font-size:10px!important;color:var(--muted)!important;margin:0}
footer{padding:38px 8vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}footer .brand{color:var(--ink);text-transform:none;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(28px);transition:.9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
.header{padding:0 6vw}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:rgba(238,234,224,.97);backdrop-filter:blur(15px);padding:25px 6vw 30px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hamburger{display:block}.hero-content{padding-left:6vw}.hero h1{font-size:70px}.manifesto,.about,.why,.portfolio,.services,.contact{padding-left:6vw;padding-right:6vw}.manifesto-grid,.about,.why-head,.services-intro,.portfolio-head,.contact-grid{grid-template-columns:1fr;gap:45px}.about-visual img{height:600px}.benefits{grid-template-columns:1fr 1fr}.visual-break{grid-template-columns:1fr 1fr}.visual-copy{grid-column:1/-1;min-height:300px}.masonry{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px}.masonry-a{grid-row:1}.masonry-b{grid-column:2}.masonry-c{grid-column:1;grid-row:2}.masonry-d{grid-column:2}.booking{grid-template-columns:1fr}.booking-image{height:500px}.booking-content{padding:85px 6vw}
}
@media(max-width:560px){
.hero{min-height:680px}.hero-lines{inset:11% 5%}.hero h1{font-size:57px}.hero-content>p{font-size:13px}.hero-buttons{flex-direction:column;align-items:flex-start}.manifesto,.about,.why,.portfolio,.services,.contact{padding-top:85px;padding-bottom:90px}.manifesto h2,.about h2,.why h2,.services h2,.booking h2,.contact h2{font-size:58px}.manifesto-top{font-size:7px}.about-visual img{height:500px}.benefits{grid-template-columns:1fr}.benefits article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:25px 0!important;min-height:220px}.benefits article:last-child{border-bottom:0}.visual-break{display:block}.visual-large,.visual-small{height:430px}.visual-copy{min-height:290px}.masonry{display:grid;grid-template-columns:1fr;grid-template-rows:430px 350px 430px 350px}.masonry-a,.masonry-b,.masonry-c,.masonry-d{grid-column:1;grid-row:auto}.service-item{grid-template-columns:1fr auto;gap:7px}.service-item a{grid-column:1;text-align:left}.group-title{grid-template-columns:35px 1fr}.group-title small{grid-column:2;margin-top:7px}.reel{height:60vh;min-height:450px}.booking-image{height:430px}.contact-grid form{grid-template-columns:1fr}.contact-grid label:last-of-type{grid-column:1}.contact-grid button{width:100%}footer{padding:30px 6vw;align-items:flex-start;flex-direction:column;gap:18px}
}
/* =========================================
   HEADER / LOGO COLOR TRANSITION
========================================= */

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  
  transition:
    background-color 0.45s ease,
    box-shadow 0.45s ease,
    backdrop-filter 0.45s ease;
}

/* Alapállapot: hero fölött fehér */

.brand,
.brand:visited,
.brand:hover,
.brand:active,
.brand:focus {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.4s ease;
}

.brand strong,
.brand span {
  color: #ffffff;
  transition: color 0.4s ease;
}


/* =========================================
   SCROLLED STATE
========================================= */

.header.scrolled .brand,
.header.scrolled .brand:visited,
.header.scrolled .brand:hover,
.header.scrolled .brand:active,
.header.scrolled .brand:focus {
  color: #111111;
}

.header.scrolled .brand strong,
.header.scrolled .brand span {
  color: #111111;
}

.form-status {
  margin: 0;
  font-size: 10px !important;
  line-height: 1.5 !important;
  color: var(--muted) !important;
  transition: opacity 0.3s ease;
}

.form-status.success {
  color: #536b45 !important;
}

.form-status.error {
  color: #9b4b43 !important;
}

button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.privacy-check {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 9px !important;
  line-height: 1.6;
  color: var(--muted);
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.privacy-check input {
  width: auto !important;
  margin: 2px 0 0 !important;
  flex-shrink: 0;
}

.privacy-check a {
  text-decoration: underline;
  text-underline-offset: 3px;
}