:root{--lt:#E0DFDC;--iv:#F6F4EF;--ink:#161513;--bu:#6B1F2A;--mu:#5B5852;--sa:#E7E3DA;--g:'Helvetica Neue',Helvetica,'Segoe UI',Arial,sans-serif;--s:Georgia,'Iowan Old Style','Times New Roman',serif;--pad:clamp(20px,4.2vw,56px);--lx:calc(var(--pad) + 100px);--ly:36px;--e:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--iv);color:var(--ink);font:400 17px/1.55 var(--g);-webkit-font-smoothing:antialiased}
body{overflow-x:clip}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}
:focus-visible{outline:3px solid var(--bu);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:12px 18px;z-index:100}.skip:focus{left:8px}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-weight:700;letter-spacing:-.04em;line-height:.96;margin:0}h2{font-size:clamp(40px,6.6vw,96px)}
h3{font-size:clamp(26px,3.4vw,46px);letter-spacing:-.025em;line-height:1.05;font-weight:500}p{margin:0 0 1em}
.eyebrow{font:600 12px/1 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--bu);margin:0 0 20px}
.serif{font-family:var(--s)}.mu{color:var(--mu)}.bu{color:var(--bu)}
.sec{padding:clamp(80px,11vw,160px) 0;position:relative}
.rule{position:relative}.rule::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--ink);transform-origin:left;transition:transform 1.3s var(--e)}
.js .rule::before{transform:scaleX(0)}.js .rule.in::before{transform:none}
.dot{display:inline-block;width:.24em;height:.24em;border-radius:50%;background:var(--bu);margin-left:.06em}svg .dot{fill:var(--bu);background:none;width:auto;height:auto}
/* header */
.hd{position:sticky;top:0;z-index:50;background:var(--iv)}.hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.logo{display:inline-flex;align-items:baseline;font-weight:700;font-size:26px;letter-spacing:-.01em}
.hd-r{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px)}
.tel{position:relative;font-weight:700;padding:6px 0}.tel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--bu);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e)}.tel:hover::after{transform:scaleX(1)}
.menu{display:flex;align-items:center;gap:14px;background:none;border:0;padding:10px 0 10px 8px;cursor:pointer;font:600 13px/1 var(--g);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.mi{position:relative;width:34px;height:14px}.mi i{position:absolute;right:0;width:100%;height:2px;background:var(--ink);transition:transform .45s var(--e),top .45s var(--e),width .45s var(--e)}.mi i:first-child{top:0}.mi i:last-child{top:12px;width:68%}
.menu:hover .mi i:last-child{width:100%}.menu[aria-expanded=true] .mi i:first-child{top:6px;transform:rotate(45deg)}.menu[aria-expanded=true] .mi i:last-child{top:6px;width:100%;transform:rotate(-45deg)}
.nav{position:fixed;inset:72px 0 0 0;z-index:49;width:auto;background:var(--iv);display:grid;grid-template-columns:1.5fr 1fr;gap:var(--pad);align-content:start;padding:clamp(24px,5vw,72px) var(--pad) 48px;overflow:auto;visibility:hidden;clip-path:circle(0 at var(--mx,90%) var(--my,0));transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s}
.nav.open,html:not(.rp-ready) .nav:target{visibility:visible;clip-path:circle(150vmax at var(--mx,90%) var(--my,0));transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
.nv-l{flex-direction:column;flex-wrap:nowrap;gap:0;counter-reset:n}
.nv-l a{position:relative;display:block;font-weight:700;font-size:clamp(38px,6.6vw,104px);letter-spacing:-.045em;line-height:1;padding:clamp(6px,1vw,14px) 0;counter-increment:n;opacity:0;transform:translateY(26px);transition:opacity .5s,transform .7s var(--e),color .3s}
.nv-l a::before{content:counter(n,decimal-leading-zero);display:inline-block;width:3.2em;font:500 13px/1 var(--g);letter-spacing:.08em;color:var(--bu);vertical-align:middle;transform:translateY(-.15em)}
.nav.open .nv-l a,html:not(.rp-ready) .nav:target .nv-l a{opacity:1;transform:none;transition-delay:calc(var(--i)*60ms + .25s)}.nv-l a[aria-current]{color:var(--bu)}
.nv-r{display:flex;flex-direction:column;gap:40px;justify-content:space-between;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .7s var(--e)}.nav.open .nv-r,html:not(.rp-ready) .nav:target .nv-r{opacity:1;transform:none;transition-delay:.6s}
.nv-c a{display:block;width:fit-content;font-weight:500;font-size:clamp(22px,2.6vw,36px);letter-spacing:-.025em;line-height:1.2;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .45s var(--e),color .3s}.nv-c a:hover{background-size:100% 2px}.nv-c a.em{color:var(--bu)}.nv-c p.serif{font-size:20px;margin:14px 0 0;color:var(--mu)}
.nv-x{display:none}html:not(.rp-ready) .nav:target .nv-x{display:block;grid-column:1/-1;font:600 14px/1 var(--g);letter-spacing:.14em;text-transform:uppercase;color:var(--bu)}
.nv-s a{display:block;width:fit-content;font:600 14px/1 var(--g);letter-spacing:.14em;text-transform:uppercase;margin-top:14px;color:var(--mu)}.nv-s a:hover,.nv-s a[aria-current]{color:var(--bu)}
@media (hover:hover){.nav.open .nv-l:hover a,html:not(.rp-ready) .nav:target .nv-l:hover a{opacity:.32;transition-delay:0s}.nav.open .nv-l a:hover,html:not(.rp-ready) .nav:target .nv-l a:hover{opacity:1;transform:translateX(14px);transition-delay:0s}}
/* hero */
.hero{background:var(--iv);isolation:isolate;padding-bottom:56px;overflow:hidden}
.hb{position:relative;aspect-ratio:1328/790}.hb-box{position:absolute;inset:0}
.hb-t{position:absolute;left:0;top:30px;width:42%;z-index:3}
.hb-k{display:flex;align-items:center;gap:20px;margin:0;font:600 clamp(12px,1.3vw,18px)/1 var(--g);letter-spacing:.24em;text-transform:uppercase}.hb-k span{flex:1;height:1px;background:var(--ink)}
.hb-b{margin:clamp(14px,1.7vw,24px) 0 0;font:600 clamp(12px,1.3vw,18px)/1 var(--g);letter-spacing:.24em;text-transform:uppercase;color:var(--mu)}
.hb-fig{position:absolute;left:48.95%;top:0;width:44.4%;height:100%;margin:0;overflow:hidden;background:var(--ink);container-type:size}
.hb-art{position:absolute;inset:0}.hb-img{display:block;width:100%;height:100%;object-fit:cover;object-position:85% 50%}
@supports (width:1cqw){.hb-art{inset:auto;width:max(100cqw,150cqh);height:max(100cqh,66.6667cqw);left:calc((100cqw - max(100cqw,150cqh))*.85);top:calc((100cqh - max(100cqh,66.6667cqw))*.5)}.hb-img{object-fit:fill}
}
.hb-wm{position:absolute;left:0;top:43.8%;width:100%;margin:0;line-height:0;mix-blend-mode:difference}.hb-wm svg,.wm{display:block;width:100%;height:auto;overflow:visible}.wm text{font-family:var(--g)}
.hb-dot{position:absolute;left:94.65%;top:84.4%;width:5.2%;aspect-ratio:1;border-radius:50%;background:var(--bu);transition:transform 1s var(--e),scale .5s var(--e)}.hb-dot:hover{scale:1.12}
.hero .hb-wm{transform:translate(calc(var(--px,0)*-6px),calc(var(--py,0)*-3px));transition:transform 1s var(--e)}.hero .hb-dot{transform:translate(calc(var(--px,0)*12px),calc(var(--py,0)*7px))}
main>section:not(.hero),main>article,main>.band{position:relative;z-index:1;background:var(--iv)}
@media (min-width:1200px) and (min-height:900px){.hero{position:sticky;top:72px;z-index:0}}
.strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.strip .wrap{display:grid;grid-template-columns:auto auto auto;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:30px}
.k{display:block;font:600 12px/1 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-bottom:10px}
.big{display:inline-block;font-weight:500;font-size:clamp(26px,3.5vw,48px);letter-spacing:-.025em;line-height:1.1;overflow-wrap:anywhere;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .45s var(--e),color .3s}.big:hover{background-size:100% 2px}.big.em{color:var(--bu)}.strip .big{font-size:clamp(24px,3vw,42px);white-space:nowrap}
/* heritage */
.js .her-n{overflow:hidden}.js .her-n svg{transform:translateY(105%);transition:transform 1.3s var(--e)}.js .her-n.in svg{transform:none}.her-n{width:58%;margin:0 0 clamp(14px,2vw,28px)}.her-n svg{display:block;width:100%;height:auto;overflow:visible}.her-n text{font-family:var(--g);fill:var(--ink)}
.tl{display:flex;align-items:center;gap:16px;font:600 12px/1 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-bottom:clamp(48px,7vw,104px)}.tl i{flex:1;height:1px;background:var(--ink);transform-origin:left}
.tl .dot{width:16px;height:16px;margin:0}.js .tl i{transform:scaleX(0);transition:transform 1.8s var(--e)}.js .tl.in i{transform:none}.js .tl .dot{transform:scale(0);transition:transform .6s 1.7s var(--e)}.js .tl.in .dot{transform:none}
.her-g{display:grid;grid-template-columns:1fr 1fr;gap:var(--pad)}.her-g h2{font:400 clamp(32px,4.4vw,64px)/1.08 var(--s);letter-spacing:-.015em}.her-g p.serif{font-size:clamp(20px,1.9vw,25px);line-height:1.55;color:var(--mu)}

.link{display:inline-block;font-weight:600;padding-bottom:4px;margin-top:20px;background:linear-gradient(var(--bu),var(--bu)) 0 100%/100% 2px no-repeat;transition:background-size .4s var(--e),color .3s}.link:hover{color:var(--bu)}
/* register */
.sec-head{display:grid;grid-template-columns:1fr 1.8fr;gap:var(--pad);align-items:start}.sec-head p.serif{font-size:clamp(19px,1.7vw,23px);line-height:1.5;color:var(--mu);max-width:380px}
.rw{position:relative;overflow:hidden;display:grid;grid-template-columns:90px 1fr 30px;gap:0 16px;align-items:baseline;padding:30px 0;border-top:1px solid var(--ink)}.rg>.rw:last-child{border-bottom:1px solid var(--ink)}
.rw::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bu);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e)}
.rw .n{font-weight:500;font-size:18px;color:var(--bu)}.rw h3{transition:transform .5s var(--e)}.rw .t p{font:400 clamp(17px,1.5vw,20px)/1.4 var(--s);color:var(--mu);margin:8px 0 0}.rw .ar{font-size:26px;transition:transform .5s var(--e)}
@media (hover:hover){.rw:hover::after{transform:none}.rw:hover h3{transform:translateX(14px)}.rw:hover .ar{transform:translateX(10px)}}
/* end / cta */
.end-h{font-size:clamp(52px,12.4vw,196px);text-transform:uppercase;letter-spacing:-.045em;line-height:.95}.end-g{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,96px);margin-top:clamp(40px,6vw,88px)}.cl .big{display:block;width:fit-content;margin-bottom:6px;font-size:clamp(28px,4vw,58px)}
.fm{display:flex;flex-direction:column;gap:30px}.fm div{display:flex;flex-direction:column;gap:6px}
label{font:600 12px/1.2 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
input,select,textarea{background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;color:inherit;font:400 22px/1.4 var(--s);padding:10px 0;width:100%;outline:none;appearance:none;-webkit-appearance:none}
select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23999' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 4px center}
input:focus,select:focus,textarea:focus{border-bottom-width:3px;margin-bottom:-2px;border-color:var(--bu)}textarea{resize:vertical;min-height:110px}.hp-f{position:absolute;left:-9999px}
.note{font:400 15px/1.5 var(--g);color:var(--mu)}.note a{text-decoration:underline}
#form-status{font:600 18px/1.4 var(--g);margin:0}#form-status.ok{color:var(--bu)}
.btn{display:inline-block;background:var(--ink);color:var(--iv);padding:20px 38px;font:600 17px/1 var(--g);border:0;cursor:pointer;transition:background .3s}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,96px)}.map{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;min-height:240px;background:var(--sa);padding:28px}.map iframe{display:block;border:0;height:320px;margin:-28px;width:calc(100% + 56px)}
.map button{font:600 16px/1 var(--g);background:var(--ink);color:#fff;border:0;padding:16px 26px;cursor:pointer}
/* subpages */
.ph{padding:clamp(56px,9vw,128px) 0 clamp(40px,6vw,88px)}.ph h1{font-size:clamp(46px,10vw,168px);letter-spacing:-.055em;line-height:.9;margin-bottom:clamp(20px,3vw,40px)}
.ph h1::after{content:"";display:inline-block;width:.15em;height:.15em;border-radius:50%;background:var(--bu);margin-left:.05em}.ph p{font:400 clamp(20px,2vw,27px)/1.45 var(--s);color:var(--mu);max-width:640px;margin:0}.ph p.eyebrow{font:600 12px/1 var(--g);letter-spacing:.16em;color:var(--bu);max-width:none;margin:0 0 20px}
.area{padding:clamp(48px,6vw,88px) 0}.area-in{display:grid;grid-template-columns:1fr 1.8fr;gap:var(--pad)}.area .num{font-weight:500;color:var(--bu);display:block;margin-bottom:14px}.area h2{font-size:clamp(36px,5vw,72px)}
.area p{font:400 clamp(20px,1.8vw,24px)/1.45 var(--s);color:var(--mu);max-width:560px}ul.svc{list-style:none;margin:0;padding:0}ul.svc li{padding:14px 0;border-top:1px solid #CFCAC0;font-size:19px}ul.svc li:first-child{border-top:0}
.art{max-width:760px;margin:0 auto;padding:clamp(48px,6vw,88px) var(--pad);position:relative}.art h2{font-size:clamp(34px,4.6vw,60px);margin:10px 0 24px}.art p{font:400 21px/1.65 var(--s)}.art .dis{font:400 italic 18px/1.5 var(--s);color:var(--mu);border-left:3px solid var(--bu);padding-left:16px}
.know{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--pad)}.know div{border-top:1px solid var(--ink);padding:26px 0 48px}.know h3{font-size:clamp(24px,2.6vw,36px);margin:12px 0}.know p{font:400 19px/1.5 var(--s);color:var(--mu);margin:0;max-width:460px}
.quote{font:400 clamp(30px,4.6vw,66px)/1.1 var(--s);letter-spacing:-.01em;margin:0 0 28px}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:0}ol.steps li{counter-increment:s;display:grid;grid-template-columns:72px 1fr;padding:24px 0;border-top:1px solid var(--ink);font:400 clamp(20px,2vw,28px)/1.35 var(--s)}ol.steps li:last-child{border-bottom:1px solid var(--ink)}ol.steps li::before{content:counter(s,decimal-leading-zero);font:500 18px/1.9 var(--g);color:var(--bu)}
.legal{max-width:760px;padding-bottom:clamp(64px,8vw,120px)}.legal h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;margin:44px 0 12px}.legal p,.legal li{font:400 19px/1.65 var(--s)}.legal b{font-family:var(--g);font-weight:600}.legal a{text-decoration:underline}.legal .btn{text-decoration:none}
.dl div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;border-top:1px solid #CFCAC0}.dl div:last-child{border-bottom:1px solid #CFCAC0}.dl dt{font:600 12px/1.9 var(--g);letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}.dl dd{margin:0;font:400 19px/1.5 var(--s)}
/* footer */
footer{background:var(--sa);padding-top:clamp(64px,8vw,112px);overflow:hidden}footer a:hover{color:var(--bu)}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.ft h2{font-size:clamp(26px,2.4vw,32px);letter-spacing:-.02em;margin:0 0 12px}.ft h3,.fl h3{margin:0 0 20px;font:600 12px/1.6 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--bu)}
.ft p{margin:0 0 10px;font-size:18px}.ft .s,.fl .s{font:400 20px/1.5 var(--s);color:var(--mu);max-width:320px}
.fl{margin-top:48px;padding-top:28px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1.6fr;gap:24px}.fl h3{margin:0}.fl p{margin:0 0 8px;font-size:17px}.fl .s{font:400 17px/1.55 var(--g);max-width:none}
.fb{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:40px;font-size:14px;color:var(--mu)}
.fwm{margin-top:48px}.fwm svg{display:block;width:100%;height:auto}.fwm text{font-family:var(--g);fill:var(--ink)}
.callbar{display:none}

