/* ============================================================
   Grace Home — nowa strona glowna (projekt: stronaglowna2)
   Zrodlo: Claude Design "Grace Home.dc.html" (2026-07-22)
   Tokeny: krem #FBF7F0 / atrament #33251E / bronz #B4884C
           ciemny braz #3E2C22 / akcent jasny #EFCBAC
   Fonty: Cormorant Garamond (naglowki) + Jost (tekst)
   ============================================================ */
body.ghh {
  --ghh-cream:#FBF7F0; --ghh-cream2:#EFE6D8; --ghh-ink:#33251E; --ghh-ink2:#5C4C40;
  --ghh-mut:#8C7A69; --ghh-mut2:#6E5F52; --ghh-bronze:#B4884C; --ghh-bronze2:#9A7038;
  --ghh-dark:#3E2C22; --ghh-dark2:#221812; --ghh-dark3:#1C1410; --ghh-peach:#EFCBAC; --ghh-sand:#C9B79B;
  font-family:'Jost',sans-serif; color:var(--ghh-ink); background:var(--ghh-cream);
  -webkit-font-smoothing:antialiased; overflow-x:clip; margin:0;
}
body.ghh #content, body.ghh .the-content { max-width:none; padding:0; margin:0; }
body.ghh h1, body.ghh h2, body.ghh h3, body.ghh h4 { font-family:'Cormorant Garamond',serif; margin:0; }
body.ghh p { margin:0; }
body.ghh a { color:var(--ghh-bronze2); text-decoration:none; transition:color .3s ease; }
body.ghh ::selection { background:var(--ghh-bronze); color:var(--ghh-cream); }
@keyframes ghhZoom { 0%{transform:scale(1)} 100%{transform:scale(1.12)} }
@keyframes ghhMarquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes ghhFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes ghhScrollDot { 0%{transform:translateY(0);opacity:0} 30%{opacity:1} 60%{opacity:1} 100%{transform:translateY(18px);opacity:0} }

/* ---------- uklad wspolny ---------- */
.ghh-wrap { max-width:1304px; margin:0 auto; }
.ghh-section { padding:120px 48px; }
.ghh-eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--ghh-bronze);
  font-size:12px; letter-spacing:.28em; text-transform:uppercase; font-weight:500; margin-bottom:18px; }
.ghh-eyebrow::before { content:""; width:30px; height:1px; background:var(--ghh-bronze); }
.ghh-eyebrow--center::before { display:none; }
.ghh-eyebrow--light { color:var(--ghh-peach); } .ghh-eyebrow--light::before { background:var(--ghh-peach); }
.ghh h2.ghh-h2 { font-weight:500; font-size:clamp(34px,3.8vw,58px); line-height:1.04; letter-spacing:-.01em; color:var(--ghh-ink); }
.ghh-h2--light { color:var(--ghh-cream) !important; }
.ghh-lead { font-size:17px; line-height:1.75; color:var(--ghh-ink2); font-weight:300; }
.ghh-morelink a, a.ghh-morelink { display:inline-flex; align-items:center; gap:12px; color:var(--ghh-ink);
  font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  border-bottom:1px solid var(--ghh-bronze); padding-bottom:6px; transition:gap .3s ease; }
.ghh-morelink--light a, .ghh-morelink--light { color:var(--ghh-cream) !important; }
.ghh-sechead { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:56px; flex-wrap:wrap; }

/* ---------- HEADER (fixed, w szablonie) ---------- */
.ghh-header { --gh-fg:var(--ghh-cream); position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 48px;
  background:linear-gradient(rgba(20,14,11,.55),rgba(20,14,11,0));
  transition:background .5s ease, box-shadow .5s ease, padding .4s ease; }
.ghh-header.is-scrolled { background:rgba(251,247,240,.97); box-shadow:0 10px 40px -22px rgba(46,33,27,.45); padding:12px 48px; --gh-fg:#33251E; }
.ghh-header.is-scrolled .ghh-header__logo { filter:brightness(.16); }
.ghh-header__logo { height:54px; width:auto; transition:filter .5s ease; }
.ghh-header nav { display:flex; align-items:center; gap:30px; }
.ghh-header nav a, .ghh-header__tel { color:var(--gh-fg); font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:400; }
.ghh-header nav a:hover { opacity:.65; }
.ghh-header__cta { display:inline-flex; align-items:center; padding:11px 22px; border:1px solid var(--gh-fg);
  color:var(--gh-fg); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; border-radius:2px; transition:all .35s ease; }
.ghh-header__cta:hover { background:var(--ghh-bronze); border-color:var(--ghh-bronze); color:var(--ghh-cream) !important; }

/* ---------- HERO ---------- */
.ghh-hero { position:relative; height:100vh; min-height:680px; overflow:hidden; background:var(--ghh-dark2); padding:0 !important; }
.ghh-hero .ghh-hero__slide { position:absolute !important; inset:0; margin:0 !important; opacity:0; transition:opacity 1.4s ease; }
.ghh-hero .ghh-hero__slide.is-active { opacity:1; }
.ghh-hero .ghh-hero__slide img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:ghhZoom 12s ease-in-out infinite alternate; }
.ghh-hero::after { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(24,17,13,.5) 0%,rgba(24,17,13,.15) 35%,rgba(24,17,13,.35) 65%,rgba(24,17,13,.82) 100%); pointer-events:none; }
.ghh-hero__content { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center;
  padding:0 48px 130px; max-width:1400px; margin:0 auto; }
