/* wrapper */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

/* the hand cursor on everything clickable, stated explicitly (Safari did not show it on links by itself) */
a[href],button:not(:disabled),summary,label[for],select,[role="button"],[data-l]{cursor:pointer}
/* language switch on a page (see setLang) */
html.lso nav.main,html.lso .more span,html.lso #ft>*{opacity:0;transition:opacity .22s ease}
html.lsi nav.main,html.lsi .more span,html.lsi #ft>*{transition:opacity .55s ease}
@media(prefers-reduced-motion:reduce){html.lso nav.main,html.lso .more span,html.lso #ft>*{opacity:1;transition:none}}
html.wk{scroll-behavior:auto}
html.wk .rv{animation-duration:.9s}
html.wk .rv.defer{animation-duration:1.15s}
/* Safari, the dark menu: the publications block used to grow in height, pushing the links upwards frame by frame — a layout change
   Safari redraws at about half the frame rate (the "shudder"). There its space is reserved from the start and it only fades and rises,
   which Safari draws smoothly; the links stay where they are. */
html.wk #menu .pub{grid-template-rows:1fr;opacity:0;transform:translateY(calc(14*var(--u)));transition:opacity .3s ease,transform .3s ease}
html.wk #menu.on .pub{grid-template-rows:1fr;opacity:1;transform:none;transition:opacity .9s cubic-bezier(.22,.61,.36,1) .45s,transform .9s cubic-bezier(.22,.61,.36,1) .45s}

/* fonts */
/* Inter and Libre Baskerville, SIL Open Font License 1.1 — served from this site, no requests to Google */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Inter-400-normal-1.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/Inter-400-normal-2.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Inter-500-normal-3.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/Inter-500-normal-4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Inter-700-normal-5.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/Inter-700-normal-6.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/LibreBaskerville-400-normal-7.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/LibreBaskerville-400-normal-8.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/LibreBaskerville-700-normal-9.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/LibreBaskerville-700-normal-10.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* main */

:root{--u0:1px;--u:var(--u0);--ink:#161616;--bg:#fff;--acc:#ff5252;--mute:#6b6b6b;--line:#d9dede;--serif:"Libre Baskerville",Baskerville,Georgia,serif;--sans:Inter,system-ui,sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 calc(16*var(--u))/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
.wrap{max-width:calc(1328*var(--u));margin:0 auto;padding:0 calc(64*var(--u))}
header{border-bottom:1px solid var(--line)}
.bar{position:relative;display:flex;align-items:center;height:calc(88*var(--u));padding:calc(24*var(--u)) 0 calc(16*var(--u))}
.brand{text-align:center;position:absolute;left:50%;top:calc(24*var(--u));transform:translateX(-50%)}.brand b{display:block;font:400 calc(19*var(--u))/1 var(--serif);letter-spacing:.16em}.brand span{display:block;margin-top:calc(8*var(--u));font:400 calc(10*var(--u))/1 var(--serif);letter-spacing:.34em;color:var(--mute)}
nav.main{display:flex;gap:calc(56*var(--u));justify-content:center;margin-top:calc(14*var(--u))}
.cap{font:500 calc(13*var(--u))/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);padding:calc(8*var(--u)) 0}
nav.main a:hover,nav.main a[aria-current]{color:var(--ink)}
.srch{all:unset;cursor:pointer;display:grid;place-items:center;width:calc(44*var(--u));height:calc(44*var(--u));margin:0 calc(36*var(--u)) 0 calc(-11*var(--u));align-self:center}.srch:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.lang{position:relative;display:flex;gap:calc(14*var(--u));align-items:center;height:calc(44*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em}.lang button{all:unset;cursor:pointer;color:var(--mute);transition:color .2s}.lang button:hover{color:var(--ink)}.lang button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:calc(4*var(--u))}.lang button:focus-visible{outline:2px solid var(--acc);outline-offset:calc(3*var(--u))}.lang::after{content:"";position:absolute;right:calc(-36*var(--u));top:50%;height:calc(64*var(--u));transform:translateY(-50%);width:1px;background:var(--line)}.lang i{font-style:normal;color:var(--line)}.sk{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:calc(11*var(--u));font:500 calc(10.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#151413;text-decoration:none;white-space:nowrap;transition:opacity .2s}.sk:hover{opacity:.65}.sk[hidden],#menu .msk[hidden]{display:none!important}.sk svg{width:calc(9.5*var(--u));height:auto;flex:none;position:relative;top:-1px}.sk:focus-visible{outline:2px solid var(--acc);outline-offset:calc(3*var(--u))}#menu .msk{display:block;width:max-content;margin:calc(-14*var(--u)) auto calc(32*var(--u));font:500 calc(11.5*var(--u))/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;transition:color .3s}#menu .msk:hover{color:#f2efec}@media(max-width:1023px){.sk{display:none}}.more{all:unset;position:fixed;top:calc(24*var(--u) + env(safe-area-inset-top,0px));right:calc(40*var(--u));z-index:8;cursor:pointer;display:flex;gap:calc(28*var(--u));align-items:center;min-height:calc(44*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#151413;transition:color .3s ease}
.more:focus-visible{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
.more i{position:relative;top:-1px;display:block;width:calc(34*var(--u));height:calc(7*var(--u));border-top:1px solid;border-bottom:1px solid}
.hero{height:min(78vh,calc(820*var(--u)));background:#cfd8de;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;filter:saturate(.86) sepia(.06)}
section{padding:calc(120*var(--u)) 0}
h1{font:400 clamp(calc(30*var(--u)),3.3vw,calc(46*var(--u)))/1.12 var(--serif);letter-spacing:-.01em;color:#222;margin:0;text-wrap:balance}
.lead{font:400 calc(17*var(--u))/1.7 var(--sans);max-width:calc(600*var(--u));margin:calc(36*var(--u)) 0 0;color:var(--ink)}
.hl{height:1px;background:var(--line);margin:0}
.row{display:grid;grid-template-columns:calc(80*var(--u)) 1.1fr 1fr;gap:calc(48*var(--u));padding:calc(64*var(--u)) 0;border-top:1px solid var(--line)}
.row small{font:400 calc(13*var(--u)) var(--sans);letter-spacing:.2em;color:var(--mute);padding-top:calc(16*var(--u))}
.row h2{color:#222;font:400 clamp(calc(22*var(--u)),2vw,calc(28*var(--u)))/1.25 var(--serif);margin:0;text-wrap:balance}
.row ul{list-style:none;margin:0;padding:0}.row li{padding:calc(20*var(--u)) 0;border-bottom:1px solid var(--line);font-size:calc(15*var(--u))}.row li:first-child{padding-top:calc(8*var(--u))}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(32*var(--u))}
.card{display:flex;flex-direction:column;background:var(--ink);color:#edeae5;padding:calc(44*var(--u)) calc(36*var(--u)) calc(34*var(--u));min-height:calc(300*var(--u))}
.lab{font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:calc(30*var(--u))}
.card h3{font:400 calc(19*var(--u))/1.45 var(--serif);margin:0;text-wrap:balance;text-decoration:underline transparent 1px;text-underline-offset:calc(5*var(--u))}
.card .go{margin-top:auto;padding-top:calc(44*var(--u));align-self:flex-end;color:var(--acc)}.go svg{transition:transform .2s}
.card{transition:transform .5s cubic-bezier(.22,.61,.36,1)}@media(hover:hover){.card:hover,.card:focus-visible{transform:translateY(calc(-8*var(--u)))}.card:hover h3{text-decoration-color:currentColor}.card:hover .go svg{transform:translateX(calc(6*var(--u)))}}
.search{display:flex;gap:calc(12*var(--u));align-items:center;border-bottom:1px solid var(--ink);padding-bottom:calc(18*var(--u));max-width:calc(440*var(--u));margin:calc(96*var(--u)) 0 calc(112*var(--u))}
.search input{all:unset;flex:1;font-size:calc(16*var(--u))}.search input::placeholder{color:var(--ink);opacity:1}
.link{display:inline-flex;gap:calc(12*var(--u));align-items:center;margin-top:calc(64*var(--u));color:var(--ink);font:500 calc(13*var(--u))/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid var(--acc);padding-bottom:calc(12*var(--u))}
.big{font:400 clamp(calc(26*var(--u)),3.2vw,calc(42*var(--u)))/1.35 var(--serif);margin:0}.contact div{padding:calc(36*var(--u)) 0;border-top:1px solid var(--line)}.contact small{display:block;font:500 calc(12.5*var(--u)) var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:calc(14*var(--u))}
footer{border-top:1px solid var(--line);padding:calc(40*var(--u)) 0 calc(56*var(--u));font-size:calc(14*var(--u));color:var(--mute)}
@media(max-width:1023px){.wrap{padding:0 calc(40*var(--u))}section{padding:calc(104*var(--u)) 0}.grid{grid-template-columns:repeat(2,1fr);gap:calc(28*var(--u))}.row{grid-template-columns:calc(48*var(--u)) 1fr;gap:calc(32*var(--u))}.row ul{grid-column:2}nav.main{gap:calc(32*var(--u))}}
@media(max-width:639px){.wrap{padding:0 calc(21*var(--u))}.bar{height:auto;align-items:center;padding:calc(20*var(--u)) 0 calc(18*var(--u))}.srch,.lang{display:none}.brand{text-align:left;position:static;transform:none}.more{align-self:center}.more::before{display:none}.brand b{font-size:calc(16.15*var(--u))}.brand span{font-size:calc(9.025*var(--u))}nav.main{display:none}.more span{display:none}.hero{height:56vh}section{padding:calc(80*var(--u)) 0}.grid{grid-template-columns:1fr;gap:calc(20*var(--u))}.card{min-height:0;padding:calc(38*var(--u)) calc(28*var(--u)) calc(30*var(--u))}.card .go{padding-top:calc(36*var(--u))}.row{grid-template-columns:1fr;padding:calc(56*var(--u)) 0;gap:calc(20*var(--u))}.row ul{grid-column:1}.search{margin:calc(56*var(--u)) 0 calc(72*var(--u))}}
.cp{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);min-height:calc(100vh - calc(150*var(--u)))}.cl{padding:calc(120*var(--u)) calc(64*var(--u)) calc(104*var(--u)) max(calc(64*var(--u)),calc((100vw - calc(1328*var(--u)))/2 + calc(64*var(--u))))}.ci{position:relative;min-height:calc(520*var(--u))}.ci img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.cp h1{margin-bottom:calc(88*var(--u))}.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:0 calc(48*var(--u))}.cb .em{max-width:none;white-space:nowrap;font-size:calc(15*var(--u))}.cb{margin-bottom:calc(60*var(--u))}.cb h3{margin:0 0 calc(20*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.cb p{margin:0;font-size:calc(16*var(--u));line-height:calc(30*var(--u));max-width:34ch}.cb a.ml{overflow-wrap:anywhere}
@media(min-width:1024px) and (max-width:1279px){.cols{grid-template-columns:1fr}}@media(max-width:1023px){.cp{grid-template-columns:1fr}.cl{padding:calc(104*var(--u)) calc(40*var(--u)) calc(56*var(--u))}.ci{min-height:0;aspect-ratio:4/3}}@media(max-width:639px){.cl{padding:calc(64*var(--u)) calc(21*var(--u)) calc(24*var(--u))}.cp h1{margin-bottom:calc(64*var(--u))}.cols{grid-template-columns:1fr}.cb{margin-bottom:calc(52*var(--u))}.ci{aspect-ratio:4/5}}
.map{position:relative;height:calc(480*var(--u));background:#232323;overflow:hidden}.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:invert(90%) grayscale(1) contrast(.9)}.mf{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(14*var(--u));color:#cfcfcf;text-align:center;padding:calc(24*var(--u))}.mf span{font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8a8a8a}.mf p{margin:0;font:400 calc(20*var(--u))/1.4 var(--serif);color:#f2f2f2}.mf a{display:inline-flex;gap:calc(12*var(--u));align-items:center;margin-top:calc(10*var(--u));color:var(--acc);font:500 calc(13*var(--u))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
@media(max-width:639px){.map{height:calc(380*var(--u))}}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}html:not(.lenis){scroll-behavior:smooth}#app{min-height:60vh;transition:opacity .55s ease}#app.out{opacity:0;transition-duration:.24s}
#menu{position:fixed;inset:0;background:#151413;color:#fff;z-index:9;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:calc(calc(64*var(--u)) + env(safe-area-inset-top,0px)) calc(24*var(--u)) 0;visibility:hidden;opacity:0;transition:opacity .5s ease,visibility 0s .5s}#menu.on{visibility:visible;opacity:1;transition:opacity .7s ease}
#menu .x{all:unset;cursor:pointer;position:fixed;z-index:2;display:flex;gap:calc(28*var(--u));align-items:center;min-height:calc(44*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#fff;transition:opacity .2s}#menu .x:hover{opacity:.7}#menu .x:focus-visible{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}#menu .x i{position:relative;top:-1px;display:block;width:calc(34*var(--u));height:calc(7*var(--u))}#menu .x i::before,#menu .x i::after{content:"";position:absolute;left:50%;top:50%;width:calc(18*var(--u));height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}#menu .x i::after{transform:translate(-50%,-50%) rotate(-45deg)}
#menu .mc{margin:auto;width:100%;display:flex;flex-direction:column;align-items:center;padding:calc(16*var(--u)) 0}
#menu nav{display:flex;flex-direction:column;align-items:center;gap:calc(12*var(--u));width:100%;max-width:calc(384*var(--u))}
#menu nav a{display:block;text-align:center;padding:calc(16*var(--u)) 0;font:400 calc(16*var(--u))/calc(24*var(--u)) var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);opacity:0;transform:translateY(calc(12*var(--u)));transition:opacity .3s ease,transform .3s ease,color .3s}
#menu.on nav a{opacity:1;transform:none;transition:opacity .5s ease var(--d),transform .5s ease var(--d),color .3s}
#menu nav a:nth-child(1){--d:.2s}#menu nav a:nth-child(2){--d:.28s}#menu nav a:nth-child(3){--d:.36s}#menu nav a:nth-child(4){--d:.44s}#menu nav a:nth-child(5){--d:.52s}
#menu nav a:hover,#menu nav a:focus-visible{color:#fff}
#menu .mb{margin-top:calc(48*var(--u));width:100%;max-width:calc(384*var(--u))}
#menu .mlang{display:flex;justify-content:center;align-items:center;gap:calc(8*var(--u));margin-bottom:calc(32*var(--u));font:400 calc(12.5*var(--u))/1.5 var(--sans);letter-spacing:.22em;text-transform:lowercase;opacity:0;transition:opacity .3s}#menu.on .mlang{opacity:1;transition:opacity .8s ease .6s}
#menu .mlang button{all:unset;cursor:pointer;color:rgba(255,255,255,.4);transition:color .3s}#menu .mlang button:hover{color:#f2efec}#menu .mlang button[aria-pressed=true]{font-weight:500;color:#f2efec;text-decoration:underline;text-decoration-color:rgba(255,255,255,.6);text-underline-offset:calc(4*var(--u))}#menu .mlang button:focus-visible{outline:2px solid var(--acc);outline-offset:calc(3*var(--u))}#menu .mlang i{font-style:normal;color:rgba(255,255,255,.25)}
#menu .pub{width:100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease}#menu.on .pub{grid-template-rows:1fr;transition:grid-template-rows 1.1s cubic-bezier(.22,.61,.36,1) .6s}
#menu .in{overflow:hidden;min-height:0}#menu .pad{border-top:1px solid rgba(255,255,255,.15);padding-top:calc(32*var(--u));text-align:left}
#menu h4{font:400 calc(18*var(--u))/1.55 var(--serif);color:#f2efec;margin:0}
#mp{display:grid;grid-template-columns:1fr;gap:calc(20*var(--u)) calc(64*var(--u));margin-top:calc(24*var(--u))}
#mp a{display:inline-flex;align-items:baseline;gap:calc(12*var(--u));justify-self:start;color:rgba(255,82,82,.6);font-size:calc(14*var(--u));line-height:1.5;transition:color .3s}#mp a:hover,#mp a:focus-visible{color:#ff5252}
#mp a svg{flex:none;width:calc(16*var(--u));height:calc(16*var(--u));color:#ff5252;transform:translateY(1px);transition:transform .3s}#mp a:hover svg{transform:translate(calc(4*var(--u)),1px)}
#menu .mfoot{width:100%;margin:0;padding:0 calc(24*var(--u)) calc(28*var(--u));text-align:center;font:400 calc(11.5*var(--u))/1.6 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.3);pointer-events:none;opacity:0;transition:opacity .3s}#menu.on .mfoot{opacity:1;transition:opacity 1s ease 1.2s}
@media(min-width:640px){#menu nav,#menu .mb{max-width:calc(448*var(--u))}#menu nav a{padding:calc(20*var(--u)) 0;font-size:calc(18*var(--u));line-height:calc(28*var(--u))}#menu .pad{padding-top:calc(40*var(--u))}#menu h4{font-size:calc(20*var(--u))}#mp{margin-top:calc(32*var(--u))}#mp a{font-size:calc(16*var(--u))}#mp a svg{width:calc(18.4*var(--u));height:calc(18.4*var(--u))}}
@media(min-width:768px){#menu .mb{max-width:calc(896*var(--u))}#menu .mlang{margin-bottom:calc(40*var(--u))}#menu h4{font-size:calc(24*var(--u))}#mp{grid-template-columns:1fr 1fr}}
@media(max-width:639px){#menu .x span{display:none}}
.srch,.lang{position:relative;top:0}.more::before{display:none}header .hw{max-width:none;padding:0 calc(40*var(--u))}@media(max-width:1023px){header .hw{padding:0 calc(32*var(--u))}.more{right:calc(32*var(--u))}}@media(max-width:639px){header .hw{padding:0 calc(21*var(--u))}.more{top:calc(20*var(--u) + env(safe-area-inset-top,0px));right:calc(21*var(--u))}}@media(prefers-reduced-motion:reduce){#menu,#menu *,#app{transition:none!important}html{scroll-behavior:auto}.card{transition:none!important;transform:none!important}}#sov{position:fixed;inset:0;z-index:60;background:var(--bg);color:var(--ink);overflow:auto;padding:calc(128*var(--u)) calc(48*var(--u)) calc(64*var(--u));visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s .3s}
#sov.on{visibility:visible;opacity:1;transition:opacity .3s ease}
#sov .si{max-width:calc(768*var(--u));margin:0 auto}
#sov .st{display:flex;justify-content:space-between;align-items:center;min-height:calc(44*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
#sov .st button{all:unset;cursor:pointer;min-height:calc(44*var(--u));display:flex;align-items:center;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;transition:opacity .2s}
#sov .st button:hover{opacity:.6}
#sov .st button:focus-visible{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
#sov .sf{display:flex;align-items:center;gap:calc(8*var(--u));margin-top:calc(32*var(--u));border-bottom:1px solid var(--line);padding-bottom:calc(16*var(--u));transition:border-color .2s}
#sov .sf.has{border-color:var(--ink)}
#sov input{all:unset;flex:1;min-width:0;font:400 calc(30*var(--u))/1.3 var(--serif);color:var(--ink);caret-color:var(--ink)}
#sov input::placeholder{color:var(--mute);opacity:1}
#sov input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
#sov .sx{all:unset;cursor:pointer;width:calc(30*var(--u));height:calc(44*var(--u));margin:calc(-8*var(--u)) calc(-6*var(--u)) calc(-8*var(--u)) 0;display:none;place-items:center;color:var(--acc)}
#sov .sx.on{display:grid}
#sov .sx:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#sov ul{list-style:none;margin:calc(40*var(--u)) 0 0;padding:0}#sov ul:empty{display:none}
#sov li a{display:flex;justify-content:space-between;align-items:baseline;gap:calc(24*var(--u));padding:calc(17*var(--u)) 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
#sov .t{font:400 clamp(calc(20*var(--u)),2.4vw,calc(26*var(--u)))/1.3 var(--serif);text-decoration:underline transparent 1px;text-underline-offset:calc(6*var(--u))}
#sov li a:hover .t{text-decoration-color:currentColor}
#sov .k{flex:none;font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
#sov .no{margin-top:calc(36*var(--u));font:400 calc(16*var(--u)) var(--sans);color:var(--mute)}
@media(min-width:768px){#sov input{font-size:calc(36*var(--u))}}
@media(max-width:767px){#sov{padding:calc(96*var(--u)) calc(24*var(--u)) calc(48*var(--u))}}
@media(max-width:639px){#sov .k{font-size:calc(11.5*var(--u));letter-spacing:.16em}}
@media(prefers-reduced-motion:reduce){#sov,#sov.on{transition:none}}
.back{display:inline-flex;gap:calc(14*var(--u));align-items:center;min-height:calc(44*var(--u));margin-bottom:calc(56*var(--u));color:var(--mute);font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:color .2s}
.back:hover{color:var(--ink)}.back svg{width:calc(20*var(--u));height:auto;transition:transform .3s}.back:hover svg{transform:scaleX(-1) translateX(calc(5*var(--u)))!important}
.alab{font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:calc(28*var(--u))}
h1.at{font:700 clamp(calc(32*var(--u)),4.2vw,calc(52*var(--u)))/1.12 var(--serif);letter-spacing:-.015em;color:var(--ink);max-width:calc(860*var(--u))}
.ai{font:400 clamp(calc(18*var(--u)),1.7vw,calc(22*var(--u)))/1.6 var(--serif);max-width:calc(680*var(--u));margin:calc(40*var(--u)) 0 0;color:#333;text-wrap:pretty}
.am{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:calc(16*var(--u)) calc(72*var(--u));margin:calc(64*var(--u)) 0 0;padding:calc(28*var(--u)) 0 0;border-top:1px solid var(--line)}
.am dt{font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:calc(10*var(--u))}.am dd{margin:0;font:400 calc(15*var(--u))/1.4 var(--sans)}
.ab{max-width:calc(680*var(--u))}.ab p{font:400 calc(18*var(--u))/1.7 var(--sans);margin:0 0 calc(28*var(--u));text-wrap:pretty}.ab h2{font:400 calc(26*var(--u))/1.3 var(--serif);margin:calc(64*var(--u)) 0 calc(20*var(--u));text-wrap:balance}
.ab .an{margin-top:calc(56*var(--u));padding-top:calc(24*var(--u));border-top:1px solid var(--line);font-size:calc(14*var(--u));line-height:1.6;color:var(--mute)}
@media(max-width:639px){.am{grid-template-columns:1fr 1fr;gap:calc(20*var(--u)) calc(32*var(--u))}.back{margin-bottom:calc(36*var(--u))}.ab h2{font-size:calc(22*var(--u));margin-top:calc(48*var(--u))}.ab p{font-size:calc(17*var(--u))}}
.ag{display:grid;grid-template-columns:calc(240*var(--u)) minmax(0,calc(680*var(--u)));gap:calc(96*var(--u));border-top:1px solid var(--line);padding-top:calc(48*var(--u))}
.am{display:grid;grid-template-columns:1fr;justify-content:normal;gap:calc(28*var(--u));margin:0;padding:0;border:0;position:sticky;top:calc(48*var(--u));align-self:start}
h1.at{font-weight:400;letter-spacing:-.01em}
.rl .card{min-height:0;padding:calc(32*var(--u)) calc(32*var(--u)) calc(26*var(--u))}.rl .card .go{padding-top:calc(28*var(--u))}
@media(max-width:1023px){.ag{grid-template-columns:1fr;gap:calc(40*var(--u));padding-top:calc(32*var(--u))}.am{position:static;grid-template-columns:repeat(3,auto);justify-content:start;gap:calc(16*var(--u)) calc(40*var(--u))}}
@media(max-width:639px){.am{grid-template-columns:1fr 1fr;gap:calc(20*var(--u)) calc(32*var(--u))}}
#app{transition:opacity .35s cubic-bezier(.22,.61,.36,1)}
#app.out{opacity:0;transition-duration:.2s}
@keyframes heroIn{from{opacity:0;transform:scale(1.07)}}
@keyframes rise{from{opacity:0;transform:translateY(calc(16*var(--u)))}}
.rv{animation:rise .5s cubic-bezier(.22,.61,.36,1) var(--rd,0ms) backwards}
.rv.defer{animation-play-state:paused}.rv.defer.in{animation-play-state:running}
.hero{background:#e9ecec}
.hero img{animation:heroIn 1.4s cubic-bezier(.22,.61,.36,1) backwards}
@media(prefers-reduced-motion:reduce){.rv,.hero img{animation:none!important}}
.card .sm{margin:calc(16*var(--u)) 0 0;font:400 calc(14*var(--u))/1.6 var(--sans);color:#d9dede}.card[hidden]{display:none}
.flt{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(48*var(--u));margin:calc(64*var(--u)) 0}
.flt .f{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:calc(14*var(--u));width:100%;min-height:calc(44*var(--u));padding:0 0 calc(14*var(--u));border-bottom:1px solid var(--ink);font:400 calc(16*var(--u))/1 var(--sans);color:var(--ink);cursor:pointer}
.flt label.f{cursor:text}.flt .f:focus-visible,.flt .f:focus-within{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
.flt .f input{all:unset;flex:1;min-width:0;font:400 calc(16*var(--u))/1 var(--sans)}.flt .f input::placeholder{color:var(--ink);opacity:1}.flt .f input::-webkit-search-cancel-button{-webkit-appearance:none}
.flt .chev{margin-left:auto;flex:none;transition:transform .25s}.dd.open .chev{transform:rotate(180deg)}
.dd{position:relative}.dd ul{position:absolute;left:0;right:0;top:100%;z-index:6;margin:0;padding:calc(8*var(--u)) 0;list-style:none;background:var(--bg);border:1px solid var(--line);border-top:0;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility 0s .15s}
.dd.open ul{opacity:1;visibility:visible;transition:opacity .15s ease}
.dd li{display:flex;align-items:center;min-height:calc(44*var(--u));padding:calc(6*var(--u)) calc(16*var(--u));font:400 calc(16*var(--u))/1.4 var(--sans);cursor:pointer;outline:0}.dd li:hover,.dd li:focus-visible,.dd li[aria-selected=true]{background:#f4f4f4}.dd li:focus-visible{box-shadow:inset 2px 0 0 var(--acc)}
.none{margin:calc(48*var(--u)) 0 0;color:var(--mute)}.none[hidden],.mw[hidden]{display:none}
.mw{text-align:center;margin-top:calc(56*var(--u))}.mbtn{all:unset;cursor:pointer;display:inline-block;box-sizing:border-box;border:1px solid var(--ink);padding:calc(14*var(--u)) calc(32*var(--u));min-height:calc(44*var(--u));font:500 calc(14*var(--u))/1.5 var(--sans);transition:background .2s,color .2s}.mbtn:hover{background:var(--ink);color:#fff}.mbtn:focus-visible{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
@media(max-width:1023px){.flt{gap:calc(24*var(--u))}}
@media(max-width:639px){.flt{grid-template-columns:1fr;gap:0;margin:calc(48*var(--u)) 0 calc(40*var(--u))}.flt .f{padding:calc(26*var(--u)) 0 calc(14*var(--u))}.flt label.f{padding-top:0;gap:calc(14*var(--u))}.mw{margin-top:calc(40*var(--u))}}
@media(prefers-reduced-motion:reduce){.dd ul,.flt .chev{transition:none}}
.cb h3{margin:0 0 calc(18*var(--u))}.cb{margin-bottom:calc(56*var(--u))}
.cb a.ml{border-bottom:1px solid var(--ink);padding-bottom:2px}.cb .em{white-space:normal}
@media(min-width:1024px){.cp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cl{padding-right:calc(56*var(--u))}}
.cb h3{color:var(--ink);font-weight:700}
.how{display:grid;grid-template-columns:minmax(calc(400*var(--u)),30%) minmax(0,1fr);min-height:clamp(calc(560*var(--u)),64vh,calc(720*var(--u)));border-top:1px solid var(--line)}
.hl2{padding:calc(88*var(--u)) calc(48*var(--u)) calc(72*var(--u)) max(calc(64*var(--u)),calc((100vw - calc(1328*var(--u)))/2 + calc(64*var(--u))))}
.hh{font:700 calc(16*var(--u))/1.4 var(--sans);margin:0 0 calc(40*var(--u));color:var(--ink)}
.hg{display:block;box-sizing:border-box;margin:0;padding:0 0 calc(25*var(--u));background:transparent;border:0;color:rgb(25,24,23);font-family:"Inter 18pt",Inter,sans-serif;font-size:calc(15.008*var(--u));font-weight:400;font-style:normal;line-height:calc(25.9638*var(--u));font-kerning:auto;font-optical-sizing:auto;font-stretch:100%;text-underline-offset:calc(3*var(--u));-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}.hg h4{margin:0;font:inherit;font-weight:700;color:inherit}.hg p{margin:0;font:inherit;color:inherit}
.hlk{display:inline-block;margin-top:calc(8*var(--u));border-bottom:1px solid var(--ink);padding-bottom:2px;font:400 calc(16*var(--u))/1.5 var(--sans)}
.hm{position:relative;background:#eceeee;overflow:hidden}
.hf{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(18*var(--u));padding:calc(24*var(--u));text-align:center}.hf p{margin:0;font:400 calc(20*var(--u))/1.4 var(--serif);color:var(--ink)}.hf .mapok{margin-top:calc(4*var(--u));background:none;border:0;border-bottom:1px solid var(--acc);border-radius:0;cursor:pointer;color:var(--ink)}.hf .mapnote{display:block;max-width:calc(380*var(--u));font:400 calc(12.5*var(--u))/1.6 var(--sans);color:var(--mute)}
.mk{width:calc(56*var(--u));height:calc(56*var(--u));border-radius:50%;background:#fff;border:1px solid var(--ink);display:grid;place-items:center}.mk i{width:calc(10*var(--u));height:calc(10*var(--u));border-radius:50%;background:var(--acc)}
.hw2{position:absolute;left:0;right:0;top:calc(-110*var(--u));bottom:0}.hw2 iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(.92) brightness(1.06)}.hw2 .mk{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - calc(24*var(--u))));pointer-events:none}
@media(max-width:1023px){.how{grid-template-columns:1fr;min-height:0}.hl2{padding:calc(72*var(--u)) calc(40*var(--u)) calc(56*var(--u))}.hm{height:clamp(calc(360*var(--u)),52vh,calc(520*var(--u)))}}
@media(max-width:639px){.hl2{padding:calc(56*var(--u)) calc(21*var(--u)) calc(44*var(--u))}.hh{margin-bottom:calc(32*var(--u))}.hg{margin-bottom:0}.hm{height:calc(380*var(--u))}}

/* ===== refinement pass: rhythm, numerals, underline motion, progress ===== */
.rhy{padding-top:calc(152*var(--u));padding-bottom:calc(152*var(--u))}
.rhy .lead{margin:calc(44*var(--u)) 0 calc(128*var(--u))}
.rhy .row{padding:calc(88*var(--u)) 0;gap:calc(56*var(--u))}
.rhy .row:last-child{padding-bottom:calc(128*var(--u))}
.rhy .flt{margin:calc(96*var(--u)) 0 calc(88*var(--u))}
.rhy .grid{gap:calc(40*var(--u))}
.row small{font:400 calc(18*var(--u))/1 var(--serif);letter-spacing:.04em;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;color:var(--acc);padding-top:calc(9*var(--u))}
@media(max-width:1023px){.rhy{padding-top:calc(120*var(--u));padding-bottom:calc(120*var(--u))}.rhy .lead{margin-bottom:calc(96*var(--u))}.rhy .row{padding:calc(72*var(--u)) 0;gap:calc(32*var(--u))}.rhy .row:last-child{padding-bottom:calc(96*var(--u))}.rhy .flt{margin:calc(72*var(--u)) 0 calc(64*var(--u))}.rhy .grid{gap:calc(32*var(--u))}}
@media(max-width:639px){.rhy{padding-top:calc(88*var(--u));padding-bottom:calc(96*var(--u))}.rhy .lead{margin:calc(32*var(--u)) 0 calc(72*var(--u))}.rhy .row{padding:calc(56*var(--u)) 0;gap:calc(20*var(--u))}.rhy .row:last-child{padding-bottom:calc(72*var(--u))}.rhy .flt{margin:calc(56*var(--u)) 0 calc(48*var(--u))}.rhy .grid{gap:calc(20*var(--u))}.row small{padding-top:0}}

/* one quiet underline: draws in from the left on hover / focus */
/* back link: quiet coral underline draws in on hover */
.back span{--ls:.22em;padding-bottom:calc(5*var(--u));margin-bottom:calc(-5*var(--u));background:linear-gradient(var(--acc),var(--acc)) no-repeat 0 100%/0 1px;transition:background-size .5s cubic-bezier(.22,.61,.36,1)}
.back:hover span,.back:focus-visible span{background-size:calc(100% - var(--ls,0em)) 1px}

.cb a.ml,.hlk{border-bottom:0;padding-bottom:0}
.link{border-bottom:0;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s cubic-bezier(.22,.61,.36,1);padding-bottom:calc(13*var(--u));background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--acc),var(--acc));background-size:0 1px,100% 1px}
.link:hover,.link:focus-visible{background-size:100% 1px,100% 1px}
.link svg{transition:transform .4s cubic-bezier(.22,.61,.36,1)}.link:hover svg,.link:focus-visible svg{transform:translateX(calc(6*var(--u)))}

/* reading progress on articles */
#prog{position:fixed;left:0;top:env(safe-area-inset-top,0px);width:100%;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:0 50%;z-index:8;pointer-events:none;opacity:0;transition:opacity .3s ease}
#prog.on{opacity:1}
@media(prefers-reduced-motion:reduce){.back span,.link,.link svg,#prog{transition:none!important}}

/* ===== revisions ===== */
.row small{color:var(--acc)}
nav.main a span,#menu nav a span{background:none;padding-bottom:0}
.cb a.ml,.cb a[href^=tel],.hlk{background:none;padding-bottom:0}
#menu .pad{padding-bottom:calc(12*var(--u))}
/* contact + how-to-find-us: shared, tighter left edge; email on one line */
@media(min-width:1024px){.cl,.hl2{padding-left:calc(64*var(--u))}.cb .em{white-space:nowrap}.cols{grid-template-columns:1fr}}
@media(min-width:1280px){.cols{grid-template-columns:max-content minmax(0,1fr);gap:0 calc(64*var(--u))}}
@media(max-width:429px){.cb .em{white-space:normal}}

/* ===== contact form ===== */
.frm{display:grid;grid-template-columns:minmax(calc(400*var(--u)),30%) minmax(0,1fr);border-top:1px solid var(--line)}
.fl{padding:calc(112*var(--u)) calc(48*var(--u)) calc(120*var(--u)) calc(64*var(--u))}
.fm{padding:calc(112*var(--u)) calc(64*var(--u)) calc(120*var(--u)) 0;max-width:calc(824*var(--u))}
.fh{margin:0;font:400 clamp(calc(24*var(--u)),2.2vw,calc(30*var(--u)))/1.3 var(--serif);color:#222;text-wrap:balance}
.fp{margin:calc(28*var(--u)) 0 0;max-width:34ch;font:400 calc(15*var(--u))/1.8 var(--sans);color:var(--ink)}
.fn{margin:calc(40*var(--u)) 0 0;padding-top:calc(24*var(--u));max-width:34ch;border-top:1px solid var(--line);font:400 calc(13.5*var(--u))/1.7 var(--sans);color:var(--mute)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:calc(52*var(--u)) calc(56*var(--u))}
.fld{position:relative;min-width:0}.fld.w{grid-column:1/-1}
.fld label{display:block;margin-bottom:calc(14*var(--u));font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);transition:color .2s}
.fld:focus-within label{color:var(--ink)}
.fld input,.fld select,.fld textarea{-webkit-appearance:none;appearance:none;display:block;width:100%;margin:0;padding:0 0 calc(14*var(--u));border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:400 calc(16*var(--u))/1.5 var(--sans);outline:0;box-shadow:0 0 0 0 var(--acc);transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:calc(132*var(--u));resize:none;line-height:1.7}
.fld select{padding-right:calc(28*var(--u));cursor:pointer;text-overflow:ellipsis}
.fld .chv{position:absolute;right:0;bottom:calc(17*var(--u));pointer-events:none;color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-bottom-color:var(--acc);box-shadow:0 1px 0 0 var(--acc)}
.fld.err input,.fld.err select,.fld.err textarea{border-bottom-color:var(--acc)}
.fe{display:block;margin-top:calc(10*var(--u));font:400 calc(13*var(--u))/1.4 var(--sans);color:var(--acc)}.fe:empty{display:none}
.ck{position:relative;display:grid;grid-template-columns:calc(18*var(--u)) 1fr;gap:calc(18*var(--u));align-items:start;margin:calc(52*var(--u)) 0 0;max-width:calc(760*var(--u));cursor:pointer}
.ck input{position:absolute;left:0;top:calc(3*var(--u));width:calc(18*var(--u));height:calc(18*var(--u));margin:0;opacity:0;cursor:pointer}
.ck .bx{position:relative;width:calc(18*var(--u));height:calc(18*var(--u));margin-top:calc(3*var(--u));border:1px solid var(--ink);transition:border-color .2s}
.ck .bx::after{content:"";position:absolute;left:calc(5*var(--u));top:1px;width:calc(5*var(--u));height:calc(10*var(--u));border:solid var(--acc);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(0);transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.ck input:checked+.bx::after{transform:rotate(45deg) scale(1)}
.ck input:focus-visible+.bx{outline:2px solid var(--acc);outline-offset:calc(4*var(--u))}
.ck.err .bx{border-color:var(--acc)}
.ck .ct{font:400 calc(14*var(--u))/1.7 var(--sans);color:#444}
/* spam trap: hidden from people, filled in by bots */
.hp{position:absolute;left:calc(-9999*var(--u));top:auto;width:1px;height:1px;overflow:hidden}
button.link.sub{-webkit-appearance:none;appearance:none;border:0;border-radius:0;background-color:transparent;cursor:pointer;padding-left:0;padding-right:0;margin-top:calc(52*var(--u))}
.fok{margin:calc(36*var(--u)) 0 0;max-width:calc(560*var(--u));padding-left:calc(20*var(--u));border-left:2px solid var(--acc);font:400 calc(15*var(--u))/1.7 var(--sans);color:var(--ink)}.fok[hidden]{display:none}
.fok a{border-bottom:1px solid var(--ink)}
@media(max-width:1023px){.frm{grid-template-columns:1fr}.fl{padding:calc(88*var(--u)) calc(40*var(--u)) 0}.fm{padding:calc(56*var(--u)) calc(40*var(--u)) calc(96*var(--u));max-width:none}.fp,.fn{max-width:52ch}}
@media(max-width:639px){.fl{padding:calc(64*var(--u)) calc(21*var(--u)) 0}.fm{padding:calc(40*var(--u)) calc(21*var(--u)) calc(72*var(--u))}.fg{grid-template-columns:1fr;gap:calc(38*var(--u))}.ck{margin-top:calc(40*var(--u))}button.link.sub{margin-top:calc(40*var(--u))}}
@media(prefers-reduced-motion:reduce){.fld input,.fld select,.fld textarea,.ck .bx::after{transition:none}}
/* dark menu: dim the other main links while one is hovered / focused */
@media(hover:hover){#menu nav:hover a:not(:hover){color:rgba(255,255,255,.22)}}
#menu nav:has(a:focus-visible) a:not(:focus-visible){color:rgba(255,255,255,.22)}



@media(min-width:1024px){:root{--u0:clamp(.8px,.0667vw,1.25px)}}
@media(min-width:1024px){
.hero{height:calc(670*var(--u))}
.cp{min-height:calc(760*var(--u))}
.how{min-height:calc(640*var(--u))}
}

/* the full-screen menu is height-bound: scale it so the whole composition always fits the window */
@media(min-width:640px){#menu{--u:min(var(--u0),calc(100vh/940))}}



/* ===== footer: dark, four columns + right-hand column ===== */
footer#ft{background:rgb(21,20,19);color:#f2efec;border-top:0;padding:calc(76*var(--u)) 0 calc(72*var(--u));font-size:calc(16*var(--u))}
footer#ft .ftg{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) minmax(0,.95fr) minmax(0,1.6fr) minmax(0,1.3fr);gap:calc(40*var(--u)) calc(32*var(--u));align-items:start}
footer#ft h4{margin:0;font:700 calc(16*var(--u))/1.75 var(--sans);color:#fff}
footer#ft h4.ft2{margin-top:calc(26*var(--u))}
footer#ft a,footer#ft p{display:block;margin:0;font:400 calc(16*var(--u))/1.75 var(--sans);color:#f2efec;transition:color .25s}
footer#ft a:hover,footer#ft a:focus-visible{color:var(--acc)}
footer#ft a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
footer#ft .fte{white-space:nowrap}
footer#ft .ftr{justify-self:end;text-align:left}
footer#ft .ftcp{white-space:nowrap;color:rgba(242,239,236,.6);font-size:calc(14*var(--u))}
footer#ft .ftl{display:flex;gap:calc(10*var(--u));align-items:baseline;margin-top:calc(26*var(--u));font:500 calc(12.5*var(--u))/1.5 var(--sans);letter-spacing:.22em;text-transform:lowercase}
footer#ft .ftl button{all:unset;cursor:pointer;color:rgba(242,239,236,.45);transition:color .25s}
footer#ft .ftl button:hover{color:#fff}
footer#ft .ftl button[aria-pressed=true]{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.6);text-underline-offset:4px}
footer#ft .ftl button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
footer#ft .ftl i{font-style:normal;color:rgba(242,239,236,.25)}
@media(max-width:1023px){footer#ft .ftg{grid-template-columns:repeat(2,minmax(0,1fr))}footer#ft .ftr{justify-self:start}}
@media(max-width:639px){footer#ft{padding:calc(56*var(--u)) 0 calc(48*var(--u))}footer#ft .ftg{grid-template-columns:1fr;gap:calc(36*var(--u))}}

/* smaller footer type + legal links + legal pages */
footer#ft{font-size:calc(14*var(--u))}
footer#ft h4,footer#ft a,footer#ft p{font-size:calc(14*var(--u))!important;line-height:1.7!important}
footer#ft .ftcp{font-size:calc(12.5*var(--u))!important}
footer#ft .ftlg{margin-bottom:calc(26*var(--u))}
footer#ft .ftlg a{color:#f2efec;white-space:nowrap}
footer#ft .ftl{font-size:calc(12*var(--u))}
.leg{max-width:calc(760*var(--u))}
.leg h2{font:400 calc(22*var(--u))/1.3 var(--serif);color:#222;margin:calc(44*var(--u)) 0 calc(14*var(--u));text-wrap:balance}
.leg h2:first-child{margin-top:0}
.leg p{font:400 calc(16*var(--u))/1.75 var(--sans);margin:0 0 calc(14*var(--u));text-wrap:pretty}
.leg a{border-bottom:1px solid var(--acc)}

/* quieter header utilities so the logotype leads */
.lang{font-size:calc(10.5*var(--u));gap:calc(11*var(--u))}
.more,#menu .x{font-size:calc(10.5*var(--u));gap:calc(20*var(--u))}
.more i{width:calc(26*var(--u))}
#menu .x i{width:calc(26*var(--u))}
.srch svg{width:calc(19*var(--u));height:calc(19*var(--u))}

nav.main .cap{font-size:calc(11.5*var(--u))}

footer#ft .ftlg a{transition:color .25s}
footer#ft .ftlg a:hover,footer#ft .ftlg a:focus-visible{color:var(--acc)}

/* ===== footer finish: brand at left, hairline divider, slim legal row ===== */
footer#ft .ftg{grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.45fr);gap:calc(40*var(--u)) calc(32*var(--u))}
footer#ft a.ftbr{display:inline-block;justify-self:start;text-align:center;color:#fff;padding:0}
footer#ft a.ftbr:hover{color:#fff}
footer#ft .ftbr b{display:block;white-space:nowrap;font:400 calc(15*var(--u))/1 var(--serif);letter-spacing:.16em;color:#fff}
footer#ft .ftbr span{display:block;white-space:nowrap;margin-top:calc(8*var(--u));font:400 calc(8.5*var(--u))/1 var(--serif);letter-spacing:.32em;color:rgba(242,239,236,.62)}

footer#ft .ftb{display:flex;justify-content:space-between;align-items:center;gap:calc(20*var(--u)) calc(40*var(--u));margin-top:calc(64*var(--u));padding-top:calc(26*var(--u));border-top:1px solid rgba(242,239,236,.16)}
footer#ft .ftb .ftcp{margin:0;white-space:normal;color:rgba(242,239,236,.55)}
footer#ft .ftb .ftlg{margin:0;display:flex;flex-wrap:wrap;gap:calc(8*var(--u)) calc(28*var(--u))}
footer#ft .ftb a,footer#ft .ftb p{font-size:calc(12.5*var(--u))!important;line-height:1.6!important}
@media(max-width:1023px){footer#ft .ftg{grid-template-columns:repeat(2,minmax(0,1fr))}footer#ft a.ftbr{grid-column:1/-1}footer#ft .ftb{flex-direction:column;align-items:flex-start}}
@media(max-width:639px){footer#ft .ftg{grid-template-columns:1fr}footer#ft .ftb{margin-top:calc(44*var(--u))}}

/* ===== contact form confirmation ===== */
.fok{display:flex;gap:calc(14*var(--u));align-items:flex-start;max-width:calc(560*var(--u));padding:calc(18*var(--u)) calc(22*var(--u));border:1px solid var(--line);border-left:2px solid var(--acc);background:rgba(0,0,0,.02);font:400 calc(15*var(--u))/1.65 var(--sans);color:var(--ink)}
.fok[hidden]{display:none}
.fok.in{animation:rise .5s cubic-bezier(.22,.61,.36,1) backwards}
.fok svg{flex:none;width:calc(20*var(--u));height:calc(20*var(--u));margin-top:calc(3*var(--u));color:var(--acc)}
.fok strong{font-weight:600}
@media(prefers-reduced-motion:reduce){.fok.in{animation:none}}

/* ===== fine detail pass ===== */
/* careful loading: wait for fonts (max 1.2s) so text never jumps */
body{transition:opacity .6s ease}
html.fl body{opacity:0}
/* text selection, scrollbar, press states */
::selection{background:var(--acc);color:#fff}
html{scrollbar-width:thin;scrollbar-color:#b9bdbd transparent}
button:active,.link:active,.card:active{transform:scale(.985)}
.link,button{-webkit-tap-highlight-color:transparent}
/* orphan control on headings and body copy */
h1,h2,h3,.lead{text-wrap:balance}
p,li{text-wrap:pretty}
/* images: soft fade on arrival */
@keyframes imgIn{from{opacity:0}}
.ci img{animation:imgIn 1s ease backwards;transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}
.ci{overflow:hidden}
.ci:hover img{transform:scale(1.03)}
.hero img{transition:transform 2s cubic-bezier(.22,.61,.36,1)}
.hero:hover img{transform:scale(1.025)}
@media(hover:none),(prefers-reduced-motion:reduce){.ci:hover img,.hero:hover img{transform:none}}

/* footer: compact logotype on its own row at the top left, columns aligned to the same left edge */
@media(min-width:1024px){
footer#ft .ftg{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1.7fr);gap:calc(34*var(--u)) calc(40*var(--u))}
footer#ft a.ftbr{grid-column:1/-1;justify-self:start;margin-bottom:calc(22*var(--u))}
footer#ft .ftbr b{font-size:calc(13*var(--u))}
footer#ft .ftbr span{font-size:calc(7.5*var(--u));margin-top:calc(7*var(--u))}
}
/* ===== home: calm middle section + contact line ===== */
.mid{padding:calc(48*var(--u)) 0 calc(112*var(--u))}
.mg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:calc(88*var(--u));align-items:start}
.ms small{display:block;margin-bottom:calc(28*var(--u));font:500 calc(11*var(--u))/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.ms p{margin:0;max-width:calc(500*var(--u));font:400 calc(30*var(--u))/1.42 var(--serif);color:#151413;text-wrap:balance}
.ar{display:grid;grid-template-columns:calc(56*var(--u)) minmax(0,1fr) auto;align-items:baseline;padding:calc(22*var(--u)) 0;border-top:1px solid var(--line);color:#151413}
.ar:last-child{border-bottom:1px solid var(--line)}
.ar small{font:400 calc(13*var(--u))/1 var(--serif);color:var(--acc)}
.ar span{font:400 calc(21*var(--u))/1.35 var(--serif);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.ar svg{align-self:center;color:var(--mute);transition:transform .5s cubic-bezier(.22,.61,.36,1),color .3s}
.ar:hover span{transform:translateX(calc(5*var(--u)))}
.ar:hover svg{transform:translateX(calc(8*var(--u)));color:var(--acc)}
.cta2{padding:calc(64*var(--u)) 0 calc(88*var(--u));border-top:1px solid var(--line)}
.cg{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:calc(28*var(--u)) calc(64*var(--u))}
.cq{margin:0;font:400 calc(30*var(--u))/1.3 var(--serif);color:#151413}
.cl2{display:flex;flex-wrap:wrap;gap:calc(14*var(--u)) calc(44*var(--u));font:400 calc(16*var(--u))/1.6 var(--sans)}
.cl2 a{padding-bottom:0;border-bottom:0;text-decoration:none;transition:color .25s}
.cl2 a:hover{color:var(--acc)}
/* ===== about page ===== */
.kg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:calc(88*var(--u));align-items:start;margin-top:calc(56*var(--u))}
.pt{margin:0;aspect-ratio:4/5;position:relative;overflow:hidden;background:#ecebe8}
.pt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pt-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(14*var(--u));color:rgba(21,20,19,.32)}
.pt-ph b{font:400 calc(60*var(--u))/1 var(--serif);letter-spacing:.16em;padding-left:.16em}
.pt-ph i{font:400 calc(11*var(--u))/1 var(--sans);font-style:normal;letter-spacing:.24em;text-transform:uppercase}
.kn h2{margin:0;font:400 calc(34*var(--u))/1.2 var(--serif);color:#151413}
.kn .kr{display:block;margin:calc(14*var(--u)) 0 calc(36*var(--u));font:500 calc(11*var(--u))/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.kn p{max-width:calc(620*var(--u));margin:0 0 calc(18*var(--u));font:400 calc(17*var(--u))/1.8 var(--sans);text-wrap:pretty}
.kn dl{margin:calc(44*var(--u)) 0 0;max-width:calc(620*var(--u))}
.kn dl>div{display:grid;grid-template-columns:calc(190*var(--u)) minmax(0,1fr);gap:calc(24*var(--u));padding:calc(18*var(--u)) 0;border-top:1px solid var(--line)}
.kn dl>div:last-child{border-bottom:1px solid var(--line)}
.kn dt{font:500 calc(11*var(--u))/1.9 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.kn dd{margin:0;font:400 calc(15*var(--u))/1.7 var(--sans)}
@media(max-width:1023px){.mg,.kg{grid-template-columns:1fr;gap:calc(48*var(--u))}.ms p{font-size:calc(25*var(--u))}.mid{padding-bottom:calc(72*var(--u))}.cta2{padding:calc(48*var(--u)) 0 calc(64*var(--u))}.cq{font-size:calc(25*var(--u))}.pt{max-width:calc(420*var(--u))}}
@media(max-width:639px){.ar span{font-size:calc(18*var(--u))}.ar{grid-template-columns:calc(40*var(--u)) minmax(0,1fr) auto}.kn dl>div{grid-template-columns:1fr;gap:calc(6*var(--u))}.kn h2{font-size:calc(28*var(--u))}}

/* ===== home: Kancelaria teaser ===== */
.kt{padding:calc(96*var(--u)) 0 calc(112*var(--u));border-top:1px solid var(--line)}
.kt .ms p{max-width:calc(540*var(--u));font-size:calc(22*var(--u));line-height:1.65}
.kc h3{margin:0;font:400 calc(28*var(--u))/1.25 var(--serif);color:#151413}
.kc small{display:block;margin:calc(14*var(--u)) 0 0;font:500 calc(11*var(--u))/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
@media(max-width:1023px){.kt{padding:calc(64*var(--u)) 0 calc(72*var(--u))}.kt .ms p{font-size:calc(19*var(--u))}}

.mid{padding-top:0}

/* ===== home sections: bold serif heading, regular smaller serif text beneath ===== */
.mid .ms h2,.kt .ms h2,.kc h3{margin:0;font:700 calc(26*var(--u))/1.25 var(--serif);color:#151413;letter-spacing:0;text-wrap:balance}
.mid .ms p,.kt .ms p{margin:calc(20*var(--u)) 0 0;max-width:calc(480*var(--u));font:400 calc(18*var(--u))/1.75 var(--serif);color:#2b2a29;text-wrap:pretty}
.kc small{margin-top:calc(20*var(--u));font:400 calc(18*var(--u))/1.75 var(--serif);letter-spacing:0;text-transform:none;color:#2b2a29}
.kc .link{margin-top:calc(32*var(--u))}
@media(max-width:1023px){.mid .ms h2,.kt .ms h2,.kc h3{font-size:calc(23*var(--u))}.mid .ms p,.kt .ms p,.kc small{font-size:calc(17*var(--u))}}

.sh{margin:0 0 calc(44*var(--u));font:700 calc(26*var(--u))/1.25 var(--serif);color:#151413;letter-spacing:0}
@media(max-width:1023px){.sh{font-size:calc(23*var(--u))}}

.kt+.mid{border-top:1px solid var(--line);padding-top:calc(96*var(--u))}
@media(max-width:1023px){.kt+.mid{padding-top:calc(64*var(--u))}}

/* home sections: body text in Inter, headings stay serif */
.mid .ms p,.kt .ms p,.kc small{font-family:var(--sans);font-size:calc(17*var(--u));line-height:1.7}
@media(max-width:1023px){.mid .ms p,.kt .ms p,.kc small{font-size:calc(16*var(--u))}}

/* menu: larger publication links */
#mp a{font-size:calc(16*var(--u));line-height:1.45}
#mp a svg{width:calc(18*var(--u));height:calc(18*var(--u))}
#mp{gap:calc(24*var(--u)) calc(64*var(--u))}
@media(min-width:640px){#mp a{font-size:calc(17*var(--u))}#mp a svg{width:calc(19*var(--u));height:calc(19*var(--u))}#mp{gap:calc(28*var(--u)) calc(64*var(--u))}}

/* menu: more air between the publication links and the footer line */
#menu .mc{padding-bottom:calc(56*var(--u))}
#menu .mfoot{padding-top:calc(24*var(--u))}
@media(min-width:640px){#menu .mc{padding-bottom:calc(88*var(--u))}#menu .mfoot{padding-top:calc(32*var(--u))}}
.cl2 a.link{margin-top:0;border-bottom:1px solid var(--acc);padding-bottom:calc(12*var(--u))}.cl2 a.link:hover{color:var(--ink)}
#form{scroll-margin-top:calc(24*var(--u))}
.cols .bill{grid-column:1/-1}
.cb.bill p{white-space:nowrap;line-height:1.85}
/* dark menu: smooth cross-fade when switching PL / EN */
#menu.sw nav,#menu.sw .pad,#menu.sw .mfoot{opacity:0!important;transition:opacity .24s ease!important;transition-delay:0s!important}
#menu.swi nav,#menu.swi .pad,#menu.swi .mfoot{opacity:1;transition:opacity .42s ease!important;transition-delay:0s!important}
/* header: Więcej on the same line as PL / EN and the search icon */
@media(min-width:640px){.more{top:calc(26.1*var(--u) + env(safe-area-inset-top,0px))}}
/* ===== form refinements ===== */
/* 1. calmer line breaks in the intro and the confidentiality note */
.fp,.fn{text-wrap:balance}
/* 2. quieter checkbox */
.ck .bx{width:calc(16*var(--u));height:calc(16*var(--u));margin-top:calc(4*var(--u));border-color:rgba(21,20,19,.5);transition:border-color .2s}
.ck:hover .bx{border-color:var(--ink)}
.ck .bx::after{left:calc(4.5*var(--u));top:0;width:calc(4*var(--u));height:calc(9*var(--u))}
.ck{grid-template-columns:calc(16*var(--u)) 1fr}
.ck input{width:calc(16*var(--u));height:calc(16*var(--u))}
/* 3. empty select reads as a placeholder, like the empty fields */
.fld select:has(option[value=""]:checked){color:var(--mute);font-size:calc(15*var(--u))}
.fld select,.fld input{line-height:calc(24*var(--u))}
.fld select:has(option[value=""]:checked)~.chv{color:var(--mute)}
/* 4. shorter message box that grows with the text */
.fld textarea{height:calc(104*var(--u));min-height:0;line-height:1.7}
@supports(field-sizing:content){.fld textarea{field-sizing:content;height:auto;min-height:calc(104*var(--u));max-height:calc(280*var(--u))}}
/* 5. heading matches the bold serif headings used elsewhere */
.frm .fh{font:700 calc(26*var(--u))/1.25 var(--serif);color:#151413;letter-spacing:0;text-wrap:balance}
@media(max-width:1023px){.frm .fh{font-size:calc(23*var(--u))}}
/* heading top edge level with the first field label */
@media(min-width:1024px){.frm .fh{margin-top:calc(-4.8*var(--u))}}
/* form: left column sits on the same grid as the fields - divider level with the phone / area line, note level with the MESSAGE label */
@media(min-width:1024px){.fl{position:relative}.fn{position:absolute;top:calc(293.9*var(--u));margin:0;padding-top:calc(48.4*var(--u))}}
/* ===== publications: filter columns on the card grid, summaries on one line, quieter filter text ===== */
.grid{--gg:calc(32*var(--u))}.rhy .grid{--gg:calc(40*var(--u))}
@media(max-width:1023px){.grid{--gg:calc(28*var(--u))}.rhy .grid{--gg:calc(32*var(--u))}}
@media(max-width:639px){.grid,.rhy .grid{--gg:calc(20*var(--u))}}
/* 1. same column gap for filters and cards */
@media(min-width:1024px){.rhy .flt{column-gap:calc(40*var(--u))}}
/* 2. cards share rows, so labels, titles and summaries line up across a row */
@supports(grid-template-rows:subgrid){@media(min-width:640px){
.grid,.rhy .grid{grid-auto-rows:auto auto auto minmax(calc(102*var(--u)),1fr);column-gap:var(--gg);row-gap:0;margin-bottom:calc(-1*var(--gg))}
.card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;margin-bottom:var(--gg)}
.card .go{margin-top:0;padding-top:calc(60*var(--u));align-self:end;justify-self:end}
}}
/* 3. filter text reads as quiet placeholders until something is chosen */
.flt .f{color:var(--mute)}
.flt .f.sel{color:var(--ink)}
.flt .f input{color:var(--ink)}
.flt .f input::placeholder{color:var(--mute);opacity:1}

/* map pin: solid, tip on the exact point */
.mk{width:calc(40*var(--u));height:auto;border:0;border-radius:0;background:none;display:block}
.mk svg{display:block;width:100%;height:auto;filter:drop-shadow(0 calc(2*var(--u)) calc(3*var(--u)) rgba(21,20,19,.28))}
.hw2 .mk{left:50%;top:50%;transform:translate(-50%,-97%)}

/* print / save as PDF: letterhead on top, no menu, footer, form or map */
.pr{display:none}
.link.vc{-webkit-appearance:none;appearance:none;border:0;border-radius:0;background-color:transparent;cursor:pointer;padding-left:0;padding-right:0;margin-top:calc(8*var(--u))}
@page{margin:18mm 16mm}
@media print{
html.fl body,#app{opacity:1!important;transition:none!important}
body{background:#fff;color:#000}
header,footer#ft,#menu,#sov,#prog,.more,.cta2,.hero,.flt,.search,.how,.frm,.back,.link,.ci,.pagn{display:none!important}
.pr{display:block;padding:0 0 calc(18*var(--u));margin-bottom:calc(36*var(--u));border-bottom:1px solid #999}
.pr b{display:block;font:400 18pt/1 var(--serif);letter-spacing:.16em}
.pr span{display:block;margin-top:5pt;font:400 7.5pt/1 var(--serif);letter-spacing:.28em;color:#555}
.pr p{margin:10pt 0 0;font:400 8.5pt/1.4 var(--sans);color:#333}
.rv{animation:none!important;opacity:1!important;transform:none!important}
section{padding:calc(24*var(--u)) 0!important}
.cp{display:block!important;min-height:0!important}
.cl{padding:0!important}
.cols{display:block!important}
.card{background:#fff!important;border:1px solid #bbb!important;break-inside:avoid}
.card *{color:#000!important}
h1,h2,h3,h4{break-after:avoid}
p,li,.cb,.row{break-inside:avoid}
a{color:inherit!important;text-decoration:none!important;background:none!important;border-bottom:0!important}
.leg a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;color:#555}
}
/* dark menu: trim vertical spacing so it fits a 13-inch screen without scrolling */
@media(min-width:640px){#menu nav a{padding:calc(15*var(--u)) 0}#menu .mlang{margin-bottom:calc(32*var(--u))}#menu .mc{padding-bottom:calc(56*var(--u))}#menu .mfoot{padding-top:calc(24*var(--u))}}
/* Kancelaria: fees section, same voice as the home-page sections */
.wyn .wg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:calc(96*var(--u))}
.wyn h2{margin:0;font:700 calc(26*var(--u))/1.25 var(--serif);color:#151413;text-wrap:balance}
.wyn .wh p{margin:calc(20*var(--u)) 0 0;max-width:calc(420*var(--u));font:400 calc(17*var(--u))/1.7 var(--sans);color:#2b2a29;text-wrap:pretty}
.wyn .wi{padding:calc(28*var(--u)) 0;border-top:1px solid var(--line)}
.wyn .wi:first-child{padding-top:0;border-top:0}
.wyn h3{margin:0 0 calc(8*var(--u));font:400 calc(21*var(--u))/1.3 var(--serif);color:#222}
.wyn .wi p{margin:0;max-width:calc(560*var(--u));font:400 calc(16*var(--u))/1.7 var(--sans);color:#2b2a29;text-wrap:pretty}
.wyn .wn{margin:calc(8*var(--u)) 0 0;padding-top:calc(28*var(--u));border-top:1px solid var(--line);font:400 calc(14*var(--u))/1.7 var(--sans);color:var(--mute)}
@media(max-width:1023px){.wyn .wg{grid-template-columns:1fr;gap:calc(48*var(--u))}}
/* hairline beside the menu button: part of the header (scrolls away with it), while the button itself stays fixed */
.mdiv{display:none;position:absolute;left:0;top:0;width:1px;height:calc(64*var(--u));background:var(--line);pointer-events:none}
@media(min-width:1024px){.mdiv{display:block}}
/* menu button: dark ink by default (white pages and photos), white over dark areas - no blending, so no muddy colours */
.more.lt{color:#fff}
.more.ph{text-shadow:0 0 10px rgba(255,255,255,.45)}
.more.ph i{filter:drop-shadow(0 0 5px rgba(255,255,255,.45))}

/* ===== refinement: one shared left edge, numeral contrast, skip link, phone quick actions, locked map ===== */
:root{--sbw:0px;--edge:max(calc(64*var(--u)),calc((100vw - var(--sbw) - calc(1328*var(--u)))/2 + calc(64*var(--u))))}
@media(min-width:1024px){
.cl,.hl2,.fl{padding-left:var(--edge)}
.how,.frm{grid-template-columns:calc(var(--edge) + calc(380*var(--u))) minmax(0,1fr)}
.cp{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
}
@media(min-width:1280px){.cols{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 calc(56*var(--u))}}
.skip{position:fixed;left:calc(16*var(--u));top:calc(-80*var(--u));z-index:200;padding:calc(14*var(--u)) calc(20*var(--u));background:#151413;color:#fff;font:500 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:top .2s ease}
.skip:focus{top:calc(16*var(--u));outline:2px solid var(--acc);outline-offset:2px}
.qa{display:none}
@media(max-width:1023px){
.qa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:calc(-16*var(--u)) 0 calc(56*var(--u));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.qa a{display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u));min-height:56px;padding:0 calc(6*var(--u));color:var(--ink);font:500 calc(12*var(--u))/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;background:none;border:0;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
.qa a+a{border-left:1px solid var(--line)}
.qa a:active{background:#f3f3f3}
.qa svg{flex:none;width:calc(16*var(--u));height:calc(16*var(--u));color:var(--acc)}
}
.hw2 iframe{pointer-events:none}
.hwl{position:absolute;inset:0;z-index:2;display:block;cursor:pointer;background:none;border:0}
.hwl span{position:absolute;left:50%;top:calc(50% + calc(18*var(--u)));white-space:nowrap;padding:calc(11*var(--u)) calc(15*var(--u));background:#fff;color:var(--ink);font:500 calc(11.5*var(--u))/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;box-shadow:0 1px 0 var(--line);opacity:0;transform:translate(-50%,calc(-4*var(--u)));transition:opacity .3s ease,transform .3s ease}
.hwl:hover span,.hwl:focus-visible span{opacity:1;transform:translate(-50%,0)}
.hwl:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
@media(hover:none){.hwl span{opacity:1;transform:translate(-50%,0)}}
.hw2 .mk{z-index:3}
@media print{.qa,.skip,.hwl{display:none!important}}

/* ===== round: map API, menu backdrop, dropdowns, card focus, contact typography ===== */
.hw2.gm{top:0}
.gmpin{position:absolute;display:block;width:calc(40*var(--u));transform:translate(-50%,-97%);cursor:pointer}
.gmpin .mk{position:static;transform:none;width:100%}
.gm .gm-style .gm-bundled-control{margin:calc(16*var(--u))!important}
/* Insights filters: no red frame on click, keyboard focus still visible; smooth roll-out */
.flt .f:focus-visible,.flt .f:focus-within{outline:none}
.flt button.f:focus-visible{outline:1px solid var(--ink);outline-offset:calc(6*var(--u))}
.dd ul{clip-path:inset(0 0 100% 0);transform:translateY(calc(-6*var(--u)));transition:clip-path .4s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1),opacity .25s ease .1s,visibility 0s .4s}
.dd.open ul{clip-path:inset(0 0 0 0);transform:none;transition:clip-path .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1),opacity .3s ease,visibility 0s}
.dd li{opacity:0;transform:translateY(calc(-4*var(--u)));transition:opacity .2s ease,transform .2s ease,background-color .2s}
.dd.open li{opacity:1;transform:none;transition:opacity .35s ease var(--ld,0s),transform .45s cubic-bezier(.22,.61,.36,1) var(--ld,0s),background-color .2s}
.dd li:nth-child(2){--ld:.04s}.dd li:nth-child(3){--ld:.08s}.dd li:nth-child(4){--ld:.12s}.dd li:nth-child(5){--ld:.16s}.dd li:nth-child(6){--ld:.2s}.dd li:nth-child(n+7){--ld:.24s}
/* filter lists: editorial style — serif entries, hairlines, a coral rule that draws in */
.dd ul{padding:calc(6*var(--u)) 0;border-color:var(--line);box-shadow:0 calc(22*var(--u)) calc(44*var(--u)) rgba(21,20,19,.07)}
.dd li{position:relative;min-height:calc(54*var(--u));padding:calc(10*var(--u)) calc(24*var(--u));font:400 calc(16*var(--u))/1.45 var(--serif);color:#5f5d5a;background:none;transition:opacity .2s ease,transform .2s ease,color .25s ease,padding-left .4s cubic-bezier(.22,.61,.36,1)}
.dd.open li{transition:opacity .35s ease var(--ld,0s),transform .45s cubic-bezier(.22,.61,.36,1) var(--ld,0s),color .25s ease,padding-left .4s cubic-bezier(.22,.61,.36,1)}
.dd li+li{border-top:1px solid #efedea}
.dd li::before{content:"";position:absolute;left:calc(24*var(--u));top:50%;width:calc(18*var(--u));height:1px;background:var(--acc);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.dd li:hover,.dd li:focus-visible,.dd li[aria-selected=true]{background:none;color:var(--ink);padding-left:calc(56*var(--u));box-shadow:none}
.dd li:hover::before,.dd li:focus-visible::before,.dd li[aria-selected=true]::before{transform:scaleX(1)}
.dd li[data-v="-1"]::before{display:none}.dd li[data-v="-1"]:hover,.dd li[data-v="-1"]:focus-visible,.dd li[data-v="-1"][aria-selected=true]{padding-left:calc(24*var(--u))}
@media(prefers-reduced-motion:reduce){.dd ul,.dd li{transition:none!important}}
/* Insights cards: hovering one quietly dims the others */
@media(hover:hover){
.grid .card{transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .45s ease}
.grid:has(.card:hover) .card:not(:hover){opacity:.7}
}
/* Contact: page title, "How to find us" and the form heading share the section-heading style */
.cpk h1,.how .hh{font:700 calc(26*var(--u))/1.25 var(--serif);letter-spacing:0;color:#151413;text-wrap:balance}
.cpk h1{margin-bottom:calc(64*var(--u))}
.how .hh{margin:0 0 calc(64.5*var(--u))}
@media(max-width:1023px){.cpk h1,.how .hh{font-size:calc(23*var(--u))}.cpk h1{margin-bottom:calc(48*var(--u))}}
/* How to find us: labels and text exactly like the contact blocks above */
.how .hg{padding:0 0 calc(44*var(--u));font:400 calc(16*var(--u))/calc(30*var(--u)) var(--sans);color:var(--ink)}
.how .hg h4{margin:0 0 calc(14*var(--u));font:700 calc(12.5*var(--u))/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.how .hg p{margin:0;font:inherit;color:inherit}
.how .hg+.hj{margin:calc(-24*var(--u)) 0 calc(44*var(--u))}
/* form: heading above, intro text and the first field label start on one line beneath it, at the same distance as "Contact" → "Address" */
@media(min-width:1024px){.frm .fh{position:relative;top:calc(-29.5*var(--u))}.frm .fm{padding-top:calc(174*var(--u))}}

/* ===== expertise area pages ===== */
.ap .ai{max-width:calc(720*var(--u))}
.apx{padding-top:calc(88*var(--u));padding-bottom:calc(88*var(--u))}
.apx .wi h3{font-size:calc(20*var(--u))}
.apo{padding-top:calc(96*var(--u))!important}
.apo .ms h2{margin:0}
@media(min-width:1024px){.apo .mg{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:calc(96*var(--u))}}
.row h2 a.rwl{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:calc(6*var(--u));text-decoration-thickness:1px;transition:text-decoration-color .3s}
.row h2 a.rwl:hover,.row h2 a.rwl:focus-visible{text-decoration-color:currentColor}
.row li.rwm{border:0;padding-top:calc(18*var(--u))}
.row li.rwm .link{margin-top:0}
@media(max-width:1023px){.apx{padding-top:calc(64*var(--u));padding-bottom:calc(64*var(--u))}}

.hlk svg{width:calc(18*var(--u));height:auto;margin-left:calc(10*var(--u));vertical-align:calc(-1*var(--u));transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.hlk:hover svg,.hlk:focus-visible svg{transform:translateX(calc(5*var(--u)))}
.hg+.hj{margin:calc(-8*var(--u)) 0 calc(25*var(--u))}
.hls{display:flex;flex-direction:column;align-items:flex-start;gap:calc(14*var(--u))}
.cb .bk{margin-top:calc(22*var(--u))}


.how .link{margin-top:0;font-size:calc(12*var(--u));letter-spacing:.2em;padding-bottom:calc(12*var(--u))}
.how .hg+.hj{margin:calc(-6*var(--u)) 0 calc(34*var(--u))}
.how .hls{gap:calc(30*var(--u))}
.how .hd{margin-top:calc(2*var(--u))}


/* printing: black and white, letterhead aligned with the text, no related-article cards, firm details at the foot */
@page{margin:18mm 16mm}
@media print{
  .wrap{padding-left:0!important;padding-right:0!important;max-width:none!important}
  .alab,.lab,.ar small,.card .lab{color:#555!important}
  a{color:#000!important;text-decoration:none!important}
  section:has(.grid.rl){display:none!important}
  section{border-color:#bbb!important}
  #app::after{content:"Kancelaria Adwokacka Hubert Szkotak · ul. Eugeniusza Gepperta 4/2.08, 50-076 Wrocław · +48 790 370 555 · kancelariaszkotak.com";display:block;margin-top:28pt;padding-top:8pt;border-top:1px solid #999;font:400 8pt/1.4 Inter,Arial,sans-serif;color:#444}
}


/* one main heading per page: "related" is a second-level heading that keeps the look it had */
h2.relh{font-family:"Libre Baskerville", Baskerville, Georgia, serif;font-weight:400;line-height:1.120;letter-spacing:-0.0100em;color:rgb(34, 34, 34);margin-top:0px;text-wrap:balance}
/* long words in article and practice-area titles wrap inside the screen on phones */
@media (max-width:560px){h1.at,h1,.card h3,.ar span{overflow-wrap:break-word;hyphens:auto}}
/* very narrow phones (320–360 px) */
@media (max-width:360px){
  .cl,.cols,.cols>div{min-width:0;max-width:100%}
  .cl{box-sizing:border-box;width:100%}
  .qa a{letter-spacing:.08em;gap:6px;padding:0 2px;font-size:10.5px}
  a[href^="mailto:"],.cols p,.cols a{overflow-wrap:anywhere}
  .card{min-width:0;max-width:100%;box-sizing:border-box}
  .grid{grid-template-columns:minmax(0,1fr)!important}
  .bill p,.bill p *{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word}
}

.nfl{display:flex;flex-wrap:wrap;gap:0 calc(48*var(--u))}button.nfs{appearance:none;-webkit-appearance:none;border-top:0;border-left:0;border-right:0;background-color:transparent;cursor:pointer;padding-left:0;padding-right:0;border-radius:0}

/* the one link from a sub-area to its newest publication: a small label, the title in the serif face on a thin accent rule, an arrow that moves on hover */
.pl2{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:calc(6*var(--u)) calc(16*var(--u));margin-top:calc(22*var(--u));color:var(--ink);text-decoration:none;max-width:100%}
.pl2 .k{font:500 calc(11*var(--u))/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pl2 .t{font:400 calc(16.5*var(--u))/1.45 var(--serif);text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:1px;text-underline-offset:calc(6*var(--u));transition:text-decoration-color .25s}
.pl2 svg{display:inline-block;vertical-align:middle;width:calc(20*var(--u));margin-left:calc(14*var(--u));position:relative;top:-1px;color:var(--ink);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.pl2:hover .t,.pl2:focus-visible .t{text-decoration-color:var(--ink)}
.pl2:hover svg,.pl2:focus-visible svg{transform:translateX(calc(6*var(--u)))}
@media(prefers-reduced-motion:reduce){.pl2 svg{transition:none}}
@media print{.pl2{display:none}}

.am a.cat{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--acc);padding-bottom:2px;transition:border-color .2s}.am a.cat:hover,.am a.cat:focus-visible{border-color:var(--ink)}.am .cat2{display:block;margin-top:8px;color:var(--mute);font-size:.92em}