
:root{--ink:#161616;--slate:#3a4151;--paper:#f2eee8;--paper2:#e7e0d7;--line:rgba(22,22,22,.18);--line-light:rgba(255,255,255,.18);--light:#f7f3ee;--accent:#aa7a45;--display:"Bodoni Moda",Didot,"Bodoni MT","Times New Roman",serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}img,video{max-width:100%}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:180px 1fr auto auto;align-items:center;gap:30px;min-height:88px;padding:18px clamp(24px,4vw,72px);background:rgba(242,238,232,.92);border-bottom:1px solid rgba(22,22,22,.08);backdrop-filter:blur(16px)}
.brand img{width:145px;height:auto;display:block}.main-nav{display:flex;justify-content:center;gap:34px}.main-nav a,.header-phone,.header-cta{color:inherit;text-decoration:none;font-size:13px}.header-cta{padding:13px 20px;border:1px solid var(--line);border-radius:999px}.menu-toggle{display:none}
.section{padding:clamp(80px,9vw,150px) clamp(24px,6vw,100px)}.eyebrow{margin:0 0 22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.eyebrow--light{color:rgba(255,255,255,.68)}h1,h2,h3,blockquote{font-family:var(--display);font-weight:400}h1{font-size:clamp(58px,7.2vw,118px);line-height:.88;letter-spacing:-.045em;margin:0}
.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);grid-template-rows:1fr auto;gap:55px;align-items:center}.hero-copy{padding-right:4vw}.hero-lead{max-width:520px;margin:34px 0 28px;font-size:17px;line-height:1.7;color:rgba(22,22,22,.68)}.text-link{display:inline-flex;gap:18px;color:inherit;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:6px}
.media-frame{overflow:hidden;background:#ddd}.media-frame img{display:block;width:100%;height:100%;object-fit:cover}.media-frame--hero{height:min(72vh,820px);margin:0}.media-frame--hero img{object-position:center 54%}.media-frame figcaption{display:flex;justify-content:space-between;padding:12px 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--paper)}.hero-foot{grid-column:1/-1;display:flex;gap:36px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.section--ink{background:var(--slate);color:var(--light)}
.pillars{display:grid;grid-template-columns:.78fr 1.22fr;gap:5vw}.section-intro h2,.services-heading h2,.team-heading h2,.office-heading h2,.video-copy h2,.contact-title h2,.calm-copy h2{margin:0;font-size:clamp(54px,6vw,94px);line-height:.9;letter-spacing:-.04em}
.pillar-list{list-style:none;margin:0;padding:0}.pillar-list li{display:grid;grid-template-columns:60px minmax(200px,.8fr) 1fr;gap:25px;padding:26px 0;border-top:1px solid var(--line);align-items:start}.pillar-list .number{font-size:12px}.pillar-list h3{font-size:32px;margin:0}.pillar-list p{margin:0;line-height:1.6;color:rgba(22,22,22,.65)}.pillars-media{grid-column:1/-1;height:min(72vw,720px);margin-top:25px}.pillars-media img{object-position:center 58%}.pillars-note{grid-column:2;max-width:620px;line-height:1.7;color:rgba(22,22,22,.62)}
.services{background:#ece6de;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.services-heading{position:sticky;top:130px;align-self:start}.services-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:45px .85fr 1fr 42px;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.service-row h3{font-size:31px;margin:0}.service-row p{margin:0;line-height:1.6;color:rgba(22,22,22,.62)}.service-row button{border:0;background:none;font-size:28px;font-weight:200;cursor:pointer}
.calm{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.calm-copy p{max-width:540px;line-height:1.7;color:rgba(255,255,255,.7)}.button{display:inline-block;margin-top:26px;padding:15px 24px;border:1px solid rgba(255,255,255,.3);border-radius:999px;text-decoration:none;color:inherit}.calm-media{height:min(78vh,850px)}.calm-media img{object-position:center center}
.team{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw}.team-heading{position:sticky;top:130px;align-self:start}.team-heading>p:last-child{max-width:430px;line-height:1.65;color:rgba(22,22,22,.62)}.person-card{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:42px 0;border-top:1px solid var(--line);align-items:center}.person-photo{height:560px;overflow:hidden;background:#ddd}.person-photo img{width:100%;height:100%;object-fit:cover;display:block}.person-card--edyta .person-photo img{object-position:68% center}.person-card--jakub .person-photo img{object-position:72% center}.person-copy span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(22,22,22,.48)}.person-copy h3{margin:16px 0 20px;font-size:54px;line-height:.95}.person-copy p{line-height:1.7;color:rgba(22,22,22,.62)}.person-copy a{display:inline-block;margin-top:18px;color:inherit;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px}
.office{display:grid;grid-template-columns:.65fr 1.35fr;grid-template-areas:"head main" "one main" "two main";gap:24px 5vw;background:#e8e1d8}.office-heading{grid-area:head}.office-heading p:last-child{max-width:430px;line-height:1.7;color:rgba(22,22,22,.62)}.office-main{grid-area:main;height:980px}.office-main img{object-position:center 50%}.office-side{height:360px}.office-side--one{grid-area:one}.office-side--two{grid-area:two}
.video{display:grid;grid-template-columns:.62fr 1.38fr;gap:6vw;align-items:start}.video-copy p{max-width:480px;line-height:1.7;color:rgba(255,255,255,.68)}.video-frame{background:#000;min-height:650px;overflow:hidden}.video-frame video{width:100%;height:650px;display:block;object-fit:cover}.video-note{grid-column:2;font-size:12px;color:rgba(255,255,255,.52)}
.contact{display:grid;grid-template-columns:.6fr 1.4fr;gap:7vw;align-items:start}.contact-title p:last-child{max-width:420px;line-height:1.7;color:rgba(255,255,255,.72)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-content:start}.contact-card,.contact-map{padding:28px 0;border-top:1px solid var(--line-light)}.contact-card--secretariat,.contact-map{grid-column:1/-1}.contact-card span{display:block;margin-bottom:12px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.55)}.contact-card a,.contact-card p{display:block;color:inherit;text-decoration:none;font-family:var(--display);font-size:24px;line-height:1.35;margin:0 0 10px}.contact-card p:last-child,.contact-card a:last-child{margin-bottom:0}.contact-map{display:flex;justify-content:space-between;align-items:center;color:inherit;text-decoration:none;font-size:14px;letter-spacing:.04em}
.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px clamp(24px,6vw,100px);background:#101113;color:#fff;font-size:11px}.footer-brand img{width:120px;filter:invert(1);opacity:.88}.footer a{color:inherit;text-decoration:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;min-height:72px;padding:14px 20px}.brand img{width:118px}.header-phone,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:none}.main-nav{position:fixed;inset:72px 0 auto;background:var(--paper);padding:24px;display:none;flex-direction:column;border-bottom:1px solid var(--line)}.main-nav.is-open{display:flex}.section{padding:74px 22px}.hero{min-height:auto;display:block}.hero-copy{padding:45px 0 55px}.hero h1{font-size:clamp(58px,16vw,88px)}.hero-media{height:72vh}.hero-foot{margin-top:30px;flex-wrap:wrap}.pillars,.services,.calm,.team,.office,.video,.contact{display:block}.pillar-list{margin-top:45px}.pillar-list li{grid-template-columns:42px 1fr;gap:14px}.pillar-list li p{grid-column:2}.pillars-media{height:66vh;margin-top:50px}.pillars-note{margin-top:24px}.services-heading,.team-heading{position:static;margin-bottom:55px}.service-row{grid-template-columns:36px 1fr 36px}.service-row p{grid-column:2}.calm-media{margin-top:55px;height:72vh}.person-card{display:block;padding:38px 0}.person-photo{height:58vh}.person-copy{padding-top:28px}.person-copy h3{font-size:48px}.office-heading{margin-bottom:40px}.office-main{height:66vh}.office-side{height:42vh;margin-top:18px}.video-frame{margin-top:45px;min-height:0}.video-frame video{height:72vh}.video-note{margin-top:15px}.contact-title{margin-bottom:40px}.contact-details{grid-template-columns:1fr;gap:0}.contact-card--secretariat,.contact-map{grid-column:auto}.contact-card a,.contact-card p{font-size:20px}.footer{align-items:flex-start;flex-direction:column}.media-frame--hero figcaption{display:none}}


/* ================= V4: tighter layout + refined contact ================= */
.section{padding-top:clamp(64px,6.2vw,108px);padding-bottom:clamp(64px,6.2vw,108px)}
.hero{min-height:auto;grid-template-rows:auto auto;align-items:start;padding-top:clamp(54px,5.2vw,86px);padding-bottom:clamp(52px,5.4vw,92px);row-gap:38px}
.hero-copy{align-self:center;padding-top:clamp(18px,2vw,34px)}
.media-frame--hero{height:min(66vh,700px)}
.hero-foot{margin-top:0;padding-top:18px}
.pillars{padding-top:clamp(58px,5.5vw,94px)}
.pillars-media{margin-top:12px;height:min(62vw,650px)}
.pillars-note{margin-top:0}
.services,.calm,.office,.contact{padding-top:clamp(64px,6vw,104px);padding-bottom:clamp(64px,6vw,104px)}
.service-row{padding-top:25px;padding-bottom:25px}
.office{gap:20px 4.5vw}
.office-main{height:clamp(620px,66vw,860px)}
.office-side{height:320px}
.contact{grid-template-columns:minmax(300px,.58fr) minmax(620px,1.42fr);gap:clamp(56px,7vw,120px)}
.contact-title{position:sticky;top:118px;align-self:start}
.contact-title>p:last-child{margin-top:28px;max-width:390px;font-size:15px;line-height:1.72}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;align-content:start;border-top:1px solid var(--line-light)}
.contact-card,.contact-map{min-width:0;padding:26px 0 28px;border-top:0;border-bottom:1px solid var(--line-light)}
.contact-card--secretariat{grid-column:1/-1;padding-top:22px}
.contact-card span{margin-bottom:14px}
.contact-card a[href^="tel:"]{font-family:var(--display);font-size:clamp(26px,1.85vw,34px);line-height:1.1;letter-spacing:-.02em}
.contact-card a[href^="mailto:"]{margin-top:9px;font-family:var(--sans);font-size:14px;line-height:1.45;color:rgba(255,255,255,.72);overflow-wrap:anywhere}
.contact-card p{font-size:clamp(22px,1.6vw,29px);line-height:1.35}
.contact-card p+p{margin-top:18px}
.contact-map{grid-column:1/-1;padding-top:22px;padding-bottom:22px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){
 .section{padding:58px 20px}
 .hero{padding-top:30px;padding-bottom:52px}
 .hero-copy{padding:24px 0 44px}
 .hero-media{height:58vh;min-height:430px}
 .hero-foot{margin-top:22px}
 .pillars{padding-top:54px}
 .pillars-media{height:52vh;min-height:360px;margin-top:38px}
 .services-heading{margin-bottom:42px}
 .service-row{padding:22px 0}
 .calm-media{margin-top:40px;height:58vh;min-height:420px}
 .office{padding-top:58px}
 .office-heading{margin-bottom:30px}
 .office-main{height:54vh;min-height:420px}
 .office-side{height:36vh;min-height:280px;margin-top:14px}
 .contact{padding-top:62px;padding-bottom:62px}
 .contact-title{position:static;margin-bottom:34px}
 .contact-title>p:last-child{margin-top:22px}
 .contact-details{display:block}
 .contact-card--secretariat,.contact-map{grid-column:auto}
 .contact-card{padding:22px 0 24px}
 .contact-card a[href^="tel:"]{font-size:27px}
 .contact-card a[href^="mailto:"]{font-size:14px}
 .contact-card p{font-size:23px}
}

/* ================= V5: natural photo proportions =================
   All current office photos are landscape 4:3. The frames now follow
   the source ratio so the photographs are visible almost in full.
   ================================================================ */
.media-frame--hero{
  height:auto;
  max-height:none;
  overflow:visible;
  background:transparent;
}
.media-frame--hero img{
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center center;
}
.media-frame--hero figcaption{
  margin-top:0;
}

.pillars-media,
.calm-media,
.office-main,
.office-side{
  height:auto;
  min-height:0;
  aspect-ratio:4 / 3;
}

.pillars-media img,
.calm-media img,
.office-main img,
.office-side img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Give the office gallery a little more visual width without making it taller. */
.office{
  grid-template-columns:.72fr 1.28fr;
  gap:22px 4vw;
}

@media(max-width:900px){
  .hero-media,
  .pillars-media,
  .calm-media,
  .office-main,
  .office-side{
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }

  .hero-media img,
  .pillars-media img,
  .calm-media img,
  .office-main img,
  .office-side img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .office-side{
    margin-top:16px;
  }
}


/* ================= V6: section color rhythm ================= */
.hero{
  background:var(--paper);
}
.pillars{
  background:#e8e2da;
}
/* The hero footer labels were removed in V6. */
.hero-foot{display:none!important;}

@media(max-width:900px){
  .pillars{background:#e8e2da;}
}

/* ================= V7: compact section rhythm =================
   Reduce inter-section whitespace and remove the empty hero grid row
   left after the former Edyta/Jakub/Notariusze footer was removed.
   ================================================================ */

/* Global section rhythm: noticeably tighter, still editorial. */
.section{
  padding-top:clamp(36px,3.7vw,62px);
  padding-bottom:clamp(36px,3.7vw,62px);
}

/* Hero has only two real columns now; no second empty row. */
.hero{
  grid-template-rows:auto;
  column-gap:55px;
  row-gap:0;
  padding-top:clamp(34px,3.2vw,54px);
  padding-bottom:clamp(30px,3vw,50px);
}
.hero-copy{
  padding-top:clamp(8px,1vw,18px);
}
.hero-foot{
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* Pull Sposób pracy closer to the hero. */
.pillars{
  padding-top:clamp(32px,3.2vw,52px);
  padding-bottom:clamp(36px,3.6vw,58px);
}

/* Keep individual pages compact as well. */
.services,
.calm,
.office,
.contact{
  padding-top:clamp(38px,3.8vw,64px);
  padding-bottom:clamp(38px,3.8vw,64px);
}

/* Slightly reduce internal starts so sections do not look hollow. */
.pillars-media{margin-top:8px}
.services-heading{top:112px}
.office{gap:18px 4vw}
.contact-title{top:104px}

@media(max-width:900px){
  .section{
    padding-top:38px;
    padding-bottom:38px;
  }
  .hero{
    padding-top:22px;
    padding-bottom:34px;
    row-gap:0;
  }
  .hero-copy{
    padding-top:12px;
    padding-bottom:30px;
  }
  .pillars{
    padding-top:34px;
    padding-bottom:40px;
  }
  .services,
  .calm,
  .office,
  .contact{
    padding-top:40px;
    padding-bottom:40px;
  }
  .pillars-media{margin-top:28px}
  .services-heading{margin-bottom:32px}
  .office-heading{margin-bottom:24px}
  .contact-title{margin-bottom:28px}
}

/* ================= V8: client review corrections ================= */

/* Hero: remove the former editorial caption entirely. */
.media-frame--hero figcaption{display:none!important}

/* Sposób pracy: no numbering and no large photo below the principles. */
.pillars{grid-template-columns:.78fr 1.22fr;align-items:start}
.pillar-list li{grid-template-columns:minmax(220px,.78fr) 1fr;gap:30px;padding:25px 0}
.pillar-list li h3{grid-column:1;margin:0}
.pillar-list li p{grid-column:2}
.pillars-note{grid-column:2;margin-top:24px;max-width:760px;border-top:1px solid var(--line);padding-top:24px}

/* Services: native, accessible accordion instead of numbered rows. */
.services-list{border-top:1px solid var(--line)}
.service-item{margin:0;border:0;border-bottom:1px solid var(--line);padding:0;background:transparent}
.service-item summary{display:grid;grid-template-columns:1fr 34px;gap:24px;align-items:center;cursor:pointer;list-style:none;padding:25px 0}
.service-item summary::-webkit-details-marker{display:none}
.service-item h3{margin:0;font-family:var(--display);font-size:clamp(27px,2.25vw,38px);font-weight:400;line-height:1.05}
.service-toggle{position:relative;width:24px;height:24px;justify-self:end}
.service-toggle::before,.service-toggle::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .28s ease}
.service-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.service-item[open] .service-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.service-item ul{margin:0;padding:0 46px 26px 22px;list-style:none;color:rgba(22,22,22,.66);font-size:15px;line-height:1.65}
.service-item li{position:relative;padding-left:18px;margin:5px 0}
.service-item li::before{content:"•";position:absolute;left:0}
.service-item--plain{padding:25px 0}
.services-note{margin:28px 0 0;max-width:820px;font-size:14px;line-height:1.65;color:rgba(22,22,22,.68)}

/* Dark CTA: use the requested office photo with the Polish eagle. */
.calm-media img{object-position:center 45%}

/* Kancelaria: rotating main image. */
.office-main{position:relative;overflow:hidden;background:#d8d3cb}
.office-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;pointer-events:none}
.office-slide.is-active{opacity:1}
.office-dots{position:absolute;z-index:3;left:22px;bottom:18px;display:flex;gap:7px;padding:8px 10px;border-radius:99px;background:rgba(20,20,20,.32);backdrop-filter:blur(7px)}
.office-dot{display:block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45)}
.office-dot.is-active{background:#fff}
.office-side--two img{object-position:center 58%}

/* Contact: three-part composition, real embedded map, separate weekday rows. */
.contact{grid-template-columns:minmax(280px,.54fr) minmax(0,1.46fr);gap:clamp(48px,6vw,105px);align-items:start}
.contact-title{position:sticky;top:104px;align-self:start}
.contact-title>p:last-of-type{max-width:360px;margin:26px 0 0;line-height:1.7;color:rgba(255,255,255,.72)}
.contact-primary{margin-top:28px;padding-top:22px;border-top:1px solid var(--line-light)}
.contact-primary a{display:block;width:max-content;max-width:100%;margin:0 0 9px;color:inherit;text-decoration:none}
.contact-primary a:first-child{font-family:var(--display);font-size:clamp(27px,2vw,36px)}
.contact-primary a:last-child{font-size:13px;color:rgba(255,255,255,.72);overflow-wrap:anywhere}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:clamp(34px,4vw,64px);border-top:1px solid var(--line-light);padding-top:26px}
.contact-label{margin:0 0 14px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.58)}
.contact-address{margin:0 0 22px;font-family:var(--display);font-size:clamp(27px,2.25vw,39px);line-height:1.18}
.map-frame{width:100%;aspect-ratio:16/9;overflow:hidden;background:#2c3340;border:1px solid rgba(255,255,255,.12)}
.map-frame iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.8) contrast(.95)}
.contact-map-link{display:flex;justify-content:space-between;gap:30px;padding:18px 0;border-bottom:1px solid var(--line-light);color:inherit;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact-legal-note{margin:18px 0 0;max-width:720px;font-size:12px;line-height:1.65;color:rgba(255,255,255,.58)}
.hours-list{margin:0;padding:0}
.hours-list>div{display:grid;grid-template-columns:1fr auto;gap:20px;padding:14px 0;border-bottom:1px solid var(--line-light)}
.hours-list dt,.hours-list dd{margin:0}
.hours-list dt{font-family:var(--display);font-size:clamp(20px,1.55vw,28px)}
.hours-list dd{align-self:center;font-size:14px;color:rgba(255,255,255,.78);white-space:nowrap}

@media(max-width:900px){
  .pillar-list li{grid-template-columns:1fr;gap:8px}
  .pillar-list li h3,.pillar-list li p{grid-column:1}
  .pillars-note{grid-column:auto;margin-top:20px}
  .service-item summary{padding:21px 0}
  .service-item h3{font-size:29px}
  .service-item ul{padding:0 12px 21px 2px;font-size:14px}
  .service-item--plain{padding:21px 0}
  .services-note{font-size:13px}
  .office-dots{left:14px;bottom:12px}
  .contact{display:block}
  .contact-title{position:static;margin-bottom:34px}
  .contact-layout{grid-template-columns:1fr;gap:38px;padding-top:24px}
  .contact-address{font-size:30px}
  .map-frame{aspect-ratio:4/3}
  .hours-list>div{padding:13px 0}
  .hours-list dt{font-size:23px}
  .hours-list dd{font-size:13px}
}


/* ================= V9: single office carousel + tighter geometry ================= */
/* The office section now contains one visual field only. */
.office{
  display:grid;
  grid-template-columns:minmax(260px,.52fr) minmax(0,1.48fr);
  grid-template-areas:"head main";
  gap:clamp(34px,5vw,82px);
  align-items:center;
  padding-top:clamp(34px,3.4vw,56px);
  padding-bottom:clamp(34px,3.4vw,56px);
}
.office-heading{grid-area:head;align-self:center}
.office-main{
  grid-area:main;
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  min-height:0;
  margin:0;
}
.office-side{display:none!important}
.office-slide{object-position:center center}

/* Minimal carousel controls. */
.office-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  background:rgba(20,20,20,.18);
  color:#fff;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transform:translateY(-50%);
  cursor:pointer;
  opacity:.78;
  transition:opacity .25s ease,background .25s ease,transform .25s ease;
}
.office-arrow:hover,.office-arrow:focus-visible{
  opacity:1;
  background:rgba(20,20,20,.34);
}
.office-arrow:active{transform:translateY(-50%) scale(.94)}
.office-arrow span{font-size:20px;line-height:1;font-family:var(--sans);font-weight:300}
.office-arrow--prev{left:18px}
.office-arrow--next{right:18px}

.office-dots{
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  gap:8px;
  padding:7px 10px;
}
.office-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}
.office-dot.is-active{transform:scale(1.25)}

/* Seal photo belongs to the 'Przed wizytą' CTA; show it in full rather than crop it aggressively. */
.calm-media{
  aspect-ratio:4 / 3;
  height:auto;
  min-height:0;
  background:#e8e3dc;
}
.calm-media img{
  object-fit:contain;
  object-position:center center;
  background:#f2eee8;
}

@media(max-width:900px){
  .office{
    display:block;
    padding-top:36px;
    padding-bottom:36px;
  }
  .office-heading{margin-bottom:26px}
  .office-main{aspect-ratio:4 / 3}
  .office-arrow{width:38px;height:38px}
  .office-arrow--prev{left:12px}
  .office-arrow--next{right:12px}
  .office-dots{bottom:11px}
  .calm-media{aspect-ratio:4 / 3}
}

/* ================= V10: carousel offset + softer media contrast ================= */
/* Shift the office carousel a little to the right by widening the text column
   and opening a bit more breathing room between copy and media. */
.office{
  grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);
  gap:clamp(44px,5.7vw,96px);
}
.office-heading h2{
  letter-spacing:-.03em;
  line-height:.92;
}