.ghh-hero__kicker { display:inline-flex; align-items:center; gap:14px; color:var(--ghh-peach);
  font-size:13px; letter-spacing:.34em; text-transform:uppercase; font-weight:400; margin-bottom:22px; }
.ghh-hero__kicker::before { content:""; width:38px; height:1px; background:var(--ghh-peach); display:inline-block; }
.ghh h1.ghh-hero__title { font-weight:500; color:var(--ghh-cream); font-size:clamp(46px,6.4vw,104px);
  line-height:.98; letter-spacing:-.01em; max-width:14ch; text-wrap:balance; }
.ghh-hero__sub { margin-top:26px !important; color:rgba(251,247,240,.82); font-size:clamp(16px,1.35vw,20px); font-weight:300; max-width:52ch; line-height:1.6; }
.ghh-hero__dots { position:absolute; left:48px; bottom:152px; display:flex; gap:10px; z-index:5; }
.ghh-hero__dots button { width:34px; height:3px; border:none; border-radius:2px; cursor:pointer; padding:0; background:rgba(251,247,240,.4); transition:background .4s; }
.ghh-hero__dots button.is-active { background:var(--ghh-peach); }
.ghh-scrollcue { position:absolute; right:48px; bottom:152px; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(251,247,240,.7); z-index:5; }
.ghh-scrollcue .t { writing-mode:vertical-rl; font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
.ghh-scrollcue .m { width:22px; height:34px; border:1px solid rgba(251,247,240,.4); border-radius:12px; position:relative; display:block; }
.ghh-scrollcue .m::after { content:""; position:absolute; left:50%; top:7px; margin-left:-2px; width:4px; height:4px; border-radius:50%; background:var(--ghh-peach); animation:ghhScrollDot 1.8s ease-in-out infinite; }

/* wyszukiwarka nad dolna krawedzia hero */
.ghh-search-belt { position:absolute; left:0; right:0; bottom:0; padding:0 48px 40px; z-index:6; }
.ghh-search { display:grid; grid-template-columns:1.1fr .9fr 1.4fr .9fr 1.1fr auto; gap:0; max-width:1304px; margin:0 auto;
  background:rgba(251,247,240,.96); backdrop-filter:blur(8px); border-radius:4px; box-shadow:0 24px 60px -24px rgba(20,14,11,.6); overflow:hidden; }
.ghh-search label { display:flex; flex-direction:column; gap:6px; padding:18px 20px; border-right:1px solid rgba(51,37,30,.1); }
.ghh-search .l { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ghh-mut); font-weight:500; }
.ghh-search select, .ghh-search input { border:none; background:transparent; font-size:15px; color:var(--ghh-ink); outline:none; width:100%; font-family:'Jost',sans-serif; }
.ghh-search input::placeholder { color:#B3A594; }
.ghh-search button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:var(--ghh-dark); color:var(--ghh-cream); border:none; padding:0 40px; cursor:pointer;
  font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; transition:background .35s ease; font-family:'Jost',sans-serif; }
.ghh-search button:hover { background:var(--ghh-bronze); }

/* ---------- O NAS ---------- */
.ghh-onas { background:var(--ghh-cream); padding:130px 48px; }
.ghh-onas .wp-block-columns { max-width:1304px; margin:0 auto; gap:80px; align-items:center; }
.ghh-stats { display:flex; gap:48px; flex-wrap:wrap; margin:38px 0 40px; }
.ghh-stat b { font-family:'Cormorant Garamond',serif; font-size:56px; line-height:1; color:var(--ghh-bronze); font-weight:600; display:block; }
.ghh-stat span { font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--ghh-mut); margin-top:6px; display:block; }
.ghh-onas h2.ghh-h2 { font-size:clamp(38px,4.2vw,64px); margin-bottom:28px; }
.ghh-onas h2 em { color:var(--ghh-bronze2); font-style:italic; }
.ghh-onas .ghh-lead { margin-bottom:20px; }
.ghh-onas-media { position:relative; }
.ghh-onas-media .main { position:relative; height:620px; border-radius:4px; overflow:hidden; box-shadow:0 40px 80px -40px rgba(46,33,27,.5); margin:0; }
.ghh-onas-media .main img { width:100%; height:100%; object-fit:cover; }
.ghh-onas-media .detail { position:absolute; bottom:-38px; left:-38px; width:220px; height:280px; border-radius:4px; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(46,33,27,.55); border:6px solid var(--ghh-cream); margin:0; }
.ghh-onas-media .detail img { width:100%; height:100%; object-fit:cover; }
.ghh-quote { position:absolute; top:-34px; right:-20px; background:var(--ghh-dark); color:var(--ghh-cream);
  padding:22px 28px; border-radius:3px; max-width:230px; animation:ghhFloat 6s ease-in-out infinite; }
