*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#999966;--line:#5f5f3c;--ink:#11160e;--ink2:#20271b;--card:#e4e1ca;--tag:#d3cfb1}
html{scroll-behavior:smooth;font-size:118%}
body{background:var(--bg);color:var(--ink);font-family:'Jost',sans-serif;line-height:1.75;font-size:1.13rem}
a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
a[href^="tel:"],.cta{white-space:nowrap}
.wrap{max-width:1020px;margin:0 auto;padding:0 24px}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;padding:22px 0 0;font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
nav a{text-decoration:none;color:var(--ink2);padding-bottom:3px;border-bottom:2px solid transparent}
nav a:hover,nav a.on{color:var(--ink);border-bottom-color:var(--ink)}
header.title{text-align:center;padding:30px 0 6px}
header.title a{text-decoration:none}
header.title h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:700;font-size:clamp(3.1rem,14.5vw,4.8rem);line-height:1;letter-spacing:-.015em;color:#0b0f08}
header.title p{font-weight:500;font-size:clamp(1rem,3.6vw,1.25rem);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin-top:8px}
header.title .rule{width:48px;height:1px;background:var(--line);margin:16px auto 0}
section{margin:46px 0}
h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:2.1rem;line-height:1.2;margin-bottom:14px}
h3 span{display:block;font-family:'Jost',sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink2);margin-bottom:4px}
h4{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.45rem;line-height:1.25;margin:0 0 6px}
.card h4:not(:first-child){margin-top:22px}
p+p{margin-top:14px}
.card{background:var(--card);border-radius:22px;padding:28px 30px;box-shadow:0 2px 14px rgba(44,59,42,.08)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.grid .card p{font-size:1.05rem;color:var(--ink2)}
.mt{margin-top:18px}.mt2{margin-top:18px}
ul.tags{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
ul.tags li{background:var(--tag);border-radius:999px;padding:6px 16px;font-size:1rem}
.cta{display:inline-block;margin-top:20px;background:var(--ink);color:#fff;text-decoration:none;padding:14px 32px;border-radius:999px;font-size:.9rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:transform .25s,box-shadow .25s}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(44,59,42,.25)}
.note{font-size:1rem;color:var(--ink2)}
.num{margin-top:8px!important}
.center{text-align:center}.strong{font-weight:500;margin-top:30px}
/* home welcome */
.welcome{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:36px;align-items:center;background:var(--card);border-radius:28px;padding:26px;margin:36px 0 0;box-shadow:0 2px 14px rgba(44,59,42,.08)}
.welcome .ph{border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(44,59,42,.18);aspect-ratio:382/442}
.welcome .ph img{display:block;width:100%;height:100%;object-fit:cover}
.welcome small{display:block;font-weight:500;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.welcome h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.7rem,3.4vw,2.2rem);line-height:1.15;margin-bottom:14px}
.choose{text-align:center;margin:52px 0 0;font-weight:500;font-size:.85rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink2)}
/* location buttons + banners */
.buttons{display:flex;flex-direction:column;gap:24px;margin:18px 0 0}
.loc,.banner{position:relative;display:flex;align-items:center;justify-content:center;border-radius:28px;overflow:hidden;box-shadow:0 4px 24px rgba(44,59,42,.15)}
.loc{height:340px;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.loc.hvb{height:410px}
.loc:hover{transform:translateY(-4px) scale(1.012);box-shadow:0 16px 48px rgba(44,59,42,.25)}
.loc img,.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transition:transform .6s,opacity .4s}
.loc.hvb img,.banner.hvb img{opacity:.85}
.loc:hover img{transform:scale(1.05);opacity:.75}
.loc .ov,.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,26,16,.55),rgba(20,26,16,.4))}
.loc.hvb .ov,.banner.hvb::after{background:linear-gradient(135deg,rgba(20,26,16,.38),rgba(20,26,16,.22))}
.loc .lb,.banner .t{position:relative;z-index:2;width:100%;text-align:center;color:#fff}
.banner{height:400px;margin:26px 0 8px}
.banner.hvb{height:440px}
.banner .t{display:flex;flex-direction:column;align-items:center}
.banner .t small{font-weight:500;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;opacity:.9;margin-bottom:6px}
b.nyc,h2.nyc,b.hv,h2.hv{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;color:#fff}
b.nyc,h2.nyc{font-size:clamp(5.5rem,27vw,14rem);letter-spacing:.08em;margin-right:-.08em;line-height:1;text-shadow:0 2px 16px rgba(0,0,0,.3)}
b.hv,h2.hv{font-size:clamp(4rem,19.5vw,9.2rem);letter-spacing:.05em;margin-right:-.05em;line-height:.95;text-shadow:0 2px 18px rgba(0,0,0,.55)}
/* info link grid */
.infogrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:860px){.infogrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.infogrid{grid-template-columns:1fr}}
.info{display:block;background:var(--card);border-radius:20px;padding:22px 24px;text-decoration:none;box-shadow:0 2px 14px rgba(44,59,42,.08);transition:transform .25s,box-shadow .25s}
.info:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(44,59,42,.2)}
.info b{display:block;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.5rem;line-height:1.2}
.info b::after{content:" \2192";font-family:'Jost',sans-serif;font-weight:400;font-size:1rem}
.info span{display:block;font-size:.98rem;color:var(--ink2);margin-top:4px;line-height:1.5}
/* location details */
.locgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:stretch}
.dl dt{font-weight:500;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink2);margin-top:14px}
.dl dt:first-child{margin-top:0}
.dl dd{font-size:1.1rem}
.dl dd.addr{font-size:1.25rem;font-weight:500;line-height:1.5}
.map{position:relative;border-radius:22px;overflow:hidden;background:var(--card);min-height:360px;box-shadow:0 2px 14px rgba(44,59,42,.08)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.maplink{position:absolute;right:12px;bottom:12px;z-index:2;background:var(--card);border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:500;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.slot{margin:0}
.slot div{aspect-ratio:4/3;border-radius:20px;border:2px dashed var(--line);background:rgba(252,251,244,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink2);font-size:.9rem}
.slot img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.slot figcaption{text-align:center;font-weight:500;margin-top:8px;font-size:1rem}
.cardcta{margin:-10px 0 0}
footer{text-align:center;padding:30px 24px 56px;font-size:.95rem;font-weight:500;letter-spacing:.04em;color:var(--ink2)}
footer p+p{margin-top:8px}
footer .fl a{margin:0 2px}
@media(max-width:760px){.locgrid{grid-template-columns:1fr}.map{min-height:300px}}
@media(max-width:700px){.welcome{grid-template-columns:1fr;gap:22px;padding:20px}.welcome .ph{aspect-ratio:4/3;width:100%}.welcome .ph img{object-position:center 40%}}
@media(max-width:600px){
 .loc{height:210px;border-radius:20px}.loc.hvb{height:250px}
 .banner{height:220px;border-radius:20px}.banner.hvb{height:280px}
 .card{padding:22px}
 nav{gap:4px 16px;font-size:.7rem;letter-spacing:.12em}
 .cta{letter-spacing:.06em;padding:14px 22px;font-size:.85rem}
}
.crisis{max-width:760px;margin:22px auto 0;background:var(--card);border-radius:16px;padding:14px 20px;font-size:.95rem;letter-spacing:0;line-height:1.6;color:var(--ink);box-shadow:0 2px 10px rgba(44,59,42,.08)}
.legal{font-size:.85rem;letter-spacing:.02em;line-height:1.7;margin-top:18px!important}
.card p,.card dd{overflow-wrap:anywhere}
.mapfb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink2);font-size:1rem}
.welcome .lead{font-size:1.2rem;line-height:1.6}
.welcome .helps{margin-top:18px;font-weight:500;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink2)}
.welcome ul.tags{margin-top:8px}
.welcome .note.mt{margin-top:14px;font-style:italic}
.ctarow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:20px}
.ctarow .cta{margin-top:0}
.ph2{font-weight:500;font-size:1.15rem}
@media(max-width:600px){.photos{grid-template-columns:1fr 1fr;gap:12px}.slot div{border-radius:14px;font-size:.78rem}.slot figcaption{font-size:.9rem}}
@media(min-width:701px){.welcome{align-items:stretch}.welcome .ph{aspect-ratio:auto;height:100%;min-height:380px}.welcome .tx{padding:6px 0}}
.cta.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.ctarow + .num{margin-top:10px!important}
.cform label{display:block;font-weight:500;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-bottom:16px}
.cform input,.cform select,.cform textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1.5px solid #cfcdb4;border-radius:12px;padding:12px 14px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(153,153,102,.35)}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cform fieldset{border:0;margin:0 0 16px}
.cform legend{font-weight:500;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.cform label.ck{display:inline-flex;align-items:center;gap:8px;margin:0 22px 0 0;font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--ink)}
.cform label.ck input{width:auto;margin:0;accent-color:var(--ink)}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform .cta{border:0;cursor:pointer;margin-top:14px}
.status{border-radius:12px;padding:12px 16px;margin-bottom:18px;font-weight:500}
.status.good{background:#e3efd9}.status.bad{background:#f6e0d6}
@media(max-width:600px){.cform .row2{grid-template-columns:1fr}}
.cform .cta{font-family:inherit}
@media(max-width:600px){header.title p{letter-spacing:.1em;font-size:1rem}header.title{padding-top:22px}}
@media(min-width:760px){header.title h1{white-space:nowrap;font-size:clamp(3.4rem,6.6vw,4.8rem)}}
.home-top{margin-top:8px}
b.nycf{font-size:clamp(3.4rem,15vw,8rem)}
@media(max-width:759px){header.title h1{white-space:nowrap;font-size:calc((100vw - 52px)/8.7)}}
.fine{font-size:.78rem;line-height:1.45;color:var(--ink2);opacity:.8;margin-top:22px}
@media(min-width:861px){.info{background:transparent;box-shadow:none;border:1.5px solid rgba(17,22,14,.25)}.info:hover{background:rgba(228,225,202,.55);box-shadow:none;transform:none}}
.proof{background:#1d2616;color:#f3f1e4;border-radius:28px;padding:42px 44px 34px;margin:36px 0 0;text-align:center;box-shadow:0 4px 24px rgba(44,59,42,.22)}
.proof small{display:block;letter-spacing:.24em;text-transform:uppercase;font-weight:500;font-size:.85rem;color:#d9d4b0}
.proof h2{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(2.2rem,5.2vw,3.5rem);line-height:1.1;margin:10px 0 26px;color:#fff}
.stats{display:flex;justify-content:center;gap:12px 64px;margin:0 0 26px;flex-wrap:wrap}
.stats b{display:block;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(4rem,10vw,5.6rem);line-height:.9;color:#fff}
.stats span{display:block;max-width:220px;margin:8px auto 0;font-size:.9rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#d9d4b0}
.proof p{max-width:720px;margin:0 auto 14px;font-size:1.12rem;line-height:1.65;color:#f3f1e4}
@media(max-width:600px){.proof{padding:30px 22px 24px}.proof p{font-size:1.02rem}}
.welcome .tx{font-family:'Cormorant Garamond',serif}
.welcome .tx p,.welcome .lead{font-size:1.2rem;line-height:1.55;font-weight:500}
.welcome h2{font-weight:500;font-size:clamp(1.45rem,2.6vw,1.85rem);letter-spacing:.01em;margin-bottom:12px}
.welcome .note.mt{font-size:1.1rem;margin-top:10px}
.welcome small,.welcome .cta,.welcome .note.num{font-family:'Jost',sans-serif}
.welcome .cta{font-size:.76rem;padding:11px 22px;letter-spacing:.14em}
.welcome .note.num{font-size:.9rem}
@media(min-width:701px){.welcome .ph{min-height:330px}}
.info{display:flex;align-items:center;justify-content:center;text-align:center;padding:22px 18px;min-height:88px}
.info b{font-size:1.45rem}
.info b::after{content:none}
.stats b{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;margin-bottom:4px}
.proof small{margin-bottom:22px}
.welcome .tx{font-family:'Jost',sans-serif}.welcome .tx p,.welcome .lead{font-size:1.06rem;line-height:1.65;font-weight:400}.welcome .note.mt{font-size:.98rem}.welcome h2{font-family:'Cormorant Garamond',serif;font-weight:600}
.minilocs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 0}
.loc.mini{height:150px}
.loc.mini b{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.05;color:#fff}
@media(max-width:600px){.loc.mini{height:110px}.minilocs{gap:10px}}
.cta{border-radius:4px}
body,.welcome .tx,.cform{font-family:'Lora',Georgia,serif}.welcome .tx p,.welcome .lead{font-size:1.04rem;line-height:1.7}
@media(max-width:600px){html{font-size:104%}body{font-size:1rem;line-height:1.65}.welcome .tx p,.welcome .lead{font-size:1rem}}
@media(max-width:600px){section{margin:28px 0}.card{padding:18px}.loc{height:150px}.loc.hvb{height:185px}.buttons{gap:14px;margin-top:12px}.loc.mini{height:80px}.minilocs{margin-top:18px}header.title{padding:14px 0 4px}h3{font-size:1.7rem}.welcome{margin-top:20px}.welcome .ph{aspect-ratio:16/9}}
.info b{font-size:1.7rem;line-height:1.15}
@media(max-width:600px){.infogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info{min-height:76px;padding:14px 10px}.info b{font-size:1.35rem}}
header.title{padding-top:40px}
@media(max-width:600px){header.title{padding-top:26px}}
b.nycf{font-size:clamp(4rem,19.5vw,9.2rem)}
header.title p{font-family:'Jost',sans-serif}
.info{min-height:64px;padding:12px 16px}
@media(max-width:600px){.info{min-height:56px;padding:10px 8px}}
@media(max-width:760px){b.hv,b.nycf{font-size:calc((100vw - 60px)/4.5)}}
@media(min-width:761px){.buttons.home-top{flex-direction:row;gap:20px;height:calc(100svh - 250px);min-height:340px;max-height:620px}.buttons.home-top .loc{flex:1 1 0;height:auto}.buttons.home-top b.hv,.buttons.home-top b.nycf{font-size:min(calc((min(100vw,1020px) - 120px)/9.2),7rem)}}
@media(max-width:760px){.buttons.home-top .loc,.buttons.home-top .loc.hvb{height:calc((100svh - 240px)/2);min-height:140px}}
.contactline{text-align:center;margin:44px auto 0;max-width:760px;padding-top:28px;border-top:1px solid rgba(17,22,14,.25)}
.contactline p{margin:0 0 14px}
.contactline .cl{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.55rem;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.contactline .cl a{color:var(--ink);text-underline-offset:5px}
.contactline .cl span{color:var(--ink2)}
@media(max-width:600px){.contactline .cl{font-size:1.3rem}}
.infogrid{grid-auto-rows:1fr}.info{height:100%}
@media(max-width:760px){b.hv,b.nycf{font-size:calc((100vw - 60px)/4.8)}}
@media(max-width:600px){.contactline .cl{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;max-width:320px;margin:0 auto 14px}.contactline .cl span{display:none}.info b{font-size:1.12rem}.info{min-height:58px}}
.infogrid{display:block!important;background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 2px 14px rgba(44,59,42,.08)}
.infogrid .info{display:block!important;background:transparent!important;border:0!important;border-top:1px solid rgba(17,22,14,.13)!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;height:auto!important;text-align:left!important;padding:14px 24px!important;transform:none!important}
.infogrid .info:first-child{border-top:0!important}
.infogrid .info:hover{background:rgba(17,22,14,.05)!important}
.infogrid .info b{font-size:1.3rem!important;line-height:1.3}
@media(max-width:600px){.infogrid .info{padding:12px 18px!important}.infogrid .info b{font-size:1.15rem!important}}
.grid{display:block!important;background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 2px 14px rgba(44,59,42,.08)}
.grid>.card{background:transparent!important;box-shadow:none!important;border-radius:0!important;border-top:1px solid rgba(17,22,14,.13);padding:20px 28px}
.grid>.card:first-child{border-top:0}
@media(max-width:600px){.grid>.card{padding:16px 18px}}
.contactline{background:var(--card);border-radius:22px;border-top:0!important;padding:26px 28px 14px!important;box-shadow:0 2px 14px rgba(44,59,42,.08);max-width:none!important;margin-top:36px!important}
@media(max-width:600px){.contactline{padding:20px 16px 8px!important}}
section:has(+ .contactline){margin-bottom:0!important}
section.welcome:has(+ .contactline),section:has(+ .contactline)>.card:last-child,section:has(+ .contactline)>:last-child>.card:last-child,section:has(+ .contactline)>.grid:last-child{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;box-shadow:none!important}
.contactline{margin-top:0!important;border-radius:0 0 22px 22px!important;border-top:1px solid rgba(17,22,14,.13)!important;box-shadow:none!important;text-align:left;padding:20px 30px 10px!important}
.contactline .cl{justify-content:flex-start}
@media(max-width:600px){.contactline{padding:16px 18px 6px!important}.contactline .cl{max-width:none;margin:0 0 12px}}
.contactline .cl{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px!important;max-width:640px!important;margin:4px 0 14px!important;font-family:'Jost',sans-serif!important;font-size:.82rem!important;font-weight:500}
.contactline .cl span{display:none!important}
.contactline .cl a{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 8px;border:1.5px solid var(--ink);border-radius:4px;text-decoration:none;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.contactline .cl a:first-child{background:var(--ink);color:#fff}
.contactline .cl a:hover{background:var(--ink);color:#fff}
@media(max-width:600px){.contactline .cl{grid-template-columns:1fr 1fr}}
.contactline .cl{max-width:720px!important}
.contactline .cl a,.contactline .cl a:first-child{background:transparent!important;color:var(--ink)!important}
.contactline .cl a:hover{background:rgba(17,22,14,.07)!important;color:var(--ink)!important}
.contactline .cl a:hover,.contactline .cl a:active,.contactline .cl a:focus{background:transparent!important;color:var(--ink)!important}
.homelink{display:block;color:inherit;text-decoration:none;cursor:pointer}
.loc{container-type:size}
.loc .lb b.hv,.loc .lb b.nycf{font-size:min(20cqw,42cqh)!important;line-height:.95}
.loc.mini .lb b{font-size:min(13.5cqw,40cqh)!important;white-space:nowrap}
@media(min-width:761px){.buttons.home-top{flex-direction:column!important;gap:18px;height:calc(100svh - 230px);min-height:420px;max-height:760px}.buttons.home-top .loc{height:auto!important;min-height:0}.buttons.home-top .loc:first-child{flex:3 1 0}.buttons.home-top .loc:last-child{flex:2 1 0}}
.loc .lb b,.loc.mini .lb b,.banner h2{font-family:'Cormorant Garamond',serif!important;font-weight:600!important;font-style:normal!important;letter-spacing:.03em!important;margin-right:0!important}
.cta,.contactline .cl a,.cform button,.cform .cta,.maplink{font-family:'Jost',sans-serif!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.12em!important;font-size:.82rem!important}
.banner{container-type:size}
.banner h2{font-size:min(15cqw,36cqh)!important;line-height:.95!important}
.loc.mini .lb b{font-size:min(13.5cqw,40cqh,2.6rem)!important}
@media(min-width:761px){.buttons.home-top .loc:first-child .lb b{font-size:min(20cqw,28cqh)!important}.buttons.home-top .loc:last-child .lb b{font-size:min(20cqw,42cqh)!important}}
@media(min-width:761px){.buttons.home-top .loc:first-child,.buttons.home-top .loc:last-child{flex:1 1 0!important}.buttons.home-top .loc:first-child .lb b,.buttons.home-top .loc:last-child .lb b{font-size:min(20cqw,42cqh)!important}}
.contactline{text-align:center!important}.contactline .cl{justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:600px){header.title h1{white-space:normal!important;font-size:calc((100vw - 52px)/6.3)!important;line-height:1.02}header.title h1 .phd{display:block}}
@media(max-width:600px){header.title h1{white-space:nowrap!important;font-size:calc((100vw - 56px)/6.75)!important}}
@media(max-width:360px){header.title p{letter-spacing:.06em!important;font-size:.85rem!important}}
footer p.fl{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px;margin-left:auto;margin-right:auto}
footer p.fl a{display:inline-block;padding:6px 12px;border:1px solid rgba(17,22,14,.45);border-radius:4px;text-decoration:none;font-family:'Jost',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:rgba(228,225,202,.5)}

/* smaller welcome photo */
@media(min-width:701px){.welcome{grid-template-columns:210px 1fr;align-items:center}.welcome .ph{height:auto!important;min-height:0!important;aspect-ratio:4/5!important}}
@media(max-width:700px){.welcome .ph{width:70%!important;margin:0 auto;aspect-ratio:3/2!important}}

/* muted welcome photo, same tint as the location buttons */
.welcome .ph{position:relative}.welcome .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,26,16,.38),rgba(20,26,16,.22));pointer-events:none}

/* offices line under title */
header.title p .offices{display:block;text-transform:none;letter-spacing:.03em;font-size:.82em;font-weight:400;margin-top:4px}
@media(max-width:600px){header.title p .offices{font-size:.86rem;letter-spacing:.01em}}

/* tone down daytime photos */
img[src*="-day.webp"]{filter:brightness(.8) saturate(.88)}

/* softer cream boxes */
:root{--card:#dfdbc0;--tag:#cfcba9}

/* name on one line on phones */
@media(max-width:600px){header.title h1{white-space:nowrap!important;font-size:calc((100vw - 48px)/9.2)!important}header.title h1 .phd{display:inline!important}}

/* phone: home location buttons as banners */
@media(max-width:760px){.buttons.home-top .loc,.buttons.home-top .loc.hvb{height:clamp(110px,36vw,170px)!important;min-height:0!important}.buttons.home-top .lb br{display:none}.buttons.home-top .loc .lb b.hv,.buttons.home-top .loc .lb b.nycf{font-size:min(11.5cqw,46cqh)!important;white-space:nowrap}}

/* softer photo text */
.loc .lb,.loc .lb b{color:#e6dfc4!important;text-shadow:0 1px 8px rgba(0,0,0,.3)!important}
.nychero .frame,.nychero h1{color:#e6dfc4!important}.nychero h1,.nychero p{text-shadow:0 1px 8px rgba(0,0,0,.3)!important}

/* welcome without photo */
.welcome:not(:has(.ph)){grid-template-columns:1fr!important}
/* location pages: single front-page button */
@media(min-width:761px){.buttons.home-top.single{height:calc((100svh - 230px)/2)!important;min-height:220px!important;max-height:380px!important}}

/* weather effect layers */
.loc .ov{z-index:1}.loc .lb{z-index:3!important}

/* clearer contact buttons: icon + bolder label */
.contactline .cl a{font-weight:600!important;font-size:.9rem!important;padding:13px 8px!important;border-width:1.5px!important;gap:8px}
.contactline .cl a::before{content:"";width:17px;height:17px;flex:0 0 17px;background:var(--ink);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.contactline .cl a[href^="tel:"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
.contactline .cl a[href^="sms:"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2zm3 6v2h2V9zm4 0v2h2V9zm4 0v2h2V9z'/%3E%3C/svg%3E")}
.contactline .cl a[href^="mailto:"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.2V17h16V7.2l-8 5.3zM5.4 7 12 11.3 18.6 7z'/%3E%3C/svg%3E")}
.contactline .cl a[href*="#form"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h10l5 5v15H5zm9 1.5V8h4.5zM8 12v1.6h9V12zm0 3.4V17h9v-1.6zM8 8.6v1.6h4V8.6z'/%3E%3C/svg%3E")}
.contactline .cl{max-width:780px!important}
.contactline .cl a{letter-spacing:.08em!important;min-width:0}
@media(max-width:600px){.contactline .cl{grid-template-columns:repeat(2,minmax(0,1fr))!important}.contactline .cl a{font-size:.82rem!important;letter-spacing:.05em!important}}
@media(max-width:380px){.contactline .cl a{font-size:.76rem!important;letter-spacing:.04em!important;gap:6px}.contactline .cl a::before{width:15px;height:15px;flex-basis:15px}}
@media(max-width:340px){.contactline .cl a::before{display:none}}

/* learn-more links inside the contact box */
.contactline .morelinks{list-style:none;margin:16px auto 0;padding:14px 0 0;border-top:1px solid rgba(17,22,14,.13);display:flex;justify-content:center;flex-wrap:wrap;gap:6px 28px}
.contactline .morelinks a{font-family:'Lora',Georgia,serif;font-size:1.02rem;color:var(--ink);text-underline-offset:4px}

/* night photos: brighter photo, lighter tint, brighter lettering */
.loc img[src*="-night.webp"]{filter:brightness(1.2) saturate(1.05) contrast(1.03)}
.loc img[src*="-night.webp"] + .ov{background:linear-gradient(135deg,rgba(20,26,16,.2),rgba(20,26,16,.08))!important}
.loc img[src*="-night.webp"] ~ .lb,.loc img[src*="-night.webp"] ~ .lb b{color:#f7f2df!important;text-shadow:0 1px 10px rgba(0,0,0,.5),0 0 2px rgba(0,0,0,.25)!important}

/* maps: one combined box, map on top, muted to match the site */
.locgrid{grid-template-columns:1fr!important;gap:0!important}
.locgrid .map{order:-1;border-radius:22px 22px 0 0;min-height:0;height:clamp(220px,32vw,320px);box-shadow:none}
.locgrid .map iframe{filter:grayscale(.65) sepia(.22) contrast(.94) brightness(1.03)}
.locgrid .maplink{display:none}
.locgrid>.card{border-radius:0 0 22px 22px!important;border-top:1px solid rgba(17,22,14,.13)}
.locgrid .cta{background:transparent!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important;border-radius:4px!important;box-shadow:none!important}
@media(min-width:761px){.locgrid .dl{display:grid;grid-template-columns:max-content 1fr;column-gap:28px;row-gap:10px;align-items:baseline}.locgrid .dl dt{margin:0}.locgrid .dl dd{margin:0}}

/* photo lettering: soft white, not cream */
.loc .lb,.loc .lb b,.loc img[src*="-night.webp"] ~ .lb,.loc img[src*="-night.webp"] ~ .lb b{color:rgba(250,249,245,.93)!important}

/* night photos: calm the water reflections (darken the lower part only) */
.loc img[src*="-night.webp"] + .ov{background:linear-gradient(180deg,rgba(20,26,16,.14) 0%,rgba(20,26,16,.14) 50%,rgba(16,20,14,.42) 100%)!important}

/* footer links: plain links in one box */
footer p.fl{background:var(--card);border-radius:18px;padding:14px 18px!important;max-width:760px;margin-left:auto!important;margin-right:auto!important;gap:6px 22px!important}
footer p.fl a{border:0!important;background:none!important;padding:2px 0!important;font-family:'Lora',Georgia,serif!important;font-size:.95rem!important;text-transform:none!important;letter-spacing:0!important;text-decoration:underline;text-underline-offset:4px;color:var(--ink)!important}

/* footer links: outlined buttons inside the box, same style as the contact buttons */
footer p.fl{gap:8px!important}
footer p.fl a{border:1px solid rgba(17,22,14,.5)!important;border-radius:4px!important;padding:7px 12px!important;background:transparent!important;font-family:'Jost',sans-serif!important;font-size:.72rem!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.1em!important;text-decoration:none!important;color:var(--ink)!important}
@media(max-width:600px){footer p.fl{display:grid!important;grid-template-columns:1fr 1fr;max-width:340px}footer p.fl a{text-align:center}}

/* name/title at the very bottom of the footer */
footer .sig{margin-top:12px;font-size:.88rem;color:var(--ink2)}
footer p.fl{margin-top:0!important}
footer .sig a{color:inherit;text-decoration:none}footer .sig a:hover{text-decoration:underline;text-underline-offset:4px}

/* footer buttons: 3 across, 2 rows */
footer p.fl{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:620px!important}
footer p.fl a{text-align:center;white-space:nowrap}
@media(max-width:600px){footer p.fl{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:none!important;gap:6px!important;padding:12px!important}footer p.fl a{font-size:.6rem!important;letter-spacing:.03em!important;padding:8px 2px!important}}

/* phone: bigger lettering in the photo buttons */
@media(max-width:760px){.buttons.home-top .loc .lb b.hv,.buttons.home-top .loc .lb b.nycf{font-size:min(14.2cqw,50cqh)!important}}

/* hover: no zoom on the photo (keeps weather/holiday layers lined up, no blur) */
.loc:hover{transform:translateY(-3px)!important}.loc:hover img{transform:translateY(var(--py,0px)) scale(var(--ps,1))!important}

/* hover on every button (mouse only, so phones don't get stuck states) */
@media(hover:hover){
.contactline .cl a,footer p.fl a,.cta,.locgrid .cta,.loc .ov{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .3s!important}
.contactline .cl a:hover,footer p.fl a:hover,.locgrid .card .cta:hover,.cta.alt:hover{background:var(--ink)!important;color:#f3f1e4!important;border-color:var(--ink)!important}
.contactline .cl a:hover::before{background:#f3f1e4}
.cta:not(.alt):hover{background:var(--card)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink)!important}
.locgrid .card .cta:hover{box-shadow:none!important}
.loc:hover{box-shadow:0 10px 30px rgba(20,26,16,.35)!important}
.loc:hover .ov{opacity:.45}
}

/* photo tilt on phones (follows the phone's tilt) */
.loc.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.loc{transition:transform .25s ease-out,box-shadow .35s}

/* temperature + local time under the place name */
.loc .lb .meta{display:block;margin-top:6px;font-family:'Jost',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,249,245,.88);text-shadow:0 1px 6px rgba(0,0,0,.45)}
@media(min-width:761px){.loc .lb .meta{margin-top:12px}}
@media(max-width:760px){.loc .lb .meta{font-size:.66rem;letter-spacing:.14em;margin-top:2px}}

/* soft fade-in */
@media(prefers-reduced-motion:no-preference){body{animation:kkfade .7s ease-out both}@keyframes kkfade{from{opacity:0}to{opacity:1}}}

/* night mode after sunset */
html.kknight{--bg:#3b3d2c;--line:#8c8a6a;--ink:#ede9d6;--ink2:#cdc8b0;--card:#2c2e22;--tag:#3c3e2e}
html.kknight body{background:var(--bg)}
html.kknight header.title h1{color:#f2eedb}
html.kknight .cta:not(.alt){background:var(--ink);color:#20231a}
html.kknight .contactline .cl a::before{background:var(--ink)}
@media(hover:hover){
html.kknight .contactline .cl a:hover,html.kknight footer p.fl a:hover,html.kknight .locgrid .card .cta:hover,html.kknight .cta.alt:hover{background:var(--ink)!important;color:#20231a!important}
html.kknight .contactline .cl a:hover::before{background:#20231a}
html.kknight .cta:not(.alt):hover{background:var(--card)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink)!important}}
html.kknight footer p.fl a{border-color:rgba(237,233,214,.45)!important}
html.kknight .cform input,html.kknight .cform select,html.kknight .cform textarea{background:#f4f1e3;color:#11160e}
html.kknight .grid>.card,html.kknight .infogrid .info{border-color:rgba(237,233,214,.12)!important}
html.kknight .contactline,html.kknight .locgrid>.card{border-top-color:rgba(237,233,214,.12)!important}

/* photo depth on scroll: the photo and every layer locked to it move together */
.loc img,.loc .wxfx,.loc .photofx,.loc canvas.skyfx{transform:translateY(var(--py,0px)) scale(var(--ps,1));transform-origin:50% 50%}
.loc img{transition:opacity .4s}
/* name glint on hover */
@media(hover:hover){.loc:hover .lb b{background:linear-gradient(110deg,rgba(250,249,245,.93) 35%,#fff 48%,rgba(255,250,225,1) 50%,#fff 52%,rgba(250,249,245,.93) 65%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:kkglint 1.3s ease-out 1}
@keyframes kkglint{from{background-position:100% 0}to{background-position:0 0}}}

/* keep the rounded corners clean while the photo tilts / drifts */
.loc{clip-path:inset(0 round 28px)}
@media(max-width:600px){.loc{clip-path:inset(0 round 20px)}}

/* footer buttons: same weight as the contact buttons */
footer p.fl a{font-weight:600!important;border:1.5px solid var(--ink)!important}
html.kknight footer p.fl a{border-color:var(--ink)!important}

/* phone readability: bigger footer buttons, labels, small print and tap targets */
@media(max-width:600px){
footer p.fl{gap:8px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
footer p.fl a{font-size:.84rem!important;letter-spacing:.04em!important;padding:12px 4px!important;min-height:46px;display:flex!important;align-items:center;justify-content:center}
.loc .lb .meta{font-size:.8rem!important}
section.welcome .tx small,section h3 span,dl.dl dt{font-size:.9rem!important}
p.fine{font-size:.9rem!important}
.contactline .cl a{font-size:.95rem!important;min-height:48px}
.cta,.locgrid .cta,.cform button,.cform .cta{font-size:.92rem!important;min-height:46px}
.cform label.ck{min-height:44px;display:inline-flex;align-items:center;gap:8px}
.cform input[type=checkbox],.cform input[type=radio]{width:22px;height:22px}
}

/* contact buttons: keep the label and icon inside the box on phones */
@media(max-width:600px){.contactline .cl a{font-size:.8rem!important;letter-spacing:.04em!important;gap:6px!important;padding:13px 6px!important}}
@media(max-width:380px){.contactline .cl a{white-space:normal!important;line-height:1.15}}

/* floating "contact me" helper */
.kkf{position:fixed;right:18px;bottom:18px;z-index:60;font-family:'Jost',sans-serif}
.kkf-pill{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:var(--ink);color:#f3f1e4;font:600 .95rem/1 'Jost',sans-serif;letter-spacing:.06em;padding:14px 20px;box-shadow:0 8px 24px rgba(17,22,14,.28);cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s}
.kkf.show .kkf-pill{opacity:1;transform:none}
.kkf-pill::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2zm3 6v2h2V9zm4 0v2h2V9zm4 0v2h2V9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2zm3 6v2h2V9zm4 0v2h2V9zm4 0v2h2V9z'/%3E%3C/svg%3E") center/contain no-repeat}
.kkf-card{position:absolute;right:0;bottom:62px;width:min(300px,calc(100vw - 36px));background:#efedde;color:var(--ink);border:1.5px solid var(--ink);border-radius:14px;padding:16px 16px 14px;box-shadow:0 12px 34px rgba(17,22,14,.3);display:none}
.kkf.open .kkf-card{display:block}
.kkf-card p{margin:0 28px 12px 0;font:500 1.02rem/1.35 'Lora',Georgia,serif}
.kkf-x{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;background:none;color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}
.kkf-card a{display:flex;align-items:center;gap:10px;min-height:46px;margin-top:8px;padding:0 14px;border:1.5px solid var(--ink);border-radius:6px;color:var(--ink);text-decoration:none;font:600 .9rem/1 'Jost',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.kkf-card a:hover{background:var(--ink);color:#f3f1e4}
.kkf-card a::before{content:"";width:17px;height:17px;flex:0 0 17px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.kkf-card a.t{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}.kkf-card a.s{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2zm3 6v2h2V9zm4 0v2h2V9zm4 0v2h2V9z'/%3E%3C/svg%3E")}.kkf-card a.m{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.2V17h16V7.2l-8 5.3zM5.4 7 12 11.3 18.6 7z'/%3E%3C/svg%3E")}.kkf-card a.f{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h10l5 5v15H5zm9 1.5V8h4.5zM8 12v1.6h9V12zm0 3.4V17h9v-1.6zM8 8.6v1.6h4V8.6z'/%3E%3C/svg%3E")}
html.kknight .kkf-card{background:#2a2e22;color:var(--ink)}
html.kknight .kkf-pill,html.kknight .kkf-card a:hover{color:#20231a}
@media(max-width:600px){.kkf{right:12px;bottom:12px}.kkf-pill{padding:13px 17px;font-size:.9rem}}
@media print{.kkf{display:none}}
html.has-kkf body{padding-bottom:74px}

/* header name: true bold italic, black, a little bigger */
html:not(.kknight) header.title h1{color:#000!important}
@media(min-width:760px){header.title h1{font-size:clamp(3.4rem,7.2vw,96px)!important}}
@media(min-width:601px) and (max-width:759px){header.title h1{font-size:calc((100vw - 52px)/9.05)!important}}
@media(max-width:600px){header.title h1{font-size:calc((100vw - 40px)/9.15)!important}}

/* office maps: square, full width of the page */
.locgrid{grid-template-columns:1fr!important;gap:0!important}
.locgrid .map{height:auto!important;aspect-ratio:1/1;order:-1!important;width:100%!important;justify-self:stretch!important;margin-bottom:0!important;border-radius:22px 22px 0 0!important}
.locgrid>.card{border-radius:0 0 22px 22px!important;border-top:1px solid rgba(17,22,14,.13)!important}

/* "Looking for client forms?" bubble, sits above the Contact me button */
.kkf-forms{position:absolute;right:0;bottom:64px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:max-content;max-width:calc(100vw - 36px);background:#efedde;color:var(--ink);border:1.5px solid var(--ink);border-radius:14px;padding:11px 40px 11px 14px;box-shadow:0 8px 24px rgba(17,22,14,.22);font:500 .98rem/1.3 'Lora',Georgia,serif;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .4s,transform .4s}
.kkf-forms::after{content:"";position:absolute;right:30px;bottom:-8px;width:13px;height:13px;background:inherit;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.kkf.show-forms .kkf-forms{opacity:1;transform:none;pointer-events:auto}
.kkf.open .kkf-forms{display:none}
.kkf.nopill .kkf-forms{bottom:0}.kkf.nopill .kkf-forms::after{display:none}
.kkf-forms a{color:var(--ink);font:600 .82rem/1 'Jost',sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--ink);border-radius:6px;padding:10px 12px}
.kkf-forms a:hover{background:var(--ink);color:#f3f1e4}
.kkf-fx{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;background:none;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer}
html.kknight .kkf-forms{background:#2a2e22}
html.kknight .kkf-forms a:hover{color:#20231a}

/* one bar: Contact me | Forms */
.kkf-bar{display:flex;align-items:stretch;border-radius:999px;background:var(--ink);box-shadow:0 8px 24px rgba(17,22,14,.28);overflow:hidden;opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s}
.kkf.show .kkf-bar{opacity:1;transform:none}
.kkf-bar .kkf-pill{opacity:1!important;transform:none!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;padding:12px 16px 12px 18px!important;font-size:.9rem!important}
.kkf-fm{display:flex;align-items:center;gap:7px;padding:12px 18px 12px 14px;color:#f3f1e4;text-decoration:none;font:600 .9rem/1 'Jost',sans-serif;letter-spacing:.06em;border-left:1px solid rgba(243,241,228,.3)}
.kkf-bar .kkf-pill:only-child,.kkf-fm:only-child{border-left:0;padding-left:18px}
.kkf-fm::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h10l5 5v15H5zm9 1.5V8h4.5zM8 12v1.6h9V12zm0 3.4V17h9v-1.6zM8 8.6v1.6h4V8.6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 2h10l5 5v15H5zm9 1.5V8h4.5zM8 12v1.6h9V12zm0 3.4V17h9v-1.6zM8 8.6v1.6h4V8.6z'/%3E%3C/svg%3E") center/contain no-repeat}
.kkf-bar .kkf-pill:hover,.kkf-fm:hover{background:rgba(243,241,228,.12)!important}
html.kknight .kkf-fm{color:#20231a;border-left-color:rgba(32,35,26,.3)}
html.kknight .kkf-bar .kkf-pill:hover,html.kknight .kkf-fm:hover{background:rgba(32,35,26,.1)!important}


/* bar as two stacked one-line pills: Forms above, Contact me below */
.kkf-bar{flex-direction:column;align-items:flex-end;gap:8px;background:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.kkf-bar .kkf-pill,.kkf-fm{order:2;background:var(--ink)!important;color:#f3f1e4;border-radius:999px!important;box-shadow:0 8px 24px rgba(17,22,14,.28)!important;border-left:0!important;padding:12px 18px!important;font-size:.9rem!important;white-space:nowrap}
.kkf-fm{order:1;font-size:.84rem!important;padding:10px 16px!important}
.kkf-fm span{display:inline;max-width:none;font-size:inherit;line-height:1;letter-spacing:.04em}
.kkf-bar .kkf-pill:hover,.kkf-fm:hover{background:#2b3324!important}
.kkf-card{bottom:calc(100% + 10px)!important}
html.kknight .kkf-bar .kkf-pill,html.kknight .kkf-fm{background:var(--ink)!important;color:#20231a}
html.kknight .kkf-bar .kkf-pill:hover,html.kknight .kkf-fm:hover{background:#d9d4bd!important}

/* side by side on one line: Forms | Contact me */
.kkf-bar{flex-direction:row!important;align-items:center!important;gap:6px!important}
.kkf-fm,.kkf-bar .kkf-pill{order:0!important}
@media(max-width:600px){
.kkf{left:8px;right:8px!important;display:flex;justify-content:flex-end}
.kkf-bar .kkf-pill,.kkf-fm{font-size:.74rem!important;letter-spacing:.02em!important;padding:11px 12px!important;gap:6px!important}
.kkf-bar .kkf-pill::before,.kkf-fm::before{width:14px!important;height:14px!important}
.kkf-fm span{letter-spacing:.02em}
.kkf-card{right:0}
}
@media(max-width:380px){.kkf-bar .kkf-pill,.kkf-fm{font-size:.66rem!important;padding:10px 9px!important;letter-spacing:0!important;gap:5px!important}.kkf-fm span{letter-spacing:0}.kkf-bar{gap:4px!important}}
@media(max-width:340px){.kkf-fm::before,.kkf-bar .kkf-pill::before{display:none!important}.kkf-bar .kkf-pill,.kkf-fm{font-size:.62rem!important;padding:10px 8px!important}}

/* small link to the effects playground */
footer p.play{margin:10px 0 0;text-align:center;font-size:.82rem}
footer p.play a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}

/* both floating buttons the same height */
.kkf-bar{align-items:stretch!important}
.kkf-bar .kkf-pill,.kkf-fm{box-sizing:border-box;min-height:42px;line-height:1!important;display:flex!important;align-items:center;font-size:.84rem!important;padding:0 16px!important}
@media(max-width:600px){.kkf-bar .kkf-pill,.kkf-fm{min-height:38px;font-size:.74rem!important;padding:0 12px!important}}
@media(max-width:380px){.kkf-bar .kkf-pill,.kkf-fm{font-size:.66rem!important;padding:0 9px!important}}
@media(max-width:340px){.kkf-bar .kkf-pill,.kkf-fm{font-size:.62rem!important;padding:0 8px!important}}
.kkf-bar .kkf-pill::before,.kkf-fm::before{width:15px!important;height:15px!important}
@media(max-width:600px){.kkf-bar .kkf-pill::before,.kkf-fm::before{width:14px!important;height:14px!important}}

/* second line under the name: where the offices are */
header.title p .sub2{display:block;margin-top:6px;font-size:.78em;letter-spacing:.12em;opacity:.9}
@media(max-width:600px){header.title p .sub2{font-size:.72em;letter-spacing:.06em}}
header.title p .sub2{text-wrap:balance}