/* Minimal arrows — remove the circular chrome and leave only the glyphs. */
.office-arrow{
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:10px 8px;
  opacity:.82;
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 10px rgba(0,0,0,.18);
  transition:opacity .22s ease, transform .22s ease;
}
.office-arrow:hover,
.office-arrow:focus-visible{
  opacity:1;
  background:transparent;
}
.office-arrow span{
  font-size:34px;
  line-height:1;
  font-family:var(--sans);
  font-weight:300;
}
.office-arrow--prev{left:20px}
.office-arrow--next{right:20px}

/* Slightly larger seals image area and softer blend with the dark section. */
.calm{
  grid-template-columns:minmax(0,.84fr) minmax(360px,1.16fr);
  gap:clamp(44px,5.8vw,92px);
}
.calm-media{
  aspect-ratio:1.06 / 1;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.calm-media img{
  filter:saturate(.92) contrast(.94) brightness(.97);
  background:transparent;
}

@media(max-width:900px){
  .office{display:block}
  .office-main{aspect-ratio:4 / 3}
  .office-arrow{padding:8px 6px}
  .office-arrow span{font-size:30px}
  .office-arrow--prev{left:10px}
  .office-arrow--next{right:10px}
  .calm{display:block}
  .calm-media{aspect-ratio:4 / 3}
}

/* ================= V11: premium refinement ================= */
:root{
  --accent:#9b7b5b;
  --paper:#f3efe9;
  --paper2:#e9e2d9;
}

/* More refined section transitions and hairlines. */
.site-header{
  background:rgba(243,239,233,.94);
  border-bottom-color:rgba(22,22,22,.06);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}
.header-cta{
  border-color:rgba(22,22,22,.16);
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.header-cta:hover{
  border-color:rgba(22,22,22,.34);
  background:rgba(255,255,255,.38);
  transform:translateY(-1px);
}

.hero{background:#f3efe9}
.pillars{background:#e7e1d9}
.services{background:#f0ebe5}
.office{background:#e8e1d8}

/* Editorial headings: slightly calmer spacing, more luxury-magazine feel. */
.section-intro h2,
.services-heading h2,
.office-heading h2,
.contact-title h2,
.calm-copy h2{
  letter-spacing:-.032em;
}
.eyebrow{
  letter-spacing:.2em;
}

/* Quiet warm accent lines. */
.text-link,
.contact-map-link,
.service-item,
.pillar-list li,
.pillars-note{
  border-color:rgba(155,123,91,.22);
}
.text-link:hover{color:#765a42}

/* Premium image treatment: very subtle depth, no heavy cards. */
.media-frame,
.office-main{
  box-shadow:0 18px 42px rgba(35,28,23,.055);
}
.hero-media img,
.office-slide{
  transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity 1s ease;
}
.hero-media:hover img,
.office-main:hover .office-slide.is-active{
  transform:scale(1.008);
}

/* Office carousel stays slightly to the right, with elegant bare arrows. */
.office{
  grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);
  gap:clamp(48px,5.9vw,100px);
}
.office-arrow{
  color:rgba(255,255,255,.94);
  text-shadow:0 1px 12px rgba(0,0,0,.24);
}
.office-arrow span{
  font-size:31px;
  font-weight:300;
}
.office-dots{
  background:rgba(28,25,23,.26);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.office-dot{background:rgba(255,255,255,.52)}
.office-dot.is-active{background:#fff}

/* Restore the seals block to the clean V9 frame.
   Add the same subtle premium motion used on other imagery, so the seals
   image no longer feels static. */
.calm{
  grid-template-columns:.9fr 1.1fr;
  gap:7vw;
}
.calm-media{
  aspect-ratio:4 / 3;
  height:auto;
  min-height:0;
  background:#e8e3dc;
  box-shadow:none;
}
.calm-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#f2eee8;
  filter:none;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity 1s ease;
  transform-origin:center center;
}
.calm-media:hover img,
.calm-media:focus-within img{
  transform:scale(1.01);
}

/* Make dark sections richer but still restrained. */
.section--ink{
  background:linear-gradient(135deg,#39404f 0%,#3a4151 54%,#363d4b 100%);
}
.calm-copy p,
.contact-title>p:last-of-type{
  color:rgba(255,255,255,.76);
}
.button--light{
  border-color:rgba(255,255,255,.36);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.button--light:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.58);
  transform:translateY(-1px);
}

/* Slightly more polished service interactions. */
.service-item summary{
  transition:padding-left .28s ease,color .28s ease;
}
.service-item summary:hover{
  padding-left:8px;
  color:#765a42;
}
.service-toggle::before,
.service-toggle::after{
  background:#8d6c4f;
}

/* Contact refinement. */
.map-frame{
  border-color:rgba(255,255,255,.16);
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.hours-list>div{
  border-bottom-color:rgba(255,255,255,.15);
}
.contact-primary{
  border-top-color:rgba(255,255,255,.18);
}

@media(max-width:900px){
  .office{display:block}
  .calm{display:block}
  .calm-media{aspect-ratio:4 / 3}
  .media-frame,
  .office-main{box-shadow:0 10px 28px rgba(35,28,23,.05)}
}


/* ================= V13: premium micro-interactions ================= */
.site-header{
  transition:min-height .28s ease,padding .28s ease,background-color .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;
}
.brand img,
.header-phone,
.header-cta{
  transition:width .28s ease,opacity .28s ease,transform .28s ease,padding .28s ease,border-color .28s ease,background-color .28s ease;
}
.main-nav a{
  position:relative;
  padding:8px 0;
  transition:color .24s ease,opacity .24s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:1px;
  background:rgba(155,123,91,.72);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s ease;
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after,
.main-nav a.is-current::after{
  transform:scaleX(1);
}
.main-nav a.is-current{
  color:#6f5640;
}
.site-header.is-condensed{
  min-height:72px;
  padding-top:12px;
  padding-bottom:12px;
  background:rgba(243,239,233,.97);
  border-bottom-color:rgba(22,22,22,.09);
  box-shadow:0 1px 0 rgba(255,255,255,.62) inset, 0 12px 28px rgba(35,28,23,.045);
}
.site-header.is-condensed .brand img{width:132px}
.site-header.is-condensed .header-phone{opacity:.88}
.site-header.is-condensed .header-cta{padding:11px 18px}

/* Unified premium image treatment. */
.media-frame img,
.office-slide{
  filter:saturate(.93) contrast(.975) brightness(.992) sepia(.03);
}
.hero-media,
.calm-media,
.office-main{
  position:relative;
}
.hero-media::after,
.calm-media::after,
.office-main::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,248,238,.04), rgba(74,55,36,.03));
}
.hero-media img,
.calm-media img,
.office-slide{
  --parallax-y:0px;
  --media-scale:1.026;
  transform:translate3d(0,var(--parallax-y),0) scale(var(--media-scale));
  transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity 1s ease,filter .35s ease;
  will-change:transform;
}
.hero-media:hover img,
.hero-media:focus-within img,
.calm-media:hover img,
.calm-media:focus-within img,
.office-main:hover .office-slide.is-active,
.office-main:focus-within .office-slide.is-active{
  --media-scale:1.038;
}

@media(max-width:900px){
  .site-header.is-condensed{
    min-height:72px;
    padding-top:14px;
    padding-bottom:14px;
    box-shadow:none;
  }
  .site-header.is-condensed .brand img{width:118px}
  .main-nav a::after{bottom:-4px}
  .hero-media::after,
  .calm-media::after,
  .office-main::after{display:none}
  .hero-media img,
  .calm-media img,
  .office-slide{
    --parallax-y:0px;
    --media-scale:1;
    filter:saturate(.95) contrast(.985) brightness(.995) sepia(.02);
  }
}


/* ================= V14: stable navigation ================= */
/* Remove persistent section-state underlines. They can stick between sections
   and are not worth the visual noise. Desktop keeps a simple hover/focus line. */
.main-nav a.is-current{
  color:inherit;
}
.main-nav a.is-current::after{
  transform:scaleX(0);
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after{
  transform:scaleX(1);
}

/* Mobile: keep the header stable and the menu intentionally plain. */
@media(max-width:900px){
  .site-header,
  .site-header.is-condensed{
    min-height:72px;
    padding:14px 20px;
    background:rgba(243,239,233,.98);
    border-bottom:1px solid rgba(22,22,22,.08);
    box-shadow:none;
    backdrop-filter:blur(14px);
  }
  .site-header.is-condensed .brand img,
  .brand img{
    width:118px;
    transform:none;
  }
  .main-nav{
    inset:72px 0 auto;
    gap:0;
    padding:8px 20px 18px;
    background:rgba(243,239,233,.99);
    border-bottom:1px solid rgba(22,22,22,.10);
    box-shadow:0 18px 34px rgba(35,28,23,.06);
  }
  .main-nav a{
    display:block;
    width:100%;
    padding:15px 0;
    font-size:14px;
    border-bottom:1px solid rgba(22,22,22,.08);
  }
  .main-nav a:last-child{
    border-bottom:0;
  }
  .main-nav a::after,
  .main-nav a:hover::after,
  .main-nav a:focus-visible::after,
  .main-nav a.is-current::after{
    display:none;
  }
  .main-nav a.is-current{
    color:inherit;
  }
  .menu-toggle{
    padding:8px 0;
    font-size:13px;
    color:inherit;
  }
}

/* ================= V16: status badge + refined notary contacts ================= */
.site-header{
  position:sticky;
}
.site-status{
  position:absolute;
  top:9px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:23px;
  padding:5px 12px 4px;
  border:1px solid rgba(22,22,22,.14);
  border-radius:999px;
  background:rgba(255,255,255,.34);
  color:rgba(22,22,22,.58);
  font-size:9px;
  font-weight:500;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
}

.contact-label--primary{
  margin-bottom:12px;
}
.contact-notaries{
  margin-top:24px;
  border-top:1px solid var(--line-light);
}
.notary-contact{
  padding:20px 0 21px;
  border-bottom:1px solid var(--line-light);
}
.notary-contact .contact-label{
  margin-bottom:8px;
}
.notary-contact h3{
  margin:0 0 13px;
  font-family:var(--display);
  font-size:clamp(24px,1.85vw,32px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.02em;
  color:var(--light);
}
.notary-contact a,
.notary-contact a:visited{
  display:block;
  width:max-content;
  max-width:100%;
  color:rgba(247,243,238,.94);
  text-decoration:none;
  transition:color .2s ease,opacity .2s ease;
}
.notary-contact a:hover,
.notary-contact a:focus-visible{
  color:#d8c4ae;
}
.notary-phone{
  margin-bottom:7px;
  font-family:var(--display);
  font-size:clamp(20px,1.35vw,25px);
  line-height:1.15;
  letter-spacing:-.01em;
}
.notary-email,
.notary-email:visited{
  font-family:var(--sans);
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.68);
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .site-status{
    top:8px;
    left:auto;
    right:70px;
    transform:none;
    min-height:20px;
    padding:4px 9px;
    font-size:8px;
    letter-spacing:.13em;
  }
  .contact-notaries{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px;
    margin-top:24px;
  }
  .notary-contact{
    min-width:0;
  }
}
@media(max-width:620px){
  .site-status{
    display:none;
  }
  .contact-notaries{
    display:block;
  }
}



/* ================= V17: unified contact typography ================= */
/* Secretariat uses exactly the same visual language as notary contacts. */
.contact-primary a[href^="tel:"],
.contact-primary a[href^="tel:"]:visited{
  margin-bottom:7px;
  font-family:var(--display);
  font-size:clamp(20px,1.35vw,25px);
  line-height:1.15;
  letter-spacing:-.01em;
  color:rgba(247,243,238,.94);
  text-decoration:none;
}
.contact-primary a[href^="mailto:"],
.contact-primary a[href^="mailto:"]:visited{
  font-family:var(--sans);
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.68);
  overflow-wrap:anywhere;
  text-decoration:none;
}
.contact-primary a[href^="tel:"]:hover,
.contact-primary a[href^="tel:"]:focus-visible,
.contact-primary a[href^="mailto:"]:hover,
.contact-primary a[href^="mailto:"]:focus-visible{
  color:#d8c4ae;
}


/* ================= V18: contact compression + extra reception slide ================= */
.contact-primary{
  margin-top:22px;
  padding-top:18px;
}
.contact-notaries{
  margin-top:10px;
}
.notary-contact{
  padding:14px 0 15px;
}
.notary-contact .contact-label,
.notary-contact h3{
  display:none;
}
.contact-name{
  margin:0 0 8px;
  font-family:var(--display);
  font-size:clamp(18px,1.2vw,23px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.01em;
  color:var(--light);
}
@media(max-width:900px){
  .contact-primary{
    margin-top:20px;
    padding-top:16px;
  }
  .contact-notaries{
    margin-top:8px;
    gap:0 18px;
  }
  .notary-contact{
    padding:12px 0 14px;
  }
  .contact-name{
    font-size:20px;
  }
}
@media(max-width:620px){
  .contact-name{
    font-size:18px;
  }
}


/* ================= V19: names styled like Sekretariat ================= */
.contact-person-label{
  margin:0 0 10px;
}
.contact-name{
  margin:0 0 10px;
  font-size:inherit;
  letter-spacing:inherit;
  color:inherit;
}


/* ================= V20: show person labels in same style as Sekretariat ================= */
.notary-contact .contact-person-label{
  display:block !important;
  margin:0 0 10px !important;
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.18em !important;
  color:rgba(255,255,255,.58) !important;
  font-family:var(--sans) !important;
  line-height:1.2;
}




/* ================= V23: correct Google Maps place + mobile status badge ================= */
@media(max-width:620px){
  .site-status{
    display:inline-flex;
    top:8px;
    left:auto;
    right:66px;
    transform:none;
    min-height:20px;
    padding:4px 8px;
    font-size:7.5px;
    letter-spacing:.12em;
    white-space:nowrap;
  }
}
@media(max-width:360px){
  .site-status{
    right:60px;
    padding:4px 7px;
    font-size:7px;
    letter-spacing:.10em;
  }
}