.ghh-quote .q { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; line-height:1.35; color:var(--ghh-peach); }
.ghh-quote .a { font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin-top:12px; opacity:.7; }

/* ---------- WARTOSCI ---------- */
.ghh-values { background:var(--ghh-cream2); padding:110px 48px; }
.ghh-values .ghh-secheadc { text-align:center; margin-bottom:64px; }
.ghh-values-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(51,37,30,.14); border-bottom:1px solid rgba(51,37,30,.14); max-width:1304px; margin:0 auto; gap:0 !important; }
.ghh-value { padding:44px 34px; border-right:1px solid rgba(51,37,30,.14); transition:background .4s ease; margin:0 !important; }
.ghh-value:last-child { border-right:none; }
.ghh-value:hover { background:rgba(251,247,240,.6); }
.ghh-value .n { font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--ghh-sand); margin-bottom:20px; }
.ghh-value h3 { font-weight:600; font-size:27px; color:var(--ghh-ink); margin-bottom:14px; }
.ghh-value p { font-size:15px; line-height:1.7; color:var(--ghh-mut2); font-weight:300; }

/* ---------- KATEGORIE ---------- */
.ghh-cats { background:var(--ghh-cream); }
.ghh-cats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ghh-cat { position:relative; height:440px; border-radius:4px; overflow:hidden; display:block; margin:0 !important; }
.ghh-cat img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ghh-cat:hover img { transform:scale(1.07); }
.ghh-cat::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,14,11,0) 40%,rgba(20,14,11,.8) 100%); pointer-events:none; }
.ghh-cat figcaption, .ghh-cat .cap { position:absolute; left:24px; bottom:24px; right:24px; z-index:2; text-align:left; }
.ghh-cat .cap b { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--ghh-cream); font-weight:600; display:block; }
.ghh-cat .cap span { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ghh-peach); margin-top:6px; display:block; }

/* ---------- OFERTY (ciemna) ---------- */
.ghh-offers { background:var(--ghh-dark2); }
.ghh-offers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.ghh-offer { background:var(--ghh-cream); border-radius:4px; overflow:hidden; transition:transform .5s ease, box-shadow .5s ease; margin:0 !important; }
.ghh-offer:hover { transform:translateY(-8px); box-shadow:0 40px 70px -40px rgba(0,0,0,.7); }
.ghh-offer .ph { position:relative; height:250px; overflow:hidden; margin:0 !important; }
.ghh-offer .ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ghh-offer:hover .ph img { transform:scale(1.06); }
.ghh-offer .badge { position:absolute; top:16px; left:16px; background:var(--ghh-bronze); color:var(--ghh-cream);
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:2px; z-index:2; }
.ghh-offer .body { padding:24px; }
.ghh-offer .loc { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ghh-bronze); font-weight:500; margin-bottom:8px; }
.ghh-offer h3 { font-weight:600; font-size:22px; color:var(--ghh-ink); line-height:1.25; margin-bottom:18px; min-height:56px; }
.ghh-offer .params { display:flex; gap:20px; padding:16px 0; border-top:1px solid rgba(51,37,30,.1); border-bottom:1px solid rgba(51,37,30,.1); margin-bottom:18px; }
.ghh-offer .params i { font-style:normal; font-size:11px; color:var(--ghh-mut); text-transform:uppercase; letter-spacing:.08em; display:block; }
.ghh-offer .params b { font-size:16px; color:var(--ghh-ink); font-weight:500; }
.ghh-offer .foot { display:flex; align-items:flex-end; justify-content:space-between; }
.ghh-offer .price { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--ghh-ink); font-weight:600; }
.ghh-offer .ppm { font-size:12px; color:var(--ghh-mut); }
.ghh-offer .go { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ghh-bronze2); font-weight:500; }