/* page transition */
html.veil::after{content:"";position:fixed;inset:0;z-index:9999;background:var(--bu);pointer-events:none;clip-path:circle(150vmax at var(--lx) var(--ly));animation:vo .55s cubic-bezier(.7,0,.2,1) .05s forwards}
@keyframes vo{to{clip-path:circle(0 at var(--lx) var(--ly))}}
.veil-o{position:fixed;inset:0;z-index:9999;background:var(--bu);pointer-events:none;clip-path:circle(0 at 50% 50%)}
/* cursor: desktop pointer devices only */
.cur-el{position:fixed;left:0;top:0;z-index:10000;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--bu);opacity:0;display:flex;align-items:center;justify-content:center;color:var(--iv);font:600 11px/1 var(--g);letter-spacing:.14em;transition:width .35s var(--e),height .35s var(--e),margin .35s var(--e),opacity .25s,background .3s}
.cur-el.vis{opacity:1}.cur-el.hov{width:36px;height:36px;margin:-18px 0 0 -18px;background:rgba(107,31,42,.2)}.cur-el.lab{width:100px;height:100px;margin:-50px 0 0 -50px;background:var(--bu)}.cur-el span{opacity:0;transition:opacity .2s}.cur-el.lab span{opacity:1}
html.cur,html.cur a,html.cur button,html.cur [data-cursor]{cursor:none}html.cur input,html.cur textarea,html.cur select{cursor:text}
.js .rvi{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--e)}.js .rvi.in{clip-path:inset(0)}
.js .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .02em .16em;margin:-.12em -.02em -.16em}.js .wi{display:inline-block;transform:translateY(112%);transition:transform .95s var(--e)}.js .in .wi{transform:none}
/* motion */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s,transform .9s var(--e)}.js .rv.in{opacity:1;transform:none}
@keyframes srise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}@keyframes dotin{from{opacity:0;transform:translate(50px,-24px) scale(.35)}to{opacity:1;transform:none}}@keyframes lined{from{transform:scaleX(0)}}
.fwm text,.fwm .dot{animation:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}html.veil::after{display:none}}
@media (max-width:860px){
.nav{grid-template-columns:1fr;gap:36px;padding-top:20px}.nv-l a{font-size:clamp(36px,10.5vw,60px)}.nv-l a::before{width:2.6em}.hd-r .tel{display:none}
.strip .big{white-space:normal}
.strip .wrap,.split,.sec-head,.her-g,.area-in,.end-g,.know,.ft,.fl{grid-template-columns:1fr}.strip .wrap{gap:20px}.her-n{width:62%}
.rw{grid-template-columns:48px 1fr;padding:22px 0}.rw .ar,.rw .bgn{display:none}.rw::after{display:none}
.dl div{grid-template-columns:1fr;gap:2px}.map iframe{height:280px}.ft{gap:32px}.fb{flex-direction:column;gap:8px}
.callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40}.callbar a{padding:17px 10px;text-align:center;font-weight:700;background:var(--ink);color:#fff}.callbar a+a{background:var(--bu)}body{padding-bottom:56px}
.btn{width:100%;text-align:center}.cl .big{font-size:clamp(26px,8vw,40px)}}

