@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;600;700&family=Roboto:wght@400;500;700&display=swap');
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;font-family:Roboto,Helvetica,Arial,sans-serif;color:#333}
a{color:#7A6B33;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #BAAF78;outline-offset:3px}
.site-page{width:100%;min-height:100vh;background:#fff;color:#333;display:flex;flex-direction:column}
.mobile-menu-toggle{display:none;border:1px solid #D8DEE9;background:#fff;color:#092557;border-radius:4px;padding:10px 14px;font:600 15px Roboto,Arial,sans-serif;cursor:pointer}
.form-status{display:none;padding:12px 14px;border-radius:4px;font-size:14px;line-height:1.5}
.form-status.is-ok{display:block;background:#E8F5EA;color:#174B22;border:1px solid #A7D3AF}
.form-status.is-error{display:block;background:#FFF0ED;color:#7A2418;border:1px solid #E8C4BB}
.hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cookie-modal[hidden]{display:none}
.cookie-modal{position:fixed;inset:0;z-index:9999;background:rgba(6,26,61,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.cookie-dialog{width:min(560px,100%);background:#fff;border-radius:6px;box-shadow:0 20px 70px rgba(0,0,0,.3);padding:28px;color:#333}
.cookie-dialog h2{margin:0 0 10px;font-family:'Roboto Slab',Georgia,serif;color:#092557;font-size:26px}
.cookie-dialog p{line-height:1.65;color:#4A5160}
.cookie-dialog .cookie-actions{display:flex;justify-content:flex-end;margin-top:20px}
.cookie-dialog button{border:0;border-radius:4px;background:#BAAF78;color:#092557;font:700 16px Roboto,Arial,sans-serif;padding:12px 20px;cursor:pointer}
.privacy-document{border:1px solid #E4E0D2;border-radius:4px;padding:30px 34px;background:#fff}
.privacy-document h2{font-family:'Roboto Slab',Georgia,serif;color:#092557;font-size:27px;margin:32px 0 12px}
.privacy-document h2:first-child{margin-top:0}
.privacy-document h3{color:#092557;font-size:20px;margin:26px 0 10px}
.privacy-document p,.privacy-document li{font-size:15.5px;line-height:1.65;color:#4A5160}
.privacy-document ul{padding-left:22px}
.privacy-table{width:100%;border-collapse:collapse;margin:12px 0 24px;font-size:14.5px;line-height:1.5}
.privacy-table th,.privacy-table td{border:1px solid #E4E0D2;padding:10px 12px;vertical-align:top;text-align:left}
.privacy-table th{width:25%;background:#F6F4EC;color:#6E6444;font-weight:500}
.privacy-role{background:#F6F4EC;border-left:4px solid #BAAF78;padding:18px 20px;border-radius:4px;margin-bottom:24px}
.privacy-role strong{color:#092557}
@media print{.site-topbar,.site-nav,.site-footer,.privacy-sidebar,.page-hero,.cookie-modal{display:none!important}.privacy-content{display:block!important;padding:0!important}.privacy-main{width:100%!important}.privacy-document{border:0!important;padding:0!important}body{background:#fff}}

  /* v11: valódi reszponzív fejlesztői átadási prototípus. */
  section.board{max-width:1440px;margin:0 auto;padding:28px 16px 12px}
  .stage.responsive-stage{width:100%!important;height:auto!important;overflow:visible!important}
  .art.responsive-art{width:100%!important;height:auto!important;transform:none!important}
  .site-page{width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .site-page img{max-width:100%;height:auto}
  .mobile-menu-toggle{display:none;border:1px solid #D8DEE9;background:#fff;color:#092557;border-radius:4px;padding:10px 14px;font:600 15px Roboto,Arial,sans-serif;cursor:pointer}
  .implementation-value{font-style:italic;color:#6E6444!important}
  .services-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .site-footer-main{display:flex!important;flex-wrap:wrap}
  .site-footer-main>.nav-spacer{display:none}

  @media (max-width:1180px){
    .site-page>.site-topbar,.site-page>.site-nav{padding-left:48px!important;padding-right:48px!important}
    .site-page>.hero,.site-page>.services,.site-page>.required,.site-page>.about,.site-page>.contact,
    .site-page>.page-hero,.site-page>.impressum-content,.site-page>.privacy-content,
    .site-page>.site-footer{padding-left:48px!important;padding-right:48px!important}
    .site-page>.independence{padding-left:48px!important;padding-right:48px!important}
    .site-nav{gap:18px!important}
    .site-menu{gap:14px!important;font-size:14px!important}
    .nav-phone{font-size:16px!important}
    .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  }

  @media (max-width:900px){
    .site-topbar{height:auto!important;min-height:46px;flex-wrap:wrap!important;gap:7px 14px!important;padding-top:9px!important;padding-bottom:9px!important}
    .site-topbar>span[style*="flex-grow"]{display:none!important}
    .site-nav{height:auto!important;min-height:76px;flex-wrap:wrap!important;padding-top:14px!important;padding-bottom:14px!important}
    .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
    .site-menu{display:none!important;order:10;width:100%;flex-direction:column!important;gap:0!important;white-space:normal!important;border-top:1px solid #E4E0D2;padding-top:8px}
    .site-menu.is-open{display:flex!important}
    .site-menu a{padding:10px 0}
    .nav-spacer{display:none!important}
    .nav-phone{margin-left:auto}
    .hero,.required,.about,.contact,.split-layout{flex-direction:column!important;align-items:stretch!important}
    .hero-card,.required-intro,.about-side,.contact-copy,.sidebar,.privacy-sidebar{width:100%!important;max-width:none!important}
    .hero-copy,.about-copy,.content-main,.privacy-main{max-width:none!important;width:100%!important}
    .section-heading-row{align-items:flex-start!important;flex-direction:column!important;gap:14px!important}
    .heading-sidecopy{width:auto!important;max-width:680px}
    .independence-box{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}
    .site-footer-main{gap:30px!important}
    .site-footer-main>div{width:calc(50% - 15px)!important;min-width:250px}
    .site-footer-main>span[style*="flex-grow"]{display:none!important}
    .site-footer-bottom{flex-wrap:wrap!important}
    .profile-photo{width:min(100%,400px)!important;height:auto!important;aspect-ratio:5/6;object-fit:cover!important}
  }

  @media (max-width:640px){
    section.board{padding:18px 10px 8px}
    header.top{padding:10px 12px}
    header.top h1{font-size:15px}
    nav.idx a{font-size:12px;padding:6px 9px}
    .site-page>.site-topbar,.site-page>.site-nav,
    .site-page>.hero,.site-page>.services,.site-page>.required,.site-page>.about,.site-page>.contact,
    .site-page>.page-hero,.site-page>.impressum-content,.site-page>.privacy-content,
    .site-page>.site-footer,.site-page>.independence{padding-left:20px!important;padding-right:20px!important}
    .site-topbar{font-size:12.5px!important}
    .site-topbar>span:nth-of-type(2){display:none}
    .site-nav .brand>span:first-child{font-size:21px!important;white-space:normal!important}
    .site-nav .brand>span:last-child{font-size:9px!important;letter-spacing:1.5px!important;white-space:normal!important}
    .nav-phone{display:none!important}
    .nav-cta{padding:11px 15px!important;font-size:14px!important}
    .hero{padding-top:42px!important;padding-bottom:44px!important;gap:28px!important}
    .hero h1{font-size:34px!important;line-height:1.12!important}
    .page-hero h1{font-size:34px!important}
    .hero p{font-size:16px!important}
    .hero-actions{flex-direction:column!important;align-items:stretch!important}
    .hero-actions a{text-align:center;padding:14px 18px!important}
    .services,.required,.about,.contact{padding-top:48px!important;padding-bottom:48px!important}
    .independence{padding-bottom:48px!important}
    .services h2,.required h2,.about h2,.contact h2{font-size:29px!important}
    .services-grid,.three-col-grid,.two-col-grid,.form-grid{grid-template-columns:1fr!important}
    .required,.about,.contact,.split-layout{gap:30px!important}
    .data-row{grid-template-columns:1fr!important;gap:4px!important;padding:14px 18px!important}
    .site-footer{padding-top:36px!important;padding-bottom:28px!important}
    .site-footer-main{flex-direction:column!important;gap:24px!important}
    .site-footer-main>div{width:100%!important;min-width:0!important}
    .site-footer-bottom{flex-direction:column!important;gap:6px!important}
    .site-footer-bottom>span[style*="color: #2C4670"]{display:none!important}
    .privacy-content,.impressum-content{padding-top:38px!important;padding-bottom:44px!important}
    input,textarea,button{max-width:100%}
  }

/* Production overrides: no prototype canvas/wrappers. */
section.board,.stage,.art,header.top,footer.end{all:unset}
@media(max-width:640px){.privacy-document{padding:22px 18px}.privacy-table,.privacy-table tbody,.privacy-table tr,.privacy-table th,.privacy-table td{display:block;width:100%}.privacy-table th{border-bottom:0}}