/* ---------- ZESPOL ---------- */
.ghh-team { background:var(--ghh-cream); overflow:hidden; padding:120px 0; }
.ghh-team .ghh-sechead, .ghh-team .ghh-team-more { padding:0 48px; max-width:1304px; margin-left:auto; margin-right:auto; }
.ghh-team-nav { display:flex; gap:12px; }
.ghh-team-nav button { width:52px; height:52px; border-radius:50%; border:1px solid rgba(51,37,30,.2); background:transparent;
  color:var(--ghh-ink); font-size:18px; cursor:pointer; transition:all .3s; }
.ghh-team-nav button:hover { background:var(--ghh-dark); color:var(--ghh-cream); border-color:var(--ghh-dark); }
.ghh-team-viewport { max-width:1304px; margin:0 auto; padding:0 48px; overflow:hidden; }
.ghh-team-track { display:flex !important; gap:28px; transition:transform .7s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.ghh-team-card { flex:0 0 300px; max-width:300px; margin:0 !important; }
.ghh-team-card .ph { position:relative; height:400px; border-radius:4px; overflow:hidden; margin:0 0 20px; }
.ghh-team-card .ph img { width:100%; height:100%; object-fit:cover; }
.ghh-team-card .ph::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,14,11,0) 55%,rgba(20,14,11,.55) 100%); }
.ghh-team-card .role { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ghh-bronze); font-weight:500; margin-bottom:6px; }
.ghh-team-card h3 { font-weight:600; font-size:26px; color:var(--ghh-ink); margin-bottom:12px; }
.ghh-team-card .cont { display:flex; flex-direction:column; gap:4px; font-size:14px; }
.ghh-team-card .cont a { color:var(--ghh-ink2); } .ghh-team-card .cont a + a { color:var(--ghh-bronze2); }
.ghh-team-more { margin-top:44px; }

/* ---------- PARTNERZY ---------- */
.ghh-partners { position:relative; padding:110px 48px; overflow:hidden; background:var(--ghh-dark3); }
.ghh-partners .bg { position:absolute !important; inset:0; margin:0 !important; }
.ghh-partners .bg img { width:100%; height:100%; object-fit:cover; }
.ghh-partners::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(28,20,16,.86),rgba(28,20,16,.9)); }
.ghh-partners .ghh-wrap { position:relative; z-index:2; text-align:center; }
.ghh-marquee-mask { position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.ghh-marquee { display:flex; gap:64px; width:max-content; animation:ghhMarquee 32s linear infinite; align-items:center;
  list-style:none; padding:0; margin:0; }
.ghh-marquee li { font-family:'Cormorant Garamond',serif; font-size:26px; color:rgba(251,247,240,.75); white-space:nowrap; letter-spacing:.04em; }

/* ---------- STREFA KLIENTA ---------- */
.ghh-zone { background:var(--ghh-cream2); }
.ghh-zone .ghh-secheadc { text-align:center; margin-bottom:60px; }
.ghh-zone-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ghh-tile { background:var(--ghh-cream); border-radius:4px; padding:40px 32px; display:block;
  transition:transform .45s ease, box-shadow .45s ease; border:1px solid rgba(51,37,30,.06); margin:0 !important; }
.ghh-tile:hover { transform:translateY(-6px); box-shadow:0 30px 60px -35px rgba(46,33,27,.5); }
.ghh-tile .ic { font-family:'Cormorant Garamond',serif; font-size:38px; color:var(--ghh-sand); margin-bottom:24px; }
.ghh-tile h3 { font-weight:600; font-size:24px; color:var(--ghh-ink); margin-bottom:12px; }
.ghh-tile p { font-size:15px; line-height:1.65; color:var(--ghh-mut2); font-weight:300; margin-bottom:20px; }
.ghh-tile .go { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ghh-bronze2); font-weight:500; }
.ghh-tile--dark { background:var(--ghh-dark); border:none; }
.ghh-tile--dark .ic { color:var(--ghh-peach); }
.ghh-tile--dark h3 { color:var(--ghh-cream); }
.ghh-tile--dark p { color:rgba(251,247,240,.75); }
.ghh-tile--dark .go { color:var(--ghh-peach); }

/* ---------- KONTAKT ---------- */
.ghh-contact { background:var(--ghh-cream); }
.ghh-contact .grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.ghh-contact h2.ghh-h2 { margin-bottom:24px; }
.ghh-contact .info { display:flex; flex-direction:column; gap:26px; margin-top:44px; }
.ghh-ci { display:flex; gap:16px; align-items:flex-start; }
.ghh-ci .ic { font-family:'Cormorant Garamond',serif; color:var(--ghh-bronze); font-size:22px; line-height:1; }
.ghh-ci .l { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ghh-mut); margin-bottom:4px; }
.ghh-ci a { font-size:18px; color:var(--ghh-ink); }
.ghh-ci .v { font-size:16px; color:var(--ghh-ink); line-height:1.6; }
.ghh-form { background:var(--ghh-cream2); border-radius:4px; padding:48px; }
.ghh-form .row2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.ghh-form label { display:flex; flex-direction:column; gap:8px; }
.ghh-form .l { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ghh-mut); }
.ghh-form input[type=text], .ghh-form input[type=email], .ghh-form input[type=tel], .ghh-form textarea {
  background:var(--ghh-cream); border:1px solid rgba(51,37,30,.12); border-radius:3px; padding:14px 16px;
  font-size:15px; color:var(--ghh-ink); outline:none; font-family:'Jost',sans-serif; }