/* interactions */
.rw{isolation:isolate}.rw::before{content:"";position:absolute;inset:0;background:var(--sa);opacity:0;transition:opacity .5s;z-index:-1}
.rw .bgn{position:absolute;right:7%;top:50%;font:700 clamp(120px,15vw,230px)/1 var(--g);letter-spacing:-.05em;color:rgba(107,31,42,.09);opacity:0;transform:translate(48px,-50%);transition:opacity .5s,transform .8s var(--e);pointer-events:none;z-index:-1}
@media (hover:hover){.rw:hover::before{opacity:.6}.rw:hover .bgn{opacity:1;transform:translate(0,-50%)}}
.a{display:inline-block;transition:transform .45s var(--e)}.link:hover .a,.btn:hover .a{transform:translateX(7px)}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:color .3s}.btn::before{content:"";position:absolute;inset:0;background:var(--bu);transform:translateX(-101%);transition:transform .55s var(--e);z-index:-1}.btn:hover{color:#fff}.btn:hover::before{transform:none}
.ft a,.fb a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--e),color .3s}.ft a:hover,.fb a:hover{background-size:100% 1px}
@media (prefers-reduced-motion:reduce){.js .w .wi,.js .her-n svg,.js .tl .dot{transform:none}.nav{clip-path:none}}
@media (prefers-reduced-motion:reduce){.js .rule::before,.js .tl i,.js .rvi{transform:none;clip-path:none}}

