:root{
    --paper:#F5F1E7;
    --paper-card:#FCFAF4;
    --ink:#262420;
    --ink-soft:#514E45;
    --moss:#2E4152;
    --moss-dark:#1F2C39;
    --sandstone:#B98A4E;
    --slate:#2E4152;
    --slate-ink:#EEE8DA;
    --line:#DAD2C0;
    --radius:2px;
    --maxw:1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation:none !important; transition:none !important;}
  }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Baloo 2', sans-serif;
    font-weight:400;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2{
    font-family:'Marcellus SC', serif;
    font-weight:400;
    line-height:1.15;
    margin:0 0 .5em;
    color:var(--ink);
    letter-spacing:-0.01em;
  }

  a{color:var(--moss); text-decoration:none;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--sandstone); outline-offset:3px;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

  .eyebrow{
    font-family:'Baloo 2', sans-serif;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--sandstone);
    font-weight:600;
    display:block;
    margin-bottom:.9em;
  }

  .btn{
    display:inline-flex; align-items:center; gap:.5em;
    background:var(--moss); color:#fff;
    padding:.85em 1.6em; border-radius:var(--radius);
    font-weight:600; font-size:.92rem; border:1px solid var(--moss);
    cursor:pointer; transition:background .15s ease, color .15s ease;
  }
  .btn:hover{background:var(--moss-dark); border-color:var(--moss-dark);}

  /* ---------- Top bar ---------- */
  .topbar{
    background:var(--paper); color:var(--slate);
    font-size:.82rem; font-weight:400;
  }
  .topbar .wrap{
    display:flex; align-items:center; justify-content:flex-end;
    gap:24px; padding:8px 28px;
  }
  .topbar a{
    color:var(--slate); display:inline-flex; align-items:center; gap:6px;
  }
  .topbar a:hover{color:var(--moss);}
  .topbar svg{width:15px; height:15px; flex-shrink:0;}
  .lang-switch{display:flex; align-items:center; gap:2px; padding-left:14px; margin-left:4px; border-left:1px solid var(--line);}
  .lang-switch a{padding:2px 6px; font-weight:600; font-size:.78rem; letter-spacing:.02em; color:var(--ink-soft); border-radius:3px; display:inline-flex; align-items:center; gap:5px;}
  .lang-switch .flag{display:inline-flex; line-height:0;} .lang-switch .flag svg{border-radius:2px; display:block; width:22px; height:15px;}
  .lang-switch a:hover{color:var(--moss); background:rgba(46,65,82,.08);}
  .lang-switch a.is-current{color:#fff; background:var(--slate); cursor:default; pointer-events:none;}
  @media (max-width:600px){
    .topbar .wrap{gap:14px; padding:7px 20px; justify-content:center; flex-wrap:wrap;}
    .topbar .wrap > a{display:none;}
    .lang-switch{border-left:none; margin-left:0; padding-left:0;}
  }

  /* ---------- Header (shared) ---------- */
  header.site{
    position:sticky; top:0; z-index:50;
    background:var(--slate);
    box-shadow:0 1px 0 0 var(--slate);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:8px 28px; position:relative;}
  .brand{font-family:'Marcellus SC', serif; font-weight:400; font-size:1.25rem; color:#fff; display:flex; align-items:center; gap:.6em;}
  .brand-logo{width:36px; height:36px; display:block; flex-shrink:0;}
  .brand-logo-icon{height:68px; width:auto; display:block;}
    .brand span{color:var(--sandstone); font-weight:700;}
  .nav-links{display:flex; gap:28px; list-style:none; margin:0; padding:0; font-size:1.08rem; font-weight:500; font-family:'Marcellus SC', serif; align-items:center; position:absolute; left:50%; top:50%; transform:translate(calc(-50% + 130px),-50%);}
  .nav-links a{color:rgba(238,232,218,.82);}
  .nav-links a:hover, .nav-links a.active{color:var(--sandstone);}
  .nav-links a.nav-home{
    display:flex; align-items:center; justify-content:center;
    width:34px; height:34px; flex-shrink:0;
    border-radius:50%;
    border:1.5px solid #BFDCEC;
    background:#DCEEF7;
    color:var(--slate);
    transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
    animation:navHomeRollIn 2.6s cubic-bezier(.22,.75,.3,1) .25s both;
  }
  .nav-links a.nav-home:hover{
    background:var(--sandstone); border-color:var(--sandstone); color:var(--slate);
    transform:translateY(-1px);
  }
  .nav-links a.nav-home svg{width:17px; height:17px; display:block;}
  @keyframes navHomeRollIn{
    from{ transform:translateX(-92px) rotate(-330deg); opacity:0; }
    to{ transform:translateX(0) rotate(0deg); opacity:1; }
  }


  .nav-right{display:flex; align-items:center; gap:20px;}
  .nav-phone{font-size:.9rem; font-weight:600; color:rgba(238,232,218,.9); white-space:nowrap;}
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .nav-toggle span{display:block; width:24px; height:2px; background:#fff; margin:5px 0;}

  .nav-panel{display:contents;}
  .nav-panel-brand,
  .nav-panel-contact{display:none;}

  @media (max-width:1180px){
    .nav-panel{
      display:flex; flex-direction:column; justify-content:space-between;
      position:fixed; left:0; right:0; bottom:0; top:64px;
      background:var(--slate);
      padding:28px 24px 32px;
      transform:translateX(100%); transition:transform .25s ease;
      z-index:40; overflow-y:auto;
    }
    .nav-panel.open{transform:translateX(0);}
    .nav-panel-brand{display:none;}
    .nav-links{
      position:static; inset:auto; background:none; transform:none; transition:none;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      flex:1; padding:24px 0; gap:22px; font-size:1.1rem;
    }
    .nav-panel-contact{
      display:flex; flex-direction:column; align-items:center; gap:10px; flex-shrink:0;
      padding-top:18px; border-top:1px solid rgba(238,232,218,.16);
    }
    .nav-panel-contact a{display:inline-flex; align-items:center; gap:8px; color:rgba(238,232,218,.9); font-size:.92rem; font-weight:600;}
    .nav-panel-contact svg{width:16px; height:16px; flex-shrink:0;}
    .nav-toggle{display:block;}
    .nav-right .btn{display:none;}
    body.menu-open .brand{visibility:hidden;}
    .brand-logo-icon{display:none;}
  }

  /* ---------- Page header ---------- */
  .page-hero{
    background:var(--slate); color:var(--slate-ink);
    padding:56px 0 44px;
    border-bottom:1px solid rgba(238,232,218,.14);
  }
  .page-hero .eyebrow{color:var(--sandstone);}
  .page-hero h1{color:#fff; font-size:clamp(1.9rem,3.6vw,2.6rem); margin:0;}
  .page-hero p{color:rgba(238,232,218,.82); max-width:60ch; margin:.7em 0 0;}

  /* ---------- Booking frame ---------- */
  .booking-main{padding:48px 0 24px;}
  .booking-frame-wrap{
    background:var(--paper-card); border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:0 4px 18px rgba(0,0,0,.06);
    padding:24px;
    max-height:80vh;
    overflow-y:auto;
  }

  footer{
    background:var(--slate);
    border-top:1px solid rgba(238,232,218,.16);
    padding:26px 0 40px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
    font-size:.82rem; color:#C9C2B4;
  }
  footer a{color:#FFFFFF; text-decoration:underline; text-underline-offset:2px;}
  footer a:hover{color:var(--sandstone);}

  /* ---------- Okoli: featured (klášter + skály) ---------- */
  .okoli-main{padding:56px 0 40px;}
  .okoli-feature-full{
    display:grid; grid-template-columns:1.05fr 1fr;
    background:var(--paper-card); border:1px solid var(--line);
    overflow:hidden; margin:26px 0;
    box-shadow:0 4px 16px rgba(0,0,0,.05);
  }
  .okoli-feature-full .okoli-feature-photo{height:100%; min-height:380px;}
  .okoli-feature-full .okoli-feature-body{padding:40px 44px; display:flex; flex-direction:column; justify-content:center;}
  .okoli-feature-full h2{font-size:clamp(1.7rem,2.8vw,2.3rem);}
  .okoli-feature-photo{display:block; width:100%; height:340px; object-fit:cover; object-position:center;}
  .okoli-feature-body{padding:30px 30px 34px;}
  .okoli-kicker{
    font-family:'Baloo 2', sans-serif;
    font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
    font-weight:600; color:var(--sandstone); display:block; margin-bottom:.6em;
  }
  .okoli-feature h2, .okoli-feature-full h2{color:var(--ink); margin:0 0 12px; line-height:1.25;}
  .okoli-feature h2{font-size:clamp(1.5rem,2.4vw,1.9rem);}
  .okoli-pill{
    display:inline-flex; align-items:center; gap:6px;
    margin:0 0 16px; padding:6px 13px;
    background:var(--paper); border:1px solid var(--line); border-radius:30px;
    font-size:.82rem; font-weight:600; color:var(--ink); white-space:nowrap;
  }
  .okoli-feature p, .okoli-feature-full p{color:var(--ink-soft); font-size:.98rem; line-height:1.65; margin:0 0 14px;}
  .okoli-tip{
    border-left:3px solid var(--sandstone);
    padding:2px 0 2px 14px; margin:16px 0 0;
    font-style:italic; color:var(--ink); font-size:.92rem; line-height:1.55;
  }
  .okoli-tip b{font-style:normal; color:var(--sandstone);}
  @media (max-width:900px){
    .okoli-feature-full{grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto;}
    .okoli-feature-full .okoli-feature-photo{height:260px; min-height:0;}
    .okoli-feature-full .okoli-feature-body{padding:26px 24px 30px;}
    .okoli-feature-photo{height:260px;}
  }

  /* ---------- Okoli: grid (ostatní tipy) — originální styl se zvětšováním ---------- */
  .okoli-grid{display:flex; align-items:flex-start; gap:30px;}
  .okoli-grid + .okoli-grid{margin-top:30px;}
  .okoli-card{
    background:var(--paper-card); border:1px solid var(--line);
    display:flex; flex-direction:column; overflow:hidden;
    flex:1 1 0; min-width:0;
    transition:box-shadow .3s ease, transform .3s ease, flex-grow 1.9s cubic-bezier(.19,1,.22,1);
  }
  .okoli-card:hover{box-shadow:0 14px 30px rgba(0,0,0,.1); transform:translateY(-4px);}
  .okoli-grid:has(.okoli-card:hover) .okoli-card{flex-grow:.35;}
  .okoli-grid:has(.okoli-card:hover) .okoli-card:hover{flex-grow:6;}
  .okoli-card-body{padding:28px 24px 30px; display:flex; flex-direction:column; align-items:center; text-align:center; flex-grow:1;}
  .okoli-card h2{color:var(--ink); font-size:1.25rem; margin:0 0 6px; line-height:1.3; min-height:2.6em;}
  .trail-marker{
    display:inline-flex; align-items:center; gap:8px;
    margin:5px 0 14px; padding:5px 12px 5px 5px;
    background:var(--paper); border:1px solid var(--line);
    border-radius:30px;
  }
  .trail-marker .swatch{width:22px; height:22px; background:#fff; border:1.5px solid #2a2a2a; border-radius:2px; position:relative; flex-shrink:0;}
  .trail-marker .swatch::before{content:""; position:absolute; left:0; right:0; top:50%; height:4px; transform:translateY(-50%); background:var(--stripe, var(--sandstone));}
  .okoli-card:nth-child(1) .swatch{--stripe:#c0392b;}
  .okoli-card:nth-child(2) .swatch{--stripe:var(--moss);}
  .okoli-card:nth-child(3) .swatch{--stripe:#2E6DA4;}
  .trail-marker .distance{font-size:.85rem; font-weight:600; color:var(--ink); white-space:nowrap;}
  .okoli-card p{color:var(--ink-soft); font-size:.92rem; margin:0; line-height:1.5;}
  .okoli-card p:not(.more){height:9em; overflow:hidden; display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; transition:height 1.9s cubic-bezier(.19,1,.22,1);}
  .okoli-card:hover p:not(.more){height:auto; -webkit-line-clamp:unset; overflow:visible;}
  .okoli-card p.more{max-height:0; opacity:0; margin-top:0; overflow:hidden; transition:max-height 1.9s cubic-bezier(.19,1,.22,1), opacity 1.9s cubic-bezier(.19,1,.22,1), margin-top 1.9s cubic-bezier(.19,1,.22,1);}
  .okoli-card p.more>span{display:block;}
  .okoli-card:hover p.more{max-height:400px; opacity:1; margin-top:10px;}
  .pesky-photo{display:block; width:100%; height:220px; object-fit:contain; object-position:center; background:var(--paper); transition:height 1.9s cubic-bezier(.19,1,.22,1);}
  .okoli-card:hover .pesky-photo{height:300px;}
  @media (max-width:900px){
    .okoli-grid{flex-direction:column; max-width:460px; margin-left:auto; margin-right:auto;}
    .okoli-card{flex:1 1 auto;}
    .okoli-grid:has(.okoli-card:hover) .okoli-card{flex-grow:1;}
  }


  /* ---------- Activity detail cards (styled like okoli-card) ---------- */
  .activity-detail{padding:8px 0 76px;}
  .icon-banner{
    display:flex; align-items:center; justify-content:center;
    width:100%; height:220px; background:var(--paper);
  }
  .icon-banner svg{width:64px; height:64px; color:var(--sandstone);}

  /* ---------- Big photo hero (klášter) ---------- */
  .hero{
    position:relative;
    overflow:hidden;
    color:var(--slate-ink);
    width:100%;
    aspect-ratio:2/1;
    min-height:calc(480px + 84px);
    max-height:calc(85vh + 84px);
    margin-top:-84px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
  }
  .hero-photo{position:absolute; inset:0; z-index:0; margin:0;}
  .hero-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 38%; display:block;}
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(0deg, rgba(20,24,20,.72) 0%, rgba(20,24,20,.15) 55%, rgba(20,24,20,0) 100%);
  }
  .hero-content{position:relative; z-index:3; width:100%; padding:0 0 44px;}
  .hero-text-panel{display:inline-block; max-width:640px;}
  .hero h1{color:#FBF6EC; font-size:clamp(2.1rem, 4.6vw, 3.2rem); max-width:16ch; text-shadow:0 1px 3px rgba(0,0,0,.5), 0 6px 24px rgba(0,0,0,.45); margin:0 0 .4em;}
  .hero p.lead{font-size:1.06rem; color:#fff; font-weight:400; max-width:56ch; margin:0; text-shadow:0 1px 3px rgba(0,0,0,.5), 0 6px 24px rgba(0,0,0,.45);}
  @media (max-width:1180px){
    .hero{aspect-ratio:4/5; min-height:calc(420px + 62px); max-height:calc(88vh + 62px); margin-top:-62px;}
    .hero-content{padding:0 0 24px;}
  }

  /* ---------- Velká úvodní fotka kláštera (bez roztažení přes celou šířku) ---------- */
  .klaster-hero{padding:44px 0 0;}
  .klaster-hero-photo{
    width:100%; overflow:hidden;
    border:1px solid var(--line);
  }
  .klaster-hero-photo img{width:100%; height:auto; display:block;}
  .klaster-hero-text{padding:34px 0 8px; max-width:720px;}
  .klaster-hero-text h1{font-size:clamp(1.9rem,3.6vw,2.7rem); margin:0 0 .35em;}
  .klaster-hero-text p.lead{color:var(--ink-soft); font-size:1.06rem; margin:0;}


  /* ---------- Ubytování na dosah: foto + text ---------- */
  .stay-nearby{padding:52px 0; background:#E4F1F7; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .stay-nearby-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .stay-nearby-photo{overflow:hidden; background:#fff; padding:8px; border:1px solid var(--line); box-shadow:0 1px 3px rgba(0,0,0,.1);}
  .stay-nearby-photo img{width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/3; border-radius:1px;}
  .stay-nearby h2{font-size:clamp(1.4rem,2.4vw,1.85rem); margin:0 0 .5em; max-width:24ch;}
  .stay-nearby p{color:var(--ink-soft); font-size:1rem; line-height:1.7; margin:0 0 1.1em;}
  .stay-nearby .btn{margin-top:8px;}
  .btn-image{display:inline-block; line-height:0; margin-top:8px;}
  .btn-image img{height:56px; width:auto; display:block;}
  @media (max-width:860px){
    .stay-nearby-grid{grid-template-columns:1fr; gap:28px;}
  }

  .klaster-content{padding:56px 0 24px;}
  .klaster-grid{display:grid; grid-template-columns:1.55fr 1fr; gap:48px; align-items:start;}
  .klaster-body h2{font-size:1.5rem; margin:1.3em 0 .5em;}
  .klaster-body h2:first-child{margin-top:0;}
  .klaster-body p{color:var(--ink-soft); font-size:1rem; line-height:1.7; margin:0 0 1.1em;}
  .klaster-side{
    background:var(--paper-card); border:1px solid var(--line);
    padding:26px 26px 28px; position:sticky; top:100px;
  }
  .klaster-side h3{font-family:'Baloo 2', sans-serif; font-size:1rem; font-weight:600; color:var(--ink); margin:0 0 16px;}
  .klaster-side dl{margin:0 0 20px; font-size:.92rem;}
  .klaster-side dt{color:var(--sandstone); font-weight:600; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; margin-top:14px;}
  .klaster-side dt:first-child{margin-top:0;}
  .klaster-side dd{margin:2px 0 0; color:var(--ink);}
  .klaster-side .btn{width:100%; justify-content:center; margin-top:6px;}
  .klaster-side .side-services{margin-top:22px; padding-top:18px; border-top:1px solid var(--line);}
  .klaster-side .side-services-title{color:var(--sandstone); font-weight:600; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; margin:0 0 10px;}
  .klaster-side .side-services ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
  .klaster-side .side-services a{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:.7em 1.1em; background:var(--paper); color:var(--slate); border:1px solid var(--line); border-radius:var(--radius); font-weight:600; font-size:.92rem; text-decoration:none; transition:background .15s ease, border-color .15s ease;}
  .klaster-side .side-services a::after{content:"→"; color:var(--sandstone); transition:transform .15s ease;}
  .klaster-side .side-services a:hover{background:#fff; border-color:var(--sandstone);}
  .klaster-side .side-services a:hover::after{transform:translateX(3px);}
  .klaster-back{display:inline-flex; align-items:center; gap:6px; color:var(--ink-soft); font-size:.9rem; text-decoration:none; margin-bottom:18px;}
  .klaster-back:hover{color:var(--sandstone);}
  @media (max-width:900px){
    .klaster-grid{grid-template-columns:1fr;}
    .klaster-side{position:static;}
  }
  .contact{padding:80px 0 40px; background:var(--slate); color:#EFEAE0;}
  .contact-grid{display:grid; grid-template-columns:0.85fr 1.075fr 1.075fr; gap:40px; margin-bottom:60px; align-items:stretch;}
  .contact h2{font-size:clamp(1.8rem,3.4vw,2.4rem); color:#fff; margin:0 0 .5em;}
  .contact .eyebrow{color:var(--sandstone);}
  .contact-list{list-style:none; padding:0; margin:1.6em 0; font-size:.98rem;}
  .contact-list li{padding:10px 0; border-bottom:1px solid rgba(238,232,218,.16); display:flex; gap:12px;}
  .contact-list b{min-width:60px; color:#C9C2B4; font-weight:600; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em;}
  .contact-list a{color:#EFEAE0;}
  .contact-form-col{display:flex; flex-direction:column;}
  .contact-form-dark{margin:0; flex:1; display:flex; flex-direction:column;}
  .contact-form-dark .btn{margin-top:auto; align-self:flex-start; padding:.55em 1.15em; font-size:.84rem; border-radius:8px;}
  .contact-form-dark .contact-form-row{display:flex; gap:14px;}
  .contact-form-dark .contact-form-field{margin-bottom:14px; flex:1; min-width:0;}
  .contact-form-dark .contact-form-field label{display:block; font-size:.78rem; font-weight:600; color:#C9C2B4; margin-bottom:5px; text-transform:uppercase; letter-spacing:.04em;}
  .contact-form-dark .contact-form-field input,
  .contact-form-dark .contact-form-field textarea{
    width:100%; border:1px solid rgba(238,232,218,.25); border-radius:var(--radius);
    padding:.6em .8em; font-family:inherit; font-size:.92rem; color:#fff;
    background:rgba(255,255,255,.06); box-sizing:border-box; transition:border-color .15s ease;
  }
  .contact-form-dark .contact-form-field input::placeholder,
  .contact-form-dark .contact-form-field textarea::placeholder{color:rgba(238,232,218,.4);}
  .contact-form-dark .contact-form-field input:focus,
  .contact-form-dark .contact-form-field textarea:focus{border-color:var(--sandstone); outline:none;}
  .contact-form-dark .contact-form-field textarea{min-height:84px; resize:vertical;}
  .contact-form-dark .contact-form-status{margin-top:10px; font-size:.86rem; display:none;}
  .contact-form-dark .contact-form-status.is-visible{display:block;}
  .contact-form-dark .contact-form-status.is-error{color:#E8A796;}
  .contact-form-dark .contact-form-status.is-success{color:#B7D8A0;}
  @media (max-width:600px){.contact-form-dark .contact-form-row{flex-direction:column; gap:0;}}
  .email-btn-wrap{position:relative; display:inline-block;}
  .envelope-fly{
    position:absolute; left:14px; top:50%; transform:translateY(-50%);
    width:20px; height:20px; opacity:0; pointer-events:none; z-index:2;
  }
  .email-btn-wrap:hover .envelope-fly{
    animation:flyEnvelope 1.1s cubic-bezier(.34,1.4,.64,1) forwards;
  }
  @keyframes flyEnvelope{
    0%{opacity:0; transform:translate(0,-50%) scale(.7) rotate(0deg);}
    12%{opacity:1; transform:translate(4px,-50%) scale(1) rotate(-4deg);}
    100%{opacity:0; transform:translate(150px,-140%) scale(.8) rotate(18deg);}
  }
  .contact-map-col{display:flex; flex-direction:column;}
  .map-box{
    border:1px solid rgba(238,232,218,.2); background:rgba(255,255,255,.06);
    flex:1; min-height:260px; overflow:hidden; position:relative;
    color:#C9C2B4; font-size:.85rem;
    transition:box-shadow .3s ease;
    box-shadow:0 0 0 rgba(0,0,0,0);
  }
  .map-box:hover{box-shadow:0 18px 40px rgba(0,0,0,.35); transform:scale(1.015);}
  .map-box iframe{display:block; transition:filter .4s ease;}
  .map-label{
    position:absolute; left:50%; top:44%; transform:translate(-50%,10px);
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:.92rem;
    color:var(--ink); background:rgba(252,250,244,.92);
    padding:5px 12px; border-radius:20px; white-space:nowrap; z-index:2;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
  }
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr; gap:34px;}}