.ghh-form .mb { margin-bottom:20px; } .ghh-form .mb2 { margin-bottom:24px; }
.ghh-form .rodo { display:flex; gap:12px; align-items:flex-start; margin-bottom:28px; cursor:pointer; flex-direction:row; }
.ghh-form .rodo input { margin-top:3px; accent-color:var(--ghh-bronze); width:16px; height:16px; min-width:16px; }
.ghh-form .rodo span { font-size:12px; line-height:1.6; color:var(--ghh-mut2); font-weight:300; }
.ghh-form button { width:100%; background:var(--ghh-dark); color:var(--ghh-cream); border:none; padding:18px;
  font-size:13px; letter-spacing:.18em; text-transform:uppercase; font-weight:500; border-radius:3px; cursor:pointer;
  transition:background .35s ease; font-family:'Jost',sans-serif; }
.ghh-form button:hover { background:var(--ghh-bronze); }

/* ---------- STOPKA ---------- */
.ghh-footer { background:var(--ghh-dark3); color:rgba(251,247,240,.72); padding:80px 48px 36px; }
.ghh-footer .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:56px; border-bottom:1px solid rgba(251,247,240,.12); }
.ghh-footer img.logo { height:76px; width:auto; margin-bottom:22px; }
.ghh-footer p { font-size:14px; line-height:1.7; font-weight:300; max-width:34ch; }
.ghh-footer h4 { color:var(--ghh-cream); font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:22px; font-weight:500; font-family:'Jost',sans-serif; }
.ghh-footer .links { display:flex; flex-direction:column; gap:12px; font-size:14px; }
.ghh-footer .links a, .ghh-footer .links span { color:rgba(251,247,240,.72); line-height:1.6; }
.ghh-footer .links a:hover { color:var(--ghh-peach); }
.ghh-footer .soc { display:flex; gap:14px; margin-top:22px; }
.ghh-footer .soc a { width:38px; height:38px; border:1px solid rgba(251,247,240,.24); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:rgba(251,247,240,.72); font-size:13px; transition:all .3s; }
.ghh-footer .soc a:hover { background:var(--ghh-bronze); border-color:var(--ghh-bronze); color:var(--ghh-cream); }
.ghh-footer .bar { display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-size:13px; flex-wrap:wrap; gap:12px; }
.ghh-footer .bar .dim { opacity:.6; }