/* intro (first visit only) */
.intro .hb-fig{animation:imgr 1.2s var(--e) backwards}.intro .hb-wm svg{animation:srise .55s .1s var(--e) backwards}.intro .hb-dot{animation:dotin .35s .45s var(--e) backwards}
@keyframes imgr{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
/* areas of law + chess */
.m{display:none}
.ar-s{position:relative;padding:120px 0;isolation:isolate}.ar-img{position:absolute;right:0;top:120px;width:min(49.72vw,716px);aspect-ratio:1;z-index:1}.ar-img img{display:block;width:100%;height:100%;object-fit:cover}
.ar-top{position:relative}.ar-s h2{position:relative;z-index:2;mix-blend-mode:difference;color:var(--lt);font-size:clamp(70px,13.6vw,196px);letter-spacing:-.06em;line-height:.95;white-space:nowrap}
.ar-lw{position:relative;z-index:3;margin-top:clamp(36px,4.8vw,64px)}.ar-list{width:48.2%}
.ar-list .rw{grid-template-columns:70px 1fr 30px;height:clamp(96px,8.2vw,118px);padding:0;align-items:center}.ar-list .rw h3{font-size:min(2.78vw,40px)}
/* people */
.pp-box{position:relative;aspect-ratio:1328/1500}.pp-h{position:absolute;left:48.19%;top:0}.pp-h h2{font-size:min(6.67vw,96px)}
.pr{position:absolute;width:25.6%}.pr1{left:0;top:0;width:36.14%}.pr2{left:48.19%;top:11.33%}.pr3{left:15.06%;top:60%}.pr4{left:64.76%;top:56%}
.pr-img{aspect-ratio:4/5;background:var(--sa);overflow:hidden}.pr-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.4s var(--e)}
.pr-cap{margin-top:14px;padding-top:12px;border-top:1px solid var(--ink);display:flex;gap:16px}.pr-n{font:600 14px/1 var(--g);color:var(--bu);padding-top:.35em}
.pr-name{font-weight:700;font-size:min(2.78vw,40px);letter-spacing:-.04em;line-height:.95;transition:transform .7s var(--e)}.pr1 .pr-name{font-size:min(4.44vw,64px)}
.pr-role{font:400 min(1.25vw,18px)/1.4 var(--s);color:var(--mu);margin:12px 0 0}.pr1 .pr-role{font-size:min(1.39vw,20px)}.pr-lic{font:600 12px/1.6 var(--g);letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin:8px 0 0}
.pr{position:absolute}.pr-link::after{content:"";position:absolute;inset:0;z-index:2}.pr{overflow:visible}
@media (hover:hover){.pr:hover .pr-img img{transform:scale(1.03)}.pr:hover .pr-name{transform:translateX(10px)}}
.js .rvi{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--e)}.js .rvi.in{clip-path:inset(0)}
/* reviews */
.rev{display:grid;grid-template-columns:420px 1fr;gap:56px}.rq{margin:0;font:400 36px/1.3 var(--s);letter-spacing:-.005em;max-width:24em}.rq2{margin:64px 0 0;font-size:28px}
.rc{display:block;margin-top:18px;font:600 12px/1.6 var(--g);letter-spacing:.16em;text-transform:uppercase;color:var(--mu);font-style:normal}.rc b{color:var(--ink);font-weight:600}.rev .link{margin-top:56px}
/* concrete band */
.band{height:min(33.4vw,480px);overflow:hidden}.band img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
/* real location */
.loc{padding:140px 0}.loc-g{display:grid;grid-template-columns:42.17% 48.19%;column-gap:9.64%;align-items:start}
.loc h2{font-size:min(7.2vw,104px);letter-spacing:-.05em;line-height:.95;margin-bottom:40px}.loc-ad{font-size:min(3.05vw,44px);font-weight:500;letter-spacing:-.025em;line-height:1.1;margin:0}
.loc-h{margin:44px 0}.loc-hr{font-size:22px;line-height:1.45;margin:0}.loc-b{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.loc-b .link{margin-top:0}
.loc-s{margin-top:88px;display:flex;align-items:flex-end;gap:7.14%}.loc-s .f1{width:53.57%}.loc-s .f2{width:39.29%}.loc-r{padding-top:96px}
.lf{margin:0}.lf img{display:block;width:100%;height:auto}.lf-b{aspect-ratio:1086/1448;object-fit:cover}.lf-d{aspect-ratio:1374/1145;object-fit:cover}.lf-o{aspect-ratio:5/6;object-fit:cover;object-position:0% 50%}
.lf figcaption{margin-top:12px;padding-top:10px;border-top:1px solid var(--ink);font:400 14px/1.4 var(--g);color:var(--mu)}.lf figcaption b{color:var(--bu);font-weight:600}
@media (max-width:860px){
.hero{padding-top:28px;padding-bottom:32px}.hb{aspect-ratio:auto}.hb-t{position:static;width:100%;margin-bottom:28px}.hb-k{font-size:12px;letter-spacing:.2em}.hb-b{font-size:12px;letter-spacing:.2em;margin-top:14px}
.hb-box{position:relative;inset:auto;aspect-ratio:350/430}.hb-wm{top:72.3%}.hb-dot{top:92%}
.ar-s{display:flex;flex-direction:column;padding:72px 0 0}.ar-top,.ar-lw{width:100%}.ar-top{order:1}.ar-img{order:2;position:relative;right:auto;top:auto;width:100%;margin-top:-64px}.ar-lw{order:3;margin-top:56px;padding-bottom:72px}.ar-list{width:100%}
.ar-s h2{font-size:min(104px,28vw)}.m{display:inline}.ar-list .rw{grid-template-columns:48px 1fr;height:92px}.ar-list .rw h3{font-size:28px}
.pp-box{aspect-ratio:auto;display:flex;flex-direction:column;gap:56px}.pp-h{position:static;margin-bottom:-8px}.pp-h h2{font-size:64px}.pr,.pr1,.pr2,.pr3,.pr4{position:relative;left:auto;top:auto;width:250px}.pr1{width:100%}.pr2,.pr4{margin-left:auto}
.pr-name{font-size:32px}.pr1 .pr-name{font-size:44px}.pr-role,.pr1 .pr-role{font-size:18px}
.rev{grid-template-columns:1fr;gap:20px}.rq{font-size:24px}.rq2{font-size:20px;margin-top:40px}.rev .link{margin-top:40px}
.band{height:240px}
.loc{padding:72px 0}.loc-g{display:flex;flex-direction:column}.loc-l{display:contents}.loc-t{order:1}.loc-r{order:2;padding-top:0;margin-top:48px}.loc-s{order:3;margin-top:36px;gap:6%}.loc-s .f1{width:54%}.loc-s .f2{width:40%}
.loc h2{font-size:72px;margin-bottom:28px}.loc-ad{font-size:30px}.loc-h{margin:32px 0}
}
