/* Strona kontaktowa Happy Mouse. */
.contact-page{background:var(--paper);color:var(--ink)}
.contact-eyebrow{display:block;color:var(--gold);font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase}
.contact-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf9 0%,#fbf5ec 58%,#efd9d2 100%)}
.contact-hero:before,.contact-hero:after{position:absolute;border:1px solid rgba(185,135,82,.16);border-radius:50%;content:'';pointer-events:none}
.contact-hero:before{top:-190px;right:-80px;width:430px;height:430px}
.contact-hero:after{right:250px;bottom:-140px;width:260px;height:260px}
.contact-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:90px;min-height:420px;padding-block:78px}
.contact-hero h1{max-width:760px;margin:10px 0 18px;font-size:58px;letter-spacing:-.025em}
.contact-hero__inner>div>p{max-width:680px;margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.contact-hero__note{position:relative;padding:36px;border:1px solid rgba(185,135,82,.35);background:rgba(255,253,249,.78);box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.contact-hero__note:before{position:absolute;inset:11px;border:1px solid rgba(185,135,82,.14);content:'';pointer-events:none}
.contact-hero__note strong,.contact-hero__note span,.contact-hero__note p{position:relative;z-index:1;display:block}
.contact-hero__note strong{font-family:'Playfair Display',serif;font-size:27px;font-weight:400}
.contact-hero__note span{margin-top:5px;color:var(--gold);font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.contact-hero__note p{margin:18px 0 0;color:var(--muted);font-size:10px;line-height:1.75}
.contact-main{padding:86px 0 100px}
.contact-main__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:76px;align-items:start}
.contact-details{position:sticky;top:160px}
.contact-details h2,.contact-form-card h2{margin:8px 0 15px;font-size:37px;letter-spacing:-.015em}
.contact-details__list{margin-top:30px;border-top:1px solid var(--line)}
.contact-details__list a{position:relative;display:block;padding:22px 38px 22px 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease,color .2s ease}
.contact-details__list a:after{position:absolute;top:50%;right:5px;content:'›';color:var(--gold);font-family:'Playfair Display',serif;font-size:24px;transform:translateY(-50%)}
.contact-details__list a:hover{padding-left:7px;color:var(--rose-dark)}
.contact-details__list small,.contact-details__list strong,.contact-details__list span{display:block}
.contact-details__list small{margin-bottom:5px;color:var(--gold);font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.contact-details__list strong{font-size:12px;font-weight:500;line-height:1.55}
.contact-details__list span{margin-top:4px;color:var(--muted);font-size:9px}
.contact-details__photo{position:relative;margin:34px 0 0;padding:10px;border:1px solid var(--line);background:#fff}
.contact-details__photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.contact-details__photo figcaption{padding:12px 4px 3px;color:var(--muted);font-size:8px;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.contact-form-card{padding:46px 48px;border:1px solid var(--line);background:#fff;box-shadow:0 22px 70px rgba(72,53,39,.08)}
.contact-form-card__intro{max-width:660px;margin:0 0 28px;color:var(--muted);font-size:11px;line-height:1.75}
.contact-alert{display:grid;gap:4px;margin:0 0 25px;padding:17px 18px;border:1px solid var(--line);font-size:10px;line-height:1.55}
.contact-alert strong{font-weight:500}
.contact-alert span{color:var(--muted)}
.contact-alert--success{border-color:#bfcdb5;background:#f6faf3}
.contact-alert--error{border-color:#d8b3ab;background:#fff6f3}
.contact-form{position:relative;display:grid;gap:18px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:8px;color:var(--ink);font-size:8px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.contact-form label small{color:var(--muted);font-size:7px;font-weight:400;letter-spacing:.04em;text-transform:none}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf9;color:var(--ink);font-family:inherit;font-size:11px;letter-spacing:0;line-height:1.5;text-transform:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input,.contact-form select{height:50px;padding:0 14px}
.contact-form textarea{min-height:155px;padding:14px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,135,82,.08)}
.contact-form__consent{display:flex!important;grid-template-columns:18px 1fr;align-items:flex-start;gap:10px!important;color:var(--muted)!important;font-size:8.5px!important;font-weight:400!important;letter-spacing:0!important;line-height:1.65;text-transform:none!important}
.contact-form__consent input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--rose-dark)}
.contact-form .button{justify-self:start;min-width:190px;margin-top:4px}
.contact-form__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-help{padding:86px 0;background:#f8f1e8;border-block:1px solid var(--line)}
.contact-heading{max-width:760px;margin-bottom:36px}
.contact-heading h2{margin:9px 0 0;font-size:38px}
.contact-help__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(185,135,82,.3);border-left:1px solid rgba(185,135,82,.3)}
.contact-help__grid article{min-height:215px;padding:28px 25px;border-right:1px solid rgba(185,135,82,.3);border-bottom:1px solid rgba(185,135,82,.3);background:rgba(255,255,255,.46)}
.contact-help__grid article>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:8px}
.contact-help__grid h3{margin:28px 0 10px;font-family:'Playfair Display',serif;font-size:22px;font-weight:400}
.contact-help__grid p{margin:0;color:var(--muted);font-size:10px;line-height:1.75}
.contact-company{padding:66px 0;background:#fff}
.contact-company__inner{display:grid;grid-template-columns:.7fr 1fr .7fr;gap:60px;align-items:start}
.contact-company h2{margin:8px 0 0;font-size:33px}
.contact-company__data{display:grid;gap:5px;color:var(--muted);font-size:10px;line-height:1.6}
.contact-company__data strong{margin-bottom:3px;color:var(--ink);font-weight:500}
.contact-company__links{display:grid;border-top:1px solid var(--line)}
.contact-company__links a{padding:11px 0;border-bottom:1px solid var(--line);color:var(--rose-dark);font-size:8px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1000px){
  .contact-hero__inner{grid-template-columns:1fr;gap:34px;min-height:0;padding-block:64px}
  .contact-hero__note{max-width:560px}
  .contact-main__grid{grid-template-columns:1fr;gap:45px}
  .contact-details{position:static}
  .contact-details__photo{max-width:430px}
  .contact-help__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-company__inner{grid-template-columns:1fr 1fr;gap:38px}
  .contact-company__links{grid-column:1/-1}
}
@media(max-width:720px){
  .contact-hero__inner{padding-block:52px}
  .contact-hero h1{font-size:43px}
  .contact-hero__inner>div>p{font-size:13px;line-height:1.75}
  .contact-hero__note{padding:30px 27px}
  .contact-main{padding:54px 0 70px}
  .contact-details h2,.contact-form-card h2{font-size:30px}
  .contact-details__photo{max-width:none}
  .contact-form-card{padding:31px 20px}
  .contact-form__row{grid-template-columns:1fr}
  .contact-form input,.contact-form select{height:48px}
  .contact-form .button{width:100%}
  .contact-help{padding:58px 0}
  .contact-heading h2{font-size:30px}
  .contact-help__grid{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .contact-help__grid::-webkit-scrollbar{display:none}
  .contact-help__grid article{flex:0 0 min(78vw,290px);min-height:205px;scroll-snap-align:start}
  .contact-company{padding:52px 0}
  .contact-company__inner{grid-template-columns:1fr;gap:28px}
  .contact-company__links{grid-column:auto}
}