/* ---------- REVEAL (JS dodaje .in) ---------- */
body.ghh .ghh-reveal { opacity:0; transform:translateY(34px); transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
body.ghh .ghh-reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { body.ghh .ghh-reveal { opacity:1 !important; transform:none !important; } }

/* ---------- RESPONSYWNOSC ---------- */
@media (max-width: 1100px) {
  .ghh-values-grid, .ghh-zone-grid, .ghh-cats-grid { grid-template-columns:repeat(2,1fr); }
  .ghh-value:nth-child(2n) { border-right:none; }
  .ghh-value { border-bottom:1px solid rgba(51,37,30,.14); }
  .ghh-offers-grid { grid-template-columns:repeat(2,1fr); }
  .ghh-header nav { display:none; }
}
@media (max-width: 760px) {
  .ghh-section, .ghh-onas, .ghh-values, .ghh-partners { padding-left:22px; padding-right:22px; }
  .ghh-section { padding-top:80px; padding-bottom:80px; }
  .ghh-header { padding:14px 22px; } .ghh-header.is-scrolled { padding:10px 22px; }
  .ghh-header__logo { height:44px; }
  .ghh-header__tel .lbl { display:none; }
  .ghh-hero__content { padding:0 22px 210px; }
  .ghh-hero { min-height:640px; }
  .ghh-search-belt { padding:0 12px 12px; position:absolute; }
  .ghh-search { grid-template-columns:1fr 1fr; }
  .ghh-search label { border-bottom:1px solid rgba(51,37,30,.1); }
  .ghh-search label:nth-child(3) { grid-column:1 / -1; }
  .ghh-search button { grid-column:1 / -1; padding:16px; flex-direction:row; }
  .ghh-hero__dots { left:22px; bottom:auto; top:78vh; display:none; }
  .ghh-scrollcue { display:none; }
  .ghh-onas .wp-block-columns { display:block; }
  .ghh-onas-media { margin-top:70px; }
  .ghh-onas-media .main { height:420px; }
  .ghh-onas-media .detail { left:auto; right:-8px; bottom:-30px; width:150px; height:190px; }
  .ghh-quote { position:static; margin-top:16px; max-width:none; animation:none; }
  .ghh-offers-grid, .ghh-cats-grid, .ghh-values-grid, .ghh-zone-grid { grid-template-columns:1fr; }
  .ghh-value { border-right:none; }
  .ghh-cat { height:340px; }
  .ghh-contact .grid { display:block; }
  .ghh-form { padding:28px 20px; margin-top:48px; }
  .ghh-form .row2 { grid-template-columns:1fr; }
  .ghh-team { padding:80px 0; }
  .ghh-team .ghh-sechead, .ghh-team-viewport, .ghh-team .ghh-team-more { padding-left:22px; padding-right:22px; }
  .ghh-team-card { flex-basis:78vw; max-width:78vw; }
  .ghh-footer { padding:60px 22px 28px; }
  .ghh-footer .cols { grid-template-columns:1fr; gap:34px; }
}

/* v1.2.0: karty ofert sa linkami (realne oferty z asariplug) */
a.ghh-offer { display:block; color:inherit; }
.ghh-offer .ph, .ghh-offer .body, .ghh-offer .params, .ghh-offer .foot, .ghh-offer .loc,
.ghh-offer .params > span, .ghh-offer .foot > span { display:block; }
.ghh-offer .ph { position:relative; height:250px; overflow:hidden; }
.ghh-offer .params { display:flex; } .ghh-offer .params i { display:block; }
.ghh-offer .foot { display:flex; align-items:flex-end; justify-content:space-between; }
.ghh-team-card .ph { display:block; }

/* v1.2.1: KLUCZOWY FIX GUTENBERGA — motyw klasyczny owija zawartosc kazdego wp:group
   w div.wp-block-group__inner-container, przez co grid/flex na grupie widzial JEDNO dziecko
   (wszystko ladowalo w 1. kolumnie). display:contents czyni wrapper przezroczystym dla layoutu. */
body.ghh .wp-block-group__inner-container { display: contents; }

/* v1.2.2: ikony kafli jako SVG (glify ↗/∑/★/♡ renderowaly sie jako niebieskie emoji) */
.ghh-tile .ic svg { width:38px; height:38px; display:block; color:var(--ghh-sand); }
.ghh-tile--dark .ic svg { color:var(--ghh-peach); }
/* v1.2.2: kropki slidera zaczynaja sie rowno z lewa krawedzia wyszukiwarki */
.ghh-hero__dots { left: max(48px, calc((100vw - 1304px) / 2)); }
.ghh-scrollcue { right: max(48px, calc((100vw - 1304px) / 2)); }
/* v1.2.2: menu z wp_nav_menu (ul/li) w headerze — splaszczenie do flex */
.ghh-header nav ul { display:contents; list-style:none; margin:0; padding:0; }
.ghh-header nav li { display:contents; }

/* v1.2.3: ZADZWON + Umow spotkanie — delikatne pulsowanie bieli do #e4caae (tylko na hero,
   w stanie przewinietym header jest jasny i kolory wracaja do --gh-fg) */
@keyframes ghhPulseGold { 0%, 100% { color:#FBF7F0; } 50% { color:#e4caae; } }
@keyframes ghhPulseGoldBorder { 0%, 100% { color:#FBF7F0; border-color:#FBF7F0; } 50% { color:#e4caae; border-color:#e4caae; } }
.ghh-header:not(.is-scrolled) .ghh-header__tel { animation: ghhPulseGold 2.6s ease-in-out infinite; }
.ghh-header:not(.is-scrolled) .ghh-header__cta { animation: ghhPulseGoldBorder 2.6s ease-in-out infinite; }
.ghh-header:not(.is-scrolled) .ghh-header__cta:hover { animation: none; }
@media (prefers-reduced-motion: reduce) { .ghh-header__tel, .ghh-header__cta { animation: none !important; } }

/* v1.2.4: ikony kafli jako maski CSS (inline SVG w tresci bylo wycinane przy zapisie strony) */
.ghh-zone-grid .ghh-tile .ic { width:38px; height:38px; margin-bottom:24px; background:var(--ghh-sand);
  -webkit-mask:var(--ic) center / contain no-repeat; mask:var(--ic) center / contain no-repeat; }
.ghh-zone-grid .ghh-tile--dark .ic { background:var(--ghh-peach); }
.ghh-zone-grid .ghh-tile:nth-child(1) .ic { --ic:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M9 7h8v8"/></svg>'); }
.ghh-zone-grid .ghh-tile:nth-child(2) .ic { --ic:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.4" stroke-linecap="round"><path d="M19 5 5 19"/><circle cx="6.5" cy="6.5" r="2.6"/><circle cx="17.5" cy="17.5" r="2.6"/></svg>'); }
.ghh-zone-grid .ghh-tile:nth-child(3) .ic { --ic:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.4" stroke-linejoin="round"><path d="m12 3 2.7 5.9 6.3.7-4.7 4.3 1.3 6.1L12 16.9 6.4 20l1.3-6.1L3 9.6l6.3-.7z"/></svg>'); }
.ghh-zone-grid .ghh-tile:nth-child(4) .ic { --ic:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20.3S3.6 15 3.6 9.6c0-2.5 2-4.4 4.4-4.4 1.7 0 3.2.9 4 2.3.8-1.4 2.3-2.3 4-2.3 2.4 0 4.4 1.9 4.4 4.4 0 5.4-8.4 10.7-8.4 10.7z"/></svg>'); }

/* v1.2.5: header = Menu Glowne WP (lokacja primary) — wsparcie dla podmenu (dropdown) */
.ghh-header nav ul { display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
.ghh-header nav li { display:block; position:relative; }
.ghh-header nav li a { display:block; padding:6px 0; }
.ghh-header nav .sub-menu { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  flex-direction:column; align-items:stretch; gap:0; min-width:220px; padding:12px 0;
  background:rgba(12,11,9,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-radius:3px; box-shadow:0 24px 50px -20px rgba(0,0,0,.5); }
.ghh-header nav li:hover > .sub-menu { display:flex; }
.ghh-header nav .sub-menu li { position:static; }
.ghh-header nav .sub-menu a { color:#FBF7F0 !important; font-size:12px; padding:9px 22px; white-space:nowrap; }
.ghh-header nav .sub-menu a:hover { color:#e4caae !important; opacity:1; }
.ghh-header.is-scrolled nav .sub-menu a { color:#FBF7F0 !important; }

/* v1.2.5: ikony kontaktu (✆✉⌂ mieszaly style/emoji) — spojne maski liniowe */
.ghh-contact .ghh-ci .ic { font-size:0; line-height:0; width:24px; height:24px; margin-top:2px;
  background:var(--ghh-bronze); -webkit-mask:var(--ci) center / contain no-repeat; mask:var(--ci) center / contain no-repeat; }
.ghh-contact .info .ghh-ci:nth-child(1) .ic { --ci:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h3.5l1.7 4.2-2.1 1.6a12.5 12.5 0 0 0 6.1 6.1l1.6-2.1L20 15.5V19a1.8 1.8 0 0 1-2 1.8A16.5 16.5 0 0 1 3.2 6 1.8 1.8 0 0 1 5 4z"/></svg>'); }
.ghh-contact .info .ghh-ci:nth-child(2) .ic { --ci:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="5.5" width="17" height="13" rx="1.5"/><path d="m4 7 8 6 8-6"/></svg>'); }
.ghh-contact .info .ghh-ci:nth-child(3) .ic { --ci:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m4 11 8-7 8 7"/><path d="M6 9.5V20h12V9.5"/></svg>'); }

/* v1.2.6: "Przewiń" w prawym dolnym rogu slidera (nad pasem wyszukiwarki, przy samej krawedzi) */
.ghh-scrollcue { right: 22px; bottom: 20px; z-index: 7; }
@media (max-width: 1420px) { .ghh-scrollcue { display: none; } }

/* v1.2.7: 7 pozycji menu + telefon lamalo sie do 2 linii — nowrap i ciasniejsza typografia */
.ghh-header { gap: 18px; }
.ghh-header nav ul { gap: 20px; }
.ghh-header nav a, .ghh-header__tel { white-space: nowrap; font-size: 12px; letter-spacing: .1em; }
.ghh-header__cta { white-space: nowrap; }
@media (max-width: 1240px) { .ghh-header nav ul { gap: 14px; } .ghh-header nav a { font-size: 11px; } }

/* v1.2.8: animacje hover — delikatne powiekszanie kart (i powrot) w calym serwisie */
.ghh-team-card { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.ghh-team-card:hover { transform: scale(1.04); }
.ghh-tile:hover { transform: translateY(-6px) scale(1.03); }
.ghh-offer:hover { transform: translateY(-8px) scale(1.025); }
.ghh-cat { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.ghh-cat:hover { transform: scale(1.03); }
.ghh-cat:hover img { transform: scale(1.1); }
/* O nas: zdjecia + cytat reaguja na kursor */
.ghh-onas-media .main img, .ghh-onas-media .detail img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.ghh-onas-media .main:hover img, .ghh-onas-media .detail:hover img { transform: scale(1.05); }
.ghh-quote { transition: transform .4s ease; }
.ghh-quote:hover { transform: scale(1.05); animation-play-state: paused; }
.ghh-stat { transition: transform .35s ease; cursor: default; }
.ghh-stat:hover { transform: scale(1.07); }
.ghh-value { cursor: default; }
.ghh-value:hover h3 { color: var(--ghh-bronze2); }
.ghh-value h3 { transition: color .35s ease; }
@media (prefers-reduced-motion: reduce) {
  .ghh-team-card, .ghh-tile, .ghh-offer, .ghh-cat, .ghh-stat, .ghh-quote { transition: none !important; transform: none !important; }
}

/* v1.2.9: wieksze logo na hero (belka menu bez zmian — ujemne marginesy niweluja wzrost flexa);
   po przewinieciu logo wraca do kompaktowego. */
.ghh-header:not(.is-scrolled) .ghh-header__logo { height: 86px; margin: -16px 0; }
@media (max-width: 760px) { .ghh-header:not(.is-scrolled) .ghh-header__logo { height: 62px; margin: -9px 0; } }

/* v1.2.10: FIX kaskady — reveal (body.ghh .ghh-reveal.in { transform:none }) wygrywal z :hover
   o nizszej specyficznosci; hover musi byc >= (0,3,1) i PO regulach reveal. */
body.ghh .ghh-offer:hover { transform: translateY(-8px) scale(1.025); }
body.ghh .ghh-tile:hover { transform: translateY(-6px) scale(1.03); }
body.ghh .ghh-team-card:hover { transform: scale(1.04); }
body.ghh .ghh-cat:hover { transform: scale(1.03); }
body.ghh .ghh-value:hover, body.ghh .ghh-stat:hover { transform: scale(1.02); }
@media (prefers-reduced-motion: reduce) {
  body.ghh .ghh-offer:hover, body.ghh .ghh-tile:hover, body.ghh .ghh-team-card:hover,
  body.ghh .ghh-cat:hover, body.ghh .ghh-value:hover, body.ghh .ghh-stat:hover { transform: none; }
}

/* v1.2.11: hover-zoom karty agenta obcinal sie w pionie — viewport karuzeli tnie tylko poziomo
   (clip + visible; para hidden+visible jest niedozwolona i degraduje do auto/scrollbara) */
body.ghh .ghh-team-viewport { overflow-x: clip; overflow-y: visible; padding-top: 8px; padding-bottom: 8px; }
body.ghh .ghh-team { overflow: visible; }

/* v1.2.12: partnerzy — realna lista; adres mala czcionka pod nazwa */
.ghh-marquee li { display:flex; flex-direction:column; align-items:center; text-align:center; }
.ghh-marquee li small { font-family:'Jost',sans-serif; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(251,247,240,.45); margin-top:5px; }

/* v1.2.13: nazwy partnerow w jednej linii — adres absolutnie pod nazwa (nie podnosi wpisu) */
.ghh-marquee li { position: relative; display: block; }
.ghh-marquee li small { position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  margin-top: 3px; white-space: nowrap; }
.ghh-marquee-mask { padding-bottom: 26px; }

/* v1.2.14: czytelnosc tekstu hero na jasnych zdjeciach — bazowy pionowy scrim byl za slaby
   w strefie tekstu (0.15-0.35); dokladamy poziomy scrim od lewej (za blokiem tekstu),
   wzmacniamy pion i dodajemy delikatny text-shadow */
.ghh-hero::after { background:
  linear-gradient(90deg, rgba(24,17,13,.62) 0%, rgba(24,17,13,.42) 34%, rgba(24,17,13,.10) 68%, rgba(24,17,13,0) 100%),
  linear-gradient(180deg, rgba(24,17,13,.55) 0%, rgba(24,17,13,.22) 35%, rgba(24,17,13,.38) 65%, rgba(24,17,13,.82) 100%); }
.ghh-hero__kicker { text-shadow: 0 1px 12px rgba(24,17,13,.55); }
.ghh h1.ghh-hero__title { text-shadow: 0 2px 26px rgba(24,17,13,.5); }
.ghh-hero__sub { color: rgba(251,247,240,.92); text-shadow: 0 1px 14px rgba(24,17,13,.55); }

/* v1.6.2: belka menu w siatce kontentu — logo i nav zaczynaja sie w linii
   naglowka hero (max(48px, (100vw-1304)/2)); tel+CTA dobite do prawej */
.ghh-header, .ghh-header.is-scrolled {
  justify-content:flex-start;
  padding-left:max(48px, calc((100vw - 1304px) / 2));
  padding-right:max(48px, calc((100vw - 1304px) / 2));
}
.ghh-header nav { margin-left:26px; }
.ghh-header > div:last-child { margin-left:auto; }
@media (max-width: 760px) {
  .ghh-header, .ghh-header.is-scrolled { padding-left:22px; padding-right:22px; }
  .ghh-header nav { margin-left:0; }
}
